From 0ccd9878af4d5ab04edaddf0eb05cc86ac258a36 Mon Sep 17 00:00:00 2001 From: Julink Date: Mon, 26 Aug 2024 17:45:49 +0200 Subject: [PATCH 1/2] feat: took Linea ENS Resolver as a based and cleanup to adapt to NFT Resolver --- contracts/NFTResolver.sol | 24 +- contracts/deps.sol | 9 + package-lock.json | 15070 ++++++++++++++++++++++++++---------- package.json | 13 +- test/NFTResolver.ts | 346 +- tsconfig.json | 1 - 6 files changed, 11134 insertions(+), 4329 deletions(-) create mode 100644 contracts/deps.sol diff --git a/contracts/NFTResolver.sol b/contracts/NFTResolver.sol index d0a2579..e1827a0 100644 --- a/contracts/NFTResolver.sol +++ b/contracts/NFTResolver.sol @@ -1,6 +1,9 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; +import {EVMFetcher} from "@consensys/linea-state-verifier/contracts/EVMFetcher.sol"; +import {EVMFetchTarget} from "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol"; +import {IEVMVerifier} from "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol"; import "@ensdomains/ens-contracts/contracts/registry/ENS.sol"; import {INameWrapper} from "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol"; import {BytesUtils} from "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol"; @@ -11,7 +14,7 @@ import {ITargetResolver} from "./ITargetResolver.sol"; import {IAddrSetter} from "./IAddrSetter.sol"; import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; -contract L1Resolver is +contract NFTResolver is EVMFetchTarget, ITargetResolver, IExtendedResolver, @@ -32,11 +35,6 @@ contract L1Resolver is event TargetSet(bytes name, address target); function isAuthorised(bytes32 node) internal view returns (bool) { - // TODO: Add support for - // trustedETHController - // trustedReverseRegistrar - // isApprovedForAll - // isApprovedFor address owner = ens.owner(node); if (owner == address(nameWrapper)) { owner = nameWrapper.ownerOf(uint256(node)); @@ -103,7 +101,6 @@ contract L1Resolver is ); targets[node] = target; emit TargetSet(name, target); - emit MetadataChanged(name, graphqlUrl); } /** @@ -154,7 +151,8 @@ contract L1Resolver is if (selector == IAddrResolver.addr.selector) { bytes32 node = abi.decode(data[4:], (bytes32)); - return _addr(node, target); + // TODO: Replace node by NFT ID + return _addr(1, target); } // None selector has been found it reverts @@ -176,17 +174,13 @@ contract L1Resolver is } function _addr( - bytes32 node, + uint256 tokenId, address target ) private view returns (bytes memory) { EVMFetcher .newFetchRequest(verifier, target) - .getStatic(RECORD_VERSIONS_SLOT) - .element(node) - .getDynamic(VERSIONABLE_ADDRESSES_SLOT) - .ref(0) - .element(node) - .element(COIN_TYPE_ETH) + .getDynamic(OWNERS_SLOT) + .element(tokenId) .fetch(this.addrCallback.selector, ""); // recordVersions } diff --git a/contracts/deps.sol b/contracts/deps.sol new file mode 100644 index 0000000..6082e4d --- /dev/null +++ b/contracts/deps.sol @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: MIT + +import "@ensdomains/ens-contracts/contracts/registry/ENSRegistry.sol"; +import "@ensdomains/ens-contracts/contracts/wrapper/NameWrapper.sol"; +import "@ensdomains/ens-contracts/contracts/ethregistrar/BaseRegistrarImplementation.sol"; +import "@ensdomains/ens-contracts/contracts/wrapper/StaticMetadataService.sol"; +import {ReverseRegistrar} from "@ensdomains/ens-contracts/contracts/reverseRegistrar/ReverseRegistrar.sol"; +import {PublicResolver} from "@ensdomains/ens-contracts/contracts/resolvers/PublicResolver.sol"; +import {LineaSparseProofVerifier} from "@consensys/linea-state-verifier/contracts/LineaSparseProofVerifier.sol"; diff --git a/package-lock.json b/package-lock.json index 55163fc..c9dd353 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,797 +9,4149 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@ensdomains/ens-contracts": "^1.2.0", - "@openzeppelin/contracts": "^5.0.2" + "@consensys/linea-state-verifier": "^1.0.1", + "@ensdomains/ens-contracts": "^1.2.2", + "@openzeppelin/contracts": "^4.1.0" }, "devDependencies": { + "@chainlink/ccip-read-server": "^0.2.1", + "@consensys/linea-ccip-gateway": "^1.0.1", "@nomicfoundation/hardhat-toolbox": "^5.0.0", - "hardhat": "^2.22.9" + "dns-packet": "^5.6.1", + "hardhat": "^2.22.9", + "supertest": "^7.0.0" } }, "node_modules/@adraffy/ens-normalize": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "peer": true + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@ampproject/remapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "peer": true, "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@ensdomains/buffer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@ensdomains/buffer/-/buffer-0.1.1.tgz", - "integrity": "sha512-92SfSiNS8XorgU7OUBHo/i1ZU7JV7iz/6bKuLPNVsMxV79/eI7fJR6jfJJc40zAHjs3ha+Xo965Idomlq3rqnw==" + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@ensdomains/ens-contracts": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ens-contracts/-/ens-contracts-1.2.0.tgz", - "integrity": "sha512-AbTepyKcBDOOHMajdYxfWHq7bjk+k5GfZPQy433Qng46DVd/4JSodu7psv5XTg8mPSEgtTcUfK+Q8DC+mbXRZw==", - "hasInstallScript": true, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, "dependencies": { - "@ensdomains/buffer": "^0.1.1", - "@ensdomains/solsha1": "0.0.3", - "@openzeppelin/contracts": "^4.1.0", - "dns-packet": "^5.3.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@ensdomains/ens-contracts/node_modules/@openzeppelin/contracts": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz", - "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" + "node_modules/@babel/generator": { + "version": "7.25.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.5.tgz", + "integrity": "sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.4", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@ensdomains/solsha1": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@ensdomains/solsha1/-/solsha1-0.0.3.tgz", - "integrity": "sha512-uhuG5LzRt/UJC0Ux83cE2rCKwSleRePoYdQVcqPN1wyf3/ekMzT/KZUF9+v7/AG5w9jlMLCQkUM50vfjr0Yu9Q==", + "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, "dependencies": { - "hash-test-vectors": "^1.3.2" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, - "peer": true, - "bin": { - "rlp": "bin/rlp" + "dependencies": { + "@babel/types": "^7.24.7" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" } }, - "node_modules/@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, - "peer": true, "dependencies": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" } }, - "node_modules/@ethereumjs/util/node_modules/@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, - "peer": true, "dependencies": { - "@noble/hashes": "1.4.0" + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethereumjs/util/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", "dev": true, - "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, "engines": { - "node": ">= 16" + "node": ">=6.9.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, - "peer": true, "dependencies": { - "@noble/curves": "1.4.2", - "@noble/hashes": "1.4.0", - "@scure/bip32": "1.4.0", - "@scure/bip39": "1.3.0" + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.7.0" + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/logger": "^5.7.0" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", - "dev": true, - "peer": true - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "node_modules/@babel/helpers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/logger": "^5.7.0" + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/logger": "^5.7.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" + "color-name": "1.1.3" } }, - "node_modules/@ethersproject/providers/node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "peer": true, "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=0.8.0" } }, - "node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "engines": { + "node": ">=4" } }, - "node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "node_modules/@babel/parser": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz", + "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" + "@babel/types": "^7.25.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.4.tgz", + "integrity": "sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.4.tgz", + "integrity": "sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.4", + "@babel/parser": "^7.25.4", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.4", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz", + "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@chainlink/ccip-read-server": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@chainlink/ccip-read-server/-/ccip-read-server-0.2.1.tgz", + "integrity": "sha512-Rj65CZrKqUFAteO85ZLo8vfgM2gxM2IWzeVjMhUoSl8VYtWN8HQ7aQ13UfwrY3lSFWoBVdV+b6GpjiTWq/DuMw==", + "dev": true, + "dependencies": { + "cors": "^2.8.5", + "ethers": "^5.3.1", + "express": "^4.17.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@chainlink/ccip-read-server/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@consensys/linea-ccip-gateway": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@consensys/linea-ccip-gateway/-/linea-ccip-gateway-1.0.1.tgz", + "integrity": "sha512-xKdlPxdMSKEmM9LPWTMYG0IfEvcqH0uGSpdzczH1tKY6nTWcLV6xea5KvTI2WqqhhuDW5eA+FWuQbOc1wwaECA==", + "dev": true, + "dependencies": { + "@chainlink/ccip-read-server": "^0.2.1", + "@consensys/linea-state-verifier": "^1.0.1", + "@ethersproject/abi": "^5.4.7", + "@ethersproject/bytes": "^5.7.0", + "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "@nomicfoundation/hardhat-network-helpers": "^1.0.0", + "@nomicfoundation/hardhat-toolbox": "^3.0.0", + "@nomicfoundation/hardhat-verify": "^1.0.0", + "@openzeppelin/contracts": "^4.9.3", + "@typechain/ethers-v6": "^0.4.0", + "@typechain/hardhat": "^8.0.0", + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", + "chai": "^4.2.0", + "commander": "^11.0.0", + "cors": "^2.8.5", + "dotenv": "^16.0.3", + "eslint": "^8.56.0", + "ethers": "^6.11.1", + "express": "^4.19.2", + "hardhat": "^2.21.0", + "hardhat-gas-reporter": "^1.0.8", + "mocha": "^10.3.0", + "solidity-coverage": "^0.8.1", + "supertest": "^6.3.3", + "ts-node": "^10.9.2", + "tsdx": "^0.14.1", + "tslib": "^2.6.2", + "typechain": "^8.2.0", + "typescript": "^5.4.5", + "winston": "^3.9.0" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/@nomicfoundation/hardhat-toolbox": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-3.0.0.tgz", + "integrity": "sha512-MsteDXd0UagMksqm9KvcFG6gNKYNa3GGNCy73iQ6bEasEgg2v8Qjl6XA5hjs8o5UD5A3153B6W2BIVJ8SxYUtA==", + "dev": true, + "peerDependencies": { + "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "@nomicfoundation/hardhat-network-helpers": "^1.0.0", + "@nomicfoundation/hardhat-verify": "^1.0.0", + "@typechain/ethers-v6": "^0.4.0", + "@typechain/hardhat": "^8.0.0", + "@types/chai": "^4.2.0", + "@types/mocha": ">=9.1.0", + "@types/node": ">=12.0.0", + "chai": "^4.2.0", + "ethers": "^6.4.0", + "hardhat": "^2.11.0", + "hardhat-gas-reporter": "^1.0.8", + "solidity-coverage": "^0.8.1", + "ts-node": ">=8.0.0", + "typechain": "^8.2.0", + "typescript": ">=4.5.0" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/@nomicfoundation/hardhat-verify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-1.1.1.tgz", + "integrity": "sha512-9QsTYD7pcZaQFEA3tBb/D/oCStYDiEVDN7Dxeo/4SCyHRSm86APypxxdOMEPlGmXsAvd+p1j/dTODcpxb8aztA==", + "dev": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^8.1.0", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "lodash.clonedeep": "^4.5.0", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.14.0" + }, + "peerDependencies": { + "hardhat": "^2.0.4" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/@typechain/ethers-v6": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v6/-/ethers-v6-0.4.3.tgz", + "integrity": "sha512-TrxBsyb4ryhaY9keP6RzhFCviWYApcLCIRMPyWaKp2cZZrfaM3QBoxXTnw/eO4+DAY3l+8O0brNW0WgeQeOiDA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15", + "ts-essentials": "^7.0.1" + }, + "peerDependencies": { + "ethers": "6.x", + "typechain": "^8.3.1", + "typescript": ">=4.7.0" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/@typechain/hardhat": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-8.0.3.tgz", + "integrity": "sha512-MytSmJJn+gs7Mqrpt/gWkTCOpOQ6ZDfRrRT2gtZL0rfGe4QrU4x9ZdW15fFbVM/XTa+5EsKiOMYXhRABibNeng==", + "dev": true, + "dependencies": { + "fs-extra": "^9.1.0" + }, + "peerDependencies": { + "@typechain/ethers-v6": "^0.4.3", + "ethers": "^6.1.0", + "hardhat": "^2.9.9", + "typechain": "^8.3.1" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/superagent/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/supertest": { + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", + "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", + "dev": true, + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.1.2" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@consensys/linea-ccip-gateway/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true + }, + "node_modules/@consensys/linea-state-verifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@consensys/linea-state-verifier/-/linea-state-verifier-1.0.1.tgz", + "integrity": "sha512-r8tgUQXbEOqFGRkN0Sk/Jei+nYG3GJgLVz7BZmTJDl2EPMhNPnkUBqUtrS5J6IRkVGQhXgXQ2RWp+DKqZ/8WJg==", + "dependencies": { + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@openzeppelin/contracts": "^4.9.3", + "chai": "^4.2.0", + "dotenv": "^16.0.3", + "ethers": "^6.13.1", + "hardhat": "^2.17.4", + "hardhat-deploy": "^0.11.12", + "solidity-coverage": "^0.8.12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "dev": true, + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@ensdomains/buffer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@ensdomains/buffer/-/buffer-0.1.1.tgz", + "integrity": "sha512-92SfSiNS8XorgU7OUBHo/i1ZU7JV7iz/6bKuLPNVsMxV79/eI7fJR6jfJJc40zAHjs3ha+Xo965Idomlq3rqnw==" + }, + "node_modules/@ensdomains/ens-contracts": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@ensdomains/ens-contracts/-/ens-contracts-1.2.2.tgz", + "integrity": "sha512-fX2rvqKJRpW+Dxnq91zhG39pRTC03gOamz7RvSEMHFPCUN7phcthq5u4+5tsEIXS6g7Xp5xmC5XTgcxK5Rd4HQ==", + "hasInstallScript": true, + "dependencies": { + "@ensdomains/buffer": "^0.1.1", + "@ensdomains/solsha1": "0.0.3", + "@openzeppelin/contracts": "^4.1.0", + "dns-packet": "^5.3.0" + } + }, + "node_modules/@ensdomains/solsha1": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@ensdomains/solsha1/-/solsha1-0.0.3.tgz", + "integrity": "sha512-uhuG5LzRt/UJC0Ux83cE2rCKwSleRePoYdQVcqPN1wyf3/ekMzT/KZUF9+v7/AG5w9jlMLCQkUM50vfjr0Yu9Q==", + "dependencies": { + "hash-test-vectors": "^1.3.2" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "dependencies": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/util/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@ethereumjs/util/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "node-notifier": "^6.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + }, + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nomicfoundation/edr": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.5.2.tgz", + "integrity": "sha512-hW/iLvUQZNTVjFyX/I40rtKvvDOqUEyIi96T28YaLfmPL+3LW2lxmYLUXEJ6MI14HzqxDqrLyhf6IbjAa2r3Dw==", + "dependencies": { + "@nomicfoundation/edr-darwin-arm64": "0.5.2", + "@nomicfoundation/edr-darwin-x64": "0.5.2", + "@nomicfoundation/edr-linux-arm64-gnu": "0.5.2", + "@nomicfoundation/edr-linux-arm64-musl": "0.5.2", + "@nomicfoundation/edr-linux-x64-gnu": "0.5.2", + "@nomicfoundation/edr-linux-x64-musl": "0.5.2", + "@nomicfoundation/edr-win32-x64-msvc": "0.5.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-darwin-arm64": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.5.2.tgz", + "integrity": "sha512-Gm4wOPKhbDjGTIRyFA2QUAPfCXA1AHxYOKt3yLSGJkQkdy9a5WW+qtqKeEKHc/+4wpJSLtsGQfpzyIzggFfo/A==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-darwin-x64": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.5.2.tgz", + "integrity": "sha512-ClyABq2dFCsrYEED3/UIO0c7p4H1/4vvlswFlqUyBpOkJccr75qIYvahOSJRM62WgUFRhbSS0OJXFRwc/PwmVg==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.5.2.tgz", + "integrity": "sha512-HWMTVk1iOabfvU2RvrKLDgtFjJZTC42CpHiw2h6rfpsgRqMahvIlx2jdjWYzFNy1jZKPTN1AStQ/91MRrg5KnA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-musl": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.5.2.tgz", + "integrity": "sha512-CwsQ10xFx/QAD5y3/g5alm9+jFVuhc7uYMhrZAu9UVF+KtVjeCvafj0PaVsZ8qyijjqVuVsJ8hD1x5ob7SMcGg==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-gnu": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.5.2.tgz", + "integrity": "sha512-CWVCEdhWJ3fmUpzWHCRnC0/VLBDbqtqTGTR6yyY1Ep3S3BOrHEAvt7h5gx85r2vLcztisu2vlDq51auie4IU1A==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-musl": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.5.2.tgz", + "integrity": "sha512-+aJDfwhkddy2pP5u1ISg3IZVAm0dO836tRlDTFWtvvSMQ5hRGqPcWwlsbobhDQsIxhPJyT7phL0orCg5W3WMeA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-win32-x64-msvc": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.5.2.tgz", + "integrity": "sha512-CcvvuA3sAv7liFNPsIR/68YlH6rrybKzYttLlMr80d4GKJjwJ5OKb3YgE6FdZZnOfP19HEHhsLcE0DPLtY3r0w==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/ethereumjs-common": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", + "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", + "dependencies": { + "@nomicfoundation/ethereumjs-util": "9.0.4" + } + }, + "node_modules/@nomicfoundation/ethereumjs-rlp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", + "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", + "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "4.0.4", + "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "@nomicfoundation/ethereumjs-util": "9.0.4", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "c-kzg": "^2.1.2" + }, + "peerDependenciesMeta": { + "c-kzg": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-util": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", + "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", + "dependencies": { + "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "c-kzg": "^2.1.2" + }, + "peerDependenciesMeta": { + "c-kzg": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/hardhat-chai-matchers": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.7.tgz", + "integrity": "sha512-RQfsiTwdf0SP+DtuNYvm4921X6VirCQq0Xyh+mnuGlTwEFSPZ/o27oQC+l+3Y/l48DDU7+ZcYBR+Fp+Rp94LfQ==", + "dependencies": { + "@types/chai-as-promised": "^7.1.3", + "chai-as-promised": "^7.1.1", + "deep-eql": "^4.0.1", + "ordinal": "^1.0.3" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "chai": "^4.2.0", + "ethers": "^6.1.0", + "hardhat": "^2.9.4" + } + }, + "node_modules/@nomicfoundation/hardhat-ethers": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.7.tgz", + "integrity": "sha512-pxLWpDiqC208shoz/lMbVFbxcVxE+qIs8qDrwdcubWH99UO1p6uwXakMa36ICRfB/IEToSLDJGSsKhwY84feCQ==", + "dependencies": { + "debug": "^4.1.1", + "lodash.isequal": "^4.5.0" + }, + "peerDependencies": { + "ethers": "^6.1.0", + "hardhat": "^2.22.92.0.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.5.tgz", + "integrity": "sha512-Y5nhFXFqt4owA6Ooag8ZBFDF2RAZElMXViknVIsi3m45pbQimS50ti6FU8HxfRkDnBARa40CIn7UGV0hrelzDw==", + "peer": true, + "dependencies": { + "@nomicfoundation/ignition-core": "^0.15.5", + "@nomicfoundation/ignition-ui": "^0.15.5", + "chalk": "^4.0.0", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "prompts": "^2.4.2" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-verify": "^2.0.1", + "hardhat": "^2.18.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition-ethers": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.5.tgz", + "integrity": "sha512-W6s1QN9CFxzSVZS6w9Jcj3WLaK32z2FP5MxNU2OKY1Fn9ZzLr+miXbUbWYuRHl6dxrrl6sE8cv33Cybv19pmCg==", + "peer": true, + "peerDependencies": { + "@nomicfoundation/hardhat-ethers": "^3.0.4", + "@nomicfoundation/hardhat-ignition": "^0.15.5", + "@nomicfoundation/ignition-core": "^0.15.5", + "ethers": "^6.7.0", + "hardhat": "^2.18.0" + } + }, + "node_modules/@nomicfoundation/hardhat-network-helpers": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.11.tgz", + "integrity": "sha512-uGPL7QSKvxrHRU69dx8jzoBvuztlLCtyFsbgfXIwIjnO3dqZRz2GNMHJoO3C3dIiUNM6jdNF4AUnoQKDscdYrA==", + "dependencies": { + "ethereumjs-util": "^7.1.4" + }, + "peerDependencies": { + "hardhat": "^2.9.5" + } + }, + "node_modules/@nomicfoundation/hardhat-toolbox": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-5.0.0.tgz", + "integrity": "sha512-FnUtUC5PsakCbwiVNsqlXVIWG5JIb5CEZoSXbJUsEBun22Bivx2jhF1/q9iQbzuaGpJKFQyOhemPB2+XlEE6pQ==", + "peerDependencies": { + "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", + "@nomicfoundation/hardhat-network-helpers": "^1.0.0", + "@nomicfoundation/hardhat-verify": "^2.0.0", + "@typechain/ethers-v6": "^0.5.0", + "@typechain/hardhat": "^9.0.0", + "@types/chai": "^4.2.0", + "@types/mocha": ">=9.1.0", + "@types/node": ">=18.0.0", + "chai": "^4.2.0", + "ethers": "^6.4.0", + "hardhat": "^2.11.0", + "hardhat-gas-reporter": "^1.0.8", + "solidity-coverage": "^0.8.1", + "ts-node": ">=8.0.0", + "typechain": "^8.3.0", + "typescript": ">=4.5.0" + } + }, + "node_modules/@nomicfoundation/hardhat-verify": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.9.tgz", + "integrity": "sha512-7kD8hu1+zlnX87gC+UN4S0HTKBnIsDfXZ/pproq1gYsK94hgCk+exvzXbwR0X2giiY/RZPkqY9oKRi0Uev91hQ==", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^8.1.0", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "lodash.clonedeep": "^4.5.0", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.14.0" + }, + "peerDependencies": { + "hardhat": "^2.22.72.0.4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-verify/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/ignition-core": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-core/-/ignition-core-0.15.5.tgz", + "integrity": "sha512-FgvuoIXhakRSP524JzNQ4BviyzBBKpsFaOWubPZ4XACLT4/7vGqlJ/7DIn0D2NL2anQ2qs98/BNBY9WccXUX1Q==", + "peer": true, + "dependencies": { + "@ethersproject/address": "5.6.1", + "@nomicfoundation/solidity-analyzer": "^0.1.1", + "cbor": "^9.0.0", + "debug": "^4.3.2", + "ethers": "^6.7.0", + "fs-extra": "^10.0.0", + "immer": "10.0.2", + "lodash": "4.17.21", + "ndjson": "2.0.0" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/@ethersproject/address": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", + "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", "funding": [ { "type": "individual", @@ -809,1628 +4161,3363 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ], - "peer": true, + ], + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/cbor": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-9.0.2.tgz", + "integrity": "sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==", + "peer": true, + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@nomicfoundation/ignition-ui": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.5.tgz", + "integrity": "sha512-ZcE4rIn10qKahR4OqS8rl8NM2Fbg2QYiBXgMgj74ZI0++LlCcZgB5HyaBbX+lsnKHjTXtjYD3b+2mtg7jFbAMQ==", + "peer": true + }, + "node_modules/@nomicfoundation/solidity-analyzer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", + "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", + "engines": { + "node": ">= 12" + }, + "optionalDependencies": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", + "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", + "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", + "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", + "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", + "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", + "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", + "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@openzeppelin/contracts": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz", + "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", + "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", + "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@scure/base": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.7.tgz", + "integrity": "sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "dependencies": { + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "dependencies": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/node/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/tracing/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "dependencies": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/commons/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@solidity-parser/parser": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", + "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", + "dependencies": { + "antlr4ts": "^0.5.0-alpha.4" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "node_modules/@typechain/ethers-v6": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v6/-/ethers-v6-0.5.1.tgz", + "integrity": "sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==", + "peer": true, + "dependencies": { + "lodash": "^4.17.15", + "ts-essentials": "^7.0.1" + }, + "peerDependencies": { + "ethers": "6.x", + "typechain": "^8.3.2", + "typescript": ">=4.7.0" + } + }, + "node_modules/@typechain/hardhat": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-9.1.0.tgz", + "integrity": "sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA==", + "peer": true, + "dependencies": { + "fs-extra": "^9.1.0" + }, + "peerDependencies": { + "@typechain/ethers-v6": "^0.5.1", + "ethers": "^6.1.0", + "hardhat": "^2.9.9", + "typechain": "^8.3.2" + } + }, + "node_modules/@typechain/hardhat/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "peer": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/chai": { + "version": "4.3.17", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz", + "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==" + }, + "node_modules/@types/chai-as-promised": { + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", + "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "dependencies": { + "@types/chai": "*" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", + "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "dev": true, + "dependencies": { + "jest-diff": "^25.2.1", + "pretty-format": "^25.2.1" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" + }, + "node_modules/@types/mocha": { + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "peer": true + }, + "node_modules/@types/node": { + "version": "22.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.0.tgz", + "integrity": "sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/secp256k1": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals/node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "optional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antlr4ts": { + "version": "0.5.0-alpha.4", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "deep-equal": "^2.0.5" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-equal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", + "integrity": "sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, "engines": { - "node": ">=14" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, - "peer": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, - "peer": true + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "peer": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" - }, - "node_modules/@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "dependencies": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { - "node": ">=12.0.0" + "node": ">= 0.4" } }, - "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, "dependencies": { - "@types/node": "*" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@metamask/eth-sig-util/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "safer-buffer": "~2.1.0" } }, - "node_modules/@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, - "peer": true, - "dependencies": { - "@noble/hashes": "1.3.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=0.8" } }, - "node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "engines": { + "node": "*" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, - "peer": true, "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=0.10.0" } }, - "node_modules/@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/asyncro": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", + "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, - "peer": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, - "peer": true, "engines": { - "node": ">= 8" + "node": "*" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/aws4": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.1.tgz", + "integrity": "sha512-u5w79Rd7SU4JaIlA/zFqG+gOiuq25q5VLyZ8E+ijJeILuTxVzZgp2CaGw/UTw6pXYN9XMO9yiqj/nEHmhTG5CA==", + "dev": true + }, + "node_modules/axe-core": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", "dev": true, - "peer": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, "engines": { - "node": ">= 8" + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", + "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" } }, - "node_modules/@nomicfoundation/edr": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.5.2.tgz", - "integrity": "sha512-hW/iLvUQZNTVjFyX/I40rtKvvDOqUEyIi96T28YaLfmPL+3LW2lxmYLUXEJ6MI14HzqxDqrLyhf6IbjAa2r3Dw==", + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", "dev": true, "dependencies": { - "@nomicfoundation/edr-darwin-arm64": "0.5.2", - "@nomicfoundation/edr-darwin-x64": "0.5.2", - "@nomicfoundation/edr-linux-arm64-gnu": "0.5.2", - "@nomicfoundation/edr-linux-arm64-musl": "0.5.2", - "@nomicfoundation/edr-linux-x64-gnu": "0.5.2", - "@nomicfoundation/edr-linux-x64-musl": "0.5.2", - "@nomicfoundation/edr-win32-x64-msvc": "0.5.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" }, "engines": { - "node": ">= 18" + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" } }, - "node_modules/@nomicfoundation/edr-darwin-arm64": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.5.2.tgz", - "integrity": "sha512-Gm4wOPKhbDjGTIRyFA2QUAPfCXA1AHxYOKt3yLSGJkQkdy9a5WW+qtqKeEKHc/+4wpJSLtsGQfpzyIzggFfo/A==", + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { - "node": ">= 18" + "node": ">=4" } }, - "node_modules/@nomicfoundation/edr-darwin-x64": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.5.2.tgz", - "integrity": "sha512-ClyABq2dFCsrYEED3/UIO0c7p4H1/4vvlswFlqUyBpOkJccr75qIYvahOSJRM62WgUFRhbSS0OJXFRwc/PwmVg==", + "node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, "engines": { - "node": ">= 18" + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.5.2.tgz", - "integrity": "sha512-HWMTVk1iOabfvU2RvrKLDgtFjJZTC42CpHiw2h6rfpsgRqMahvIlx2jdjWYzFNy1jZKPTN1AStQ/91MRrg5KnA==", + "node_modules/babel-jest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 18" + "node": ">=8" } }, - "node_modules/@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.5.2.tgz", - "integrity": "sha512-CwsQ10xFx/QAD5y3/g5alm9+jFVuhc7uYMhrZAu9UVF+KtVjeCvafj0PaVsZ8qyijjqVuVsJ8hD1x5ob7SMcGg==", + "node_modules/babel-plugin-annotate-pure-calls": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", + "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", "dev": true, - "engines": { - "node": ">= 18" + "peerDependencies": { + "@babel/core": "^6.0.0-0 || 7.x" } }, - "node_modules/@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.5.2.tgz", - "integrity": "sha512-CWVCEdhWJ3fmUpzWHCRnC0/VLBDbqtqTGTR6yyY1Ep3S3BOrHEAvt7h5gx85r2vLcztisu2vlDq51auie4IU1A==", + "node_modules/babel-plugin-dev-expression": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", + "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", "dev": true, - "engines": { - "node": ">= 18" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@nomicfoundation/edr-linux-x64-musl": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.5.2.tgz", - "integrity": "sha512-+aJDfwhkddy2pP5u1ISg3IZVAm0dO836tRlDTFWtvvSMQ5hRGqPcWwlsbobhDQsIxhPJyT7phL0orCg5W3WMeA==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, "engines": { - "node": ">= 18" + "node": ">=8" } }, - "node_modules/@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.5.2.tgz", - "integrity": "sha512-CcvvuA3sAv7liFNPsIR/68YlH6rrybKzYttLlMr80d4GKJjwJ5OKb3YgE6FdZZnOfP19HEHhsLcE0DPLtY3r0w==", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, "engines": { - "node": ">= 18" + "node": ">=8" } }, - "node_modules/@nomicfoundation/ethereumjs-common": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", - "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", + "node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", "dev": true, "dependencies": { - "@nomicfoundation/ethereumjs-util": "9.0.4" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@nomicfoundation/ethereumjs-rlp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", - "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", "dev": true, - "bin": { - "rlp": "bin/rlp.cjs" - }, - "engines": { - "node": ">=18" + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" } }, - "node_modules/@nomicfoundation/ethereumjs-tx": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", - "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, "dependencies": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "ethereum-cryptography": "0.1.3" - }, - "engines": { - "node": ">=18" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" }, "peerDependencies": { - "c-kzg": "^2.1.2" - }, - "peerDependenciesMeta": { - "c-kzg": { - "optional": true - } + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@nomicfoundation/ethereumjs-util": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", - "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, "dependencies": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "ethereum-cryptography": "0.1.3" - }, - "engines": { - "node": ">=18" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { - "c-kzg": "^2.1.2" - }, - "peerDependenciesMeta": { - "c-kzg": { - "optional": true - } + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@nomicfoundation/hardhat-chai-matchers": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.7.tgz", - "integrity": "sha512-RQfsiTwdf0SP+DtuNYvm4921X6VirCQq0Xyh+mnuGlTwEFSPZ/o27oQC+l+3Y/l48DDU7+ZcYBR+Fp+Rp94LfQ==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", + "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", "dev": true, - "peer": true, "dependencies": { - "@types/chai-as-promised": "^7.1.3", - "chai-as-promised": "^7.1.1", - "deep-eql": "^4.0.1", - "ordinal": "^1.0.3" + "@babel/helper-define-polyfill-provider": "^0.0.3" }, "peerDependencies": { - "@nomicfoundation/hardhat-ethers": "^3.0.0", - "chai": "^4.2.0", - "ethers": "^6.1.0", - "hardhat": "^2.9.4" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nomicfoundation/hardhat-ethers": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.7.tgz", - "integrity": "sha512-pxLWpDiqC208shoz/lMbVFbxcVxE+qIs8qDrwdcubWH99UO1p6uwXakMa36ICRfB/IEToSLDJGSsKhwY84feCQ==", + "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", + "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", "dev": true, - "peer": true, "dependencies": { + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.5", "debug": "^4.1.1", - "lodash.isequal": "^4.5.0" + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" }, "peerDependencies": { - "ethers": "^6.1.0", - "hardhat": "^2.22.92.0.0" + "@babel/core": "^7.4.0-0" } }, - "node_modules/@nomicfoundation/hardhat-ignition": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.5.tgz", - "integrity": "sha512-Y5nhFXFqt4owA6Ooag8ZBFDF2RAZElMXViknVIsi3m45pbQimS50ti6FU8HxfRkDnBARa40CIn7UGV0hrelzDw==", + "node_modules/babel-plugin-transform-rename-import": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", + "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", + "dev": true + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", "dev": true, - "peer": true, "dependencies": { - "@nomicfoundation/ignition-core": "^0.15.5", - "@nomicfoundation/ignition-ui": "^0.15.5", - "chalk": "^4.0.0", - "debug": "^4.3.2", - "fs-extra": "^10.0.0", - "prompts": "^2.4.2" + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, + "engines": { + "node": ">= 8.3" }, "peerDependencies": { - "@nomicfoundation/hardhat-verify": "^2.0.1", - "hardhat": "^2.18.0" + "@babel/core": "^7.0.0" } }, - "node_modules/@nomicfoundation/hardhat-ignition-ethers": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.5.tgz", - "integrity": "sha512-W6s1QN9CFxzSVZS6w9Jcj3WLaK32z2FP5MxNU2OKY1Fn9ZzLr+miXbUbWYuRHl6dxrrl6sE8cv33Cybv19pmCg==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, - "peer": true, - "peerDependencies": { - "@nomicfoundation/hardhat-ethers": "^3.0.4", - "@nomicfoundation/hardhat-ignition": "^0.15.5", - "@nomicfoundation/ignition-core": "^0.15.5", - "ethers": "^6.7.0", - "hardhat": "^2.18.0" + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@nomicfoundation/hardhat-network-helpers": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.11.tgz", - "integrity": "sha512-uGPL7QSKvxrHRU69dx8jzoBvuztlLCtyFsbgfXIwIjnO3dqZRz2GNMHJoO3C3dIiUNM6jdNF4AUnoQKDscdYrA==", + "node_modules/base-x": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, - "peer": true, "dependencies": { - "ethereumjs-util": "^7.1.4" + "is-descriptor": "^1.0.0" }, - "peerDependencies": { - "hardhat": "^2.9.5" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@nomicfoundation/hardhat-toolbox": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-5.0.0.tgz", - "integrity": "sha512-FnUtUC5PsakCbwiVNsqlXVIWG5JIb5CEZoSXbJUsEBun22Bivx2jhF1/q9iQbzuaGpJKFQyOhemPB2+XlEE6pQ==", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, - "peerDependencies": { - "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", - "@nomicfoundation/hardhat-ethers": "^3.0.0", - "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", - "@nomicfoundation/hardhat-network-helpers": "^1.0.0", - "@nomicfoundation/hardhat-verify": "^2.0.0", - "@typechain/ethers-v6": "^0.5.0", - "@typechain/hardhat": "^9.0.0", - "@types/chai": "^4.2.0", - "@types/mocha": ">=9.1.0", - "@types/node": ">=18.0.0", - "chai": "^4.2.0", - "ethers": "^6.4.0", - "hardhat": "^2.11.0", - "hardhat-gas-reporter": "^1.0.8", - "solidity-coverage": "^0.8.1", - "ts-node": ">=8.0.0", - "typechain": "^8.3.0", - "typescript": ">=4.5.0" + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nomicfoundation/hardhat-verify": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.9.tgz", - "integrity": "sha512-7kD8hu1+zlnX87gC+UN4S0HTKBnIsDfXZ/pproq1gYsK94hgCk+exvzXbwR0X2giiY/RZPkqY9oKRi0Uev91hQ==", + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, - "peer": true, "dependencies": { - "@ethersproject/abi": "^5.1.2", - "@ethersproject/address": "^5.0.2", - "cbor": "^8.1.0", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "lodash.clonedeep": "^4.5.0", - "semver": "^6.3.0", - "table": "^6.8.0", - "undici": "^5.14.0" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, - "peerDependencies": { - "hardhat": "^2.22.72.0.4" + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/@nomicfoundation/hardhat-verify/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "peer": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "ms": "2.0.0" } }, - "node_modules/@nomicfoundation/hardhat-verify/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, - "peer": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=4" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "dependencies": { - "color-name": "1.1.3" + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "peer": true - }, - "node_modules/@nomicfoundation/hardhat-verify/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "peer": true, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nomicfoundation/hardhat-verify/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@nomicfoundation/hardhat-verify/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "has-flag": "^3.0.0" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@nomicfoundation/ignition-core": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-core/-/ignition-core-0.15.5.tgz", - "integrity": "sha512-FgvuoIXhakRSP524JzNQ4BviyzBBKpsFaOWubPZ4XACLT4/7vGqlJ/7DIn0D2NL2anQ2qs98/BNBY9WccXUX1Q==", + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, - "peer": true, "dependencies": { - "@ethersproject/address": "5.6.1", - "@nomicfoundation/solidity-analyzer": "^0.1.1", - "cbor": "^9.0.0", - "debug": "^4.3.2", - "ethers": "^6.7.0", - "fs-extra": "^10.0.0", - "immer": "10.0.2", - "lodash": "4.17.21", - "ndjson": "2.0.0" + "resolve": "1.1.7" } }, - "node_modules/@nomicfoundation/ignition-core/node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@nomicfoundation/ignition-core/node_modules/cbor": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-9.0.2.tgz", - "integrity": "sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "peer": true, "dependencies": { - "nofilter": "^3.1.0" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": ">=16" + "node": ">= 6" } }, - "node_modules/@nomicfoundation/ignition-ui": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.5.tgz", - "integrity": "sha512-ZcE4rIn10qKahR4OqS8rl8NM2Fbg2QYiBXgMgj74ZI0++LlCcZgB5HyaBbX+lsnKHjTXtjYD3b+2mtg7jFbAMQ==", - "dev": true, - "peer": true + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "dependencies": { + "base-x": "^3.0.2" + } }, - "node_modules/@nomicfoundation/solidity-analyzer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", - "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", - "dev": true, - "engines": { - "node": ">= 12" - }, - "optionalDependencies": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", - "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "optional": true, - "engines": { - "node": ">= 12" + "dependencies": { + "node-int64": "^0.4.0" } }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", - "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, - "optional": true, "engines": { - "node": ">= 12" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", - "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", - "dev": true, - "optional": true, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": ">= 12" + "node": ">= 0.8" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", - "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, - "optional": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, "engines": { - "node": ">= 12" + "node": ">=0.10.0" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", - "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", - "dev": true, - "optional": true, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, "engines": { - "node": ">= 12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", - "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "optional": true, "engines": { - "node": ">= 12" + "node": ">=6" } }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", - "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", - "dev": true, - "optional": true, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { - "node": ">= 12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@openzeppelin/contracts": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.0.2.tgz", - "integrity": "sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA==" - }, - "node_modules/@scure/base": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.7.tgz", - "integrity": "sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==", + "node_modules/caniuse-lite": { + "version": "1.0.30001653", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", + "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", "dev": true, - "funding": { - "url": "https://paulmillr.com/funding/" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "node_modules/@scure/bip32": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", - "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, - "peer": true, "dependencies": { - "@noble/curves": "~1.4.0", - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" + "rsvp": "^4.8.4" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/@scure/bip32/node_modules/@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", - "dev": true, - "peer": true, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", "dependencies": { - "@noble/hashes": "1.4.0" + "nofilter": "^3.1.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=12.19" } }, - "node_modules/@scure/bip32/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 16" + "node_modules/chai": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=4" } }, - "node_modules/@scure/bip39": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", - "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", - "dev": true, - "peer": true, + "node_modules/chai-as-promised": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", "dependencies": { - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" + "check-error": "^1.0.2" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "chai": ">= 2.1.2 < 6" } }, - "node_modules/@scure/bip39/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true, - "peer": true, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 16" + "node": ">=10" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "dev": true, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "get-func-name": "^2.0.2" }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/@sentry/core/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dev": true, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=6" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@sentry/hub/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/@sentry/minimal/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/@sentry/node/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/@sentry/tracing/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", - "dev": true, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "engines": { "node": ">=6" } }, - "node_modules/@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "dev": true, - "dependencies": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sentry/utils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@solidity-parser/parser": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", - "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", - "dev": true, - "peer": true, - "dependencies": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "peer": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "peer": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "peer": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "peer": true - }, - "node_modules/@typechain/ethers-v6": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v6/-/ethers-v6-0.5.1.tgz", - "integrity": "sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, - "peer": true, "dependencies": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" + "restore-cursor": "^3.1.0" }, - "peerDependencies": { - "ethers": "6.x", - "typechain": "^8.3.2", - "typescript": ">=4.7.0" + "engines": { + "node": ">=8" } }, - "node_modules/@typechain/hardhat": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-9.1.0.tgz", - "integrity": "sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA==", + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, - "peer": true, - "dependencies": { - "fs-extra": "^9.1.0" + "engines": { + "node": ">=6" }, - "peerDependencies": { - "@typechain/ethers-v6": "^0.5.1", - "ethers": "^6.1.0", - "hardhat": "^2.9.9", - "typechain": "^8.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typechain/hardhat/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "peer": true, + "node_modules/cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "object-assign": "^4.1.0", + "string-width": "^2.1.1" }, "engines": { - "node": ">=10" + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" } }, - "node_modules/@types/bn.js": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", - "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", - "dev": true, - "dependencies": { - "@types/node": "*" + "node_modules/cli-table3/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" } }, - "node_modules/@types/chai": { - "version": "4.3.17", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz", - "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==", - "dev": true, - "peer": true + "node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } }, - "node_modules/@types/chai-as-promised": { - "version": "7.1.8", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", - "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", - "dev": true, - "peer": true, + "node_modules/cli-table3/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dependencies": { - "@types/chai": "*" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dev": true, - "peer": true, + "node_modules/cli-table3/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dependencies": { - "@types/node": "*" + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, - "peer": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">= 10" } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "peer": true, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, - "peer": true + "engines": { + "node": ">=0.8" + } }, - "node_modules/@types/mocha": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", - "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "peer": true + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } }, - "node_modules/@types/node": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.0.tgz", - "integrity": "sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "dependencies": { - "undici-types": "~6.19.2" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, "dependencies": { - "@types/node": "*" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true, - "peer": true + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", - "dev": true, - "peer": true + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@types/secp256k1": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", - "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dev": true, "dependencies": { - "@types/node": "*" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "peer": true + "dependencies": { + "color-name": "1.1.3" + } }, - "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "engines": { - "node": ">=0.4.0" + "node": ">=0.1.90" } }, - "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "dev": true, - "peer": true, "dependencies": { - "acorn": "^8.11.0" + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.8" } }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, "engines": { - "node": ">=0.3.0" + "node": ">=4.0.0" } }, - "node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", - "dev": true, - "peer": true - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, + "node_modules/command-line-usage": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", "dependencies": { - "debug": "4" + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=8.0.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, + "node_modules/command-line-usage/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "color-convert": "^1.9.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", "engines": { "node": ">=8" } }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "peer": true, + "node_modules/command-line-usage/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=4" } }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true, - "peer": true, + "node_modules/command-line-usage/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/command-line-usage/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/command-line-usage/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">=0.4.2" + "node": ">=0.8.0" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, + "node_modules/command-line-usage/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "string-width": "^4.1.0" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, + "node_modules/command-line-usage/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "engines": { - "node": ">=6" + "node": ">= 12" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true, - "peer": true + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">= 8" + "node": ">= 0.6" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "peer": true + "engines": { + "node": ">= 0.6" + } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "peer": true, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dev": true, - "peer": true + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, - "peer": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, "engines": { - "node": "*" + "node": ">= 0.10" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, - "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, "engines": { "node": ">=8" } }, - "node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", - "dev": true, - "peer": true + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, - "peer": true + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "peer": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">= 4.0.0" + "node": ">= 8" } }, - "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "peer": true, "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base-x": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", - "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" } }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", - "dev": true, - "peer": true + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true }, - "node_modules/binary-extensions": { + "node_modules/cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, "dependencies": { - "fill-range": "^7.1.1" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/brorand": { + "node_modules/death": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==" }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dev": true, - "dependencies": { - "base-x": "^3.0.2" + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, - "peer": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -2439,817 +7526,1060 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true, - "peer": true - }, - "node_modules/cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, - "peer": true, "dependencies": { - "nofilter": "^3.1.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": ">=12.19" + "node": ">=0.10.0" } }, - "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "peer": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/chai-as-promised": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", - "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "peer": true, - "dependencies": { - "check-error": "^1.0.2" - }, - "peerDependencies": { - "chai": ">= 2.1.2 < 6" + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, - "peer": true, + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "engines": { - "node": "*" + "node": ">=0.3.1" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true, - "peer": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/difflib": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", + "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", "dependencies": { - "get-func-name": "^2.0.2" + "heap": ">= 0.2.0" }, "engines": { "node": "*" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8" } }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">=6" + "node": ">=6.0.0" } }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "deprecated": "Use your platform's native DOMException instead", "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://dotenvx.com" } }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, - "peer": true, "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "colors": "^1.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/cli-table3/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/enabled": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "dev": true + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "peer": true, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/cli-table3/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "peer": true, "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" + "once": "^1.4.0" } }, - "node_modules/cli-table3/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "peer": true, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8.6" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "is-arrayish": "^0.2.1" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "peer": true, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { - "node": ">=0.1.90" + "node": ">= 0.4" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, - "peer": true, "dependencies": { - "delayed-stream": "~1.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, - "peer": true, "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" }, "engines": { - "node": ">=4.0.0" + "node": ">= 0.4" } }, - "node_modules/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, - "peer": true, "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" + "es-errors": "^1.3.0" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" } }, - "node_modules/command-line-usage/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, - "peer": true, "dependencies": { - "color-convert": "^1.9.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, - "peer": true, - "engines": { - "node": ">=8" + "dependencies": { + "hasown": "^2.0.0" } }, - "node_modules/command-line-usage/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "peer": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/command-line-usage/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "1.1.3" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/command-line-usage/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "peer": true - }, - "node_modules/command-line-usage/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "peer": true, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { - "node": ">=0.8.0" + "node": ">=6" } }, - "node_modules/command-line-usage/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "peer": true, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/command-line-usage/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, + "node_modules/escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", "dependencies": { - "has-flag": "^3.0.0" + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=4" + "node": ">=0.12.0" + }, + "optionalDependencies": { + "source-map": "~0.2.0" } }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "node_modules/eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", "dev": true, - "engines": { - "node": ">= 12" + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=3.14.1" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, - "engines": [ - "node >= 0.8" - ], - "peer": true, "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "peer": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ms": "^2.1.1" } }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "peer": true - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "peer": true, "dependencies": { - "safe-buffer": "~5.1.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "node_modules/eslint-module-utils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.2.tgz", + "integrity": "sha512-3XnC5fDyc8M4J2E8pt8pmSVRX2M+5yWMCfI/kDZwauQeFgzQOuhcRBFKjTeJagqgk4sFKxe1mvNVnaWwImx/Tg==", "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, "engines": { - "node": ">= 0.6" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "peer": true + "dependencies": { + "ms": "^2.1.1" + } }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "ms": "^2.1.1" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "peer": true + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", + "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", "dev": true, - "peer": true, + "dependencies": { + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" + }, "engines": { - "node": "*" + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", - "dev": true, - "peer": true + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, - "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "node_modules/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", "dev": true, "dependencies": { - "ms": "2.1.2" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" }, "peerDependenciesMeta": { - "supports-color": { + "eslint-config-prettier": { "optional": true } } }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, + "node_modules/eslint-plugin-react": { + "version": "7.35.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", + "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">=4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "peer": true, "dependencies": { - "type-detect": "^4.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "peer": true, "engines": { - "node": ">=4.0.0" + "node": ">=4.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, - "peer": true + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "peer": true, "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "peer": true, "engines": { - "node": ">=0.4.0" + "node": ">=4.0" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { - "node": ">=0.3.1" + "node": ">=4" } }, - "node_modules/difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "peer": true, - "dependencies": { - "heap": ">= 0.2.0" - }, "engines": { - "node": "*" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "peer": true, "dependencies": { - "path-type": "^4.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "node_modules/eslint/node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=8.6" + "node": ">= 0.8.0" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "peer": true, "dependencies": { - "get-intrinsic": "^1.2.4" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8.0" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escape-string-regexp": { + "node_modules/eslint/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", + "node_modules/eslint/node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "peer": true, "dependencies": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "prelude-ls": "^1.2.1" }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=0.12.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "optionalDependencies": { - "source-map": "~0.2.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", - "dev": true, - "peer": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3258,32 +8588,83 @@ "node": ">=0.10.0" } }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/estraverse": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/eth-gas-reporter": { "version": "0.2.27", "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz", "integrity": "sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==", - "dev": true, - "peer": true, "dependencies": { "@solidity-parser/parser": "^0.14.0", "axios": "^1.5.1", @@ -3312,27 +8693,23 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "dev": true, "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } - ], - "peer": true + ] }, "node_modules/eth-gas-reporter/node_modules/@scure/bip32": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", - "dev": true, "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], - "peer": true, "dependencies": { "@noble/hashes": "~1.2.0", "@noble/secp256k1": "~1.7.0", @@ -3343,14 +8720,12 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", - "dev": true, "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], - "peer": true, "dependencies": { "@noble/hashes": "~1.2.0", "@scure/base": "~1.1.0" @@ -3360,8 +8735,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "dev": true, - "peer": true, "dependencies": { "@noble/hashes": "1.2.0", "@noble/secp256k1": "1.7.1", @@ -3373,7 +8746,6 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "dev": true, "funding": [ { "type": "individual", @@ -3384,7 +8756,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -3422,8 +8793,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz", "integrity": "sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==", - "dev": true, - "peer": true, "dependencies": { "@noble/hashes": "^1.4.0" } @@ -3432,8 +8801,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true, - "peer": true, "engines": { "node": ">= 16" }, @@ -3445,7 +8812,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -3468,7 +8834,6 @@ "version": "0.6.8", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dev": true, "dependencies": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -3478,7 +8843,6 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -3486,14 +8850,12 @@ "node_modules/ethereumjs-abi/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -3508,8 +8870,6 @@ "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dev": true, - "peer": true, "dependencies": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -3525,7 +8885,6 @@ "version": "6.13.2", "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.2.tgz", "integrity": "sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==", - "dev": true, "funding": [ { "type": "individual", @@ -3536,7 +8895,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { "@adraffy/ens-normalize": "1.10.1", "@noble/curves": "1.2.0", @@ -3553,16 +8911,12 @@ "node_modules/ethers/node_modules/@types/node": { "version": "18.15.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==", - "dev": true, - "peer": true + "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" }, "node_modules/ethjs-unit": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "dev": true, - "peer": true, "dependencies": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -3575,15 +8929,12 @@ "node_modules/ethjs-unit/node_modules/bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true, - "peer": true + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" }, "node_modules/ethjs-util": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dev": true, "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -3597,25 +8948,335 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "peer": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "peer": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -3627,35 +9288,91 @@ "node": ">=8.6.0" } }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "peer": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true }, "node_modules/fast-uri": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", - "dev": true, - "peer": true + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "peer": true, "dependencies": { "reusify": "^1.0.4" } }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "dev": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3663,12 +9380,75 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/find-replace": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "peer": true, "dependencies": { "array-back": "^3.0.1" }, @@ -3680,7 +9460,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, "dependencies": { "locate-path": "^2.0.0" }, @@ -3692,16 +9471,48 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, "bin": { "flat": "cli.js" } }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/fmix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", + "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==", + "dependencies": { + "imul": "^1.0.0" + } + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "dev": true + }, "node_modules/follow-redirects": { "version": "1.15.6", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "dev": true, "funding": [ { "type": "individual", @@ -3717,12 +9528,37 @@ } } }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "peer": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -3732,18 +9568,59 @@ "node": ">= 6" } }, + "node_modules/formidable": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", + "integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", + "dev": true, + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fp-ts": { "version": "1.19.3", "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", - "dev": true + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, "node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -3756,21 +9633,17 @@ "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true, - "peer": true + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -3784,17 +9657,56 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -3803,8 +9715,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "peer": true, "engines": { "node": "*" } @@ -3813,8 +9723,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "peer": true, "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -3829,22 +9737,86 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true, - "peer": true, "engines": { "node": ">=4" } }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, "node_modules/ghost-testrpc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", - "dev": true, - "peer": true, "dependencies": { "chalk": "^2.4.2", "node-emoji": "^1.10.0" @@ -3857,8 +9829,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -3870,8 +9840,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3885,8 +9853,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -3894,16 +9860,12 @@ "node_modules/ghost-testrpc/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "peer": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "peer": true, "engines": { "node": ">=0.8.0" } @@ -3912,8 +9874,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -3921,9 +9881,7 @@ "node_modules/ghost-testrpc/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { "has-flag": "^3.0.0" }, @@ -3936,7 +9894,6 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3956,7 +9913,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -3968,8 +9924,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "peer": true, "dependencies": { "global-prefix": "^3.0.0" }, @@ -3981,8 +9935,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "peer": true, "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -3992,12 +9944,59 @@ "node": ">=6" } }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, "node_modules/globby": { "version": "10.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "peer": true, "dependencies": { "@types/glob": "^7.1.1", "array-union": "^2.1.0", @@ -4012,12 +10011,16 @@ "node": ">=8" } }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "peer": true, "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -4028,15 +10031,25 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, "node_modules/handlebars": { "version": "4.7.8", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", - "dev": true, - "peer": true, "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", @@ -4057,17 +10070,59 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "node_modules/hardhat": { "version": "2.22.9", "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.9.tgz", "integrity": "sha512-sWiuI/yRdFUPfndIvL+2H18Vs2Gav0XacCFYY5msT5dHOWkhLxESJySIk9j83mXL31aXL8+UMA9OgViFLexklg==", - "dev": true, "dependencies": { "@ethersproject/abi": "^5.1.2", "@metamask/eth-sig-util": "^4.0.0", @@ -4129,12 +10184,105 @@ } } }, + "node_modules/hardhat-deploy": { + "version": "0.11.45", + "resolved": "https://registry.npmjs.org/hardhat-deploy/-/hardhat-deploy-0.11.45.tgz", + "integrity": "sha512-aC8UNaq3JcORnEUIwV945iJuvBwi65tjHVDU3v6mOcqik7WAzHVCJ7cwmkkipsHrWysrB5YvGF1q9S1vIph83w==", + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/contracts": "^5.7.0", + "@ethersproject/providers": "^5.7.2", + "@ethersproject/solidity": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wallet": "^5.7.0", + "@types/qs": "^6.9.7", + "axios": "^0.21.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "ethers": "^5.7.0", + "form-data": "^4.0.0", + "fs-extra": "^10.0.0", + "match-all": "^1.2.6", + "murmur-128": "^0.2.1", + "qs": "^6.9.4", + "zksync-web3": "^0.14.3" + } + }, + "node_modules/hardhat-deploy/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/hardhat-deploy/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/hardhat-deploy/node_modules/zksync-web3": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/zksync-web3/-/zksync-web3-0.14.4.tgz", + "integrity": "sha512-kYehMD/S6Uhe1g434UnaMN+sBr9nQm23Ywn0EUP5BfQCsbjcr3ORuS68PosZw8xUTu3pac7G6YMSnNHk+fwzvg==", + "deprecated": "This package has been deprecated in favor of zksync-ethers@5.0.0", + "peerDependencies": { + "ethers": "^5.7.0" + } + }, "node_modules/hardhat-gas-reporter": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz", "integrity": "sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==", - "dev": true, - "peer": true, "dependencies": { "array-uniq": "1.0.3", "eth-gas-reporter": "^0.2.25", @@ -4148,7 +10296,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "dev": true, "funding": [ { "type": "individual", @@ -4160,7 +10307,6 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", - "dev": true, "funding": [ { "type": "individual", @@ -4177,7 +10323,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", - "dev": true, "funding": [ { "type": "individual", @@ -4193,7 +10338,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -4205,7 +10349,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -4219,7 +10362,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -4227,14 +10369,12 @@ "node_modules/hardhat/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/hardhat/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -4243,7 +10383,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "dev": true, "dependencies": { "@noble/hashes": "1.2.0", "@noble/secp256k1": "1.7.1", @@ -4255,7 +10394,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -4269,7 +10407,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -4278,7 +10415,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -4287,7 +10423,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -4299,7 +10434,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, "engines": { "node": ">= 4.0.0" } @@ -4308,7 +10442,6 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "dev": true, "engines": { "node": ">=8.3.0" }, @@ -4325,11 +10458,19 @@ } } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -4338,8 +10479,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "peer": true, "dependencies": { "es-define-property": "^1.0.0" }, @@ -4351,8 +10490,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "peer": true, "engines": { "node": ">= 0.4" }, @@ -4364,8 +10501,21 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, - "peer": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { "node": ">= 0.4" }, @@ -4373,11 +10523,73 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -4396,7 +10608,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -4406,8 +10617,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "peer": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -4419,7 +10628,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, "bin": { "he": "bin/he" } @@ -4427,27 +10635,52 @@ "node_modules/heap": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "dev": true, - "peer": true + "engines": { + "node": ">=8" + } }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, "node_modules/http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dev": true, - "peer": true, "dependencies": { "caseless": "^0.12.0", "concat-stream": "^1.6.2", @@ -4462,7 +10695,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -4478,8 +10710,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dev": true, - "peer": true, "dependencies": { "@types/node": "^10.0.3" } @@ -4487,15 +10717,27 @@ "node_modules/http-response-object/node_modules/@types/node": { "version": "10.17.60", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, - "peer": true + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -4504,11 +10746,25 @@ "node": ">= 6" } }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/humanize-duration": { + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.32.1.tgz", + "integrity": "sha512-inh5wue5XdfObhu/IGEMiA1nUXigSGcaKNemcbLRKa7jXYGDZXr3LoT9pTIzq2hPEbld7w/qv9h+ikWGz8fL1g==", + "dev": true + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -4520,8 +10776,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "peer": true, "engines": { "node": ">= 4" } @@ -4530,7 +10784,6 @@ "version": "10.0.2", "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.2.tgz", "integrity": "sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA==", - "dev": true, "peer": true, "funding": { "type": "opencollective", @@ -4540,14 +10793,73 @@ "node_modules/immutable": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", - "dev": true + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imul": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", + "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, "engines": { "node": ">=8" } @@ -4557,7 +10869,6 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -4566,22 +10877,55 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, - "peer": true + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "peer": true, "engines": { "node": ">= 0.10" } @@ -4590,555 +10934,542 @@ "version": "1.10.4", "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "dev": true, "dependencies": { "fp-ts": "^1.0.0" } }, - "node_modules/is-binary-path": { + "node_modules/ip-regex": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "peer": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "peer": true - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "dependencies": { - "argparse": "^2.0.1" + "engines": { + "node": ">= 0.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "peer": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, - "peer": true, "dependencies": { - "universalify": "^2.0.0" + "ci-info": "^2.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonschema": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", - "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", - "dev": true, - "peer": true, - "engines": { - "node": "*" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/keccak": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" + "hasown": "^2.0.2" }, "engines": { - "node": ">=10.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, - "peer": true, + "dependencies": { + "hasown": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, - "peer": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "peer": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "dev": true, "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true, - "peer": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "dev": true, - "peer": true - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true, - "peer": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true, - "peer": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "optional": true, + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "peer": true, "dependencies": { - "get-func-name": "^2.0.1" + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", - "dev": true - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "peer": true - }, - "node_modules/markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true, - "peer": true + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "dev": true, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">= 0.10.0" + "node": ">=8" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "peer": true, "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/micro-ftch": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", - "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "peer": true + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "dev": true, - "peer": true, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8.6" + "node": ">=0.10.0" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "peer": true, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", "engines": { - "node": ">= 0.6" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, - "peer": true, - "dependencies": { - "mime-db": "1.52.0" - }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { - "node": "*" + "node": ">=0.12.0" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "peer": true, "dependencies": { - "minimist": "^1.2.6" + "isobject": "^3.0.1" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", "dev": true, "dependencies": { - "obliterator": "^2.0.0" + "@types/estree": "*" } }, - "node_modules/mocha": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", - "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "dependencies": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "call-bind": "^1.0.7" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, - "node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "engines": { "node": ">=10" }, @@ -5146,2101 +11477,2238 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/ndjson": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-2.0.0.tgz", - "integrity": "sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "peer": true, + "optional": true, "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.5", - "readable-stream": "^3.6.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "ndjson": "cli.js" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "peer": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "peer": true, - "dependencies": { - "lodash": "^4.17.21" + "engines": { + "node": ">=8" } }, - "node_modules/node-gyp-build": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", - "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "peer": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12.19" + "node": ">=10" } }, - "node_modules/nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "peer": true, "dependencies": { - "abbrev": "1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": ">=10" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "peer": true, "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=8" } }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, - "peer": true + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", "dev": true, - "peer": true, + "dependencies": { + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "node_modules/jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", "dev": true, - "peer": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8.3" } }, - "node_modules/obliterator": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", - "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==", - "dev": true + "node_modules/jest-changed-files/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", "dev": true, "dependencies": { - "wrappy": "1" + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/jest-cli/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/ordinal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", - "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==", + "node_modules/jest-cli/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, - "peer": true + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "node_modules/jest-cli/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/jest-cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "p-try": "^1.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "node_modules/jest-cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/jest-cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "node_modules/jest-cli/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "node_modules/jest-cli/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "peer": true + "engines": { + "node": ">=6" + } }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/jest-cli/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "node_modules/jest-cli/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/jest-cli/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "peer": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, "engines": { "node": ">=8" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, - "peer": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", "dev": true, "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" }, "engines": { - "node": ">=0.12" + "node": ">= 8.3" } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/jest-config/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "engines": { - "node": ">=8.6" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">=8" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, - "peer": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "node_modules/jest-diff/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", "dev": true, - "peer": true, - "bin": { - "prettier": "bin-prettier.js" + "dependencies": { + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 8.3" + } + }, + "node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "engines": { + "node": ">= 8.3" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "node_modules/jest-each/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", "dev": true, - "peer": true, "dependencies": { - "asap": "~2.0.6" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, - "peer": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 6" + "node": ">= 8.3" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, - "peer": true + "engines": { + "node": ">= 8.3" + } }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, - "peer": true, "dependencies": { - "side-channel": "^1.0.6" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" }, "engines": { - "node": ">=0.6" + "node": ">= 8.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/jest-haste-map/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 8.3" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=8.10.0" + "node": ">= 8.3" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "dev": true, - "peer": true, "dependencies": { - "resolve": "^1.1.6" + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 8.3" } }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true, "dependencies": { - "minimatch": "^3.0.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, - "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", + "node_modules/jest-message-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true, "dependencies": { - "req-from": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", + "node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, - "peer": true, "dependencies": { - "resolve-from": "^3.0.0" + "@jest/types": "^25.5.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", "dev": true, "dependencies": { - "path-parse": "^1.0.6" + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8.3" } }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", "dev": true, - "peer": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" + }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/jest-resolve/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "node_modules/jest-runner/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "bn.js": "^5.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "bin": { - "rlp": "bin/rlp" + "engines": { + "node": ">=8" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, "dependencies": { - "queue-microtask": "^1.2.2" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/jest-runtime/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "engines": { + "node": ">=6" + } }, - "node_modules/sc-istanbul": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "node_modules/jest-runtime/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true, "dependencies": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "bin": { - "istanbul": "lib/cli.js" + "engines": { + "node": ">=8" } }, - "node_modules/sc-istanbul/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/jest-runtime/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, - "peer": true, "dependencies": { - "sprintf-js": "~1.0.2" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/sc-istanbul/node_modules/glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/jest-runtime/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "peer": true, "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/sc-istanbul/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "node_modules/jest-runtime/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/sc-istanbul/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/jest-runtime/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "peer": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "p-try": "^2.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/jest-runtime/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "peer": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/sc-istanbul/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "node_modules/jest-runtime/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "peer": true + "engines": { + "node": ">=6" + } }, - "node_modules/sc-istanbul/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "node_modules/jest-runtime/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "peer": true, "dependencies": { - "has-flag": "^1.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=8" } }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "node_modules/jest-runtime/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, - "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "node_modules/jest-runtime/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "hasInstallScript": true, "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/jest-runtime/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, - "peer": true, "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 8.3" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "node_modules/jest-snapshot/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", "dev": true }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "bin": { - "sha.js": "bin.js" + "engines": { + "node": ">=8" } }, - "node_modules/sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", + "node_modules/jest-snapshot/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "peer": true, "dependencies": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" + "semver": "^6.0.0" }, "engines": { - "node": "*" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, - "peer": true, "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, - "bin": { - "shjs": "bin/shjs" + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/jest-util/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "peer": true, "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "semver": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, - "peer": true + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/slash": { + "node_modules/jest-validate/node_modules/chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "node_modules/jest-watch-typeahead": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", + "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", "dev": true, - "peer": true, "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-regex-util": "^25.2.1", + "jest-watcher": "^25.2.4", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=8" } }, - "node_modules/solc": { - "version": "0.8.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", - "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", + "node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", "dev": true, "dependencies": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solc.js" + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" }, "engines": { - "node": ">=10.0.0" + "node": ">= 8.3" } }, - "node_modules/solc/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/jest-watcher/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/solidity-coverage": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.12.tgz", - "integrity": "sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==", + "node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, - "peer": true, "dependencies": { - "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.18.0", - "chalk": "^2.4.2", - "death": "^1.1.0", - "difflib": "^0.2.4", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.21", - "mocha": "^10.2.0", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.6" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jpjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", + "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", + "dev": true + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" }, "bin": { - "solidity-coverage": "plugins/bin.js" + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" }, "peerDependencies": { - "hardhat": "^2.11.0" + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", - "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==", + "node_modules/jsdom/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "peer": true + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/solidity-coverage/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/jsdom/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, - "peer": true, "dependencies": { - "color-convert": "^1.9.0" + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=4" + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/solidity-coverage/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/jsdom/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, - "node_modules/solidity-coverage/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/jsdom/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "peer": true, - "dependencies": { - "color-name": "1.1.3" + "engines": { + "node": ">=4.0" } }, - "node_modules/solidity-coverage/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/jsdom/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "peer": true + "optional": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/solidity-coverage/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/jsdom/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, - "peer": true, "engines": { - "node": ">=0.8.0" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/solidity-coverage/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=4" } }, - "node_modules/solidity-coverage/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "peer": true, + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/solidity-coverage/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "peer": true, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/solidity-coverage/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/jsonschema": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", "engines": { - "node": ">=10" + "node": "*" } }, - "node_modules/solidity-coverage/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, - "peer": true, "dependencies": { - "has-flag": "^3.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, "engines": { - "node": ">=4" + "node": ">=0.6.0" } }, - "node_modules/solidity-coverage/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, - "peer": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=4.0" } }, - "node_modules/source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", - "dev": true, - "optional": true, - "peer": true, + "node_modules/keccak": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", + "hasInstallScript": true, "dependencies": { - "amdefine": ">=0.0.4" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=10.0.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "json-buffer": "3.0.1" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "engines": { "node": ">=0.10.0" } }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "peer": true, - "dependencies": { - "readable-stream": "^3.0.0" + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "peer": true + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dev": true, "dependencies": { - "type-fest": "^0.7.1" + "language-subtag-registry": "^0.3.20" }, "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, - "node_modules/string-format": { + "node_modules/locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", - "dev": true, - "peer": true - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dev": true, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dependencies": { - "is-hex-prefixed": "1.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, - "peer": true, - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dev": true, - "peer": true, - "dependencies": { - "get-port": "^3.1.0" + "node": ">=4" } }, - "node_modules/table": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", - "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "node_modules/log-update/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, - "peer": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, - "peer": true, "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/table-layout/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "peer": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/table-layout/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "peer": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, - "peer": true, "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" + "mimic-fn": "^1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "dev": true, - "peer": true - }, - "node_modules/then-request/node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, - "peer": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 0.12" - } - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "peer": true, - "dependencies": { - "readable-stream": "3" + "node": ">=4" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/log-update/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "dependencies": { - "os-tmpdir": "~1.0.2" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=4" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/log-update/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=4" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, "engines": { - "node": ">=0.6" + "node": ">=4" } }, - "node_modules/ts-command-line-args": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", - "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", + "node_modules/logform": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz", + "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==", "dev": true, - "peer": true, "dependencies": { - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" }, - "bin": { - "write-markdown": "dist/write-markdown.js" + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", "dev": true, - "peer": true, - "peerDependencies": { - "typescript": ">=3.7.0" + "dependencies": { + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, - "peer": true, "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" + "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.3.1" + "loose-envify": "cli.js" } }, - "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true, - "peer": true - }, - "node_modules/tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", - "dev": true - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "dev": true - }, - "node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "peer": true, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "get-func-name": "^2.0.1" } }, - "node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, - "peer": true, - "engines": { - "node": ">=4" + "dependencies": { + "tslib": "^2.0.3" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" }, - "node_modules/typechain": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", - "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "peer": true, "dependencies": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - }, - "peerDependencies": { - "typescript": ">=4.3.0" + "yallist": "^3.0.2" } }, - "node_modules/typechain/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, - "peer": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/typechain/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "peer": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "semver": "^7.5.3" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/typechain/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typechain/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "peer": true, "bin": { - "mkdirp": "bin/cmd.js" + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/typechain/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true, - "peer": true + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, - "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" + "dependencies": { + "tmpl": "1.0.5" } }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, - "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/uglify-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.2.tgz", - "integrity": "sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, - "optional": true, - "peer": true, - "bin": { - "uglifyjs": "bin/uglifyjs" + "dependencies": { + "object-visit": "^1.0.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dev": true, + "node_modules/markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" + }, + "node_modules/match-all": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/match-all/-/match-all-1.2.6.tgz", + "integrity": "sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==" + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "peer": true, "engines": { - "node": ">= 10.0.0" + "node": ">= 0.6" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", "engines": { - "node": ">= 0.8" + "node": ">= 0.10.0" } }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "dev": true, - "peer": true - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "peer": true + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, - "node_modules/web3-utils": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", - "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/util": "^8.1.0", - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereum-cryptography": "^2.1.2", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils/node_modules/@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", - "dev": true, - "peer": true, - "dependencies": { - "@noble/hashes": "1.4.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">= 8" } }, - "node_modules/web3-utils/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, - "peer": true, "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">= 0.6" } }, - "node_modules/web3-utils/node_modules/ethereum-cryptography": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", - "dev": true, - "peer": true, - "dependencies": { - "@noble/curves": "1.4.2", - "@noble/hashes": "1.4.0", - "@scure/bip32": "1.4.0", - "@scure/bip39": "1.3.0" - } + "node_modules/micro-ftch": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "peer": true, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dependencies": { - "isexe": "^2.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=8.6" } }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "dependencies": { - "string-width": "^4.0.0" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "peer": true, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true, - "peer": true - }, - "node_modules/wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "peer": true, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.6" } }, - "node_modules/wordwrapjs/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "peer": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "*" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "minimist": "^1.2.6" }, - "engines": { - "node": ">=10" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "dependencies": { + "obliterator": "^2.0.0" } }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, + "node_modules/mocha": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" }, "engines": { - "node": ">=10" + "node": ">= 14.0.0" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} + \ No newline at end of file diff --git a/package.json b/package.json index 62b194a..0e77ea8 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,16 @@ }, "homepage": "https://github.com/Consensys/nft-resolver#readme", "devDependencies": { + "@chainlink/ccip-read-server": "^0.2.1", + "@consensys/linea-ccip-gateway": "^1.0.1", "@nomicfoundation/hardhat-toolbox": "^5.0.0", - "hardhat": "^2.22.9" + "dns-packet": "^5.6.1", + "hardhat": "^2.22.9", + "supertest": "^7.0.0" }, "dependencies": { - "@ensdomains/ens-contracts": "^1.2.0", - "@openzeppelin/contracts": "^5.0.2" + "@consensys/linea-state-verifier": "^1.0.1", + "@ensdomains/ens-contracts": "^1.2.2", + "@openzeppelin/contracts": "^4.1.0" } -} \ No newline at end of file +} diff --git a/test/NFTResolver.ts b/test/NFTResolver.ts index 6ca8c42..ec1865a 100644 --- a/test/NFTResolver.ts +++ b/test/NFTResolver.ts @@ -1,11 +1,341 @@ -import { - time, - loadFixture, -} from "@nomicfoundation/hardhat-toolbox/network-helpers"; -import { anyValue } from "@nomicfoundation/hardhat-chai-matchers/withArgs"; +import { makeL2Gateway } from "@consensys/linea-ccip-gateway"; +import { Server } from "@chainlink/ccip-read-server"; +import { HardhatEthersProvider } from "@nomicfoundation/hardhat-ethers/internal/hardhat-ethers-provider"; +import { HardhatEthersHelpers } from "@nomicfoundation/hardhat-ethers/types"; import { expect } from "chai"; -import hre from "hardhat"; +import { + BrowserProvider, + Contract, + JsonRpcProvider, + Signer, + ethers as ethersT, +} from "ethers"; +import { FetchRequest } from "ethers"; +import { ethers } from "hardhat"; +import { EthereumProvider } from "hardhat/types"; +import request from "supertest"; +import packet from "dns-packet"; +import { + BaseRegistrarImplementation, + ENS, + LineaSparseProofVerifier, + NFTResolver, + RollupMock, +} from "../typechain-types"; +const labelhash = (label: string) => + ethers.keccak256(ethers.toUtf8Bytes(label)); +const encodeName = (name: string) => + "0x" + packet.name.encode(name).toString("hex"); +const domainName = "foos"; +const baseDomain = `${domainName}.eth`; +const node = ethers.namehash(baseDomain); +const encodedname = encodeName(baseDomain); + +const registrantAddr = "0x4a8e79E5258592f208ddba8A8a0d3ffEB051B10A"; +const subDomain = "foo1.foos.eth"; +const subDomainNode = ethers.namehash(subDomain); +const encodedSubDomain = encodeName(subDomain); + +const EMPTY_ADDRESS = "0x0000000000000000000000000000000000000000"; +const EMPTY_BYTES32 = + "0x0000000000000000000000000000000000000000000000000000000000000000"; + +type ethersObj = typeof ethersT & + Omit & { + provider: Omit & { + _hardhatProvider: EthereumProvider; + }; + }; + +declare module "hardhat/types/runtime" { + const ethers: ethersObj; + interface HardhatRuntimeEnvironment { + ethers: ethersObj; + } +} + +describe("Crosschain Resolver", () => { + let l1Provider: BrowserProvider; + let l2Provider: JsonRpcProvider; + let l1SepoliaProvider: JsonRpcProvider; + let signer: Signer; + let verifier: LineaSparseProofVerifier; + let target: NFTResolver; + let l2NFTContract: Contract; + let ens: ENS; + let baseRegistrar: BaseRegistrarImplementation; + let rollup: RollupMock; + let signerAddress: string; + let l2NFTContractAddress: string; + + before(async () => { + // Hack to get a 'real' ethers provider from hardhat. The default `HardhatProvider` + // doesn't support CCIP-read. + l1Provider = new ethers.BrowserProvider(ethers.provider._hardhatProvider); + // Those test work only with a specific contract deployed on linea sepolia + l2Provider = new ethers.JsonRpcProvider( + "https://rpc.sepolia.linea.build/", + 59140, + { + staticNetwork: true, + } + ); + // We need this provider to get the latest L2BlockNumber along with the the linea state root hash + l1SepoliaProvider = new ethers.JsonRpcProvider( + "https://gateway.tenderly.co/public/sepolia", + 11155111, + { + staticNetwork: true, + } + ); + signer = await l1Provider.getSigner(0); + signerAddress = await signer.getAddress(); + // TODO: The NFT contract deployed on Linea Sepolia + l2NFTContractAddress = ""; + + const Rollup = await ethers.getContractFactory("RollupMock", signer); + + // We query the latest block number and state root hash on the actual L1 sepolia chain + // because otherwise if we hard code a block number and state root hash the test is no longer + // working after a while as linea_getProof stops working for older blocks + const rollupSepolia = new ethers.Contract( + "0xB218f8A4Bc926cF1cA7b3423c154a0D627Bdb7E5", + Rollup.interface, + l1SepoliaProvider + ); + const currentL2BlockNumber = await rollupSepolia.currentL2BlockNumber(); + const stateRootHash = await rollupSepolia.stateRootHashes( + currentL2BlockNumber + ); + rollup = await Rollup.deploy(currentL2BlockNumber, stateRootHash); + + const gateway = makeL2Gateway( + l1Provider as unknown as JsonRpcProvider, + l2Provider, + await rollup.getAddress() + ); + const server = new Server(); + gateway.add(server); + const app = server.makeApp("/"); + const getUrl = FetchRequest.createGetUrlFunc(); + ethers.FetchRequest.registerGetUrl(async (req: FetchRequest) => { + if (req.url != "test:") return getUrl(req); + + const r = request(app).post("/"); + if (req.hasBody()) { + r.set("Content-Type", "application/json").send( + ethers.toUtf8String(req.body) + ); + } + const response = await r; + return { + statusCode: response.statusCode, + statusMessage: response.ok ? "OK" : response.statusCode.toString(), + body: ethers.toUtf8Bytes(JSON.stringify(response.body)), + headers: { + "Content-Type": "application/json", + }, + }; + }); + const ensFactory = await ethers.getContractFactory("ENSRegistry", signer); + ens = await ensFactory.deploy(); + const ensAddress = await ens.getAddress(); + const baseRegistrarFactory = await ethers.getContractFactory( + "BaseRegistrarImplementation", + signer + ); + baseRegistrar = await baseRegistrarFactory.deploy( + ensAddress, + ethers.namehash("eth") + ); + const baseRegistrarAddress = await baseRegistrar.getAddress(); + await baseRegistrar.addController(signerAddress); + + const reverseRegistrarFactory = await ethers.getContractFactory( + "ReverseRegistrar", + signer + ); + const reverseRegistrar = await reverseRegistrarFactory.deploy(ensAddress); + const reverseRegistrarAddress = await reverseRegistrar.getAddress(); + await ens.setSubnodeOwner( + EMPTY_BYTES32, + labelhash("reverse"), + signerAddress + ); + await ens.setSubnodeOwner( + ethers.namehash("reverse"), + labelhash("addr"), + reverseRegistrarAddress + ); + await ens.setSubnodeOwner( + EMPTY_BYTES32, + labelhash("eth"), + baseRegistrarAddress + ); + + await baseRegistrar.register( + labelhash(domainName), + signerAddress, + 100000000 + ); + const publicResolverFactory = await ethers.getContractFactory( + "PublicResolver", + signer + ); + + const publicResolver = await publicResolverFactory.deploy( + ensAddress, + EMPTY_ADDRESS, + EMPTY_ADDRESS, + reverseRegistrarAddress + ); + + const publicResolverAddress = await publicResolver.getAddress(); + await reverseRegistrar.setDefaultResolver(publicResolverAddress); + + console.log("TEST1"); + await l1Provider.send("evm_mine", []); + console.log("TEST2"); + + const Mimc = await ethers.getContractFactory("Mimc", signer); + const mimc = await Mimc.deploy(); + + const SparseMerkleProof = await ethers.getContractFactory( + "SparseMerkleProof", + { libraries: { Mimc: await mimc.getAddress() }, signer } + ); + const sparseMerkleProof = await SparseMerkleProof.deploy(); + + const verifierFactory = await ethers.getContractFactory( + "LineaSparseProofVerifier", + { + libraries: { + SparseMerkleProof: await sparseMerkleProof.getAddress(), + }, + signer, + } + ); + verifier = await verifierFactory.deploy( + ["test:"], + await rollup.getAddress() + ); + + const nftResolverFactory = await ethers.getContractFactory( + "NFTResolver", + signer + ); + const verifierAddress = await verifier.getAddress(); + target = await nftResolverFactory.deploy( + verifierAddress, + ensAddress, + "0x0000000000000000000000000000000000000001", + 59141 + ); + // Mine an empty block so we have something to prove against + await l1Provider.send("evm_mine", []); + const erc721Factory = await ethers.getContractFactory("ERC721"); + l2NFTContract = new ethers.Contract( + l2NFTContractAddress, + erc721Factory.interface, + l2Provider + ); + }); + + it("should not allow non owner to set target", async () => { + const incorrectname = encodeName("notowned.eth"); + try { + await target.setTarget(incorrectname, l2NFTContractAddress); + throw "Should have reverted"; + } catch (e: any) { + console.log(e); + expect(e.reason).equal("Not authorized to set target for this node"); + } + + const result = await target.getTarget(incorrectname); + expect(result[1]).to.equal(EMPTY_ADDRESS); + }); + + it("should allow owner to set target", async () => { + await target.setTarget(encodedname, signerAddress); + const result = await target.getTarget(encodeName(baseDomain)); + expect(result[1]).to.equal(signerAddress); + }); + + it("subname should get target of its parent", async () => { + await target.setTarget(encodedname, signerAddress); + const result = await target.getTarget(encodedSubDomain); + expect(result[0]).to.equal(subDomainNode); + expect(result[1]).to.equal(signerAddress); + }); + + it("should resolve empty ETH Address", async () => { + await target.setTarget(encodedname, l2NFTContractAddress); + const addr = "0x0000000000000000000000000000000000000000"; + const result = await l2NFTContract["addr(bytes32)"](node); + expect(result).to.equal(addr); + await l1Provider.send("evm_mine", []); + + const i = new ethers.Interface(["function addr(bytes32) returns(address)"]); + const calldata = i.encodeFunctionData("addr", [node]); + const result2 = await target.resolve(encodedname, calldata, { + enableCcipRead: true, + }); + const decoded = i.decodeFunctionResult("addr", result2); + expect(decoded[0]).to.equal(addr); + }); + + it("should resolve ETH Address", async () => { + await target.setTarget(encodedname, l2NFTContractAddress); + const result = await l2NFTContract["addr(bytes32)"](subDomainNode); + expect(ethers.getAddress(result)).to.equal(registrantAddr); + await l1Provider.send("evm_mine", []); + + const i = new ethers.Interface(["function addr(bytes32) returns(address)"]); + const calldata = i.encodeFunctionData("addr", [subDomainNode]); + const result2 = await target.resolve(encodedSubDomain, calldata, { + enableCcipRead: true, + }); + const decoded = i.decodeFunctionResult("addr", result2); + expect(ethers.getAddress(decoded[0])).to.equal( + ethers.getAddress(registrantAddr) + ); + }); + + it("should revert when the functions's selector is invalid", async () => { + await target.setTarget(encodedname, l2NFTContractAddress); + const addr = "0x0000000000000000000000000000000000000000"; + const result = await l2NFTContract["addr(bytes32)"](node); + expect(result).to.equal(addr); + await l1Provider.send("evm_mine", []); + const i = new ethers.Interface([ + "function unknown(bytes32) returns(address)", + ]); + const calldata = i.encodeFunctionData("unknown", [node]); + try { + await target.resolve(encodedname, calldata, { + enableCcipRead: true, + }); + throw "Should have reverted"; + } catch (error: any) { + expect(error.reason).to.equal("invalid selector"); + } + }); -describe("NFTResolver", function () { - //TODO: Write tests + it("should revert if the calldata is too short", async () => { + await target.setTarget(encodedname, l2NFTContractAddress); + const addr = "0x0000000000000000000000000000000000000000"; + const result = await l2NFTContract["addr(bytes32)"](node); + expect(result).to.equal(addr); + await l1Provider.send("evm_mine", []); + const i = new ethers.Interface(["function addr(bytes32) returns(address)"]); + const calldata = "0x"; + try { + await target.resolve(encodedname, calldata, { + enableCcipRead: true, + }); + throw "Should have reverted"; + } catch (error: any) { + expect(error.reason).to.equal("param data too short"); + } + }); }); diff --git a/tsconfig.json b/tsconfig.json index 574e785..308ee0e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,6 @@ "module": "commonjs", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "strict": true, "skipLibCheck": true, "resolveJsonModule": true } From a567680db4761db4b6dfbb736ea63a6e6b27ddf6 Mon Sep 17 00:00:00 2001 From: Julink Date: Mon, 26 Aug 2024 18:44:35 +0200 Subject: [PATCH 2/2] feat: deployed NFT test contract to Linea Sepolia --- contracts/NFTMock.sol | 16 + hardhat.config.ts | 58 + .../NFTResolverModule#NFTMock.dbg.json | 4 + .../artifacts/NFTResolverModule#NFTMock.json | 366 + .../346f95e8f01c7704580fdb4785f590cb.json | 74281 ++++++++++++++++ .../chain-59141/deployed_addresses.json | 3 + .../deployments/chain-59141/journal.jsonl | 12 + ignition/modules/NFTMock.ts | 11 + ignition/modules/NFTResolver.ts | 3 + package-lock.json | 6302 +- package.json | 2 + test/NFTResolver.ts | 10 +- 12 files changed, 81052 insertions(+), 16 deletions(-) create mode 100644 contracts/NFTMock.sol create mode 100644 ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.dbg.json create mode 100644 ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.json create mode 100644 ignition/deployments/chain-59141/build-info/346f95e8f01c7704580fdb4785f590cb.json create mode 100644 ignition/deployments/chain-59141/deployed_addresses.json create mode 100644 ignition/deployments/chain-59141/journal.jsonl create mode 100644 ignition/modules/NFTMock.ts diff --git a/contracts/NFTMock.sol b/contracts/NFTMock.sol new file mode 100644 index 0000000..0990aa5 --- /dev/null +++ b/contracts/NFTMock.sol @@ -0,0 +1,16 @@ +pragma solidity 0.8.25; + +import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; + +contract NFTMock is ERC721 { + uint256 public currentTokenId; + + constructor() ERC721("Test", "TST") { + currentTokenId = 1; + } + + function mint() external { + _safeMint(msg.sender, currentTokenId); + currentTokenId++; + } +} diff --git a/hardhat.config.ts b/hardhat.config.ts index bd7abfc..460e934 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,8 +1,66 @@ import { HardhatUserConfig } from "hardhat/config"; import "@nomicfoundation/hardhat-toolbox"; +import "@nomicfoundation/hardhat-verify"; + +import * as dotenv from "dotenv"; + +dotenv.config(); + +const deployer = + process.env.DEPLOYER_PRIVATE_KEY || + "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"; const config: HardhatUserConfig = { solidity: "0.8.25", + + networks: { + sepolia: { + url: `https://sepolia.infura.io/v3/${process.env.INFURA_API_KEY}`, + chainId: 11155111, + accounts: [deployer], + }, + lineaSepolia: { + url: `https://linea-sepolia.infura.io/v3/${process.env.INFURA_API_KEY}`, + chainId: 59141, + accounts: [deployer], + }, + mainnet: { + url: `https://mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`, + chainId: 1, + accounts: [deployer], + }, + lineaMainnet: { + url: `https://linea-mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`, + chainId: 59144, + accounts: [deployer], + }, + }, + etherscan: { + apiKey: { + lineaSepolia: process.env.LINEASCAN_API_KEY ?? "", + lineaMainnet: process.env.LINEASCAN_API_KEY ?? "", + sepolia: process.env.ETHERSCAN_API_KEY ?? "", + mainnet: process.env.ETHERSCAN_API_KEY ?? "", + }, + customChains: [ + { + network: "lineaSepolia", + chainId: 59141, + urls: { + apiURL: "https://api-sepolia.lineascan.build/api", + browserURL: "https://sepolia.lineascan.build/", + }, + }, + { + network: "lineaMainnet", + chainId: 59144, + urls: { + apiURL: "https://api.lineascan.build/api", + browserURL: "https://lineascan.build/", + }, + }, + ], + }, }; export default config; diff --git a/ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.dbg.json b/ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.dbg.json new file mode 100644 index 0000000..e8b4f93 --- /dev/null +++ b/ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../build-info/346f95e8f01c7704580fdb4785f590cb.json" +} \ No newline at end of file diff --git a/ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.json b/ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.json new file mode 100644 index 0000000..7f03df2 --- /dev/null +++ b/ignition/deployments/chain-59141/artifacts/NFTResolverModule#NFTMock.json @@ -0,0 +1,366 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NFTMock", + "sourceName": "contracts/NFTMock.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentTokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040518060400160405280600481526020017f54657374000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5453540000000000000000000000000000000000000000000000000000000000815250816000908161008c91906102fc565b50806001908161009c91906102fc565b50505060016006819055506103ce565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012d57607f821691505b6020821081036101405761013f6100e6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016b565b6101b2868361016b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101f96101f46101ef846101ca565b6101d4565b6101ca565b9050919050565b6000819050919050565b610213836101de565b61022761021f82610200565b848454610178565b825550505050565b600090565b61023c61022f565b61024781848461020a565b505050565b5b8181101561026b57610260600082610234565b60018101905061024d565b5050565b601f8211156102b05761028181610146565b61028a8461015b565b81016020851015610299578190505b6102ad6102a58561015b565b83018261024c565b50505b505050565b600082821c905092915050565b60006102d3600019846008026102b5565b1980831691505092915050565b60006102ec83836102c2565b9150826002028217905092915050565b610305826100ac565b67ffffffffffffffff81111561031e5761031d6100b7565b5b6103288254610115565b61033382828561026f565b600060209050601f8311600181146103665760008415610354578287015190505b61035e85826102e0565b8655506103c6565b601f19841661037486610146565b60005b8281101561039c57848901518255600182019150602085019450602081019050610377565b868310156103b957848901516103b5601f8916826102c2565b8355505b6001600288020188555050505b505050505050565b61257e806103dd6000396000f3fe608060405234801561001057600080fd5b50600436106100f45760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb46514610271578063b88d4fde1461028d578063c87b56dd146102a9578063e985e9c5146102d9576100f4565b806342842e0e146101d75780636352211e146101f357806370a082311461022357806395d89b4114610253576100f4565b8063081812fc116100d3578063081812fc14610165578063095ea7b3146101955780631249c58b146101b157806323b872dd146101bb576100f4565b80629a9b7b146100f957806301ffc9a71461011757806306fdde0314610147575b600080fd5b610101610309565b60405161010e91906117b0565b60405180910390f35b610131600480360381019061012c9190611837565b61030f565b60405161013e919061187f565b60405180910390f35b61014f6103f1565b60405161015c919061192a565b60405180910390f35b61017f600480360381019061017a9190611978565b610483565b60405161018c91906119e6565b60405180910390f35b6101af60048036038101906101aa9190611a2d565b6104c9565b005b6101b96105e0565b005b6101d560048036038101906101d09190611a6d565b610606565b005b6101f160048036038101906101ec9190611a6d565b610666565b005b61020d60048036038101906102089190611978565b610686565b60405161021a91906119e6565b60405180910390f35b61023d60048036038101906102389190611ac0565b61070c565b60405161024a91906117b0565b60405180910390f35b61025b6107c3565b604051610268919061192a565b60405180910390f35b61028b60048036038101906102869190611b19565b610855565b005b6102a760048036038101906102a29190611c8e565b61086b565b005b6102c360048036038101906102be9190611978565b6108cd565b6040516102d0919061192a565b60405180910390f35b6102f360048036038101906102ee9190611d11565b610935565b604051610300919061187f565b60405180910390f35b60065481565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103da57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ea57506103e9826109c9565b5b9050919050565b60606000805461040090611d80565b80601f016020809104026020016040519081016040528092919081815260200182805461042c90611d80565b80156104795780601f1061044e57610100808354040283529160200191610479565b820191906000526020600020905b81548152906001019060200180831161045c57829003601f168201915b5050505050905090565b600061048e82610a33565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104d482610686565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053b90611e23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610563610a7e565b73ffffffffffffffffffffffffffffffffffffffff16148061059257506105918161058c610a7e565b610935565b5b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611eb5565b60405180910390fd5b6105db8383610a86565b505050565b6105ec33600654610b3f565b600660008154809291906105ff90611f04565b9190505550565b610617610611610a7e565b82610b5d565b610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90611fbe565b60405180910390fd5b610661838383610bf2565b505050565b6106818383836040518060200160405280600081525061086b565b505050565b60008061069283610eeb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061202a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610773906120bc565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d290611d80565b80601f01602080910402602001604051908101604052809291908181526020018280546107fe90611d80565b801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b5050505050905090565b610867610860610a7e565b8383610f28565b5050565b61087c610876610a7e565b83610b5d565b6108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290611fbe565b60405180910390fd5b6108c784848484611094565b50505050565b60606108d882610a33565b60006108e26110f0565b90506000815111610902576040518060200160405280600081525061092d565b8061090c84611107565b60405160200161091d929190612118565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a3c816111d5565b610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a729061202a565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610af983610686565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610b59828260405180602001604052806000815250611216565b5050565b600080610b6983610686565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610bab5750610baa8185610935565b5b80610be957508373ffffffffffffffffffffffffffffffffffffffff16610bd184610483565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610c1282610686565b73ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f906121ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce90612240565b60405180910390fd5b610ce48383836001611271565b8273ffffffffffffffffffffffffffffffffffffffff16610d0482610686565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d51906121ae565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ee68383836001611277565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d906122ac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611087919061187f565b60405180910390a3505050565b61109f848484610bf2565b6110ab8484848461127d565b6110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e19061233e565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161111684611404565b01905060008167ffffffffffffffff81111561113557611134611b63565b5b6040519080825280601f01601f1916602001820160405280156111675781602001600182028036833780820191505090505b509050600082602001820190505b6001156111ca578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816111be576111bd61235e565b5b04945060008503611175575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166111f783610eeb565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6112208383611557565b61122d600084848461127d565b61126c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112639061233e565b60405180910390fd5b505050565b50505050565b50505050565b600061129e8473ffffffffffffffffffffffffffffffffffffffff16611774565b156113f7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026112c7610a7e565b8786866040518563ffffffff1660e01b81526004016112e994939291906123e2565b6020604051808303816000875af192505050801561132557506040513d601f19601f820116820180604052508101906113229190612443565b60015b6113a7573d8060008114611355576040519150601f19603f3d011682016040523d82523d6000602084013e61135a565b606091505b50600081510361139f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113969061233e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506113fc565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611462577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816114585761145761235e565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061149f576d04ee2d6d415b85acef810000000083816114955761149461235e565b5b0492506020810190505b662386f26fc1000083106114ce57662386f26fc1000083816114c4576114c361235e565b5b0492506010810190505b6305f5e10083106114f7576305f5e10083816114ed576114ec61235e565b5b0492506008810190505b612710831061151c5761271083816115125761151161235e565b5b0492506004810190505b6064831061153f57606483816115355761153461235e565b5b0492506002810190505b600a831061154e576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd906124bc565b60405180910390fd5b6115cf816111d5565b1561160f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160690612528565b60405180910390fd5b61161d600083836001611271565b611626816111d5565b15611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612528565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611770600083836001611277565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b6117aa81611797565b82525050565b60006020820190506117c560008301846117a1565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611814816117df565b811461181f57600080fd5b50565b6000813590506118318161180b565b92915050565b60006020828403121561184d5761184c6117d5565b5b600061185b84828501611822565b91505092915050565b60008115159050919050565b61187981611864565b82525050565b60006020820190506118946000830184611870565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118d45780820151818401526020810190506118b9565b60008484015250505050565b6000601f19601f8301169050919050565b60006118fc8261189a565b61190681856118a5565b93506119168185602086016118b6565b61191f816118e0565b840191505092915050565b6000602082019050818103600083015261194481846118f1565b905092915050565b61195581611797565b811461196057600080fd5b50565b6000813590506119728161194c565b92915050565b60006020828403121561198e5761198d6117d5565b5b600061199c84828501611963565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119d0826119a5565b9050919050565b6119e0816119c5565b82525050565b60006020820190506119fb60008301846119d7565b92915050565b611a0a816119c5565b8114611a1557600080fd5b50565b600081359050611a2781611a01565b92915050565b60008060408385031215611a4457611a436117d5565b5b6000611a5285828601611a18565b9250506020611a6385828601611963565b9150509250929050565b600080600060608486031215611a8657611a856117d5565b5b6000611a9486828701611a18565b9350506020611aa586828701611a18565b9250506040611ab686828701611963565b9150509250925092565b600060208284031215611ad657611ad56117d5565b5b6000611ae484828501611a18565b91505092915050565b611af681611864565b8114611b0157600080fd5b50565b600081359050611b1381611aed565b92915050565b60008060408385031215611b3057611b2f6117d5565b5b6000611b3e85828601611a18565b9250506020611b4f85828601611b04565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b9b826118e0565b810181811067ffffffffffffffff82111715611bba57611bb9611b63565b5b80604052505050565b6000611bcd6117cb565b9050611bd98282611b92565b919050565b600067ffffffffffffffff821115611bf957611bf8611b63565b5b611c02826118e0565b9050602081019050919050565b82818337600083830152505050565b6000611c31611c2c84611bde565b611bc3565b905082815260208101848484011115611c4d57611c4c611b5e565b5b611c58848285611c0f565b509392505050565b600082601f830112611c7557611c74611b59565b5b8135611c85848260208601611c1e565b91505092915050565b60008060008060808587031215611ca857611ca76117d5565b5b6000611cb687828801611a18565b9450506020611cc787828801611a18565b9350506040611cd887828801611963565b925050606085013567ffffffffffffffff811115611cf957611cf86117da565b5b611d0587828801611c60565b91505092959194509250565b60008060408385031215611d2857611d276117d5565b5b6000611d3685828601611a18565b9250506020611d4785828601611a18565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9857607f821691505b602082108103611dab57611daa611d51565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0d6021836118a5565b9150611e1882611db1565b604082019050919050565b60006020820190508181036000830152611e3c81611e00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611e9f603d836118a5565b9150611eaa82611e43565b604082019050919050565b60006020820190508181036000830152611ece81611e92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f0f82611797565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f4157611f40611ed5565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611fa8602d836118a5565b9150611fb382611f4c565b604082019050919050565b60006020820190508181036000830152611fd781611f9b565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006120146018836118a5565b915061201f82611fde565b602082019050919050565b6000602082019050818103600083015261204381612007565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006120a66029836118a5565b91506120b18261204a565b604082019050919050565b600060208201905081810360008301526120d581612099565b9050919050565b600081905092915050565b60006120f28261189a565b6120fc81856120dc565b935061210c8185602086016118b6565b80840191505092915050565b600061212482856120e7565b915061213082846120e7565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006121986025836118a5565b91506121a38261213c565b604082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061222a6024836118a5565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006122966019836118a5565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006123286032836118a5565b9150612333826122cc565b604082019050919050565b600060208201905081810360008301526123578161231b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006123b48261238d565b6123be8185612398565b93506123ce8185602086016118b6565b6123d7816118e0565b840191505092915050565b60006080820190506123f760008301876119d7565b61240460208301866119d7565b61241160408301856117a1565b818103606083015261242381846123a9565b905095945050505050565b60008151905061243d8161180b565b92915050565b600060208284031215612459576124586117d5565b5b60006124678482850161242e565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006124a66020836118a5565b91506124b182612470565b602082019050919050565b600060208201905081810360008301526124d581612499565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612512601c836118a5565b915061251d826124dc565b602082019050919050565b6000602082019050818103600083015261254181612505565b905091905056fea2646970667358221220ada89150c5d72aaf83fd35515ab6e67df75e9d0b0f8827fe1173d36182b4852a64736f6c63430008190033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f45760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb46514610271578063b88d4fde1461028d578063c87b56dd146102a9578063e985e9c5146102d9576100f4565b806342842e0e146101d75780636352211e146101f357806370a082311461022357806395d89b4114610253576100f4565b8063081812fc116100d3578063081812fc14610165578063095ea7b3146101955780631249c58b146101b157806323b872dd146101bb576100f4565b80629a9b7b146100f957806301ffc9a71461011757806306fdde0314610147575b600080fd5b610101610309565b60405161010e91906117b0565b60405180910390f35b610131600480360381019061012c9190611837565b61030f565b60405161013e919061187f565b60405180910390f35b61014f6103f1565b60405161015c919061192a565b60405180910390f35b61017f600480360381019061017a9190611978565b610483565b60405161018c91906119e6565b60405180910390f35b6101af60048036038101906101aa9190611a2d565b6104c9565b005b6101b96105e0565b005b6101d560048036038101906101d09190611a6d565b610606565b005b6101f160048036038101906101ec9190611a6d565b610666565b005b61020d60048036038101906102089190611978565b610686565b60405161021a91906119e6565b60405180910390f35b61023d60048036038101906102389190611ac0565b61070c565b60405161024a91906117b0565b60405180910390f35b61025b6107c3565b604051610268919061192a565b60405180910390f35b61028b60048036038101906102869190611b19565b610855565b005b6102a760048036038101906102a29190611c8e565b61086b565b005b6102c360048036038101906102be9190611978565b6108cd565b6040516102d0919061192a565b60405180910390f35b6102f360048036038101906102ee9190611d11565b610935565b604051610300919061187f565b60405180910390f35b60065481565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103da57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ea57506103e9826109c9565b5b9050919050565b60606000805461040090611d80565b80601f016020809104026020016040519081016040528092919081815260200182805461042c90611d80565b80156104795780601f1061044e57610100808354040283529160200191610479565b820191906000526020600020905b81548152906001019060200180831161045c57829003601f168201915b5050505050905090565b600061048e82610a33565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104d482610686565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053b90611e23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610563610a7e565b73ffffffffffffffffffffffffffffffffffffffff16148061059257506105918161058c610a7e565b610935565b5b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611eb5565b60405180910390fd5b6105db8383610a86565b505050565b6105ec33600654610b3f565b600660008154809291906105ff90611f04565b9190505550565b610617610611610a7e565b82610b5d565b610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90611fbe565b60405180910390fd5b610661838383610bf2565b505050565b6106818383836040518060200160405280600081525061086b565b505050565b60008061069283610eeb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061202a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610773906120bc565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d290611d80565b80601f01602080910402602001604051908101604052809291908181526020018280546107fe90611d80565b801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b5050505050905090565b610867610860610a7e565b8383610f28565b5050565b61087c610876610a7e565b83610b5d565b6108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290611fbe565b60405180910390fd5b6108c784848484611094565b50505050565b60606108d882610a33565b60006108e26110f0565b90506000815111610902576040518060200160405280600081525061092d565b8061090c84611107565b60405160200161091d929190612118565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a3c816111d5565b610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a729061202a565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610af983610686565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610b59828260405180602001604052806000815250611216565b5050565b600080610b6983610686565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610bab5750610baa8185610935565b5b80610be957508373ffffffffffffffffffffffffffffffffffffffff16610bd184610483565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610c1282610686565b73ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f906121ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce90612240565b60405180910390fd5b610ce48383836001611271565b8273ffffffffffffffffffffffffffffffffffffffff16610d0482610686565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d51906121ae565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ee68383836001611277565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d906122ac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611087919061187f565b60405180910390a3505050565b61109f848484610bf2565b6110ab8484848461127d565b6110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e19061233e565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161111684611404565b01905060008167ffffffffffffffff81111561113557611134611b63565b5b6040519080825280601f01601f1916602001820160405280156111675781602001600182028036833780820191505090505b509050600082602001820190505b6001156111ca578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816111be576111bd61235e565b5b04945060008503611175575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166111f783610eeb565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6112208383611557565b61122d600084848461127d565b61126c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112639061233e565b60405180910390fd5b505050565b50505050565b50505050565b600061129e8473ffffffffffffffffffffffffffffffffffffffff16611774565b156113f7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026112c7610a7e565b8786866040518563ffffffff1660e01b81526004016112e994939291906123e2565b6020604051808303816000875af192505050801561132557506040513d601f19601f820116820180604052508101906113229190612443565b60015b6113a7573d8060008114611355576040519150601f19603f3d011682016040523d82523d6000602084013e61135a565b606091505b50600081510361139f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113969061233e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506113fc565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611462577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816114585761145761235e565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061149f576d04ee2d6d415b85acef810000000083816114955761149461235e565b5b0492506020810190505b662386f26fc1000083106114ce57662386f26fc1000083816114c4576114c361235e565b5b0492506010810190505b6305f5e10083106114f7576305f5e10083816114ed576114ec61235e565b5b0492506008810190505b612710831061151c5761271083816115125761151161235e565b5b0492506004810190505b6064831061153f57606483816115355761153461235e565b5b0492506002810190505b600a831061154e576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd906124bc565b60405180910390fd5b6115cf816111d5565b1561160f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160690612528565b60405180910390fd5b61161d600083836001611271565b611626816111d5565b15611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612528565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611770600083836001611277565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b6117aa81611797565b82525050565b60006020820190506117c560008301846117a1565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611814816117df565b811461181f57600080fd5b50565b6000813590506118318161180b565b92915050565b60006020828403121561184d5761184c6117d5565b5b600061185b84828501611822565b91505092915050565b60008115159050919050565b61187981611864565b82525050565b60006020820190506118946000830184611870565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118d45780820151818401526020810190506118b9565b60008484015250505050565b6000601f19601f8301169050919050565b60006118fc8261189a565b61190681856118a5565b93506119168185602086016118b6565b61191f816118e0565b840191505092915050565b6000602082019050818103600083015261194481846118f1565b905092915050565b61195581611797565b811461196057600080fd5b50565b6000813590506119728161194c565b92915050565b60006020828403121561198e5761198d6117d5565b5b600061199c84828501611963565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119d0826119a5565b9050919050565b6119e0816119c5565b82525050565b60006020820190506119fb60008301846119d7565b92915050565b611a0a816119c5565b8114611a1557600080fd5b50565b600081359050611a2781611a01565b92915050565b60008060408385031215611a4457611a436117d5565b5b6000611a5285828601611a18565b9250506020611a6385828601611963565b9150509250929050565b600080600060608486031215611a8657611a856117d5565b5b6000611a9486828701611a18565b9350506020611aa586828701611a18565b9250506040611ab686828701611963565b9150509250925092565b600060208284031215611ad657611ad56117d5565b5b6000611ae484828501611a18565b91505092915050565b611af681611864565b8114611b0157600080fd5b50565b600081359050611b1381611aed565b92915050565b60008060408385031215611b3057611b2f6117d5565b5b6000611b3e85828601611a18565b9250506020611b4f85828601611b04565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b9b826118e0565b810181811067ffffffffffffffff82111715611bba57611bb9611b63565b5b80604052505050565b6000611bcd6117cb565b9050611bd98282611b92565b919050565b600067ffffffffffffffff821115611bf957611bf8611b63565b5b611c02826118e0565b9050602081019050919050565b82818337600083830152505050565b6000611c31611c2c84611bde565b611bc3565b905082815260208101848484011115611c4d57611c4c611b5e565b5b611c58848285611c0f565b509392505050565b600082601f830112611c7557611c74611b59565b5b8135611c85848260208601611c1e565b91505092915050565b60008060008060808587031215611ca857611ca76117d5565b5b6000611cb687828801611a18565b9450506020611cc787828801611a18565b9350506040611cd887828801611963565b925050606085013567ffffffffffffffff811115611cf957611cf86117da565b5b611d0587828801611c60565b91505092959194509250565b60008060408385031215611d2857611d276117d5565b5b6000611d3685828601611a18565b9250506020611d4785828601611a18565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9857607f821691505b602082108103611dab57611daa611d51565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0d6021836118a5565b9150611e1882611db1565b604082019050919050565b60006020820190508181036000830152611e3c81611e00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611e9f603d836118a5565b9150611eaa82611e43565b604082019050919050565b60006020820190508181036000830152611ece81611e92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f0f82611797565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f4157611f40611ed5565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611fa8602d836118a5565b9150611fb382611f4c565b604082019050919050565b60006020820190508181036000830152611fd781611f9b565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006120146018836118a5565b915061201f82611fde565b602082019050919050565b6000602082019050818103600083015261204381612007565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006120a66029836118a5565b91506120b18261204a565b604082019050919050565b600060208201905081810360008301526120d581612099565b9050919050565b600081905092915050565b60006120f28261189a565b6120fc81856120dc565b935061210c8185602086016118b6565b80840191505092915050565b600061212482856120e7565b915061213082846120e7565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006121986025836118a5565b91506121a38261213c565b604082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061222a6024836118a5565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006122966019836118a5565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006123286032836118a5565b9150612333826122cc565b604082019050919050565b600060208201905081810360008301526123578161231b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006123b48261238d565b6123be8185612398565b93506123ce8185602086016118b6565b6123d7816118e0565b840191505092915050565b60006080820190506123f760008301876119d7565b61240460208301866119d7565b61241160408301856117a1565b818103606083015261242381846123a9565b905095945050505050565b60008151905061243d8161180b565b92915050565b600060208284031215612459576124586117d5565b5b60006124678482850161242e565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006124a66020836118a5565b91506124b182612470565b602082019050919050565b600060208201905081810360008301526124d581612499565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612512601c836118a5565b915061251d826124dc565b602082019050919050565b6000602082019050818103600083015261254181612505565b905091905056fea2646970667358221220ada89150c5d72aaf83fd35515ab6e67df75e9d0b0f8827fe1173d36182b4852a64736f6c63430008190033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/ignition/deployments/chain-59141/build-info/346f95e8f01c7704580fdb4785f590cb.json b/ignition/deployments/chain-59141/build-info/346f95e8f01c7704580fdb4785f590cb.json new file mode 100644 index 0000000..f9ef33d --- /dev/null +++ b/ignition/deployments/chain-59141/build-info/346f95e8f01c7704580fdb4785f590cb.json @@ -0,0 +1,74281 @@ +{ + "id": "346f95e8f01c7704580fdb4785f590cb", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.25", + "solcLongVersion": "0.8.25+commit.b61c2a91", + "input": { + "language": "Solidity", + "sources": { + "@openzeppelin/contracts/token/ERC721/ERC721.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/ERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"./extensions/IERC721Metadata.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Strings.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata {\n using Address for address;\n using Strings for uint256;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to owner address\n mapping(uint256 => address) private _owners;\n\n // Mapping owner address to token count\n mapping(address => uint256) private _balances;\n\n // Mapping from token ID to approved address\n mapping(uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC721).interfaceId ||\n interfaceId == type(IERC721Metadata).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: address zero is not a valid owner\");\n return _balances[owner];\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n address owner = _ownerOf(tokenId);\n require(owner != address(0), \"ERC721: invalid token ID\");\n return owner;\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overridden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(\n _msgSender() == owner || isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not token owner or approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n _requireMinted(tokenId);\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(address from, address to, uint256 tokenId) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _safeTransfer(from, to, tokenId, data);\n }\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * `data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(address from, address to, uint256 tokenId, bytes memory data) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n */\n function _ownerOf(uint256 tokenId) internal view virtual returns (address) {\n return _owners[tokenId];\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _ownerOf(tokenId) != address(0);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender);\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(address to, uint256 tokenId, bytes memory data) internal virtual {\n _mint(to, tokenId);\n require(\n _checkOnERC721Received(address(0), to, tokenId, data),\n \"ERC721: transfer to non ERC721Receiver implementer\"\n );\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId, 1);\n\n // Check that tokenId was not minted by `_beforeTokenTransfer` hook\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n unchecked {\n // Will not overflow unless all 2**256 token ids are minted to the same owner.\n // Given that tokens are minted one by one, it is impossible in practice that\n // this ever happens. Might change if we allow batch minting.\n // The ERC fails to describe this case.\n _balances[to] += 1;\n }\n\n _owners[tokenId] = to;\n\n emit Transfer(address(0), to, tokenId);\n\n _afterTokenTransfer(address(0), to, tokenId, 1);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n * This is an internal function that does not check if the sender is authorized to operate on the token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId);\n\n _beforeTokenTransfer(owner, address(0), tokenId, 1);\n\n // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook\n owner = ERC721.ownerOf(tokenId);\n\n // Clear approvals\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // Cannot overflow, as that would require more tokens to be burned/transferred\n // out than the owner initially received through minting and transferring in.\n _balances[owner] -= 1;\n }\n delete _owners[tokenId];\n\n emit Transfer(owner, address(0), tokenId);\n\n _afterTokenTransfer(owner, address(0), tokenId, 1);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(address from, address to, uint256 tokenId) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId, 1);\n\n // Check that tokenId was not transferred by `_beforeTokenTransfer` hook\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n\n // Clear approvals from the previous owner\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // `_balances[from]` cannot overflow for the same reason as described in `_burn`:\n // `from`'s balance is the number of token held, which is at least one before the current\n // transfer.\n // `_balances[to]` could overflow in the conditions described in `_mint`. That would require\n // all 2**256 token ids to be minted, which in practice is impossible.\n _balances[from] -= 1;\n _balances[to] += 1;\n }\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n\n _afterTokenTransfer(from, to, tokenId, 1);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits an {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId);\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits an {ApprovalForAll} event.\n */\n function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {\n require(owner != operator, \"ERC721: approve to caller\");\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Reverts if the `tokenId` has not been minted yet.\n */\n function _requireMinted(uint256 tokenId) internal view virtual {\n require(_exists(tokenId), \"ERC721: invalid token ID\");\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(\n address from,\n address to,\n uint256 tokenId,\n bytes memory data\n ) private returns (bool) {\n if (to.isContract()) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {\n return retval == IERC721Receiver.onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert(\"ERC721: transfer to non ERC721Receiver implementer\");\n } else {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n } else {\n return true;\n }\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n * - When `from` is zero, the tokens will be minted for `to`.\n * - When `to` is zero, ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n * - When `from` is zero, the tokens were minted for `to`.\n * - When `to` is zero, ``from``'s tokens were burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n *\n * WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n * being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n * that `ownerOf(tokenId)` is `a`.\n */\n // solhint-disable-next-line func-name-mixedcase\n function __unsafe_increaseBalance(address account, uint256 amount) internal {\n _balances[account] += amount;\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n" + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n" + }, + "@openzeppelin/contracts/utils/Address.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n *\n * Furthermore, `isContract` will also return true if the target contract within\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n * which only has an effect at the end of a transaction.\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Down, // Toward negative infinity\n Up, // Toward infinity\n Zero // Toward zero\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds up instead\n * of rounding down.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n * with further edits by Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod0 := mul(x, y)\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n require(denominator > prod1, \"Math: mulDiv overflow\");\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\n // See https://cs.stackexchange.com/q/138556/92363.\n\n // Does not overflow because the denominator cannot be zero at this stage in the function.\n uint256 twos = denominator & (~denominator + 1);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\n // in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (rounding == Rounding.Up && 10 ** result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256, rounded down, of a positive value.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./math/Math.sol\";\nimport \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toString(int256 value) internal pure returns (string memory) {\n return string(abi.encodePacked(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value))));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n" + }, + "contracts/NFTMock.sol": { + "content": "pragma solidity 0.8.25;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\n\ncontract NFTMock is ERC721 {\n uint256 public currentTokenId;\n\n constructor() ERC721(\"Test\", \"TST\") {\n currentTokenId = 1;\n }\n\n function mint() external {\n _safeMint(msg.sender, currentTokenId);\n currentTokenId++;\n }\n}\n" + } + }, + "settings": { + "evmVersion": "paris", + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "errors": [ + { + "component": "general", + "errorCode": "1878", + "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: \" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/NFTMock.sol\n\n", + "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: \" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", + "severity": "warning", + "sourceLocation": { + "end": -1, + "file": "contracts/NFTMock.sol", + "start": -1 + }, + "type": "Warning" + } + ], + "sources": { + "@openzeppelin/contracts/token/ERC721/ERC721.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "exportedSymbols": { + "Address": [ + 1417 + ], + "Context": [ + 1447 + ], + "ERC165": [ + 1700 + ], + "ERC721": [ + 926 + ], + "IERC165": [ + 1712 + ], + "IERC721": [ + 1042 + ], + "IERC721Metadata": [ + 1087 + ], + "IERC721Receiver": [ + 1060 + ], + "Math": [ + 2578 + ], + "SignedMath": [ + 2683 + ], + "Strings": [ + 1676 + ] + }, + "id": 927, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "107:23:0" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "file": "./IERC721.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 927, + "sourceUnit": 1043, + "src": "132:23:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", + "file": "./IERC721Receiver.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 927, + "sourceUnit": 1061, + "src": "156:31:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "file": "./extensions/IERC721Metadata.sol", + "id": 4, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 927, + "sourceUnit": 1088, + "src": "188:42:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "file": "../../utils/Address.sol", + "id": 5, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 927, + "sourceUnit": 1418, + "src": "231:33:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "id": 6, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 927, + "sourceUnit": 1448, + "src": "265:33:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "file": "../../utils/Strings.sol", + "id": 7, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 927, + "sourceUnit": 1677, + "src": "299:33:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "file": "../../utils/introspection/ERC165.sol", + "id": 8, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 927, + "sourceUnit": 1701, + "src": "333:46:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 10, + "name": "Context", + "nameLocations": [ + "647:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1447, + "src": "647:7:0" + }, + "id": 11, + "nodeType": "InheritanceSpecifier", + "src": "647:7:0" + }, + { + "baseName": { + "id": 12, + "name": "ERC165", + "nameLocations": [ + "656:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1700, + "src": "656:6:0" + }, + "id": 13, + "nodeType": "InheritanceSpecifier", + "src": "656:6:0" + }, + { + "baseName": { + "id": 14, + "name": "IERC721", + "nameLocations": [ + "664:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1042, + "src": "664:7:0" + }, + "id": 15, + "nodeType": "InheritanceSpecifier", + "src": "664:7:0" + }, + { + "baseName": { + "id": 16, + "name": "IERC721Metadata", + "nameLocations": [ + "673:15:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1087, + "src": "673:15:0" + }, + "id": 17, + "nodeType": "InheritanceSpecifier", + "src": "673:15:0" + } + ], + "canonicalName": "ERC721", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 9, + "nodeType": "StructuredDocumentation", + "src": "381:246:0", + "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}." + }, + "fullyImplemented": true, + "id": 926, + "linearizedBaseContracts": [ + 926, + 1087, + 1042, + 1700, + 1712, + 1447 + ], + "name": "ERC721", + "nameLocation": "637:6:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 20, + "libraryName": { + "id": 18, + "name": "Address", + "nameLocations": [ + "701:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1417, + "src": "701:7:0" + }, + "nodeType": "UsingForDirective", + "src": "695:26:0", + "typeName": { + "id": 19, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "713:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "global": false, + "id": 23, + "libraryName": { + "id": 21, + "name": "Strings", + "nameLocations": [ + "732:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1676, + "src": "732:7:0" + }, + "nodeType": "UsingForDirective", + "src": "726:26:0", + "typeName": { + "id": 22, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "744:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 25, + "mutability": "mutable", + "name": "_name", + "nameLocation": "791:5:0", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "776:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 24, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "776:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "838:7:0", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "823:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 26, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "823:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 31, + "mutability": "mutable", + "name": "_owners", + "nameLocation": "934:7:0", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "898:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 30, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 28, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "906:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "898:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 29, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "917:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 35, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "1028:9:0", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "992:45:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 34, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 32, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1000:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "992:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 33, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1011:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 39, + "mutability": "mutable", + "name": "_tokenApprovals", + "nameLocation": "1129:15:0", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "1093:51:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 38, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 36, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1101:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1093:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 37, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1112:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 45, + "mutability": "mutable", + "name": "_operatorApprovals", + "nameLocation": "1252:18:0", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "1199:71:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 44, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 40, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1207:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1199:44:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 43, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 41, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1226:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1218:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 42, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1237:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 61, + "nodeType": "Block", + "src": "1446:57:0", + "statements": [ + { + "expression": { + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 53, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1456:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 54, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "1464:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1456:13:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 56, + "nodeType": "ExpressionStatement", + "src": "1456:13:0" + }, + { + "expression": { + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 57, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1479:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 58, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1489:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1479:17:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 60, + "nodeType": "ExpressionStatement", + "src": "1479:17:0" + } + ] + }, + "documentation": { + "id": 46, + "nodeType": "StructuredDocumentation", + "src": "1277:108:0", + "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection." + }, + "id": 62, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 51, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 48, + "mutability": "mutable", + "name": "name_", + "nameLocation": "1416:5:0", + "nodeType": "VariableDeclaration", + "scope": 62, + "src": "1402:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 47, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1402:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 50, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "1437:7:0", + "nodeType": "VariableDeclaration", + "scope": 62, + "src": "1423:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 49, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1423:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1401:44:0" + }, + "returnParameters": { + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "1446:0:0" + }, + "scope": 926, + "src": "1390:113:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1699, + 1711 + ], + "body": { + "id": 92, + "nodeType": "Block", + "src": "1678:192:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 73, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1707:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 75, + "name": "IERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1042, + "src": "1727:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$", + "typeString": "type(contract IERC721)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$", + "typeString": "type(contract IERC721)" + } + ], + "id": 74, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1722:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 76, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1722:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1042", + "typeString": "type(contract IERC721)" + } + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1736:11:0", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1722:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1707:40:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 79, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1763:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 81, + "name": "IERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1087, + "src": "1783:15:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$", + "typeString": "type(contract IERC721Metadata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$", + "typeString": "type(contract IERC721Metadata)" + } + ], + "id": 80, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1778:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1778:21:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1087", + "typeString": "type(contract IERC721Metadata)" + } + }, + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1800:11:0", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1778:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1763:48:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1707:104:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 88, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1851:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 86, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1827:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC721_$926_$", + "typeString": "type(contract super ERC721)" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1833:17:0", + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1699, + "src": "1827:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1827:36:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1707:156:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 72, + "id": 91, + "nodeType": "Return", + "src": "1688:175:0" + } + ] + }, + "documentation": { + "id": 63, + "nodeType": "StructuredDocumentation", + "src": "1509:56:0", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 93, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1579:17:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 69, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 67, + "name": "ERC165", + "nameLocations": [ + "1646:6:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1700, + "src": "1646:6:0" + }, + { + "id": 68, + "name": "IERC165", + "nameLocations": [ + "1654:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1712, + "src": "1654:7:0" + } + ], + "src": "1637:25:0" + }, + "parameters": { + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 65, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1604:11:0", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "1597:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 64, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1597:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1596:20:0" + }, + "returnParameters": { + "id": 72, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 71, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "1672:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 70, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1672:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1671:6:0" + }, + "scope": 926, + "src": "1570:300:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 967 + ], + "body": { + "id": 116, + "nodeType": "Block", + "src": "2010:123:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 103, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "2028:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2045:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2037:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2037:7:0", + "typeDescriptions": {} + } + }, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2037:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2028:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2049:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "typeString": "literal_string \"ERC721: address zero is not a valid owner\"" + }, + "value": "ERC721: address zero is not a valid owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "typeString": "literal_string \"ERC721: address zero is not a valid owner\"" + } + ], + "id": 102, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2020:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2020:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 111, + "nodeType": "ExpressionStatement", + "src": "2020:73:0" + }, + { + "expression": { + "baseExpression": { + "id": 112, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "2110:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 114, + "indexExpression": { + "id": 113, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "2120:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2110:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 101, + "id": 115, + "nodeType": "Return", + "src": "2103:23:0" + } + ] + }, + "documentation": { + "id": 94, + "nodeType": "StructuredDocumentation", + "src": "1876:48:0", + "text": " @dev See {IERC721-balanceOf}." + }, + "functionSelector": "70a08231", + "id": 117, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1938:9:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 98, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1983:8:0" + }, + "parameters": { + "id": 97, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1956:5:0", + "nodeType": "VariableDeclaration", + "scope": 117, + "src": "1948:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 95, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1948:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1947:15:0" + }, + "returnParameters": { + "id": 101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 100, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 117, + "src": "2001:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 99, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2001:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2000:9:0" + }, + "scope": 926, + "src": "1929:204:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 975 + ], + "body": { + "id": 144, + "nodeType": "Block", + "src": "2271:138:0", + "statements": [ + { + "assignments": [ + 127 + ], + "declarations": [ + { + "constant": false, + "id": 127, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2289:5:0", + "nodeType": "VariableDeclaration", + "scope": 144, + "src": "2281:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 126, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2281:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 131, + "initialValue": { + "arguments": [ + { + "id": 129, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120, + "src": "2306:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 128, + "name": "_ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 427, + "src": "2297:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2297:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2281:33:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 133, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 127, + "src": "2332:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2349:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2341:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 134, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2341:7:0", + "typeDescriptions": {} + } + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2341:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2332:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2353:26:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "typeString": "literal_string \"ERC721: invalid token ID\"" + }, + "value": "ERC721: invalid token ID" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "typeString": "literal_string \"ERC721: invalid token ID\"" + } + ], + "id": 132, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2324:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2324:56:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 141, + "nodeType": "ExpressionStatement", + "src": "2324:56:0" + }, + { + "expression": { + "id": 142, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 127, + "src": "2397:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 125, + "id": 143, + "nodeType": "Return", + "src": "2390:12:0" + } + ] + }, + "documentation": { + "id": 118, + "nodeType": "StructuredDocumentation", + "src": "2139:46:0", + "text": " @dev See {IERC721-ownerOf}." + }, + "functionSelector": "6352211e", + "id": 145, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "2199:7:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 122, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2244:8:0" + }, + "parameters": { + "id": 121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2215:7:0", + "nodeType": "VariableDeclaration", + "scope": 145, + "src": "2207:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2207:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2206:17:0" + }, + "returnParameters": { + "id": 125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 124, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 145, + "src": "2262:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2262:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2261:9:0" + }, + "scope": 926, + "src": "2190:219:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1072 + ], + "body": { + "id": 154, + "nodeType": "Block", + "src": "2540:29:0", + "statements": [ + { + "expression": { + "id": 152, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "2557:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 151, + "id": 153, + "nodeType": "Return", + "src": "2550:12:0" + } + ] + }, + "documentation": { + "id": 146, + "nodeType": "StructuredDocumentation", + "src": "2415:51:0", + "text": " @dev See {IERC721Metadata-name}." + }, + "functionSelector": "06fdde03", + "id": 155, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "2480:4:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 148, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2507:8:0" + }, + "parameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [], + "src": "2484:2:0" + }, + "returnParameters": { + "id": 151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 150, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 155, + "src": "2525:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 149, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2525:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2524:15:0" + }, + "scope": 926, + "src": "2471:98:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1078 + ], + "body": { + "id": 164, + "nodeType": "Block", + "src": "2704:31:0", + "statements": [ + { + "expression": { + "id": 162, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "2721:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 161, + "id": 163, + "nodeType": "Return", + "src": "2714:14:0" + } + ] + }, + "documentation": { + "id": 156, + "nodeType": "StructuredDocumentation", + "src": "2575:53:0", + "text": " @dev See {IERC721Metadata-symbol}." + }, + "functionSelector": "95d89b41", + "id": 165, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "2642:6:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 158, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2671:8:0" + }, + "parameters": { + "id": 157, + "nodeType": "ParameterList", + "parameters": [], + "src": "2648:2:0" + }, + "returnParameters": { + "id": 161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 160, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 165, + "src": "2689:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 159, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2689:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2688:15:0" + }, + "scope": 926, + "src": "2633:102:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1086 + ], + "body": { + "id": 203, + "nodeType": "Block", + "src": "2889:188:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 175, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "2914:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 174, + "name": "_requireMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 822, + "src": "2899:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", + "typeString": "function (uint256) view" + } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2899:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 177, + "nodeType": "ExpressionStatement", + "src": "2899:23:0" + }, + { + "assignments": [ + 179 + ], + "declarations": [ + { + "constant": false, + "id": 179, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "2947:7:0", + "nodeType": "VariableDeclaration", + "scope": 203, + "src": "2933:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 178, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2933:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 182, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 180, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2957:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2957:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2933:34:0" + }, + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 185, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "2990:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2984:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 183, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2984:5:0", + "typeDescriptions": {} + } + }, + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2984:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2999:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2984:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3008:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2984:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "", + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3068:2:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2984:86:0", + "trueExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 194, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "3036:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 195, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "3045:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3053:8:0", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 1506, + "src": "3045:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3045:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 192, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3019:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3023:12:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3019:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3019:45:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3012:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 190, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3012:6:0", + "typeDescriptions": {} + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3012:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 173, + "id": 202, + "nodeType": "Return", + "src": "2977:93:0" + } + ] + }, + "documentation": { + "id": 166, + "nodeType": "StructuredDocumentation", + "src": "2741:55:0", + "text": " @dev See {IERC721Metadata-tokenURI}." + }, + "functionSelector": "c87b56dd", + "id": 204, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "2810:8:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 170, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2856:8:0" + }, + "parameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2827:7:0", + "nodeType": "VariableDeclaration", + "scope": 204, + "src": "2819:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2819:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2818:17:0" + }, + "returnParameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 172, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 204, + "src": "2874:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 171, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2874:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2873:15:0" + }, + "scope": 926, + "src": "2801:276:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 212, + "nodeType": "Block", + "src": "3385:26:0", + "statements": [ + { + "expression": { + "hexValue": "", + "id": 210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3402:2:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "functionReturnParameters": 209, + "id": 211, + "nodeType": "Return", + "src": "3395:9:0" + } + ] + }, + "documentation": { + "id": 205, + "nodeType": "StructuredDocumentation", + "src": "3083:231:0", + "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts." + }, + "id": 213, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_baseURI", + "nameLocation": "3328:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 206, + "nodeType": "ParameterList", + "parameters": [], + "src": "3336:2:0" + }, + "returnParameters": { + "id": 209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 208, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 213, + "src": "3370:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 207, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3370:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3369:15:0" + }, + "scope": 926, + "src": "3319:92:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 1015 + ], + "body": { + "id": 255, + "nodeType": "Block", + "src": "3538:336:0", + "statements": [ + { + "assignments": [ + 223 + ], + "declarations": [ + { + "constant": false, + "id": 223, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3556:5:0", + "nodeType": "VariableDeclaration", + "scope": 255, + "src": "3548:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3548:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 228, + "initialValue": { + "arguments": [ + { + "id": 226, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 218, + "src": "3579:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 224, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "3564:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3571:7:0", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 145, + "src": "3564:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3564:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3548:39:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 230, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3605:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 231, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "3611:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3605:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", + "id": 233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3618:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "typeString": "literal_string \"ERC721: approval to current owner\"" + }, + "value": "ERC721: approval to current owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "typeString": "literal_string \"ERC721: approval to current owner\"" + } + ], + "id": 229, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3597:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3597:57:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 235, + "nodeType": "ExpressionStatement", + "src": "3597:57:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 237, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "3686:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3686:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 239, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "3702:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3686:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 242, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "3728:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 243, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "3735:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3735:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 241, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "3711:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3711:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3686:62:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3762:63:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\"" + }, + "value": "ERC721: approve caller is not token owner or approved for all" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\"" + } + ], + "id": 236, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3665:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3665:170:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "ExpressionStatement", + "src": "3665:170:0" + }, + { + "expression": { + "arguments": [ + { + "id": 251, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3855:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 252, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 218, + "src": "3859:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 250, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 776, + "src": "3846:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3846:21:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 254, + "nodeType": "ExpressionStatement", + "src": "3846:21:0" + } + ] + }, + "documentation": { + "id": 214, + "nodeType": "StructuredDocumentation", + "src": "3417:46:0", + "text": " @dev See {IERC721-approve}." + }, + "functionSelector": "095ea7b3", + "id": 256, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3477:7:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 220, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3529:8:0" + }, + "parameters": { + "id": 219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 216, + "mutability": "mutable", + "name": "to", + "nameLocation": "3493:2:0", + "nodeType": "VariableDeclaration", + "scope": 256, + "src": "3485:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 215, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3485:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 218, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3505:7:0", + "nodeType": "VariableDeclaration", + "scope": 256, + "src": "3497:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 217, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3497:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3484:29:0" + }, + "returnParameters": { + "id": 221, + "nodeType": "ParameterList", + "parameters": [], + "src": "3538:0:0" + }, + "scope": 926, + "src": "3468:406:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1031 + ], + "body": { + "id": 273, + "nodeType": "Block", + "src": "4020:82:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 266, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "4045:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 265, + "name": "_requireMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 822, + "src": "4030:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", + "typeString": "function (uint256) view" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4030:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 268, + "nodeType": "ExpressionStatement", + "src": "4030:23:0" + }, + { + "expression": { + "baseExpression": { + "id": 269, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "4071:15:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 271, + "indexExpression": { + "id": 270, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "4087:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4071:24:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 264, + "id": 272, + "nodeType": "Return", + "src": "4064:31:0" + } + ] + }, + "documentation": { + "id": 257, + "nodeType": "StructuredDocumentation", + "src": "3880:50:0", + "text": " @dev See {IERC721-getApproved}." + }, + "functionSelector": "081812fc", + "id": 274, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "3944:11:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 261, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3993:8:0" + }, + "parameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3964:7:0", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "3956:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 258, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3956:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3955:17:0" + }, + "returnParameters": { + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "4011:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 262, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4011:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4010:9:0" + }, + "scope": 926, + "src": "3935:167:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1023 + ], + "body": { + "id": 290, + "nodeType": "Block", + "src": "4253:69:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 284, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "4282:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4282:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 286, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "4296:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 287, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "4306:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 283, + "name": "_setApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "4263:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4263:52:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 289, + "nodeType": "ExpressionStatement", + "src": "4263:52:0" + } + ] + }, + "documentation": { + "id": 275, + "nodeType": "StructuredDocumentation", + "src": "4108:56:0", + "text": " @dev See {IERC721-setApprovalForAll}." + }, + "functionSelector": "a22cb465", + "id": 291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "4178:17:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 281, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4244:8:0" + }, + "parameters": { + "id": 280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4204:8:0", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "4196:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 276, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4196:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 279, + "mutability": "mutable", + "name": "approved", + "nameLocation": "4219:8:0", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "4214:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 278, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4214:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4195:33:0" + }, + "returnParameters": { + "id": 282, + "nodeType": "ParameterList", + "parameters": [], + "src": "4253:0:0" + }, + "scope": 926, + "src": "4169:153:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1041 + ], + "body": { + "id": 308, + "nodeType": "Block", + "src": "4491:59:0", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 302, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "4508:18:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 304, + "indexExpression": { + "id": 303, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "4527:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4508:25:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 306, + "indexExpression": { + "id": 305, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "4534:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4508:35:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 301, + "id": 307, + "nodeType": "Return", + "src": "4501:42:0" + } + ] + }, + "documentation": { + "id": 292, + "nodeType": "StructuredDocumentation", + "src": "4328:55:0", + "text": " @dev See {IERC721-isApprovedForAll}." + }, + "functionSelector": "e985e9c5", + "id": 309, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "4397:16:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 298, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4467:8:0" + }, + "parameters": { + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4422:5:0", + "nodeType": "VariableDeclaration", + "scope": 309, + "src": "4414:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 293, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4414:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4437:8:0", + "nodeType": "VariableDeclaration", + "scope": 309, + "src": "4429:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 295, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4429:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4413:33:0" + }, + "returnParameters": { + "id": 301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 300, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 309, + "src": "4485:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 299, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4485:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4484:6:0" + }, + "scope": 926, + "src": "4388:162:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1007 + ], + "body": { + "id": 335, + "nodeType": "Block", + "src": "4701:207:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 322, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "4790:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4790:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 324, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "4804:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 321, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "4771:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4771:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", + "id": 326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4814:47:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" + }, + "value": "ERC721: caller is not token owner or approved" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" + } + ], + "id": 320, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4763:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4763:99:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 328, + "nodeType": "ExpressionStatement", + "src": "4763:99:0" + }, + { + "expression": { + "arguments": [ + { + "id": 330, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "4883:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 331, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "4889:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 332, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "4893:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 329, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "4873:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4873:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 334, + "nodeType": "ExpressionStatement", + "src": "4873:28:0" + } + ] + }, + "documentation": { + "id": 310, + "nodeType": "StructuredDocumentation", + "src": "4556:51:0", + "text": " @dev See {IERC721-transferFrom}." + }, + "functionSelector": "23b872dd", + "id": 336, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "4621:12:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 318, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4692:8:0" + }, + "parameters": { + "id": 317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 312, + "mutability": "mutable", + "name": "from", + "nameLocation": "4642:4:0", + "nodeType": "VariableDeclaration", + "scope": 336, + "src": "4634:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 311, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4634:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 314, + "mutability": "mutable", + "name": "to", + "nameLocation": "4656:2:0", + "nodeType": "VariableDeclaration", + "scope": 336, + "src": "4648:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4648:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4668:7:0", + "nodeType": "VariableDeclaration", + "scope": 336, + "src": "4660:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 315, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4660:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4633:43:0" + }, + "returnParameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [], + "src": "4701:0:0" + }, + "scope": 926, + "src": "4612:296:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 997 + ], + "body": { + "id": 354, + "nodeType": "Block", + "src": "5067:56:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 348, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "5094:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 349, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 341, + "src": "5100:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 350, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 343, + "src": "5104:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5113:2:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 347, + "name": "safeTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 355, + 385 + ], + "referencedDeclaration": 385, + "src": "5077:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory)" + } + }, + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5077:39:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "5077:39:0" + } + ] + }, + "documentation": { + "id": 337, + "nodeType": "StructuredDocumentation", + "src": "4914:55:0", + "text": " @dev See {IERC721-safeTransferFrom}." + }, + "functionSelector": "42842e0e", + "id": 355, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "4983:16:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 345, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5058:8:0" + }, + "parameters": { + "id": 344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "from", + "nameLocation": "5008:4:0", + "nodeType": "VariableDeclaration", + "scope": 355, + "src": "5000:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5000:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 341, + "mutability": "mutable", + "name": "to", + "nameLocation": "5022:2:0", + "nodeType": "VariableDeclaration", + "scope": 355, + "src": "5014:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5014:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 343, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5034:7:0", + "nodeType": "VariableDeclaration", + "scope": 355, + "src": "5026:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5026:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4999:43:0" + }, + "returnParameters": { + "id": 346, + "nodeType": "ParameterList", + "parameters": [], + "src": "5067:0:0" + }, + "scope": 926, + "src": "4974:149:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 987 + ], + "body": { + "id": 384, + "nodeType": "Block", + "src": "5301:164:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 370, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "5338:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5338:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 372, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 362, + "src": "5352:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 369, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "5319:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5319:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5362:47:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" + }, + "value": "ERC721: caller is not token owner or approved" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" + } + ], + "id": 368, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5311:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5311:99:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 376, + "nodeType": "ExpressionStatement", + "src": "5311:99:0" + }, + { + "expression": { + "arguments": [ + { + "id": 378, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 358, + "src": "5434:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 379, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "5440:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 380, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 362, + "src": "5444:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 381, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 364, + "src": "5453:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 377, + "name": "_safeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "5420:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5420:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 383, + "nodeType": "ExpressionStatement", + "src": "5420:38:0" + } + ] + }, + "documentation": { + "id": 356, + "nodeType": "StructuredDocumentation", + "src": "5129:55:0", + "text": " @dev See {IERC721-safeTransferFrom}." + }, + "functionSelector": "b88d4fde", + "id": 385, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "5198:16:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 366, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5292:8:0" + }, + "parameters": { + "id": 365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 358, + "mutability": "mutable", + "name": "from", + "nameLocation": "5223:4:0", + "nodeType": "VariableDeclaration", + "scope": 385, + "src": "5215:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5215:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 360, + "mutability": "mutable", + "name": "to", + "nameLocation": "5237:2:0", + "nodeType": "VariableDeclaration", + "scope": 385, + "src": "5229:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5229:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 362, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5249:7:0", + "nodeType": "VariableDeclaration", + "scope": 385, + "src": "5241:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5241:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 364, + "mutability": "mutable", + "name": "data", + "nameLocation": "5271:4:0", + "nodeType": "VariableDeclaration", + "scope": 385, + "src": "5258:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 363, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5258:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5214:62:0" + }, + "returnParameters": { + "id": 367, + "nodeType": "ParameterList", + "parameters": [], + "src": "5301:0:0" + }, + "scope": 926, + "src": "5189:276:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 413, + "nodeType": "Block", + "src": "6428:165:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 398, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 388, + "src": "6448:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 399, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 390, + "src": "6454:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 400, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "6458:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 397, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "6438:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6438:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 402, + "nodeType": "ExpressionStatement", + "src": "6438:28:0" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 405, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 388, + "src": "6507:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 406, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 390, + "src": "6513:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 407, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "6517:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 408, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 394, + "src": "6526:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 404, + "name": "_checkOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 884, + "src": "6484:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6484:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6533:52:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + }, + "value": "ERC721: transfer to non ERC721Receiver implementer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + } + ], + "id": 403, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6476:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6476:110:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 412, + "nodeType": "ExpressionStatement", + "src": "6476:110:0" + } + ] + }, + "documentation": { + "id": 386, + "nodeType": "StructuredDocumentation", + "src": "5471:850:0", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "id": 414, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeTransfer", + "nameLocation": "6335:13:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 388, + "mutability": "mutable", + "name": "from", + "nameLocation": "6357:4:0", + "nodeType": "VariableDeclaration", + "scope": 414, + "src": "6349:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 387, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6349:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 390, + "mutability": "mutable", + "name": "to", + "nameLocation": "6371:2:0", + "nodeType": "VariableDeclaration", + "scope": 414, + "src": "6363:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 389, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6363:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6383:7:0", + "nodeType": "VariableDeclaration", + "scope": 414, + "src": "6375:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6375:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 394, + "mutability": "mutable", + "name": "data", + "nameLocation": "6405:4:0", + "nodeType": "VariableDeclaration", + "scope": 414, + "src": "6392:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 393, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6392:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6348:62:0" + }, + "returnParameters": { + "id": 396, + "nodeType": "ParameterList", + "parameters": [], + "src": "6428:0:0" + }, + "scope": 926, + "src": "6326:267:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 426, + "nodeType": "Block", + "src": "6777:40:0", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 422, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31, + "src": "6794:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 424, + "indexExpression": { + "id": 423, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "6802:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6794:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 421, + "id": 425, + "nodeType": "Return", + "src": "6787:23:0" + } + ] + }, + "documentation": { + "id": 415, + "nodeType": "StructuredDocumentation", + "src": "6599:98:0", + "text": " @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist" + }, + "id": 427, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_ownerOf", + "nameLocation": "6711:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6728:7:0", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "6720:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6720:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6719:17:0" + }, + "returnParameters": { + "id": 421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 420, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "6768:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 419, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6768:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6767:9:0" + }, + "scope": 926, + "src": "6702:115:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 444, + "nodeType": "Block", + "src": "7191:55:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 436, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 430, + "src": "7217:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 435, + "name": "_ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 427, + "src": "7208:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7208:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7237:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7229:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7229:7:0", + "typeDescriptions": {} + } + }, + "id": 441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7229:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7208:31:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 434, + "id": 443, + "nodeType": "Return", + "src": "7201:38:0" + } + ] + }, + "documentation": { + "id": 428, + "nodeType": "StructuredDocumentation", + "src": "6823:292:0", + "text": " @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)." + }, + "id": 445, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nameLocation": "7129:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 430, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "7145:7:0", + "nodeType": "VariableDeclaration", + "scope": 445, + "src": "7137:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7137:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7136:17:0" + }, + "returnParameters": { + "id": 434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 445, + "src": "7185:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 432, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7185:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7184:6:0" + }, + "scope": 926, + "src": "7120:126:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 478, + "nodeType": "Block", + "src": "7503:162:0", + "statements": [ + { + "assignments": [ + 456 + ], + "declarations": [ + { + "constant": false, + "id": 456, + "mutability": "mutable", + "name": "owner", + "nameLocation": "7521:5:0", + "nodeType": "VariableDeclaration", + "scope": 478, + "src": "7513:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7513:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 461, + "initialValue": { + "arguments": [ + { + "id": 459, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 450, + "src": "7544:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 457, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "7529:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7536:7:0", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 145, + "src": "7529:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7529:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7513:39:0" + }, + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 462, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 448, + "src": "7570:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 463, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "7581:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7570:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 466, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "7607:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 467, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 448, + "src": "7614:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 465, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "7590:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7590:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7570:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 471, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 450, + "src": "7638:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 470, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "7626:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7626:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 473, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 448, + "src": "7650:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7626:31:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7570:87:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 476, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7569:89:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 454, + "id": 477, + "nodeType": "Return", + "src": "7562:96:0" + } + ] + }, + "documentation": { + "id": 446, + "nodeType": "StructuredDocumentation", + "src": "7252:147:0", + "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist." + }, + "id": 479, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isApprovedOrOwner", + "nameLocation": "7413:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 448, + "mutability": "mutable", + "name": "spender", + "nameLocation": "7440:7:0", + "nodeType": "VariableDeclaration", + "scope": 479, + "src": "7432:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7432:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 450, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "7457:7:0", + "nodeType": "VariableDeclaration", + "scope": 479, + "src": "7449:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7449:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7431:34:0" + }, + "returnParameters": { + "id": 454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 453, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 479, + "src": "7497:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 452, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7497:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7496:6:0" + }, + "scope": 926, + "src": "7404:261:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 493, + "nodeType": "Block", + "src": "8060:43:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 488, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 482, + "src": "8080:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 489, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 484, + "src": "8084:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8093:2:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 487, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 494, + 523 + ], + "referencedDeclaration": 523, + "src": "8070:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8070:26:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 492, + "nodeType": "ExpressionStatement", + "src": "8070:26:0" + } + ] + }, + "documentation": { + "id": 480, + "nodeType": "StructuredDocumentation", + "src": "7671:319:0", + "text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "id": 494, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeMint", + "nameLocation": "8004:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 482, + "mutability": "mutable", + "name": "to", + "nameLocation": "8022:2:0", + "nodeType": "VariableDeclaration", + "scope": 494, + "src": "8014:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8014:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 484, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "8034:7:0", + "nodeType": "VariableDeclaration", + "scope": 494, + "src": "8026:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 483, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8026:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8013:29:0" + }, + "returnParameters": { + "id": 486, + "nodeType": "ParameterList", + "parameters": [], + "src": "8060:0:0" + }, + "scope": 926, + "src": "7995:108:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 522, + "nodeType": "Block", + "src": "8408:195:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 505, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 497, + "src": "8424:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 506, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "8428:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 504, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 600, + "src": "8418:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8418:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 508, + "nodeType": "ExpressionStatement", + "src": "8418:18:0" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8498:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8490:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 511, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8490:7:0", + "typeDescriptions": {} + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8490:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 515, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 497, + "src": "8502:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 516, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "8506:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 517, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 501, + "src": "8515:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 510, + "name": "_checkOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 884, + "src": "8467:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8467:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", + "id": 519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8534:52:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + }, + "value": "ERC721: transfer to non ERC721Receiver implementer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + } + ], + "id": 509, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8446:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8446:150:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 521, + "nodeType": "ExpressionStatement", + "src": "8446:150:0" + } + ] + }, + "documentation": { + "id": 495, + "nodeType": "StructuredDocumentation", + "src": "8109:210:0", + "text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients." + }, + "id": 523, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeMint", + "nameLocation": "8333:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 497, + "mutability": "mutable", + "name": "to", + "nameLocation": "8351:2:0", + "nodeType": "VariableDeclaration", + "scope": 523, + "src": "8343:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 496, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8343:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 499, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "8363:7:0", + "nodeType": "VariableDeclaration", + "scope": 523, + "src": "8355:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 498, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8355:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 501, + "mutability": "mutable", + "name": "data", + "nameLocation": "8385:4:0", + "nodeType": "VariableDeclaration", + "scope": 523, + "src": "8372:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 500, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8372:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8342:48:0" + }, + "returnParameters": { + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "8408:0:0" + }, + "scope": 926, + "src": "8324:279:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 599, + "nodeType": "Block", + "src": "8986:859:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 532, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9004:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9018:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9010:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 533, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9010:7:0", + "typeDescriptions": {} + } + }, + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9010:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9004:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9022:34:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "typeString": "literal_string \"ERC721: mint to the zero address\"" + }, + "value": "ERC721: mint to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "typeString": "literal_string \"ERC721: mint to the zero address\"" + } + ], + "id": 531, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8996:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8996:61:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 540, + "nodeType": "ExpressionStatement", + "src": "8996:61:0" + }, + { + "expression": { + "arguments": [ + { + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "9075:17:0", + "subExpression": { + "arguments": [ + { + "id": 543, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 528, + "src": "9084:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 542, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "9076:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9076:16:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "id": 546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9094:30:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "typeString": "literal_string \"ERC721: token already minted\"" + }, + "value": "ERC721: token already minted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "typeString": "literal_string \"ERC721: token already minted\"" + } + ], + "id": 541, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9067:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9067:58:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 548, + "nodeType": "ExpressionStatement", + "src": "9067:58:0" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9165:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9157:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 550, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9157:7:0", + "typeDescriptions": {} + } + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9157:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 554, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9169:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 555, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 528, + "src": "9173:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9182:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 549, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 897, + "src": "9136:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9136:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 558, + "nodeType": "ExpressionStatement", + "src": "9136:48:0" + }, + { + "expression": { + "arguments": [ + { + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "9279:17:0", + "subExpression": { + "arguments": [ + { + "id": 561, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 528, + "src": "9288:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 560, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "9280:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9280:16:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9298:30:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "typeString": "literal_string \"ERC721: token already minted\"" + }, + "value": "ERC721: token already minted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "typeString": "literal_string \"ERC721: token already minted\"" + } + ], + "id": 559, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9271:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9271:58:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 566, + "nodeType": "ExpressionStatement", + "src": "9271:58:0" + }, + { + "id": 573, + "nodeType": "UncheckedBlock", + "src": "9340:360:0", + "statements": [ + { + "expression": { + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 567, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "9671:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 569, + "indexExpression": { + "id": 568, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9681:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9671:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9688:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9671:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 572, + "nodeType": "ExpressionStatement", + "src": "9671:18:0" + } + ] + }, + { + "expression": { + "id": 578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 574, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31, + "src": "9710:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 576, + "indexExpression": { + "id": 575, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 528, + "src": "9718:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9710:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 577, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9729:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9710:21:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 579, + "nodeType": "ExpressionStatement", + "src": "9710:21:0" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9764:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9756:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 581, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9756:7:0", + "typeDescriptions": {} + } + }, + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9756:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 585, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9768:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 586, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 528, + "src": "9772:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 580, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 941, + "src": "9747:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9747:33:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 588, + "nodeType": "EmitStatement", + "src": "9742:38:0" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9819:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9811:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9811:7:0", + "typeDescriptions": {} + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9811:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 594, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9823:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 595, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 528, + "src": "9827:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9836:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 589, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 910, + "src": "9791:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9791:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 598, + "nodeType": "ExpressionStatement", + "src": "9791:47:0" + } + ] + }, + "documentation": { + "id": 524, + "nodeType": "StructuredDocumentation", + "src": "8609:311:0", + "text": " @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event." + }, + "id": 600, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "8934:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 526, + "mutability": "mutable", + "name": "to", + "nameLocation": "8948:2:0", + "nodeType": "VariableDeclaration", + "scope": 600, + "src": "8940:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 525, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8940:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 528, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "8960:7:0", + "nodeType": "VariableDeclaration", + "scope": 600, + "src": "8952:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8952:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8939:29:0" + }, + "returnParameters": { + "id": 530, + "nodeType": "ParameterList", + "parameters": [], + "src": "8986:0:0" + }, + "scope": 926, + "src": "8925:920:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 666, + "nodeType": "Block", + "src": "10220:713:0", + "statements": [ + { + "assignments": [ + 607 + ], + "declarations": [ + { + "constant": false, + "id": 607, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10238:5:0", + "nodeType": "VariableDeclaration", + "scope": 666, + "src": "10230:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10230:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 612, + "initialValue": { + "arguments": [ + { + "id": 610, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10261:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 608, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "10246:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10253:7:0", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 145, + "src": "10246:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10246:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10230:39:0" + }, + { + "expression": { + "arguments": [ + { + "id": 614, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 607, + "src": "10301:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10316:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10308:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10308:7:0", + "typeDescriptions": {} + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10308:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 619, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10320:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10329:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 613, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 897, + "src": "10280:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10280:51:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 622, + "nodeType": "ExpressionStatement", + "src": "10280:51:0" + }, + { + "expression": { + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 623, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 607, + "src": "10433:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 626, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10456:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 624, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "10441:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10448:7:0", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 145, + "src": "10441:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10441:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10433:31:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 629, + "nodeType": "ExpressionStatement", + "src": "10433:31:0" + }, + { + "expression": { + "id": 633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10502:31:0", + "subExpression": { + "baseExpression": { + "id": 630, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "10509:15:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 632, + "indexExpression": { + "id": 631, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10525:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10509:24:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 634, + "nodeType": "ExpressionStatement", + "src": "10502:31:0" + }, + { + "id": 641, + "nodeType": "UncheckedBlock", + "src": "10544:237:0", + "statements": [ + { + "expression": { + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 635, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "10749:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 637, + "indexExpression": { + "id": 636, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 607, + "src": "10759:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10749:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10769:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10749:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 640, + "nodeType": "ExpressionStatement", + "src": "10749:21:0" + } + ] + }, + { + "expression": { + "id": 645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10790:23:0", + "subExpression": { + "baseExpression": { + "id": 642, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31, + "src": "10797:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 644, + "indexExpression": { + "id": 643, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10805:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10797:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 646, + "nodeType": "ExpressionStatement", + "src": "10790:23:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 648, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 607, + "src": "10838:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10853:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10845:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 649, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10845:7:0", + "typeDescriptions": {} + } + }, + "id": 652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10845:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 653, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10857:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 647, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 941, + "src": "10829:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10829:36:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 655, + "nodeType": "EmitStatement", + "src": "10824:41:0" + }, + { + "expression": { + "arguments": [ + { + "id": 657, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 607, + "src": "10896:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10911:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 659, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10903:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 658, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10903:7:0", + "typeDescriptions": {} + } + }, + "id": 661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10903:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 662, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10915:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10924:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 656, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 910, + "src": "10876:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10876:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 665, + "nodeType": "ExpressionStatement", + "src": "10876:50:0" + } + ] + }, + "documentation": { + "id": 601, + "nodeType": "StructuredDocumentation", + "src": "9851:315:0", + "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." + }, + "id": 667, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "10180:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 603, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "10194:7:0", + "nodeType": "VariableDeclaration", + "scope": 667, + "src": "10186:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 602, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10186:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10185:17:0" + }, + "returnParameters": { + "id": 605, + "nodeType": "ParameterList", + "parameters": [], + "src": "10220:0:0" + }, + "scope": 926, + "src": "10171:762:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 751, + "nodeType": "Block", + "src": "11336:1124:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 680, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "11369:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 678, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "11354:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11361:7:0", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 145, + "src": "11354:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11354:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 682, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "11381:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11354:31:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11387:39:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" + }, + "value": "ERC721: transfer from incorrect owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" + } + ], + "id": 677, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11346:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11346:81:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 686, + "nodeType": "ExpressionStatement", + "src": "11346:81:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 688, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "11445:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11459:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11451:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 689, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11451:7:0", + "typeDescriptions": {} + } + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11451:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11445:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11463:38:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "typeString": "literal_string \"ERC721: transfer to the zero address\"" + }, + "value": "ERC721: transfer to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "typeString": "literal_string \"ERC721: transfer to the zero address\"" + } + ], + "id": 687, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11437:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11437:65:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 696, + "nodeType": "ExpressionStatement", + "src": "11437:65:0" + }, + { + "expression": { + "arguments": [ + { + "id": 698, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "11534:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 699, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "11540:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 700, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "11544:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11553:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 697, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 897, + "src": "11513:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11513:42:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 703, + "nodeType": "ExpressionStatement", + "src": "11513:42:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 707, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "11670:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 705, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "11655:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11662:7:0", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 145, + "src": "11655:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11655:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 709, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "11682:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11655:31:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11688:39:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" + }, + "value": "ERC721: transfer from incorrect owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" + } + ], + "id": 704, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11647:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11647:81:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 713, + "nodeType": "ExpressionStatement", + "src": "11647:81:0" + }, + { + "expression": { + "id": 717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "11790:31:0", + "subExpression": { + "baseExpression": { + "id": 714, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "11797:15:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 716, + "indexExpression": { + "id": 715, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "11813:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11797:24:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 718, + "nodeType": "ExpressionStatement", + "src": "11790:31:0" + }, + { + "id": 731, + "nodeType": "UncheckedBlock", + "src": "11832:496:0", + "statements": [ + { + "expression": { + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 719, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "12265:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 721, + "indexExpression": { + "id": 720, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "12275:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12265:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12284:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12265:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 724, + "nodeType": "ExpressionStatement", + "src": "12265:20:0" + }, + { + "expression": { + "id": 729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 725, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "12299:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 727, + "indexExpression": { + "id": 726, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "12309:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12299:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12316:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12299:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 730, + "nodeType": "ExpressionStatement", + "src": "12299:18:0" + } + ] + }, + { + "expression": { + "id": 736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 732, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31, + "src": "12337:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 734, + "indexExpression": { + "id": 733, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12345:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12337:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 735, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "12356:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12337:21:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 737, + "nodeType": "ExpressionStatement", + "src": "12337:21:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 739, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "12383:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 740, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "12389:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 741, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12393:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 738, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 941, + "src": "12374:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12374:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 743, + "nodeType": "EmitStatement", + "src": "12369:32:0" + }, + { + "expression": { + "arguments": [ + { + "id": 745, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 670, + "src": "12432:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 746, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "12438:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 747, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12442:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12451:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 744, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 910, + "src": "12412:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12412:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 750, + "nodeType": "ExpressionStatement", + "src": "12412:41:0" + } + ] + }, + "documentation": { + "id": 668, + "nodeType": "StructuredDocumentation", + "src": "10939:313:0", + "text": " @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event." + }, + "id": 752, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "11266:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 670, + "mutability": "mutable", + "name": "from", + "nameLocation": "11284:4:0", + "nodeType": "VariableDeclaration", + "scope": 752, + "src": "11276:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 669, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11276:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 672, + "mutability": "mutable", + "name": "to", + "nameLocation": "11298:2:0", + "nodeType": "VariableDeclaration", + "scope": 752, + "src": "11290:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 671, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11290:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 674, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "11310:7:0", + "nodeType": "VariableDeclaration", + "scope": 752, + "src": "11302:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 673, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11302:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11275:43:0" + }, + "returnParameters": { + "id": 676, + "nodeType": "ParameterList", + "parameters": [], + "src": "11336:0:0" + }, + "scope": 926, + "src": "11257:1203:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 775, + "nodeType": "Block", + "src": "12636:107:0", + "statements": [ + { + "expression": { + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 760, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "12646:15:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 762, + "indexExpression": { + "id": 761, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 757, + "src": "12662:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12646:24:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 763, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "12673:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12646:29:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 765, + "nodeType": "ExpressionStatement", + "src": "12646:29:0" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "id": 769, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 757, + "src": "12714:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 767, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "12699:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12706:7:0", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 145, + "src": "12699:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12699:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 771, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "12724:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 772, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 757, + "src": "12728:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 766, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 950, + "src": "12690:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12690:46:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 774, + "nodeType": "EmitStatement", + "src": "12685:51:0" + } + ] + }, + "documentation": { + "id": 753, + "nodeType": "StructuredDocumentation", + "src": "12466:101:0", + "text": " @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event." + }, + "id": 776, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "12581:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 755, + "mutability": "mutable", + "name": "to", + "nameLocation": "12598:2:0", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "12590:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 754, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12590:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 757, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "12610:7:0", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "12602:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12602:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12589:29:0" + }, + "returnParameters": { + "id": 759, + "nodeType": "ParameterList", + "parameters": [], + "src": "12636:0:0" + }, + "scope": 926, + "src": "12572:171:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 807, + "nodeType": "Block", + "src": "12972:184:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 787, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "12990:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 788, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "12999:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12990:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "id": 790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13009:27:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "typeString": "literal_string \"ERC721: approve to caller\"" + }, + "value": "ERC721: approve to caller" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "typeString": "literal_string \"ERC721: approve to caller\"" + } + ], + "id": 786, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12982:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12982:55:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 792, + "nodeType": "ExpressionStatement", + "src": "12982:55:0" + }, + { + "expression": { + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 793, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "13047:18:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 796, + "indexExpression": { + "id": 794, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "13066:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13047:25:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 797, + "indexExpression": { + "id": 795, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "13073:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13047:35:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 798, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "13085:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13047:46:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 800, + "nodeType": "ExpressionStatement", + "src": "13047:46:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 802, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "13123:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 803, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "13130:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 804, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "13140:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 801, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "13108:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13108:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 806, + "nodeType": "EmitStatement", + "src": "13103:46:0" + } + ] + }, + "documentation": { + "id": 777, + "nodeType": "StructuredDocumentation", + "src": "12749:125:0", + "text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event." + }, + "id": 808, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setApprovalForAll", + "nameLocation": "12888:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 779, + "mutability": "mutable", + "name": "owner", + "nameLocation": "12915:5:0", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "12907:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 778, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12907:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 781, + "mutability": "mutable", + "name": "operator", + "nameLocation": "12930:8:0", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "12922:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12922:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 783, + "mutability": "mutable", + "name": "approved", + "nameLocation": "12945:8:0", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "12940:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 782, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12940:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12906:48:0" + }, + "returnParameters": { + "id": 785, + "nodeType": "ParameterList", + "parameters": [], + "src": "12972:0:0" + }, + "scope": 926, + "src": "12879:277:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 821, + "nodeType": "Block", + "src": "13303:70:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 816, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "13329:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 815, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "13321:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13321:16:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "id": 818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13339:26:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "typeString": "literal_string \"ERC721: invalid token ID\"" + }, + "value": "ERC721: invalid token ID" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "typeString": "literal_string \"ERC721: invalid token ID\"" + } + ], + "id": 814, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "13313:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13313:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 820, + "nodeType": "ExpressionStatement", + "src": "13313:53:0" + } + ] + }, + "documentation": { + "id": 809, + "nodeType": "StructuredDocumentation", + "src": "13162:73:0", + "text": " @dev Reverts if the `tokenId` has not been minted yet." + }, + "id": 822, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_requireMinted", + "nameLocation": "13249:14:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 811, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "13272:7:0", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "13264:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 810, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13264:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13263:17:0" + }, + "returnParameters": { + "id": 813, + "nodeType": "ParameterList", + "parameters": [], + "src": "13303:0:0" + }, + "scope": 926, + "src": "13240:133:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 883, + "nodeType": "Block", + "src": "14080:676:0", + "statements": [ + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 836, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 827, + "src": "14094:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14097:10:0", + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 1105, + "src": "14094:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14094:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 881, + "nodeType": "Block", + "src": "14714:36:0", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14735:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 835, + "id": 880, + "nodeType": "Return", + "src": "14728:11:0" + } + ] + }, + "id": 882, + "nodeType": "IfStatement", + "src": "14090:660:0", + "trueBody": { + "id": 878, + "nodeType": "Block", + "src": "14111:597:0", + "statements": [ + { + "clauses": [ + { + "block": { + "id": 858, + "nodeType": "Block", + "src": "14225:91:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 852, + "name": "retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 850, + "src": "14250:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "expression": { + "id": 853, + "name": "IERC721Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1060, + "src": "14260:15:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$", + "typeString": "type(contract IERC721Receiver)" + } + }, + "id": 854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14276:16:0", + "memberName": "onERC721Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 1059, + "src": "14260:32:0", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$", + "typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)" + } + }, + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14293:8:0", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "14260:41:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "14250:51:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 835, + "id": 857, + "nodeType": "Return", + "src": "14243:58:0" + } + ] + }, + "errorName": "", + "id": 859, + "nodeType": "TryCatchClause", + "parameters": { + "id": 851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 850, + "mutability": "mutable", + "name": "retval", + "nameLocation": "14217:6:0", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "14210:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 849, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "14210:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "14209:15:0" + }, + "src": "14201:115:0" + }, + { + "block": { + "id": 875, + "nodeType": "Block", + "src": "14345:353:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 863, + "name": "reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 861, + "src": "14367:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14374:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14367:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14384:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14367:18:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 873, + "nodeType": "Block", + "src": "14494:190:0", + "statements": [ + { + "AST": { + "nativeSrc": "14580:86:0", + "nodeType": "YulBlock", + "src": "14580:86:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14617:2:0", + "nodeType": "YulLiteral", + "src": "14617:2:0", + "type": "", + "value": "32" + }, + { + "name": "reason", + "nativeSrc": "14621:6:0", + "nodeType": "YulIdentifier", + "src": "14621:6:0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14613:3:0", + "nodeType": "YulIdentifier", + "src": "14613:3:0" + }, + "nativeSrc": "14613:15:0", + "nodeType": "YulFunctionCall", + "src": "14613:15:0" + }, + { + "arguments": [ + { + "name": "reason", + "nativeSrc": "14636:6:0", + "nodeType": "YulIdentifier", + "src": "14636:6:0" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14630:5:0", + "nodeType": "YulIdentifier", + "src": "14630:5:0" + }, + "nativeSrc": "14630:13:0", + "nodeType": "YulFunctionCall", + "src": "14630:13:0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14606:6:0", + "nodeType": "YulIdentifier", + "src": "14606:6:0" + }, + "nativeSrc": "14606:38:0", + "nodeType": "YulFunctionCall", + "src": "14606:38:0" + }, + "nativeSrc": "14606:38:0", + "nodeType": "YulExpressionStatement", + "src": "14606:38:0" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 861, + "isOffset": false, + "isSlot": false, + "src": "14621:6:0", + "valueSize": 1 + }, + { + "declaration": 861, + "isOffset": false, + "isSlot": false, + "src": "14636:6:0", + "valueSize": 1 + } + ], + "id": 872, + "nodeType": "InlineAssembly", + "src": "14571:95:0" + } + ] + }, + "id": 874, + "nodeType": "IfStatement", + "src": "14363:321:0", + "trueBody": { + "id": 871, + "nodeType": "Block", + "src": "14387:101:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", + "id": 868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14416:52:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + }, + "value": "ERC721: transfer to non ERC721Receiver implementer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + } + ], + "id": 867, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "14409:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14409:60:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 870, + "nodeType": "ExpressionStatement", + "src": "14409:60:0" + } + ] + } + } + ] + }, + "errorName": "", + "id": 876, + "nodeType": "TryCatchClause", + "parameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "mutability": "mutable", + "name": "reason", + "nameLocation": "14337:6:0", + "nodeType": "VariableDeclaration", + "scope": 876, + "src": "14324:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 860, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14324:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "14323:21:0" + }, + "src": "14317:381:0" + } + ], + "externalCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 843, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "14166:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14166:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 845, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "14180:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 846, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 829, + "src": "14186:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 847, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 831, + "src": "14195:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 840, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 827, + "src": "14145:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 839, + "name": "IERC721Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1060, + "src": "14129:15:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$", + "typeString": "type(contract IERC721Receiver)" + } + }, + "id": 841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14129:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Receiver_$1060", + "typeString": "contract IERC721Receiver" + } + }, + "id": 842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14149:16:0", + "memberName": "onERC721Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 1059, + "src": "14129:36:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" + } + }, + "id": 848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14129:71:0", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "id": 877, + "nodeType": "TryStatement", + "src": "14125:573:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 823, + "nodeType": "StructuredDocumentation", + "src": "13379:541:0", + "text": " @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value" + }, + "id": 884, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOnERC721Received", + "nameLocation": "13934:22:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 825, + "mutability": "mutable", + "name": "from", + "nameLocation": "13974:4:0", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "13966:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 824, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13966:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 827, + "mutability": "mutable", + "name": "to", + "nameLocation": "13996:2:0", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "13988:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13988:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 829, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "14016:7:0", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "14008:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14008:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 831, + "mutability": "mutable", + "name": "data", + "nameLocation": "14046:4:0", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "14033:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 830, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14033:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "13956:100:0" + }, + "returnParameters": { + "id": 835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 834, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "14074:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 833, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14074:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "14073:6:0" + }, + "scope": 926, + "src": "13925:831:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 896, + "nodeType": "Block", + "src": "15586:2:0", + "statements": [] + }, + "documentation": { + "id": 885, + "nodeType": "StructuredDocumentation", + "src": "14762:705:0", + "text": " @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "id": 897, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "15481:20:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 887, + "mutability": "mutable", + "name": "from", + "nameLocation": "15510:4:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "15502:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 886, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15502:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 889, + "mutability": "mutable", + "name": "to", + "nameLocation": "15524:2:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "15516:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15516:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 891, + "mutability": "mutable", + "name": "firstTokenId", + "nameLocation": "15536:12:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "15528:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15528:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 893, + "mutability": "mutable", + "name": "batchSize", + "nameLocation": "15558:9:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "15550:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 892, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15550:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15501:67:0" + }, + "returnParameters": { + "id": 895, + "nodeType": "ParameterList", + "parameters": [], + "src": "15586:0:0" + }, + "scope": 926, + "src": "15472:116:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 909, + "nodeType": "Block", + "src": "16407:2:0", + "statements": [] + }, + "documentation": { + "id": 898, + "nodeType": "StructuredDocumentation", + "src": "15594:695:0", + "text": " @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "id": 910, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_afterTokenTransfer", + "nameLocation": "16303:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 900, + "mutability": "mutable", + "name": "from", + "nameLocation": "16331:4:0", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "16323:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 899, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16323:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 902, + "mutability": "mutable", + "name": "to", + "nameLocation": "16345:2:0", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "16337:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 901, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16337:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 904, + "mutability": "mutable", + "name": "firstTokenId", + "nameLocation": "16357:12:0", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "16349:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16349:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 906, + "mutability": "mutable", + "name": "batchSize", + "nameLocation": "16379:9:0", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "16371:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 905, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16371:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16322:67:0" + }, + "returnParameters": { + "id": 908, + "nodeType": "ParameterList", + "parameters": [], + "src": "16407:0:0" + }, + "scope": 926, + "src": "16294:115:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 924, + "nodeType": "Block", + "src": "16958:45:0", + "statements": [ + { + "expression": { + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 918, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "16968:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 920, + "indexExpression": { + "id": 919, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 913, + "src": "16978:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16968:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 921, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 915, + "src": "16990:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16968:28:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 923, + "nodeType": "ExpressionStatement", + "src": "16968:28:0" + } + ] + }, + "documentation": { + "id": 911, + "nodeType": "StructuredDocumentation", + "src": "16415:409:0", + "text": " @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n that `ownerOf(tokenId)` is `a`." + }, + "id": 925, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "__unsafe_increaseBalance", + "nameLocation": "16891:24:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 913, + "mutability": "mutable", + "name": "account", + "nameLocation": "16924:7:0", + "nodeType": "VariableDeclaration", + "scope": 925, + "src": "16916:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 912, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16916:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 915, + "mutability": "mutable", + "name": "amount", + "nameLocation": "16941:6:0", + "nodeType": "VariableDeclaration", + "scope": 925, + "src": "16933:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16933:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16915:33:0" + }, + "returnParameters": { + "id": 917, + "nodeType": "ParameterList", + "parameters": [], + "src": "16958:0:0" + }, + "scope": 926, + "src": "16882:121:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 927, + "src": "628:16377:0", + "usedErrors": [], + "usedEvents": [ + 941, + 950, + 959 + ] + } + ], + "src": "107:16899:0" + }, + "id": 0 + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC165": [ + 1712 + ], + "IERC721": [ + 1042 + ] + }, + "id": 1043, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 928, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "108:23:1" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 929, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1043, + "sourceUnit": 1713, + "src": "133:47:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 931, + "name": "IERC165", + "nameLocations": [ + "271:7:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1712, + "src": "271:7:1" + }, + "id": 932, + "nodeType": "InheritanceSpecifier", + "src": "271:7:1" + } + ], + "canonicalName": "IERC721", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 930, + "nodeType": "StructuredDocumentation", + "src": "182:67:1", + "text": " @dev Required interface of an ERC721 compliant contract." + }, + "fullyImplemented": false, + "id": 1042, + "linearizedBaseContracts": [ + 1042, + 1712 + ], + "name": "IERC721", + "nameLocation": "260:7:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 933, + "nodeType": "StructuredDocumentation", + "src": "285:88:1", + "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." + }, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 941, + "name": "Transfer", + "nameLocation": "384:8:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 935, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "409:4:1", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "393:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 934, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "393:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 937, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "431:2:1", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "415:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 936, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "415:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 939, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "451:7:1", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "435:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "435:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "392:67:1" + }, + "src": "378:82:1" + }, + { + "anonymous": false, + "documentation": { + "id": 942, + "nodeType": "StructuredDocumentation", + "src": "466:94:1", + "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 950, + "name": "Approval", + "nameLocation": "571:8:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 944, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "596:5:1", + "nodeType": "VariableDeclaration", + "scope": 950, + "src": "580:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "580:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 946, + "indexed": true, + "mutability": "mutable", + "name": "approved", + "nameLocation": "619:8:1", + "nodeType": "VariableDeclaration", + "scope": 950, + "src": "603:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 945, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "603:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 948, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "645:7:1", + "nodeType": "VariableDeclaration", + "scope": 950, + "src": "629:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "629:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "579:74:1" + }, + "src": "565:89:1" + }, + { + "anonymous": false, + "documentation": { + "id": 951, + "nodeType": "StructuredDocumentation", + "src": "660:117:1", + "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 959, + "name": "ApprovalForAll", + "nameLocation": "788:14:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 953, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "819:5:1", + "nodeType": "VariableDeclaration", + "scope": 959, + "src": "803:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "803:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 955, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "842:8:1", + "nodeType": "VariableDeclaration", + "scope": 959, + "src": "826:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 954, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 957, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "857:8:1", + "nodeType": "VariableDeclaration", + "scope": 959, + "src": "852:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 956, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "852:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "802:64:1" + }, + "src": "782:85:1" + }, + { + "documentation": { + "id": 960, + "nodeType": "StructuredDocumentation", + "src": "873:76:1", + "text": " @dev Returns the number of tokens in ``owner``'s account." + }, + "functionSelector": "70a08231", + "id": 967, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "963:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 962, + "mutability": "mutable", + "name": "owner", + "nameLocation": "981:5:1", + "nodeType": "VariableDeclaration", + "scope": 967, + "src": "973:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 961, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "973:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "972:15:1" + }, + "returnParameters": { + "id": 966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 965, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1019:7:1", + "nodeType": "VariableDeclaration", + "scope": 967, + "src": "1011:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1011:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1010:17:1" + }, + "scope": 1042, + "src": "954:74:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 968, + "nodeType": "StructuredDocumentation", + "src": "1034:131:1", + "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "6352211e", + "id": 975, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "1179:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 970, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1195:7:1", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "1187:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 969, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1187:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1186:17:1" + }, + "returnParameters": { + "id": 974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 973, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1235:5:1", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "1227:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 972, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1227:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1226:15:1" + }, + "scope": 1042, + "src": "1170:72:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 976, + "nodeType": "StructuredDocumentation", + "src": "1248:556:1", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "b88d4fde", + "id": 987, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1818:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 978, + "mutability": "mutable", + "name": "from", + "nameLocation": "1843:4:1", + "nodeType": "VariableDeclaration", + "scope": 987, + "src": "1835:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 977, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1835:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 980, + "mutability": "mutable", + "name": "to", + "nameLocation": "1857:2:1", + "nodeType": "VariableDeclaration", + "scope": 987, + "src": "1849:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 979, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 982, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1869:7:1", + "nodeType": "VariableDeclaration", + "scope": 987, + "src": "1861:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 981, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1861:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 984, + "mutability": "mutable", + "name": "data", + "nameLocation": "1893:4:1", + "nodeType": "VariableDeclaration", + "scope": 987, + "src": "1878:19:1", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 983, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1878:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1834:64:1" + }, + "returnParameters": { + "id": 986, + "nodeType": "ParameterList", + "parameters": [], + "src": "1907:0:1" + }, + "scope": 1042, + "src": "1809:99:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 988, + "nodeType": "StructuredDocumentation", + "src": "1914:687:1", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "42842e0e", + "id": 997, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "2615:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 990, + "mutability": "mutable", + "name": "from", + "nameLocation": "2640:4:1", + "nodeType": "VariableDeclaration", + "scope": 997, + "src": "2632:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 989, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2632:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 992, + "mutability": "mutable", + "name": "to", + "nameLocation": "2654:2:1", + "nodeType": "VariableDeclaration", + "scope": 997, + "src": "2646:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 991, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2646:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 994, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2666:7:1", + "nodeType": "VariableDeclaration", + "scope": 997, + "src": "2658:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 993, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2658:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2631:43:1" + }, + "returnParameters": { + "id": 996, + "nodeType": "ParameterList", + "parameters": [], + "src": "2683:0:1" + }, + "scope": 1042, + "src": "2606:78:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 998, + "nodeType": "StructuredDocumentation", + "src": "2690:732:1", + "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 1007, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "3436:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1000, + "mutability": "mutable", + "name": "from", + "nameLocation": "3457:4:1", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "3449:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 999, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3449:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1002, + "mutability": "mutable", + "name": "to", + "nameLocation": "3471:2:1", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "3463:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1001, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3463:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1004, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3483:7:1", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "3475:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3475:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3448:43:1" + }, + "returnParameters": { + "id": 1006, + "nodeType": "ParameterList", + "parameters": [], + "src": "3500:0:1" + }, + "scope": 1042, + "src": "3427:74:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1008, + "nodeType": "StructuredDocumentation", + "src": "3507:452:1", + "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 1015, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3973:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1010, + "mutability": "mutable", + "name": "to", + "nameLocation": "3989:2:1", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "3981:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1009, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3981:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1012, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4001:7:1", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "3993:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3993:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3980:29:1" + }, + "returnParameters": { + "id": 1014, + "nodeType": "ParameterList", + "parameters": [], + "src": "4018:0:1" + }, + "scope": 1042, + "src": "3964:55:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1016, + "nodeType": "StructuredDocumentation", + "src": "4025:309:1", + "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." + }, + "functionSelector": "a22cb465", + "id": 1023, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "4348:17:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1018, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4374:8:1", + "nodeType": "VariableDeclaration", + "scope": 1023, + "src": "4366:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1017, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4366:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1020, + "mutability": "mutable", + "name": "approved", + "nameLocation": "4389:8:1", + "nodeType": "VariableDeclaration", + "scope": 1023, + "src": "4384:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1019, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4384:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4365:33:1" + }, + "returnParameters": { + "id": 1022, + "nodeType": "ParameterList", + "parameters": [], + "src": "4407:0:1" + }, + "scope": 1042, + "src": "4339:69:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1024, + "nodeType": "StructuredDocumentation", + "src": "4414:139:1", + "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "081812fc", + "id": 1031, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "4567:11:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1026, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4587:7:1", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "4579:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4579:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4578:17:1" + }, + "returnParameters": { + "id": 1030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1029, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4627:8:1", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "4619:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4619:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4618:18:1" + }, + "scope": 1042, + "src": "4558:79:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1032, + "nodeType": "StructuredDocumentation", + "src": "4643:138:1", + "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" + }, + "functionSelector": "e985e9c5", + "id": 1041, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "4795:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4820:5:1", + "nodeType": "VariableDeclaration", + "scope": 1041, + "src": "4812:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1033, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4812:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1036, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4835:8:1", + "nodeType": "VariableDeclaration", + "scope": 1041, + "src": "4827:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1035, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4827:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4811:33:1" + }, + "returnParameters": { + "id": 1040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1039, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1041, + "src": "4868:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1038, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4868:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4867:6:1" + }, + "scope": 1042, + "src": "4786:88:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1043, + "src": "250:4626:1", + "usedErrors": [], + "usedEvents": [ + 941, + 950, + 959 + ] + } + ], + "src": "108:4769:1" + }, + "id": 1 + }, + "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", + "exportedSymbols": { + "IERC721Receiver": [ + 1060 + ] + }, + "id": 1061, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1044, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "116:23:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Receiver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1045, + "nodeType": "StructuredDocumentation", + "src": "141:152:2", + "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts." + }, + "fullyImplemented": false, + "id": 1060, + "linearizedBaseContracts": [ + 1060 + ], + "name": "IERC721Receiver", + "nameLocation": "304:15:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1046, + "nodeType": "StructuredDocumentation", + "src": "326:493:2", + "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." + }, + "functionSelector": "150b7a02", + "id": 1059, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onERC721Received", + "nameLocation": "833:16:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1048, + "mutability": "mutable", + "name": "operator", + "nameLocation": "867:8:2", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "859:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1050, + "mutability": "mutable", + "name": "from", + "nameLocation": "893:4:2", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "885:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "885:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1052, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "915:7:2", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "907:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1051, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "907:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1054, + "mutability": "mutable", + "name": "data", + "nameLocation": "947:4:2", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "932:19:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1053, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "932:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "849:108:2" + }, + "returnParameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1057, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "976:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1056, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "976:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "975:8:2" + }, + "scope": 1060, + "src": "824:160:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1061, + "src": "294:692:2", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "116:871:2" + }, + "id": 2 + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "exportedSymbols": { + "IERC165": [ + 1712 + ], + "IERC721": [ + 1042 + ], + "IERC721Metadata": [ + 1087 + ] + }, + "id": 1088, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1062, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "112:23:3" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "file": "../IERC721.sol", + "id": 1063, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1088, + "sourceUnit": 1043, + "src": "137:24:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1065, + "name": "IERC721", + "nameLocations": [ + "326:7:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1042, + "src": "326:7:3" + }, + "id": 1066, + "nodeType": "InheritanceSpecifier", + "src": "326:7:3" + } + ], + "canonicalName": "IERC721Metadata", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1064, + "nodeType": "StructuredDocumentation", + "src": "163:133:3", + "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": false, + "id": 1087, + "linearizedBaseContracts": [ + 1087, + 1042, + 1712 + ], + "name": "IERC721Metadata", + "nameLocation": "307:15:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1067, + "nodeType": "StructuredDocumentation", + "src": "340:58:3", + "text": " @dev Returns the token collection name." + }, + "functionSelector": "06fdde03", + "id": 1072, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "412:4:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1068, + "nodeType": "ParameterList", + "parameters": [], + "src": "416:2:3" + }, + "returnParameters": { + "id": 1071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1070, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "442:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1069, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "442:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "441:15:3" + }, + "scope": 1087, + "src": "403:54:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1073, + "nodeType": "StructuredDocumentation", + "src": "463:60:3", + "text": " @dev Returns the token collection symbol." + }, + "functionSelector": "95d89b41", + "id": 1078, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "537:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1074, + "nodeType": "ParameterList", + "parameters": [], + "src": "543:2:3" + }, + "returnParameters": { + "id": 1077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1076, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1078, + "src": "569:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1075, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "569:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "568:15:3" + }, + "scope": 1087, + "src": "528:56:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1079, + "nodeType": "StructuredDocumentation", + "src": "590:90:3", + "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "functionSelector": "c87b56dd", + "id": 1086, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "694:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1081, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "711:7:3", + "nodeType": "VariableDeclaration", + "scope": 1086, + "src": "703:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "703:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "702:17:3" + }, + "returnParameters": { + "id": 1085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1084, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1086, + "src": "743:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1083, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "743:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "742:15:3" + }, + "scope": 1087, + "src": "685:73:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1088, + "src": "297:463:3", + "usedErrors": [], + "usedEvents": [ + 941, + 950, + 959 + ] + } + ], + "src": "112:649:3" + }, + "id": 3 + }, + "@openzeppelin/contracts/utils/Address.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 1417 + ] + }, + "id": 1418, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1089, + "literals": [ + "solidity", + "^", + "0.8", + ".1" + ], + "nodeType": "PragmaDirective", + "src": "101:23:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Address", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1090, + "nodeType": "StructuredDocumentation", + "src": "126:67:4", + "text": " @dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 1417, + "linearizedBaseContracts": [ + 1417 + ], + "name": "Address", + "nameLocation": "202:7:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1104, + "nodeType": "Block", + "src": "1478:254:4", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 1098, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "1702:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1710:4:4", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1702:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1715:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1702:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1724:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1702:23:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1097, + "id": 1103, + "nodeType": "Return", + "src": "1695:30:4" + } + ] + }, + "documentation": { + "id": 1091, + "nodeType": "StructuredDocumentation", + "src": "216:1191:4", + "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" + }, + "id": 1105, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nameLocation": "1421:10:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1093, + "mutability": "mutable", + "name": "account", + "nameLocation": "1440:7:4", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1432:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1432:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1431:17:4" + }, + "returnParameters": { + "id": 1097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1096, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1472:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1095, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1472:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1471:6:4" + }, + "scope": 1417, + "src": "1412:320:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1138, + "nodeType": "Block", + "src": "2718:241:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 1116, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2744:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1417", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1417", + "typeString": "library Address" + } + ], + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2736:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1114, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2736:7:4", + "typeDescriptions": {} + } + }, + "id": 1117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2736:13:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2750:7:4", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "2736:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1119, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1110, + "src": "2761:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2736:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2769:31:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + }, + "value": "Address: insufficient balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + } + ], + "id": 1113, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2728:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2728:73:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1123, + "nodeType": "ExpressionStatement", + "src": "2728:73:4" + }, + { + "assignments": [ + 1125, + null + ], + "declarations": [ + { + "constant": false, + "id": 1125, + "mutability": "mutable", + "name": "success", + "nameLocation": "2818:7:4", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2813:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1124, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2813:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 1132, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 1130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2861:2:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 1126, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "2831:9:4", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2841:4:4", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2831:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1128, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1110, + "src": "2853:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2831:29:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2831:33:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2812:52:4" + }, + { + "expression": { + "arguments": [ + { + "id": 1134, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1125, + "src": "2882:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2891:60:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + }, + "value": "Address: unable to send value, recipient may have reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + } + ], + "id": 1133, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2874:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2874:78:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1137, + "nodeType": "ExpressionStatement", + "src": "2874:78:4" + } + ] + }, + "documentation": { + "id": 1106, + "nodeType": "StructuredDocumentation", + "src": "1738:904:4", + "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 1139, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nameLocation": "2656:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1108, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "2682:9:4", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2666:25:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2666:15:4", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1110, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2701:6:4", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2693:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1109, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2693:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2665:43:4" + }, + "returnParameters": { + "id": 1112, + "nodeType": "ParameterList", + "parameters": [], + "src": "2718:0:4" + }, + "scope": 1417, + "src": "2647:312:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1156, + "nodeType": "Block", + "src": "3790:96:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1150, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "3829:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1151, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1144, + "src": "3837:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3846:32:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + }, + "value": "Address: low-level call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + } + ], + "id": 1149, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1197, + 1241 + ], + "referencedDeclaration": 1241, + "src": "3807:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3807:72:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1148, + "id": 1155, + "nodeType": "Return", + "src": "3800:79:4" + } + ] + }, + "documentation": { + "id": 1140, + "nodeType": "StructuredDocumentation", + "src": "2965:731:4", + "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" + }, + "id": 1157, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3710:12:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1142, + "mutability": "mutable", + "name": "target", + "nameLocation": "3731:6:4", + "nodeType": "VariableDeclaration", + "scope": 1157, + "src": "3723:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1141, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3723:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1144, + "mutability": "mutable", + "name": "data", + "nameLocation": "3752:4:4", + "nodeType": "VariableDeclaration", + "scope": 1157, + "src": "3739:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1143, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3739:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3722:35:4" + }, + "returnParameters": { + "id": 1148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1147, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1157, + "src": "3776:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1146, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3776:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3775:14:4" + }, + "scope": 1417, + "src": "3701:185:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1176, + "nodeType": "Block", + "src": "4255:76:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1170, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4294:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1171, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1162, + "src": "4302:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4308:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 1173, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1164, + "src": "4311:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1169, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1197, + 1241 + ], + "referencedDeclaration": 1241, + "src": "4272:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4272:52:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1168, + "id": 1175, + "nodeType": "Return", + "src": "4265:59:4" + } + ] + }, + "documentation": { + "id": 1158, + "nodeType": "StructuredDocumentation", + "src": "3892:211:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 1177, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "4117:12:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1160, + "mutability": "mutable", + "name": "target", + "nameLocation": "4147:6:4", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "4139:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4139:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1162, + "mutability": "mutable", + "name": "data", + "nameLocation": "4176:4:4", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "4163:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1161, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4163:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1164, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "4204:12:4", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "4190:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1163, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4190:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4129:93:4" + }, + "returnParameters": { + "id": 1168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "4241:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1166, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4241:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4240:14:4" + }, + "scope": 1417, + "src": "4108:223:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1196, + "nodeType": "Block", + "src": "4806:111:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1190, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "4845:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1191, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "4853:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1192, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "4859:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", + "id": 1193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:43:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + }, + "value": "Address: low-level call with value failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + } + ], + "id": 1189, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1197, + 1241 + ], + "referencedDeclaration": 1241, + "src": "4823:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4823:87:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1188, + "id": 1195, + "nodeType": "Return", + "src": "4816:94:4" + } + ] + }, + "documentation": { + "id": 1178, + "nodeType": "StructuredDocumentation", + "src": "4337:351:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" + }, + "id": 1197, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4702:21:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1180, + "mutability": "mutable", + "name": "target", + "nameLocation": "4732:6:4", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "4724:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4724:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1182, + "mutability": "mutable", + "name": "data", + "nameLocation": "4753:4:4", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "4740:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1181, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4740:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1184, + "mutability": "mutable", + "name": "value", + "nameLocation": "4767:5:4", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "4759:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4759:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4723:50:4" + }, + "returnParameters": { + "id": 1188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1187, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "4792:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1186, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4792:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4791:14:4" + }, + "scope": 1417, + "src": "4693:224:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1240, + "nodeType": "Block", + "src": "5344:267:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 1214, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5370:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1417", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1417", + "typeString": "library Address" + } + ], + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5362:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5362:7:4", + "typeDescriptions": {} + } + }, + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5362:13:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5376:7:4", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5362:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1217, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1204, + "src": "5387:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5362:30:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5394:40:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + }, + "value": "Address: insufficient balance for call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + } + ], + "id": 1211, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5354:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5354:81:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1221, + "nodeType": "ExpressionStatement", + "src": "5354:81:4" + }, + { + "assignments": [ + 1223, + 1225 + ], + "declarations": [ + { + "constant": false, + "id": 1223, + "mutability": "mutable", + "name": "success", + "nameLocation": "5451:7:4", + "nodeType": "VariableDeclaration", + "scope": 1240, + "src": "5446:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1222, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5446:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1225, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5473:10:4", + "nodeType": "VariableDeclaration", + "scope": 1240, + "src": "5460:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1224, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5460:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1232, + "initialValue": { + "arguments": [ + { + "id": 1230, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "5513:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1226, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1200, + "src": "5487:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5494:4:4", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5487:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1228, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1204, + "src": "5506:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "5487:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5487:31:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5445:73:4" + }, + { + "expression": { + "arguments": [ + { + "id": 1234, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1200, + "src": "5562:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1235, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1223, + "src": "5570:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1236, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1225, + "src": "5579:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1237, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1206, + "src": "5591:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1233, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "5535:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5535:69:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1210, + "id": 1239, + "nodeType": "Return", + "src": "5528:76:4" + } + ] + }, + "documentation": { + "id": 1198, + "nodeType": "StructuredDocumentation", + "src": "4923:237:4", + "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 1241, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "5174:21:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1200, + "mutability": "mutable", + "name": "target", + "nameLocation": "5213:6:4", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "5205:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5205:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1202, + "mutability": "mutable", + "name": "data", + "nameLocation": "5242:4:4", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "5229:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1201, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5229:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1204, + "mutability": "mutable", + "name": "value", + "nameLocation": "5264:5:4", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "5256:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5256:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1206, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "5293:12:4", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "5279:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1205, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5279:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5195:116:4" + }, + "returnParameters": { + "id": 1210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1209, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "5330:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1208, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5330:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5329:14:4" + }, + "scope": 1417, + "src": "5165:446:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1257, + "nodeType": "Block", + "src": "5888:97:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1252, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "5924:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1253, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1246, + "src": "5932:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5938:39:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + }, + "value": "Address: low-level static call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + } + ], + "id": 1251, + "name": "functionStaticCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1258, + 1287 + ], + "referencedDeclaration": 1287, + "src": "5905:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5905:73:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1250, + "id": 1256, + "nodeType": "Return", + "src": "5898:80:4" + } + ] + }, + "documentation": { + "id": 1242, + "nodeType": "StructuredDocumentation", + "src": "5617:166:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 1258, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5797:18:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1244, + "mutability": "mutable", + "name": "target", + "nameLocation": "5824:6:4", + "nodeType": "VariableDeclaration", + "scope": 1258, + "src": "5816:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1243, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5816:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1246, + "mutability": "mutable", + "name": "data", + "nameLocation": "5845:4:4", + "nodeType": "VariableDeclaration", + "scope": 1258, + "src": "5832:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1245, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5832:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5815:35:4" + }, + "returnParameters": { + "id": 1250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1249, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1258, + "src": "5874:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1248, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5874:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5873:14:4" + }, + "scope": 1417, + "src": "5788:197:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1286, + "nodeType": "Block", + "src": "6327:168:4", + "statements": [ + { + "assignments": [ + 1271, + 1273 + ], + "declarations": [ + { + "constant": false, + "id": 1271, + "mutability": "mutable", + "name": "success", + "nameLocation": "6343:7:4", + "nodeType": "VariableDeclaration", + "scope": 1286, + "src": "6338:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1270, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6338:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1273, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "6365:10:4", + "nodeType": "VariableDeclaration", + "scope": 1286, + "src": "6352:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1272, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6352:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1278, + "initialValue": { + "arguments": [ + { + "id": 1276, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1263, + "src": "6397:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1274, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "6379:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6386:10:4", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "6379:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6379:23:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6337:65:4" + }, + { + "expression": { + "arguments": [ + { + "id": 1280, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "6446:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1281, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1271, + "src": "6454:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1282, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "6463:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1283, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1265, + "src": "6475:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1279, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "6419:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6419:69:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1269, + "id": 1285, + "nodeType": "Return", + "src": "6412:76:4" + } + ] + }, + "documentation": { + "id": 1259, + "nodeType": "StructuredDocumentation", + "src": "5991:173:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 1287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "6178:18:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1261, + "mutability": "mutable", + "name": "target", + "nameLocation": "6214:6:4", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "6206:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6206:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1263, + "mutability": "mutable", + "name": "data", + "nameLocation": "6243:4:4", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "6230:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1262, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6230:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1265, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6271:12:4", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "6257:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1264, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6257:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6196:93:4" + }, + "returnParameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1268, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "6313:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1267, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6313:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6312:14:4" + }, + "scope": 1417, + "src": "6169:326:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1303, + "nodeType": "Block", + "src": "6771:101:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1298, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "6809:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1299, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1292, + "src": "6817:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "id": 1300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6823:41:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + }, + "value": "Address: low-level delegate call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + } + ], + "id": 1297, + "name": "functionDelegateCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1304, + 1333 + ], + "referencedDeclaration": 1333, + "src": "6788:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 1301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6788:77:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1296, + "id": 1302, + "nodeType": "Return", + "src": "6781:84:4" + } + ] + }, + "documentation": { + "id": 1288, + "nodeType": "StructuredDocumentation", + "src": "6501:168:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 1304, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "6683:20:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1290, + "mutability": "mutable", + "name": "target", + "nameLocation": "6712:6:4", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "6704:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6704:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1292, + "mutability": "mutable", + "name": "data", + "nameLocation": "6733:4:4", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "6720:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1291, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6720:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6703:35:4" + }, + "returnParameters": { + "id": 1296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1295, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "6757:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1294, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6757:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6756:14:4" + }, + "scope": 1417, + "src": "6674:198:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1332, + "nodeType": "Block", + "src": "7213:170:4", + "statements": [ + { + "assignments": [ + 1317, + 1319 + ], + "declarations": [ + { + "constant": false, + "id": 1317, + "mutability": "mutable", + "name": "success", + "nameLocation": "7229:7:4", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "7224:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1316, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7224:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1319, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7251:10:4", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "7238:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1318, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7238:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1324, + "initialValue": { + "arguments": [ + { + "id": 1322, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "7285:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1320, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "7265:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7272:12:4", + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "7265:19:4", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7265:25:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7223:67:4" + }, + { + "expression": { + "arguments": [ + { + "id": 1326, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "7334:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1327, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1317, + "src": "7342:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1328, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "7351:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1329, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1311, + "src": "7363:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1325, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "7307:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7307:69:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1315, + "id": 1331, + "nodeType": "Return", + "src": "7300:76:4" + } + ] + }, + "documentation": { + "id": 1305, + "nodeType": "StructuredDocumentation", + "src": "6878:175:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 1333, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "7067:20:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1307, + "mutability": "mutable", + "name": "target", + "nameLocation": "7105:6:4", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "7097:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7097:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1309, + "mutability": "mutable", + "name": "data", + "nameLocation": "7134:4:4", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "7121:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1308, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7121:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7162:12:4", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "7148:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1310, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7148:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7087:93:4" + }, + "returnParameters": { + "id": 1315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1314, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "7199:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1313, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7199:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7198:14:4" + }, + "scope": 1417, + "src": "7058:325:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1371, + "nodeType": "Block", + "src": "7865:434:4", + "statements": [ + { + "condition": { + "id": 1347, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "7879:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1369, + "nodeType": "Block", + "src": "8235:58:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1365, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "8257:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1366, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1342, + "src": "8269:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1364, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1416, + "src": "8249:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 1367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8249:33:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1368, + "nodeType": "ExpressionStatement", + "src": "8249:33:4" + } + ] + }, + "id": 1370, + "nodeType": "IfStatement", + "src": "7875:418:4", + "trueBody": { + "id": 1363, + "nodeType": "Block", + "src": "7888:341:4", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1348, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "7906:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7917:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7906:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7927:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7906:22:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1360, + "nodeType": "IfStatement", + "src": "7902:286:4", + "trueBody": { + "id": 1359, + "nodeType": "Block", + "src": "7930:258:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1354, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "8132:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1353, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "8121:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8121:18:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8141:31:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + }, + "value": "Address: call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + } + ], + "id": 1352, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8113:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8113:60:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1358, + "nodeType": "ExpressionStatement", + "src": "8113:60:4" + } + ] + } + }, + { + "expression": { + "id": 1361, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "8208:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1346, + "id": 1362, + "nodeType": "Return", + "src": "8201:17:4" + } + ] + } + } + ] + }, + "documentation": { + "id": 1334, + "nodeType": "StructuredDocumentation", + "src": "7389:277:4", + "text": " @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._" + }, + "id": 1372, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResultFromTarget", + "nameLocation": "7680:26:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1336, + "mutability": "mutable", + "name": "target", + "nameLocation": "7724:6:4", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "7716:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1335, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7716:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1338, + "mutability": "mutable", + "name": "success", + "nameLocation": "7745:7:4", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "7740:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1337, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7740:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7775:10:4", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "7762:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1339, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7762:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1342, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7809:12:4", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "7795:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1341, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7795:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7706:121:4" + }, + "returnParameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1372, + "src": "7851:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1344, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7851:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7850:14:4" + }, + "scope": 1417, + "src": "7671:628:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1395, + "nodeType": "Block", + "src": "8680:135:4", + "statements": [ + { + "condition": { + "id": 1384, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "8694:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1393, + "nodeType": "Block", + "src": "8751:58:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1389, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1377, + "src": "8773:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1390, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1379, + "src": "8785:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1388, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1416, + "src": "8765:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8765:33:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1392, + "nodeType": "ExpressionStatement", + "src": "8765:33:4" + } + ] + }, + "id": 1394, + "nodeType": "IfStatement", + "src": "8690:119:4", + "trueBody": { + "id": 1387, + "nodeType": "Block", + "src": "8703:42:4", + "statements": [ + { + "expression": { + "id": 1385, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1377, + "src": "8724:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1383, + "id": 1386, + "nodeType": "Return", + "src": "8717:17:4" + } + ] + } + } + ] + }, + "documentation": { + "id": 1373, + "nodeType": "StructuredDocumentation", + "src": "8305:210:4", + "text": " @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._" + }, + "id": 1396, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResult", + "nameLocation": "8529:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1375, + "mutability": "mutable", + "name": "success", + "nameLocation": "8560:7:4", + "nodeType": "VariableDeclaration", + "scope": 1396, + "src": "8555:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1374, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8555:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1377, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8590:10:4", + "nodeType": "VariableDeclaration", + "scope": 1396, + "src": "8577:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1376, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8577:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1379, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8624:12:4", + "nodeType": "VariableDeclaration", + "scope": 1396, + "src": "8610:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1378, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8610:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8545:97:4" + }, + "returnParameters": { + "id": 1383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1382, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1396, + "src": "8666:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1381, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8666:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8665:14:4" + }, + "scope": 1417, + "src": "8520:295:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1415, + "nodeType": "Block", + "src": "8904:457:4", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1403, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1398, + "src": "8980:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8991:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8980:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9000:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8980:21:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1413, + "nodeType": "Block", + "src": "9310:45:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1410, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1400, + "src": "9331:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1409, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "9324:6:4", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9324:20:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1412, + "nodeType": "ExpressionStatement", + "src": "9324:20:4" + } + ] + }, + "id": 1414, + "nodeType": "IfStatement", + "src": "8976:379:4", + "trueBody": { + "id": 1408, + "nodeType": "Block", + "src": "9003:301:4", + "statements": [ + { + "AST": { + "nativeSrc": "9161:133:4", + "nodeType": "YulBlock", + "src": "9161:133:4", + "statements": [ + { + "nativeSrc": "9179:40:4", + "nodeType": "YulVariableDeclaration", + "src": "9179:40:4", + "value": { + "arguments": [ + { + "name": "returndata", + "nativeSrc": "9208:10:4", + "nodeType": "YulIdentifier", + "src": "9208:10:4" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9202:5:4", + "nodeType": "YulIdentifier", + "src": "9202:5:4" + }, + "nativeSrc": "9202:17:4", + "nodeType": "YulFunctionCall", + "src": "9202:17:4" + }, + "variables": [ + { + "name": "returndata_size", + "nativeSrc": "9183:15:4", + "nodeType": "YulTypedName", + "src": "9183:15:4", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9247:2:4", + "nodeType": "YulLiteral", + "src": "9247:2:4", + "type": "", + "value": "32" + }, + { + "name": "returndata", + "nativeSrc": "9251:10:4", + "nodeType": "YulIdentifier", + "src": "9251:10:4" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9243:3:4", + "nodeType": "YulIdentifier", + "src": "9243:3:4" + }, + "nativeSrc": "9243:19:4", + "nodeType": "YulFunctionCall", + "src": "9243:19:4" + }, + { + "name": "returndata_size", + "nativeSrc": "9264:15:4", + "nodeType": "YulIdentifier", + "src": "9264:15:4" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9236:6:4", + "nodeType": "YulIdentifier", + "src": "9236:6:4" + }, + "nativeSrc": "9236:44:4", + "nodeType": "YulFunctionCall", + "src": "9236:44:4" + }, + "nativeSrc": "9236:44:4", + "nodeType": "YulExpressionStatement", + "src": "9236:44:4" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1398, + "isOffset": false, + "isSlot": false, + "src": "9208:10:4", + "valueSize": 1 + }, + { + "declaration": 1398, + "isOffset": false, + "isSlot": false, + "src": "9251:10:4", + "valueSize": 1 + } + ], + "id": 1407, + "nodeType": "InlineAssembly", + "src": "9152:142:4" + } + ] + } + } + ] + }, + "id": 1416, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revert", + "nameLocation": "8830:7:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1401, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1398, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8851:10:4", + "nodeType": "VariableDeclaration", + "scope": 1416, + "src": "8838:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1397, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8838:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1400, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8877:12:4", + "nodeType": "VariableDeclaration", + "scope": 1416, + "src": "8863:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1399, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8863:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8837:53:4" + }, + "returnParameters": { + "id": 1402, + "nodeType": "ParameterList", + "parameters": [], + "src": "8904:0:4" + }, + "scope": 1417, + "src": "8821:540:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 1418, + "src": "194:9169:4", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:9263:4" + }, + "id": 4 + }, + "@openzeppelin/contracts/utils/Context.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 1447 + ] + }, + "id": 1448, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1419, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "101:23:5" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1420, + "nodeType": "StructuredDocumentation", + "src": "126:496:5", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 1447, + "linearizedBaseContracts": [ + 1447 + ], + "name": "Context", + "nameLocation": "641:7:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1428, + "nodeType": "Block", + "src": "717:34:5", + "statements": [ + { + "expression": { + "expression": { + "id": 1425, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "734:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "738:6:5", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "734:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1424, + "id": 1427, + "nodeType": "Return", + "src": "727:17:5" + } + ] + }, + "id": 1429, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "664:10:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1421, + "nodeType": "ParameterList", + "parameters": [], + "src": "674:2:5" + }, + "returnParameters": { + "id": 1424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1423, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1429, + "src": "708:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "708:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "707:9:5" + }, + "scope": 1447, + "src": "655:96:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1437, + "nodeType": "Block", + "src": "824:32:5", + "statements": [ + { + "expression": { + "expression": { + "id": 1434, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "841:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "845:4:5", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "841:8:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 1433, + "id": 1436, + "nodeType": "Return", + "src": "834:15:5" + } + ] + }, + "id": 1438, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "766:8:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1430, + "nodeType": "ParameterList", + "parameters": [], + "src": "774:2:5" + }, + "returnParameters": { + "id": 1433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1432, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "808:14:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1431, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "808:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "807:16:5" + }, + "scope": 1447, + "src": "757:99:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1445, + "nodeType": "Block", + "src": "934:25:5", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "951:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1442, + "id": 1444, + "nodeType": "Return", + "src": "944:8:5" + } + ] + }, + "id": 1446, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contextSuffixLength", + "nameLocation": "871:20:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1439, + "nodeType": "ParameterList", + "parameters": [], + "src": "891:2:5" + }, + "returnParameters": { + "id": 1442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1441, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1446, + "src": "925:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "925:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "924:9:5" + }, + "scope": 1447, + "src": "862:97:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1448, + "src": "623:338:5", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:861:5" + }, + "id": 5 + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "exportedSymbols": { + "Math": [ + 2578 + ], + "SignedMath": [ + 2683 + ], + "Strings": [ + 1676 + ] + }, + "id": 1677, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1449, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "101:23:6" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", + "file": "./math/Math.sol", + "id": 1450, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1677, + "sourceUnit": 2579, + "src": "126:25:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", + "file": "./math/SignedMath.sol", + "id": 1451, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1677, + "sourceUnit": 2684, + "src": "152:31:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Strings", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1452, + "nodeType": "StructuredDocumentation", + "src": "185:34:6", + "text": " @dev String operations." + }, + "fullyImplemented": true, + "id": 1676, + "linearizedBaseContracts": [ + 1676 + ], + "name": "Strings", + "nameLocation": "228:7:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1455, + "mutability": "constant", + "name": "_SYMBOLS", + "nameLocation": "267:8:6", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "242:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 1453, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "242:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": { + "hexValue": "30313233343536373839616263646566", + "id": 1454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "278:18:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", + "typeString": "literal_string \"0123456789abcdef\"" + }, + "value": "0123456789abcdef" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1458, + "mutability": "constant", + "name": "_ADDRESS_LENGTH", + "nameLocation": "325:15:6", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "302:43:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1456, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "302:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "3230", + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "343:2:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "visibility": "private" + }, + { + "body": { + "id": 1505, + "nodeType": "Block", + "src": "518:625:6", + "statements": [ + { + "id": 1504, + "nodeType": "UncheckedBlock", + "src": "528:609:6", + "statements": [ + { + "assignments": [ + 1467 + ], + "declarations": [ + { + "constant": false, + "id": 1467, + "mutability": "mutable", + "name": "length", + "nameLocation": "560:6:6", + "nodeType": "VariableDeclaration", + "scope": 1504, + "src": "552:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "552:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1474, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1470, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "580:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1468, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2578, + "src": "569:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$2578_$", + "typeString": "type(library Math)" + } + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "574:5:6", + "memberName": "log10", + "nodeType": "MemberAccess", + "referencedDeclaration": 2415, + "src": "569:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 1471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "569:17:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "589:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "569:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "552:38:6" + }, + { + "assignments": [ + 1476 + ], + "declarations": [ + { + "constant": false, + "id": 1476, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "618:6:6", + "nodeType": "VariableDeclaration", + "scope": 1504, + "src": "604:20:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1475, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "604:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 1481, + "initialValue": { + "arguments": [ + { + "id": 1479, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1467, + "src": "638:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "627:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + }, + "typeName": { + "id": 1477, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "631:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "id": 1480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "627:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "604:41:6" + }, + { + "assignments": [ + 1483 + ], + "declarations": [ + { + "constant": false, + "id": 1483, + "mutability": "mutable", + "name": "ptr", + "nameLocation": "667:3:6", + "nodeType": "VariableDeclaration", + "scope": 1504, + "src": "659:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "659:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1484, + "nodeType": "VariableDeclarationStatement", + "src": "659:11:6" + }, + { + "AST": { + "nativeSrc": "740:67:6", + "nodeType": "YulBlock", + "src": "740:67:6", + "statements": [ + { + "nativeSrc": "758:35:6", + "nodeType": "YulAssignment", + "src": "758:35:6", + "value": { + "arguments": [ + { + "name": "buffer", + "nativeSrc": "769:6:6", + "nodeType": "YulIdentifier", + "src": "769:6:6" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "781:2:6", + "nodeType": "YulLiteral", + "src": "781:2:6", + "type": "", + "value": "32" + }, + { + "name": "length", + "nativeSrc": "785:6:6", + "nodeType": "YulIdentifier", + "src": "785:6:6" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "777:3:6", + "nodeType": "YulIdentifier", + "src": "777:3:6" + }, + "nativeSrc": "777:15:6", + "nodeType": "YulFunctionCall", + "src": "777:15:6" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "765:3:6", + "nodeType": "YulIdentifier", + "src": "765:3:6" + }, + "nativeSrc": "765:28:6", + "nodeType": "YulFunctionCall", + "src": "765:28:6" + }, + "variableNames": [ + { + "name": "ptr", + "nativeSrc": "758:3:6", + "nodeType": "YulIdentifier", + "src": "758:3:6" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1476, + "isOffset": false, + "isSlot": false, + "src": "769:6:6", + "valueSize": 1 + }, + { + "declaration": 1467, + "isOffset": false, + "isSlot": false, + "src": "785:6:6", + "valueSize": 1 + }, + { + "declaration": 1483, + "isOffset": false, + "isSlot": false, + "src": "758:3:6", + "valueSize": 1 + } + ], + "id": 1485, + "nodeType": "InlineAssembly", + "src": "731:76:6" + }, + { + "body": { + "id": 1500, + "nodeType": "Block", + "src": "833:267:6", + "statements": [ + { + "expression": { + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "851:5:6", + "subExpression": { + "id": 1487, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "851:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1489, + "nodeType": "ExpressionStatement", + "src": "851:5:6" + }, + { + "AST": { + "nativeSrc": "934:84:6", + "nodeType": "YulBlock", + "src": "934:84:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "964:3:6", + "nodeType": "YulIdentifier", + "src": "964:3:6" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "978:5:6", + "nodeType": "YulIdentifier", + "src": "978:5:6" + }, + { + "kind": "number", + "nativeSrc": "985:2:6", + "nodeType": "YulLiteral", + "src": "985:2:6", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "mod", + "nativeSrc": "974:3:6", + "nodeType": "YulIdentifier", + "src": "974:3:6" + }, + "nativeSrc": "974:14:6", + "nodeType": "YulFunctionCall", + "src": "974:14:6" + }, + { + "name": "_SYMBOLS", + "nativeSrc": "990:8:6", + "nodeType": "YulIdentifier", + "src": "990:8:6" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "969:4:6", + "nodeType": "YulIdentifier", + "src": "969:4:6" + }, + "nativeSrc": "969:30:6", + "nodeType": "YulFunctionCall", + "src": "969:30:6" + } + ], + "functionName": { + "name": "mstore8", + "nativeSrc": "956:7:6", + "nodeType": "YulIdentifier", + "src": "956:7:6" + }, + "nativeSrc": "956:44:6", + "nodeType": "YulFunctionCall", + "src": "956:44:6" + }, + "nativeSrc": "956:44:6", + "nodeType": "YulExpressionStatement", + "src": "956:44:6" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1455, + "isOffset": false, + "isSlot": false, + "src": "990:8:6", + "valueSize": 1 + }, + { + "declaration": 1483, + "isOffset": false, + "isSlot": false, + "src": "964:3:6", + "valueSize": 1 + }, + { + "declaration": 1461, + "isOffset": false, + "isSlot": false, + "src": "978:5:6", + "valueSize": 1 + } + ], + "id": 1490, + "nodeType": "InlineAssembly", + "src": "925:93:6" + }, + { + "expression": { + "id": 1493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1491, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "1035:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 1492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1044:2:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "1035:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1494, + "nodeType": "ExpressionStatement", + "src": "1035:11:6" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1495, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "1068:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1077:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1068:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1499, + "nodeType": "IfStatement", + "src": "1064:21:6", + "trueBody": { + "id": 1498, + "nodeType": "Break", + "src": "1080:5:6" + } + } + ] + }, + "condition": { + "hexValue": "74727565", + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "827:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "id": 1501, + "nodeType": "WhileStatement", + "src": "820:280:6" + }, + { + "expression": { + "id": 1502, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1476, + "src": "1120:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1465, + "id": 1503, + "nodeType": "Return", + "src": "1113:13:6" + } + ] + } + ] + }, + "documentation": { + "id": 1459, + "nodeType": "StructuredDocumentation", + "src": "352:90:6", + "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." + }, + "id": 1506, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "456:8:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1462, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1461, + "mutability": "mutable", + "name": "value", + "nameLocation": "473:5:6", + "nodeType": "VariableDeclaration", + "scope": 1506, + "src": "465:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1460, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "465:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "464:15:6" + }, + "returnParameters": { + "id": 1465, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1464, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1506, + "src": "503:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1463, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "503:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "502:15:6" + }, + "scope": 1676, + "src": "447:696:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1533, + "nodeType": "Block", + "src": "1313:103:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1518, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1509, + "src": "1354:5:6", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 1519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1362:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1354:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "", + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1372:2:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1354:20:6", + "trueExpression": { + "hexValue": "2d", + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1366:3:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561", + "typeString": "literal_string \"-\"" + }, + "value": "-" + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 1527, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1509, + "src": "1400:5:6", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 1525, + "name": "SignedMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2683, + "src": "1385:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignedMath_$2683_$", + "typeString": "type(library SignedMath)" + } + }, + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1396:3:6", + "memberName": "abs", + "nodeType": "MemberAccess", + "referencedDeclaration": 2682, + "src": "1385:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1385:21:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1524, + "name": "toString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1506, + 1534 + ], + "referencedDeclaration": 1506, + "src": "1376:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1376:31:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1516, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1337:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1341:12:6", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1337:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1337:71:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1330:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 1514, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1330:6:6", + "typeDescriptions": {} + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1330:79:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1513, + "id": 1532, + "nodeType": "Return", + "src": "1323:86:6" + } + ] + }, + "documentation": { + "id": 1507, + "nodeType": "StructuredDocumentation", + "src": "1149:89:6", + "text": " @dev Converts a `int256` to its ASCII `string` decimal representation." + }, + "id": 1534, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "1252:8:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1509, + "mutability": "mutable", + "name": "value", + "nameLocation": "1268:5:6", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "1261:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1508, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1261:6:6", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1260:14:6" + }, + "returnParameters": { + "id": 1513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "1298:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1511, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1298:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1297:15:6" + }, + "scope": 1676, + "src": "1243:173:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1553, + "nodeType": "Block", + "src": "1595:100:6", + "statements": [ + { + "id": 1552, + "nodeType": "UncheckedBlock", + "src": "1605:84:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1543, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "1648:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1546, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "1667:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1544, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2578, + "src": "1655:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$2578_$", + "typeString": "type(library Math)" + } + }, + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1660:6:6", + "memberName": "log256", + "nodeType": "MemberAccess", + "referencedDeclaration": 2538, + "src": "1655:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 1547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1655:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1676:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1655:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1542, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1554, + 1630, + 1650 + ], + "referencedDeclaration": 1630, + "src": "1636:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1636:42:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1541, + "id": 1551, + "nodeType": "Return", + "src": "1629:49:6" + } + ] + } + ] + }, + "documentation": { + "id": 1535, + "nodeType": "StructuredDocumentation", + "src": "1422:94:6", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." + }, + "id": 1554, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1530:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1537, + "mutability": "mutable", + "name": "value", + "nameLocation": "1550:5:6", + "nodeType": "VariableDeclaration", + "scope": 1554, + "src": "1542:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1542:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1541:15:6" + }, + "returnParameters": { + "id": 1541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1540, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1554, + "src": "1580:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1539, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1580:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1579:15:6" + }, + "scope": 1676, + "src": "1521:174:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1629, + "nodeType": "Block", + "src": "1908:347:6", + "statements": [ + { + "assignments": [ + 1565 + ], + "declarations": [ + { + "constant": false, + "id": 1565, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "1931:6:6", + "nodeType": "VariableDeclaration", + "scope": 1629, + "src": "1918:19:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1564, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1918:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1574, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1950:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1569, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "1954:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1950:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 1571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1963:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1950:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1940:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1566, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1944:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1940:25:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1918:47:6" + }, + { + "expression": { + "id": 1579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1575, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1565, + "src": "1975:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1577, + "indexExpression": { + "hexValue": "30", + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1982:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1975:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 1578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1987:3:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "src": "1975:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1580, + "nodeType": "ExpressionStatement", + "src": "1975:15:6" + }, + { + "expression": { + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1581, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1565, + "src": "2000:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1583, + "indexExpression": { + "hexValue": "31", + "id": 1582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2007:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2000:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "78", + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2012:3:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", + "typeString": "literal_string \"x\"" + }, + "value": "x" + }, + "src": "2000:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1586, + "nodeType": "ExpressionStatement", + "src": "2000:15:6" + }, + { + "body": { + "id": 1615, + "nodeType": "Block", + "src": "2070:83:6", + "statements": [ + { + "expression": { + "id": 1609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1601, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1565, + "src": "2084:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1603, + "indexExpression": { + "id": 1602, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "2091:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2084:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 1604, + "name": "_SYMBOLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1455, + "src": "2096:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "id": 1608, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1605, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "2105:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307866", + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2113:3:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "0xf" + }, + "src": "2105:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2096:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "2084:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1610, + "nodeType": "ExpressionStatement", + "src": "2084:33:6" + }, + { + "expression": { + "id": 1613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1611, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "2131:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2141:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "2131:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1614, + "nodeType": "ExpressionStatement", + "src": "2131:11:6" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1595, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "2058:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 1596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2062:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2058:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1616, + "initializationExpression": { + "assignments": [ + 1588 + ], + "declarations": [ + { + "constant": false, + "id": 1588, + "mutability": "mutable", + "name": "i", + "nameLocation": "2038:1:6", + "nodeType": "VariableDeclaration", + "scope": 1616, + "src": "2030:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2030:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1594, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2042:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1590, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "2046:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2042:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2055:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2042:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2030:26:6" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 1599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": true, + "src": "2065:3:6", + "subExpression": { + "id": 1598, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "2067:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1600, + "nodeType": "ExpressionStatement", + "src": "2065:3:6" + }, + "nodeType": "ForStatement", + "src": "2025:128:6" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1618, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "2170:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2179:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2170:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2182:34:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + }, + "value": "Strings: hex length insufficient" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + } + ], + "id": 1617, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2162:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2162:55:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1623, + "nodeType": "ExpressionStatement", + "src": "2162:55:6" + }, + { + "expression": { + "arguments": [ + { + "id": 1626, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1565, + "src": "2241:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2234:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 1624, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2234:6:6", + "typeDescriptions": {} + } + }, + "id": 1627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2234:14:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1563, + "id": 1628, + "nodeType": "Return", + "src": "2227:21:6" + } + ] + }, + "documentation": { + "id": 1555, + "nodeType": "StructuredDocumentation", + "src": "1701:112:6", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." + }, + "id": 1630, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1827:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1557, + "mutability": "mutable", + "name": "value", + "nameLocation": "1847:5:6", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "1839:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1839:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1559, + "mutability": "mutable", + "name": "length", + "nameLocation": "1862:6:6", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "1854:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1854:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1838:31:6" + }, + "returnParameters": { + "id": 1563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1562, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "1893:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1561, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1893:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1892:15:6" + }, + "scope": 1676, + "src": "1818:437:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1649, + "nodeType": "Block", + "src": "2480:76:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 1643, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1633, + "src": "2525:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2517:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 1641, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "2517:7:6", + "typeDescriptions": {} + } + }, + "id": 1644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2517:13:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2509:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2509:7:6", + "typeDescriptions": {} + } + }, + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2509:22:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1646, + "name": "_ADDRESS_LENGTH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1458, + "src": "2533:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 1638, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1554, + 1630, + 1650 + ], + "referencedDeclaration": 1630, + "src": "2497:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 1647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2497:52:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1637, + "id": 1648, + "nodeType": "Return", + "src": "2490:59:6" + } + ] + }, + "documentation": { + "id": 1631, + "nodeType": "StructuredDocumentation", + "src": "2261:141:6", + "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation." + }, + "id": 1650, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "2416:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1633, + "mutability": "mutable", + "name": "addr", + "nameLocation": "2436:4:6", + "nodeType": "VariableDeclaration", + "scope": 1650, + "src": "2428:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2428:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2427:14:6" + }, + "returnParameters": { + "id": 1637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1636, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1650, + "src": "2465:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1635, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2465:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2464:15:6" + }, + "scope": 1676, + "src": "2407:149:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1674, + "nodeType": "Block", + "src": "2711:66:6", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1663, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1653, + "src": "2744:1:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2738:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 1661, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2738:5:6", + "typeDescriptions": {} + } + }, + "id": 1664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2738:8:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1660, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2728:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2728:19:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1669, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1655, + "src": "2767:1:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2761:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 1667, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2761:5:6", + "typeDescriptions": {} + } + }, + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2761:8:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1666, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2751:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2751:19:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2728:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1659, + "id": 1673, + "nodeType": "Return", + "src": "2721:49:6" + } + ] + }, + "documentation": { + "id": 1651, + "nodeType": "StructuredDocumentation", + "src": "2562:66:6", + "text": " @dev Returns true if the two strings are equal." + }, + "id": 1675, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equal", + "nameLocation": "2642:5:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1653, + "mutability": "mutable", + "name": "a", + "nameLocation": "2662:1:6", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "2648:15:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1652, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2648:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1655, + "mutability": "mutable", + "name": "b", + "nameLocation": "2679:1:6", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "2665:15:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1654, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2665:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2647:34:6" + }, + "returnParameters": { + "id": 1659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1658, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "2705:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2705:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2704:6:6" + }, + "scope": 1676, + "src": "2633:144:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1677, + "src": "220:2559:6", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:2679:6" + }, + "id": 6 + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 1700 + ], + "IERC165": [ + 1712 + ] + }, + "id": 1701, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1678, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "99:23:7" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 1679, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1701, + "sourceUnit": 1713, + "src": "124:23:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1681, + "name": "IERC165", + "nameLocations": [ + "754:7:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1712, + "src": "754:7:7" + }, + "id": 1682, + "nodeType": "InheritanceSpecifier", + "src": "754:7:7" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1680, + "nodeType": "StructuredDocumentation", + "src": "149:576:7", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 1700, + "linearizedBaseContracts": [ + 1700, + 1712 + ], + "name": "ERC165", + "nameLocation": "744:6:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 1711 + ], + "body": { + "id": 1698, + "nodeType": "Block", + "src": "920:64:7", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1691, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1685, + "src": "937:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 1693, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1712, + "src": "957:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$1712_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$1712_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 1692, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "952:4:7", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "952:13:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1712", + "typeString": "type(contract IERC165)" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "966:11:7", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "952:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "937:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1690, + "id": 1697, + "nodeType": "Return", + "src": "930:47:7" + } + ] + }, + "documentation": { + "id": 1683, + "nodeType": "StructuredDocumentation", + "src": "768:56:7", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 1699, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "838:17:7", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1687, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "896:8:7" + }, + "parameters": { + "id": 1686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1685, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "863:11:7", + "nodeType": "VariableDeclaration", + "scope": 1699, + "src": "856:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1684, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "856:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "855:20:7" + }, + "returnParameters": { + "id": 1690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1689, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1699, + "src": "914:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1688, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "913:6:7" + }, + "scope": 1700, + "src": "829:155:7", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 1701, + "src": "726:260:7", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "99:888:7" + }, + "id": 7 + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 1712 + ] + }, + "id": 1713, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1702, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "100:23:8" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1703, + "nodeType": "StructuredDocumentation", + "src": "125:279:8", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 1712, + "linearizedBaseContracts": [ + 1712 + ], + "name": "IERC165", + "nameLocation": "415:7:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1704, + "nodeType": "StructuredDocumentation", + "src": "429:340:8", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 1711, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "783:17:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1706, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "808:11:8", + "nodeType": "VariableDeclaration", + "scope": 1711, + "src": "801:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1705, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "801:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "800:20:8" + }, + "returnParameters": { + "id": 1710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1709, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1711, + "src": "844:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1708, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "844:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "843:6:8" + }, + "scope": 1712, + "src": "774:76:8", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1713, + "src": "405:447:8", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "100:753:8" + }, + "id": 8 + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", + "exportedSymbols": { + "Math": [ + 2578 + ] + }, + "id": 2579, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1714, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "103:23:9" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Math", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1715, + "nodeType": "StructuredDocumentation", + "src": "128:73:9", + "text": " @dev Standard math utilities missing in the Solidity language." + }, + "fullyImplemented": true, + "id": 2578, + "linearizedBaseContracts": [ + 2578 + ], + "name": "Math", + "nameLocation": "210:4:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Math.Rounding", + "id": 1719, + "members": [ + { + "id": 1716, + "name": "Down", + "nameLocation": "245:4:9", + "nodeType": "EnumValue", + "src": "245:4:9" + }, + { + "id": 1717, + "name": "Up", + "nameLocation": "287:2:9", + "nodeType": "EnumValue", + "src": "287:2:9" + }, + { + "id": 1718, + "name": "Zero", + "nameLocation": "318:4:9", + "nodeType": "EnumValue", + "src": "318:4:9" + } + ], + "name": "Rounding", + "nameLocation": "226:8:9", + "nodeType": "EnumDefinition", + "src": "221:122:9" + }, + { + "body": { + "id": 1736, + "nodeType": "Block", + "src": "480:37:9", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1729, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1722, + "src": "497:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1730, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1724, + "src": "501:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "497:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 1733, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1724, + "src": "509:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "497:13:9", + "trueExpression": { + "id": 1732, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1722, + "src": "505:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1728, + "id": 1735, + "nodeType": "Return", + "src": "490:20:9" + } + ] + }, + "documentation": { + "id": 1720, + "nodeType": "StructuredDocumentation", + "src": "349:59:9", + "text": " @dev Returns the largest of two numbers." + }, + "id": 1737, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nameLocation": "422:3:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1722, + "mutability": "mutable", + "name": "a", + "nameLocation": "434:1:9", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "426:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "426:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1724, + "mutability": "mutable", + "name": "b", + "nameLocation": "445:1:9", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "437:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1723, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "425:22:9" + }, + "returnParameters": { + "id": 1728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1727, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "471:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "471:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "470:9:9" + }, + "scope": 2578, + "src": "413:104:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1754, + "nodeType": "Block", + "src": "655:37:9", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1747, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "672:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1748, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "676:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "672:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 1751, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "684:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "672:13:9", + "trueExpression": { + "id": 1750, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "680:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1746, + "id": 1753, + "nodeType": "Return", + "src": "665:20:9" + } + ] + }, + "documentation": { + "id": 1738, + "nodeType": "StructuredDocumentation", + "src": "523:60:9", + "text": " @dev Returns the smallest of two numbers." + }, + "id": 1755, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "597:3:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1740, + "mutability": "mutable", + "name": "a", + "nameLocation": "609:1:9", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "601:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1739, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "601:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1742, + "mutability": "mutable", + "name": "b", + "nameLocation": "620:1:9", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "612:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1741, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "612:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "600:22:9" + }, + "returnParameters": { + "id": 1746, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1745, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "646:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1744, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "646:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "645:9:9" + }, + "scope": 2578, + "src": "588:104:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1777, + "nodeType": "Block", + "src": "876:82:9", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1765, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "931:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 1766, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "935:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "931:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1768, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "930:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1769, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "941:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 1770, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "945:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "941:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1772, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "940:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 1773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "950:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "940:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "930:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1764, + "id": 1776, + "nodeType": "Return", + "src": "923:28:9" + } + ] + }, + "documentation": { + "id": 1756, + "nodeType": "StructuredDocumentation", + "src": "698:102:9", + "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." + }, + "id": 1778, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "average", + "nameLocation": "814:7:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1761, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1758, + "mutability": "mutable", + "name": "a", + "nameLocation": "830:1:9", + "nodeType": "VariableDeclaration", + "scope": 1778, + "src": "822:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1757, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "822:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1760, + "mutability": "mutable", + "name": "b", + "nameLocation": "841:1:9", + "nodeType": "VariableDeclaration", + "scope": 1778, + "src": "833:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "833:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "821:22:9" + }, + "returnParameters": { + "id": 1764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1763, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1778, + "src": "867:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "867:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "866:9:9" + }, + "scope": 2578, + "src": "805:153:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1802, + "nodeType": "Block", + "src": "1228:123:9", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1788, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1781, + "src": "1316:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1316:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1792, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1781, + "src": "1330:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1334:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1330:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1795, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1329:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 1796, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1783, + "src": "1339:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1329:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1343:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1329:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1316:28:9", + "trueExpression": { + "hexValue": "30", + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1325:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1787, + "id": 1801, + "nodeType": "Return", + "src": "1309:35:9" + } + ] + }, + "documentation": { + "id": 1779, + "nodeType": "StructuredDocumentation", + "src": "964:188:9", + "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down." + }, + "id": 1803, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ceilDiv", + "nameLocation": "1166:7:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1781, + "mutability": "mutable", + "name": "a", + "nameLocation": "1182:1:9", + "nodeType": "VariableDeclaration", + "scope": 1803, + "src": "1174:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1780, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1174:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1783, + "mutability": "mutable", + "name": "b", + "nameLocation": "1193:1:9", + "nodeType": "VariableDeclaration", + "scope": 1803, + "src": "1185:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1185:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1173:22:9" + }, + "returnParameters": { + "id": 1787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1786, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1803, + "src": "1219:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1219:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1218:9:9" + }, + "scope": 2578, + "src": "1157:194:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1925, + "nodeType": "Block", + "src": "1765:4115:9", + "statements": [ + { + "id": 1924, + "nodeType": "UncheckedBlock", + "src": "1775:4099:9", + "statements": [ + { + "assignments": [ + 1816 + ], + "declarations": [ + { + "constant": false, + "id": 1816, + "mutability": "mutable", + "name": "prod0", + "nameLocation": "2104:5:9", + "nodeType": "VariableDeclaration", + "scope": 1924, + "src": "2096:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1815, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2096:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1817, + "nodeType": "VariableDeclarationStatement", + "src": "2096:13:9" + }, + { + "assignments": [ + 1819 + ], + "declarations": [ + { + "constant": false, + "id": 1819, + "mutability": "mutable", + "name": "prod1", + "nameLocation": "2176:5:9", + "nodeType": "VariableDeclaration", + "scope": 1924, + "src": "2168:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1818, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2168:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1820, + "nodeType": "VariableDeclarationStatement", + "src": "2168:13:9" + }, + { + "AST": { + "nativeSrc": "2248:157:9", + "nodeType": "YulBlock", + "src": "2248:157:9", + "statements": [ + { + "nativeSrc": "2266:30:9", + "nodeType": "YulVariableDeclaration", + "src": "2266:30:9", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "2283:1:9", + "nodeType": "YulIdentifier", + "src": "2283:1:9" + }, + { + "name": "y", + "nativeSrc": "2286:1:9", + "nodeType": "YulIdentifier", + "src": "2286:1:9" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2293:1:9", + "nodeType": "YulLiteral", + "src": "2293:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2289:3:9", + "nodeType": "YulIdentifier", + "src": "2289:3:9" + }, + "nativeSrc": "2289:6:9", + "nodeType": "YulFunctionCall", + "src": "2289:6:9" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "2276:6:9", + "nodeType": "YulIdentifier", + "src": "2276:6:9" + }, + "nativeSrc": "2276:20:9", + "nodeType": "YulFunctionCall", + "src": "2276:20:9" + }, + "variables": [ + { + "name": "mm", + "nativeSrc": "2270:2:9", + "nodeType": "YulTypedName", + "src": "2270:2:9", + "type": "" + } + ] + }, + { + "nativeSrc": "2313:18:9", + "nodeType": "YulAssignment", + "src": "2313:18:9", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "2326:1:9", + "nodeType": "YulIdentifier", + "src": "2326:1:9" + }, + { + "name": "y", + "nativeSrc": "2329:1:9", + "nodeType": "YulIdentifier", + "src": "2329:1:9" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2322:3:9", + "nodeType": "YulIdentifier", + "src": "2322:3:9" + }, + "nativeSrc": "2322:9:9", + "nodeType": "YulFunctionCall", + "src": "2322:9:9" + }, + "variableNames": [ + { + "name": "prod0", + "nativeSrc": "2313:5:9", + "nodeType": "YulIdentifier", + "src": "2313:5:9" + } + ] + }, + { + "nativeSrc": "2348:43:9", + "nodeType": "YulAssignment", + "src": "2348:43:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "mm", + "nativeSrc": "2365:2:9", + "nodeType": "YulIdentifier", + "src": "2365:2:9" + }, + { + "name": "prod0", + "nativeSrc": "2369:5:9", + "nodeType": "YulIdentifier", + "src": "2369:5:9" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2361:3:9", + "nodeType": "YulIdentifier", + "src": "2361:3:9" + }, + "nativeSrc": "2361:14:9", + "nodeType": "YulFunctionCall", + "src": "2361:14:9" + }, + { + "arguments": [ + { + "name": "mm", + "nativeSrc": "2380:2:9", + "nodeType": "YulIdentifier", + "src": "2380:2:9" + }, + { + "name": "prod0", + "nativeSrc": "2384:5:9", + "nodeType": "YulIdentifier", + "src": "2384:5:9" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2377:2:9", + "nodeType": "YulIdentifier", + "src": "2377:2:9" + }, + "nativeSrc": "2377:13:9", + "nodeType": "YulFunctionCall", + "src": "2377:13:9" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2357:3:9", + "nodeType": "YulIdentifier", + "src": "2357:3:9" + }, + "nativeSrc": "2357:34:9", + "nodeType": "YulFunctionCall", + "src": "2357:34:9" + }, + "variableNames": [ + { + "name": "prod1", + "nativeSrc": "2348:5:9", + "nodeType": "YulIdentifier", + "src": "2348:5:9" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "2313:5:9", + "valueSize": 1 + }, + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "2369:5:9", + "valueSize": 1 + }, + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "2384:5:9", + "valueSize": 1 + }, + { + "declaration": 1819, + "isOffset": false, + "isSlot": false, + "src": "2348:5:9", + "valueSize": 1 + }, + { + "declaration": 1806, + "isOffset": false, + "isSlot": false, + "src": "2283:1:9", + "valueSize": 1 + }, + { + "declaration": 1806, + "isOffset": false, + "isSlot": false, + "src": "2326:1:9", + "valueSize": 1 + }, + { + "declaration": 1808, + "isOffset": false, + "isSlot": false, + "src": "2286:1:9", + "valueSize": 1 + }, + { + "declaration": 1808, + "isOffset": false, + "isSlot": false, + "src": "2329:1:9", + "valueSize": 1 + } + ], + "id": 1821, + "nodeType": "InlineAssembly", + "src": "2239:166:9" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1822, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1819, + "src": "2486:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2495:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2486:10:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1830, + "nodeType": "IfStatement", + "src": "2482:368:9", + "trueBody": { + "id": 1829, + "nodeType": "Block", + "src": "2498:352:9", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1825, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1816, + "src": "2816:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 1826, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "2824:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2816:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1814, + "id": 1828, + "nodeType": "Return", + "src": "2809:26:9" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1832, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "2960:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1833, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1819, + "src": "2974:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2960:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d6174683a206d756c446976206f766572666c6f77", + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2981:23:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851", + "typeString": "literal_string \"Math: mulDiv overflow\"" + }, + "value": "Math: mulDiv overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851", + "typeString": "literal_string \"Math: mulDiv overflow\"" + } + ], + "id": 1831, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2952:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2952:53:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1837, + "nodeType": "ExpressionStatement", + "src": "2952:53:9" + }, + { + "assignments": [ + 1839 + ], + "declarations": [ + { + "constant": false, + "id": 1839, + "mutability": "mutable", + "name": "remainder", + "nameLocation": "3269:9:9", + "nodeType": "VariableDeclaration", + "scope": 1924, + "src": "3261:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1838, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3261:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1840, + "nodeType": "VariableDeclarationStatement", + "src": "3261:17:9" + }, + { + "AST": { + "nativeSrc": "3301:291:9", + "nodeType": "YulBlock", + "src": "3301:291:9", + "statements": [ + { + "nativeSrc": "3370:38:9", + "nodeType": "YulAssignment", + "src": "3370:38:9", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "3390:1:9", + "nodeType": "YulIdentifier", + "src": "3390:1:9" + }, + { + "name": "y", + "nativeSrc": "3393:1:9", + "nodeType": "YulIdentifier", + "src": "3393:1:9" + }, + { + "name": "denominator", + "nativeSrc": "3396:11:9", + "nodeType": "YulIdentifier", + "src": "3396:11:9" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "3383:6:9", + "nodeType": "YulIdentifier", + "src": "3383:6:9" + }, + "nativeSrc": "3383:25:9", + "nodeType": "YulFunctionCall", + "src": "3383:25:9" + }, + "variableNames": [ + { + "name": "remainder", + "nativeSrc": "3370:9:9", + "nodeType": "YulIdentifier", + "src": "3370:9:9" + } + ] + }, + { + "nativeSrc": "3490:41:9", + "nodeType": "YulAssignment", + "src": "3490:41:9", + "value": { + "arguments": [ + { + "name": "prod1", + "nativeSrc": "3503:5:9", + "nodeType": "YulIdentifier", + "src": "3503:5:9" + }, + { + "arguments": [ + { + "name": "remainder", + "nativeSrc": "3513:9:9", + "nodeType": "YulIdentifier", + "src": "3513:9:9" + }, + { + "name": "prod0", + "nativeSrc": "3524:5:9", + "nodeType": "YulIdentifier", + "src": "3524:5:9" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3510:2:9", + "nodeType": "YulIdentifier", + "src": "3510:2:9" + }, + "nativeSrc": "3510:20:9", + "nodeType": "YulFunctionCall", + "src": "3510:20:9" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3499:3:9", + "nodeType": "YulIdentifier", + "src": "3499:3:9" + }, + "nativeSrc": "3499:32:9", + "nodeType": "YulFunctionCall", + "src": "3499:32:9" + }, + "variableNames": [ + { + "name": "prod1", + "nativeSrc": "3490:5:9", + "nodeType": "YulIdentifier", + "src": "3490:5:9" + } + ] + }, + { + "nativeSrc": "3548:30:9", + "nodeType": "YulAssignment", + "src": "3548:30:9", + "value": { + "arguments": [ + { + "name": "prod0", + "nativeSrc": "3561:5:9", + "nodeType": "YulIdentifier", + "src": "3561:5:9" + }, + { + "name": "remainder", + "nativeSrc": "3568:9:9", + "nodeType": "YulIdentifier", + "src": "3568:9:9" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3557:3:9", + "nodeType": "YulIdentifier", + "src": "3557:3:9" + }, + "nativeSrc": "3557:21:9", + "nodeType": "YulFunctionCall", + "src": "3557:21:9" + }, + "variableNames": [ + { + "name": "prod0", + "nativeSrc": "3548:5:9", + "nodeType": "YulIdentifier", + "src": "3548:5:9" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1810, + "isOffset": false, + "isSlot": false, + "src": "3396:11:9", + "valueSize": 1 + }, + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "3524:5:9", + "valueSize": 1 + }, + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "3548:5:9", + "valueSize": 1 + }, + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "3561:5:9", + "valueSize": 1 + }, + { + "declaration": 1819, + "isOffset": false, + "isSlot": false, + "src": "3490:5:9", + "valueSize": 1 + }, + { + "declaration": 1819, + "isOffset": false, + "isSlot": false, + "src": "3503:5:9", + "valueSize": 1 + }, + { + "declaration": 1839, + "isOffset": false, + "isSlot": false, + "src": "3370:9:9", + "valueSize": 1 + }, + { + "declaration": 1839, + "isOffset": false, + "isSlot": false, + "src": "3513:9:9", + "valueSize": 1 + }, + { + "declaration": 1839, + "isOffset": false, + "isSlot": false, + "src": "3568:9:9", + "valueSize": 1 + }, + { + "declaration": 1806, + "isOffset": false, + "isSlot": false, + "src": "3390:1:9", + "valueSize": 1 + }, + { + "declaration": 1808, + "isOffset": false, + "isSlot": false, + "src": "3393:1:9", + "valueSize": 1 + } + ], + "id": 1841, + "nodeType": "InlineAssembly", + "src": "3292:300:9" + }, + { + "assignments": [ + 1843 + ], + "declarations": [ + { + "constant": false, + "id": 1843, + "mutability": "mutable", + "name": "twos", + "nameLocation": "3907:4:9", + "nodeType": "VariableDeclaration", + "scope": 1924, + "src": "3899:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3899:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1851, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1844, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "3914:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "3929:12:9", + "subExpression": { + "id": 1845, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "3930:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3944:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3929:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1849, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3928:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3914:32:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3899:47:9" + }, + { + "AST": { + "nativeSrc": "3969:362:9", + "nodeType": "YulBlock", + "src": "3969:362:9", + "statements": [ + { + "nativeSrc": "4034:37:9", + "nodeType": "YulAssignment", + "src": "4034:37:9", + "value": { + "arguments": [ + { + "name": "denominator", + "nativeSrc": "4053:11:9", + "nodeType": "YulIdentifier", + "src": "4053:11:9" + }, + { + "name": "twos", + "nativeSrc": "4066:4:9", + "nodeType": "YulIdentifier", + "src": "4066:4:9" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "4049:3:9", + "nodeType": "YulIdentifier", + "src": "4049:3:9" + }, + "nativeSrc": "4049:22:9", + "nodeType": "YulFunctionCall", + "src": "4049:22:9" + }, + "variableNames": [ + { + "name": "denominator", + "nativeSrc": "4034:11:9", + "nodeType": "YulIdentifier", + "src": "4034:11:9" + } + ] + }, + { + "nativeSrc": "4138:25:9", + "nodeType": "YulAssignment", + "src": "4138:25:9", + "value": { + "arguments": [ + { + "name": "prod0", + "nativeSrc": "4151:5:9", + "nodeType": "YulIdentifier", + "src": "4151:5:9" + }, + { + "name": "twos", + "nativeSrc": "4158:4:9", + "nodeType": "YulIdentifier", + "src": "4158:4:9" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "4147:3:9", + "nodeType": "YulIdentifier", + "src": "4147:3:9" + }, + "nativeSrc": "4147:16:9", + "nodeType": "YulFunctionCall", + "src": "4147:16:9" + }, + "variableNames": [ + { + "name": "prod0", + "nativeSrc": "4138:5:9", + "nodeType": "YulIdentifier", + "src": "4138:5:9" + } + ] + }, + { + "nativeSrc": "4278:39:9", + "nodeType": "YulAssignment", + "src": "4278:39:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4298:1:9", + "nodeType": "YulLiteral", + "src": "4298:1:9", + "type": "", + "value": "0" + }, + { + "name": "twos", + "nativeSrc": "4301:4:9", + "nodeType": "YulIdentifier", + "src": "4301:4:9" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4294:3:9", + "nodeType": "YulIdentifier", + "src": "4294:3:9" + }, + "nativeSrc": "4294:12:9", + "nodeType": "YulFunctionCall", + "src": "4294:12:9" + }, + { + "name": "twos", + "nativeSrc": "4308:4:9", + "nodeType": "YulIdentifier", + "src": "4308:4:9" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "4290:3:9", + "nodeType": "YulIdentifier", + "src": "4290:3:9" + }, + "nativeSrc": "4290:23:9", + "nodeType": "YulFunctionCall", + "src": "4290:23:9" + }, + { + "kind": "number", + "nativeSrc": "4315:1:9", + "nodeType": "YulLiteral", + "src": "4315:1:9", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4286:3:9", + "nodeType": "YulIdentifier", + "src": "4286:3:9" + }, + "nativeSrc": "4286:31:9", + "nodeType": "YulFunctionCall", + "src": "4286:31:9" + }, + "variableNames": [ + { + "name": "twos", + "nativeSrc": "4278:4:9", + "nodeType": "YulIdentifier", + "src": "4278:4:9" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1810, + "isOffset": false, + "isSlot": false, + "src": "4034:11:9", + "valueSize": 1 + }, + { + "declaration": 1810, + "isOffset": false, + "isSlot": false, + "src": "4053:11:9", + "valueSize": 1 + }, + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "4138:5:9", + "valueSize": 1 + }, + { + "declaration": 1816, + "isOffset": false, + "isSlot": false, + "src": "4151:5:9", + "valueSize": 1 + }, + { + "declaration": 1843, + "isOffset": false, + "isSlot": false, + "src": "4066:4:9", + "valueSize": 1 + }, + { + "declaration": 1843, + "isOffset": false, + "isSlot": false, + "src": "4158:4:9", + "valueSize": 1 + }, + { + "declaration": 1843, + "isOffset": false, + "isSlot": false, + "src": "4278:4:9", + "valueSize": 1 + }, + { + "declaration": 1843, + "isOffset": false, + "isSlot": false, + "src": "4301:4:9", + "valueSize": 1 + }, + { + "declaration": 1843, + "isOffset": false, + "isSlot": false, + "src": "4308:4:9", + "valueSize": 1 + } + ], + "id": 1852, + "nodeType": "InlineAssembly", + "src": "3960:371:9" + }, + { + "expression": { + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1853, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1816, + "src": "4397:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "|=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1854, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1819, + "src": "4406:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1855, + "name": "twos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1843, + "src": "4414:4:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4406:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4397:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1858, + "nodeType": "ExpressionStatement", + "src": "4397:21:9" + }, + { + "assignments": [ + 1860 + ], + "declarations": [ + { + "constant": false, + "id": 1860, + "mutability": "mutable", + "name": "inverse", + "nameLocation": "4744:7:9", + "nodeType": "VariableDeclaration", + "scope": 1924, + "src": "4736:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1859, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4736:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1867, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "33", + "id": 1861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4755:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1862, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "4759:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4755:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1864, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4754:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "hexValue": "32", + "id": 1865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4774:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "4754:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4736:39:9" + }, + { + "expression": { + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1868, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "4992:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5003:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1870, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "5007:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1871, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5021:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5007:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5003:25:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4992:36:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1875, + "nodeType": "ExpressionStatement", + "src": "4992:36:9" + }, + { + "expression": { + "id": 1882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1876, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5061:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5072:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1878, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "5076:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1879, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5090:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5076:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5072:25:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5061:36:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1883, + "nodeType": "ExpressionStatement", + "src": "5061:36:9" + }, + { + "expression": { + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1884, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5131:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5142:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1886, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "5146:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1887, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5160:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5146:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5142:25:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5131:36:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1891, + "nodeType": "ExpressionStatement", + "src": "5131:36:9" + }, + { + "expression": { + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1892, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5201:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5212:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1894, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "5216:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1895, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5230:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5216:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5212:25:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5201:36:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1899, + "nodeType": "ExpressionStatement", + "src": "5201:36:9" + }, + { + "expression": { + "id": 1906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1900, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5271:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5282:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1902, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "5286:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1903, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5300:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5286:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5282:25:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5271:36:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1907, + "nodeType": "ExpressionStatement", + "src": "5271:36:9" + }, + { + "expression": { + "id": 1914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1908, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5342:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5353:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1910, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "5357:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1911, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5371:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5357:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5353:25:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5342:36:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1915, + "nodeType": "ExpressionStatement", + "src": "5342:36:9" + }, + { + "expression": { + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1916, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "5812:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1917, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1816, + "src": "5821:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1918, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1860, + "src": "5829:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5821:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5812:24:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1921, + "nodeType": "ExpressionStatement", + "src": "5812:24:9" + }, + { + "expression": { + "id": 1922, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "5857:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1814, + "id": 1923, + "nodeType": "Return", + "src": "5850:13:9" + } + ] + } + ] + }, + "documentation": { + "id": 1804, + "nodeType": "StructuredDocumentation", + "src": "1357:305:9", + "text": " @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license." + }, + "id": 1926, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mulDiv", + "nameLocation": "1676:6:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1806, + "mutability": "mutable", + "name": "x", + "nameLocation": "1691:1:9", + "nodeType": "VariableDeclaration", + "scope": 1926, + "src": "1683:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1683:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1808, + "mutability": "mutable", + "name": "y", + "nameLocation": "1702:1:9", + "nodeType": "VariableDeclaration", + "scope": 1926, + "src": "1694:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1694:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1810, + "mutability": "mutable", + "name": "denominator", + "nameLocation": "1713:11:9", + "nodeType": "VariableDeclaration", + "scope": 1926, + "src": "1705:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1809, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1705:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1682:43:9" + }, + "returnParameters": { + "id": 1814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1813, + "mutability": "mutable", + "name": "result", + "nameLocation": "1757:6:9", + "nodeType": "VariableDeclaration", + "scope": 1926, + "src": "1749:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1749:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1748:16:9" + }, + "scope": 2578, + "src": "1667:4213:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1969, + "nodeType": "Block", + "src": "6122:189:9", + "statements": [ + { + "assignments": [ + 1942 + ], + "declarations": [ + { + "constant": false, + "id": 1942, + "mutability": "mutable", + "name": "result", + "nameLocation": "6140:6:9", + "nodeType": "VariableDeclaration", + "scope": 1969, + "src": "6132:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6132:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1948, + "initialValue": { + "arguments": [ + { + "id": 1944, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1929, + "src": "6156:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1945, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1931, + "src": "6159:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1946, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1933, + "src": "6162:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1943, + "name": "mulDiv", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1926, + 1970 + ], + "referencedDeclaration": 1926, + "src": "6149:6:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 1947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6149:25:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6132:42:9" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "id": 1952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1949, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1936, + "src": "6188:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1950, + "name": "Rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1719, + "src": "6200:8:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$1719_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 1951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6209:2:9", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 1717, + "src": "6200:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "src": "6188:23:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1954, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1929, + "src": "6222:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1955, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1931, + "src": "6225:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1956, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1933, + "src": "6228:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1953, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "6215:6:9", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 1957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6215:25:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6243:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6215:29:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6188:56:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1966, + "nodeType": "IfStatement", + "src": "6184:98:9", + "trueBody": { + "id": 1965, + "nodeType": "Block", + "src": "6246:36:9", + "statements": [ + { + "expression": { + "id": 1963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1961, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "6260:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6270:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6260:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1964, + "nodeType": "ExpressionStatement", + "src": "6260:11:9" + } + ] + } + }, + { + "expression": { + "id": 1967, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "6298:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1940, + "id": 1968, + "nodeType": "Return", + "src": "6291:13:9" + } + ] + }, + "documentation": { + "id": 1927, + "nodeType": "StructuredDocumentation", + "src": "5886:121:9", + "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." + }, + "id": 1970, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mulDiv", + "nameLocation": "6021:6:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1929, + "mutability": "mutable", + "name": "x", + "nameLocation": "6036:1:9", + "nodeType": "VariableDeclaration", + "scope": 1970, + "src": "6028:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1928, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6028:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1931, + "mutability": "mutable", + "name": "y", + "nameLocation": "6047:1:9", + "nodeType": "VariableDeclaration", + "scope": 1970, + "src": "6039:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1930, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6039:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1933, + "mutability": "mutable", + "name": "denominator", + "nameLocation": "6058:11:9", + "nodeType": "VariableDeclaration", + "scope": 1970, + "src": "6050:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1932, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6050:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1936, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "6080:8:9", + "nodeType": "VariableDeclaration", + "scope": 1970, + "src": "6071:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 1935, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1934, + "name": "Rounding", + "nameLocations": [ + "6071:8:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1719, + "src": "6071:8:9" + }, + "referencedDeclaration": 1719, + "src": "6071:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "6027:62:9" + }, + "returnParameters": { + "id": 1940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1939, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1970, + "src": "6113:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6113:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6112:9:9" + }, + "scope": 2578, + "src": "6012:299:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2081, + "nodeType": "Block", + "src": "6587:1585:9", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1978, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "6601:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6606:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6601:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1984, + "nodeType": "IfStatement", + "src": "6597:45:9", + "trueBody": { + "id": 1983, + "nodeType": "Block", + "src": "6609:33:9", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 1981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6630:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1977, + "id": 1982, + "nodeType": "Return", + "src": "6623:8:9" + } + ] + } + }, + { + "assignments": [ + 1986 + ], + "declarations": [ + { + "constant": false, + "id": 1986, + "mutability": "mutable", + "name": "result", + "nameLocation": "7329:6:9", + "nodeType": "VariableDeclaration", + "scope": 2081, + "src": "7321:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1985, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7321:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1995, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 1987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7338:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1989, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "7349:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1988, + "name": "log2", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2250, + 2286 + ], + "referencedDeclaration": 2250, + "src": "7344:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7344:7:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 1991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7355:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7344:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1993, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7343:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7338:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7321:36:9" + }, + { + "id": 2080, + "nodeType": "UncheckedBlock", + "src": "7758:408:9", + "statements": [ + { + "expression": { + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1996, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7782:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1997, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7792:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1998, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "7801:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 1999, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7805:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7801:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7792:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2002, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7791:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7816:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7791:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7782:35:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2006, + "nodeType": "ExpressionStatement", + "src": "7782:35:9" + }, + { + "expression": { + "id": 2016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2007, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7831:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2008, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7841:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2009, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "7850:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 2010, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7854:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7850:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7841:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2013, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7840:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7865:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7840:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7831:35:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2017, + "nodeType": "ExpressionStatement", + "src": "7831:35:9" + }, + { + "expression": { + "id": 2027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2018, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7880:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2019, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7890:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2020, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "7899:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 2021, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7903:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7899:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7890:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2024, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7889:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7914:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7889:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7880:35:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2028, + "nodeType": "ExpressionStatement", + "src": "7880:35:9" + }, + { + "expression": { + "id": 2038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2029, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7929:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2030, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7939:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2031, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "7948:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 2032, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7952:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7948:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7939:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2035, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7938:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7963:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7938:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7929:35:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2039, + "nodeType": "ExpressionStatement", + "src": "7929:35:9" + }, + { + "expression": { + "id": 2049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2040, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7978:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2041, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "7988:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2042, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "7997:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 2043, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8001:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7997:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7988:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2046, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7987:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8012:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7987:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7978:35:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2050, + "nodeType": "ExpressionStatement", + "src": "7978:35:9" + }, + { + "expression": { + "id": 2060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2051, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8027:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2052, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8037:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2053, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "8046:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 2054, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8050:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8046:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8037:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2057, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8036:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8061:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8036:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8027:35:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2061, + "nodeType": "ExpressionStatement", + "src": "8027:35:9" + }, + { + "expression": { + "id": 2071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2062, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8076:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2063, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8086:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2064, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "8095:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 2065, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8099:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8095:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8086:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2068, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8085:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8110:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8085:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8076:35:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2072, + "nodeType": "ExpressionStatement", + "src": "8076:35:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2074, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8136:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2075, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "8144:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 2076, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1986, + "src": "8148:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8144:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2073, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "8132:3:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8132:23:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1977, + "id": 2079, + "nodeType": "Return", + "src": "8125:30:9" + } + ] + } + ] + }, + "documentation": { + "id": 1971, + "nodeType": "StructuredDocumentation", + "src": "6317:208:9", + "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)." + }, + "id": 2082, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sqrt", + "nameLocation": "6539:4:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1973, + "mutability": "mutable", + "name": "a", + "nameLocation": "6552:1:9", + "nodeType": "VariableDeclaration", + "scope": 2082, + "src": "6544:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6544:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6543:11:9" + }, + "returnParameters": { + "id": 1977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1976, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2082, + "src": "6578:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6578:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6577:9:9" + }, + "scope": 2578, + "src": "6530:1642:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2117, + "nodeType": "Block", + "src": "8348:161:9", + "statements": [ + { + "id": 2116, + "nodeType": "UncheckedBlock", + "src": "8358:145:9", + "statements": [ + { + "assignments": [ + 2094 + ], + "declarations": [ + { + "constant": false, + "id": 2094, + "mutability": "mutable", + "name": "result", + "nameLocation": "8390:6:9", + "nodeType": "VariableDeclaration", + "scope": 2116, + "src": "8382:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8382:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2098, + "initialValue": { + "arguments": [ + { + "id": 2096, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "8404:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2095, + "name": "sqrt", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2082, + 2118 + ], + "referencedDeclaration": 2082, + "src": "8399:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8399:7:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8382:24:9" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2099, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2094, + "src": "8427:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "id": 2103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2100, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2088, + "src": "8437:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2101, + "name": "Rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1719, + "src": "8449:8:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$1719_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 2102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8458:2:9", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 1717, + "src": "8449:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "src": "8437:23:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2104, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2094, + "src": "8464:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 2105, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2094, + "src": "8473:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8464:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2107, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "8482:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8464:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8437:46:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 2111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8490:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "8437:54:9", + "trueExpression": { + "hexValue": "31", + "id": 2110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8486:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 2113, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8436:56:9", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "8427:65:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2092, + "id": 2115, + "nodeType": "Return", + "src": "8420:72:9" + } + ] + } + ] + }, + "documentation": { + "id": 2083, + "nodeType": "StructuredDocumentation", + "src": "8178:89:9", + "text": " @notice Calculates sqrt(a), following the selected rounding direction." + }, + "id": 2118, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sqrt", + "nameLocation": "8281:4:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2085, + "mutability": "mutable", + "name": "a", + "nameLocation": "8294:1:9", + "nodeType": "VariableDeclaration", + "scope": 2118, + "src": "8286:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8286:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2088, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "8306:8:9", + "nodeType": "VariableDeclaration", + "scope": 2118, + "src": "8297:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 2087, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2086, + "name": "Rounding", + "nameLocations": [ + "8297:8:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1719, + "src": "8297:8:9" + }, + "referencedDeclaration": 1719, + "src": "8297:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "8285:30:9" + }, + "returnParameters": { + "id": 2092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2091, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2118, + "src": "8339:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8339:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8338:9:9" + }, + "scope": 2578, + "src": "8272:237:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2249, + "nodeType": "Block", + "src": "8694:922:9", + "statements": [ + { + "assignments": [ + 2127 + ], + "declarations": [ + { + "constant": false, + "id": 2127, + "mutability": "mutable", + "name": "result", + "nameLocation": "8712:6:9", + "nodeType": "VariableDeclaration", + "scope": 2249, + "src": "8704:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8704:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2129, + "initialValue": { + "hexValue": "30", + "id": 2128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8721:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8704:18:9" + }, + { + "id": 2246, + "nodeType": "UncheckedBlock", + "src": "8732:855:9", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2130, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "8760:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "313238", + "id": 2131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8769:3:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "8760:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8775:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8760:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2144, + "nodeType": "IfStatement", + "src": "8756:99:9", + "trueBody": { + "id": 2143, + "nodeType": "Block", + "src": "8778:77:9", + "statements": [ + { + "expression": { + "id": 2137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2135, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "8796:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "313238", + "id": 2136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8806:3:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "8796:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2138, + "nodeType": "ExpressionStatement", + "src": "8796:13:9" + }, + { + "expression": { + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2139, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "8827:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "313238", + "id": 2140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8837:3:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "8827:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2142, + "nodeType": "ExpressionStatement", + "src": "8827:13:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2145, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "8872:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3634", + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8881:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "8872:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8886:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8872:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2159, + "nodeType": "IfStatement", + "src": "8868:96:9", + "trueBody": { + "id": 2158, + "nodeType": "Block", + "src": "8889:75:9", + "statements": [ + { + "expression": { + "id": 2152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2150, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "8907:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3634", + "id": 2151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8917:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "8907:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2153, + "nodeType": "ExpressionStatement", + "src": "8907:12:9" + }, + { + "expression": { + "id": 2156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2154, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "8937:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3634", + "id": 2155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8947:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "8937:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2157, + "nodeType": "ExpressionStatement", + "src": "8937:12:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2160, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "8981:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3332", + "id": 2161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8990:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "8981:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8995:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8981:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2174, + "nodeType": "IfStatement", + "src": "8977:96:9", + "trueBody": { + "id": 2173, + "nodeType": "Block", + "src": "8998:75:9", + "statements": [ + { + "expression": { + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2165, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9016:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3332", + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9026:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "9016:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2168, + "nodeType": "ExpressionStatement", + "src": "9016:12:9" + }, + { + "expression": { + "id": 2171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2169, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9046:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 2170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9056:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "9046:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2172, + "nodeType": "ExpressionStatement", + "src": "9046:12:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2175, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9090:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3136", + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9099:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "9090:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9104:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9090:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2189, + "nodeType": "IfStatement", + "src": "9086:96:9", + "trueBody": { + "id": 2188, + "nodeType": "Block", + "src": "9107:75:9", + "statements": [ + { + "expression": { + "id": 2182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2180, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9125:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3136", + "id": 2181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9135:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "9125:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2183, + "nodeType": "ExpressionStatement", + "src": "9125:12:9" + }, + { + "expression": { + "id": 2186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2184, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9155:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 2185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9165:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "9155:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2187, + "nodeType": "ExpressionStatement", + "src": "9155:12:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2190, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9199:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "38", + "id": 2191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9208:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "9199:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9212:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9199:14:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2204, + "nodeType": "IfStatement", + "src": "9195:93:9", + "trueBody": { + "id": 2203, + "nodeType": "Block", + "src": "9215:73:9", + "statements": [ + { + "expression": { + "id": 2197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2195, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9233:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "38", + "id": 2196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9243:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "9233:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2198, + "nodeType": "ExpressionStatement", + "src": "9233:11:9" + }, + { + "expression": { + "id": 2201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2199, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9262:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 2200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9272:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "9262:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2202, + "nodeType": "ExpressionStatement", + "src": "9262:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2205, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9305:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "34", + "id": 2206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9314:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "9305:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9318:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9305:14:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2219, + "nodeType": "IfStatement", + "src": "9301:93:9", + "trueBody": { + "id": 2218, + "nodeType": "Block", + "src": "9321:73:9", + "statements": [ + { + "expression": { + "id": 2212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2210, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9339:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 2211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9349:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "9339:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2213, + "nodeType": "ExpressionStatement", + "src": "9339:11:9" + }, + { + "expression": { + "id": 2216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2214, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9368:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 2215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9378:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "9368:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2217, + "nodeType": "ExpressionStatement", + "src": "9368:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2220, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9411:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "32", + "id": 2221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9420:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "9411:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9424:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9411:14:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2234, + "nodeType": "IfStatement", + "src": "9407:93:9", + "trueBody": { + "id": 2233, + "nodeType": "Block", + "src": "9427:73:9", + "statements": [ + { + "expression": { + "id": 2227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2225, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9445:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "32", + "id": 2226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9455:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "9445:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2228, + "nodeType": "ExpressionStatement", + "src": "9445:11:9" + }, + { + "expression": { + "id": 2231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2229, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9474:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 2230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9484:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "9474:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2232, + "nodeType": "ExpressionStatement", + "src": "9474:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2235, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2121, + "src": "9517:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9526:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9517:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9530:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9517:14:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2245, + "nodeType": "IfStatement", + "src": "9513:64:9", + "trueBody": { + "id": 2244, + "nodeType": "Block", + "src": "9533:44:9", + "statements": [ + { + "expression": { + "id": 2242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2240, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9551:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 2241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9561:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9551:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2243, + "nodeType": "ExpressionStatement", + "src": "9551:11:9" + } + ] + } + } + ] + }, + { + "expression": { + "id": 2247, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9603:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2125, + "id": 2248, + "nodeType": "Return", + "src": "9596:13:9" + } + ] + }, + "documentation": { + "id": 2119, + "nodeType": "StructuredDocumentation", + "src": "8515:113:9", + "text": " @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0." + }, + "id": 2250, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2", + "nameLocation": "8642:4:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2121, + "mutability": "mutable", + "name": "value", + "nameLocation": "8655:5:9", + "nodeType": "VariableDeclaration", + "scope": 2250, + "src": "8647:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8647:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8646:15:9" + }, + "returnParameters": { + "id": 2125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2124, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2250, + "src": "8685:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8685:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8684:9:9" + }, + "scope": 2578, + "src": "8633:983:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2285, + "nodeType": "Block", + "src": "9849:165:9", + "statements": [ + { + "id": 2284, + "nodeType": "UncheckedBlock", + "src": "9859:149:9", + "statements": [ + { + "assignments": [ + 2262 + ], + "declarations": [ + { + "constant": false, + "id": 2262, + "mutability": "mutable", + "name": "result", + "nameLocation": "9891:6:9", + "nodeType": "VariableDeclaration", + "scope": 2284, + "src": "9883:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2261, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9883:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2266, + "initialValue": { + "arguments": [ + { + "id": 2264, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "9905:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2263, + "name": "log2", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2250, + 2286 + ], + "referencedDeclaration": 2250, + "src": "9900:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9900:11:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9883:28:9" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2267, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2262, + "src": "9932:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "id": 2271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2268, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2256, + "src": "9942:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2269, + "name": "Rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1719, + "src": "9954:8:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$1719_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9963:2:9", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 1717, + "src": "9954:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "src": "9942:23:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9969:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "id": 2273, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2262, + "src": "9974:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9969:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2275, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "9983:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9969:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9942:46:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 2279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9995:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "9942:54:9", + "trueExpression": { + "hexValue": "31", + "id": 2278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9991:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 2281, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9941:56:9", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "9932:65:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2260, + "id": 2283, + "nodeType": "Return", + "src": "9925:72:9" + } + ] + } + ] + }, + "documentation": { + "id": 2251, + "nodeType": "StructuredDocumentation", + "src": "9622:142:9", + "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 2286, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2", + "nameLocation": "9778:4:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2253, + "mutability": "mutable", + "name": "value", + "nameLocation": "9791:5:9", + "nodeType": "VariableDeclaration", + "scope": 2286, + "src": "9783:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9783:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2256, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "9807:8:9", + "nodeType": "VariableDeclaration", + "scope": 2286, + "src": "9798:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 2255, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2254, + "name": "Rounding", + "nameLocations": [ + "9798:8:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1719, + "src": "9798:8:9" + }, + "referencedDeclaration": 1719, + "src": "9798:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "9782:34:9" + }, + "returnParameters": { + "id": 2260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2259, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2286, + "src": "9840:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2258, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9840:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9839:9:9" + }, + "scope": 2578, + "src": "9769:245:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2414, + "nodeType": "Block", + "src": "10201:854:9", + "statements": [ + { + "assignments": [ + 2295 + ], + "declarations": [ + { + "constant": false, + "id": 2295, + "mutability": "mutable", + "name": "result", + "nameLocation": "10219:6:9", + "nodeType": "VariableDeclaration", + "scope": 2414, + "src": "10211:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10211:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2297, + "initialValue": { + "hexValue": "30", + "id": 2296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10228:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10211:18:9" + }, + { + "id": 2411, + "nodeType": "UncheckedBlock", + "src": "10239:787:9", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2298, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10267:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + }, + "id": 2301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10276:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3634", + "id": 2300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10282:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "10276:8:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + } + }, + "src": "10267:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2314, + "nodeType": "IfStatement", + "src": "10263:103:9", + "trueBody": { + "id": 2313, + "nodeType": "Block", + "src": "10286:80:9", + "statements": [ + { + "expression": { + "id": 2307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2303, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10304:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + }, + "id": 2306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10313:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3634", + "id": 2305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10319:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "10313:8:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + } + }, + "src": "10304:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2308, + "nodeType": "ExpressionStatement", + "src": "10304:17:9" + }, + { + "expression": { + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2309, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "10339:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3634", + "id": 2310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10349:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "10339:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2312, + "nodeType": "ExpressionStatement", + "src": "10339:12:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2315, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10383:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + }, + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10392:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3332", + "id": 2317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10398:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10392:8:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + } + }, + "src": "10383:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2331, + "nodeType": "IfStatement", + "src": "10379:103:9", + "trueBody": { + "id": 2330, + "nodeType": "Block", + "src": "10402:80:9", + "statements": [ + { + "expression": { + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2320, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10420:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10429:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3332", + "id": 2322, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10435:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10429:8:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + } + }, + "src": "10420:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2325, + "nodeType": "ExpressionStatement", + "src": "10420:17:9" + }, + { + "expression": { + "id": 2328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2326, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "10455:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 2327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10465:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10455:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2329, + "nodeType": "ExpressionStatement", + "src": "10455:12:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2332, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10499:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "id": 2335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10508:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 2334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10514:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "10508:8:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + } + }, + "src": "10499:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2348, + "nodeType": "IfStatement", + "src": "10495:103:9", + "trueBody": { + "id": 2347, + "nodeType": "Block", + "src": "10518:80:9", + "statements": [ + { + "expression": { + "id": 2341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2337, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10536:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "id": 2340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10545:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 2339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10551:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "10545:8:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + } + }, + "src": "10536:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2342, + "nodeType": "ExpressionStatement", + "src": "10536:17:9" + }, + { + "expression": { + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2343, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "10571:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10581:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "10571:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2346, + "nodeType": "ExpressionStatement", + "src": "10571:12:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2349, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10615:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + }, + "id": 2352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10624:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 2351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10630:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "10624:7:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + } + }, + "src": "10615:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2365, + "nodeType": "IfStatement", + "src": "10611:100:9", + "trueBody": { + "id": 2364, + "nodeType": "Block", + "src": "10633:78:9", + "statements": [ + { + "expression": { + "id": 2358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2354, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10651:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + }, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10660:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10666:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "10660:7:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + } + }, + "src": "10651:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2359, + "nodeType": "ExpressionStatement", + "src": "10651:16:9" + }, + { + "expression": { + "id": 2362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2360, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "10685:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 2361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10695:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "10685:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2363, + "nodeType": "ExpressionStatement", + "src": "10685:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2366, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10728:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "id": 2369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10737:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "34", + "id": 2368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10743:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "10737:7:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + } + }, + "src": "10728:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2382, + "nodeType": "IfStatement", + "src": "10724:100:9", + "trueBody": { + "id": 2381, + "nodeType": "Block", + "src": "10746:78:9", + "statements": [ + { + "expression": { + "id": 2375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2371, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10764:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "id": 2374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10773:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "34", + "id": 2373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10779:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "10773:7:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + } + }, + "src": "10764:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2376, + "nodeType": "ExpressionStatement", + "src": "10764:16:9" + }, + { + "expression": { + "id": 2379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2377, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "10798:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 2378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10808:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "10798:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2380, + "nodeType": "ExpressionStatement", + "src": "10798:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2383, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10841:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "id": 2386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10850:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "32", + "id": 2385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10856:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "10850:7:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + }, + "src": "10841:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2399, + "nodeType": "IfStatement", + "src": "10837:100:9", + "trueBody": { + "id": 2398, + "nodeType": "Block", + "src": "10859:78:9", + "statements": [ + { + "expression": { + "id": 2392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2388, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10877:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "id": 2391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10886:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "32", + "id": 2390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10892:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "10886:7:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + }, + "src": "10877:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2393, + "nodeType": "ExpressionStatement", + "src": "10877:16:9" + }, + { + "expression": { + "id": 2396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2394, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "10911:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10921:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "10911:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2397, + "nodeType": "ExpressionStatement", + "src": "10911:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2400, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2289, + "src": "10954:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "id": 2403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10963:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "31", + "id": 2402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10969:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10963:7:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + } + }, + "src": "10954:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2410, + "nodeType": "IfStatement", + "src": "10950:66:9", + "trueBody": { + "id": 2409, + "nodeType": "Block", + "src": "10972:44:9", + "statements": [ + { + "expression": { + "id": 2407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2405, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "10990:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 2406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11000:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10990:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2408, + "nodeType": "ExpressionStatement", + "src": "10990:11:9" + } + ] + } + } + ] + }, + { + "expression": { + "id": 2412, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2295, + "src": "11042:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2293, + "id": 2413, + "nodeType": "Return", + "src": "11035:13:9" + } + ] + }, + "documentation": { + "id": 2287, + "nodeType": "StructuredDocumentation", + "src": "10020:114:9", + "text": " @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0." + }, + "id": 2415, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log10", + "nameLocation": "10148:5:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2289, + "mutability": "mutable", + "name": "value", + "nameLocation": "10162:5:9", + "nodeType": "VariableDeclaration", + "scope": 2415, + "src": "10154:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10154:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10153:15:9" + }, + "returnParameters": { + "id": 2293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2292, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2415, + "src": "10192:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2291, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10192:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10191:9:9" + }, + "scope": 2578, + "src": "10139:916:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2450, + "nodeType": "Block", + "src": "11290:167:9", + "statements": [ + { + "id": 2449, + "nodeType": "UncheckedBlock", + "src": "11300:151:9", + "statements": [ + { + "assignments": [ + 2427 + ], + "declarations": [ + { + "constant": false, + "id": 2427, + "mutability": "mutable", + "name": "result", + "nameLocation": "11332:6:9", + "nodeType": "VariableDeclaration", + "scope": 2449, + "src": "11324:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11324:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2431, + "initialValue": { + "arguments": [ + { + "id": 2429, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2418, + "src": "11347:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2428, + "name": "log10", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2415, + 2451 + ], + "referencedDeclaration": 2415, + "src": "11341:5:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11341:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11324:29:9" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2432, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2427, + "src": "11374:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "id": 2436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2433, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2421, + "src": "11384:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2434, + "name": "Rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1719, + "src": "11396:8:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$1719_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 2435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11405:2:9", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 1717, + "src": "11396:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "src": "11384:23:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 2437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11411:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "id": 2438, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2427, + "src": "11417:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11411:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2440, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2418, + "src": "11426:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11411:20:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11384:47:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 2444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11438:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "11384:55:9", + "trueExpression": { + "hexValue": "31", + "id": 2443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11434:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 2446, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11383:57:9", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "11374:66:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2425, + "id": 2448, + "nodeType": "Return", + "src": "11367:73:9" + } + ] + } + ] + }, + "documentation": { + "id": 2416, + "nodeType": "StructuredDocumentation", + "src": "11061:143:9", + "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 2451, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log10", + "nameLocation": "11218:5:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2418, + "mutability": "mutable", + "name": "value", + "nameLocation": "11232:5:9", + "nodeType": "VariableDeclaration", + "scope": 2451, + "src": "11224:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11224:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2421, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "11248:8:9", + "nodeType": "VariableDeclaration", + "scope": 2451, + "src": "11239:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 2420, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2419, + "name": "Rounding", + "nameLocations": [ + "11239:8:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1719, + "src": "11239:8:9" + }, + "referencedDeclaration": 1719, + "src": "11239:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "11223:34:9" + }, + "returnParameters": { + "id": 2425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2424, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2451, + "src": "11281:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2423, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11281:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11280:9:9" + }, + "scope": 2578, + "src": "11209:248:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2537, + "nodeType": "Block", + "src": "11771:600:9", + "statements": [ + { + "assignments": [ + 2460 + ], + "declarations": [ + { + "constant": false, + "id": 2460, + "mutability": "mutable", + "name": "result", + "nameLocation": "11789:6:9", + "nodeType": "VariableDeclaration", + "scope": 2537, + "src": "11781:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11781:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2462, + "initialValue": { + "hexValue": "30", + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11798:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11781:18:9" + }, + { + "id": 2534, + "nodeType": "UncheckedBlock", + "src": "11809:533:9", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2463, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "11837:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "313238", + "id": 2464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11846:3:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "11837:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11852:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11837:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2477, + "nodeType": "IfStatement", + "src": "11833:98:9", + "trueBody": { + "id": 2476, + "nodeType": "Block", + "src": "11855:76:9", + "statements": [ + { + "expression": { + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2468, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "11873:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "313238", + "id": 2469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11883:3:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "11873:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2471, + "nodeType": "ExpressionStatement", + "src": "11873:13:9" + }, + { + "expression": { + "id": 2474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2472, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "11904:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11914:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "11904:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2475, + "nodeType": "ExpressionStatement", + "src": "11904:12:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2478, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "11948:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3634", + "id": 2479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11957:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "11948:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11962:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11948:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2492, + "nodeType": "IfStatement", + "src": "11944:95:9", + "trueBody": { + "id": 2491, + "nodeType": "Block", + "src": "11965:74:9", + "statements": [ + { + "expression": { + "id": 2485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2483, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "11983:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3634", + "id": 2484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11993:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "11983:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2486, + "nodeType": "ExpressionStatement", + "src": "11983:12:9" + }, + { + "expression": { + "id": 2489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2487, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "12013:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 2488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12023:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12013:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2490, + "nodeType": "ExpressionStatement", + "src": "12013:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2493, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "12056:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3332", + "id": 2494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12065:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "12056:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12070:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12056:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2507, + "nodeType": "IfStatement", + "src": "12052:95:9", + "trueBody": { + "id": 2506, + "nodeType": "Block", + "src": "12073:74:9", + "statements": [ + { + "expression": { + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2498, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "12091:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3332", + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12101:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "12091:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2501, + "nodeType": "ExpressionStatement", + "src": "12091:12:9" + }, + { + "expression": { + "id": 2504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2502, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "12121:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12131:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "12121:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2505, + "nodeType": "ExpressionStatement", + "src": "12121:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2508, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "12164:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3136", + "id": 2509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12173:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "12164:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12178:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12164:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2522, + "nodeType": "IfStatement", + "src": "12160:95:9", + "trueBody": { + "id": 2521, + "nodeType": "Block", + "src": "12181:74:9", + "statements": [ + { + "expression": { + "id": 2515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2513, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "12199:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3136", + "id": 2514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12209:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "12199:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2516, + "nodeType": "ExpressionStatement", + "src": "12199:12:9" + }, + { + "expression": { + "id": 2519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2517, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "12229:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 2518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12239:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "12229:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2520, + "nodeType": "ExpressionStatement", + "src": "12229:11:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2523, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "12272:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "38", + "id": 2524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12281:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12272:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12285:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12272:14:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2533, + "nodeType": "IfStatement", + "src": "12268:64:9", + "trueBody": { + "id": 2532, + "nodeType": "Block", + "src": "12288:44:9", + "statements": [ + { + "expression": { + "id": 2530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2528, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "12306:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 2529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12316:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12306:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2531, + "nodeType": "ExpressionStatement", + "src": "12306:11:9" + } + ] + } + } + ] + }, + { + "expression": { + "id": 2535, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "12358:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2458, + "id": 2536, + "nodeType": "Return", + "src": "12351:13:9" + } + ] + }, + "documentation": { + "id": 2452, + "nodeType": "StructuredDocumentation", + "src": "11463:240:9", + "text": " @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." + }, + "id": 2538, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log256", + "nameLocation": "11717:6:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2454, + "mutability": "mutable", + "name": "value", + "nameLocation": "11732:5:9", + "nodeType": "VariableDeclaration", + "scope": 2538, + "src": "11724:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2453, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11724:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11723:15:9" + }, + "returnParameters": { + "id": 2458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2457, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2538, + "src": "11762:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11762:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11761:9:9" + }, + "scope": 2578, + "src": "11708:663:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2576, + "nodeType": "Block", + "src": "12608:174:9", + "statements": [ + { + "id": 2575, + "nodeType": "UncheckedBlock", + "src": "12618:158:9", + "statements": [ + { + "assignments": [ + 2550 + ], + "declarations": [ + { + "constant": false, + "id": 2550, + "mutability": "mutable", + "name": "result", + "nameLocation": "12650:6:9", + "nodeType": "VariableDeclaration", + "scope": 2575, + "src": "12642:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12642:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2554, + "initialValue": { + "arguments": [ + { + "id": 2552, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2541, + "src": "12666:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2551, + "name": "log256", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2538, + 2577 + ], + "referencedDeclaration": 2538, + "src": "12659:6:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12659:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12642:30:9" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2555, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2550, + "src": "12693:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "id": 2559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2556, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2544, + "src": "12703:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2557, + "name": "Rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1719, + "src": "12715:8:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$1719_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 2558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12724:2:9", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 1717, + "src": "12715:11:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "src": "12703:23:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12730:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2561, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2550, + "src": "12736:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "33", + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12746:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "12736:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2564, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12735:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12730:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2566, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2541, + "src": "12751:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12730:26:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12703:53:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12763:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "12703:61:9", + "trueExpression": { + "hexValue": "31", + "id": 2569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12759:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 2572, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12702:63:9", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "12693:72:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2548, + "id": 2574, + "nodeType": "Return", + "src": "12686:79:9" + } + ] + } + ] + }, + "documentation": { + "id": 2539, + "nodeType": "StructuredDocumentation", + "src": "12377:144:9", + "text": " @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 2577, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log256", + "nameLocation": "12535:6:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2541, + "mutability": "mutable", + "name": "value", + "nameLocation": "12550:5:9", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "12542:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12542:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2544, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "12566:8:9", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "12557:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 2543, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2542, + "name": "Rounding", + "nameLocations": [ + "12557:8:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1719, + "src": "12557:8:9" + }, + "referencedDeclaration": 1719, + "src": "12557:8:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$1719", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "12541:34:9" + }, + "returnParameters": { + "id": 2548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2547, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "12599:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2546, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12599:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12598:9:9" + }, + "scope": 2578, + "src": "12526:256:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2579, + "src": "202:12582:9", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "103:12682:9" + }, + "id": 9 + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", + "exportedSymbols": { + "SignedMath": [ + 2683 + ] + }, + "id": 2684, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2580, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "109:23:10" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "SignedMath", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 2581, + "nodeType": "StructuredDocumentation", + "src": "134:80:10", + "text": " @dev Standard signed math utilities missing in the Solidity language." + }, + "fullyImplemented": true, + "id": 2683, + "linearizedBaseContracts": [ + 2683 + ], + "name": "SignedMath", + "nameLocation": "223:10:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 2598, + "nodeType": "Block", + "src": "375:37:10", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2591, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2584, + "src": "392:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2592, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2586, + "src": "396:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "392:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 2595, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2586, + "src": "404:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 2596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "392:13:10", + "trueExpression": { + "id": 2594, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2584, + "src": "400:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 2590, + "id": 2597, + "nodeType": "Return", + "src": "385:20:10" + } + ] + }, + "documentation": { + "id": 2582, + "nodeType": "StructuredDocumentation", + "src": "240:66:10", + "text": " @dev Returns the largest of two signed numbers." + }, + "id": 2599, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nameLocation": "320:3:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2584, + "mutability": "mutable", + "name": "a", + "nameLocation": "331:1:10", + "nodeType": "VariableDeclaration", + "scope": 2599, + "src": "324:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2583, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "324:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2586, + "mutability": "mutable", + "name": "b", + "nameLocation": "341:1:10", + "nodeType": "VariableDeclaration", + "scope": 2599, + "src": "334:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2585, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "334:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "323:20:10" + }, + "returnParameters": { + "id": 2590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2589, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2599, + "src": "367:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2588, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "367:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "366:8:10" + }, + "scope": 2683, + "src": "311:101:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2616, + "nodeType": "Block", + "src": "554:37:10", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2609, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2602, + "src": "571:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2610, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2604, + "src": "575:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "571:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 2613, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2604, + "src": "583:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 2614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "571:13:10", + "trueExpression": { + "id": 2612, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2602, + "src": "579:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 2608, + "id": 2615, + "nodeType": "Return", + "src": "564:20:10" + } + ] + }, + "documentation": { + "id": 2600, + "nodeType": "StructuredDocumentation", + "src": "418:67:10", + "text": " @dev Returns the smallest of two signed numbers." + }, + "id": 2617, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "499:3:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2602, + "mutability": "mutable", + "name": "a", + "nameLocation": "510:1:10", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "503:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2601, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "503:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2604, + "mutability": "mutable", + "name": "b", + "nameLocation": "520:1:10", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "513:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2603, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "513:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "502:20:10" + }, + "returnParameters": { + "id": 2608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2607, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "546:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2606, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "546:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "545:8:10" + }, + "scope": 2683, + "src": "490:101:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2660, + "nodeType": "Block", + "src": "796:162:10", + "statements": [ + { + "assignments": [ + 2628 + ], + "declarations": [ + { + "constant": false, + "id": 2628, + "mutability": "mutable", + "name": "x", + "nameLocation": "865:1:10", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "858:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2627, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "858:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 2641, + "initialValue": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2629, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2620, + "src": "870:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 2630, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "874:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "870:5:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 2632, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "869:7:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2633, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2620, + "src": "881:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 2634, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "885:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "881:5:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 2636, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "880:7:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 2637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "891:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "880:12:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 2639, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "879:14:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "869:24:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "858:35:10" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2642, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2628, + "src": "910:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2647, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2628, + "src": "930:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 2646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "922:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2645, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "922:7:10", + "typeDescriptions": {} + } + }, + "id": 2648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "922:10:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "323535", + "id": 2649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "936:3:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "255" + }, + "src": "922:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "915:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 2643, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "915:6:10", + "typeDescriptions": {} + } + }, + "id": 2651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "915:25:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2652, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2620, + "src": "944:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 2653, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "948:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "944:5:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 2655, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "943:7:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "915:35:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 2657, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "914:37:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "910:41:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 2626, + "id": 2659, + "nodeType": "Return", + "src": "903:48:10" + } + ] + }, + "documentation": { + "id": 2618, + "nodeType": "StructuredDocumentation", + "src": "597:126:10", + "text": " @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero." + }, + "id": 2661, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "average", + "nameLocation": "737:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2620, + "mutability": "mutable", + "name": "a", + "nameLocation": "752:1:10", + "nodeType": "VariableDeclaration", + "scope": 2661, + "src": "745:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2619, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "745:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2622, + "mutability": "mutable", + "name": "b", + "nameLocation": "762:1:10", + "nodeType": "VariableDeclaration", + "scope": 2661, + "src": "755:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2621, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "755:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "744:20:10" + }, + "returnParameters": { + "id": 2626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2625, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2661, + "src": "788:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2624, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "788:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "787:8:10" + }, + "scope": 2683, + "src": "728:230:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2681, + "nodeType": "Block", + "src": "1102:158:10", + "statements": [ + { + "id": 2680, + "nodeType": "UncheckedBlock", + "src": "1112:142:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2671, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2664, + "src": "1227:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30", + "id": 2672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1232:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1227:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 2676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1240:2:10", + "subExpression": { + "id": 2675, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2664, + "src": "1241:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 2677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1227:15:10", + "trueExpression": { + "id": 2674, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2664, + "src": "1236:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1219:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2669, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1219:7:10", + "typeDescriptions": {} + } + }, + "id": 2678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1219:24:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2668, + "id": 2679, + "nodeType": "Return", + "src": "1212:31:10" + } + ] + } + ] + }, + "documentation": { + "id": 2662, + "nodeType": "StructuredDocumentation", + "src": "964:78:10", + "text": " @dev Returns the absolute unsigned value of a signed value." + }, + "id": 2682, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "abs", + "nameLocation": "1056:3:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2664, + "mutability": "mutable", + "name": "n", + "nameLocation": "1067:1:10", + "nodeType": "VariableDeclaration", + "scope": 2682, + "src": "1060:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2663, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1060:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1059:10:10" + }, + "returnParameters": { + "id": 2668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2667, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2682, + "src": "1093:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1093:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1092:9:10" + }, + "scope": 2683, + "src": "1047:213:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2684, + "src": "215:1047:10", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "109:1154:10" + }, + "id": 10 + }, + "contracts/NFTMock.sol": { + "ast": { + "absolutePath": "contracts/NFTMock.sol", + "exportedSymbols": { + "Address": [ + 1417 + ], + "Context": [ + 1447 + ], + "ERC165": [ + 1700 + ], + "ERC721": [ + 926 + ], + "IERC165": [ + 1712 + ], + "IERC721": [ + 1042 + ], + "IERC721Metadata": [ + 1087 + ], + "IERC721Receiver": [ + 1060 + ], + "Math": [ + 2578 + ], + "NFTMock": [ + 2716 + ], + "SignedMath": [ + 2683 + ], + "Strings": [ + 1676 + ] + }, + "id": 2717, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2685, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:23:11" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "id": 2686, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2717, + "sourceUnit": 927, + "src": "25:57:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2687, + "name": "ERC721", + "nameLocations": [ + "104:6:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 926, + "src": "104:6:11" + }, + "id": 2688, + "nodeType": "InheritanceSpecifier", + "src": "104:6:11" + } + ], + "canonicalName": "NFTMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2716, + "linearizedBaseContracts": [ + 2716, + 926, + 1087, + 1042, + 1700, + 1712, + 1447 + ], + "name": "NFTMock", + "nameLocation": "93:7:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "009a9b7b", + "id": 2690, + "mutability": "mutable", + "name": "currentTokenId", + "nameLocation": "132:14:11", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "117:29:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2689, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "117:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 2701, + "nodeType": "Block", + "src": "189:35:11", + "statements": [ + { + "expression": { + "id": 2699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2697, + "name": "currentTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "199:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 2698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "216:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "199:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2700, + "nodeType": "ExpressionStatement", + "src": "199:18:11" + } + ] + }, + "id": 2702, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "54657374", + "id": 2693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "174:6:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12", + "typeString": "literal_string \"Test\"" + }, + "value": "Test" + }, + { + "hexValue": "545354", + "id": 2694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "182:5:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4", + "typeString": "literal_string \"TST\"" + }, + "value": "TST" + } + ], + "id": 2695, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2692, + "name": "ERC721", + "nameLocations": [ + "167:6:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 926, + "src": "167:6:11" + }, + "nodeType": "ModifierInvocation", + "src": "167:21:11" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2691, + "nodeType": "ParameterList", + "parameters": [], + "src": "164:2:11" + }, + "returnParameters": { + "id": 2696, + "nodeType": "ParameterList", + "parameters": [], + "src": "189:0:11" + }, + "scope": 2716, + "src": "153:71:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2714, + "nodeType": "Block", + "src": "255:80:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2706, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "275:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "279:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "275:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2708, + "name": "currentTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "287:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2705, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 494, + 523 + ], + "referencedDeclaration": 494, + "src": "265:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "265:37:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2710, + "nodeType": "ExpressionStatement", + "src": "265:37:11" + }, + { + "expression": { + "id": 2712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "312:16:11", + "subExpression": { + "id": 2711, + "name": "currentTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "312:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2713, + "nodeType": "ExpressionStatement", + "src": "312:16:11" + } + ] + }, + "functionSelector": "1249c58b", + "id": 2715, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "239:4:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2703, + "nodeType": "ParameterList", + "parameters": [], + "src": "243:2:11" + }, + "returnParameters": { + "id": 2704, + "nodeType": "ParameterList", + "parameters": [], + "src": "255:0:11" + }, + "scope": 2716, + "src": "230:105:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2717, + "src": "84:253:11", + "usedErrors": [], + "usedEvents": [ + 941, + 950, + 959 + ] + } + ], + "src": "0:338:11" + }, + "id": 11 + } + }, + "contracts": { + "@openzeppelin/contracts/token/ERC721/ERC721.sol": { + "ERC721": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_62": { + "entryPoint": null, + "id": 62, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 350, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 416, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory": { + "entryPoint": 462, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "allocate_memory": { + "entryPoint": 232, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 89, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 259, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 689, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 582, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 986, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_uint256": { + "entryPoint": 821, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 951, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 841, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 1127, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 308, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 710, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 640, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 1099, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 183, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 831, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 1069, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x22": { + "entryPoint": 593, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 136, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 875, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 109, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 114, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 104, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 99, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 119, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 726, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 1056, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 927, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 739, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 885, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 922, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:8576:12", + "nodeType": "YulBlock", + "src": "0:8576:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "423:28:12", + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:12", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nativeSrc": "433:12:12", + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:12", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nativeSrc": "546:28:12", + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:12", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:12", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:12", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nativeSrc": "556:12:12", + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:12", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nativeSrc": "628:54:12", + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nativeSrc": "638:38:12", + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:12", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nativeSrc": "663:2:12", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:12", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nativeSrc": "652:14:12", + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:12", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:12", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nativeSrc": "668:7:12", + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:12", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nativeSrc": "648:28:12", + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:12", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:12", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:12", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nativeSrc": "716:152:12", + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:12", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:12", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:12", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nativeSrc": "726:88:12", + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:12", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:12", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:12", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nativeSrc": "823:15:12", + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:12", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:12", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:12", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nativeSrc": "847:15:12", + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:12", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nativeSrc": "917:238:12", + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nativeSrc": "927:58:12", + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:12", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:12", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:12", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nativeSrc": "957:27:12", + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:12", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nativeSrc": "945:40:12", + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:12", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:12", + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:12", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nativeSrc": "1098:18:12", + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:12", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nativeSrc": "1051:18:12", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:12", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nativeSrc": "1036:34:12", + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:12", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:12", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:12", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nativeSrc": "1072:22:12", + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:12", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nativeSrc": "1033:62:12", + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nativeSrc": "1030:88:12", + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:12", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:12", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:12", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nativeSrc": "1127:22:12", + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:12", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:12", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nativeSrc": "1202:88:12", + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nativeSrc": "1212:30:12", + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:12", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nativeSrc": "1222:20:12", + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:12", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:12", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nativeSrc": "1279:4:12", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:12", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nativeSrc": "1251:33:12", + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:12", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:12", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nativeSrc": "1363:241:12", + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nativeSrc": "1468:22:12", + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1470:16:12", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nativeSrc": "1470:18:12", + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1440:6:12", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nativeSrc": "1448:18:12", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1437:2:12", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nativeSrc": "1437:30:12", + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nativeSrc": "1434:56:12", + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nativeSrc": "1500:37:12", + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1530:6:12", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1508:21:12", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nativeSrc": "1508:29:12", + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1500:4:12", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nativeSrc": "1574:23:12", + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1586:4:12", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nativeSrc": "1592:4:12", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1582:3:12", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nativeSrc": "1582:15:12", + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1574:4:12", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1296:308:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1347:6:12", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1358:4:12", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nativeSrc": "1672:186:12", + "nodeType": "YulBlock", + "src": "1672:186:12", + "statements": [ + { + "nativeSrc": "1683:10:12", + "nodeType": "YulVariableDeclaration", + "src": "1683:10:12", + "value": { + "kind": "number", + "nativeSrc": "1692:1:12", + "nodeType": "YulLiteral", + "src": "1692:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1687:1:12", + "nodeType": "YulTypedName", + "src": "1687:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1752:63:12", + "nodeType": "YulBlock", + "src": "1752:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1777:3:12", + "nodeType": "YulIdentifier", + "src": "1777:3:12" + }, + { + "name": "i", + "nativeSrc": "1782:1:12", + "nodeType": "YulIdentifier", + "src": "1782:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1773:3:12", + "nodeType": "YulIdentifier", + "src": "1773:3:12" + }, + "nativeSrc": "1773:11:12", + "nodeType": "YulFunctionCall", + "src": "1773:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1796:3:12", + "nodeType": "YulIdentifier", + "src": "1796:3:12" + }, + { + "name": "i", + "nativeSrc": "1801:1:12", + "nodeType": "YulIdentifier", + "src": "1801:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1792:3:12", + "nodeType": "YulIdentifier", + "src": "1792:3:12" + }, + "nativeSrc": "1792:11:12", + "nodeType": "YulFunctionCall", + "src": "1792:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1786:5:12", + "nodeType": "YulIdentifier", + "src": "1786:5:12" + }, + "nativeSrc": "1786:18:12", + "nodeType": "YulFunctionCall", + "src": "1786:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1766:6:12", + "nodeType": "YulIdentifier", + "src": "1766:6:12" + }, + "nativeSrc": "1766:39:12", + "nodeType": "YulFunctionCall", + "src": "1766:39:12" + }, + "nativeSrc": "1766:39:12", + "nodeType": "YulExpressionStatement", + "src": "1766:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1713:1:12", + "nodeType": "YulIdentifier", + "src": "1713:1:12" + }, + { + "name": "length", + "nativeSrc": "1716:6:12", + "nodeType": "YulIdentifier", + "src": "1716:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1710:2:12", + "nodeType": "YulIdentifier", + "src": "1710:2:12" + }, + "nativeSrc": "1710:13:12", + "nodeType": "YulFunctionCall", + "src": "1710:13:12" + }, + "nativeSrc": "1702:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1724:19:12", + "nodeType": "YulBlock", + "src": "1724:19:12", + "statements": [ + { + "nativeSrc": "1726:15:12", + "nodeType": "YulAssignment", + "src": "1726:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1735:1:12", + "nodeType": "YulIdentifier", + "src": "1735:1:12" + }, + { + "kind": "number", + "nativeSrc": "1738:2:12", + "nodeType": "YulLiteral", + "src": "1738:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1731:3:12", + "nodeType": "YulIdentifier", + "src": "1731:3:12" + }, + "nativeSrc": "1731:10:12", + "nodeType": "YulFunctionCall", + "src": "1731:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1726:1:12", + "nodeType": "YulIdentifier", + "src": "1726:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1706:3:12", + "nodeType": "YulBlock", + "src": "1706:3:12", + "statements": [] + }, + "src": "1702:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1835:3:12", + "nodeType": "YulIdentifier", + "src": "1835:3:12" + }, + { + "name": "length", + "nativeSrc": "1840:6:12", + "nodeType": "YulIdentifier", + "src": "1840:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1831:3:12", + "nodeType": "YulIdentifier", + "src": "1831:3:12" + }, + "nativeSrc": "1831:16:12", + "nodeType": "YulFunctionCall", + "src": "1831:16:12" + }, + { + "kind": "number", + "nativeSrc": "1849:1:12", + "nodeType": "YulLiteral", + "src": "1849:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1824:6:12", + "nodeType": "YulIdentifier", + "src": "1824:6:12" + }, + "nativeSrc": "1824:27:12", + "nodeType": "YulFunctionCall", + "src": "1824:27:12" + }, + "nativeSrc": "1824:27:12", + "nodeType": "YulExpressionStatement", + "src": "1824:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1610:248:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1654:3:12", + "nodeType": "YulTypedName", + "src": "1654:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1659:3:12", + "nodeType": "YulTypedName", + "src": "1659:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1664:6:12", + "nodeType": "YulTypedName", + "src": "1664:6:12", + "type": "" + } + ], + "src": "1610:248:12" + }, + { + "body": { + "nativeSrc": "1959:339:12", + "nodeType": "YulBlock", + "src": "1959:339:12", + "statements": [ + { + "nativeSrc": "1969:75:12", + "nodeType": "YulAssignment", + "src": "1969:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2036:6:12", + "nodeType": "YulIdentifier", + "src": "2036:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "1994:41:12", + "nodeType": "YulIdentifier", + "src": "1994:41:12" + }, + "nativeSrc": "1994:49:12", + "nodeType": "YulFunctionCall", + "src": "1994:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1978:15:12", + "nodeType": "YulIdentifier", + "src": "1978:15:12" + }, + "nativeSrc": "1978:66:12", + "nodeType": "YulFunctionCall", + "src": "1978:66:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1969:5:12", + "nodeType": "YulIdentifier", + "src": "1969:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2060:5:12", + "nodeType": "YulIdentifier", + "src": "2060:5:12" + }, + { + "name": "length", + "nativeSrc": "2067:6:12", + "nodeType": "YulIdentifier", + "src": "2067:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2053:6:12", + "nodeType": "YulIdentifier", + "src": "2053:6:12" + }, + "nativeSrc": "2053:21:12", + "nodeType": "YulFunctionCall", + "src": "2053:21:12" + }, + "nativeSrc": "2053:21:12", + "nodeType": "YulExpressionStatement", + "src": "2053:21:12" + }, + { + "nativeSrc": "2083:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2083:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2098:5:12", + "nodeType": "YulIdentifier", + "src": "2098:5:12" + }, + { + "kind": "number", + "nativeSrc": "2105:4:12", + "nodeType": "YulLiteral", + "src": "2105:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2094:3:12", + "nodeType": "YulIdentifier", + "src": "2094:3:12" + }, + "nativeSrc": "2094:16:12", + "nodeType": "YulFunctionCall", + "src": "2094:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "2087:3:12", + "nodeType": "YulTypedName", + "src": "2087:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2148:83:12", + "nodeType": "YulBlock", + "src": "2148:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2150:77:12", + "nodeType": "YulIdentifier", + "src": "2150:77:12" + }, + "nativeSrc": "2150:79:12", + "nodeType": "YulFunctionCall", + "src": "2150:79:12" + }, + "nativeSrc": "2150:79:12", + "nodeType": "YulExpressionStatement", + "src": "2150:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2129:3:12", + "nodeType": "YulIdentifier", + "src": "2129:3:12" + }, + { + "name": "length", + "nativeSrc": "2134:6:12", + "nodeType": "YulIdentifier", + "src": "2134:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2125:3:12", + "nodeType": "YulIdentifier", + "src": "2125:3:12" + }, + "nativeSrc": "2125:16:12", + "nodeType": "YulFunctionCall", + "src": "2125:16:12" + }, + { + "name": "end", + "nativeSrc": "2143:3:12", + "nodeType": "YulIdentifier", + "src": "2143:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2122:2:12", + "nodeType": "YulIdentifier", + "src": "2122:2:12" + }, + "nativeSrc": "2122:25:12", + "nodeType": "YulFunctionCall", + "src": "2122:25:12" + }, + "nativeSrc": "2119:112:12", + "nodeType": "YulIf", + "src": "2119:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2275:3:12", + "nodeType": "YulIdentifier", + "src": "2275:3:12" + }, + { + "name": "dst", + "nativeSrc": "2280:3:12", + "nodeType": "YulIdentifier", + "src": "2280:3:12" + }, + { + "name": "length", + "nativeSrc": "2285:6:12", + "nodeType": "YulIdentifier", + "src": "2285:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2240:34:12", + "nodeType": "YulIdentifier", + "src": "2240:34:12" + }, + "nativeSrc": "2240:52:12", + "nodeType": "YulFunctionCall", + "src": "2240:52:12" + }, + "nativeSrc": "2240:52:12", + "nodeType": "YulExpressionStatement", + "src": "2240:52:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "1864:434:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1932:3:12", + "nodeType": "YulTypedName", + "src": "1932:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1937:6:12", + "nodeType": "YulTypedName", + "src": "1937:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1945:3:12", + "nodeType": "YulTypedName", + "src": "1945:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1953:5:12", + "nodeType": "YulTypedName", + "src": "1953:5:12", + "type": "" + } + ], + "src": "1864:434:12" + }, + { + "body": { + "nativeSrc": "2391:282:12", + "nodeType": "YulBlock", + "src": "2391:282:12", + "statements": [ + { + "body": { + "nativeSrc": "2440:83:12", + "nodeType": "YulBlock", + "src": "2440:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2442:77:12", + "nodeType": "YulIdentifier", + "src": "2442:77:12" + }, + "nativeSrc": "2442:79:12", + "nodeType": "YulFunctionCall", + "src": "2442:79:12" + }, + "nativeSrc": "2442:79:12", + "nodeType": "YulExpressionStatement", + "src": "2442:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2419:6:12", + "nodeType": "YulIdentifier", + "src": "2419:6:12" + }, + { + "kind": "number", + "nativeSrc": "2427:4:12", + "nodeType": "YulLiteral", + "src": "2427:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2415:3:12", + "nodeType": "YulIdentifier", + "src": "2415:3:12" + }, + "nativeSrc": "2415:17:12", + "nodeType": "YulFunctionCall", + "src": "2415:17:12" + }, + { + "name": "end", + "nativeSrc": "2434:3:12", + "nodeType": "YulIdentifier", + "src": "2434:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2411:3:12", + "nodeType": "YulIdentifier", + "src": "2411:3:12" + }, + "nativeSrc": "2411:27:12", + "nodeType": "YulFunctionCall", + "src": "2411:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2404:6:12", + "nodeType": "YulIdentifier", + "src": "2404:6:12" + }, + "nativeSrc": "2404:35:12", + "nodeType": "YulFunctionCall", + "src": "2404:35:12" + }, + "nativeSrc": "2401:122:12", + "nodeType": "YulIf", + "src": "2401:122:12" + }, + { + "nativeSrc": "2532:27:12", + "nodeType": "YulVariableDeclaration", + "src": "2532:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2552:6:12", + "nodeType": "YulIdentifier", + "src": "2552:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2546:5:12", + "nodeType": "YulIdentifier", + "src": "2546:5:12" + }, + "nativeSrc": "2546:13:12", + "nodeType": "YulFunctionCall", + "src": "2546:13:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2536:6:12", + "nodeType": "YulTypedName", + "src": "2536:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2568:99:12", + "nodeType": "YulAssignment", + "src": "2568:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2640:6:12", + "nodeType": "YulIdentifier", + "src": "2640:6:12" + }, + { + "kind": "number", + "nativeSrc": "2648:4:12", + "nodeType": "YulLiteral", + "src": "2648:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2636:3:12", + "nodeType": "YulIdentifier", + "src": "2636:3:12" + }, + "nativeSrc": "2636:17:12", + "nodeType": "YulFunctionCall", + "src": "2636:17:12" + }, + { + "name": "length", + "nativeSrc": "2655:6:12", + "nodeType": "YulIdentifier", + "src": "2655:6:12" + }, + { + "name": "end", + "nativeSrc": "2663:3:12", + "nodeType": "YulIdentifier", + "src": "2663:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "2577:58:12", + "nodeType": "YulIdentifier", + "src": "2577:58:12" + }, + "nativeSrc": "2577:90:12", + "nodeType": "YulFunctionCall", + "src": "2577:90:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2568:5:12", + "nodeType": "YulIdentifier", + "src": "2568:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "2318:355:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2369:6:12", + "nodeType": "YulTypedName", + "src": "2369:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2377:3:12", + "nodeType": "YulTypedName", + "src": "2377:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2385:5:12", + "nodeType": "YulTypedName", + "src": "2385:5:12", + "type": "" + } + ], + "src": "2318:355:12" + }, + { + "body": { + "nativeSrc": "2793:739:12", + "nodeType": "YulBlock", + "src": "2793:739:12", + "statements": [ + { + "body": { + "nativeSrc": "2839:83:12", + "nodeType": "YulBlock", + "src": "2839:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "2841:77:12", + "nodeType": "YulIdentifier", + "src": "2841:77:12" + }, + "nativeSrc": "2841:79:12", + "nodeType": "YulFunctionCall", + "src": "2841:79:12" + }, + "nativeSrc": "2841:79:12", + "nodeType": "YulExpressionStatement", + "src": "2841:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2814:7:12", + "nodeType": "YulIdentifier", + "src": "2814:7:12" + }, + { + "name": "headStart", + "nativeSrc": "2823:9:12", + "nodeType": "YulIdentifier", + "src": "2823:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2810:3:12", + "nodeType": "YulIdentifier", + "src": "2810:3:12" + }, + "nativeSrc": "2810:23:12", + "nodeType": "YulFunctionCall", + "src": "2810:23:12" + }, + { + "kind": "number", + "nativeSrc": "2835:2:12", + "nodeType": "YulLiteral", + "src": "2835:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2806:3:12", + "nodeType": "YulIdentifier", + "src": "2806:3:12" + }, + "nativeSrc": "2806:32:12", + "nodeType": "YulFunctionCall", + "src": "2806:32:12" + }, + "nativeSrc": "2803:119:12", + "nodeType": "YulIf", + "src": "2803:119:12" + }, + { + "nativeSrc": "2932:291:12", + "nodeType": "YulBlock", + "src": "2932:291:12", + "statements": [ + { + "nativeSrc": "2947:38:12", + "nodeType": "YulVariableDeclaration", + "src": "2947:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2971:9:12", + "nodeType": "YulIdentifier", + "src": "2971:9:12" + }, + { + "kind": "number", + "nativeSrc": "2982:1:12", + "nodeType": "YulLiteral", + "src": "2982:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2967:3:12", + "nodeType": "YulIdentifier", + "src": "2967:3:12" + }, + "nativeSrc": "2967:17:12", + "nodeType": "YulFunctionCall", + "src": "2967:17:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2961:5:12", + "nodeType": "YulIdentifier", + "src": "2961:5:12" + }, + "nativeSrc": "2961:24:12", + "nodeType": "YulFunctionCall", + "src": "2961:24:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2951:6:12", + "nodeType": "YulTypedName", + "src": "2951:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3032:83:12", + "nodeType": "YulBlock", + "src": "3032:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3034:77:12", + "nodeType": "YulIdentifier", + "src": "3034:77:12" + }, + "nativeSrc": "3034:79:12", + "nodeType": "YulFunctionCall", + "src": "3034:79:12" + }, + "nativeSrc": "3034:79:12", + "nodeType": "YulExpressionStatement", + "src": "3034:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3004:6:12", + "nodeType": "YulIdentifier", + "src": "3004:6:12" + }, + { + "kind": "number", + "nativeSrc": "3012:18:12", + "nodeType": "YulLiteral", + "src": "3012:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3001:2:12", + "nodeType": "YulIdentifier", + "src": "3001:2:12" + }, + "nativeSrc": "3001:30:12", + "nodeType": "YulFunctionCall", + "src": "3001:30:12" + }, + "nativeSrc": "2998:117:12", + "nodeType": "YulIf", + "src": "2998:117:12" + }, + { + "nativeSrc": "3129:84:12", + "nodeType": "YulAssignment", + "src": "3129:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3185:9:12", + "nodeType": "YulIdentifier", + "src": "3185:9:12" + }, + { + "name": "offset", + "nativeSrc": "3196:6:12", + "nodeType": "YulIdentifier", + "src": "3196:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3181:3:12", + "nodeType": "YulIdentifier", + "src": "3181:3:12" + }, + "nativeSrc": "3181:22:12", + "nodeType": "YulFunctionCall", + "src": "3181:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3205:7:12", + "nodeType": "YulIdentifier", + "src": "3205:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "3139:41:12", + "nodeType": "YulIdentifier", + "src": "3139:41:12" + }, + "nativeSrc": "3139:74:12", + "nodeType": "YulFunctionCall", + "src": "3139:74:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3129:6:12", + "nodeType": "YulIdentifier", + "src": "3129:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "3233:292:12", + "nodeType": "YulBlock", + "src": "3233:292:12", + "statements": [ + { + "nativeSrc": "3248:39:12", + "nodeType": "YulVariableDeclaration", + "src": "3248:39:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3272:9:12", + "nodeType": "YulIdentifier", + "src": "3272:9:12" + }, + { + "kind": "number", + "nativeSrc": "3283:2:12", + "nodeType": "YulLiteral", + "src": "3283:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3268:3:12", + "nodeType": "YulIdentifier", + "src": "3268:3:12" + }, + "nativeSrc": "3268:18:12", + "nodeType": "YulFunctionCall", + "src": "3268:18:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3262:5:12", + "nodeType": "YulIdentifier", + "src": "3262:5:12" + }, + "nativeSrc": "3262:25:12", + "nodeType": "YulFunctionCall", + "src": "3262:25:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3252:6:12", + "nodeType": "YulTypedName", + "src": "3252:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3334:83:12", + "nodeType": "YulBlock", + "src": "3334:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3336:77:12", + "nodeType": "YulIdentifier", + "src": "3336:77:12" + }, + "nativeSrc": "3336:79:12", + "nodeType": "YulFunctionCall", + "src": "3336:79:12" + }, + "nativeSrc": "3336:79:12", + "nodeType": "YulExpressionStatement", + "src": "3336:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3306:6:12", + "nodeType": "YulIdentifier", + "src": "3306:6:12" + }, + { + "kind": "number", + "nativeSrc": "3314:18:12", + "nodeType": "YulLiteral", + "src": "3314:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3303:2:12", + "nodeType": "YulIdentifier", + "src": "3303:2:12" + }, + "nativeSrc": "3303:30:12", + "nodeType": "YulFunctionCall", + "src": "3303:30:12" + }, + "nativeSrc": "3300:117:12", + "nodeType": "YulIf", + "src": "3300:117:12" + }, + { + "nativeSrc": "3431:84:12", + "nodeType": "YulAssignment", + "src": "3431:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3487:9:12", + "nodeType": "YulIdentifier", + "src": "3487:9:12" + }, + { + "name": "offset", + "nativeSrc": "3498:6:12", + "nodeType": "YulIdentifier", + "src": "3498:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3483:3:12", + "nodeType": "YulIdentifier", + "src": "3483:3:12" + }, + "nativeSrc": "3483:22:12", + "nodeType": "YulFunctionCall", + "src": "3483:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3507:7:12", + "nodeType": "YulIdentifier", + "src": "3507:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "3441:41:12", + "nodeType": "YulIdentifier", + "src": "3441:41:12" + }, + "nativeSrc": "3441:74:12", + "nodeType": "YulFunctionCall", + "src": "3441:74:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "3431:6:12", + "nodeType": "YulIdentifier", + "src": "3431:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", + "nativeSrc": "2679:853:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2755:9:12", + "nodeType": "YulTypedName", + "src": "2755:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2766:7:12", + "nodeType": "YulTypedName", + "src": "2766:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2778:6:12", + "nodeType": "YulTypedName", + "src": "2778:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "2786:6:12", + "nodeType": "YulTypedName", + "src": "2786:6:12", + "type": "" + } + ], + "src": "2679:853:12" + }, + { + "body": { + "nativeSrc": "3597:40:12", + "nodeType": "YulBlock", + "src": "3597:40:12", + "statements": [ + { + "nativeSrc": "3608:22:12", + "nodeType": "YulAssignment", + "src": "3608:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3624:5:12", + "nodeType": "YulIdentifier", + "src": "3624:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3618:5:12", + "nodeType": "YulIdentifier", + "src": "3618:5:12" + }, + "nativeSrc": "3618:12:12", + "nodeType": "YulFunctionCall", + "src": "3618:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "3608:6:12", + "nodeType": "YulIdentifier", + "src": "3608:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "3538:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3580:5:12", + "nodeType": "YulTypedName", + "src": "3580:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "3590:6:12", + "nodeType": "YulTypedName", + "src": "3590:6:12", + "type": "" + } + ], + "src": "3538:99:12" + }, + { + "body": { + "nativeSrc": "3671:152:12", + "nodeType": "YulBlock", + "src": "3671:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3688:1:12", + "nodeType": "YulLiteral", + "src": "3688:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3691:77:12", + "nodeType": "YulLiteral", + "src": "3691:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3681:6:12", + "nodeType": "YulIdentifier", + "src": "3681:6:12" + }, + "nativeSrc": "3681:88:12", + "nodeType": "YulFunctionCall", + "src": "3681:88:12" + }, + "nativeSrc": "3681:88:12", + "nodeType": "YulExpressionStatement", + "src": "3681:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3785:1:12", + "nodeType": "YulLiteral", + "src": "3785:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3788:4:12", + "nodeType": "YulLiteral", + "src": "3788:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3778:6:12", + "nodeType": "YulIdentifier", + "src": "3778:6:12" + }, + "nativeSrc": "3778:15:12", + "nodeType": "YulFunctionCall", + "src": "3778:15:12" + }, + "nativeSrc": "3778:15:12", + "nodeType": "YulExpressionStatement", + "src": "3778:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3809:1:12", + "nodeType": "YulLiteral", + "src": "3809:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3812:4:12", + "nodeType": "YulLiteral", + "src": "3812:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3802:6:12", + "nodeType": "YulIdentifier", + "src": "3802:6:12" + }, + "nativeSrc": "3802:15:12", + "nodeType": "YulFunctionCall", + "src": "3802:15:12" + }, + "nativeSrc": "3802:15:12", + "nodeType": "YulExpressionStatement", + "src": "3802:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "3643:180:12", + "nodeType": "YulFunctionDefinition", + "src": "3643:180:12" + }, + { + "body": { + "nativeSrc": "3880:269:12", + "nodeType": "YulBlock", + "src": "3880:269:12", + "statements": [ + { + "nativeSrc": "3890:22:12", + "nodeType": "YulAssignment", + "src": "3890:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "3904:4:12", + "nodeType": "YulIdentifier", + "src": "3904:4:12" + }, + { + "kind": "number", + "nativeSrc": "3910:1:12", + "nodeType": "YulLiteral", + "src": "3910:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "3900:3:12", + "nodeType": "YulIdentifier", + "src": "3900:3:12" + }, + "nativeSrc": "3900:12:12", + "nodeType": "YulFunctionCall", + "src": "3900:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "3890:6:12", + "nodeType": "YulIdentifier", + "src": "3890:6:12" + } + ] + }, + { + "nativeSrc": "3921:38:12", + "nodeType": "YulVariableDeclaration", + "src": "3921:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "3951:4:12", + "nodeType": "YulIdentifier", + "src": "3951:4:12" + }, + { + "kind": "number", + "nativeSrc": "3957:1:12", + "nodeType": "YulLiteral", + "src": "3957:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "3947:3:12", + "nodeType": "YulIdentifier", + "src": "3947:3:12" + }, + "nativeSrc": "3947:12:12", + "nodeType": "YulFunctionCall", + "src": "3947:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "3925:18:12", + "nodeType": "YulTypedName", + "src": "3925:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3998:51:12", + "nodeType": "YulBlock", + "src": "3998:51:12", + "statements": [ + { + "nativeSrc": "4012:27:12", + "nodeType": "YulAssignment", + "src": "4012:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "4026:6:12", + "nodeType": "YulIdentifier", + "src": "4026:6:12" + }, + { + "kind": "number", + "nativeSrc": "4034:4:12", + "nodeType": "YulLiteral", + "src": "4034:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4022:3:12", + "nodeType": "YulIdentifier", + "src": "4022:3:12" + }, + "nativeSrc": "4022:17:12", + "nodeType": "YulFunctionCall", + "src": "4022:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "4012:6:12", + "nodeType": "YulIdentifier", + "src": "4012:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "3978:18:12", + "nodeType": "YulIdentifier", + "src": "3978:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3971:6:12", + "nodeType": "YulIdentifier", + "src": "3971:6:12" + }, + "nativeSrc": "3971:26:12", + "nodeType": "YulFunctionCall", + "src": "3971:26:12" + }, + "nativeSrc": "3968:81:12", + "nodeType": "YulIf", + "src": "3968:81:12" + }, + { + "body": { + "nativeSrc": "4101:42:12", + "nodeType": "YulBlock", + "src": "4101:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "4115:16:12", + "nodeType": "YulIdentifier", + "src": "4115:16:12" + }, + "nativeSrc": "4115:18:12", + "nodeType": "YulFunctionCall", + "src": "4115:18:12" + }, + "nativeSrc": "4115:18:12", + "nodeType": "YulExpressionStatement", + "src": "4115:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "4065:18:12", + "nodeType": "YulIdentifier", + "src": "4065:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "4088:6:12", + "nodeType": "YulIdentifier", + "src": "4088:6:12" + }, + { + "kind": "number", + "nativeSrc": "4096:2:12", + "nodeType": "YulLiteral", + "src": "4096:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "4085:2:12", + "nodeType": "YulIdentifier", + "src": "4085:2:12" + }, + "nativeSrc": "4085:14:12", + "nodeType": "YulFunctionCall", + "src": "4085:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "4062:2:12", + "nodeType": "YulIdentifier", + "src": "4062:2:12" + }, + "nativeSrc": "4062:38:12", + "nodeType": "YulFunctionCall", + "src": "4062:38:12" + }, + "nativeSrc": "4059:84:12", + "nodeType": "YulIf", + "src": "4059:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "3829:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "3864:4:12", + "nodeType": "YulTypedName", + "src": "3864:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "3873:6:12", + "nodeType": "YulTypedName", + "src": "3873:6:12", + "type": "" + } + ], + "src": "3829:320:12" + }, + { + "body": { + "nativeSrc": "4209:87:12", + "nodeType": "YulBlock", + "src": "4209:87:12", + "statements": [ + { + "nativeSrc": "4219:11:12", + "nodeType": "YulAssignment", + "src": "4219:11:12", + "value": { + "name": "ptr", + "nativeSrc": "4227:3:12", + "nodeType": "YulIdentifier", + "src": "4227:3:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "4219:4:12", + "nodeType": "YulIdentifier", + "src": "4219:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4247:1:12", + "nodeType": "YulLiteral", + "src": "4247:1:12", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "4250:3:12", + "nodeType": "YulIdentifier", + "src": "4250:3:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4240:6:12", + "nodeType": "YulIdentifier", + "src": "4240:6:12" + }, + "nativeSrc": "4240:14:12", + "nodeType": "YulFunctionCall", + "src": "4240:14:12" + }, + "nativeSrc": "4240:14:12", + "nodeType": "YulExpressionStatement", + "src": "4240:14:12" + }, + { + "nativeSrc": "4263:26:12", + "nodeType": "YulAssignment", + "src": "4263:26:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4281:1:12", + "nodeType": "YulLiteral", + "src": "4281:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4284:4:12", + "nodeType": "YulLiteral", + "src": "4284:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "4271:9:12", + "nodeType": "YulIdentifier", + "src": "4271:9:12" + }, + "nativeSrc": "4271:18:12", + "nodeType": "YulFunctionCall", + "src": "4271:18:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "4263:4:12", + "nodeType": "YulIdentifier", + "src": "4263:4:12" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "4155:141:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "4196:3:12", + "nodeType": "YulTypedName", + "src": "4196:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "4204:4:12", + "nodeType": "YulTypedName", + "src": "4204:4:12", + "type": "" + } + ], + "src": "4155:141:12" + }, + { + "body": { + "nativeSrc": "4346:49:12", + "nodeType": "YulBlock", + "src": "4346:49:12", + "statements": [ + { + "nativeSrc": "4356:33:12", + "nodeType": "YulAssignment", + "src": "4356:33:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4374:5:12", + "nodeType": "YulIdentifier", + "src": "4374:5:12" + }, + { + "kind": "number", + "nativeSrc": "4381:2:12", + "nodeType": "YulLiteral", + "src": "4381:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4370:3:12", + "nodeType": "YulIdentifier", + "src": "4370:3:12" + }, + "nativeSrc": "4370:14:12", + "nodeType": "YulFunctionCall", + "src": "4370:14:12" + }, + { + "kind": "number", + "nativeSrc": "4386:2:12", + "nodeType": "YulLiteral", + "src": "4386:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "4366:3:12", + "nodeType": "YulIdentifier", + "src": "4366:3:12" + }, + "nativeSrc": "4366:23:12", + "nodeType": "YulFunctionCall", + "src": "4366:23:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "4356:6:12", + "nodeType": "YulIdentifier", + "src": "4356:6:12" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "4302:93:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4329:5:12", + "nodeType": "YulTypedName", + "src": "4329:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "4339:6:12", + "nodeType": "YulTypedName", + "src": "4339:6:12", + "type": "" + } + ], + "src": "4302:93:12" + }, + { + "body": { + "nativeSrc": "4454:54:12", + "nodeType": "YulBlock", + "src": "4454:54:12", + "statements": [ + { + "nativeSrc": "4464:37:12", + "nodeType": "YulAssignment", + "src": "4464:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "4489:4:12", + "nodeType": "YulIdentifier", + "src": "4489:4:12" + }, + { + "name": "value", + "nativeSrc": "4495:5:12", + "nodeType": "YulIdentifier", + "src": "4495:5:12" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "4485:3:12", + "nodeType": "YulIdentifier", + "src": "4485:3:12" + }, + "nativeSrc": "4485:16:12", + "nodeType": "YulFunctionCall", + "src": "4485:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "4464:8:12", + "nodeType": "YulIdentifier", + "src": "4464:8:12" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "4401:107:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "4429:4:12", + "nodeType": "YulTypedName", + "src": "4429:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "4435:5:12", + "nodeType": "YulTypedName", + "src": "4435:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "4445:8:12", + "nodeType": "YulTypedName", + "src": "4445:8:12", + "type": "" + } + ], + "src": "4401:107:12" + }, + { + "body": { + "nativeSrc": "4590:317:12", + "nodeType": "YulBlock", + "src": "4590:317:12", + "statements": [ + { + "nativeSrc": "4600:35:12", + "nodeType": "YulVariableDeclaration", + "src": "4600:35:12", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "4621:10:12", + "nodeType": "YulIdentifier", + "src": "4621:10:12" + }, + { + "kind": "number", + "nativeSrc": "4633:1:12", + "nodeType": "YulLiteral", + "src": "4633:1:12", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "4617:3:12", + "nodeType": "YulIdentifier", + "src": "4617:3:12" + }, + "nativeSrc": "4617:18:12", + "nodeType": "YulFunctionCall", + "src": "4617:18:12" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "4604:9:12", + "nodeType": "YulTypedName", + "src": "4604:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4644:109:12", + "nodeType": "YulVariableDeclaration", + "src": "4644:109:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "4675:9:12", + "nodeType": "YulIdentifier", + "src": "4675:9:12" + }, + { + "kind": "number", + "nativeSrc": "4686:66:12", + "nodeType": "YulLiteral", + "src": "4686:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "4656:18:12", + "nodeType": "YulIdentifier", + "src": "4656:18:12" + }, + "nativeSrc": "4656:97:12", + "nodeType": "YulFunctionCall", + "src": "4656:97:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "4648:4:12", + "nodeType": "YulTypedName", + "src": "4648:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4762:51:12", + "nodeType": "YulAssignment", + "src": "4762:51:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "4793:9:12", + "nodeType": "YulIdentifier", + "src": "4793:9:12" + }, + { + "name": "toInsert", + "nativeSrc": "4804:8:12", + "nodeType": "YulIdentifier", + "src": "4804:8:12" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "4774:18:12", + "nodeType": "YulIdentifier", + "src": "4774:18:12" + }, + "nativeSrc": "4774:39:12", + "nodeType": "YulFunctionCall", + "src": "4774:39:12" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "4762:8:12", + "nodeType": "YulIdentifier", + "src": "4762:8:12" + } + ] + }, + { + "nativeSrc": "4822:30:12", + "nodeType": "YulAssignment", + "src": "4822:30:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4835:5:12", + "nodeType": "YulIdentifier", + "src": "4835:5:12" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "4846:4:12", + "nodeType": "YulIdentifier", + "src": "4846:4:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4842:3:12", + "nodeType": "YulIdentifier", + "src": "4842:3:12" + }, + "nativeSrc": "4842:9:12", + "nodeType": "YulFunctionCall", + "src": "4842:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4831:3:12", + "nodeType": "YulIdentifier", + "src": "4831:3:12" + }, + "nativeSrc": "4831:21:12", + "nodeType": "YulFunctionCall", + "src": "4831:21:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "4822:5:12", + "nodeType": "YulIdentifier", + "src": "4822:5:12" + } + ] + }, + { + "nativeSrc": "4861:40:12", + "nodeType": "YulAssignment", + "src": "4861:40:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4874:5:12", + "nodeType": "YulIdentifier", + "src": "4874:5:12" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "4885:8:12", + "nodeType": "YulIdentifier", + "src": "4885:8:12" + }, + { + "name": "mask", + "nativeSrc": "4895:4:12", + "nodeType": "YulIdentifier", + "src": "4895:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4881:3:12", + "nodeType": "YulIdentifier", + "src": "4881:3:12" + }, + "nativeSrc": "4881:19:12", + "nodeType": "YulFunctionCall", + "src": "4881:19:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "4871:2:12", + "nodeType": "YulIdentifier", + "src": "4871:2:12" + }, + "nativeSrc": "4871:30:12", + "nodeType": "YulFunctionCall", + "src": "4871:30:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "4861:6:12", + "nodeType": "YulIdentifier", + "src": "4861:6:12" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "4514:393:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4551:5:12", + "nodeType": "YulTypedName", + "src": "4551:5:12", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "4558:10:12", + "nodeType": "YulTypedName", + "src": "4558:10:12", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "4570:8:12", + "nodeType": "YulTypedName", + "src": "4570:8:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "4583:6:12", + "nodeType": "YulTypedName", + "src": "4583:6:12", + "type": "" + } + ], + "src": "4514:393:12" + }, + { + "body": { + "nativeSrc": "4958:32:12", + "nodeType": "YulBlock", + "src": "4958:32:12", + "statements": [ + { + "nativeSrc": "4968:16:12", + "nodeType": "YulAssignment", + "src": "4968:16:12", + "value": { + "name": "value", + "nativeSrc": "4979:5:12", + "nodeType": "YulIdentifier", + "src": "4979:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4968:7:12", + "nodeType": "YulIdentifier", + "src": "4968:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "4913:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4940:5:12", + "nodeType": "YulTypedName", + "src": "4940:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4950:7:12", + "nodeType": "YulTypedName", + "src": "4950:7:12", + "type": "" + } + ], + "src": "4913:77:12" + }, + { + "body": { + "nativeSrc": "5028:28:12", + "nodeType": "YulBlock", + "src": "5028:28:12", + "statements": [ + { + "nativeSrc": "5038:12:12", + "nodeType": "YulAssignment", + "src": "5038:12:12", + "value": { + "name": "value", + "nativeSrc": "5045:5:12", + "nodeType": "YulIdentifier", + "src": "5045:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "5038:3:12", + "nodeType": "YulIdentifier", + "src": "5038:3:12" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "4996:60:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5014:5:12", + "nodeType": "YulTypedName", + "src": "5014:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "5024:3:12", + "nodeType": "YulTypedName", + "src": "5024:3:12", + "type": "" + } + ], + "src": "4996:60:12" + }, + { + "body": { + "nativeSrc": "5122:82:12", + "nodeType": "YulBlock", + "src": "5122:82:12", + "statements": [ + { + "nativeSrc": "5132:66:12", + "nodeType": "YulAssignment", + "src": "5132:66:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5190:5:12", + "nodeType": "YulIdentifier", + "src": "5190:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5172:17:12", + "nodeType": "YulIdentifier", + "src": "5172:17:12" + }, + "nativeSrc": "5172:24:12", + "nodeType": "YulFunctionCall", + "src": "5172:24:12" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "5163:8:12", + "nodeType": "YulIdentifier", + "src": "5163:8:12" + }, + "nativeSrc": "5163:34:12", + "nodeType": "YulFunctionCall", + "src": "5163:34:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5145:17:12", + "nodeType": "YulIdentifier", + "src": "5145:17:12" + }, + "nativeSrc": "5145:53:12", + "nodeType": "YulFunctionCall", + "src": "5145:53:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "5132:9:12", + "nodeType": "YulIdentifier", + "src": "5132:9:12" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "5062:142:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5102:5:12", + "nodeType": "YulTypedName", + "src": "5102:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "5112:9:12", + "nodeType": "YulTypedName", + "src": "5112:9:12", + "type": "" + } + ], + "src": "5062:142:12" + }, + { + "body": { + "nativeSrc": "5257:28:12", + "nodeType": "YulBlock", + "src": "5257:28:12", + "statements": [ + { + "nativeSrc": "5267:12:12", + "nodeType": "YulAssignment", + "src": "5267:12:12", + "value": { + "name": "value", + "nativeSrc": "5274:5:12", + "nodeType": "YulIdentifier", + "src": "5274:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "5267:3:12", + "nodeType": "YulIdentifier", + "src": "5267:3:12" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "5210:75:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5243:5:12", + "nodeType": "YulTypedName", + "src": "5243:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "5253:3:12", + "nodeType": "YulTypedName", + "src": "5253:3:12", + "type": "" + } + ], + "src": "5210:75:12" + }, + { + "body": { + "nativeSrc": "5367:193:12", + "nodeType": "YulBlock", + "src": "5367:193:12", + "statements": [ + { + "nativeSrc": "5377:63:12", + "nodeType": "YulVariableDeclaration", + "src": "5377:63:12", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "5432:7:12", + "nodeType": "YulIdentifier", + "src": "5432:7:12" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "5401:30:12", + "nodeType": "YulIdentifier", + "src": "5401:30:12" + }, + "nativeSrc": "5401:39:12", + "nodeType": "YulFunctionCall", + "src": "5401:39:12" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "5381:16:12", + "nodeType": "YulTypedName", + "src": "5381:16:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5456:4:12", + "nodeType": "YulIdentifier", + "src": "5456:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5496:4:12", + "nodeType": "YulIdentifier", + "src": "5496:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "5490:5:12", + "nodeType": "YulIdentifier", + "src": "5490:5:12" + }, + "nativeSrc": "5490:11:12", + "nodeType": "YulFunctionCall", + "src": "5490:11:12" + }, + { + "name": "offset", + "nativeSrc": "5503:6:12", + "nodeType": "YulIdentifier", + "src": "5503:6:12" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "5535:16:12", + "nodeType": "YulIdentifier", + "src": "5535:16:12" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "5511:23:12", + "nodeType": "YulIdentifier", + "src": "5511:23:12" + }, + "nativeSrc": "5511:41:12", + "nodeType": "YulFunctionCall", + "src": "5511:41:12" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "5462:27:12", + "nodeType": "YulIdentifier", + "src": "5462:27:12" + }, + "nativeSrc": "5462:91:12", + "nodeType": "YulFunctionCall", + "src": "5462:91:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "5449:6:12", + "nodeType": "YulIdentifier", + "src": "5449:6:12" + }, + "nativeSrc": "5449:105:12", + "nodeType": "YulFunctionCall", + "src": "5449:105:12" + }, + "nativeSrc": "5449:105:12", + "nodeType": "YulExpressionStatement", + "src": "5449:105:12" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "5291:269:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "5344:4:12", + "nodeType": "YulTypedName", + "src": "5344:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "5350:6:12", + "nodeType": "YulTypedName", + "src": "5350:6:12", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "5358:7:12", + "nodeType": "YulTypedName", + "src": "5358:7:12", + "type": "" + } + ], + "src": "5291:269:12" + }, + { + "body": { + "nativeSrc": "5615:24:12", + "nodeType": "YulBlock", + "src": "5615:24:12", + "statements": [ + { + "nativeSrc": "5625:8:12", + "nodeType": "YulAssignment", + "src": "5625:8:12", + "value": { + "kind": "number", + "nativeSrc": "5632:1:12", + "nodeType": "YulLiteral", + "src": "5632:1:12", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "5625:3:12", + "nodeType": "YulIdentifier", + "src": "5625:3:12" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "5566:73:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "5611:3:12", + "nodeType": "YulTypedName", + "src": "5611:3:12", + "type": "" + } + ], + "src": "5566:73:12" + }, + { + "body": { + "nativeSrc": "5698:136:12", + "nodeType": "YulBlock", + "src": "5698:136:12", + "statements": [ + { + "nativeSrc": "5708:46:12", + "nodeType": "YulVariableDeclaration", + "src": "5708:46:12", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "5722:30:12", + "nodeType": "YulIdentifier", + "src": "5722:30:12" + }, + "nativeSrc": "5722:32:12", + "nodeType": "YulFunctionCall", + "src": "5722:32:12" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "5712:6:12", + "nodeType": "YulTypedName", + "src": "5712:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5807:4:12", + "nodeType": "YulIdentifier", + "src": "5807:4:12" + }, + { + "name": "offset", + "nativeSrc": "5813:6:12", + "nodeType": "YulIdentifier", + "src": "5813:6:12" + }, + { + "name": "zero_0", + "nativeSrc": "5821:6:12", + "nodeType": "YulIdentifier", + "src": "5821:6:12" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "5763:43:12", + "nodeType": "YulIdentifier", + "src": "5763:43:12" + }, + "nativeSrc": "5763:65:12", + "nodeType": "YulFunctionCall", + "src": "5763:65:12" + }, + "nativeSrc": "5763:65:12", + "nodeType": "YulExpressionStatement", + "src": "5763:65:12" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "5645:189:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "5684:4:12", + "nodeType": "YulTypedName", + "src": "5684:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "5690:6:12", + "nodeType": "YulTypedName", + "src": "5690:6:12", + "type": "" + } + ], + "src": "5645:189:12" + }, + { + "body": { + "nativeSrc": "5890:136:12", + "nodeType": "YulBlock", + "src": "5890:136:12", + "statements": [ + { + "body": { + "nativeSrc": "5957:63:12", + "nodeType": "YulBlock", + "src": "5957:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "6001:5:12", + "nodeType": "YulIdentifier", + "src": "6001:5:12" + }, + { + "kind": "number", + "nativeSrc": "6008:1:12", + "nodeType": "YulLiteral", + "src": "6008:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "5971:29:12", + "nodeType": "YulIdentifier", + "src": "5971:29:12" + }, + "nativeSrc": "5971:39:12", + "nodeType": "YulFunctionCall", + "src": "5971:39:12" + }, + "nativeSrc": "5971:39:12", + "nodeType": "YulExpressionStatement", + "src": "5971:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "5910:5:12", + "nodeType": "YulIdentifier", + "src": "5910:5:12" + }, + { + "name": "end", + "nativeSrc": "5917:3:12", + "nodeType": "YulIdentifier", + "src": "5917:3:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "5907:2:12", + "nodeType": "YulIdentifier", + "src": "5907:2:12" + }, + "nativeSrc": "5907:14:12", + "nodeType": "YulFunctionCall", + "src": "5907:14:12" + }, + "nativeSrc": "5900:120:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "5922:26:12", + "nodeType": "YulBlock", + "src": "5922:26:12", + "statements": [ + { + "nativeSrc": "5924:22:12", + "nodeType": "YulAssignment", + "src": "5924:22:12", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "5937:5:12", + "nodeType": "YulIdentifier", + "src": "5937:5:12" + }, + { + "kind": "number", + "nativeSrc": "5944:1:12", + "nodeType": "YulLiteral", + "src": "5944:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5933:3:12", + "nodeType": "YulIdentifier", + "src": "5933:3:12" + }, + "nativeSrc": "5933:13:12", + "nodeType": "YulFunctionCall", + "src": "5933:13:12" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "5924:5:12", + "nodeType": "YulIdentifier", + "src": "5924:5:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "5904:2:12", + "nodeType": "YulBlock", + "src": "5904:2:12", + "statements": [] + }, + "src": "5900:120:12" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "5840:186:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "5878:5:12", + "nodeType": "YulTypedName", + "src": "5878:5:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5885:3:12", + "nodeType": "YulTypedName", + "src": "5885:3:12", + "type": "" + } + ], + "src": "5840:186:12" + }, + { + "body": { + "nativeSrc": "6111:464:12", + "nodeType": "YulBlock", + "src": "6111:464:12", + "statements": [ + { + "body": { + "nativeSrc": "6137:431:12", + "nodeType": "YulBlock", + "src": "6137:431:12", + "statements": [ + { + "nativeSrc": "6151:54:12", + "nodeType": "YulVariableDeclaration", + "src": "6151:54:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "6199:5:12", + "nodeType": "YulIdentifier", + "src": "6199:5:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "6167:31:12", + "nodeType": "YulIdentifier", + "src": "6167:31:12" + }, + "nativeSrc": "6167:38:12", + "nodeType": "YulFunctionCall", + "src": "6167:38:12" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "6155:8:12", + "nodeType": "YulTypedName", + "src": "6155:8:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6218:63:12", + "nodeType": "YulVariableDeclaration", + "src": "6218:63:12", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "6241:8:12", + "nodeType": "YulIdentifier", + "src": "6241:8:12" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "6269:10:12", + "nodeType": "YulIdentifier", + "src": "6269:10:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "6251:17:12", + "nodeType": "YulIdentifier", + "src": "6251:17:12" + }, + "nativeSrc": "6251:29:12", + "nodeType": "YulFunctionCall", + "src": "6251:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6237:3:12", + "nodeType": "YulIdentifier", + "src": "6237:3:12" + }, + "nativeSrc": "6237:44:12", + "nodeType": "YulFunctionCall", + "src": "6237:44:12" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "6222:11:12", + "nodeType": "YulTypedName", + "src": "6222:11:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6438:27:12", + "nodeType": "YulBlock", + "src": "6438:27:12", + "statements": [ + { + "nativeSrc": "6440:23:12", + "nodeType": "YulAssignment", + "src": "6440:23:12", + "value": { + "name": "dataArea", + "nativeSrc": "6455:8:12", + "nodeType": "YulIdentifier", + "src": "6455:8:12" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "6440:11:12", + "nodeType": "YulIdentifier", + "src": "6440:11:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "6422:10:12", + "nodeType": "YulIdentifier", + "src": "6422:10:12" + }, + { + "kind": "number", + "nativeSrc": "6434:2:12", + "nodeType": "YulLiteral", + "src": "6434:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6419:2:12", + "nodeType": "YulIdentifier", + "src": "6419:2:12" + }, + "nativeSrc": "6419:18:12", + "nodeType": "YulFunctionCall", + "src": "6419:18:12" + }, + "nativeSrc": "6416:49:12", + "nodeType": "YulIf", + "src": "6416:49:12" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "6507:11:12", + "nodeType": "YulIdentifier", + "src": "6507:11:12" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "6524:8:12", + "nodeType": "YulIdentifier", + "src": "6524:8:12" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "6552:3:12", + "nodeType": "YulIdentifier", + "src": "6552:3:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "6534:17:12", + "nodeType": "YulIdentifier", + "src": "6534:17:12" + }, + "nativeSrc": "6534:22:12", + "nodeType": "YulFunctionCall", + "src": "6534:22:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6520:3:12", + "nodeType": "YulIdentifier", + "src": "6520:3:12" + }, + "nativeSrc": "6520:37:12", + "nodeType": "YulFunctionCall", + "src": "6520:37:12" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "6478:28:12", + "nodeType": "YulIdentifier", + "src": "6478:28:12" + }, + "nativeSrc": "6478:80:12", + "nodeType": "YulFunctionCall", + "src": "6478:80:12" + }, + "nativeSrc": "6478:80:12", + "nodeType": "YulExpressionStatement", + "src": "6478:80:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "6128:3:12", + "nodeType": "YulIdentifier", + "src": "6128:3:12" + }, + { + "kind": "number", + "nativeSrc": "6133:2:12", + "nodeType": "YulLiteral", + "src": "6133:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6125:2:12", + "nodeType": "YulIdentifier", + "src": "6125:2:12" + }, + "nativeSrc": "6125:11:12", + "nodeType": "YulFunctionCall", + "src": "6125:11:12" + }, + "nativeSrc": "6122:446:12", + "nodeType": "YulIf", + "src": "6122:446:12" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "6032:543:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "6087:5:12", + "nodeType": "YulTypedName", + "src": "6087:5:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "6094:3:12", + "nodeType": "YulTypedName", + "src": "6094:3:12", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "6099:10:12", + "nodeType": "YulTypedName", + "src": "6099:10:12", + "type": "" + } + ], + "src": "6032:543:12" + }, + { + "body": { + "nativeSrc": "6644:54:12", + "nodeType": "YulBlock", + "src": "6644:54:12", + "statements": [ + { + "nativeSrc": "6654:37:12", + "nodeType": "YulAssignment", + "src": "6654:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "6679:4:12", + "nodeType": "YulIdentifier", + "src": "6679:4:12" + }, + { + "name": "value", + "nativeSrc": "6685:5:12", + "nodeType": "YulIdentifier", + "src": "6685:5:12" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "6675:3:12", + "nodeType": "YulIdentifier", + "src": "6675:3:12" + }, + "nativeSrc": "6675:16:12", + "nodeType": "YulFunctionCall", + "src": "6675:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "6654:8:12", + "nodeType": "YulIdentifier", + "src": "6654:8:12" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "6581:117:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "6619:4:12", + "nodeType": "YulTypedName", + "src": "6619:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "6625:5:12", + "nodeType": "YulTypedName", + "src": "6625:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "6635:8:12", + "nodeType": "YulTypedName", + "src": "6635:8:12", + "type": "" + } + ], + "src": "6581:117:12" + }, + { + "body": { + "nativeSrc": "6755:118:12", + "nodeType": "YulBlock", + "src": "6755:118:12", + "statements": [ + { + "nativeSrc": "6765:68:12", + "nodeType": "YulVariableDeclaration", + "src": "6765:68:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6814:1:12", + "nodeType": "YulLiteral", + "src": "6814:1:12", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "6817:5:12", + "nodeType": "YulIdentifier", + "src": "6817:5:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6810:3:12", + "nodeType": "YulIdentifier", + "src": "6810:3:12" + }, + "nativeSrc": "6810:13:12", + "nodeType": "YulFunctionCall", + "src": "6810:13:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6829:1:12", + "nodeType": "YulLiteral", + "src": "6829:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "6825:3:12", + "nodeType": "YulIdentifier", + "src": "6825:3:12" + }, + "nativeSrc": "6825:6:12", + "nodeType": "YulFunctionCall", + "src": "6825:6:12" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "6781:28:12", + "nodeType": "YulIdentifier", + "src": "6781:28:12" + }, + "nativeSrc": "6781:51:12", + "nodeType": "YulFunctionCall", + "src": "6781:51:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "6777:3:12", + "nodeType": "YulIdentifier", + "src": "6777:3:12" + }, + "nativeSrc": "6777:56:12", + "nodeType": "YulFunctionCall", + "src": "6777:56:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "6769:4:12", + "nodeType": "YulTypedName", + "src": "6769:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6842:25:12", + "nodeType": "YulAssignment", + "src": "6842:25:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "6856:4:12", + "nodeType": "YulIdentifier", + "src": "6856:4:12" + }, + { + "name": "mask", + "nativeSrc": "6862:4:12", + "nodeType": "YulIdentifier", + "src": "6862:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6852:3:12", + "nodeType": "YulIdentifier", + "src": "6852:3:12" + }, + "nativeSrc": "6852:15:12", + "nodeType": "YulFunctionCall", + "src": "6852:15:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "6842:6:12", + "nodeType": "YulIdentifier", + "src": "6842:6:12" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "6704:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "6732:4:12", + "nodeType": "YulTypedName", + "src": "6732:4:12", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "6738:5:12", + "nodeType": "YulTypedName", + "src": "6738:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "6748:6:12", + "nodeType": "YulTypedName", + "src": "6748:6:12", + "type": "" + } + ], + "src": "6704:169:12" + }, + { + "body": { + "nativeSrc": "6959:214:12", + "nodeType": "YulBlock", + "src": "6959:214:12", + "statements": [ + { + "nativeSrc": "7092:37:12", + "nodeType": "YulAssignment", + "src": "7092:37:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "7119:4:12", + "nodeType": "YulIdentifier", + "src": "7119:4:12" + }, + { + "name": "len", + "nativeSrc": "7125:3:12", + "nodeType": "YulIdentifier", + "src": "7125:3:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "7100:18:12", + "nodeType": "YulIdentifier", + "src": "7100:18:12" + }, + "nativeSrc": "7100:29:12", + "nodeType": "YulFunctionCall", + "src": "7100:29:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "7092:4:12", + "nodeType": "YulIdentifier", + "src": "7092:4:12" + } + ] + }, + { + "nativeSrc": "7138:29:12", + "nodeType": "YulAssignment", + "src": "7138:29:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "7149:4:12", + "nodeType": "YulIdentifier", + "src": "7149:4:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7159:1:12", + "nodeType": "YulLiteral", + "src": "7159:1:12", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "7162:3:12", + "nodeType": "YulIdentifier", + "src": "7162:3:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "7155:3:12", + "nodeType": "YulIdentifier", + "src": "7155:3:12" + }, + "nativeSrc": "7155:11:12", + "nodeType": "YulFunctionCall", + "src": "7155:11:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7146:2:12", + "nodeType": "YulIdentifier", + "src": "7146:2:12" + }, + "nativeSrc": "7146:21:12", + "nodeType": "YulFunctionCall", + "src": "7146:21:12" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "7138:4:12", + "nodeType": "YulIdentifier", + "src": "7138:4:12" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "6878:295:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "6940:4:12", + "nodeType": "YulTypedName", + "src": "6940:4:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "6946:3:12", + "nodeType": "YulTypedName", + "src": "6946:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "6954:4:12", + "nodeType": "YulTypedName", + "src": "6954:4:12", + "type": "" + } + ], + "src": "6878:295:12" + }, + { + "body": { + "nativeSrc": "7270:1303:12", + "nodeType": "YulBlock", + "src": "7270:1303:12", + "statements": [ + { + "nativeSrc": "7281:51:12", + "nodeType": "YulVariableDeclaration", + "src": "7281:51:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "7328:3:12", + "nodeType": "YulIdentifier", + "src": "7328:3:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7295:32:12", + "nodeType": "YulIdentifier", + "src": "7295:32:12" + }, + "nativeSrc": "7295:37:12", + "nodeType": "YulFunctionCall", + "src": "7295:37:12" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "7285:6:12", + "nodeType": "YulTypedName", + "src": "7285:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7417:22:12", + "nodeType": "YulBlock", + "src": "7417:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7419:16:12", + "nodeType": "YulIdentifier", + "src": "7419:16:12" + }, + "nativeSrc": "7419:18:12", + "nodeType": "YulFunctionCall", + "src": "7419:18:12" + }, + "nativeSrc": "7419:18:12", + "nodeType": "YulExpressionStatement", + "src": "7419:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "7389:6:12", + "nodeType": "YulIdentifier", + "src": "7389:6:12" + }, + { + "kind": "number", + "nativeSrc": "7397:18:12", + "nodeType": "YulLiteral", + "src": "7397:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7386:2:12", + "nodeType": "YulIdentifier", + "src": "7386:2:12" + }, + "nativeSrc": "7386:30:12", + "nodeType": "YulFunctionCall", + "src": "7386:30:12" + }, + "nativeSrc": "7383:56:12", + "nodeType": "YulIf", + "src": "7383:56:12" + }, + { + "nativeSrc": "7449:52:12", + "nodeType": "YulVariableDeclaration", + "src": "7449:52:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7495:4:12", + "nodeType": "YulIdentifier", + "src": "7495:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "7489:5:12", + "nodeType": "YulIdentifier", + "src": "7489:5:12" + }, + "nativeSrc": "7489:11:12", + "nodeType": "YulFunctionCall", + "src": "7489:11:12" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "7463:25:12", + "nodeType": "YulIdentifier", + "src": "7463:25:12" + }, + "nativeSrc": "7463:38:12", + "nodeType": "YulFunctionCall", + "src": "7463:38:12" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "7453:6:12", + "nodeType": "YulTypedName", + "src": "7453:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7594:4:12", + "nodeType": "YulIdentifier", + "src": "7594:4:12" + }, + { + "name": "oldLen", + "nativeSrc": "7600:6:12", + "nodeType": "YulIdentifier", + "src": "7600:6:12" + }, + { + "name": "newLen", + "nativeSrc": "7608:6:12", + "nodeType": "YulIdentifier", + "src": "7608:6:12" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "7548:45:12", + "nodeType": "YulIdentifier", + "src": "7548:45:12" + }, + "nativeSrc": "7548:67:12", + "nodeType": "YulFunctionCall", + "src": "7548:67:12" + }, + "nativeSrc": "7548:67:12", + "nodeType": "YulExpressionStatement", + "src": "7548:67:12" + }, + { + "nativeSrc": "7625:18:12", + "nodeType": "YulVariableDeclaration", + "src": "7625:18:12", + "value": { + "kind": "number", + "nativeSrc": "7642:1:12", + "nodeType": "YulLiteral", + "src": "7642:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "7629:9:12", + "nodeType": "YulTypedName", + "src": "7629:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7653:17:12", + "nodeType": "YulAssignment", + "src": "7653:17:12", + "value": { + "kind": "number", + "nativeSrc": "7666:4:12", + "nodeType": "YulLiteral", + "src": "7666:4:12", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "7653:9:12", + "nodeType": "YulIdentifier", + "src": "7653:9:12" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "7717:611:12", + "nodeType": "YulBlock", + "src": "7717:611:12", + "statements": [ + { + "nativeSrc": "7731:37:12", + "nodeType": "YulVariableDeclaration", + "src": "7731:37:12", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "7750:6:12", + "nodeType": "YulIdentifier", + "src": "7750:6:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7762:4:12", + "nodeType": "YulLiteral", + "src": "7762:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7758:3:12", + "nodeType": "YulIdentifier", + "src": "7758:3:12" + }, + "nativeSrc": "7758:9:12", + "nodeType": "YulFunctionCall", + "src": "7758:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7746:3:12", + "nodeType": "YulIdentifier", + "src": "7746:3:12" + }, + "nativeSrc": "7746:22:12", + "nodeType": "YulFunctionCall", + "src": "7746:22:12" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "7735:7:12", + "nodeType": "YulTypedName", + "src": "7735:7:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7782:51:12", + "nodeType": "YulVariableDeclaration", + "src": "7782:51:12", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "7828:4:12", + "nodeType": "YulIdentifier", + "src": "7828:4:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "7796:31:12", + "nodeType": "YulIdentifier", + "src": "7796:31:12" + }, + "nativeSrc": "7796:37:12", + "nodeType": "YulFunctionCall", + "src": "7796:37:12" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "7786:6:12", + "nodeType": "YulTypedName", + "src": "7786:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "7846:10:12", + "nodeType": "YulVariableDeclaration", + "src": "7846:10:12", + "value": { + "kind": "number", + "nativeSrc": "7855:1:12", + "nodeType": "YulLiteral", + "src": "7855:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "7850:1:12", + "nodeType": "YulTypedName", + "src": "7850:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7914:163:12", + "nodeType": "YulBlock", + "src": "7914:163:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "7939:6:12", + "nodeType": "YulIdentifier", + "src": "7939:6:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "7957:3:12", + "nodeType": "YulIdentifier", + "src": "7957:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "7962:9:12", + "nodeType": "YulIdentifier", + "src": "7962:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7953:3:12", + "nodeType": "YulIdentifier", + "src": "7953:3:12" + }, + "nativeSrc": "7953:19:12", + "nodeType": "YulFunctionCall", + "src": "7953:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7947:5:12", + "nodeType": "YulIdentifier", + "src": "7947:5:12" + }, + "nativeSrc": "7947:26:12", + "nodeType": "YulFunctionCall", + "src": "7947:26:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7932:6:12", + "nodeType": "YulIdentifier", + "src": "7932:6:12" + }, + "nativeSrc": "7932:42:12", + "nodeType": "YulFunctionCall", + "src": "7932:42:12" + }, + "nativeSrc": "7932:42:12", + "nodeType": "YulExpressionStatement", + "src": "7932:42:12" + }, + { + "nativeSrc": "7991:24:12", + "nodeType": "YulAssignment", + "src": "7991:24:12", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "8005:6:12", + "nodeType": "YulIdentifier", + "src": "8005:6:12" + }, + { + "kind": "number", + "nativeSrc": "8013:1:12", + "nodeType": "YulLiteral", + "src": "8013:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8001:3:12", + "nodeType": "YulIdentifier", + "src": "8001:3:12" + }, + "nativeSrc": "8001:14:12", + "nodeType": "YulFunctionCall", + "src": "8001:14:12" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "7991:6:12", + "nodeType": "YulIdentifier", + "src": "7991:6:12" + } + ] + }, + { + "nativeSrc": "8032:31:12", + "nodeType": "YulAssignment", + "src": "8032:31:12", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "8049:9:12", + "nodeType": "YulIdentifier", + "src": "8049:9:12" + }, + { + "kind": "number", + "nativeSrc": "8060:2:12", + "nodeType": "YulLiteral", + "src": "8060:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8045:3:12", + "nodeType": "YulIdentifier", + "src": "8045:3:12" + }, + "nativeSrc": "8045:18:12", + "nodeType": "YulFunctionCall", + "src": "8045:18:12" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "8032:9:12", + "nodeType": "YulIdentifier", + "src": "8032:9:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "7880:1:12", + "nodeType": "YulIdentifier", + "src": "7880:1:12" + }, + { + "name": "loopEnd", + "nativeSrc": "7883:7:12", + "nodeType": "YulIdentifier", + "src": "7883:7:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7877:2:12", + "nodeType": "YulIdentifier", + "src": "7877:2:12" + }, + "nativeSrc": "7877:14:12", + "nodeType": "YulFunctionCall", + "src": "7877:14:12" + }, + "nativeSrc": "7869:208:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "7892:21:12", + "nodeType": "YulBlock", + "src": "7892:21:12", + "statements": [ + { + "nativeSrc": "7894:17:12", + "nodeType": "YulAssignment", + "src": "7894:17:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "7903:1:12", + "nodeType": "YulIdentifier", + "src": "7903:1:12" + }, + { + "kind": "number", + "nativeSrc": "7906:4:12", + "nodeType": "YulLiteral", + "src": "7906:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7899:3:12", + "nodeType": "YulIdentifier", + "src": "7899:3:12" + }, + "nativeSrc": "7899:12:12", + "nodeType": "YulFunctionCall", + "src": "7899:12:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "7894:1:12", + "nodeType": "YulIdentifier", + "src": "7894:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7873:3:12", + "nodeType": "YulBlock", + "src": "7873:3:12", + "statements": [] + }, + "src": "7869:208:12" + }, + { + "body": { + "nativeSrc": "8113:156:12", + "nodeType": "YulBlock", + "src": "8113:156:12", + "statements": [ + { + "nativeSrc": "8131:43:12", + "nodeType": "YulVariableDeclaration", + "src": "8131:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "8158:3:12", + "nodeType": "YulIdentifier", + "src": "8158:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "8163:9:12", + "nodeType": "YulIdentifier", + "src": "8163:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8154:3:12", + "nodeType": "YulIdentifier", + "src": "8154:3:12" + }, + "nativeSrc": "8154:19:12", + "nodeType": "YulFunctionCall", + "src": "8154:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8148:5:12", + "nodeType": "YulIdentifier", + "src": "8148:5:12" + }, + "nativeSrc": "8148:26:12", + "nodeType": "YulFunctionCall", + "src": "8148:26:12" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "8135:9:12", + "nodeType": "YulTypedName", + "src": "8135:9:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "8198:6:12", + "nodeType": "YulIdentifier", + "src": "8198:6:12" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "8225:9:12", + "nodeType": "YulIdentifier", + "src": "8225:9:12" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "8240:6:12", + "nodeType": "YulIdentifier", + "src": "8240:6:12" + }, + { + "kind": "number", + "nativeSrc": "8248:4:12", + "nodeType": "YulLiteral", + "src": "8248:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8236:3:12", + "nodeType": "YulIdentifier", + "src": "8236:3:12" + }, + "nativeSrc": "8236:17:12", + "nodeType": "YulFunctionCall", + "src": "8236:17:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "8206:18:12", + "nodeType": "YulIdentifier", + "src": "8206:18:12" + }, + "nativeSrc": "8206:48:12", + "nodeType": "YulFunctionCall", + "src": "8206:48:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "8191:6:12", + "nodeType": "YulIdentifier", + "src": "8191:6:12" + }, + "nativeSrc": "8191:64:12", + "nodeType": "YulFunctionCall", + "src": "8191:64:12" + }, + "nativeSrc": "8191:64:12", + "nodeType": "YulExpressionStatement", + "src": "8191:64:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "8096:7:12", + "nodeType": "YulIdentifier", + "src": "8096:7:12" + }, + { + "name": "newLen", + "nativeSrc": "8105:6:12", + "nodeType": "YulIdentifier", + "src": "8105:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8093:2:12", + "nodeType": "YulIdentifier", + "src": "8093:2:12" + }, + "nativeSrc": "8093:19:12", + "nodeType": "YulFunctionCall", + "src": "8093:19:12" + }, + "nativeSrc": "8090:179:12", + "nodeType": "YulIf", + "src": "8090:179:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "8289:4:12", + "nodeType": "YulIdentifier", + "src": "8289:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "8303:6:12", + "nodeType": "YulIdentifier", + "src": "8303:6:12" + }, + { + "kind": "number", + "nativeSrc": "8311:1:12", + "nodeType": "YulLiteral", + "src": "8311:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "8299:3:12", + "nodeType": "YulIdentifier", + "src": "8299:3:12" + }, + "nativeSrc": "8299:14:12", + "nodeType": "YulFunctionCall", + "src": "8299:14:12" + }, + { + "kind": "number", + "nativeSrc": "8315:1:12", + "nodeType": "YulLiteral", + "src": "8315:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8295:3:12", + "nodeType": "YulIdentifier", + "src": "8295:3:12" + }, + "nativeSrc": "8295:22:12", + "nodeType": "YulFunctionCall", + "src": "8295:22:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "8282:6:12", + "nodeType": "YulIdentifier", + "src": "8282:6:12" + }, + "nativeSrc": "8282:36:12", + "nodeType": "YulFunctionCall", + "src": "8282:36:12" + }, + "nativeSrc": "8282:36:12", + "nodeType": "YulExpressionStatement", + "src": "8282:36:12" + } + ] + }, + "nativeSrc": "7710:618:12", + "nodeType": "YulCase", + "src": "7710:618:12", + "value": { + "kind": "number", + "nativeSrc": "7715:1:12", + "nodeType": "YulLiteral", + "src": "7715:1:12", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "8345:222:12", + "nodeType": "YulBlock", + "src": "8345:222:12", + "statements": [ + { + "nativeSrc": "8359:14:12", + "nodeType": "YulVariableDeclaration", + "src": "8359:14:12", + "value": { + "kind": "number", + "nativeSrc": "8372:1:12", + "nodeType": "YulLiteral", + "src": "8372:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "8363:5:12", + "nodeType": "YulTypedName", + "src": "8363:5:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8396:67:12", + "nodeType": "YulBlock", + "src": "8396:67:12", + "statements": [ + { + "nativeSrc": "8414:35:12", + "nodeType": "YulAssignment", + "src": "8414:35:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "8433:3:12", + "nodeType": "YulIdentifier", + "src": "8433:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "8438:9:12", + "nodeType": "YulIdentifier", + "src": "8438:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8429:3:12", + "nodeType": "YulIdentifier", + "src": "8429:3:12" + }, + "nativeSrc": "8429:19:12", + "nodeType": "YulFunctionCall", + "src": "8429:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8423:5:12", + "nodeType": "YulIdentifier", + "src": "8423:5:12" + }, + "nativeSrc": "8423:26:12", + "nodeType": "YulFunctionCall", + "src": "8423:26:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "8414:5:12", + "nodeType": "YulIdentifier", + "src": "8414:5:12" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "8389:6:12", + "nodeType": "YulIdentifier", + "src": "8389:6:12" + }, + "nativeSrc": "8386:77:12", + "nodeType": "YulIf", + "src": "8386:77:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "8483:4:12", + "nodeType": "YulIdentifier", + "src": "8483:4:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8542:5:12", + "nodeType": "YulIdentifier", + "src": "8542:5:12" + }, + { + "name": "newLen", + "nativeSrc": "8549:6:12", + "nodeType": "YulIdentifier", + "src": "8549:6:12" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "8489:52:12", + "nodeType": "YulIdentifier", + "src": "8489:52:12" + }, + "nativeSrc": "8489:67:12", + "nodeType": "YulFunctionCall", + "src": "8489:67:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "8476:6:12", + "nodeType": "YulIdentifier", + "src": "8476:6:12" + }, + "nativeSrc": "8476:81:12", + "nodeType": "YulFunctionCall", + "src": "8476:81:12" + }, + "nativeSrc": "8476:81:12", + "nodeType": "YulExpressionStatement", + "src": "8476:81:12" + } + ] + }, + "nativeSrc": "8337:230:12", + "nodeType": "YulCase", + "src": "8337:230:12", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "7690:6:12", + "nodeType": "YulIdentifier", + "src": "7690:6:12" + }, + { + "kind": "number", + "nativeSrc": "7698:2:12", + "nodeType": "YulLiteral", + "src": "7698:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7687:2:12", + "nodeType": "YulIdentifier", + "src": "7687:2:12" + }, + "nativeSrc": "7687:14:12", + "nodeType": "YulFunctionCall", + "src": "7687:14:12" + }, + "nativeSrc": "7680:887:12", + "nodeType": "YulSwitch", + "src": "7680:887:12" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "7178:1395:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "7259:4:12", + "nodeType": "YulTypedName", + "src": "7259:4:12", + "type": "" + }, + { + "name": "src", + "nativeSrc": "7265:3:12", + "nodeType": "YulTypedName", + "src": "7265:3:12", + "type": "" + } + ], + "src": "7178:1395:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50604051612668380380612668833981810160405281019061003291906101ce565b81600090816100419190610467565b5080600190816100519190610467565b505050610539565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100c082610077565b810181811067ffffffffffffffff821117156100df576100de610088565b5b80604052505050565b60006100f2610059565b90506100fe82826100b7565b919050565b600067ffffffffffffffff82111561011e5761011d610088565b5b61012782610077565b9050602081019050919050565b60005b83811015610152578082015181840152602081019050610137565b60008484015250505050565b600061017161016c84610103565b6100e8565b90508281526020810184848401111561018d5761018c610072565b5b610198848285610134565b509392505050565b600082601f8301126101b5576101b461006d565b5b81516101c584826020860161015e565b91505092915050565b600080604083850312156101e5576101e4610063565b5b600083015167ffffffffffffffff81111561020357610202610068565b5b61020f858286016101a0565b925050602083015167ffffffffffffffff8111156102305761022f610068565b5b61023c858286016101a0565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061029857607f821691505b6020821081036102ab576102aa610251565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026103137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102d6565b61031d86836102d6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061036461035f61035a84610335565b61033f565b610335565b9050919050565b6000819050919050565b61037e83610349565b61039261038a8261036b565b8484546102e3565b825550505050565b600090565b6103a761039a565b6103b2818484610375565b505050565b5b818110156103d6576103cb60008261039f565b6001810190506103b8565b5050565b601f82111561041b576103ec816102b1565b6103f5846102c6565b81016020851015610404578190505b610418610410856102c6565b8301826103b7565b50505b505050565b600082821c905092915050565b600061043e60001984600802610420565b1980831691505092915050565b6000610457838361042d565b9150826002028217905092915050565b61047082610246565b67ffffffffffffffff81111561048957610488610088565b5b6104938254610280565b61049e8282856103da565b600060209050601f8311600181146104d157600084156104bf578287015190505b6104c9858261044b565b865550610531565b601f1984166104df866102b1565b60005b82811015610507578489015182556001820191506020850194506020810190506104e2565b868310156105245784890151610520601f89168261042d565b8355505b6001600288020188555050505b505050505050565b612120806105486000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e991906114f4565b6102bc565b6040516100fb919061153c565b60405180910390f35b61010c61039e565b60405161011991906115e7565b60405180910390f35b61013c6004803603810190610137919061163f565b610430565b60405161014991906116ad565b60405180910390f35b61016c600480360381019061016791906116f4565b610476565b005b61018860048036038101906101839190611734565b61058d565b005b6101a4600480360381019061019f9190611734565b6105ed565b005b6101c060048036038101906101bb919061163f565b61060d565b6040516101cd91906116ad565b60405180910390f35b6101f060048036038101906101eb9190611787565b610693565b6040516101fd91906117c3565b60405180910390f35b61020e61074a565b60405161021b91906115e7565b60405180910390f35b61023e6004803603810190610239919061180a565b6107dc565b005b61025a6004803603810190610255919061197f565b6107f2565b005b6102766004803603810190610271919061163f565b610854565b60405161028391906115e7565b60405180910390f35b6102a660048036038101906102a19190611a02565b6108bc565b6040516102b3919061153c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611a71565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611a71565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611b14565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611ba6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611c38565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611ca4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611d36565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611a71565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611a71565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611c38565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611d92565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611ca4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611eba565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611e28565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f8383836001611185565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611f26565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061153c565b60405180910390a3505050565b611008848484610b5b565b6110148484848461118b565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90611fb8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611312565b01905060008167ffffffffffffffff81111561109e5761109d611854565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161112757611126611fd8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006111ac8473ffffffffffffffffffffffffffffffffffffffff16611465565b15611305578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026111d5610a05565b8786866040518563ffffffff1660e01b81526004016111f7949392919061205c565b6020604051808303816000875af192505050801561123357506040513d601f19601f8201168201806040525081019061123091906120bd565b60015b6112b5573d8060008114611263576040519150601f19603f3d011682016040523d82523d6000602084013e611268565b606091505b5060008151036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490611fb8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061130a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611370577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161136657611365611fd8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106113ad576d04ee2d6d415b85acef810000000083816113a3576113a2611fd8565b5b0492506020810190505b662386f26fc1000083106113dc57662386f26fc1000083816113d2576113d1611fd8565b5b0492506010810190505b6305f5e1008310611405576305f5e10083816113fb576113fa611fd8565b5b0492506008810190505b612710831061142a5761271083816114205761141f611fd8565b5b0492506004810190505b6064831061144d576064838161144357611442611fd8565b5b0492506002810190505b600a831061145c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6114d18161149c565b81146114dc57600080fd5b50565b6000813590506114ee816114c8565b92915050565b60006020828403121561150a57611509611492565b5b6000611518848285016114df565b91505092915050565b60008115159050919050565b61153681611521565b82525050565b6000602082019050611551600083018461152d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611591578082015181840152602081019050611576565b60008484015250505050565b6000601f19601f8301169050919050565b60006115b982611557565b6115c38185611562565b93506115d3818560208601611573565b6115dc8161159d565b840191505092915050565b6000602082019050818103600083015261160181846115ae565b905092915050565b6000819050919050565b61161c81611609565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b60006020828403121561165557611654611492565b5b60006116638482850161162a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116978261166c565b9050919050565b6116a78161168c565b82525050565b60006020820190506116c2600083018461169e565b92915050565b6116d18161168c565b81146116dc57600080fd5b50565b6000813590506116ee816116c8565b92915050565b6000806040838503121561170b5761170a611492565b5b6000611719858286016116df565b925050602061172a8582860161162a565b9150509250929050565b60008060006060848603121561174d5761174c611492565b5b600061175b868287016116df565b935050602061176c868287016116df565b925050604061177d8682870161162a565b9150509250925092565b60006020828403121561179d5761179c611492565b5b60006117ab848285016116df565b91505092915050565b6117bd81611609565b82525050565b60006020820190506117d860008301846117b4565b92915050565b6117e781611521565b81146117f257600080fd5b50565b600081359050611804816117de565b92915050565b6000806040838503121561182157611820611492565b5b600061182f858286016116df565b9250506020611840858286016117f5565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61188c8261159d565b810181811067ffffffffffffffff821117156118ab576118aa611854565b5b80604052505050565b60006118be611488565b90506118ca8282611883565b919050565b600067ffffffffffffffff8211156118ea576118e9611854565b5b6118f38261159d565b9050602081019050919050565b82818337600083830152505050565b600061192261191d846118cf565b6118b4565b90508281526020810184848401111561193e5761193d61184f565b5b611949848285611900565b509392505050565b600082601f8301126119665761196561184a565b5b813561197684826020860161190f565b91505092915050565b6000806000806080858703121561199957611998611492565b5b60006119a7878288016116df565b94505060206119b8878288016116df565b93505060406119c98782880161162a565b925050606085013567ffffffffffffffff8111156119ea576119e9611497565b5b6119f687828801611951565b91505092959194509250565b60008060408385031215611a1957611a18611492565b5b6000611a27858286016116df565b9250506020611a38858286016116df565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8957607f821691505b602082108103611a9c57611a9b611a42565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611afe602183611562565b9150611b0982611aa2565b604082019050919050565b60006020820190508181036000830152611b2d81611af1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611b90603d83611562565b9150611b9b82611b34565b604082019050919050565b60006020820190508181036000830152611bbf81611b83565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611c22602d83611562565b9150611c2d82611bc6565b604082019050919050565b60006020820190508181036000830152611c5181611c15565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611c8e601883611562565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611d20602983611562565b9150611d2b82611cc4565b604082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b6000611d6c82611557565b611d768185611d56565b9350611d86818560208601611573565b80840191505092915050565b6000611d9e8285611d61565b9150611daa8284611d61565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611e12602583611562565b9150611e1d82611db6565b604082019050919050565b60006020820190508181036000830152611e4181611e05565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea4602483611562565b9150611eaf82611e48565b604082019050919050565b60006020820190508181036000830152611ed381611e97565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611f10601983611562565b9150611f1b82611eda565b602082019050919050565b60006020820190508181036000830152611f3f81611f03565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611fa2603283611562565b9150611fad82611f46565b604082019050919050565b60006020820190508181036000830152611fd181611f95565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b600061202e82612007565b6120388185612012565b9350612048818560208601611573565b6120518161159d565b840191505092915050565b6000608082019050612071600083018761169e565b61207e602083018661169e565b61208b60408301856117b4565b818103606083015261209d8184612023565b905095945050505050565b6000815190506120b7816114c8565b92915050565b6000602082840312156120d3576120d2611492565b5b60006120e1848285016120a8565b9150509291505056fea26469706673582212208187a433705b7db01eeb53df512e7e78c9604dae90bbae3f8281a0f9013dd7f364736f6c63430008190033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x2668 CODESIZE SUB DUP1 PUSH2 0x2668 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x1CE JUMP JUMPDEST DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH2 0x41 SWAP2 SWAP1 PUSH2 0x467 JUMP JUMPDEST POP DUP1 PUSH1 0x1 SWAP1 DUP2 PUSH2 0x51 SWAP2 SWAP1 PUSH2 0x467 JUMP JUMPDEST POP POP POP PUSH2 0x539 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xC0 DUP3 PUSH2 0x77 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xDF JUMPI PUSH2 0xDE PUSH2 0x88 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF2 PUSH2 0x59 JUMP JUMPDEST SWAP1 POP PUSH2 0xFE DUP3 DUP3 PUSH2 0xB7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x11E JUMPI PUSH2 0x11D PUSH2 0x88 JUMP JUMPDEST JUMPDEST PUSH2 0x127 DUP3 PUSH2 0x77 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x152 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x137 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x171 PUSH2 0x16C DUP5 PUSH2 0x103 JUMP JUMPDEST PUSH2 0xE8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x18D JUMPI PUSH2 0x18C PUSH2 0x72 JUMP JUMPDEST JUMPDEST PUSH2 0x198 DUP5 DUP3 DUP6 PUSH2 0x134 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B5 JUMPI PUSH2 0x1B4 PUSH2 0x6D JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x1C5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x15E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E5 JUMPI PUSH2 0x1E4 PUSH2 0x63 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x203 JUMPI PUSH2 0x202 PUSH2 0x68 JUMP JUMPDEST JUMPDEST PUSH2 0x20F DUP6 DUP3 DUP7 ADD PUSH2 0x1A0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x230 JUMPI PUSH2 0x22F PUSH2 0x68 JUMP JUMPDEST JUMPDEST PUSH2 0x23C DUP6 DUP3 DUP7 ADD PUSH2 0x1A0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x298 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2AB JUMPI PUSH2 0x2AA PUSH2 0x251 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x313 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x2D6 JUMP JUMPDEST PUSH2 0x31D DUP7 DUP4 PUSH2 0x2D6 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x364 PUSH2 0x35F PUSH2 0x35A DUP5 PUSH2 0x335 JUMP JUMPDEST PUSH2 0x33F JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x37E DUP4 PUSH2 0x349 JUMP JUMPDEST PUSH2 0x392 PUSH2 0x38A DUP3 PUSH2 0x36B JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x2E3 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x3A7 PUSH2 0x39A JUMP JUMPDEST PUSH2 0x3B2 DUP2 DUP5 DUP5 PUSH2 0x375 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3D6 JUMPI PUSH2 0x3CB PUSH1 0x0 DUP3 PUSH2 0x39F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x3B8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x41B JUMPI PUSH2 0x3EC DUP2 PUSH2 0x2B1 JUMP JUMPDEST PUSH2 0x3F5 DUP5 PUSH2 0x2C6 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x404 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x418 PUSH2 0x410 DUP6 PUSH2 0x2C6 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x3B7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x420 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x457 DUP4 DUP4 PUSH2 0x42D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x470 DUP3 PUSH2 0x246 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x489 JUMPI PUSH2 0x488 PUSH2 0x88 JUMP JUMPDEST JUMPDEST PUSH2 0x493 DUP3 SLOAD PUSH2 0x280 JUMP JUMPDEST PUSH2 0x49E DUP3 DUP3 DUP6 PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4D1 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x4BF JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x4C9 DUP6 DUP3 PUSH2 0x44B JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x531 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x4DF DUP7 PUSH2 0x2B1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x507 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4E2 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x524 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x520 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x42D JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2120 DUP1 PUSH2 0x548 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x224 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x25C JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x28C JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x206 JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x122 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x18A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x14F4 JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10C PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x119 SWAP2 SWAP1 PUSH2 0x15E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST PUSH2 0x430 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0x16AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0x16F4 JUMP JUMPDEST PUSH2 0x476 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x1734 JUMP JUMPDEST PUSH2 0x58D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19F SWAP2 SWAP1 PUSH2 0x1734 JUMP JUMPDEST PUSH2 0x5ED JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1BB SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST PUSH2 0x60D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x16AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EB SWAP2 SWAP1 PUSH2 0x1787 JUMP JUMPDEST PUSH2 0x693 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FD SWAP2 SWAP1 PUSH2 0x17C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20E PUSH2 0x74A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21B SWAP2 SWAP1 PUSH2 0x15E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x239 SWAP2 SWAP1 PUSH2 0x180A JUMP JUMPDEST PUSH2 0x7DC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x25A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x197F JUMP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x276 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x271 SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x283 SWAP2 SWAP1 PUSH2 0x15E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A1 SWAP2 SWAP1 PUSH2 0x1A02 JUMP JUMPDEST PUSH2 0x8BC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B3 SWAP2 SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH32 0x80AC58CD00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x387 JUMPI POP PUSH32 0x5B5E139F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x397 JUMPI POP PUSH2 0x396 DUP3 PUSH2 0x950 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x3AD SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3D9 SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x426 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x426 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x409 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43B DUP3 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x481 DUP3 PUSH2 0x60D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x4F1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4E8 SWAP1 PUSH2 0x1B14 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x510 PUSH2 0xA05 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x53F JUMPI POP PUSH2 0x53E DUP2 PUSH2 0x539 PUSH2 0xA05 JUMP JUMPDEST PUSH2 0x8BC JUMP JUMPDEST JUMPDEST PUSH2 0x57E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x575 SWAP1 PUSH2 0x1BA6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x588 DUP4 DUP4 PUSH2 0xA0D JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x59E PUSH2 0x598 PUSH2 0xA05 JUMP JUMPDEST DUP3 PUSH2 0xAC6 JUMP JUMPDEST PUSH2 0x5DD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D4 SWAP1 PUSH2 0x1C38 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5E8 DUP4 DUP4 DUP4 PUSH2 0xB5B JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x608 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x7F2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x619 DUP4 PUSH2 0xE54 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x68A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x681 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6FA SWAP1 PUSH2 0x1D36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x759 SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x785 SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7D2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7A7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7D2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x7B5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x7EE PUSH2 0x7E7 PUSH2 0xA05 JUMP JUMPDEST DUP4 DUP4 PUSH2 0xE91 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x803 PUSH2 0x7FD PUSH2 0xA05 JUMP JUMPDEST DUP4 PUSH2 0xAC6 JUMP JUMPDEST PUSH2 0x842 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x839 SWAP1 PUSH2 0x1C38 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x84E DUP5 DUP5 DUP5 DUP5 PUSH2 0xFFD JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x85F DUP3 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x869 PUSH2 0x1059 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x889 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x8B4 JUMP JUMPDEST DUP1 PUSH2 0x893 DUP5 PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8A4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9C3 DUP2 PUSH2 0x113E JUMP JUMPDEST PUSH2 0xA02 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9F9 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xA80 DUP4 PUSH2 0x60D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAD2 DUP4 PUSH2 0x60D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0xB14 JUMPI POP PUSH2 0xB13 DUP2 DUP6 PUSH2 0x8BC JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0xB52 JUMPI POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB3A DUP5 PUSH2 0x430 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB7B DUP3 PUSH2 0x60D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBD1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBC8 SWAP1 PUSH2 0x1E28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xC40 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC37 SWAP1 PUSH2 0x1EBA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC4D DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x117F JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC6D DUP3 PUSH2 0x60D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xCC3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCBA SWAP1 PUSH2 0x1E28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0xE4F DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1185 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xEFF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEF6 SWAP1 PUSH2 0x1F26 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 DUP4 PUSH1 0x40 MLOAD PUSH2 0xFF0 SWAP2 SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1008 DUP5 DUP5 DUP5 PUSH2 0xB5B JUMP JUMPDEST PUSH2 0x1014 DUP5 DUP5 DUP5 DUP5 PUSH2 0x118B JUMP JUMPDEST PUSH2 0x1053 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x104A SWAP1 PUSH2 0x1FB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x1 PUSH2 0x107F DUP5 PUSH2 0x1312 JUMP JUMPDEST ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x109E JUMPI PUSH2 0x109D PUSH2 0x1854 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x10D0 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x1133 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x1127 JUMPI PUSH2 0x1126 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH1 0x0 DUP6 SUB PUSH2 0x10DE JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1160 DUP4 PUSH2 0xE54 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11AC DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1465 JUMP JUMPDEST ISZERO PUSH2 0x1305 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x150B7A02 PUSH2 0x11D5 PUSH2 0xA05 JUMP JUMPDEST DUP8 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11F7 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x205C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1233 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1230 SWAP2 SWAP1 PUSH2 0x20BD JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x12B5 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1263 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1268 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x12AD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12A4 SWAP1 PUSH2 0x1FB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0x150B7A02 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP2 POP POP PUSH2 0x130A JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x1370 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x1366 JUMPI PUSH2 0x1365 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x13AD JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x13A3 JUMPI PUSH2 0x13A2 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x13DC JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x13D2 JUMPI PUSH2 0x13D1 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x1405 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x13FB JUMPI PUSH2 0x13FA PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x142A JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x1420 JUMPI PUSH2 0x141F PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x144D JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x1443 JUMPI PUSH2 0x1442 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x145C JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14D1 DUP2 PUSH2 0x149C JUMP JUMPDEST DUP2 EQ PUSH2 0x14DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14EE DUP2 PUSH2 0x14C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x150A JUMPI PUSH2 0x1509 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP5 DUP3 DUP6 ADD PUSH2 0x14DF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1536 DUP2 PUSH2 0x1521 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1551 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x152D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1591 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1576 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B9 DUP3 PUSH2 0x1557 JUMP JUMPDEST PUSH2 0x15C3 DUP2 DUP6 PUSH2 0x1562 JUMP JUMPDEST SWAP4 POP PUSH2 0x15D3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1573 JUMP JUMPDEST PUSH2 0x15DC DUP2 PUSH2 0x159D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1601 DUP2 DUP5 PUSH2 0x15AE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x161C DUP2 PUSH2 0x1609 JUMP JUMPDEST DUP2 EQ PUSH2 0x1627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1639 DUP2 PUSH2 0x1613 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1655 JUMPI PUSH2 0x1654 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1663 DUP5 DUP3 DUP6 ADD PUSH2 0x162A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1697 DUP3 PUSH2 0x166C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16A7 DUP2 PUSH2 0x168C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x16C2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x169E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x16D1 DUP2 PUSH2 0x168C JUMP JUMPDEST DUP2 EQ PUSH2 0x16DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16EE DUP2 PUSH2 0x16C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x170B JUMPI PUSH2 0x170A PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1719 DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x172A DUP6 DUP3 DUP7 ADD PUSH2 0x162A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x174D JUMPI PUSH2 0x174C PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x175B DUP7 DUP3 DUP8 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x176C DUP7 DUP3 DUP8 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x177D DUP7 DUP3 DUP8 ADD PUSH2 0x162A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x179D JUMPI PUSH2 0x179C PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17AB DUP5 DUP3 DUP6 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17BD DUP2 PUSH2 0x1609 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17D8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17E7 DUP2 PUSH2 0x1521 JUMP JUMPDEST DUP2 EQ PUSH2 0x17F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1804 DUP2 PUSH2 0x17DE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1821 JUMPI PUSH2 0x1820 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x182F DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1840 DUP6 DUP3 DUP7 ADD PUSH2 0x17F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x188C DUP3 PUSH2 0x159D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x18AB JUMPI PUSH2 0x18AA PUSH2 0x1854 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18BE PUSH2 0x1488 JUMP JUMPDEST SWAP1 POP PUSH2 0x18CA DUP3 DUP3 PUSH2 0x1883 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x18EA JUMPI PUSH2 0x18E9 PUSH2 0x1854 JUMP JUMPDEST JUMPDEST PUSH2 0x18F3 DUP3 PUSH2 0x159D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1922 PUSH2 0x191D DUP5 PUSH2 0x18CF JUMP JUMPDEST PUSH2 0x18B4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x193E JUMPI PUSH2 0x193D PUSH2 0x184F JUMP JUMPDEST JUMPDEST PUSH2 0x1949 DUP5 DUP3 DUP6 PUSH2 0x1900 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1966 JUMPI PUSH2 0x1965 PUSH2 0x184A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1976 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x190F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1999 JUMPI PUSH2 0x1998 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19A7 DUP8 DUP3 DUP9 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x19B8 DUP8 DUP3 DUP9 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x19C9 DUP8 DUP3 DUP9 ADD PUSH2 0x162A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x19EA JUMPI PUSH2 0x19E9 PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH2 0x19F6 DUP8 DUP3 DUP9 ADD PUSH2 0x1951 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A19 JUMPI PUSH2 0x1A18 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A27 DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1A38 DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1A89 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1A9C JUMPI PUSH2 0x1A9B PUSH2 0x1A42 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AFE PUSH1 0x21 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B09 DUP3 PUSH2 0x1AA2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B2D DUP2 PUSH2 0x1AF1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B90 PUSH1 0x3D DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B9B DUP3 PUSH2 0x1B34 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1BBF DUP2 PUSH2 0x1B83 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x72206F7220617070726F76656400000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C22 PUSH1 0x2D DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C2D DUP3 PUSH2 0x1BC6 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1C51 DUP2 PUSH2 0x1C15 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20696E76616C696420746F6B656E2049440000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C8E PUSH1 0x18 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C99 DUP3 PUSH2 0x1C58 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1CBD DUP2 PUSH2 0x1C81 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C6964206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D20 PUSH1 0x29 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D2B DUP3 PUSH2 0x1CC4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D4F DUP2 PUSH2 0x1D13 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D6C DUP3 PUSH2 0x1557 JUMP JUMPDEST PUSH2 0x1D76 DUP2 DUP6 PUSH2 0x1D56 JUMP JUMPDEST SWAP4 POP PUSH2 0x1D86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1573 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D9E DUP3 DUP6 PUSH2 0x1D61 JUMP JUMPDEST SWAP2 POP PUSH2 0x1DAA DUP3 DUP5 PUSH2 0x1D61 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F776E6572000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E12 PUSH1 0x25 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E1D DUP3 PUSH2 0x1DB6 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E41 DUP2 PUSH2 0x1E05 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA4 PUSH1 0x24 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EAF DUP3 PUSH2 0x1E48 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1ED3 DUP2 PUSH2 0x1E97 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F10 PUSH1 0x19 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F1B DUP3 PUSH2 0x1EDA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F3F DUP2 PUSH2 0x1F03 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63656976657220696D706C656D656E7465720000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA2 PUSH1 0x32 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FAD DUP3 PUSH2 0x1F46 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1FD1 DUP2 PUSH2 0x1F95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x202E DUP3 PUSH2 0x2007 JUMP JUMPDEST PUSH2 0x2038 DUP2 DUP6 PUSH2 0x2012 JUMP JUMPDEST SWAP4 POP PUSH2 0x2048 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1573 JUMP JUMPDEST PUSH2 0x2051 DUP2 PUSH2 0x159D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x2071 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x169E JUMP JUMPDEST PUSH2 0x207E PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x169E JUMP JUMPDEST PUSH2 0x208B PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x17B4 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x209D DUP2 DUP5 PUSH2 0x2023 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x20B7 DUP2 PUSH2 0x14C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D3 JUMPI PUSH2 0x20D2 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x20E1 DUP5 DUP3 DUP6 ADD PUSH2 0x20A8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP2 DUP8 LOG4 CALLER PUSH17 0x5B7DB01EEB53DF512E7E78C9604DAE90BB 0xAE EXTCODEHASH DUP3 DUP2 LOG0 0xF9 ADD RETURNDATASIZE 0xD7 RETURN PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "628:16377:0:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1464:5;1456;:13;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;:::i;:::-;;1390:113;;628:16377;;7:75:12;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:248::-;1692:1;1702:113;1716:6;1713:1;1710:13;1702:113;;;1801:1;1796:3;1792:11;1786:18;1782:1;1777:3;1773:11;1766:39;1738:2;1735:1;1731:10;1726:15;;1702:113;;;1849:1;1840:6;1835:3;1831:16;1824:27;1672:186;1610:248;;;:::o;1864:434::-;1953:5;1978:66;1994:49;2036:6;1994:49;:::i;:::-;1978:66;:::i;:::-;1969:75;;2067:6;2060:5;2053:21;2105:4;2098:5;2094:16;2143:3;2134:6;2129:3;2125:16;2122:25;2119:112;;;2150:79;;:::i;:::-;2119:112;2240:52;2285:6;2280:3;2275;2240:52;:::i;:::-;1959:339;1864:434;;;;;:::o;2318:355::-;2385:5;2434:3;2427:4;2419:6;2415:17;2411:27;2401:122;;2442:79;;:::i;:::-;2401:122;2552:6;2546:13;2577:90;2663:3;2655:6;2648:4;2640:6;2636:17;2577:90;:::i;:::-;2568:99;;2391:282;2318:355;;;;:::o;2679:853::-;2778:6;2786;2835:2;2823:9;2814:7;2810:23;2806:32;2803:119;;;2841:79;;:::i;:::-;2803:119;2982:1;2971:9;2967:17;2961:24;3012:18;3004:6;3001:30;2998:117;;;3034:79;;:::i;:::-;2998:117;3139:74;3205:7;3196:6;3185:9;3181:22;3139:74;:::i;:::-;3129:84;;2932:291;3283:2;3272:9;3268:18;3262:25;3314:18;3306:6;3303:30;3300:117;;;3336:79;;:::i;:::-;3300:117;3441:74;3507:7;3498:6;3487:9;3483:22;3441:74;:::i;:::-;3431:84;;3233:292;2679:853;;;;;:::o;3538:99::-;3590:6;3624:5;3618:12;3608:22;;3538:99;;;:::o;3643:180::-;3691:77;3688:1;3681:88;3788:4;3785:1;3778:15;3812:4;3809:1;3802:15;3829:320;3873:6;3910:1;3904:4;3900:12;3890:22;;3957:1;3951:4;3947:12;3978:18;3968:81;;4034:4;4026:6;4022:17;4012:27;;3968:81;4096:2;4088:6;4085:14;4065:18;4062:38;4059:84;;4115:18;;:::i;:::-;4059:84;3880:269;3829:320;;;:::o;4155:141::-;4204:4;4227:3;4219:11;;4250:3;4247:1;4240:14;4284:4;4281:1;4271:18;4263:26;;4155:141;;;:::o;4302:93::-;4339:6;4386:2;4381;4374:5;4370:14;4366:23;4356:33;;4302:93;;;:::o;4401:107::-;4445:8;4495:5;4489:4;4485:16;4464:37;;4401:107;;;;:::o;4514:393::-;4583:6;4633:1;4621:10;4617:18;4656:97;4686:66;4675:9;4656:97;:::i;:::-;4774:39;4804:8;4793:9;4774:39;:::i;:::-;4762:51;;4846:4;4842:9;4835:5;4831:21;4822:30;;4895:4;4885:8;4881:19;4874:5;4871:30;4861:40;;4590:317;;4514:393;;;;;:::o;4913:77::-;4950:7;4979:5;4968:16;;4913:77;;;:::o;4996:60::-;5024:3;5045:5;5038:12;;4996:60;;;:::o;5062:142::-;5112:9;5145:53;5163:34;5172:24;5190:5;5172:24;:::i;:::-;5163:34;:::i;:::-;5145:53;:::i;:::-;5132:66;;5062:142;;;:::o;5210:75::-;5253:3;5274:5;5267:12;;5210:75;;;:::o;5291:269::-;5401:39;5432:7;5401:39;:::i;:::-;5462:91;5511:41;5535:16;5511:41;:::i;:::-;5503:6;5496:4;5490:11;5462:91;:::i;:::-;5456:4;5449:105;5367:193;5291:269;;;:::o;5566:73::-;5611:3;5566:73;:::o;5645:189::-;5722:32;;:::i;:::-;5763:65;5821:6;5813;5807:4;5763:65;:::i;:::-;5698:136;5645:189;;:::o;5840:186::-;5900:120;5917:3;5910:5;5907:14;5900:120;;;5971:39;6008:1;6001:5;5971:39;:::i;:::-;5944:1;5937:5;5933:13;5924:22;;5900:120;;;5840:186;;:::o;6032:543::-;6133:2;6128:3;6125:11;6122:446;;;6167:38;6199:5;6167:38;:::i;:::-;6251:29;6269:10;6251:29;:::i;:::-;6241:8;6237:44;6434:2;6422:10;6419:18;6416:49;;;6455:8;6440:23;;6416:49;6478:80;6534:22;6552:3;6534:22;:::i;:::-;6524:8;6520:37;6507:11;6478:80;:::i;:::-;6137:431;;6122:446;6032:543;;;:::o;6581:117::-;6635:8;6685:5;6679:4;6675:16;6654:37;;6581:117;;;;:::o;6704:169::-;6748:6;6781:51;6829:1;6825:6;6817:5;6814:1;6810:13;6781:51;:::i;:::-;6777:56;6862:4;6856;6852:15;6842:25;;6755:118;6704:169;;;;:::o;6878:295::-;6954:4;7100:29;7125:3;7119:4;7100:29;:::i;:::-;7092:37;;7162:3;7159:1;7155:11;7149:4;7146:21;7138:29;;6878:295;;;;:::o;7178:1395::-;7295:37;7328:3;7295:37;:::i;:::-;7397:18;7389:6;7386:30;7383:56;;;7419:18;;:::i;:::-;7383:56;7463:38;7495:4;7489:11;7463:38;:::i;:::-;7548:67;7608:6;7600;7594:4;7548:67;:::i;:::-;7642:1;7666:4;7653:17;;7698:2;7690:6;7687:14;7715:1;7710:618;;;;8372:1;8389:6;8386:77;;;8438:9;8433:3;8429:19;8423:26;8414:35;;8386:77;8489:67;8549:6;8542:5;8489:67;:::i;:::-;8483:4;8476:81;8345:222;7680:887;;7710:618;7762:4;7758:9;7750:6;7746:22;7796:37;7828:4;7796:37;:::i;:::-;7855:1;7869:208;7883:7;7880:1;7877:14;7869:208;;;7962:9;7957:3;7953:19;7947:26;7939:6;7932:42;8013:1;8005:6;8001:14;7991:24;;8060:2;8049:9;8045:18;8032:31;;7906:4;7903:1;7899:12;7894:17;;7869:208;;;8105:6;8096:7;8093:19;8090:179;;;8163:9;8158:3;8154:19;8148:26;8206:48;8248:4;8240:6;8236:17;8225:9;8206:48;:::i;:::-;8198:6;8191:64;8113:156;8090:179;8315:1;8311;8303:6;8299:14;8295:22;8289:4;8282:36;7717:611;;;7680:887;;7270:1303;;;7178:1395;;:::o;628:16377:0:-;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_afterTokenTransfer_910": { + "entryPoint": 4485, + "id": 910, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_approve_776": { + "entryPoint": 2573, + "id": 776, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_baseURI_213": { + "entryPoint": 4185, + "id": 213, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_beforeTokenTransfer_897": { + "entryPoint": 4479, + "id": 897, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_checkOnERC721Received_884": { + "entryPoint": 4491, + "id": 884, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@_exists_445": { + "entryPoint": 4414, + "id": 445, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@_isApprovedOrOwner_479": { + "entryPoint": 2758, + "id": 479, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_msgSender_1429": { + "entryPoint": 2565, + "id": 1429, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_ownerOf_427": { + "entryPoint": 3668, + "id": 427, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@_requireMinted_822": { + "entryPoint": 2490, + "id": 822, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_safeTransfer_414": { + "entryPoint": 4093, + "id": 414, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_setApprovalForAll_808": { + "entryPoint": 3729, + "id": 808, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_transfer_752": { + "entryPoint": 2907, + "id": 752, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@approve_256": { + "entryPoint": 1142, + "id": 256, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@balanceOf_117": { + "entryPoint": 1683, + "id": 117, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getApproved_274": { + "entryPoint": 1072, + "id": 274, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isApprovedForAll_309": { + "entryPoint": 2236, + "id": 309, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@isContract_1105": { + "entryPoint": 5221, + "id": 1105, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@log10_2415": { + "entryPoint": 4882, + "id": 2415, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@name_155": { + "entryPoint": 926, + "id": 155, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@ownerOf_145": { + "entryPoint": 1549, + "id": 145, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@safeTransferFrom_355": { + "entryPoint": 1517, + "id": 355, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@safeTransferFrom_385": { + "entryPoint": 2034, + "id": 385, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@setApprovalForAll_291": { + "entryPoint": 2012, + "id": 291, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@supportsInterface_1699": { + "entryPoint": 2384, + "id": 1699, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@supportsInterface_93": { + "entryPoint": 700, + "id": 93, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@symbol_165": { + "entryPoint": 1866, + "id": 165, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@toString_1506": { + "entryPoint": 4208, + "id": 1506, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@tokenURI_204": { + "entryPoint": 2132, + "id": 204, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@transferFrom_336": { + "entryPoint": 1421, + "id": 336, + "parameterSlots": 3, + "returnSlots": 0 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 6415, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 5855, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bool": { + "entryPoint": 6133, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4": { + "entryPoint": 5343, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4_fromMemory": { + "entryPoint": 8360, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 6481, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 5674, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 6023, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_address": { + "entryPoint": 6658, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_addresst_uint256": { + "entryPoint": 5940, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr": { + "entryPoint": 6527, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_addresst_bool": { + "entryPoint": 6154, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_uint256": { + "entryPoint": 5876, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bytes4": { + "entryPoint": 5364, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes4_fromMemory": { + "entryPoint": 8381, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256": { + "entryPoint": 5695, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 5790, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 5421, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 8227, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 5550, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 7521, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7189, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8085, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7685, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7831, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7939, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7443, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7297, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6897, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7043, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 6068, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 7570, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 5805, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 8284, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 5436, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 5607, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7224, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8120, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7720, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7866, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7974, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7478, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7332, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6932, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7078, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 6083, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 6324, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 5256, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 6351, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 8199, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 5463, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 8210, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 5474, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 7510, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 5772, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 5409, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 5276, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 5740, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 5641, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 6400, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 5491, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 6769, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 6275, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x12": { + "entryPoint": 8152, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 6722, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 6228, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 6218, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 6223, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 5271, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 5266, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 5533, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af": { + "entryPoint": 7110, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e": { + "entryPoint": 8006, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48": { + "entryPoint": 7606, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4": { + "entryPoint": 7752, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05": { + "entryPoint": 7898, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159": { + "entryPoint": 7364, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f": { + "entryPoint": 7256, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942": { + "entryPoint": 6818, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83": { + "entryPoint": 6964, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 5832, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bool": { + "entryPoint": 6110, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes4": { + "entryPoint": 5320, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 5651, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:23154:12", + "nodeType": "YulBlock", + "src": "0:23154:12", + "statements": [ + { + "body": { + "nativeSrc": "47:35:12", + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nativeSrc": "57:19:12", + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:12", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:12", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nativeSrc": "67:9:12", + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:12", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:12", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nativeSrc": "177:28:12", + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:12", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:12", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:12", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nativeSrc": "187:12:12", + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:12", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nativeSrc": "300:28:12", + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:12", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:12", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:12", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nativeSrc": "310:12:12", + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:12", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nativeSrc": "378:105:12", + "nodeType": "YulBlock", + "src": "378:105:12", + "statements": [ + { + "nativeSrc": "388:89:12", + "nodeType": "YulAssignment", + "src": "388:89:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "403:5:12", + "nodeType": "YulIdentifier", + "src": "403:5:12" + }, + { + "kind": "number", + "nativeSrc": "410:66:12", + "nodeType": "YulLiteral", + "src": "410:66:12", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "399:3:12", + "nodeType": "YulIdentifier", + "src": "399:3:12" + }, + "nativeSrc": "399:78:12", + "nodeType": "YulFunctionCall", + "src": "399:78:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "388:7:12", + "nodeType": "YulIdentifier", + "src": "388:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "334:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "360:5:12", + "nodeType": "YulTypedName", + "src": "360:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "370:7:12", + "nodeType": "YulTypedName", + "src": "370:7:12", + "type": "" + } + ], + "src": "334:149:12" + }, + { + "body": { + "nativeSrc": "531:78:12", + "nodeType": "YulBlock", + "src": "531:78:12", + "statements": [ + { + "body": { + "nativeSrc": "587:16:12", + "nodeType": "YulBlock", + "src": "587:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "596:1:12", + "nodeType": "YulLiteral", + "src": "596:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "599:1:12", + "nodeType": "YulLiteral", + "src": "599:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "589:6:12", + "nodeType": "YulIdentifier", + "src": "589:6:12" + }, + "nativeSrc": "589:12:12", + "nodeType": "YulFunctionCall", + "src": "589:12:12" + }, + "nativeSrc": "589:12:12", + "nodeType": "YulExpressionStatement", + "src": "589:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "554:5:12", + "nodeType": "YulIdentifier", + "src": "554:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "578:5:12", + "nodeType": "YulIdentifier", + "src": "578:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "561:16:12", + "nodeType": "YulIdentifier", + "src": "561:16:12" + }, + "nativeSrc": "561:23:12", + "nodeType": "YulFunctionCall", + "src": "561:23:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "551:2:12", + "nodeType": "YulIdentifier", + "src": "551:2:12" + }, + "nativeSrc": "551:34:12", + "nodeType": "YulFunctionCall", + "src": "551:34:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "544:6:12", + "nodeType": "YulIdentifier", + "src": "544:6:12" + }, + "nativeSrc": "544:42:12", + "nodeType": "YulFunctionCall", + "src": "544:42:12" + }, + "nativeSrc": "541:62:12", + "nodeType": "YulIf", + "src": "541:62:12" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nativeSrc": "489:120:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "524:5:12", + "nodeType": "YulTypedName", + "src": "524:5:12", + "type": "" + } + ], + "src": "489:120:12" + }, + { + "body": { + "nativeSrc": "666:86:12", + "nodeType": "YulBlock", + "src": "666:86:12", + "statements": [ + { + "nativeSrc": "676:29:12", + "nodeType": "YulAssignment", + "src": "676:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "698:6:12", + "nodeType": "YulIdentifier", + "src": "698:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "685:12:12", + "nodeType": "YulIdentifier", + "src": "685:12:12" + }, + "nativeSrc": "685:20:12", + "nodeType": "YulFunctionCall", + "src": "685:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "676:5:12", + "nodeType": "YulIdentifier", + "src": "676:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "740:5:12", + "nodeType": "YulIdentifier", + "src": "740:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "714:25:12", + "nodeType": "YulIdentifier", + "src": "714:25:12" + }, + "nativeSrc": "714:32:12", + "nodeType": "YulFunctionCall", + "src": "714:32:12" + }, + "nativeSrc": "714:32:12", + "nodeType": "YulExpressionStatement", + "src": "714:32:12" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nativeSrc": "615:137:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "644:6:12", + "nodeType": "YulTypedName", + "src": "644:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "652:3:12", + "nodeType": "YulTypedName", + "src": "652:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "660:5:12", + "nodeType": "YulTypedName", + "src": "660:5:12", + "type": "" + } + ], + "src": "615:137:12" + }, + { + "body": { + "nativeSrc": "823:262:12", + "nodeType": "YulBlock", + "src": "823:262:12", + "statements": [ + { + "body": { + "nativeSrc": "869:83:12", + "nodeType": "YulBlock", + "src": "869:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "871:77:12", + "nodeType": "YulIdentifier", + "src": "871:77:12" + }, + "nativeSrc": "871:79:12", + "nodeType": "YulFunctionCall", + "src": "871:79:12" + }, + "nativeSrc": "871:79:12", + "nodeType": "YulExpressionStatement", + "src": "871:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "844:7:12", + "nodeType": "YulIdentifier", + "src": "844:7:12" + }, + { + "name": "headStart", + "nativeSrc": "853:9:12", + "nodeType": "YulIdentifier", + "src": "853:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "840:3:12", + "nodeType": "YulIdentifier", + "src": "840:3:12" + }, + "nativeSrc": "840:23:12", + "nodeType": "YulFunctionCall", + "src": "840:23:12" + }, + { + "kind": "number", + "nativeSrc": "865:2:12", + "nodeType": "YulLiteral", + "src": "865:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "836:3:12", + "nodeType": "YulIdentifier", + "src": "836:3:12" + }, + "nativeSrc": "836:32:12", + "nodeType": "YulFunctionCall", + "src": "836:32:12" + }, + "nativeSrc": "833:119:12", + "nodeType": "YulIf", + "src": "833:119:12" + }, + { + "nativeSrc": "962:116:12", + "nodeType": "YulBlock", + "src": "962:116:12", + "statements": [ + { + "nativeSrc": "977:15:12", + "nodeType": "YulVariableDeclaration", + "src": "977:15:12", + "value": { + "kind": "number", + "nativeSrc": "991:1:12", + "nodeType": "YulLiteral", + "src": "991:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "981:6:12", + "nodeType": "YulTypedName", + "src": "981:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1006:62:12", + "nodeType": "YulAssignment", + "src": "1006:62:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1040:9:12", + "nodeType": "YulIdentifier", + "src": "1040:9:12" + }, + { + "name": "offset", + "nativeSrc": "1051:6:12", + "nodeType": "YulIdentifier", + "src": "1051:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1036:3:12", + "nodeType": "YulIdentifier", + "src": "1036:3:12" + }, + "nativeSrc": "1036:22:12", + "nodeType": "YulFunctionCall", + "src": "1036:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "1060:7:12", + "nodeType": "YulIdentifier", + "src": "1060:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nativeSrc": "1016:19:12", + "nodeType": "YulIdentifier", + "src": "1016:19:12" + }, + "nativeSrc": "1016:52:12", + "nodeType": "YulFunctionCall", + "src": "1016:52:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1006:6:12", + "nodeType": "YulIdentifier", + "src": "1006:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nativeSrc": "758:327:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "793:9:12", + "nodeType": "YulTypedName", + "src": "793:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "804:7:12", + "nodeType": "YulTypedName", + "src": "804:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "816:6:12", + "nodeType": "YulTypedName", + "src": "816:6:12", + "type": "" + } + ], + "src": "758:327:12" + }, + { + "body": { + "nativeSrc": "1133:48:12", + "nodeType": "YulBlock", + "src": "1133:48:12", + "statements": [ + { + "nativeSrc": "1143:32:12", + "nodeType": "YulAssignment", + "src": "1143:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1168:5:12", + "nodeType": "YulIdentifier", + "src": "1168:5:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1161:6:12", + "nodeType": "YulIdentifier", + "src": "1161:6:12" + }, + "nativeSrc": "1161:13:12", + "nodeType": "YulFunctionCall", + "src": "1161:13:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1154:6:12", + "nodeType": "YulIdentifier", + "src": "1154:6:12" + }, + "nativeSrc": "1154:21:12", + "nodeType": "YulFunctionCall", + "src": "1154:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1143:7:12", + "nodeType": "YulIdentifier", + "src": "1143:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "1091:90:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1115:5:12", + "nodeType": "YulTypedName", + "src": "1115:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1125:7:12", + "nodeType": "YulTypedName", + "src": "1125:7:12", + "type": "" + } + ], + "src": "1091:90:12" + }, + { + "body": { + "nativeSrc": "1246:50:12", + "nodeType": "YulBlock", + "src": "1246:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1263:3:12", + "nodeType": "YulIdentifier", + "src": "1263:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1283:5:12", + "nodeType": "YulIdentifier", + "src": "1283:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "1268:14:12", + "nodeType": "YulIdentifier", + "src": "1268:14:12" + }, + "nativeSrc": "1268:21:12", + "nodeType": "YulFunctionCall", + "src": "1268:21:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1256:6:12", + "nodeType": "YulIdentifier", + "src": "1256:6:12" + }, + "nativeSrc": "1256:34:12", + "nodeType": "YulFunctionCall", + "src": "1256:34:12" + }, + "nativeSrc": "1256:34:12", + "nodeType": "YulExpressionStatement", + "src": "1256:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1187:109:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1234:5:12", + "nodeType": "YulTypedName", + "src": "1234:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1241:3:12", + "nodeType": "YulTypedName", + "src": "1241:3:12", + "type": "" + } + ], + "src": "1187:109:12" + }, + { + "body": { + "nativeSrc": "1394:118:12", + "nodeType": "YulBlock", + "src": "1394:118:12", + "statements": [ + { + "nativeSrc": "1404:26:12", + "nodeType": "YulAssignment", + "src": "1404:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1416:9:12", + "nodeType": "YulIdentifier", + "src": "1416:9:12" + }, + { + "kind": "number", + "nativeSrc": "1427:2:12", + "nodeType": "YulLiteral", + "src": "1427:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1412:3:12", + "nodeType": "YulIdentifier", + "src": "1412:3:12" + }, + "nativeSrc": "1412:18:12", + "nodeType": "YulFunctionCall", + "src": "1412:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1404:4:12", + "nodeType": "YulIdentifier", + "src": "1404:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1478:6:12", + "nodeType": "YulIdentifier", + "src": "1478:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1491:9:12", + "nodeType": "YulIdentifier", + "src": "1491:9:12" + }, + { + "kind": "number", + "nativeSrc": "1502:1:12", + "nodeType": "YulLiteral", + "src": "1502:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1487:3:12", + "nodeType": "YulIdentifier", + "src": "1487:3:12" + }, + "nativeSrc": "1487:17:12", + "nodeType": "YulFunctionCall", + "src": "1487:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1440:37:12", + "nodeType": "YulIdentifier", + "src": "1440:37:12" + }, + "nativeSrc": "1440:65:12", + "nodeType": "YulFunctionCall", + "src": "1440:65:12" + }, + "nativeSrc": "1440:65:12", + "nodeType": "YulExpressionStatement", + "src": "1440:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "1302:210:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1366:9:12", + "nodeType": "YulTypedName", + "src": "1366:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1378:6:12", + "nodeType": "YulTypedName", + "src": "1378:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1389:4:12", + "nodeType": "YulTypedName", + "src": "1389:4:12", + "type": "" + } + ], + "src": "1302:210:12" + }, + { + "body": { + "nativeSrc": "1577:40:12", + "nodeType": "YulBlock", + "src": "1577:40:12", + "statements": [ + { + "nativeSrc": "1588:22:12", + "nodeType": "YulAssignment", + "src": "1588:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1604:5:12", + "nodeType": "YulIdentifier", + "src": "1604:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1598:5:12", + "nodeType": "YulIdentifier", + "src": "1598:5:12" + }, + "nativeSrc": "1598:12:12", + "nodeType": "YulFunctionCall", + "src": "1598:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "1588:6:12", + "nodeType": "YulIdentifier", + "src": "1588:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1518:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1560:5:12", + "nodeType": "YulTypedName", + "src": "1560:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "1570:6:12", + "nodeType": "YulTypedName", + "src": "1570:6:12", + "type": "" + } + ], + "src": "1518:99:12" + }, + { + "body": { + "nativeSrc": "1719:73:12", + "nodeType": "YulBlock", + "src": "1719:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1736:3:12", + "nodeType": "YulIdentifier", + "src": "1736:3:12" + }, + { + "name": "length", + "nativeSrc": "1741:6:12", + "nodeType": "YulIdentifier", + "src": "1741:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1729:6:12", + "nodeType": "YulIdentifier", + "src": "1729:6:12" + }, + "nativeSrc": "1729:19:12", + "nodeType": "YulFunctionCall", + "src": "1729:19:12" + }, + "nativeSrc": "1729:19:12", + "nodeType": "YulExpressionStatement", + "src": "1729:19:12" + }, + { + "nativeSrc": "1757:29:12", + "nodeType": "YulAssignment", + "src": "1757:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1776:3:12", + "nodeType": "YulIdentifier", + "src": "1776:3:12" + }, + { + "kind": "number", + "nativeSrc": "1781:4:12", + "nodeType": "YulLiteral", + "src": "1781:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1772:3:12", + "nodeType": "YulIdentifier", + "src": "1772:3:12" + }, + "nativeSrc": "1772:14:12", + "nodeType": "YulFunctionCall", + "src": "1772:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "1757:11:12", + "nodeType": "YulIdentifier", + "src": "1757:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "1623:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "1691:3:12", + "nodeType": "YulTypedName", + "src": "1691:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1696:6:12", + "nodeType": "YulTypedName", + "src": "1696:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "1707:11:12", + "nodeType": "YulTypedName", + "src": "1707:11:12", + "type": "" + } + ], + "src": "1623:169:12" + }, + { + "body": { + "nativeSrc": "1860:186:12", + "nodeType": "YulBlock", + "src": "1860:186:12", + "statements": [ + { + "nativeSrc": "1871:10:12", + "nodeType": "YulVariableDeclaration", + "src": "1871:10:12", + "value": { + "kind": "number", + "nativeSrc": "1880:1:12", + "nodeType": "YulLiteral", + "src": "1880:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1875:1:12", + "nodeType": "YulTypedName", + "src": "1875:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1940:63:12", + "nodeType": "YulBlock", + "src": "1940:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1965:3:12", + "nodeType": "YulIdentifier", + "src": "1965:3:12" + }, + { + "name": "i", + "nativeSrc": "1970:1:12", + "nodeType": "YulIdentifier", + "src": "1970:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1961:3:12", + "nodeType": "YulIdentifier", + "src": "1961:3:12" + }, + "nativeSrc": "1961:11:12", + "nodeType": "YulFunctionCall", + "src": "1961:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1984:3:12", + "nodeType": "YulIdentifier", + "src": "1984:3:12" + }, + { + "name": "i", + "nativeSrc": "1989:1:12", + "nodeType": "YulIdentifier", + "src": "1989:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1980:3:12", + "nodeType": "YulIdentifier", + "src": "1980:3:12" + }, + "nativeSrc": "1980:11:12", + "nodeType": "YulFunctionCall", + "src": "1980:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1974:5:12", + "nodeType": "YulIdentifier", + "src": "1974:5:12" + }, + "nativeSrc": "1974:18:12", + "nodeType": "YulFunctionCall", + "src": "1974:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1954:6:12", + "nodeType": "YulIdentifier", + "src": "1954:6:12" + }, + "nativeSrc": "1954:39:12", + "nodeType": "YulFunctionCall", + "src": "1954:39:12" + }, + "nativeSrc": "1954:39:12", + "nodeType": "YulExpressionStatement", + "src": "1954:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1901:1:12", + "nodeType": "YulIdentifier", + "src": "1901:1:12" + }, + { + "name": "length", + "nativeSrc": "1904:6:12", + "nodeType": "YulIdentifier", + "src": "1904:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1898:2:12", + "nodeType": "YulIdentifier", + "src": "1898:2:12" + }, + "nativeSrc": "1898:13:12", + "nodeType": "YulFunctionCall", + "src": "1898:13:12" + }, + "nativeSrc": "1890:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1912:19:12", + "nodeType": "YulBlock", + "src": "1912:19:12", + "statements": [ + { + "nativeSrc": "1914:15:12", + "nodeType": "YulAssignment", + "src": "1914:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1923:1:12", + "nodeType": "YulIdentifier", + "src": "1923:1:12" + }, + { + "kind": "number", + "nativeSrc": "1926:2:12", + "nodeType": "YulLiteral", + "src": "1926:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1919:3:12", + "nodeType": "YulIdentifier", + "src": "1919:3:12" + }, + "nativeSrc": "1919:10:12", + "nodeType": "YulFunctionCall", + "src": "1919:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1914:1:12", + "nodeType": "YulIdentifier", + "src": "1914:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1894:3:12", + "nodeType": "YulBlock", + "src": "1894:3:12", + "statements": [] + }, + "src": "1890:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2023:3:12", + "nodeType": "YulIdentifier", + "src": "2023:3:12" + }, + { + "name": "length", + "nativeSrc": "2028:6:12", + "nodeType": "YulIdentifier", + "src": "2028:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2019:3:12", + "nodeType": "YulIdentifier", + "src": "2019:3:12" + }, + "nativeSrc": "2019:16:12", + "nodeType": "YulFunctionCall", + "src": "2019:16:12" + }, + { + "kind": "number", + "nativeSrc": "2037:1:12", + "nodeType": "YulLiteral", + "src": "2037:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2012:6:12", + "nodeType": "YulIdentifier", + "src": "2012:6:12" + }, + "nativeSrc": "2012:27:12", + "nodeType": "YulFunctionCall", + "src": "2012:27:12" + }, + "nativeSrc": "2012:27:12", + "nodeType": "YulExpressionStatement", + "src": "2012:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1798:248:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1842:3:12", + "nodeType": "YulTypedName", + "src": "1842:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1847:3:12", + "nodeType": "YulTypedName", + "src": "1847:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1852:6:12", + "nodeType": "YulTypedName", + "src": "1852:6:12", + "type": "" + } + ], + "src": "1798:248:12" + }, + { + "body": { + "nativeSrc": "2100:54:12", + "nodeType": "YulBlock", + "src": "2100:54:12", + "statements": [ + { + "nativeSrc": "2110:38:12", + "nodeType": "YulAssignment", + "src": "2110:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2128:5:12", + "nodeType": "YulIdentifier", + "src": "2128:5:12" + }, + { + "kind": "number", + "nativeSrc": "2135:2:12", + "nodeType": "YulLiteral", + "src": "2135:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2124:3:12", + "nodeType": "YulIdentifier", + "src": "2124:3:12" + }, + "nativeSrc": "2124:14:12", + "nodeType": "YulFunctionCall", + "src": "2124:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2144:2:12", + "nodeType": "YulLiteral", + "src": "2144:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2140:3:12", + "nodeType": "YulIdentifier", + "src": "2140:3:12" + }, + "nativeSrc": "2140:7:12", + "nodeType": "YulFunctionCall", + "src": "2140:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2120:3:12", + "nodeType": "YulIdentifier", + "src": "2120:3:12" + }, + "nativeSrc": "2120:28:12", + "nodeType": "YulFunctionCall", + "src": "2120:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2110:6:12", + "nodeType": "YulIdentifier", + "src": "2110:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "2052:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2083:5:12", + "nodeType": "YulTypedName", + "src": "2083:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "2093:6:12", + "nodeType": "YulTypedName", + "src": "2093:6:12", + "type": "" + } + ], + "src": "2052:102:12" + }, + { + "body": { + "nativeSrc": "2252:285:12", + "nodeType": "YulBlock", + "src": "2252:285:12", + "statements": [ + { + "nativeSrc": "2262:53:12", + "nodeType": "YulVariableDeclaration", + "src": "2262:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2309:5:12", + "nodeType": "YulIdentifier", + "src": "2309:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "2276:32:12", + "nodeType": "YulIdentifier", + "src": "2276:32:12" + }, + "nativeSrc": "2276:39:12", + "nodeType": "YulFunctionCall", + "src": "2276:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2266:6:12", + "nodeType": "YulTypedName", + "src": "2266:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2324:78:12", + "nodeType": "YulAssignment", + "src": "2324:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2390:3:12", + "nodeType": "YulIdentifier", + "src": "2390:3:12" + }, + { + "name": "length", + "nativeSrc": "2395:6:12", + "nodeType": "YulIdentifier", + "src": "2395:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "2331:58:12", + "nodeType": "YulIdentifier", + "src": "2331:58:12" + }, + "nativeSrc": "2331:71:12", + "nodeType": "YulFunctionCall", + "src": "2331:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2324:3:12", + "nodeType": "YulIdentifier", + "src": "2324:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2450:5:12", + "nodeType": "YulIdentifier", + "src": "2450:5:12" + }, + { + "kind": "number", + "nativeSrc": "2457:4:12", + "nodeType": "YulLiteral", + "src": "2457:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2446:3:12", + "nodeType": "YulIdentifier", + "src": "2446:3:12" + }, + "nativeSrc": "2446:16:12", + "nodeType": "YulFunctionCall", + "src": "2446:16:12" + }, + { + "name": "pos", + "nativeSrc": "2464:3:12", + "nodeType": "YulIdentifier", + "src": "2464:3:12" + }, + { + "name": "length", + "nativeSrc": "2469:6:12", + "nodeType": "YulIdentifier", + "src": "2469:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2411:34:12", + "nodeType": "YulIdentifier", + "src": "2411:34:12" + }, + "nativeSrc": "2411:65:12", + "nodeType": "YulFunctionCall", + "src": "2411:65:12" + }, + "nativeSrc": "2411:65:12", + "nodeType": "YulExpressionStatement", + "src": "2411:65:12" + }, + { + "nativeSrc": "2485:46:12", + "nodeType": "YulAssignment", + "src": "2485:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2496:3:12", + "nodeType": "YulIdentifier", + "src": "2496:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2523:6:12", + "nodeType": "YulIdentifier", + "src": "2523:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2501:21:12", + "nodeType": "YulIdentifier", + "src": "2501:21:12" + }, + "nativeSrc": "2501:29:12", + "nodeType": "YulFunctionCall", + "src": "2501:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2492:3:12", + "nodeType": "YulIdentifier", + "src": "2492:3:12" + }, + "nativeSrc": "2492:39:12", + "nodeType": "YulFunctionCall", + "src": "2492:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2485:3:12", + "nodeType": "YulIdentifier", + "src": "2485:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "2160:377:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2233:5:12", + "nodeType": "YulTypedName", + "src": "2233:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2240:3:12", + "nodeType": "YulTypedName", + "src": "2240:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2248:3:12", + "nodeType": "YulTypedName", + "src": "2248:3:12", + "type": "" + } + ], + "src": "2160:377:12" + }, + { + "body": { + "nativeSrc": "2661:195:12", + "nodeType": "YulBlock", + "src": "2661:195:12", + "statements": [ + { + "nativeSrc": "2671:26:12", + "nodeType": "YulAssignment", + "src": "2671:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2683:9:12", + "nodeType": "YulIdentifier", + "src": "2683:9:12" + }, + { + "kind": "number", + "nativeSrc": "2694:2:12", + "nodeType": "YulLiteral", + "src": "2694:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2679:3:12", + "nodeType": "YulIdentifier", + "src": "2679:3:12" + }, + "nativeSrc": "2679:18:12", + "nodeType": "YulFunctionCall", + "src": "2679:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "2671:4:12", + "nodeType": "YulIdentifier", + "src": "2671:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2718:9:12", + "nodeType": "YulIdentifier", + "src": "2718:9:12" + }, + { + "kind": "number", + "nativeSrc": "2729:1:12", + "nodeType": "YulLiteral", + "src": "2729:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2714:3:12", + "nodeType": "YulIdentifier", + "src": "2714:3:12" + }, + "nativeSrc": "2714:17:12", + "nodeType": "YulFunctionCall", + "src": "2714:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "2737:4:12", + "nodeType": "YulIdentifier", + "src": "2737:4:12" + }, + { + "name": "headStart", + "nativeSrc": "2743:9:12", + "nodeType": "YulIdentifier", + "src": "2743:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2733:3:12", + "nodeType": "YulIdentifier", + "src": "2733:3:12" + }, + "nativeSrc": "2733:20:12", + "nodeType": "YulFunctionCall", + "src": "2733:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2707:6:12", + "nodeType": "YulIdentifier", + "src": "2707:6:12" + }, + "nativeSrc": "2707:47:12", + "nodeType": "YulFunctionCall", + "src": "2707:47:12" + }, + "nativeSrc": "2707:47:12", + "nodeType": "YulExpressionStatement", + "src": "2707:47:12" + }, + { + "nativeSrc": "2763:86:12", + "nodeType": "YulAssignment", + "src": "2763:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "2835:6:12", + "nodeType": "YulIdentifier", + "src": "2835:6:12" + }, + { + "name": "tail", + "nativeSrc": "2844:4:12", + "nodeType": "YulIdentifier", + "src": "2844:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "2771:63:12", + "nodeType": "YulIdentifier", + "src": "2771:63:12" + }, + "nativeSrc": "2771:78:12", + "nodeType": "YulFunctionCall", + "src": "2771:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "2763:4:12", + "nodeType": "YulIdentifier", + "src": "2763:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "2543:313:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2633:9:12", + "nodeType": "YulTypedName", + "src": "2633:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "2645:6:12", + "nodeType": "YulTypedName", + "src": "2645:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "2656:4:12", + "nodeType": "YulTypedName", + "src": "2656:4:12", + "type": "" + } + ], + "src": "2543:313:12" + }, + { + "body": { + "nativeSrc": "2907:32:12", + "nodeType": "YulBlock", + "src": "2907:32:12", + "statements": [ + { + "nativeSrc": "2917:16:12", + "nodeType": "YulAssignment", + "src": "2917:16:12", + "value": { + "name": "value", + "nativeSrc": "2928:5:12", + "nodeType": "YulIdentifier", + "src": "2928:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2917:7:12", + "nodeType": "YulIdentifier", + "src": "2917:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "2862:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2889:5:12", + "nodeType": "YulTypedName", + "src": "2889:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2899:7:12", + "nodeType": "YulTypedName", + "src": "2899:7:12", + "type": "" + } + ], + "src": "2862:77:12" + }, + { + "body": { + "nativeSrc": "2988:79:12", + "nodeType": "YulBlock", + "src": "2988:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3045:16:12", + "nodeType": "YulBlock", + "src": "3045:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3054:1:12", + "nodeType": "YulLiteral", + "src": "3054:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3057:1:12", + "nodeType": "YulLiteral", + "src": "3057:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3047:6:12", + "nodeType": "YulIdentifier", + "src": "3047:6:12" + }, + "nativeSrc": "3047:12:12", + "nodeType": "YulFunctionCall", + "src": "3047:12:12" + }, + "nativeSrc": "3047:12:12", + "nodeType": "YulExpressionStatement", + "src": "3047:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3011:5:12", + "nodeType": "YulIdentifier", + "src": "3011:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3036:5:12", + "nodeType": "YulIdentifier", + "src": "3036:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3018:17:12", + "nodeType": "YulIdentifier", + "src": "3018:17:12" + }, + "nativeSrc": "3018:24:12", + "nodeType": "YulFunctionCall", + "src": "3018:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3008:2:12", + "nodeType": "YulIdentifier", + "src": "3008:2:12" + }, + "nativeSrc": "3008:35:12", + "nodeType": "YulFunctionCall", + "src": "3008:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3001:6:12", + "nodeType": "YulIdentifier", + "src": "3001:6:12" + }, + "nativeSrc": "3001:43:12", + "nodeType": "YulFunctionCall", + "src": "3001:43:12" + }, + "nativeSrc": "2998:63:12", + "nodeType": "YulIf", + "src": "2998:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "2945:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2981:5:12", + "nodeType": "YulTypedName", + "src": "2981:5:12", + "type": "" + } + ], + "src": "2945:122:12" + }, + { + "body": { + "nativeSrc": "3125:87:12", + "nodeType": "YulBlock", + "src": "3125:87:12", + "statements": [ + { + "nativeSrc": "3135:29:12", + "nodeType": "YulAssignment", + "src": "3135:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3157:6:12", + "nodeType": "YulIdentifier", + "src": "3157:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3144:12:12", + "nodeType": "YulIdentifier", + "src": "3144:12:12" + }, + "nativeSrc": "3144:20:12", + "nodeType": "YulFunctionCall", + "src": "3144:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3135:5:12", + "nodeType": "YulIdentifier", + "src": "3135:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3200:5:12", + "nodeType": "YulIdentifier", + "src": "3200:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3173:26:12", + "nodeType": "YulIdentifier", + "src": "3173:26:12" + }, + "nativeSrc": "3173:33:12", + "nodeType": "YulFunctionCall", + "src": "3173:33:12" + }, + "nativeSrc": "3173:33:12", + "nodeType": "YulExpressionStatement", + "src": "3173:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3073:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3103:6:12", + "nodeType": "YulTypedName", + "src": "3103:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3111:3:12", + "nodeType": "YulTypedName", + "src": "3111:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3119:5:12", + "nodeType": "YulTypedName", + "src": "3119:5:12", + "type": "" + } + ], + "src": "3073:139:12" + }, + { + "body": { + "nativeSrc": "3284:263:12", + "nodeType": "YulBlock", + "src": "3284:263:12", + "statements": [ + { + "body": { + "nativeSrc": "3330:83:12", + "nodeType": "YulBlock", + "src": "3330:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3332:77:12", + "nodeType": "YulIdentifier", + "src": "3332:77:12" + }, + "nativeSrc": "3332:79:12", + "nodeType": "YulFunctionCall", + "src": "3332:79:12" + }, + "nativeSrc": "3332:79:12", + "nodeType": "YulExpressionStatement", + "src": "3332:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3305:7:12", + "nodeType": "YulIdentifier", + "src": "3305:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3314:9:12", + "nodeType": "YulIdentifier", + "src": "3314:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3301:3:12", + "nodeType": "YulIdentifier", + "src": "3301:3:12" + }, + "nativeSrc": "3301:23:12", + "nodeType": "YulFunctionCall", + "src": "3301:23:12" + }, + { + "kind": "number", + "nativeSrc": "3326:2:12", + "nodeType": "YulLiteral", + "src": "3326:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3297:3:12", + "nodeType": "YulIdentifier", + "src": "3297:3:12" + }, + "nativeSrc": "3297:32:12", + "nodeType": "YulFunctionCall", + "src": "3297:32:12" + }, + "nativeSrc": "3294:119:12", + "nodeType": "YulIf", + "src": "3294:119:12" + }, + { + "nativeSrc": "3423:117:12", + "nodeType": "YulBlock", + "src": "3423:117:12", + "statements": [ + { + "nativeSrc": "3438:15:12", + "nodeType": "YulVariableDeclaration", + "src": "3438:15:12", + "value": { + "kind": "number", + "nativeSrc": "3452:1:12", + "nodeType": "YulLiteral", + "src": "3452:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3442:6:12", + "nodeType": "YulTypedName", + "src": "3442:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "3467:63:12", + "nodeType": "YulAssignment", + "src": "3467:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3502:9:12", + "nodeType": "YulIdentifier", + "src": "3502:9:12" + }, + { + "name": "offset", + "nativeSrc": "3513:6:12", + "nodeType": "YulIdentifier", + "src": "3513:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3498:3:12", + "nodeType": "YulIdentifier", + "src": "3498:3:12" + }, + "nativeSrc": "3498:22:12", + "nodeType": "YulFunctionCall", + "src": "3498:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3522:7:12", + "nodeType": "YulIdentifier", + "src": "3522:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "3477:20:12", + "nodeType": "YulIdentifier", + "src": "3477:20:12" + }, + "nativeSrc": "3477:53:12", + "nodeType": "YulFunctionCall", + "src": "3477:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3467:6:12", + "nodeType": "YulIdentifier", + "src": "3467:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nativeSrc": "3218:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3254:9:12", + "nodeType": "YulTypedName", + "src": "3254:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3265:7:12", + "nodeType": "YulTypedName", + "src": "3265:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3277:6:12", + "nodeType": "YulTypedName", + "src": "3277:6:12", + "type": "" + } + ], + "src": "3218:329:12" + }, + { + "body": { + "nativeSrc": "3598:81:12", + "nodeType": "YulBlock", + "src": "3598:81:12", + "statements": [ + { + "nativeSrc": "3608:65:12", + "nodeType": "YulAssignment", + "src": "3608:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3623:5:12", + "nodeType": "YulIdentifier", + "src": "3623:5:12" + }, + { + "kind": "number", + "nativeSrc": "3630:42:12", + "nodeType": "YulLiteral", + "src": "3630:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "3619:3:12", + "nodeType": "YulIdentifier", + "src": "3619:3:12" + }, + "nativeSrc": "3619:54:12", + "nodeType": "YulFunctionCall", + "src": "3619:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3608:7:12", + "nodeType": "YulIdentifier", + "src": "3608:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "3553:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3580:5:12", + "nodeType": "YulTypedName", + "src": "3580:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3590:7:12", + "nodeType": "YulTypedName", + "src": "3590:7:12", + "type": "" + } + ], + "src": "3553:126:12" + }, + { + "body": { + "nativeSrc": "3730:51:12", + "nodeType": "YulBlock", + "src": "3730:51:12", + "statements": [ + { + "nativeSrc": "3740:35:12", + "nodeType": "YulAssignment", + "src": "3740:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3769:5:12", + "nodeType": "YulIdentifier", + "src": "3769:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "3751:17:12", + "nodeType": "YulIdentifier", + "src": "3751:17:12" + }, + "nativeSrc": "3751:24:12", + "nodeType": "YulFunctionCall", + "src": "3751:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3740:7:12", + "nodeType": "YulIdentifier", + "src": "3740:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "3685:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3712:5:12", + "nodeType": "YulTypedName", + "src": "3712:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3722:7:12", + "nodeType": "YulTypedName", + "src": "3722:7:12", + "type": "" + } + ], + "src": "3685:96:12" + }, + { + "body": { + "nativeSrc": "3852:53:12", + "nodeType": "YulBlock", + "src": "3852:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3869:3:12", + "nodeType": "YulIdentifier", + "src": "3869:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3892:5:12", + "nodeType": "YulIdentifier", + "src": "3892:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "3874:17:12", + "nodeType": "YulIdentifier", + "src": "3874:17:12" + }, + "nativeSrc": "3874:24:12", + "nodeType": "YulFunctionCall", + "src": "3874:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3862:6:12", + "nodeType": "YulIdentifier", + "src": "3862:6:12" + }, + "nativeSrc": "3862:37:12", + "nodeType": "YulFunctionCall", + "src": "3862:37:12" + }, + "nativeSrc": "3862:37:12", + "nodeType": "YulExpressionStatement", + "src": "3862:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "3787:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3840:5:12", + "nodeType": "YulTypedName", + "src": "3840:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3847:3:12", + "nodeType": "YulTypedName", + "src": "3847:3:12", + "type": "" + } + ], + "src": "3787:118:12" + }, + { + "body": { + "nativeSrc": "4009:124:12", + "nodeType": "YulBlock", + "src": "4009:124:12", + "statements": [ + { + "nativeSrc": "4019:26:12", + "nodeType": "YulAssignment", + "src": "4019:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4031:9:12", + "nodeType": "YulIdentifier", + "src": "4031:9:12" + }, + { + "kind": "number", + "nativeSrc": "4042:2:12", + "nodeType": "YulLiteral", + "src": "4042:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4027:3:12", + "nodeType": "YulIdentifier", + "src": "4027:3:12" + }, + "nativeSrc": "4027:18:12", + "nodeType": "YulFunctionCall", + "src": "4027:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4019:4:12", + "nodeType": "YulIdentifier", + "src": "4019:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4099:6:12", + "nodeType": "YulIdentifier", + "src": "4099:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4112:9:12", + "nodeType": "YulIdentifier", + "src": "4112:9:12" + }, + { + "kind": "number", + "nativeSrc": "4123:1:12", + "nodeType": "YulLiteral", + "src": "4123:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4108:3:12", + "nodeType": "YulIdentifier", + "src": "4108:3:12" + }, + "nativeSrc": "4108:17:12", + "nodeType": "YulFunctionCall", + "src": "4108:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4055:43:12", + "nodeType": "YulIdentifier", + "src": "4055:43:12" + }, + "nativeSrc": "4055:71:12", + "nodeType": "YulFunctionCall", + "src": "4055:71:12" + }, + "nativeSrc": "4055:71:12", + "nodeType": "YulExpressionStatement", + "src": "4055:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "3911:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3981:9:12", + "nodeType": "YulTypedName", + "src": "3981:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3993:6:12", + "nodeType": "YulTypedName", + "src": "3993:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4004:4:12", + "nodeType": "YulTypedName", + "src": "4004:4:12", + "type": "" + } + ], + "src": "3911:222:12" + }, + { + "body": { + "nativeSrc": "4182:79:12", + "nodeType": "YulBlock", + "src": "4182:79:12", + "statements": [ + { + "body": { + "nativeSrc": "4239:16:12", + "nodeType": "YulBlock", + "src": "4239:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4248:1:12", + "nodeType": "YulLiteral", + "src": "4248:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4251:1:12", + "nodeType": "YulLiteral", + "src": "4251:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4241:6:12", + "nodeType": "YulIdentifier", + "src": "4241:6:12" + }, + "nativeSrc": "4241:12:12", + "nodeType": "YulFunctionCall", + "src": "4241:12:12" + }, + "nativeSrc": "4241:12:12", + "nodeType": "YulExpressionStatement", + "src": "4241:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4205:5:12", + "nodeType": "YulIdentifier", + "src": "4205:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4230:5:12", + "nodeType": "YulIdentifier", + "src": "4230:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4212:17:12", + "nodeType": "YulIdentifier", + "src": "4212:17:12" + }, + "nativeSrc": "4212:24:12", + "nodeType": "YulFunctionCall", + "src": "4212:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "4202:2:12", + "nodeType": "YulIdentifier", + "src": "4202:2:12" + }, + "nativeSrc": "4202:35:12", + "nodeType": "YulFunctionCall", + "src": "4202:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4195:6:12", + "nodeType": "YulIdentifier", + "src": "4195:6:12" + }, + "nativeSrc": "4195:43:12", + "nodeType": "YulFunctionCall", + "src": "4195:43:12" + }, + "nativeSrc": "4192:63:12", + "nodeType": "YulIf", + "src": "4192:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "4139:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4175:5:12", + "nodeType": "YulTypedName", + "src": "4175:5:12", + "type": "" + } + ], + "src": "4139:122:12" + }, + { + "body": { + "nativeSrc": "4319:87:12", + "nodeType": "YulBlock", + "src": "4319:87:12", + "statements": [ + { + "nativeSrc": "4329:29:12", + "nodeType": "YulAssignment", + "src": "4329:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4351:6:12", + "nodeType": "YulIdentifier", + "src": "4351:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4338:12:12", + "nodeType": "YulIdentifier", + "src": "4338:12:12" + }, + "nativeSrc": "4338:20:12", + "nodeType": "YulFunctionCall", + "src": "4338:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "4329:5:12", + "nodeType": "YulIdentifier", + "src": "4329:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4394:5:12", + "nodeType": "YulIdentifier", + "src": "4394:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "4367:26:12", + "nodeType": "YulIdentifier", + "src": "4367:26:12" + }, + "nativeSrc": "4367:33:12", + "nodeType": "YulFunctionCall", + "src": "4367:33:12" + }, + "nativeSrc": "4367:33:12", + "nodeType": "YulExpressionStatement", + "src": "4367:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "4267:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "4297:6:12", + "nodeType": "YulTypedName", + "src": "4297:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "4305:3:12", + "nodeType": "YulTypedName", + "src": "4305:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "4313:5:12", + "nodeType": "YulTypedName", + "src": "4313:5:12", + "type": "" + } + ], + "src": "4267:139:12" + }, + { + "body": { + "nativeSrc": "4495:391:12", + "nodeType": "YulBlock", + "src": "4495:391:12", + "statements": [ + { + "body": { + "nativeSrc": "4541:83:12", + "nodeType": "YulBlock", + "src": "4541:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "4543:77:12", + "nodeType": "YulIdentifier", + "src": "4543:77:12" + }, + "nativeSrc": "4543:79:12", + "nodeType": "YulFunctionCall", + "src": "4543:79:12" + }, + "nativeSrc": "4543:79:12", + "nodeType": "YulExpressionStatement", + "src": "4543:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4516:7:12", + "nodeType": "YulIdentifier", + "src": "4516:7:12" + }, + { + "name": "headStart", + "nativeSrc": "4525:9:12", + "nodeType": "YulIdentifier", + "src": "4525:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4512:3:12", + "nodeType": "YulIdentifier", + "src": "4512:3:12" + }, + "nativeSrc": "4512:23:12", + "nodeType": "YulFunctionCall", + "src": "4512:23:12" + }, + { + "kind": "number", + "nativeSrc": "4537:2:12", + "nodeType": "YulLiteral", + "src": "4537:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4508:3:12", + "nodeType": "YulIdentifier", + "src": "4508:3:12" + }, + "nativeSrc": "4508:32:12", + "nodeType": "YulFunctionCall", + "src": "4508:32:12" + }, + "nativeSrc": "4505:119:12", + "nodeType": "YulIf", + "src": "4505:119:12" + }, + { + "nativeSrc": "4634:117:12", + "nodeType": "YulBlock", + "src": "4634:117:12", + "statements": [ + { + "nativeSrc": "4649:15:12", + "nodeType": "YulVariableDeclaration", + "src": "4649:15:12", + "value": { + "kind": "number", + "nativeSrc": "4663:1:12", + "nodeType": "YulLiteral", + "src": "4663:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4653:6:12", + "nodeType": "YulTypedName", + "src": "4653:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4678:63:12", + "nodeType": "YulAssignment", + "src": "4678:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4713:9:12", + "nodeType": "YulIdentifier", + "src": "4713:9:12" + }, + { + "name": "offset", + "nativeSrc": "4724:6:12", + "nodeType": "YulIdentifier", + "src": "4724:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4709:3:12", + "nodeType": "YulIdentifier", + "src": "4709:3:12" + }, + "nativeSrc": "4709:22:12", + "nodeType": "YulFunctionCall", + "src": "4709:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4733:7:12", + "nodeType": "YulIdentifier", + "src": "4733:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "4688:20:12", + "nodeType": "YulIdentifier", + "src": "4688:20:12" + }, + "nativeSrc": "4688:53:12", + "nodeType": "YulFunctionCall", + "src": "4688:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4678:6:12", + "nodeType": "YulIdentifier", + "src": "4678:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "4761:118:12", + "nodeType": "YulBlock", + "src": "4761:118:12", + "statements": [ + { + "nativeSrc": "4776:16:12", + "nodeType": "YulVariableDeclaration", + "src": "4776:16:12", + "value": { + "kind": "number", + "nativeSrc": "4790:2:12", + "nodeType": "YulLiteral", + "src": "4790:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4780:6:12", + "nodeType": "YulTypedName", + "src": "4780:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4806:63:12", + "nodeType": "YulAssignment", + "src": "4806:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4841:9:12", + "nodeType": "YulIdentifier", + "src": "4841:9:12" + }, + { + "name": "offset", + "nativeSrc": "4852:6:12", + "nodeType": "YulIdentifier", + "src": "4852:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4837:3:12", + "nodeType": "YulIdentifier", + "src": "4837:3:12" + }, + "nativeSrc": "4837:22:12", + "nodeType": "YulFunctionCall", + "src": "4837:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "4861:7:12", + "nodeType": "YulIdentifier", + "src": "4861:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "4816:20:12", + "nodeType": "YulIdentifier", + "src": "4816:20:12" + }, + "nativeSrc": "4816:53:12", + "nodeType": "YulFunctionCall", + "src": "4816:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4806:6:12", + "nodeType": "YulIdentifier", + "src": "4806:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nativeSrc": "4412:474:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4457:9:12", + "nodeType": "YulTypedName", + "src": "4457:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "4468:7:12", + "nodeType": "YulTypedName", + "src": "4468:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4480:6:12", + "nodeType": "YulTypedName", + "src": "4480:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4488:6:12", + "nodeType": "YulTypedName", + "src": "4488:6:12", + "type": "" + } + ], + "src": "4412:474:12" + }, + { + "body": { + "nativeSrc": "4992:519:12", + "nodeType": "YulBlock", + "src": "4992:519:12", + "statements": [ + { + "body": { + "nativeSrc": "5038:83:12", + "nodeType": "YulBlock", + "src": "5038:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5040:77:12", + "nodeType": "YulIdentifier", + "src": "5040:77:12" + }, + "nativeSrc": "5040:79:12", + "nodeType": "YulFunctionCall", + "src": "5040:79:12" + }, + "nativeSrc": "5040:79:12", + "nodeType": "YulExpressionStatement", + "src": "5040:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5013:7:12", + "nodeType": "YulIdentifier", + "src": "5013:7:12" + }, + { + "name": "headStart", + "nativeSrc": "5022:9:12", + "nodeType": "YulIdentifier", + "src": "5022:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5009:3:12", + "nodeType": "YulIdentifier", + "src": "5009:3:12" + }, + "nativeSrc": "5009:23:12", + "nodeType": "YulFunctionCall", + "src": "5009:23:12" + }, + { + "kind": "number", + "nativeSrc": "5034:2:12", + "nodeType": "YulLiteral", + "src": "5034:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5005:3:12", + "nodeType": "YulIdentifier", + "src": "5005:3:12" + }, + "nativeSrc": "5005:32:12", + "nodeType": "YulFunctionCall", + "src": "5005:32:12" + }, + "nativeSrc": "5002:119:12", + "nodeType": "YulIf", + "src": "5002:119:12" + }, + { + "nativeSrc": "5131:117:12", + "nodeType": "YulBlock", + "src": "5131:117:12", + "statements": [ + { + "nativeSrc": "5146:15:12", + "nodeType": "YulVariableDeclaration", + "src": "5146:15:12", + "value": { + "kind": "number", + "nativeSrc": "5160:1:12", + "nodeType": "YulLiteral", + "src": "5160:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5150:6:12", + "nodeType": "YulTypedName", + "src": "5150:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5175:63:12", + "nodeType": "YulAssignment", + "src": "5175:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5210:9:12", + "nodeType": "YulIdentifier", + "src": "5210:9:12" + }, + { + "name": "offset", + "nativeSrc": "5221:6:12", + "nodeType": "YulIdentifier", + "src": "5221:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5206:3:12", + "nodeType": "YulIdentifier", + "src": "5206:3:12" + }, + "nativeSrc": "5206:22:12", + "nodeType": "YulFunctionCall", + "src": "5206:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5230:7:12", + "nodeType": "YulIdentifier", + "src": "5230:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5185:20:12", + "nodeType": "YulIdentifier", + "src": "5185:20:12" + }, + "nativeSrc": "5185:53:12", + "nodeType": "YulFunctionCall", + "src": "5185:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5175:6:12", + "nodeType": "YulIdentifier", + "src": "5175:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5258:118:12", + "nodeType": "YulBlock", + "src": "5258:118:12", + "statements": [ + { + "nativeSrc": "5273:16:12", + "nodeType": "YulVariableDeclaration", + "src": "5273:16:12", + "value": { + "kind": "number", + "nativeSrc": "5287:2:12", + "nodeType": "YulLiteral", + "src": "5287:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5277:6:12", + "nodeType": "YulTypedName", + "src": "5277:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5303:63:12", + "nodeType": "YulAssignment", + "src": "5303:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5338:9:12", + "nodeType": "YulIdentifier", + "src": "5338:9:12" + }, + { + "name": "offset", + "nativeSrc": "5349:6:12", + "nodeType": "YulIdentifier", + "src": "5349:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5334:3:12", + "nodeType": "YulIdentifier", + "src": "5334:3:12" + }, + "nativeSrc": "5334:22:12", + "nodeType": "YulFunctionCall", + "src": "5334:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5358:7:12", + "nodeType": "YulIdentifier", + "src": "5358:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5313:20:12", + "nodeType": "YulIdentifier", + "src": "5313:20:12" + }, + "nativeSrc": "5313:53:12", + "nodeType": "YulFunctionCall", + "src": "5313:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "5303:6:12", + "nodeType": "YulIdentifier", + "src": "5303:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5386:118:12", + "nodeType": "YulBlock", + "src": "5386:118:12", + "statements": [ + { + "nativeSrc": "5401:16:12", + "nodeType": "YulVariableDeclaration", + "src": "5401:16:12", + "value": { + "kind": "number", + "nativeSrc": "5415:2:12", + "nodeType": "YulLiteral", + "src": "5415:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5405:6:12", + "nodeType": "YulTypedName", + "src": "5405:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5431:63:12", + "nodeType": "YulAssignment", + "src": "5431:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5466:9:12", + "nodeType": "YulIdentifier", + "src": "5466:9:12" + }, + { + "name": "offset", + "nativeSrc": "5477:6:12", + "nodeType": "YulIdentifier", + "src": "5477:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5462:3:12", + "nodeType": "YulIdentifier", + "src": "5462:3:12" + }, + "nativeSrc": "5462:22:12", + "nodeType": "YulFunctionCall", + "src": "5462:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5486:7:12", + "nodeType": "YulIdentifier", + "src": "5486:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "5441:20:12", + "nodeType": "YulIdentifier", + "src": "5441:20:12" + }, + "nativeSrc": "5441:53:12", + "nodeType": "YulFunctionCall", + "src": "5441:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "5431:6:12", + "nodeType": "YulIdentifier", + "src": "5431:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nativeSrc": "4892:619:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4946:9:12", + "nodeType": "YulTypedName", + "src": "4946:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "4957:7:12", + "nodeType": "YulTypedName", + "src": "4957:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4969:6:12", + "nodeType": "YulTypedName", + "src": "4969:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4977:6:12", + "nodeType": "YulTypedName", + "src": "4977:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "4985:6:12", + "nodeType": "YulTypedName", + "src": "4985:6:12", + "type": "" + } + ], + "src": "4892:619:12" + }, + { + "body": { + "nativeSrc": "5583:263:12", + "nodeType": "YulBlock", + "src": "5583:263:12", + "statements": [ + { + "body": { + "nativeSrc": "5629:83:12", + "nodeType": "YulBlock", + "src": "5629:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5631:77:12", + "nodeType": "YulIdentifier", + "src": "5631:77:12" + }, + "nativeSrc": "5631:79:12", + "nodeType": "YulFunctionCall", + "src": "5631:79:12" + }, + "nativeSrc": "5631:79:12", + "nodeType": "YulExpressionStatement", + "src": "5631:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5604:7:12", + "nodeType": "YulIdentifier", + "src": "5604:7:12" + }, + { + "name": "headStart", + "nativeSrc": "5613:9:12", + "nodeType": "YulIdentifier", + "src": "5613:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5600:3:12", + "nodeType": "YulIdentifier", + "src": "5600:3:12" + }, + "nativeSrc": "5600:23:12", + "nodeType": "YulFunctionCall", + "src": "5600:23:12" + }, + { + "kind": "number", + "nativeSrc": "5625:2:12", + "nodeType": "YulLiteral", + "src": "5625:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5596:3:12", + "nodeType": "YulIdentifier", + "src": "5596:3:12" + }, + "nativeSrc": "5596:32:12", + "nodeType": "YulFunctionCall", + "src": "5596:32:12" + }, + "nativeSrc": "5593:119:12", + "nodeType": "YulIf", + "src": "5593:119:12" + }, + { + "nativeSrc": "5722:117:12", + "nodeType": "YulBlock", + "src": "5722:117:12", + "statements": [ + { + "nativeSrc": "5737:15:12", + "nodeType": "YulVariableDeclaration", + "src": "5737:15:12", + "value": { + "kind": "number", + "nativeSrc": "5751:1:12", + "nodeType": "YulLiteral", + "src": "5751:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5741:6:12", + "nodeType": "YulTypedName", + "src": "5741:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5766:63:12", + "nodeType": "YulAssignment", + "src": "5766:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5801:9:12", + "nodeType": "YulIdentifier", + "src": "5801:9:12" + }, + { + "name": "offset", + "nativeSrc": "5812:6:12", + "nodeType": "YulIdentifier", + "src": "5812:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5797:3:12", + "nodeType": "YulIdentifier", + "src": "5797:3:12" + }, + "nativeSrc": "5797:22:12", + "nodeType": "YulFunctionCall", + "src": "5797:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5821:7:12", + "nodeType": "YulIdentifier", + "src": "5821:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5776:20:12", + "nodeType": "YulIdentifier", + "src": "5776:20:12" + }, + "nativeSrc": "5776:53:12", + "nodeType": "YulFunctionCall", + "src": "5776:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5766:6:12", + "nodeType": "YulIdentifier", + "src": "5766:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "5517:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5553:9:12", + "nodeType": "YulTypedName", + "src": "5553:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5564:7:12", + "nodeType": "YulTypedName", + "src": "5564:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5576:6:12", + "nodeType": "YulTypedName", + "src": "5576:6:12", + "type": "" + } + ], + "src": "5517:329:12" + }, + { + "body": { + "nativeSrc": "5917:53:12", + "nodeType": "YulBlock", + "src": "5917:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5934:3:12", + "nodeType": "YulIdentifier", + "src": "5934:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5957:5:12", + "nodeType": "YulIdentifier", + "src": "5957:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5939:17:12", + "nodeType": "YulIdentifier", + "src": "5939:17:12" + }, + "nativeSrc": "5939:24:12", + "nodeType": "YulFunctionCall", + "src": "5939:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5927:6:12", + "nodeType": "YulIdentifier", + "src": "5927:6:12" + }, + "nativeSrc": "5927:37:12", + "nodeType": "YulFunctionCall", + "src": "5927:37:12" + }, + "nativeSrc": "5927:37:12", + "nodeType": "YulExpressionStatement", + "src": "5927:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "5852:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5905:5:12", + "nodeType": "YulTypedName", + "src": "5905:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5912:3:12", + "nodeType": "YulTypedName", + "src": "5912:3:12", + "type": "" + } + ], + "src": "5852:118:12" + }, + { + "body": { + "nativeSrc": "6074:124:12", + "nodeType": "YulBlock", + "src": "6074:124:12", + "statements": [ + { + "nativeSrc": "6084:26:12", + "nodeType": "YulAssignment", + "src": "6084:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6096:9:12", + "nodeType": "YulIdentifier", + "src": "6096:9:12" + }, + { + "kind": "number", + "nativeSrc": "6107:2:12", + "nodeType": "YulLiteral", + "src": "6107:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6092:3:12", + "nodeType": "YulIdentifier", + "src": "6092:3:12" + }, + "nativeSrc": "6092:18:12", + "nodeType": "YulFunctionCall", + "src": "6092:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6084:4:12", + "nodeType": "YulIdentifier", + "src": "6084:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6164:6:12", + "nodeType": "YulIdentifier", + "src": "6164:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6177:9:12", + "nodeType": "YulIdentifier", + "src": "6177:9:12" + }, + { + "kind": "number", + "nativeSrc": "6188:1:12", + "nodeType": "YulLiteral", + "src": "6188:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6173:3:12", + "nodeType": "YulIdentifier", + "src": "6173:3:12" + }, + "nativeSrc": "6173:17:12", + "nodeType": "YulFunctionCall", + "src": "6173:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6120:43:12", + "nodeType": "YulIdentifier", + "src": "6120:43:12" + }, + "nativeSrc": "6120:71:12", + "nodeType": "YulFunctionCall", + "src": "6120:71:12" + }, + "nativeSrc": "6120:71:12", + "nodeType": "YulExpressionStatement", + "src": "6120:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "5976:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6046:9:12", + "nodeType": "YulTypedName", + "src": "6046:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6058:6:12", + "nodeType": "YulTypedName", + "src": "6058:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6069:4:12", + "nodeType": "YulTypedName", + "src": "6069:4:12", + "type": "" + } + ], + "src": "5976:222:12" + }, + { + "body": { + "nativeSrc": "6244:76:12", + "nodeType": "YulBlock", + "src": "6244:76:12", + "statements": [ + { + "body": { + "nativeSrc": "6298:16:12", + "nodeType": "YulBlock", + "src": "6298:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6307:1:12", + "nodeType": "YulLiteral", + "src": "6307:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6310:1:12", + "nodeType": "YulLiteral", + "src": "6310:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6300:6:12", + "nodeType": "YulIdentifier", + "src": "6300:6:12" + }, + "nativeSrc": "6300:12:12", + "nodeType": "YulFunctionCall", + "src": "6300:12:12" + }, + "nativeSrc": "6300:12:12", + "nodeType": "YulExpressionStatement", + "src": "6300:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6267:5:12", + "nodeType": "YulIdentifier", + "src": "6267:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6289:5:12", + "nodeType": "YulIdentifier", + "src": "6289:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "6274:14:12", + "nodeType": "YulIdentifier", + "src": "6274:14:12" + }, + "nativeSrc": "6274:21:12", + "nodeType": "YulFunctionCall", + "src": "6274:21:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6264:2:12", + "nodeType": "YulIdentifier", + "src": "6264:2:12" + }, + "nativeSrc": "6264:32:12", + "nodeType": "YulFunctionCall", + "src": "6264:32:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6257:6:12", + "nodeType": "YulIdentifier", + "src": "6257:6:12" + }, + "nativeSrc": "6257:40:12", + "nodeType": "YulFunctionCall", + "src": "6257:40:12" + }, + "nativeSrc": "6254:60:12", + "nodeType": "YulIf", + "src": "6254:60:12" + } + ] + }, + "name": "validator_revert_t_bool", + "nativeSrc": "6204:116:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6237:5:12", + "nodeType": "YulTypedName", + "src": "6237:5:12", + "type": "" + } + ], + "src": "6204:116:12" + }, + { + "body": { + "nativeSrc": "6375:84:12", + "nodeType": "YulBlock", + "src": "6375:84:12", + "statements": [ + { + "nativeSrc": "6385:29:12", + "nodeType": "YulAssignment", + "src": "6385:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6407:6:12", + "nodeType": "YulIdentifier", + "src": "6407:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6394:12:12", + "nodeType": "YulIdentifier", + "src": "6394:12:12" + }, + "nativeSrc": "6394:20:12", + "nodeType": "YulFunctionCall", + "src": "6394:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6385:5:12", + "nodeType": "YulIdentifier", + "src": "6385:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6447:5:12", + "nodeType": "YulIdentifier", + "src": "6447:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nativeSrc": "6423:23:12", + "nodeType": "YulIdentifier", + "src": "6423:23:12" + }, + "nativeSrc": "6423:30:12", + "nodeType": "YulFunctionCall", + "src": "6423:30:12" + }, + "nativeSrc": "6423:30:12", + "nodeType": "YulExpressionStatement", + "src": "6423:30:12" + } + ] + }, + "name": "abi_decode_t_bool", + "nativeSrc": "6326:133:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6353:6:12", + "nodeType": "YulTypedName", + "src": "6353:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6361:3:12", + "nodeType": "YulTypedName", + "src": "6361:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "6369:5:12", + "nodeType": "YulTypedName", + "src": "6369:5:12", + "type": "" + } + ], + "src": "6326:133:12" + }, + { + "body": { + "nativeSrc": "6545:388:12", + "nodeType": "YulBlock", + "src": "6545:388:12", + "statements": [ + { + "body": { + "nativeSrc": "6591:83:12", + "nodeType": "YulBlock", + "src": "6591:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6593:77:12", + "nodeType": "YulIdentifier", + "src": "6593:77:12" + }, + "nativeSrc": "6593:79:12", + "nodeType": "YulFunctionCall", + "src": "6593:79:12" + }, + "nativeSrc": "6593:79:12", + "nodeType": "YulExpressionStatement", + "src": "6593:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6566:7:12", + "nodeType": "YulIdentifier", + "src": "6566:7:12" + }, + { + "name": "headStart", + "nativeSrc": "6575:9:12", + "nodeType": "YulIdentifier", + "src": "6575:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6562:3:12", + "nodeType": "YulIdentifier", + "src": "6562:3:12" + }, + "nativeSrc": "6562:23:12", + "nodeType": "YulFunctionCall", + "src": "6562:23:12" + }, + { + "kind": "number", + "nativeSrc": "6587:2:12", + "nodeType": "YulLiteral", + "src": "6587:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6558:3:12", + "nodeType": "YulIdentifier", + "src": "6558:3:12" + }, + "nativeSrc": "6558:32:12", + "nodeType": "YulFunctionCall", + "src": "6558:32:12" + }, + "nativeSrc": "6555:119:12", + "nodeType": "YulIf", + "src": "6555:119:12" + }, + { + "nativeSrc": "6684:117:12", + "nodeType": "YulBlock", + "src": "6684:117:12", + "statements": [ + { + "nativeSrc": "6699:15:12", + "nodeType": "YulVariableDeclaration", + "src": "6699:15:12", + "value": { + "kind": "number", + "nativeSrc": "6713:1:12", + "nodeType": "YulLiteral", + "src": "6713:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6703:6:12", + "nodeType": "YulTypedName", + "src": "6703:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6728:63:12", + "nodeType": "YulAssignment", + "src": "6728:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6763:9:12", + "nodeType": "YulIdentifier", + "src": "6763:9:12" + }, + { + "name": "offset", + "nativeSrc": "6774:6:12", + "nodeType": "YulIdentifier", + "src": "6774:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6759:3:12", + "nodeType": "YulIdentifier", + "src": "6759:3:12" + }, + "nativeSrc": "6759:22:12", + "nodeType": "YulFunctionCall", + "src": "6759:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "6783:7:12", + "nodeType": "YulIdentifier", + "src": "6783:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "6738:20:12", + "nodeType": "YulIdentifier", + "src": "6738:20:12" + }, + "nativeSrc": "6738:53:12", + "nodeType": "YulFunctionCall", + "src": "6738:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6728:6:12", + "nodeType": "YulIdentifier", + "src": "6728:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "6811:115:12", + "nodeType": "YulBlock", + "src": "6811:115:12", + "statements": [ + { + "nativeSrc": "6826:16:12", + "nodeType": "YulVariableDeclaration", + "src": "6826:16:12", + "value": { + "kind": "number", + "nativeSrc": "6840:2:12", + "nodeType": "YulLiteral", + "src": "6840:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6830:6:12", + "nodeType": "YulTypedName", + "src": "6830:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6856:60:12", + "nodeType": "YulAssignment", + "src": "6856:60:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6888:9:12", + "nodeType": "YulIdentifier", + "src": "6888:9:12" + }, + { + "name": "offset", + "nativeSrc": "6899:6:12", + "nodeType": "YulIdentifier", + "src": "6899:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6884:3:12", + "nodeType": "YulIdentifier", + "src": "6884:3:12" + }, + "nativeSrc": "6884:22:12", + "nodeType": "YulFunctionCall", + "src": "6884:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "6908:7:12", + "nodeType": "YulIdentifier", + "src": "6908:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nativeSrc": "6866:17:12", + "nodeType": "YulIdentifier", + "src": "6866:17:12" + }, + "nativeSrc": "6866:50:12", + "nodeType": "YulFunctionCall", + "src": "6866:50:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "6856:6:12", + "nodeType": "YulIdentifier", + "src": "6856:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nativeSrc": "6465:468:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6507:9:12", + "nodeType": "YulTypedName", + "src": "6507:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6518:7:12", + "nodeType": "YulTypedName", + "src": "6518:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6530:6:12", + "nodeType": "YulTypedName", + "src": "6530:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6538:6:12", + "nodeType": "YulTypedName", + "src": "6538:6:12", + "type": "" + } + ], + "src": "6465:468:12" + }, + { + "body": { + "nativeSrc": "7028:28:12", + "nodeType": "YulBlock", + "src": "7028:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7045:1:12", + "nodeType": "YulLiteral", + "src": "7045:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7048:1:12", + "nodeType": "YulLiteral", + "src": "7048:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7038:6:12", + "nodeType": "YulIdentifier", + "src": "7038:6:12" + }, + "nativeSrc": "7038:12:12", + "nodeType": "YulFunctionCall", + "src": "7038:12:12" + }, + "nativeSrc": "7038:12:12", + "nodeType": "YulExpressionStatement", + "src": "7038:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6939:117:12", + "nodeType": "YulFunctionDefinition", + "src": "6939:117:12" + }, + { + "body": { + "nativeSrc": "7151:28:12", + "nodeType": "YulBlock", + "src": "7151:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7168:1:12", + "nodeType": "YulLiteral", + "src": "7168:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7171:1:12", + "nodeType": "YulLiteral", + "src": "7171:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7161:6:12", + "nodeType": "YulIdentifier", + "src": "7161:6:12" + }, + "nativeSrc": "7161:12:12", + "nodeType": "YulFunctionCall", + "src": "7161:12:12" + }, + "nativeSrc": "7161:12:12", + "nodeType": "YulExpressionStatement", + "src": "7161:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "7062:117:12", + "nodeType": "YulFunctionDefinition", + "src": "7062:117:12" + }, + { + "body": { + "nativeSrc": "7213:152:12", + "nodeType": "YulBlock", + "src": "7213:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7230:1:12", + "nodeType": "YulLiteral", + "src": "7230:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7233:77:12", + "nodeType": "YulLiteral", + "src": "7233:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7223:6:12", + "nodeType": "YulIdentifier", + "src": "7223:6:12" + }, + "nativeSrc": "7223:88:12", + "nodeType": "YulFunctionCall", + "src": "7223:88:12" + }, + "nativeSrc": "7223:88:12", + "nodeType": "YulExpressionStatement", + "src": "7223:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7327:1:12", + "nodeType": "YulLiteral", + "src": "7327:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "7330:4:12", + "nodeType": "YulLiteral", + "src": "7330:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7320:6:12", + "nodeType": "YulIdentifier", + "src": "7320:6:12" + }, + "nativeSrc": "7320:15:12", + "nodeType": "YulFunctionCall", + "src": "7320:15:12" + }, + "nativeSrc": "7320:15:12", + "nodeType": "YulExpressionStatement", + "src": "7320:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7351:1:12", + "nodeType": "YulLiteral", + "src": "7351:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7354:4:12", + "nodeType": "YulLiteral", + "src": "7354:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7344:6:12", + "nodeType": "YulIdentifier", + "src": "7344:6:12" + }, + "nativeSrc": "7344:15:12", + "nodeType": "YulFunctionCall", + "src": "7344:15:12" + }, + "nativeSrc": "7344:15:12", + "nodeType": "YulExpressionStatement", + "src": "7344:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "7185:180:12", + "nodeType": "YulFunctionDefinition", + "src": "7185:180:12" + }, + { + "body": { + "nativeSrc": "7414:238:12", + "nodeType": "YulBlock", + "src": "7414:238:12", + "statements": [ + { + "nativeSrc": "7424:58:12", + "nodeType": "YulVariableDeclaration", + "src": "7424:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "7446:6:12", + "nodeType": "YulIdentifier", + "src": "7446:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "7476:4:12", + "nodeType": "YulIdentifier", + "src": "7476:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "7454:21:12", + "nodeType": "YulIdentifier", + "src": "7454:21:12" + }, + "nativeSrc": "7454:27:12", + "nodeType": "YulFunctionCall", + "src": "7454:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7442:3:12", + "nodeType": "YulIdentifier", + "src": "7442:3:12" + }, + "nativeSrc": "7442:40:12", + "nodeType": "YulFunctionCall", + "src": "7442:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "7428:10:12", + "nodeType": "YulTypedName", + "src": "7428:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7593:22:12", + "nodeType": "YulBlock", + "src": "7593:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7595:16:12", + "nodeType": "YulIdentifier", + "src": "7595:16:12" + }, + "nativeSrc": "7595:18:12", + "nodeType": "YulFunctionCall", + "src": "7595:18:12" + }, + "nativeSrc": "7595:18:12", + "nodeType": "YulExpressionStatement", + "src": "7595:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "7536:10:12", + "nodeType": "YulIdentifier", + "src": "7536:10:12" + }, + { + "kind": "number", + "nativeSrc": "7548:18:12", + "nodeType": "YulLiteral", + "src": "7548:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7533:2:12", + "nodeType": "YulIdentifier", + "src": "7533:2:12" + }, + "nativeSrc": "7533:34:12", + "nodeType": "YulFunctionCall", + "src": "7533:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "7572:10:12", + "nodeType": "YulIdentifier", + "src": "7572:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "7584:6:12", + "nodeType": "YulIdentifier", + "src": "7584:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7569:2:12", + "nodeType": "YulIdentifier", + "src": "7569:2:12" + }, + "nativeSrc": "7569:22:12", + "nodeType": "YulFunctionCall", + "src": "7569:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7530:2:12", + "nodeType": "YulIdentifier", + "src": "7530:2:12" + }, + "nativeSrc": "7530:62:12", + "nodeType": "YulFunctionCall", + "src": "7530:62:12" + }, + "nativeSrc": "7527:88:12", + "nodeType": "YulIf", + "src": "7527:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7631:2:12", + "nodeType": "YulLiteral", + "src": "7631:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "7635:10:12", + "nodeType": "YulIdentifier", + "src": "7635:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7624:6:12", + "nodeType": "YulIdentifier", + "src": "7624:6:12" + }, + "nativeSrc": "7624:22:12", + "nodeType": "YulFunctionCall", + "src": "7624:22:12" + }, + "nativeSrc": "7624:22:12", + "nodeType": "YulExpressionStatement", + "src": "7624:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "7371:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "7400:6:12", + "nodeType": "YulTypedName", + "src": "7400:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "7408:4:12", + "nodeType": "YulTypedName", + "src": "7408:4:12", + "type": "" + } + ], + "src": "7371:281:12" + }, + { + "body": { + "nativeSrc": "7699:88:12", + "nodeType": "YulBlock", + "src": "7699:88:12", + "statements": [ + { + "nativeSrc": "7709:30:12", + "nodeType": "YulAssignment", + "src": "7709:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "7719:18:12", + "nodeType": "YulIdentifier", + "src": "7719:18:12" + }, + "nativeSrc": "7719:20:12", + "nodeType": "YulFunctionCall", + "src": "7719:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "7709:6:12", + "nodeType": "YulIdentifier", + "src": "7709:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "7768:6:12", + "nodeType": "YulIdentifier", + "src": "7768:6:12" + }, + { + "name": "size", + "nativeSrc": "7776:4:12", + "nodeType": "YulIdentifier", + "src": "7776:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "7748:19:12", + "nodeType": "YulIdentifier", + "src": "7748:19:12" + }, + "nativeSrc": "7748:33:12", + "nodeType": "YulFunctionCall", + "src": "7748:33:12" + }, + "nativeSrc": "7748:33:12", + "nodeType": "YulExpressionStatement", + "src": "7748:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "7658:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "7683:4:12", + "nodeType": "YulTypedName", + "src": "7683:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "7692:6:12", + "nodeType": "YulTypedName", + "src": "7692:6:12", + "type": "" + } + ], + "src": "7658:129:12" + }, + { + "body": { + "nativeSrc": "7859:241:12", + "nodeType": "YulBlock", + "src": "7859:241:12", + "statements": [ + { + "body": { + "nativeSrc": "7964:22:12", + "nodeType": "YulBlock", + "src": "7964:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7966:16:12", + "nodeType": "YulIdentifier", + "src": "7966:16:12" + }, + "nativeSrc": "7966:18:12", + "nodeType": "YulFunctionCall", + "src": "7966:18:12" + }, + "nativeSrc": "7966:18:12", + "nodeType": "YulExpressionStatement", + "src": "7966:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7936:6:12", + "nodeType": "YulIdentifier", + "src": "7936:6:12" + }, + { + "kind": "number", + "nativeSrc": "7944:18:12", + "nodeType": "YulLiteral", + "src": "7944:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7933:2:12", + "nodeType": "YulIdentifier", + "src": "7933:2:12" + }, + "nativeSrc": "7933:30:12", + "nodeType": "YulFunctionCall", + "src": "7933:30:12" + }, + "nativeSrc": "7930:56:12", + "nodeType": "YulIf", + "src": "7930:56:12" + }, + { + "nativeSrc": "7996:37:12", + "nodeType": "YulAssignment", + "src": "7996:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "8026:6:12", + "nodeType": "YulIdentifier", + "src": "8026:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "8004:21:12", + "nodeType": "YulIdentifier", + "src": "8004:21:12" + }, + "nativeSrc": "8004:29:12", + "nodeType": "YulFunctionCall", + "src": "8004:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7996:4:12", + "nodeType": "YulIdentifier", + "src": "7996:4:12" + } + ] + }, + { + "nativeSrc": "8070:23:12", + "nodeType": "YulAssignment", + "src": "8070:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "8082:4:12", + "nodeType": "YulIdentifier", + "src": "8082:4:12" + }, + { + "kind": "number", + "nativeSrc": "8088:4:12", + "nodeType": "YulLiteral", + "src": "8088:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8078:3:12", + "nodeType": "YulIdentifier", + "src": "8078:3:12" + }, + "nativeSrc": "8078:15:12", + "nodeType": "YulFunctionCall", + "src": "8078:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "8070:4:12", + "nodeType": "YulIdentifier", + "src": "8070:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "7793:307:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "7843:6:12", + "nodeType": "YulTypedName", + "src": "7843:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "7854:4:12", + "nodeType": "YulTypedName", + "src": "7854:4:12", + "type": "" + } + ], + "src": "7793:307:12" + }, + { + "body": { + "nativeSrc": "8170:84:12", + "nodeType": "YulBlock", + "src": "8170:84:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8194:3:12", + "nodeType": "YulIdentifier", + "src": "8194:3:12" + }, + { + "name": "src", + "nativeSrc": "8199:3:12", + "nodeType": "YulIdentifier", + "src": "8199:3:12" + }, + { + "name": "length", + "nativeSrc": "8204:6:12", + "nodeType": "YulIdentifier", + "src": "8204:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "8181:12:12", + "nodeType": "YulIdentifier", + "src": "8181:12:12" + }, + "nativeSrc": "8181:30:12", + "nodeType": "YulFunctionCall", + "src": "8181:30:12" + }, + "nativeSrc": "8181:30:12", + "nodeType": "YulExpressionStatement", + "src": "8181:30:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8231:3:12", + "nodeType": "YulIdentifier", + "src": "8231:3:12" + }, + { + "name": "length", + "nativeSrc": "8236:6:12", + "nodeType": "YulIdentifier", + "src": "8236:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8227:3:12", + "nodeType": "YulIdentifier", + "src": "8227:3:12" + }, + "nativeSrc": "8227:16:12", + "nodeType": "YulFunctionCall", + "src": "8227:16:12" + }, + { + "kind": "number", + "nativeSrc": "8245:1:12", + "nodeType": "YulLiteral", + "src": "8245:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8220:6:12", + "nodeType": "YulIdentifier", + "src": "8220:6:12" + }, + "nativeSrc": "8220:27:12", + "nodeType": "YulFunctionCall", + "src": "8220:27:12" + }, + "nativeSrc": "8220:27:12", + "nodeType": "YulExpressionStatement", + "src": "8220:27:12" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "8106:148:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "8152:3:12", + "nodeType": "YulTypedName", + "src": "8152:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "8157:3:12", + "nodeType": "YulTypedName", + "src": "8157:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8162:6:12", + "nodeType": "YulTypedName", + "src": "8162:6:12", + "type": "" + } + ], + "src": "8106:148:12" + }, + { + "body": { + "nativeSrc": "8343:340:12", + "nodeType": "YulBlock", + "src": "8343:340:12", + "statements": [ + { + "nativeSrc": "8353:74:12", + "nodeType": "YulAssignment", + "src": "8353:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "8419:6:12", + "nodeType": "YulIdentifier", + "src": "8419:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "8378:40:12", + "nodeType": "YulIdentifier", + "src": "8378:40:12" + }, + "nativeSrc": "8378:48:12", + "nodeType": "YulFunctionCall", + "src": "8378:48:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "8362:15:12", + "nodeType": "YulIdentifier", + "src": "8362:15:12" + }, + "nativeSrc": "8362:65:12", + "nodeType": "YulFunctionCall", + "src": "8362:65:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8353:5:12", + "nodeType": "YulIdentifier", + "src": "8353:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8443:5:12", + "nodeType": "YulIdentifier", + "src": "8443:5:12" + }, + { + "name": "length", + "nativeSrc": "8450:6:12", + "nodeType": "YulIdentifier", + "src": "8450:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8436:6:12", + "nodeType": "YulIdentifier", + "src": "8436:6:12" + }, + "nativeSrc": "8436:21:12", + "nodeType": "YulFunctionCall", + "src": "8436:21:12" + }, + "nativeSrc": "8436:21:12", + "nodeType": "YulExpressionStatement", + "src": "8436:21:12" + }, + { + "nativeSrc": "8466:27:12", + "nodeType": "YulVariableDeclaration", + "src": "8466:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8481:5:12", + "nodeType": "YulIdentifier", + "src": "8481:5:12" + }, + { + "kind": "number", + "nativeSrc": "8488:4:12", + "nodeType": "YulLiteral", + "src": "8488:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8477:3:12", + "nodeType": "YulIdentifier", + "src": "8477:3:12" + }, + "nativeSrc": "8477:16:12", + "nodeType": "YulFunctionCall", + "src": "8477:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "8470:3:12", + "nodeType": "YulTypedName", + "src": "8470:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8531:83:12", + "nodeType": "YulBlock", + "src": "8531:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "8533:77:12", + "nodeType": "YulIdentifier", + "src": "8533:77:12" + }, + "nativeSrc": "8533:79:12", + "nodeType": "YulFunctionCall", + "src": "8533:79:12" + }, + "nativeSrc": "8533:79:12", + "nodeType": "YulExpressionStatement", + "src": "8533:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "8512:3:12", + "nodeType": "YulIdentifier", + "src": "8512:3:12" + }, + { + "name": "length", + "nativeSrc": "8517:6:12", + "nodeType": "YulIdentifier", + "src": "8517:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8508:3:12", + "nodeType": "YulIdentifier", + "src": "8508:3:12" + }, + "nativeSrc": "8508:16:12", + "nodeType": "YulFunctionCall", + "src": "8508:16:12" + }, + { + "name": "end", + "nativeSrc": "8526:3:12", + "nodeType": "YulIdentifier", + "src": "8526:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8505:2:12", + "nodeType": "YulIdentifier", + "src": "8505:2:12" + }, + "nativeSrc": "8505:25:12", + "nodeType": "YulFunctionCall", + "src": "8505:25:12" + }, + "nativeSrc": "8502:112:12", + "nodeType": "YulIf", + "src": "8502:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8660:3:12", + "nodeType": "YulIdentifier", + "src": "8660:3:12" + }, + { + "name": "dst", + "nativeSrc": "8665:3:12", + "nodeType": "YulIdentifier", + "src": "8665:3:12" + }, + { + "name": "length", + "nativeSrc": "8670:6:12", + "nodeType": "YulIdentifier", + "src": "8670:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "8623:36:12", + "nodeType": "YulIdentifier", + "src": "8623:36:12" + }, + "nativeSrc": "8623:54:12", + "nodeType": "YulFunctionCall", + "src": "8623:54:12" + }, + "nativeSrc": "8623:54:12", + "nodeType": "YulExpressionStatement", + "src": "8623:54:12" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "8260:423:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "8316:3:12", + "nodeType": "YulTypedName", + "src": "8316:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8321:6:12", + "nodeType": "YulTypedName", + "src": "8321:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8329:3:12", + "nodeType": "YulTypedName", + "src": "8329:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8337:5:12", + "nodeType": "YulTypedName", + "src": "8337:5:12", + "type": "" + } + ], + "src": "8260:423:12" + }, + { + "body": { + "nativeSrc": "8763:277:12", + "nodeType": "YulBlock", + "src": "8763:277:12", + "statements": [ + { + "body": { + "nativeSrc": "8812:83:12", + "nodeType": "YulBlock", + "src": "8812:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "8814:77:12", + "nodeType": "YulIdentifier", + "src": "8814:77:12" + }, + "nativeSrc": "8814:79:12", + "nodeType": "YulFunctionCall", + "src": "8814:79:12" + }, + "nativeSrc": "8814:79:12", + "nodeType": "YulExpressionStatement", + "src": "8814:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8791:6:12", + "nodeType": "YulIdentifier", + "src": "8791:6:12" + }, + { + "kind": "number", + "nativeSrc": "8799:4:12", + "nodeType": "YulLiteral", + "src": "8799:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8787:3:12", + "nodeType": "YulIdentifier", + "src": "8787:3:12" + }, + "nativeSrc": "8787:17:12", + "nodeType": "YulFunctionCall", + "src": "8787:17:12" + }, + { + "name": "end", + "nativeSrc": "8806:3:12", + "nodeType": "YulIdentifier", + "src": "8806:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8783:3:12", + "nodeType": "YulIdentifier", + "src": "8783:3:12" + }, + "nativeSrc": "8783:27:12", + "nodeType": "YulFunctionCall", + "src": "8783:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8776:6:12", + "nodeType": "YulIdentifier", + "src": "8776:6:12" + }, + "nativeSrc": "8776:35:12", + "nodeType": "YulFunctionCall", + "src": "8776:35:12" + }, + "nativeSrc": "8773:122:12", + "nodeType": "YulIf", + "src": "8773:122:12" + }, + { + "nativeSrc": "8904:34:12", + "nodeType": "YulVariableDeclaration", + "src": "8904:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8931:6:12", + "nodeType": "YulIdentifier", + "src": "8931:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8918:12:12", + "nodeType": "YulIdentifier", + "src": "8918:12:12" + }, + "nativeSrc": "8918:20:12", + "nodeType": "YulFunctionCall", + "src": "8918:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "8908:6:12", + "nodeType": "YulTypedName", + "src": "8908:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8947:87:12", + "nodeType": "YulAssignment", + "src": "8947:87:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9007:6:12", + "nodeType": "YulIdentifier", + "src": "9007:6:12" + }, + { + "kind": "number", + "nativeSrc": "9015:4:12", + "nodeType": "YulLiteral", + "src": "9015:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9003:3:12", + "nodeType": "YulIdentifier", + "src": "9003:3:12" + }, + "nativeSrc": "9003:17:12", + "nodeType": "YulFunctionCall", + "src": "9003:17:12" + }, + { + "name": "length", + "nativeSrc": "9022:6:12", + "nodeType": "YulIdentifier", + "src": "9022:6:12" + }, + { + "name": "end", + "nativeSrc": "9030:3:12", + "nodeType": "YulIdentifier", + "src": "9030:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "8956:46:12", + "nodeType": "YulIdentifier", + "src": "8956:46:12" + }, + "nativeSrc": "8956:78:12", + "nodeType": "YulFunctionCall", + "src": "8956:78:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8947:5:12", + "nodeType": "YulIdentifier", + "src": "8947:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "8702:338:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8741:6:12", + "nodeType": "YulTypedName", + "src": "8741:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8749:3:12", + "nodeType": "YulTypedName", + "src": "8749:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8757:5:12", + "nodeType": "YulTypedName", + "src": "8757:5:12", + "type": "" + } + ], + "src": "8702:338:12" + }, + { + "body": { + "nativeSrc": "9172:817:12", + "nodeType": "YulBlock", + "src": "9172:817:12", + "statements": [ + { + "body": { + "nativeSrc": "9219:83:12", + "nodeType": "YulBlock", + "src": "9219:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9221:77:12", + "nodeType": "YulIdentifier", + "src": "9221:77:12" + }, + "nativeSrc": "9221:79:12", + "nodeType": "YulFunctionCall", + "src": "9221:79:12" + }, + "nativeSrc": "9221:79:12", + "nodeType": "YulExpressionStatement", + "src": "9221:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9193:7:12", + "nodeType": "YulIdentifier", + "src": "9193:7:12" + }, + { + "name": "headStart", + "nativeSrc": "9202:9:12", + "nodeType": "YulIdentifier", + "src": "9202:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9189:3:12", + "nodeType": "YulIdentifier", + "src": "9189:3:12" + }, + "nativeSrc": "9189:23:12", + "nodeType": "YulFunctionCall", + "src": "9189:23:12" + }, + { + "kind": "number", + "nativeSrc": "9214:3:12", + "nodeType": "YulLiteral", + "src": "9214:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9185:3:12", + "nodeType": "YulIdentifier", + "src": "9185:3:12" + }, + "nativeSrc": "9185:33:12", + "nodeType": "YulFunctionCall", + "src": "9185:33:12" + }, + "nativeSrc": "9182:120:12", + "nodeType": "YulIf", + "src": "9182:120:12" + }, + { + "nativeSrc": "9312:117:12", + "nodeType": "YulBlock", + "src": "9312:117:12", + "statements": [ + { + "nativeSrc": "9327:15:12", + "nodeType": "YulVariableDeclaration", + "src": "9327:15:12", + "value": { + "kind": "number", + "nativeSrc": "9341:1:12", + "nodeType": "YulLiteral", + "src": "9341:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9331:6:12", + "nodeType": "YulTypedName", + "src": "9331:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9356:63:12", + "nodeType": "YulAssignment", + "src": "9356:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9391:9:12", + "nodeType": "YulIdentifier", + "src": "9391:9:12" + }, + { + "name": "offset", + "nativeSrc": "9402:6:12", + "nodeType": "YulIdentifier", + "src": "9402:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9387:3:12", + "nodeType": "YulIdentifier", + "src": "9387:3:12" + }, + "nativeSrc": "9387:22:12", + "nodeType": "YulFunctionCall", + "src": "9387:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9411:7:12", + "nodeType": "YulIdentifier", + "src": "9411:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "9366:20:12", + "nodeType": "YulIdentifier", + "src": "9366:20:12" + }, + "nativeSrc": "9366:53:12", + "nodeType": "YulFunctionCall", + "src": "9366:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9356:6:12", + "nodeType": "YulIdentifier", + "src": "9356:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "9439:118:12", + "nodeType": "YulBlock", + "src": "9439:118:12", + "statements": [ + { + "nativeSrc": "9454:16:12", + "nodeType": "YulVariableDeclaration", + "src": "9454:16:12", + "value": { + "kind": "number", + "nativeSrc": "9468:2:12", + "nodeType": "YulLiteral", + "src": "9468:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9458:6:12", + "nodeType": "YulTypedName", + "src": "9458:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9484:63:12", + "nodeType": "YulAssignment", + "src": "9484:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9519:9:12", + "nodeType": "YulIdentifier", + "src": "9519:9:12" + }, + { + "name": "offset", + "nativeSrc": "9530:6:12", + "nodeType": "YulIdentifier", + "src": "9530:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9515:3:12", + "nodeType": "YulIdentifier", + "src": "9515:3:12" + }, + "nativeSrc": "9515:22:12", + "nodeType": "YulFunctionCall", + "src": "9515:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9539:7:12", + "nodeType": "YulIdentifier", + "src": "9539:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "9494:20:12", + "nodeType": "YulIdentifier", + "src": "9494:20:12" + }, + "nativeSrc": "9494:53:12", + "nodeType": "YulFunctionCall", + "src": "9494:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "9484:6:12", + "nodeType": "YulIdentifier", + "src": "9484:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "9567:118:12", + "nodeType": "YulBlock", + "src": "9567:118:12", + "statements": [ + { + "nativeSrc": "9582:16:12", + "nodeType": "YulVariableDeclaration", + "src": "9582:16:12", + "value": { + "kind": "number", + "nativeSrc": "9596:2:12", + "nodeType": "YulLiteral", + "src": "9596:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9586:6:12", + "nodeType": "YulTypedName", + "src": "9586:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9612:63:12", + "nodeType": "YulAssignment", + "src": "9612:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9647:9:12", + "nodeType": "YulIdentifier", + "src": "9647:9:12" + }, + { + "name": "offset", + "nativeSrc": "9658:6:12", + "nodeType": "YulIdentifier", + "src": "9658:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9643:3:12", + "nodeType": "YulIdentifier", + "src": "9643:3:12" + }, + "nativeSrc": "9643:22:12", + "nodeType": "YulFunctionCall", + "src": "9643:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9667:7:12", + "nodeType": "YulIdentifier", + "src": "9667:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "9622:20:12", + "nodeType": "YulIdentifier", + "src": "9622:20:12" + }, + "nativeSrc": "9622:53:12", + "nodeType": "YulFunctionCall", + "src": "9622:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "9612:6:12", + "nodeType": "YulIdentifier", + "src": "9612:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "9695:287:12", + "nodeType": "YulBlock", + "src": "9695:287:12", + "statements": [ + { + "nativeSrc": "9710:46:12", + "nodeType": "YulVariableDeclaration", + "src": "9710:46:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9741:9:12", + "nodeType": "YulIdentifier", + "src": "9741:9:12" + }, + { + "kind": "number", + "nativeSrc": "9752:2:12", + "nodeType": "YulLiteral", + "src": "9752:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9737:3:12", + "nodeType": "YulIdentifier", + "src": "9737:3:12" + }, + "nativeSrc": "9737:18:12", + "nodeType": "YulFunctionCall", + "src": "9737:18:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9724:12:12", + "nodeType": "YulIdentifier", + "src": "9724:12:12" + }, + "nativeSrc": "9724:32:12", + "nodeType": "YulFunctionCall", + "src": "9724:32:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9714:6:12", + "nodeType": "YulTypedName", + "src": "9714:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9803:83:12", + "nodeType": "YulBlock", + "src": "9803:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "9805:77:12", + "nodeType": "YulIdentifier", + "src": "9805:77:12" + }, + "nativeSrc": "9805:79:12", + "nodeType": "YulFunctionCall", + "src": "9805:79:12" + }, + "nativeSrc": "9805:79:12", + "nodeType": "YulExpressionStatement", + "src": "9805:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9775:6:12", + "nodeType": "YulIdentifier", + "src": "9775:6:12" + }, + { + "kind": "number", + "nativeSrc": "9783:18:12", + "nodeType": "YulLiteral", + "src": "9783:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9772:2:12", + "nodeType": "YulIdentifier", + "src": "9772:2:12" + }, + "nativeSrc": "9772:30:12", + "nodeType": "YulFunctionCall", + "src": "9772:30:12" + }, + "nativeSrc": "9769:117:12", + "nodeType": "YulIf", + "src": "9769:117:12" + }, + { + "nativeSrc": "9900:72:12", + "nodeType": "YulAssignment", + "src": "9900:72:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9944:9:12", + "nodeType": "YulIdentifier", + "src": "9944:9:12" + }, + { + "name": "offset", + "nativeSrc": "9955:6:12", + "nodeType": "YulIdentifier", + "src": "9955:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9940:3:12", + "nodeType": "YulIdentifier", + "src": "9940:3:12" + }, + "nativeSrc": "9940:22:12", + "nodeType": "YulFunctionCall", + "src": "9940:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9964:7:12", + "nodeType": "YulIdentifier", + "src": "9964:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "9910:29:12", + "nodeType": "YulIdentifier", + "src": "9910:29:12" + }, + "nativeSrc": "9910:62:12", + "nodeType": "YulFunctionCall", + "src": "9910:62:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "9900:6:12", + "nodeType": "YulIdentifier", + "src": "9900:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", + "nativeSrc": "9046:943:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9118:9:12", + "nodeType": "YulTypedName", + "src": "9118:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9129:7:12", + "nodeType": "YulTypedName", + "src": "9129:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9141:6:12", + "nodeType": "YulTypedName", + "src": "9141:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "9149:6:12", + "nodeType": "YulTypedName", + "src": "9149:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "9157:6:12", + "nodeType": "YulTypedName", + "src": "9157:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "9165:6:12", + "nodeType": "YulTypedName", + "src": "9165:6:12", + "type": "" + } + ], + "src": "9046:943:12" + }, + { + "body": { + "nativeSrc": "10078:391:12", + "nodeType": "YulBlock", + "src": "10078:391:12", + "statements": [ + { + "body": { + "nativeSrc": "10124:83:12", + "nodeType": "YulBlock", + "src": "10124:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10126:77:12", + "nodeType": "YulIdentifier", + "src": "10126:77:12" + }, + "nativeSrc": "10126:79:12", + "nodeType": "YulFunctionCall", + "src": "10126:79:12" + }, + "nativeSrc": "10126:79:12", + "nodeType": "YulExpressionStatement", + "src": "10126:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10099:7:12", + "nodeType": "YulIdentifier", + "src": "10099:7:12" + }, + { + "name": "headStart", + "nativeSrc": "10108:9:12", + "nodeType": "YulIdentifier", + "src": "10108:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10095:3:12", + "nodeType": "YulIdentifier", + "src": "10095:3:12" + }, + "nativeSrc": "10095:23:12", + "nodeType": "YulFunctionCall", + "src": "10095:23:12" + }, + { + "kind": "number", + "nativeSrc": "10120:2:12", + "nodeType": "YulLiteral", + "src": "10120:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10091:3:12", + "nodeType": "YulIdentifier", + "src": "10091:3:12" + }, + "nativeSrc": "10091:32:12", + "nodeType": "YulFunctionCall", + "src": "10091:32:12" + }, + "nativeSrc": "10088:119:12", + "nodeType": "YulIf", + "src": "10088:119:12" + }, + { + "nativeSrc": "10217:117:12", + "nodeType": "YulBlock", + "src": "10217:117:12", + "statements": [ + { + "nativeSrc": "10232:15:12", + "nodeType": "YulVariableDeclaration", + "src": "10232:15:12", + "value": { + "kind": "number", + "nativeSrc": "10246:1:12", + "nodeType": "YulLiteral", + "src": "10246:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10236:6:12", + "nodeType": "YulTypedName", + "src": "10236:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10261:63:12", + "nodeType": "YulAssignment", + "src": "10261:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10296:9:12", + "nodeType": "YulIdentifier", + "src": "10296:9:12" + }, + { + "name": "offset", + "nativeSrc": "10307:6:12", + "nodeType": "YulIdentifier", + "src": "10307:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10292:3:12", + "nodeType": "YulIdentifier", + "src": "10292:3:12" + }, + "nativeSrc": "10292:22:12", + "nodeType": "YulFunctionCall", + "src": "10292:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "10316:7:12", + "nodeType": "YulIdentifier", + "src": "10316:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10271:20:12", + "nodeType": "YulIdentifier", + "src": "10271:20:12" + }, + "nativeSrc": "10271:53:12", + "nodeType": "YulFunctionCall", + "src": "10271:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "10261:6:12", + "nodeType": "YulIdentifier", + "src": "10261:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "10344:118:12", + "nodeType": "YulBlock", + "src": "10344:118:12", + "statements": [ + { + "nativeSrc": "10359:16:12", + "nodeType": "YulVariableDeclaration", + "src": "10359:16:12", + "value": { + "kind": "number", + "nativeSrc": "10373:2:12", + "nodeType": "YulLiteral", + "src": "10373:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10363:6:12", + "nodeType": "YulTypedName", + "src": "10363:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10389:63:12", + "nodeType": "YulAssignment", + "src": "10389:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10424:9:12", + "nodeType": "YulIdentifier", + "src": "10424:9:12" + }, + { + "name": "offset", + "nativeSrc": "10435:6:12", + "nodeType": "YulIdentifier", + "src": "10435:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10420:3:12", + "nodeType": "YulIdentifier", + "src": "10420:3:12" + }, + "nativeSrc": "10420:22:12", + "nodeType": "YulFunctionCall", + "src": "10420:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "10444:7:12", + "nodeType": "YulIdentifier", + "src": "10444:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10399:20:12", + "nodeType": "YulIdentifier", + "src": "10399:20:12" + }, + "nativeSrc": "10399:53:12", + "nodeType": "YulFunctionCall", + "src": "10399:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "10389:6:12", + "nodeType": "YulIdentifier", + "src": "10389:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nativeSrc": "9995:474:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10040:9:12", + "nodeType": "YulTypedName", + "src": "10040:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10051:7:12", + "nodeType": "YulTypedName", + "src": "10051:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10063:6:12", + "nodeType": "YulTypedName", + "src": "10063:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "10071:6:12", + "nodeType": "YulTypedName", + "src": "10071:6:12", + "type": "" + } + ], + "src": "9995:474:12" + }, + { + "body": { + "nativeSrc": "10503:152:12", + "nodeType": "YulBlock", + "src": "10503:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10520:1:12", + "nodeType": "YulLiteral", + "src": "10520:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10523:77:12", + "nodeType": "YulLiteral", + "src": "10523:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10513:6:12", + "nodeType": "YulIdentifier", + "src": "10513:6:12" + }, + "nativeSrc": "10513:88:12", + "nodeType": "YulFunctionCall", + "src": "10513:88:12" + }, + "nativeSrc": "10513:88:12", + "nodeType": "YulExpressionStatement", + "src": "10513:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10617:1:12", + "nodeType": "YulLiteral", + "src": "10617:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10620:4:12", + "nodeType": "YulLiteral", + "src": "10620:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10610:6:12", + "nodeType": "YulIdentifier", + "src": "10610:6:12" + }, + "nativeSrc": "10610:15:12", + "nodeType": "YulFunctionCall", + "src": "10610:15:12" + }, + "nativeSrc": "10610:15:12", + "nodeType": "YulExpressionStatement", + "src": "10610:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10641:1:12", + "nodeType": "YulLiteral", + "src": "10641:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10644:4:12", + "nodeType": "YulLiteral", + "src": "10644:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10634:6:12", + "nodeType": "YulIdentifier", + "src": "10634:6:12" + }, + "nativeSrc": "10634:15:12", + "nodeType": "YulFunctionCall", + "src": "10634:15:12" + }, + "nativeSrc": "10634:15:12", + "nodeType": "YulExpressionStatement", + "src": "10634:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "10475:180:12", + "nodeType": "YulFunctionDefinition", + "src": "10475:180:12" + }, + { + "body": { + "nativeSrc": "10712:269:12", + "nodeType": "YulBlock", + "src": "10712:269:12", + "statements": [ + { + "nativeSrc": "10722:22:12", + "nodeType": "YulAssignment", + "src": "10722:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "10736:4:12", + "nodeType": "YulIdentifier", + "src": "10736:4:12" + }, + { + "kind": "number", + "nativeSrc": "10742:1:12", + "nodeType": "YulLiteral", + "src": "10742:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "10732:3:12", + "nodeType": "YulIdentifier", + "src": "10732:3:12" + }, + "nativeSrc": "10732:12:12", + "nodeType": "YulFunctionCall", + "src": "10732:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10722:6:12", + "nodeType": "YulIdentifier", + "src": "10722:6:12" + } + ] + }, + { + "nativeSrc": "10753:38:12", + "nodeType": "YulVariableDeclaration", + "src": "10753:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "10783:4:12", + "nodeType": "YulIdentifier", + "src": "10783:4:12" + }, + { + "kind": "number", + "nativeSrc": "10789:1:12", + "nodeType": "YulLiteral", + "src": "10789:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10779:3:12", + "nodeType": "YulIdentifier", + "src": "10779:3:12" + }, + "nativeSrc": "10779:12:12", + "nodeType": "YulFunctionCall", + "src": "10779:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "10757:18:12", + "nodeType": "YulTypedName", + "src": "10757:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10830:51:12", + "nodeType": "YulBlock", + "src": "10830:51:12", + "statements": [ + { + "nativeSrc": "10844:27:12", + "nodeType": "YulAssignment", + "src": "10844:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10858:6:12", + "nodeType": "YulIdentifier", + "src": "10858:6:12" + }, + { + "kind": "number", + "nativeSrc": "10866:4:12", + "nodeType": "YulLiteral", + "src": "10866:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10854:3:12", + "nodeType": "YulIdentifier", + "src": "10854:3:12" + }, + "nativeSrc": "10854:17:12", + "nodeType": "YulFunctionCall", + "src": "10854:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10844:6:12", + "nodeType": "YulIdentifier", + "src": "10844:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "10810:18:12", + "nodeType": "YulIdentifier", + "src": "10810:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10803:6:12", + "nodeType": "YulIdentifier", + "src": "10803:6:12" + }, + "nativeSrc": "10803:26:12", + "nodeType": "YulFunctionCall", + "src": "10803:26:12" + }, + "nativeSrc": "10800:81:12", + "nodeType": "YulIf", + "src": "10800:81:12" + }, + { + "body": { + "nativeSrc": "10933:42:12", + "nodeType": "YulBlock", + "src": "10933:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "10947:16:12", + "nodeType": "YulIdentifier", + "src": "10947:16:12" + }, + "nativeSrc": "10947:18:12", + "nodeType": "YulFunctionCall", + "src": "10947:18:12" + }, + "nativeSrc": "10947:18:12", + "nodeType": "YulExpressionStatement", + "src": "10947:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "10897:18:12", + "nodeType": "YulIdentifier", + "src": "10897:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10920:6:12", + "nodeType": "YulIdentifier", + "src": "10920:6:12" + }, + { + "kind": "number", + "nativeSrc": "10928:2:12", + "nodeType": "YulLiteral", + "src": "10928:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10917:2:12", + "nodeType": "YulIdentifier", + "src": "10917:2:12" + }, + "nativeSrc": "10917:14:12", + "nodeType": "YulFunctionCall", + "src": "10917:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "10894:2:12", + "nodeType": "YulIdentifier", + "src": "10894:2:12" + }, + "nativeSrc": "10894:38:12", + "nodeType": "YulFunctionCall", + "src": "10894:38:12" + }, + "nativeSrc": "10891:84:12", + "nodeType": "YulIf", + "src": "10891:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "10661:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "10696:4:12", + "nodeType": "YulTypedName", + "src": "10696:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "10705:6:12", + "nodeType": "YulTypedName", + "src": "10705:6:12", + "type": "" + } + ], + "src": "10661:320:12" + }, + { + "body": { + "nativeSrc": "11093:114:12", + "nodeType": "YulBlock", + "src": "11093:114:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11115:6:12", + "nodeType": "YulIdentifier", + "src": "11115:6:12" + }, + { + "kind": "number", + "nativeSrc": "11123:1:12", + "nodeType": "YulLiteral", + "src": "11123:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11111:3:12", + "nodeType": "YulIdentifier", + "src": "11111:3:12" + }, + "nativeSrc": "11111:14:12", + "nodeType": "YulFunctionCall", + "src": "11111:14:12" + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "kind": "string", + "nativeSrc": "11127:34:12", + "nodeType": "YulLiteral", + "src": "11127:34:12", + "type": "", + "value": "ERC721: approval to current owne" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11104:6:12", + "nodeType": "YulIdentifier", + "src": "11104:6:12" + }, + "nativeSrc": "11104:58:12", + "nodeType": "YulFunctionCall", + "src": "11104:58:12" + }, + "nativeSrc": "11104:58:12", + "nodeType": "YulExpressionStatement", + "src": "11104:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11183:6:12", + "nodeType": "YulIdentifier", + "src": "11183:6:12" + }, + { + "kind": "number", + "nativeSrc": "11191:2:12", + "nodeType": "YulLiteral", + "src": "11191:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11179:3:12", + "nodeType": "YulIdentifier", + "src": "11179:3:12" + }, + "nativeSrc": "11179:15:12", + "nodeType": "YulFunctionCall", + "src": "11179:15:12" + }, + { + "hexValue": "72", + "kind": "string", + "nativeSrc": "11196:3:12", + "nodeType": "YulLiteral", + "src": "11196:3:12", + "type": "", + "value": "r" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11172:6:12", + "nodeType": "YulIdentifier", + "src": "11172:6:12" + }, + "nativeSrc": "11172:28:12", + "nodeType": "YulFunctionCall", + "src": "11172:28:12" + }, + "nativeSrc": "11172:28:12", + "nodeType": "YulExpressionStatement", + "src": "11172:28:12" + } + ] + }, + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nativeSrc": "10987:220:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "11085:6:12", + "nodeType": "YulTypedName", + "src": "11085:6:12", + "type": "" + } + ], + "src": "10987:220:12" + }, + { + "body": { + "nativeSrc": "11359:220:12", + "nodeType": "YulBlock", + "src": "11359:220:12", + "statements": [ + { + "nativeSrc": "11369:74:12", + "nodeType": "YulAssignment", + "src": "11369:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11435:3:12", + "nodeType": "YulIdentifier", + "src": "11435:3:12" + }, + { + "kind": "number", + "nativeSrc": "11440:2:12", + "nodeType": "YulLiteral", + "src": "11440:2:12", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "11376:58:12", + "nodeType": "YulIdentifier", + "src": "11376:58:12" + }, + "nativeSrc": "11376:67:12", + "nodeType": "YulFunctionCall", + "src": "11376:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11369:3:12", + "nodeType": "YulIdentifier", + "src": "11369:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11541:3:12", + "nodeType": "YulIdentifier", + "src": "11541:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nativeSrc": "11452:88:12", + "nodeType": "YulIdentifier", + "src": "11452:88:12" + }, + "nativeSrc": "11452:93:12", + "nodeType": "YulFunctionCall", + "src": "11452:93:12" + }, + "nativeSrc": "11452:93:12", + "nodeType": "YulExpressionStatement", + "src": "11452:93:12" + }, + { + "nativeSrc": "11554:19:12", + "nodeType": "YulAssignment", + "src": "11554:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11565:3:12", + "nodeType": "YulIdentifier", + "src": "11565:3:12" + }, + { + "kind": "number", + "nativeSrc": "11570:2:12", + "nodeType": "YulLiteral", + "src": "11570:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11561:3:12", + "nodeType": "YulIdentifier", + "src": "11561:3:12" + }, + "nativeSrc": "11561:12:12", + "nodeType": "YulFunctionCall", + "src": "11561:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11554:3:12", + "nodeType": "YulIdentifier", + "src": "11554:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11213:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "11347:3:12", + "nodeType": "YulTypedName", + "src": "11347:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11355:3:12", + "nodeType": "YulTypedName", + "src": "11355:3:12", + "type": "" + } + ], + "src": "11213:366:12" + }, + { + "body": { + "nativeSrc": "11756:248:12", + "nodeType": "YulBlock", + "src": "11756:248:12", + "statements": [ + { + "nativeSrc": "11766:26:12", + "nodeType": "YulAssignment", + "src": "11766:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11778:9:12", + "nodeType": "YulIdentifier", + "src": "11778:9:12" + }, + { + "kind": "number", + "nativeSrc": "11789:2:12", + "nodeType": "YulLiteral", + "src": "11789:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11774:3:12", + "nodeType": "YulIdentifier", + "src": "11774:3:12" + }, + "nativeSrc": "11774:18:12", + "nodeType": "YulFunctionCall", + "src": "11774:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11766:4:12", + "nodeType": "YulIdentifier", + "src": "11766:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11813:9:12", + "nodeType": "YulIdentifier", + "src": "11813:9:12" + }, + { + "kind": "number", + "nativeSrc": "11824:1:12", + "nodeType": "YulLiteral", + "src": "11824:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11809:3:12", + "nodeType": "YulIdentifier", + "src": "11809:3:12" + }, + "nativeSrc": "11809:17:12", + "nodeType": "YulFunctionCall", + "src": "11809:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11832:4:12", + "nodeType": "YulIdentifier", + "src": "11832:4:12" + }, + { + "name": "headStart", + "nativeSrc": "11838:9:12", + "nodeType": "YulIdentifier", + "src": "11838:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11828:3:12", + "nodeType": "YulIdentifier", + "src": "11828:3:12" + }, + "nativeSrc": "11828:20:12", + "nodeType": "YulFunctionCall", + "src": "11828:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11802:6:12", + "nodeType": "YulIdentifier", + "src": "11802:6:12" + }, + "nativeSrc": "11802:47:12", + "nodeType": "YulFunctionCall", + "src": "11802:47:12" + }, + "nativeSrc": "11802:47:12", + "nodeType": "YulExpressionStatement", + "src": "11802:47:12" + }, + { + "nativeSrc": "11858:139:12", + "nodeType": "YulAssignment", + "src": "11858:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11992:4:12", + "nodeType": "YulIdentifier", + "src": "11992:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11866:124:12", + "nodeType": "YulIdentifier", + "src": "11866:124:12" + }, + "nativeSrc": "11866:131:12", + "nodeType": "YulFunctionCall", + "src": "11866:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11858:4:12", + "nodeType": "YulIdentifier", + "src": "11858:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11585:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11736:9:12", + "nodeType": "YulTypedName", + "src": "11736:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11751:4:12", + "nodeType": "YulTypedName", + "src": "11751:4:12", + "type": "" + } + ], + "src": "11585:419:12" + }, + { + "body": { + "nativeSrc": "12116:142:12", + "nodeType": "YulBlock", + "src": "12116:142:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "12138:6:12", + "nodeType": "YulIdentifier", + "src": "12138:6:12" + }, + { + "kind": "number", + "nativeSrc": "12146:1:12", + "nodeType": "YulLiteral", + "src": "12146:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12134:3:12", + "nodeType": "YulIdentifier", + "src": "12134:3:12" + }, + "nativeSrc": "12134:14:12", + "nodeType": "YulFunctionCall", + "src": "12134:14:12" + }, + { + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", + "kind": "string", + "nativeSrc": "12150:34:12", + "nodeType": "YulLiteral", + "src": "12150:34:12", + "type": "", + "value": "ERC721: approve caller is not to" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12127:6:12", + "nodeType": "YulIdentifier", + "src": "12127:6:12" + }, + "nativeSrc": "12127:58:12", + "nodeType": "YulFunctionCall", + "src": "12127:58:12" + }, + "nativeSrc": "12127:58:12", + "nodeType": "YulExpressionStatement", + "src": "12127:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "12206:6:12", + "nodeType": "YulIdentifier", + "src": "12206:6:12" + }, + { + "kind": "number", + "nativeSrc": "12214:2:12", + "nodeType": "YulLiteral", + "src": "12214:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12202:3:12", + "nodeType": "YulIdentifier", + "src": "12202:3:12" + }, + "nativeSrc": "12202:15:12", + "nodeType": "YulFunctionCall", + "src": "12202:15:12" + }, + { + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", + "kind": "string", + "nativeSrc": "12219:31:12", + "nodeType": "YulLiteral", + "src": "12219:31:12", + "type": "", + "value": "ken owner or approved for all" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12195:6:12", + "nodeType": "YulIdentifier", + "src": "12195:6:12" + }, + "nativeSrc": "12195:56:12", + "nodeType": "YulFunctionCall", + "src": "12195:56:12" + }, + "nativeSrc": "12195:56:12", + "nodeType": "YulExpressionStatement", + "src": "12195:56:12" + } + ] + }, + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nativeSrc": "12010:248:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "12108:6:12", + "nodeType": "YulTypedName", + "src": "12108:6:12", + "type": "" + } + ], + "src": "12010:248:12" + }, + { + "body": { + "nativeSrc": "12410:220:12", + "nodeType": "YulBlock", + "src": "12410:220:12", + "statements": [ + { + "nativeSrc": "12420:74:12", + "nodeType": "YulAssignment", + "src": "12420:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12486:3:12", + "nodeType": "YulIdentifier", + "src": "12486:3:12" + }, + { + "kind": "number", + "nativeSrc": "12491:2:12", + "nodeType": "YulLiteral", + "src": "12491:2:12", + "type": "", + "value": "61" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "12427:58:12", + "nodeType": "YulIdentifier", + "src": "12427:58:12" + }, + "nativeSrc": "12427:67:12", + "nodeType": "YulFunctionCall", + "src": "12427:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "12420:3:12", + "nodeType": "YulIdentifier", + "src": "12420:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12592:3:12", + "nodeType": "YulIdentifier", + "src": "12592:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nativeSrc": "12503:88:12", + "nodeType": "YulIdentifier", + "src": "12503:88:12" + }, + "nativeSrc": "12503:93:12", + "nodeType": "YulFunctionCall", + "src": "12503:93:12" + }, + "nativeSrc": "12503:93:12", + "nodeType": "YulExpressionStatement", + "src": "12503:93:12" + }, + { + "nativeSrc": "12605:19:12", + "nodeType": "YulAssignment", + "src": "12605:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12616:3:12", + "nodeType": "YulIdentifier", + "src": "12616:3:12" + }, + { + "kind": "number", + "nativeSrc": "12621:2:12", + "nodeType": "YulLiteral", + "src": "12621:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12612:3:12", + "nodeType": "YulIdentifier", + "src": "12612:3:12" + }, + "nativeSrc": "12612:12:12", + "nodeType": "YulFunctionCall", + "src": "12612:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "12605:3:12", + "nodeType": "YulIdentifier", + "src": "12605:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12264:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "12398:3:12", + "nodeType": "YulTypedName", + "src": "12398:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "12406:3:12", + "nodeType": "YulTypedName", + "src": "12406:3:12", + "type": "" + } + ], + "src": "12264:366:12" + }, + { + "body": { + "nativeSrc": "12807:248:12", + "nodeType": "YulBlock", + "src": "12807:248:12", + "statements": [ + { + "nativeSrc": "12817:26:12", + "nodeType": "YulAssignment", + "src": "12817:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12829:9:12", + "nodeType": "YulIdentifier", + "src": "12829:9:12" + }, + { + "kind": "number", + "nativeSrc": "12840:2:12", + "nodeType": "YulLiteral", + "src": "12840:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12825:3:12", + "nodeType": "YulIdentifier", + "src": "12825:3:12" + }, + "nativeSrc": "12825:18:12", + "nodeType": "YulFunctionCall", + "src": "12825:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12817:4:12", + "nodeType": "YulIdentifier", + "src": "12817:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12864:9:12", + "nodeType": "YulIdentifier", + "src": "12864:9:12" + }, + { + "kind": "number", + "nativeSrc": "12875:1:12", + "nodeType": "YulLiteral", + "src": "12875:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12860:3:12", + "nodeType": "YulIdentifier", + "src": "12860:3:12" + }, + "nativeSrc": "12860:17:12", + "nodeType": "YulFunctionCall", + "src": "12860:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "12883:4:12", + "nodeType": "YulIdentifier", + "src": "12883:4:12" + }, + { + "name": "headStart", + "nativeSrc": "12889:9:12", + "nodeType": "YulIdentifier", + "src": "12889:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12879:3:12", + "nodeType": "YulIdentifier", + "src": "12879:3:12" + }, + "nativeSrc": "12879:20:12", + "nodeType": "YulFunctionCall", + "src": "12879:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12853:6:12", + "nodeType": "YulIdentifier", + "src": "12853:6:12" + }, + "nativeSrc": "12853:47:12", + "nodeType": "YulFunctionCall", + "src": "12853:47:12" + }, + "nativeSrc": "12853:47:12", + "nodeType": "YulExpressionStatement", + "src": "12853:47:12" + }, + { + "nativeSrc": "12909:139:12", + "nodeType": "YulAssignment", + "src": "12909:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "13043:4:12", + "nodeType": "YulIdentifier", + "src": "13043:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12917:124:12", + "nodeType": "YulIdentifier", + "src": "12917:124:12" + }, + "nativeSrc": "12917:131:12", + "nodeType": "YulFunctionCall", + "src": "12917:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12909:4:12", + "nodeType": "YulIdentifier", + "src": "12909:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "12636:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12787:9:12", + "nodeType": "YulTypedName", + "src": "12787:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12802:4:12", + "nodeType": "YulTypedName", + "src": "12802:4:12", + "type": "" + } + ], + "src": "12636:419:12" + }, + { + "body": { + "nativeSrc": "13167:126:12", + "nodeType": "YulBlock", + "src": "13167:126:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13189:6:12", + "nodeType": "YulIdentifier", + "src": "13189:6:12" + }, + { + "kind": "number", + "nativeSrc": "13197:1:12", + "nodeType": "YulLiteral", + "src": "13197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13185:3:12", + "nodeType": "YulIdentifier", + "src": "13185:3:12" + }, + "nativeSrc": "13185:14:12", + "nodeType": "YulFunctionCall", + "src": "13185:14:12" + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", + "kind": "string", + "nativeSrc": "13201:34:12", + "nodeType": "YulLiteral", + "src": "13201:34:12", + "type": "", + "value": "ERC721: caller is not token owne" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13178:6:12", + "nodeType": "YulIdentifier", + "src": "13178:6:12" + }, + "nativeSrc": "13178:58:12", + "nodeType": "YulFunctionCall", + "src": "13178:58:12" + }, + "nativeSrc": "13178:58:12", + "nodeType": "YulExpressionStatement", + "src": "13178:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13257:6:12", + "nodeType": "YulIdentifier", + "src": "13257:6:12" + }, + { + "kind": "number", + "nativeSrc": "13265:2:12", + "nodeType": "YulLiteral", + "src": "13265:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13253:3:12", + "nodeType": "YulIdentifier", + "src": "13253:3:12" + }, + "nativeSrc": "13253:15:12", + "nodeType": "YulFunctionCall", + "src": "13253:15:12" + }, + { + "hexValue": "72206f7220617070726f766564", + "kind": "string", + "nativeSrc": "13270:15:12", + "nodeType": "YulLiteral", + "src": "13270:15:12", + "type": "", + "value": "r or approved" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13246:6:12", + "nodeType": "YulIdentifier", + "src": "13246:6:12" + }, + "nativeSrc": "13246:40:12", + "nodeType": "YulFunctionCall", + "src": "13246:40:12" + }, + "nativeSrc": "13246:40:12", + "nodeType": "YulExpressionStatement", + "src": "13246:40:12" + } + ] + }, + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nativeSrc": "13061:232:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "13159:6:12", + "nodeType": "YulTypedName", + "src": "13159:6:12", + "type": "" + } + ], + "src": "13061:232:12" + }, + { + "body": { + "nativeSrc": "13445:220:12", + "nodeType": "YulBlock", + "src": "13445:220:12", + "statements": [ + { + "nativeSrc": "13455:74:12", + "nodeType": "YulAssignment", + "src": "13455:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13521:3:12", + "nodeType": "YulIdentifier", + "src": "13521:3:12" + }, + { + "kind": "number", + "nativeSrc": "13526:2:12", + "nodeType": "YulLiteral", + "src": "13526:2:12", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "13462:58:12", + "nodeType": "YulIdentifier", + "src": "13462:58:12" + }, + "nativeSrc": "13462:67:12", + "nodeType": "YulFunctionCall", + "src": "13462:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "13455:3:12", + "nodeType": "YulIdentifier", + "src": "13455:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13627:3:12", + "nodeType": "YulIdentifier", + "src": "13627:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nativeSrc": "13538:88:12", + "nodeType": "YulIdentifier", + "src": "13538:88:12" + }, + "nativeSrc": "13538:93:12", + "nodeType": "YulFunctionCall", + "src": "13538:93:12" + }, + "nativeSrc": "13538:93:12", + "nodeType": "YulExpressionStatement", + "src": "13538:93:12" + }, + { + "nativeSrc": "13640:19:12", + "nodeType": "YulAssignment", + "src": "13640:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13651:3:12", + "nodeType": "YulIdentifier", + "src": "13651:3:12" + }, + { + "kind": "number", + "nativeSrc": "13656:2:12", + "nodeType": "YulLiteral", + "src": "13656:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13647:3:12", + "nodeType": "YulIdentifier", + "src": "13647:3:12" + }, + "nativeSrc": "13647:12:12", + "nodeType": "YulFunctionCall", + "src": "13647:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "13640:3:12", + "nodeType": "YulIdentifier", + "src": "13640:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nativeSrc": "13299:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "13433:3:12", + "nodeType": "YulTypedName", + "src": "13433:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "13441:3:12", + "nodeType": "YulTypedName", + "src": "13441:3:12", + "type": "" + } + ], + "src": "13299:366:12" + }, + { + "body": { + "nativeSrc": "13842:248:12", + "nodeType": "YulBlock", + "src": "13842:248:12", + "statements": [ + { + "nativeSrc": "13852:26:12", + "nodeType": "YulAssignment", + "src": "13852:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13864:9:12", + "nodeType": "YulIdentifier", + "src": "13864:9:12" + }, + { + "kind": "number", + "nativeSrc": "13875:2:12", + "nodeType": "YulLiteral", + "src": "13875:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13860:3:12", + "nodeType": "YulIdentifier", + "src": "13860:3:12" + }, + "nativeSrc": "13860:18:12", + "nodeType": "YulFunctionCall", + "src": "13860:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13852:4:12", + "nodeType": "YulIdentifier", + "src": "13852:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13899:9:12", + "nodeType": "YulIdentifier", + "src": "13899:9:12" + }, + { + "kind": "number", + "nativeSrc": "13910:1:12", + "nodeType": "YulLiteral", + "src": "13910:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13895:3:12", + "nodeType": "YulIdentifier", + "src": "13895:3:12" + }, + "nativeSrc": "13895:17:12", + "nodeType": "YulFunctionCall", + "src": "13895:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "13918:4:12", + "nodeType": "YulIdentifier", + "src": "13918:4:12" + }, + { + "name": "headStart", + "nativeSrc": "13924:9:12", + "nodeType": "YulIdentifier", + "src": "13924:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "13914:3:12", + "nodeType": "YulIdentifier", + "src": "13914:3:12" + }, + "nativeSrc": "13914:20:12", + "nodeType": "YulFunctionCall", + "src": "13914:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13888:6:12", + "nodeType": "YulIdentifier", + "src": "13888:6:12" + }, + "nativeSrc": "13888:47:12", + "nodeType": "YulFunctionCall", + "src": "13888:47:12" + }, + "nativeSrc": "13888:47:12", + "nodeType": "YulExpressionStatement", + "src": "13888:47:12" + }, + { + "nativeSrc": "13944:139:12", + "nodeType": "YulAssignment", + "src": "13944:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14078:4:12", + "nodeType": "YulIdentifier", + "src": "14078:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nativeSrc": "13952:124:12", + "nodeType": "YulIdentifier", + "src": "13952:124:12" + }, + "nativeSrc": "13952:131:12", + "nodeType": "YulFunctionCall", + "src": "13952:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13944:4:12", + "nodeType": "YulIdentifier", + "src": "13944:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "13671:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13822:9:12", + "nodeType": "YulTypedName", + "src": "13822:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "13837:4:12", + "nodeType": "YulTypedName", + "src": "13837:4:12", + "type": "" + } + ], + "src": "13671:419:12" + }, + { + "body": { + "nativeSrc": "14202:68:12", + "nodeType": "YulBlock", + "src": "14202:68:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "14224:6:12", + "nodeType": "YulIdentifier", + "src": "14224:6:12" + }, + { + "kind": "number", + "nativeSrc": "14232:1:12", + "nodeType": "YulLiteral", + "src": "14232:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14220:3:12", + "nodeType": "YulIdentifier", + "src": "14220:3:12" + }, + "nativeSrc": "14220:14:12", + "nodeType": "YulFunctionCall", + "src": "14220:14:12" + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "kind": "string", + "nativeSrc": "14236:26:12", + "nodeType": "YulLiteral", + "src": "14236:26:12", + "type": "", + "value": "ERC721: invalid token ID" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14213:6:12", + "nodeType": "YulIdentifier", + "src": "14213:6:12" + }, + "nativeSrc": "14213:50:12", + "nodeType": "YulFunctionCall", + "src": "14213:50:12" + }, + "nativeSrc": "14213:50:12", + "nodeType": "YulExpressionStatement", + "src": "14213:50:12" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nativeSrc": "14096:174:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "14194:6:12", + "nodeType": "YulTypedName", + "src": "14194:6:12", + "type": "" + } + ], + "src": "14096:174:12" + }, + { + "body": { + "nativeSrc": "14422:220:12", + "nodeType": "YulBlock", + "src": "14422:220:12", + "statements": [ + { + "nativeSrc": "14432:74:12", + "nodeType": "YulAssignment", + "src": "14432:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14498:3:12", + "nodeType": "YulIdentifier", + "src": "14498:3:12" + }, + { + "kind": "number", + "nativeSrc": "14503:2:12", + "nodeType": "YulLiteral", + "src": "14503:2:12", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "14439:58:12", + "nodeType": "YulIdentifier", + "src": "14439:58:12" + }, + "nativeSrc": "14439:67:12", + "nodeType": "YulFunctionCall", + "src": "14439:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "14432:3:12", + "nodeType": "YulIdentifier", + "src": "14432:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14604:3:12", + "nodeType": "YulIdentifier", + "src": "14604:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nativeSrc": "14515:88:12", + "nodeType": "YulIdentifier", + "src": "14515:88:12" + }, + "nativeSrc": "14515:93:12", + "nodeType": "YulFunctionCall", + "src": "14515:93:12" + }, + "nativeSrc": "14515:93:12", + "nodeType": "YulExpressionStatement", + "src": "14515:93:12" + }, + { + "nativeSrc": "14617:19:12", + "nodeType": "YulAssignment", + "src": "14617:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14628:3:12", + "nodeType": "YulIdentifier", + "src": "14628:3:12" + }, + { + "kind": "number", + "nativeSrc": "14633:2:12", + "nodeType": "YulLiteral", + "src": "14633:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14624:3:12", + "nodeType": "YulIdentifier", + "src": "14624:3:12" + }, + "nativeSrc": "14624:12:12", + "nodeType": "YulFunctionCall", + "src": "14624:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "14617:3:12", + "nodeType": "YulIdentifier", + "src": "14617:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14276:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "14410:3:12", + "nodeType": "YulTypedName", + "src": "14410:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "14418:3:12", + "nodeType": "YulTypedName", + "src": "14418:3:12", + "type": "" + } + ], + "src": "14276:366:12" + }, + { + "body": { + "nativeSrc": "14819:248:12", + "nodeType": "YulBlock", + "src": "14819:248:12", + "statements": [ + { + "nativeSrc": "14829:26:12", + "nodeType": "YulAssignment", + "src": "14829:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14841:9:12", + "nodeType": "YulIdentifier", + "src": "14841:9:12" + }, + { + "kind": "number", + "nativeSrc": "14852:2:12", + "nodeType": "YulLiteral", + "src": "14852:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14837:3:12", + "nodeType": "YulIdentifier", + "src": "14837:3:12" + }, + "nativeSrc": "14837:18:12", + "nodeType": "YulFunctionCall", + "src": "14837:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14829:4:12", + "nodeType": "YulIdentifier", + "src": "14829:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14876:9:12", + "nodeType": "YulIdentifier", + "src": "14876:9:12" + }, + { + "kind": "number", + "nativeSrc": "14887:1:12", + "nodeType": "YulLiteral", + "src": "14887:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14872:3:12", + "nodeType": "YulIdentifier", + "src": "14872:3:12" + }, + "nativeSrc": "14872:17:12", + "nodeType": "YulFunctionCall", + "src": "14872:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14895:4:12", + "nodeType": "YulIdentifier", + "src": "14895:4:12" + }, + { + "name": "headStart", + "nativeSrc": "14901:9:12", + "nodeType": "YulIdentifier", + "src": "14901:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14891:3:12", + "nodeType": "YulIdentifier", + "src": "14891:3:12" + }, + "nativeSrc": "14891:20:12", + "nodeType": "YulFunctionCall", + "src": "14891:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14865:6:12", + "nodeType": "YulIdentifier", + "src": "14865:6:12" + }, + "nativeSrc": "14865:47:12", + "nodeType": "YulFunctionCall", + "src": "14865:47:12" + }, + "nativeSrc": "14865:47:12", + "nodeType": "YulExpressionStatement", + "src": "14865:47:12" + }, + { + "nativeSrc": "14921:139:12", + "nodeType": "YulAssignment", + "src": "14921:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15055:4:12", + "nodeType": "YulIdentifier", + "src": "15055:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14929:124:12", + "nodeType": "YulIdentifier", + "src": "14929:124:12" + }, + "nativeSrc": "14929:131:12", + "nodeType": "YulFunctionCall", + "src": "14929:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14921:4:12", + "nodeType": "YulIdentifier", + "src": "14921:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "14648:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14799:9:12", + "nodeType": "YulTypedName", + "src": "14799:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14814:4:12", + "nodeType": "YulTypedName", + "src": "14814:4:12", + "type": "" + } + ], + "src": "14648:419:12" + }, + { + "body": { + "nativeSrc": "15179:122:12", + "nodeType": "YulBlock", + "src": "15179:122:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15201:6:12", + "nodeType": "YulIdentifier", + "src": "15201:6:12" + }, + { + "kind": "number", + "nativeSrc": "15209:1:12", + "nodeType": "YulLiteral", + "src": "15209:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15197:3:12", + "nodeType": "YulIdentifier", + "src": "15197:3:12" + }, + "nativeSrc": "15197:14:12", + "nodeType": "YulFunctionCall", + "src": "15197:14:12" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nativeSrc": "15213:34:12", + "nodeType": "YulLiteral", + "src": "15213:34:12", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15190:6:12", + "nodeType": "YulIdentifier", + "src": "15190:6:12" + }, + "nativeSrc": "15190:58:12", + "nodeType": "YulFunctionCall", + "src": "15190:58:12" + }, + "nativeSrc": "15190:58:12", + "nodeType": "YulExpressionStatement", + "src": "15190:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15269:6:12", + "nodeType": "YulIdentifier", + "src": "15269:6:12" + }, + { + "kind": "number", + "nativeSrc": "15277:2:12", + "nodeType": "YulLiteral", + "src": "15277:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15265:3:12", + "nodeType": "YulIdentifier", + "src": "15265:3:12" + }, + "nativeSrc": "15265:15:12", + "nodeType": "YulFunctionCall", + "src": "15265:15:12" + }, + { + "hexValue": "6c6964206f776e6572", + "kind": "string", + "nativeSrc": "15282:11:12", + "nodeType": "YulLiteral", + "src": "15282:11:12", + "type": "", + "value": "lid owner" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15258:6:12", + "nodeType": "YulIdentifier", + "src": "15258:6:12" + }, + "nativeSrc": "15258:36:12", + "nodeType": "YulFunctionCall", + "src": "15258:36:12" + }, + "nativeSrc": "15258:36:12", + "nodeType": "YulExpressionStatement", + "src": "15258:36:12" + } + ] + }, + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nativeSrc": "15073:228:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "15171:6:12", + "nodeType": "YulTypedName", + "src": "15171:6:12", + "type": "" + } + ], + "src": "15073:228:12" + }, + { + "body": { + "nativeSrc": "15453:220:12", + "nodeType": "YulBlock", + "src": "15453:220:12", + "statements": [ + { + "nativeSrc": "15463:74:12", + "nodeType": "YulAssignment", + "src": "15463:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15529:3:12", + "nodeType": "YulIdentifier", + "src": "15529:3:12" + }, + { + "kind": "number", + "nativeSrc": "15534:2:12", + "nodeType": "YulLiteral", + "src": "15534:2:12", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "15470:58:12", + "nodeType": "YulIdentifier", + "src": "15470:58:12" + }, + "nativeSrc": "15470:67:12", + "nodeType": "YulFunctionCall", + "src": "15470:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15463:3:12", + "nodeType": "YulIdentifier", + "src": "15463:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15635:3:12", + "nodeType": "YulIdentifier", + "src": "15635:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nativeSrc": "15546:88:12", + "nodeType": "YulIdentifier", + "src": "15546:88:12" + }, + "nativeSrc": "15546:93:12", + "nodeType": "YulFunctionCall", + "src": "15546:93:12" + }, + "nativeSrc": "15546:93:12", + "nodeType": "YulExpressionStatement", + "src": "15546:93:12" + }, + { + "nativeSrc": "15648:19:12", + "nodeType": "YulAssignment", + "src": "15648:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15659:3:12", + "nodeType": "YulIdentifier", + "src": "15659:3:12" + }, + { + "kind": "number", + "nativeSrc": "15664:2:12", + "nodeType": "YulLiteral", + "src": "15664:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15655:3:12", + "nodeType": "YulIdentifier", + "src": "15655:3:12" + }, + "nativeSrc": "15655:12:12", + "nodeType": "YulFunctionCall", + "src": "15655:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "15648:3:12", + "nodeType": "YulIdentifier", + "src": "15648:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15307:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15441:3:12", + "nodeType": "YulTypedName", + "src": "15441:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15449:3:12", + "nodeType": "YulTypedName", + "src": "15449:3:12", + "type": "" + } + ], + "src": "15307:366:12" + }, + { + "body": { + "nativeSrc": "15850:248:12", + "nodeType": "YulBlock", + "src": "15850:248:12", + "statements": [ + { + "nativeSrc": "15860:26:12", + "nodeType": "YulAssignment", + "src": "15860:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15872:9:12", + "nodeType": "YulIdentifier", + "src": "15872:9:12" + }, + { + "kind": "number", + "nativeSrc": "15883:2:12", + "nodeType": "YulLiteral", + "src": "15883:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15868:3:12", + "nodeType": "YulIdentifier", + "src": "15868:3:12" + }, + "nativeSrc": "15868:18:12", + "nodeType": "YulFunctionCall", + "src": "15868:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15860:4:12", + "nodeType": "YulIdentifier", + "src": "15860:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15907:9:12", + "nodeType": "YulIdentifier", + "src": "15907:9:12" + }, + { + "kind": "number", + "nativeSrc": "15918:1:12", + "nodeType": "YulLiteral", + "src": "15918:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15903:3:12", + "nodeType": "YulIdentifier", + "src": "15903:3:12" + }, + "nativeSrc": "15903:17:12", + "nodeType": "YulFunctionCall", + "src": "15903:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15926:4:12", + "nodeType": "YulIdentifier", + "src": "15926:4:12" + }, + { + "name": "headStart", + "nativeSrc": "15932:9:12", + "nodeType": "YulIdentifier", + "src": "15932:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15922:3:12", + "nodeType": "YulIdentifier", + "src": "15922:3:12" + }, + "nativeSrc": "15922:20:12", + "nodeType": "YulFunctionCall", + "src": "15922:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15896:6:12", + "nodeType": "YulIdentifier", + "src": "15896:6:12" + }, + "nativeSrc": "15896:47:12", + "nodeType": "YulFunctionCall", + "src": "15896:47:12" + }, + "nativeSrc": "15896:47:12", + "nodeType": "YulExpressionStatement", + "src": "15896:47:12" + }, + { + "nativeSrc": "15952:139:12", + "nodeType": "YulAssignment", + "src": "15952:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16086:4:12", + "nodeType": "YulIdentifier", + "src": "16086:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15960:124:12", + "nodeType": "YulIdentifier", + "src": "15960:124:12" + }, + "nativeSrc": "15960:131:12", + "nodeType": "YulFunctionCall", + "src": "15960:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15952:4:12", + "nodeType": "YulIdentifier", + "src": "15952:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15679:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15830:9:12", + "nodeType": "YulTypedName", + "src": "15830:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15845:4:12", + "nodeType": "YulTypedName", + "src": "15845:4:12", + "type": "" + } + ], + "src": "15679:419:12" + }, + { + "body": { + "nativeSrc": "16218:34:12", + "nodeType": "YulBlock", + "src": "16218:34:12", + "statements": [ + { + "nativeSrc": "16228:18:12", + "nodeType": "YulAssignment", + "src": "16228:18:12", + "value": { + "name": "pos", + "nativeSrc": "16243:3:12", + "nodeType": "YulIdentifier", + "src": "16243:3:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "16228:11:12", + "nodeType": "YulIdentifier", + "src": "16228:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16104:148:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "16190:3:12", + "nodeType": "YulTypedName", + "src": "16190:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "16195:6:12", + "nodeType": "YulTypedName", + "src": "16195:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "16206:11:12", + "nodeType": "YulTypedName", + "src": "16206:11:12", + "type": "" + } + ], + "src": "16104:148:12" + }, + { + "body": { + "nativeSrc": "16368:280:12", + "nodeType": "YulBlock", + "src": "16368:280:12", + "statements": [ + { + "nativeSrc": "16378:53:12", + "nodeType": "YulVariableDeclaration", + "src": "16378:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "16425:5:12", + "nodeType": "YulIdentifier", + "src": "16425:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "16392:32:12", + "nodeType": "YulIdentifier", + "src": "16392:32:12" + }, + "nativeSrc": "16392:39:12", + "nodeType": "YulFunctionCall", + "src": "16392:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "16382:6:12", + "nodeType": "YulTypedName", + "src": "16382:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16440:96:12", + "nodeType": "YulAssignment", + "src": "16440:96:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16524:3:12", + "nodeType": "YulIdentifier", + "src": "16524:3:12" + }, + { + "name": "length", + "nativeSrc": "16529:6:12", + "nodeType": "YulIdentifier", + "src": "16529:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16447:76:12", + "nodeType": "YulIdentifier", + "src": "16447:76:12" + }, + "nativeSrc": "16447:89:12", + "nodeType": "YulFunctionCall", + "src": "16447:89:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16440:3:12", + "nodeType": "YulIdentifier", + "src": "16440:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "16584:5:12", + "nodeType": "YulIdentifier", + "src": "16584:5:12" + }, + { + "kind": "number", + "nativeSrc": "16591:4:12", + "nodeType": "YulLiteral", + "src": "16591:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16580:3:12", + "nodeType": "YulIdentifier", + "src": "16580:3:12" + }, + "nativeSrc": "16580:16:12", + "nodeType": "YulFunctionCall", + "src": "16580:16:12" + }, + { + "name": "pos", + "nativeSrc": "16598:3:12", + "nodeType": "YulIdentifier", + "src": "16598:3:12" + }, + { + "name": "length", + "nativeSrc": "16603:6:12", + "nodeType": "YulIdentifier", + "src": "16603:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "16545:34:12", + "nodeType": "YulIdentifier", + "src": "16545:34:12" + }, + "nativeSrc": "16545:65:12", + "nodeType": "YulFunctionCall", + "src": "16545:65:12" + }, + "nativeSrc": "16545:65:12", + "nodeType": "YulExpressionStatement", + "src": "16545:65:12" + }, + { + "nativeSrc": "16619:23:12", + "nodeType": "YulAssignment", + "src": "16619:23:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16630:3:12", + "nodeType": "YulIdentifier", + "src": "16630:3:12" + }, + { + "name": "length", + "nativeSrc": "16635:6:12", + "nodeType": "YulIdentifier", + "src": "16635:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16626:3:12", + "nodeType": "YulIdentifier", + "src": "16626:3:12" + }, + "nativeSrc": "16626:16:12", + "nodeType": "YulFunctionCall", + "src": "16626:16:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "16619:3:12", + "nodeType": "YulIdentifier", + "src": "16619:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16258:390:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "16349:5:12", + "nodeType": "YulTypedName", + "src": "16349:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "16356:3:12", + "nodeType": "YulTypedName", + "src": "16356:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "16364:3:12", + "nodeType": "YulTypedName", + "src": "16364:3:12", + "type": "" + } + ], + "src": "16258:390:12" + }, + { + "body": { + "nativeSrc": "16838:251:12", + "nodeType": "YulBlock", + "src": "16838:251:12", + "statements": [ + { + "nativeSrc": "16849:102:12", + "nodeType": "YulAssignment", + "src": "16849:102:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "16938:6:12", + "nodeType": "YulIdentifier", + "src": "16938:6:12" + }, + { + "name": "pos", + "nativeSrc": "16947:3:12", + "nodeType": "YulIdentifier", + "src": "16947:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16856:81:12", + "nodeType": "YulIdentifier", + "src": "16856:81:12" + }, + "nativeSrc": "16856:95:12", + "nodeType": "YulFunctionCall", + "src": "16856:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16849:3:12", + "nodeType": "YulIdentifier", + "src": "16849:3:12" + } + ] + }, + { + "nativeSrc": "16961:102:12", + "nodeType": "YulAssignment", + "src": "16961:102:12", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "17050:6:12", + "nodeType": "YulIdentifier", + "src": "17050:6:12" + }, + { + "name": "pos", + "nativeSrc": "17059:3:12", + "nodeType": "YulIdentifier", + "src": "17059:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16968:81:12", + "nodeType": "YulIdentifier", + "src": "16968:81:12" + }, + "nativeSrc": "16968:95:12", + "nodeType": "YulFunctionCall", + "src": "16968:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16961:3:12", + "nodeType": "YulIdentifier", + "src": "16961:3:12" + } + ] + }, + { + "nativeSrc": "17073:10:12", + "nodeType": "YulAssignment", + "src": "17073:10:12", + "value": { + "name": "pos", + "nativeSrc": "17080:3:12", + "nodeType": "YulIdentifier", + "src": "17080:3:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17073:3:12", + "nodeType": "YulIdentifier", + "src": "17073:3:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "16654:435:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "16809:3:12", + "nodeType": "YulTypedName", + "src": "16809:3:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "16815:6:12", + "nodeType": "YulTypedName", + "src": "16815:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "16823:6:12", + "nodeType": "YulTypedName", + "src": "16823:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "16834:3:12", + "nodeType": "YulTypedName", + "src": "16834:3:12", + "type": "" + } + ], + "src": "16654:435:12" + }, + { + "body": { + "nativeSrc": "17201:118:12", + "nodeType": "YulBlock", + "src": "17201:118:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "17223:6:12", + "nodeType": "YulIdentifier", + "src": "17223:6:12" + }, + { + "kind": "number", + "nativeSrc": "17231:1:12", + "nodeType": "YulLiteral", + "src": "17231:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17219:3:12", + "nodeType": "YulIdentifier", + "src": "17219:3:12" + }, + "nativeSrc": "17219:14:12", + "nodeType": "YulFunctionCall", + "src": "17219:14:12" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nativeSrc": "17235:34:12", + "nodeType": "YulLiteral", + "src": "17235:34:12", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17212:6:12", + "nodeType": "YulIdentifier", + "src": "17212:6:12" + }, + "nativeSrc": "17212:58:12", + "nodeType": "YulFunctionCall", + "src": "17212:58:12" + }, + "nativeSrc": "17212:58:12", + "nodeType": "YulExpressionStatement", + "src": "17212:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "17291:6:12", + "nodeType": "YulIdentifier", + "src": "17291:6:12" + }, + { + "kind": "number", + "nativeSrc": "17299:2:12", + "nodeType": "YulLiteral", + "src": "17299:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17287:3:12", + "nodeType": "YulIdentifier", + "src": "17287:3:12" + }, + "nativeSrc": "17287:15:12", + "nodeType": "YulFunctionCall", + "src": "17287:15:12" + }, + { + "hexValue": "6f776e6572", + "kind": "string", + "nativeSrc": "17304:7:12", + "nodeType": "YulLiteral", + "src": "17304:7:12", + "type": "", + "value": "owner" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17280:6:12", + "nodeType": "YulIdentifier", + "src": "17280:6:12" + }, + "nativeSrc": "17280:32:12", + "nodeType": "YulFunctionCall", + "src": "17280:32:12" + }, + "nativeSrc": "17280:32:12", + "nodeType": "YulExpressionStatement", + "src": "17280:32:12" + } + ] + }, + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nativeSrc": "17095:224:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "17193:6:12", + "nodeType": "YulTypedName", + "src": "17193:6:12", + "type": "" + } + ], + "src": "17095:224:12" + }, + { + "body": { + "nativeSrc": "17471:220:12", + "nodeType": "YulBlock", + "src": "17471:220:12", + "statements": [ + { + "nativeSrc": "17481:74:12", + "nodeType": "YulAssignment", + "src": "17481:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17547:3:12", + "nodeType": "YulIdentifier", + "src": "17547:3:12" + }, + { + "kind": "number", + "nativeSrc": "17552:2:12", + "nodeType": "YulLiteral", + "src": "17552:2:12", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "17488:58:12", + "nodeType": "YulIdentifier", + "src": "17488:58:12" + }, + "nativeSrc": "17488:67:12", + "nodeType": "YulFunctionCall", + "src": "17488:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "17481:3:12", + "nodeType": "YulIdentifier", + "src": "17481:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17653:3:12", + "nodeType": "YulIdentifier", + "src": "17653:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nativeSrc": "17564:88:12", + "nodeType": "YulIdentifier", + "src": "17564:88:12" + }, + "nativeSrc": "17564:93:12", + "nodeType": "YulFunctionCall", + "src": "17564:93:12" + }, + "nativeSrc": "17564:93:12", + "nodeType": "YulExpressionStatement", + "src": "17564:93:12" + }, + { + "nativeSrc": "17666:19:12", + "nodeType": "YulAssignment", + "src": "17666:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17677:3:12", + "nodeType": "YulIdentifier", + "src": "17677:3:12" + }, + { + "kind": "number", + "nativeSrc": "17682:2:12", + "nodeType": "YulLiteral", + "src": "17682:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17673:3:12", + "nodeType": "YulIdentifier", + "src": "17673:3:12" + }, + "nativeSrc": "17673:12:12", + "nodeType": "YulFunctionCall", + "src": "17673:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17666:3:12", + "nodeType": "YulIdentifier", + "src": "17666:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17325:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "17459:3:12", + "nodeType": "YulTypedName", + "src": "17459:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "17467:3:12", + "nodeType": "YulTypedName", + "src": "17467:3:12", + "type": "" + } + ], + "src": "17325:366:12" + }, + { + "body": { + "nativeSrc": "17868:248:12", + "nodeType": "YulBlock", + "src": "17868:248:12", + "statements": [ + { + "nativeSrc": "17878:26:12", + "nodeType": "YulAssignment", + "src": "17878:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17890:9:12", + "nodeType": "YulIdentifier", + "src": "17890:9:12" + }, + { + "kind": "number", + "nativeSrc": "17901:2:12", + "nodeType": "YulLiteral", + "src": "17901:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17886:3:12", + "nodeType": "YulIdentifier", + "src": "17886:3:12" + }, + "nativeSrc": "17886:18:12", + "nodeType": "YulFunctionCall", + "src": "17886:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17878:4:12", + "nodeType": "YulIdentifier", + "src": "17878:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17925:9:12", + "nodeType": "YulIdentifier", + "src": "17925:9:12" + }, + { + "kind": "number", + "nativeSrc": "17936:1:12", + "nodeType": "YulLiteral", + "src": "17936:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17921:3:12", + "nodeType": "YulIdentifier", + "src": "17921:3:12" + }, + "nativeSrc": "17921:17:12", + "nodeType": "YulFunctionCall", + "src": "17921:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "17944:4:12", + "nodeType": "YulIdentifier", + "src": "17944:4:12" + }, + { + "name": "headStart", + "nativeSrc": "17950:9:12", + "nodeType": "YulIdentifier", + "src": "17950:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17940:3:12", + "nodeType": "YulIdentifier", + "src": "17940:3:12" + }, + "nativeSrc": "17940:20:12", + "nodeType": "YulFunctionCall", + "src": "17940:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17914:6:12", + "nodeType": "YulIdentifier", + "src": "17914:6:12" + }, + "nativeSrc": "17914:47:12", + "nodeType": "YulFunctionCall", + "src": "17914:47:12" + }, + "nativeSrc": "17914:47:12", + "nodeType": "YulExpressionStatement", + "src": "17914:47:12" + }, + { + "nativeSrc": "17970:139:12", + "nodeType": "YulAssignment", + "src": "17970:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18104:4:12", + "nodeType": "YulIdentifier", + "src": "18104:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17978:124:12", + "nodeType": "YulIdentifier", + "src": "17978:124:12" + }, + "nativeSrc": "17978:131:12", + "nodeType": "YulFunctionCall", + "src": "17978:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17970:4:12", + "nodeType": "YulIdentifier", + "src": "17970:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17697:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17848:9:12", + "nodeType": "YulTypedName", + "src": "17848:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17863:4:12", + "nodeType": "YulTypedName", + "src": "17863:4:12", + "type": "" + } + ], + "src": "17697:419:12" + }, + { + "body": { + "nativeSrc": "18228:117:12", + "nodeType": "YulBlock", + "src": "18228:117:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18250:6:12", + "nodeType": "YulIdentifier", + "src": "18250:6:12" + }, + { + "kind": "number", + "nativeSrc": "18258:1:12", + "nodeType": "YulLiteral", + "src": "18258:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18246:3:12", + "nodeType": "YulIdentifier", + "src": "18246:3:12" + }, + "nativeSrc": "18246:14:12", + "nodeType": "YulFunctionCall", + "src": "18246:14:12" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", + "kind": "string", + "nativeSrc": "18262:34:12", + "nodeType": "YulLiteral", + "src": "18262:34:12", + "type": "", + "value": "ERC721: transfer to the zero add" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18239:6:12", + "nodeType": "YulIdentifier", + "src": "18239:6:12" + }, + "nativeSrc": "18239:58:12", + "nodeType": "YulFunctionCall", + "src": "18239:58:12" + }, + "nativeSrc": "18239:58:12", + "nodeType": "YulExpressionStatement", + "src": "18239:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18318:6:12", + "nodeType": "YulIdentifier", + "src": "18318:6:12" + }, + { + "kind": "number", + "nativeSrc": "18326:2:12", + "nodeType": "YulLiteral", + "src": "18326:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18314:3:12", + "nodeType": "YulIdentifier", + "src": "18314:3:12" + }, + "nativeSrc": "18314:15:12", + "nodeType": "YulFunctionCall", + "src": "18314:15:12" + }, + { + "hexValue": "72657373", + "kind": "string", + "nativeSrc": "18331:6:12", + "nodeType": "YulLiteral", + "src": "18331:6:12", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18307:6:12", + "nodeType": "YulIdentifier", + "src": "18307:6:12" + }, + "nativeSrc": "18307:31:12", + "nodeType": "YulFunctionCall", + "src": "18307:31:12" + }, + "nativeSrc": "18307:31:12", + "nodeType": "YulExpressionStatement", + "src": "18307:31:12" + } + ] + }, + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nativeSrc": "18122:223:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "18220:6:12", + "nodeType": "YulTypedName", + "src": "18220:6:12", + "type": "" + } + ], + "src": "18122:223:12" + }, + { + "body": { + "nativeSrc": "18497:220:12", + "nodeType": "YulBlock", + "src": "18497:220:12", + "statements": [ + { + "nativeSrc": "18507:74:12", + "nodeType": "YulAssignment", + "src": "18507:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18573:3:12", + "nodeType": "YulIdentifier", + "src": "18573:3:12" + }, + { + "kind": "number", + "nativeSrc": "18578:2:12", + "nodeType": "YulLiteral", + "src": "18578:2:12", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "18514:58:12", + "nodeType": "YulIdentifier", + "src": "18514:58:12" + }, + "nativeSrc": "18514:67:12", + "nodeType": "YulFunctionCall", + "src": "18514:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18507:3:12", + "nodeType": "YulIdentifier", + "src": "18507:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18679:3:12", + "nodeType": "YulIdentifier", + "src": "18679:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nativeSrc": "18590:88:12", + "nodeType": "YulIdentifier", + "src": "18590:88:12" + }, + "nativeSrc": "18590:93:12", + "nodeType": "YulFunctionCall", + "src": "18590:93:12" + }, + "nativeSrc": "18590:93:12", + "nodeType": "YulExpressionStatement", + "src": "18590:93:12" + }, + { + "nativeSrc": "18692:19:12", + "nodeType": "YulAssignment", + "src": "18692:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18703:3:12", + "nodeType": "YulIdentifier", + "src": "18703:3:12" + }, + { + "kind": "number", + "nativeSrc": "18708:2:12", + "nodeType": "YulLiteral", + "src": "18708:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18699:3:12", + "nodeType": "YulIdentifier", + "src": "18699:3:12" + }, + "nativeSrc": "18699:12:12", + "nodeType": "YulFunctionCall", + "src": "18699:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18692:3:12", + "nodeType": "YulIdentifier", + "src": "18692:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18351:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18485:3:12", + "nodeType": "YulTypedName", + "src": "18485:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "18493:3:12", + "nodeType": "YulTypedName", + "src": "18493:3:12", + "type": "" + } + ], + "src": "18351:366:12" + }, + { + "body": { + "nativeSrc": "18894:248:12", + "nodeType": "YulBlock", + "src": "18894:248:12", + "statements": [ + { + "nativeSrc": "18904:26:12", + "nodeType": "YulAssignment", + "src": "18904:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18916:9:12", + "nodeType": "YulIdentifier", + "src": "18916:9:12" + }, + { + "kind": "number", + "nativeSrc": "18927:2:12", + "nodeType": "YulLiteral", + "src": "18927:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18912:3:12", + "nodeType": "YulIdentifier", + "src": "18912:3:12" + }, + "nativeSrc": "18912:18:12", + "nodeType": "YulFunctionCall", + "src": "18912:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18904:4:12", + "nodeType": "YulIdentifier", + "src": "18904:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18951:9:12", + "nodeType": "YulIdentifier", + "src": "18951:9:12" + }, + { + "kind": "number", + "nativeSrc": "18962:1:12", + "nodeType": "YulLiteral", + "src": "18962:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18947:3:12", + "nodeType": "YulIdentifier", + "src": "18947:3:12" + }, + "nativeSrc": "18947:17:12", + "nodeType": "YulFunctionCall", + "src": "18947:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18970:4:12", + "nodeType": "YulIdentifier", + "src": "18970:4:12" + }, + { + "name": "headStart", + "nativeSrc": "18976:9:12", + "nodeType": "YulIdentifier", + "src": "18976:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18966:3:12", + "nodeType": "YulIdentifier", + "src": "18966:3:12" + }, + "nativeSrc": "18966:20:12", + "nodeType": "YulFunctionCall", + "src": "18966:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18940:6:12", + "nodeType": "YulIdentifier", + "src": "18940:6:12" + }, + "nativeSrc": "18940:47:12", + "nodeType": "YulFunctionCall", + "src": "18940:47:12" + }, + "nativeSrc": "18940:47:12", + "nodeType": "YulExpressionStatement", + "src": "18940:47:12" + }, + { + "nativeSrc": "18996:139:12", + "nodeType": "YulAssignment", + "src": "18996:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19130:4:12", + "nodeType": "YulIdentifier", + "src": "19130:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19004:124:12", + "nodeType": "YulIdentifier", + "src": "19004:124:12" + }, + "nativeSrc": "19004:131:12", + "nodeType": "YulFunctionCall", + "src": "19004:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18996:4:12", + "nodeType": "YulIdentifier", + "src": "18996:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "18723:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18874:9:12", + "nodeType": "YulTypedName", + "src": "18874:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18889:4:12", + "nodeType": "YulTypedName", + "src": "18889:4:12", + "type": "" + } + ], + "src": "18723:419:12" + }, + { + "body": { + "nativeSrc": "19254:69:12", + "nodeType": "YulBlock", + "src": "19254:69:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19276:6:12", + "nodeType": "YulIdentifier", + "src": "19276:6:12" + }, + { + "kind": "number", + "nativeSrc": "19284:1:12", + "nodeType": "YulLiteral", + "src": "19284:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19272:3:12", + "nodeType": "YulIdentifier", + "src": "19272:3:12" + }, + "nativeSrc": "19272:14:12", + "nodeType": "YulFunctionCall", + "src": "19272:14:12" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nativeSrc": "19288:27:12", + "nodeType": "YulLiteral", + "src": "19288:27:12", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19265:6:12", + "nodeType": "YulIdentifier", + "src": "19265:6:12" + }, + "nativeSrc": "19265:51:12", + "nodeType": "YulFunctionCall", + "src": "19265:51:12" + }, + "nativeSrc": "19265:51:12", + "nodeType": "YulExpressionStatement", + "src": "19265:51:12" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nativeSrc": "19148:175:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "19246:6:12", + "nodeType": "YulTypedName", + "src": "19246:6:12", + "type": "" + } + ], + "src": "19148:175:12" + }, + { + "body": { + "nativeSrc": "19475:220:12", + "nodeType": "YulBlock", + "src": "19475:220:12", + "statements": [ + { + "nativeSrc": "19485:74:12", + "nodeType": "YulAssignment", + "src": "19485:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19551:3:12", + "nodeType": "YulIdentifier", + "src": "19551:3:12" + }, + { + "kind": "number", + "nativeSrc": "19556:2:12", + "nodeType": "YulLiteral", + "src": "19556:2:12", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19492:58:12", + "nodeType": "YulIdentifier", + "src": "19492:58:12" + }, + "nativeSrc": "19492:67:12", + "nodeType": "YulFunctionCall", + "src": "19492:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19485:3:12", + "nodeType": "YulIdentifier", + "src": "19485:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19657:3:12", + "nodeType": "YulIdentifier", + "src": "19657:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nativeSrc": "19568:88:12", + "nodeType": "YulIdentifier", + "src": "19568:88:12" + }, + "nativeSrc": "19568:93:12", + "nodeType": "YulFunctionCall", + "src": "19568:93:12" + }, + "nativeSrc": "19568:93:12", + "nodeType": "YulExpressionStatement", + "src": "19568:93:12" + }, + { + "nativeSrc": "19670:19:12", + "nodeType": "YulAssignment", + "src": "19670:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19681:3:12", + "nodeType": "YulIdentifier", + "src": "19681:3:12" + }, + { + "kind": "number", + "nativeSrc": "19686:2:12", + "nodeType": "YulLiteral", + "src": "19686:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19677:3:12", + "nodeType": "YulIdentifier", + "src": "19677:3:12" + }, + "nativeSrc": "19677:12:12", + "nodeType": "YulFunctionCall", + "src": "19677:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19670:3:12", + "nodeType": "YulIdentifier", + "src": "19670:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19329:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19463:3:12", + "nodeType": "YulTypedName", + "src": "19463:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19471:3:12", + "nodeType": "YulTypedName", + "src": "19471:3:12", + "type": "" + } + ], + "src": "19329:366:12" + }, + { + "body": { + "nativeSrc": "19872:248:12", + "nodeType": "YulBlock", + "src": "19872:248:12", + "statements": [ + { + "nativeSrc": "19882:26:12", + "nodeType": "YulAssignment", + "src": "19882:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19894:9:12", + "nodeType": "YulIdentifier", + "src": "19894:9:12" + }, + { + "kind": "number", + "nativeSrc": "19905:2:12", + "nodeType": "YulLiteral", + "src": "19905:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19890:3:12", + "nodeType": "YulIdentifier", + "src": "19890:3:12" + }, + "nativeSrc": "19890:18:12", + "nodeType": "YulFunctionCall", + "src": "19890:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19882:4:12", + "nodeType": "YulIdentifier", + "src": "19882:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19929:9:12", + "nodeType": "YulIdentifier", + "src": "19929:9:12" + }, + { + "kind": "number", + "nativeSrc": "19940:1:12", + "nodeType": "YulLiteral", + "src": "19940:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19925:3:12", + "nodeType": "YulIdentifier", + "src": "19925:3:12" + }, + "nativeSrc": "19925:17:12", + "nodeType": "YulFunctionCall", + "src": "19925:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19948:4:12", + "nodeType": "YulIdentifier", + "src": "19948:4:12" + }, + { + "name": "headStart", + "nativeSrc": "19954:9:12", + "nodeType": "YulIdentifier", + "src": "19954:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19944:3:12", + "nodeType": "YulIdentifier", + "src": "19944:3:12" + }, + "nativeSrc": "19944:20:12", + "nodeType": "YulFunctionCall", + "src": "19944:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19918:6:12", + "nodeType": "YulIdentifier", + "src": "19918:6:12" + }, + "nativeSrc": "19918:47:12", + "nodeType": "YulFunctionCall", + "src": "19918:47:12" + }, + "nativeSrc": "19918:47:12", + "nodeType": "YulExpressionStatement", + "src": "19918:47:12" + }, + { + "nativeSrc": "19974:139:12", + "nodeType": "YulAssignment", + "src": "19974:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20108:4:12", + "nodeType": "YulIdentifier", + "src": "20108:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19982:124:12", + "nodeType": "YulIdentifier", + "src": "19982:124:12" + }, + "nativeSrc": "19982:131:12", + "nodeType": "YulFunctionCall", + "src": "19982:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19974:4:12", + "nodeType": "YulIdentifier", + "src": "19974:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19701:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19852:9:12", + "nodeType": "YulTypedName", + "src": "19852:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "19867:4:12", + "nodeType": "YulTypedName", + "src": "19867:4:12", + "type": "" + } + ], + "src": "19701:419:12" + }, + { + "body": { + "nativeSrc": "20232:131:12", + "nodeType": "YulBlock", + "src": "20232:131:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20254:6:12", + "nodeType": "YulIdentifier", + "src": "20254:6:12" + }, + { + "kind": "number", + "nativeSrc": "20262:1:12", + "nodeType": "YulLiteral", + "src": "20262:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20250:3:12", + "nodeType": "YulIdentifier", + "src": "20250:3:12" + }, + "nativeSrc": "20250:14:12", + "nodeType": "YulFunctionCall", + "src": "20250:14:12" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nativeSrc": "20266:34:12", + "nodeType": "YulLiteral", + "src": "20266:34:12", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20243:6:12", + "nodeType": "YulIdentifier", + "src": "20243:6:12" + }, + "nativeSrc": "20243:58:12", + "nodeType": "YulFunctionCall", + "src": "20243:58:12" + }, + "nativeSrc": "20243:58:12", + "nodeType": "YulExpressionStatement", + "src": "20243:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20322:6:12", + "nodeType": "YulIdentifier", + "src": "20322:6:12" + }, + { + "kind": "number", + "nativeSrc": "20330:2:12", + "nodeType": "YulLiteral", + "src": "20330:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20318:3:12", + "nodeType": "YulIdentifier", + "src": "20318:3:12" + }, + "nativeSrc": "20318:15:12", + "nodeType": "YulFunctionCall", + "src": "20318:15:12" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nativeSrc": "20335:20:12", + "nodeType": "YulLiteral", + "src": "20335:20:12", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20311:6:12", + "nodeType": "YulIdentifier", + "src": "20311:6:12" + }, + "nativeSrc": "20311:45:12", + "nodeType": "YulFunctionCall", + "src": "20311:45:12" + }, + "nativeSrc": "20311:45:12", + "nodeType": "YulExpressionStatement", + "src": "20311:45:12" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nativeSrc": "20126:237:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "20224:6:12", + "nodeType": "YulTypedName", + "src": "20224:6:12", + "type": "" + } + ], + "src": "20126:237:12" + }, + { + "body": { + "nativeSrc": "20515:220:12", + "nodeType": "YulBlock", + "src": "20515:220:12", + "statements": [ + { + "nativeSrc": "20525:74:12", + "nodeType": "YulAssignment", + "src": "20525:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20591:3:12", + "nodeType": "YulIdentifier", + "src": "20591:3:12" + }, + { + "kind": "number", + "nativeSrc": "20596:2:12", + "nodeType": "YulLiteral", + "src": "20596:2:12", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "20532:58:12", + "nodeType": "YulIdentifier", + "src": "20532:58:12" + }, + "nativeSrc": "20532:67:12", + "nodeType": "YulFunctionCall", + "src": "20532:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "20525:3:12", + "nodeType": "YulIdentifier", + "src": "20525:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20697:3:12", + "nodeType": "YulIdentifier", + "src": "20697:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nativeSrc": "20608:88:12", + "nodeType": "YulIdentifier", + "src": "20608:88:12" + }, + "nativeSrc": "20608:93:12", + "nodeType": "YulFunctionCall", + "src": "20608:93:12" + }, + "nativeSrc": "20608:93:12", + "nodeType": "YulExpressionStatement", + "src": "20608:93:12" + }, + { + "nativeSrc": "20710:19:12", + "nodeType": "YulAssignment", + "src": "20710:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20721:3:12", + "nodeType": "YulIdentifier", + "src": "20721:3:12" + }, + { + "kind": "number", + "nativeSrc": "20726:2:12", + "nodeType": "YulLiteral", + "src": "20726:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20717:3:12", + "nodeType": "YulIdentifier", + "src": "20717:3:12" + }, + "nativeSrc": "20717:12:12", + "nodeType": "YulFunctionCall", + "src": "20717:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "20710:3:12", + "nodeType": "YulIdentifier", + "src": "20710:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20369:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "20503:3:12", + "nodeType": "YulTypedName", + "src": "20503:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "20511:3:12", + "nodeType": "YulTypedName", + "src": "20511:3:12", + "type": "" + } + ], + "src": "20369:366:12" + }, + { + "body": { + "nativeSrc": "20912:248:12", + "nodeType": "YulBlock", + "src": "20912:248:12", + "statements": [ + { + "nativeSrc": "20922:26:12", + "nodeType": "YulAssignment", + "src": "20922:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20934:9:12", + "nodeType": "YulIdentifier", + "src": "20934:9:12" + }, + { + "kind": "number", + "nativeSrc": "20945:2:12", + "nodeType": "YulLiteral", + "src": "20945:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20930:3:12", + "nodeType": "YulIdentifier", + "src": "20930:3:12" + }, + "nativeSrc": "20930:18:12", + "nodeType": "YulFunctionCall", + "src": "20930:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20922:4:12", + "nodeType": "YulIdentifier", + "src": "20922:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20969:9:12", + "nodeType": "YulIdentifier", + "src": "20969:9:12" + }, + { + "kind": "number", + "nativeSrc": "20980:1:12", + "nodeType": "YulLiteral", + "src": "20980:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20965:3:12", + "nodeType": "YulIdentifier", + "src": "20965:3:12" + }, + "nativeSrc": "20965:17:12", + "nodeType": "YulFunctionCall", + "src": "20965:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20988:4:12", + "nodeType": "YulIdentifier", + "src": "20988:4:12" + }, + { + "name": "headStart", + "nativeSrc": "20994:9:12", + "nodeType": "YulIdentifier", + "src": "20994:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20984:3:12", + "nodeType": "YulIdentifier", + "src": "20984:3:12" + }, + "nativeSrc": "20984:20:12", + "nodeType": "YulFunctionCall", + "src": "20984:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20958:6:12", + "nodeType": "YulIdentifier", + "src": "20958:6:12" + }, + "nativeSrc": "20958:47:12", + "nodeType": "YulFunctionCall", + "src": "20958:47:12" + }, + "nativeSrc": "20958:47:12", + "nodeType": "YulExpressionStatement", + "src": "20958:47:12" + }, + { + "nativeSrc": "21014:139:12", + "nodeType": "YulAssignment", + "src": "21014:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21148:4:12", + "nodeType": "YulIdentifier", + "src": "21148:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "21022:124:12", + "nodeType": "YulIdentifier", + "src": "21022:124:12" + }, + "nativeSrc": "21022:131:12", + "nodeType": "YulFunctionCall", + "src": "21022:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21014:4:12", + "nodeType": "YulIdentifier", + "src": "21014:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20741:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20892:9:12", + "nodeType": "YulTypedName", + "src": "20892:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20907:4:12", + "nodeType": "YulTypedName", + "src": "20907:4:12", + "type": "" + } + ], + "src": "20741:419:12" + }, + { + "body": { + "nativeSrc": "21194:152:12", + "nodeType": "YulBlock", + "src": "21194:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21211:1:12", + "nodeType": "YulLiteral", + "src": "21211:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21214:77:12", + "nodeType": "YulLiteral", + "src": "21214:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21204:6:12", + "nodeType": "YulIdentifier", + "src": "21204:6:12" + }, + "nativeSrc": "21204:88:12", + "nodeType": "YulFunctionCall", + "src": "21204:88:12" + }, + "nativeSrc": "21204:88:12", + "nodeType": "YulExpressionStatement", + "src": "21204:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21308:1:12", + "nodeType": "YulLiteral", + "src": "21308:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "21311:4:12", + "nodeType": "YulLiteral", + "src": "21311:4:12", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21301:6:12", + "nodeType": "YulIdentifier", + "src": "21301:6:12" + }, + "nativeSrc": "21301:15:12", + "nodeType": "YulFunctionCall", + "src": "21301:15:12" + }, + "nativeSrc": "21301:15:12", + "nodeType": "YulExpressionStatement", + "src": "21301:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21332:1:12", + "nodeType": "YulLiteral", + "src": "21332:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21335:4:12", + "nodeType": "YulLiteral", + "src": "21335:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21325:6:12", + "nodeType": "YulIdentifier", + "src": "21325:6:12" + }, + "nativeSrc": "21325:15:12", + "nodeType": "YulFunctionCall", + "src": "21325:15:12" + }, + "nativeSrc": "21325:15:12", + "nodeType": "YulExpressionStatement", + "src": "21325:15:12" + } + ] + }, + "name": "panic_error_0x12", + "nativeSrc": "21166:180:12", + "nodeType": "YulFunctionDefinition", + "src": "21166:180:12" + }, + { + "body": { + "nativeSrc": "21410:40:12", + "nodeType": "YulBlock", + "src": "21410:40:12", + "statements": [ + { + "nativeSrc": "21421:22:12", + "nodeType": "YulAssignment", + "src": "21421:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21437:5:12", + "nodeType": "YulIdentifier", + "src": "21437:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "21431:5:12", + "nodeType": "YulIdentifier", + "src": "21431:5:12" + }, + "nativeSrc": "21431:12:12", + "nodeType": "YulFunctionCall", + "src": "21431:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "21421:6:12", + "nodeType": "YulIdentifier", + "src": "21421:6:12" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "21352:98:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21393:5:12", + "nodeType": "YulTypedName", + "src": "21393:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "21403:6:12", + "nodeType": "YulTypedName", + "src": "21403:6:12", + "type": "" + } + ], + "src": "21352:98:12" + }, + { + "body": { + "nativeSrc": "21551:73:12", + "nodeType": "YulBlock", + "src": "21551:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21568:3:12", + "nodeType": "YulIdentifier", + "src": "21568:3:12" + }, + { + "name": "length", + "nativeSrc": "21573:6:12", + "nodeType": "YulIdentifier", + "src": "21573:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21561:6:12", + "nodeType": "YulIdentifier", + "src": "21561:6:12" + }, + "nativeSrc": "21561:19:12", + "nodeType": "YulFunctionCall", + "src": "21561:19:12" + }, + "nativeSrc": "21561:19:12", + "nodeType": "YulExpressionStatement", + "src": "21561:19:12" + }, + { + "nativeSrc": "21589:29:12", + "nodeType": "YulAssignment", + "src": "21589:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21608:3:12", + "nodeType": "YulIdentifier", + "src": "21608:3:12" + }, + { + "kind": "number", + "nativeSrc": "21613:4:12", + "nodeType": "YulLiteral", + "src": "21613:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21604:3:12", + "nodeType": "YulIdentifier", + "src": "21604:3:12" + }, + "nativeSrc": "21604:14:12", + "nodeType": "YulFunctionCall", + "src": "21604:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "21589:11:12", + "nodeType": "YulIdentifier", + "src": "21589:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "21456:168:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "21523:3:12", + "nodeType": "YulTypedName", + "src": "21523:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "21528:6:12", + "nodeType": "YulTypedName", + "src": "21528:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "21539:11:12", + "nodeType": "YulTypedName", + "src": "21539:11:12", + "type": "" + } + ], + "src": "21456:168:12" + }, + { + "body": { + "nativeSrc": "21720:283:12", + "nodeType": "YulBlock", + "src": "21720:283:12", + "statements": [ + { + "nativeSrc": "21730:52:12", + "nodeType": "YulVariableDeclaration", + "src": "21730:52:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21776:5:12", + "nodeType": "YulIdentifier", + "src": "21776:5:12" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "21744:31:12", + "nodeType": "YulIdentifier", + "src": "21744:31:12" + }, + "nativeSrc": "21744:38:12", + "nodeType": "YulFunctionCall", + "src": "21744:38:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "21734:6:12", + "nodeType": "YulTypedName", + "src": "21734:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "21791:77:12", + "nodeType": "YulAssignment", + "src": "21791:77:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21856:3:12", + "nodeType": "YulIdentifier", + "src": "21856:3:12" + }, + { + "name": "length", + "nativeSrc": "21861:6:12", + "nodeType": "YulIdentifier", + "src": "21861:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "21798:57:12", + "nodeType": "YulIdentifier", + "src": "21798:57:12" + }, + "nativeSrc": "21798:70:12", + "nodeType": "YulFunctionCall", + "src": "21798:70:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "21791:3:12", + "nodeType": "YulIdentifier", + "src": "21791:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21916:5:12", + "nodeType": "YulIdentifier", + "src": "21916:5:12" + }, + { + "kind": "number", + "nativeSrc": "21923:4:12", + "nodeType": "YulLiteral", + "src": "21923:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21912:3:12", + "nodeType": "YulIdentifier", + "src": "21912:3:12" + }, + "nativeSrc": "21912:16:12", + "nodeType": "YulFunctionCall", + "src": "21912:16:12" + }, + { + "name": "pos", + "nativeSrc": "21930:3:12", + "nodeType": "YulIdentifier", + "src": "21930:3:12" + }, + { + "name": "length", + "nativeSrc": "21935:6:12", + "nodeType": "YulIdentifier", + "src": "21935:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "21877:34:12", + "nodeType": "YulIdentifier", + "src": "21877:34:12" + }, + "nativeSrc": "21877:65:12", + "nodeType": "YulFunctionCall", + "src": "21877:65:12" + }, + "nativeSrc": "21877:65:12", + "nodeType": "YulExpressionStatement", + "src": "21877:65:12" + }, + { + "nativeSrc": "21951:46:12", + "nodeType": "YulAssignment", + "src": "21951:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21962:3:12", + "nodeType": "YulIdentifier", + "src": "21962:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "21989:6:12", + "nodeType": "YulIdentifier", + "src": "21989:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "21967:21:12", + "nodeType": "YulIdentifier", + "src": "21967:21:12" + }, + "nativeSrc": "21967:29:12", + "nodeType": "YulFunctionCall", + "src": "21967:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21958:3:12", + "nodeType": "YulIdentifier", + "src": "21958:3:12" + }, + "nativeSrc": "21958:39:12", + "nodeType": "YulFunctionCall", + "src": "21958:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "21951:3:12", + "nodeType": "YulIdentifier", + "src": "21951:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "21630:373:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21701:5:12", + "nodeType": "YulTypedName", + "src": "21701:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "21708:3:12", + "nodeType": "YulTypedName", + "src": "21708:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "21716:3:12", + "nodeType": "YulTypedName", + "src": "21716:3:12", + "type": "" + } + ], + "src": "21630:373:12" + }, + { + "body": { + "nativeSrc": "22209:440:12", + "nodeType": "YulBlock", + "src": "22209:440:12", + "statements": [ + { + "nativeSrc": "22219:27:12", + "nodeType": "YulAssignment", + "src": "22219:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22231:9:12", + "nodeType": "YulIdentifier", + "src": "22231:9:12" + }, + { + "kind": "number", + "nativeSrc": "22242:3:12", + "nodeType": "YulLiteral", + "src": "22242:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22227:3:12", + "nodeType": "YulIdentifier", + "src": "22227:3:12" + }, + "nativeSrc": "22227:19:12", + "nodeType": "YulFunctionCall", + "src": "22227:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22219:4:12", + "nodeType": "YulIdentifier", + "src": "22219:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "22300:6:12", + "nodeType": "YulIdentifier", + "src": "22300:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22313:9:12", + "nodeType": "YulIdentifier", + "src": "22313:9:12" + }, + { + "kind": "number", + "nativeSrc": "22324:1:12", + "nodeType": "YulLiteral", + "src": "22324:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22309:3:12", + "nodeType": "YulIdentifier", + "src": "22309:3:12" + }, + "nativeSrc": "22309:17:12", + "nodeType": "YulFunctionCall", + "src": "22309:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22256:43:12", + "nodeType": "YulIdentifier", + "src": "22256:43:12" + }, + "nativeSrc": "22256:71:12", + "nodeType": "YulFunctionCall", + "src": "22256:71:12" + }, + "nativeSrc": "22256:71:12", + "nodeType": "YulExpressionStatement", + "src": "22256:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "22381:6:12", + "nodeType": "YulIdentifier", + "src": "22381:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22394:9:12", + "nodeType": "YulIdentifier", + "src": "22394:9:12" + }, + { + "kind": "number", + "nativeSrc": "22405:2:12", + "nodeType": "YulLiteral", + "src": "22405:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22390:3:12", + "nodeType": "YulIdentifier", + "src": "22390:3:12" + }, + "nativeSrc": "22390:18:12", + "nodeType": "YulFunctionCall", + "src": "22390:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22337:43:12", + "nodeType": "YulIdentifier", + "src": "22337:43:12" + }, + "nativeSrc": "22337:72:12", + "nodeType": "YulFunctionCall", + "src": "22337:72:12" + }, + "nativeSrc": "22337:72:12", + "nodeType": "YulExpressionStatement", + "src": "22337:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "22463:6:12", + "nodeType": "YulIdentifier", + "src": "22463:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22476:9:12", + "nodeType": "YulIdentifier", + "src": "22476:9:12" + }, + { + "kind": "number", + "nativeSrc": "22487:2:12", + "nodeType": "YulLiteral", + "src": "22487:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22472:3:12", + "nodeType": "YulIdentifier", + "src": "22472:3:12" + }, + "nativeSrc": "22472:18:12", + "nodeType": "YulFunctionCall", + "src": "22472:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "22419:43:12", + "nodeType": "YulIdentifier", + "src": "22419:43:12" + }, + "nativeSrc": "22419:72:12", + "nodeType": "YulFunctionCall", + "src": "22419:72:12" + }, + "nativeSrc": "22419:72:12", + "nodeType": "YulExpressionStatement", + "src": "22419:72:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22512:9:12", + "nodeType": "YulIdentifier", + "src": "22512:9:12" + }, + { + "kind": "number", + "nativeSrc": "22523:2:12", + "nodeType": "YulLiteral", + "src": "22523:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22508:3:12", + "nodeType": "YulIdentifier", + "src": "22508:3:12" + }, + "nativeSrc": "22508:18:12", + "nodeType": "YulFunctionCall", + "src": "22508:18:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "22532:4:12", + "nodeType": "YulIdentifier", + "src": "22532:4:12" + }, + { + "name": "headStart", + "nativeSrc": "22538:9:12", + "nodeType": "YulIdentifier", + "src": "22538:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "22528:3:12", + "nodeType": "YulIdentifier", + "src": "22528:3:12" + }, + "nativeSrc": "22528:20:12", + "nodeType": "YulFunctionCall", + "src": "22528:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22501:6:12", + "nodeType": "YulIdentifier", + "src": "22501:6:12" + }, + "nativeSrc": "22501:48:12", + "nodeType": "YulFunctionCall", + "src": "22501:48:12" + }, + "nativeSrc": "22501:48:12", + "nodeType": "YulExpressionStatement", + "src": "22501:48:12" + }, + { + "nativeSrc": "22558:84:12", + "nodeType": "YulAssignment", + "src": "22558:84:12", + "value": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "22628:6:12", + "nodeType": "YulIdentifier", + "src": "22628:6:12" + }, + { + "name": "tail", + "nativeSrc": "22637:4:12", + "nodeType": "YulIdentifier", + "src": "22637:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22566:61:12", + "nodeType": "YulIdentifier", + "src": "22566:61:12" + }, + "nativeSrc": "22566:76:12", + "nodeType": "YulFunctionCall", + "src": "22566:76:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22558:4:12", + "nodeType": "YulIdentifier", + "src": "22558:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "22009:640:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "22157:9:12", + "nodeType": "YulTypedName", + "src": "22157:9:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "22169:6:12", + "nodeType": "YulTypedName", + "src": "22169:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "22177:6:12", + "nodeType": "YulTypedName", + "src": "22177:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "22185:6:12", + "nodeType": "YulTypedName", + "src": "22185:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "22193:6:12", + "nodeType": "YulTypedName", + "src": "22193:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "22204:4:12", + "nodeType": "YulTypedName", + "src": "22204:4:12", + "type": "" + } + ], + "src": "22009:640:12" + }, + { + "body": { + "nativeSrc": "22717:79:12", + "nodeType": "YulBlock", + "src": "22717:79:12", + "statements": [ + { + "nativeSrc": "22727:22:12", + "nodeType": "YulAssignment", + "src": "22727:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22742:6:12", + "nodeType": "YulIdentifier", + "src": "22742:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22736:5:12", + "nodeType": "YulIdentifier", + "src": "22736:5:12" + }, + "nativeSrc": "22736:13:12", + "nodeType": "YulFunctionCall", + "src": "22736:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "22727:5:12", + "nodeType": "YulIdentifier", + "src": "22727:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "22784:5:12", + "nodeType": "YulIdentifier", + "src": "22784:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "22758:25:12", + "nodeType": "YulIdentifier", + "src": "22758:25:12" + }, + "nativeSrc": "22758:32:12", + "nodeType": "YulFunctionCall", + "src": "22758:32:12" + }, + "nativeSrc": "22758:32:12", + "nodeType": "YulExpressionStatement", + "src": "22758:32:12" + } + ] + }, + "name": "abi_decode_t_bytes4_fromMemory", + "nativeSrc": "22655:141:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "22695:6:12", + "nodeType": "YulTypedName", + "src": "22695:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22703:3:12", + "nodeType": "YulTypedName", + "src": "22703:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "22711:5:12", + "nodeType": "YulTypedName", + "src": "22711:5:12", + "type": "" + } + ], + "src": "22655:141:12" + }, + { + "body": { + "nativeSrc": "22878:273:12", + "nodeType": "YulBlock", + "src": "22878:273:12", + "statements": [ + { + "body": { + "nativeSrc": "22924:83:12", + "nodeType": "YulBlock", + "src": "22924:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "22926:77:12", + "nodeType": "YulIdentifier", + "src": "22926:77:12" + }, + "nativeSrc": "22926:79:12", + "nodeType": "YulFunctionCall", + "src": "22926:79:12" + }, + "nativeSrc": "22926:79:12", + "nodeType": "YulExpressionStatement", + "src": "22926:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "22899:7:12", + "nodeType": "YulIdentifier", + "src": "22899:7:12" + }, + { + "name": "headStart", + "nativeSrc": "22908:9:12", + "nodeType": "YulIdentifier", + "src": "22908:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "22895:3:12", + "nodeType": "YulIdentifier", + "src": "22895:3:12" + }, + "nativeSrc": "22895:23:12", + "nodeType": "YulFunctionCall", + "src": "22895:23:12" + }, + { + "kind": "number", + "nativeSrc": "22920:2:12", + "nodeType": "YulLiteral", + "src": "22920:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "22891:3:12", + "nodeType": "YulIdentifier", + "src": "22891:3:12" + }, + "nativeSrc": "22891:32:12", + "nodeType": "YulFunctionCall", + "src": "22891:32:12" + }, + "nativeSrc": "22888:119:12", + "nodeType": "YulIf", + "src": "22888:119:12" + }, + { + "nativeSrc": "23017:127:12", + "nodeType": "YulBlock", + "src": "23017:127:12", + "statements": [ + { + "nativeSrc": "23032:15:12", + "nodeType": "YulVariableDeclaration", + "src": "23032:15:12", + "value": { + "kind": "number", + "nativeSrc": "23046:1:12", + "nodeType": "YulLiteral", + "src": "23046:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "23036:6:12", + "nodeType": "YulTypedName", + "src": "23036:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "23061:73:12", + "nodeType": "YulAssignment", + "src": "23061:73:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23106:9:12", + "nodeType": "YulIdentifier", + "src": "23106:9:12" + }, + { + "name": "offset", + "nativeSrc": "23117:6:12", + "nodeType": "YulIdentifier", + "src": "23117:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23102:3:12", + "nodeType": "YulIdentifier", + "src": "23102:3:12" + }, + "nativeSrc": "23102:22:12", + "nodeType": "YulFunctionCall", + "src": "23102:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "23126:7:12", + "nodeType": "YulIdentifier", + "src": "23126:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4_fromMemory", + "nativeSrc": "23071:30:12", + "nodeType": "YulIdentifier", + "src": "23071:30:12" + }, + "nativeSrc": "23071:63:12", + "nodeType": "YulFunctionCall", + "src": "23071:63:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "23061:6:12", + "nodeType": "YulIdentifier", + "src": "23061:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4_fromMemory", + "nativeSrc": "22802:349:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "22848:9:12", + "nodeType": "YulTypedName", + "src": "22848:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "22859:7:12", + "nodeType": "YulTypedName", + "src": "22859:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "22871:6:12", + "nodeType": "YulTypedName", + "src": "22871:6:12", + "type": "" + } + ], + "src": "22802:349:12" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e991906114f4565b6102bc565b6040516100fb919061153c565b60405180910390f35b61010c61039e565b60405161011991906115e7565b60405180910390f35b61013c6004803603810190610137919061163f565b610430565b60405161014991906116ad565b60405180910390f35b61016c600480360381019061016791906116f4565b610476565b005b61018860048036038101906101839190611734565b61058d565b005b6101a4600480360381019061019f9190611734565b6105ed565b005b6101c060048036038101906101bb919061163f565b61060d565b6040516101cd91906116ad565b60405180910390f35b6101f060048036038101906101eb9190611787565b610693565b6040516101fd91906117c3565b60405180910390f35b61020e61074a565b60405161021b91906115e7565b60405180910390f35b61023e6004803603810190610239919061180a565b6107dc565b005b61025a6004803603810190610255919061197f565b6107f2565b005b6102766004803603810190610271919061163f565b610854565b60405161028391906115e7565b60405180910390f35b6102a660048036038101906102a19190611a02565b6108bc565b6040516102b3919061153c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611a71565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611a71565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611b14565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611ba6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611c38565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611ca4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611d36565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611a71565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611a71565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611c38565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611d92565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611ca4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611eba565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611e28565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f8383836001611185565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611f26565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061153c565b60405180910390a3505050565b611008848484610b5b565b6110148484848461118b565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90611fb8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611312565b01905060008167ffffffffffffffff81111561109e5761109d611854565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161112757611126611fd8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006111ac8473ffffffffffffffffffffffffffffffffffffffff16611465565b15611305578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026111d5610a05565b8786866040518563ffffffff1660e01b81526004016111f7949392919061205c565b6020604051808303816000875af192505050801561123357506040513d601f19601f8201168201806040525081019061123091906120bd565b60015b6112b5573d8060008114611263576040519150601f19603f3d011682016040523d82523d6000602084013e611268565b606091505b5060008151036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490611fb8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061130a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611370577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161136657611365611fd8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106113ad576d04ee2d6d415b85acef810000000083816113a3576113a2611fd8565b5b0492506020810190505b662386f26fc1000083106113dc57662386f26fc1000083816113d2576113d1611fd8565b5b0492506010810190505b6305f5e1008310611405576305f5e10083816113fb576113fa611fd8565b5b0492506008810190505b612710831061142a5761271083816114205761141f611fd8565b5b0492506004810190505b6064831061144d576064838161144357611442611fd8565b5b0492506002810190505b600a831061145c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6114d18161149c565b81146114dc57600080fd5b50565b6000813590506114ee816114c8565b92915050565b60006020828403121561150a57611509611492565b5b6000611518848285016114df565b91505092915050565b60008115159050919050565b61153681611521565b82525050565b6000602082019050611551600083018461152d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611591578082015181840152602081019050611576565b60008484015250505050565b6000601f19601f8301169050919050565b60006115b982611557565b6115c38185611562565b93506115d3818560208601611573565b6115dc8161159d565b840191505092915050565b6000602082019050818103600083015261160181846115ae565b905092915050565b6000819050919050565b61161c81611609565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b60006020828403121561165557611654611492565b5b60006116638482850161162a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116978261166c565b9050919050565b6116a78161168c565b82525050565b60006020820190506116c2600083018461169e565b92915050565b6116d18161168c565b81146116dc57600080fd5b50565b6000813590506116ee816116c8565b92915050565b6000806040838503121561170b5761170a611492565b5b6000611719858286016116df565b925050602061172a8582860161162a565b9150509250929050565b60008060006060848603121561174d5761174c611492565b5b600061175b868287016116df565b935050602061176c868287016116df565b925050604061177d8682870161162a565b9150509250925092565b60006020828403121561179d5761179c611492565b5b60006117ab848285016116df565b91505092915050565b6117bd81611609565b82525050565b60006020820190506117d860008301846117b4565b92915050565b6117e781611521565b81146117f257600080fd5b50565b600081359050611804816117de565b92915050565b6000806040838503121561182157611820611492565b5b600061182f858286016116df565b9250506020611840858286016117f5565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61188c8261159d565b810181811067ffffffffffffffff821117156118ab576118aa611854565b5b80604052505050565b60006118be611488565b90506118ca8282611883565b919050565b600067ffffffffffffffff8211156118ea576118e9611854565b5b6118f38261159d565b9050602081019050919050565b82818337600083830152505050565b600061192261191d846118cf565b6118b4565b90508281526020810184848401111561193e5761193d61184f565b5b611949848285611900565b509392505050565b600082601f8301126119665761196561184a565b5b813561197684826020860161190f565b91505092915050565b6000806000806080858703121561199957611998611492565b5b60006119a7878288016116df565b94505060206119b8878288016116df565b93505060406119c98782880161162a565b925050606085013567ffffffffffffffff8111156119ea576119e9611497565b5b6119f687828801611951565b91505092959194509250565b60008060408385031215611a1957611a18611492565b5b6000611a27858286016116df565b9250506020611a38858286016116df565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8957607f821691505b602082108103611a9c57611a9b611a42565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611afe602183611562565b9150611b0982611aa2565b604082019050919050565b60006020820190508181036000830152611b2d81611af1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611b90603d83611562565b9150611b9b82611b34565b604082019050919050565b60006020820190508181036000830152611bbf81611b83565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611c22602d83611562565b9150611c2d82611bc6565b604082019050919050565b60006020820190508181036000830152611c5181611c15565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611c8e601883611562565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611d20602983611562565b9150611d2b82611cc4565b604082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b6000611d6c82611557565b611d768185611d56565b9350611d86818560208601611573565b80840191505092915050565b6000611d9e8285611d61565b9150611daa8284611d61565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611e12602583611562565b9150611e1d82611db6565b604082019050919050565b60006020820190508181036000830152611e4181611e05565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea4602483611562565b9150611eaf82611e48565b604082019050919050565b60006020820190508181036000830152611ed381611e97565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611f10601983611562565b9150611f1b82611eda565b602082019050919050565b60006020820190508181036000830152611f3f81611f03565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611fa2603283611562565b9150611fad82611f46565b604082019050919050565b60006020820190508181036000830152611fd181611f95565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b600061202e82612007565b6120388185612012565b9350612048818560208601611573565b6120518161159d565b840191505092915050565b6000608082019050612071600083018761169e565b61207e602083018661169e565b61208b60408301856117b4565b818103606083015261209d8184612023565b905095945050505050565b6000815190506120b7816114c8565b92915050565b6000602082840312156120d3576120d2611492565b5b60006120e1848285016120a8565b9150509291505056fea26469706673582212208187a433705b7db01eeb53df512e7e78c9604dae90bbae3f8281a0f9013dd7f364736f6c63430008190033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x224 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x25C JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x28C JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x206 JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x122 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x18A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x14F4 JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10C PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x119 SWAP2 SWAP1 PUSH2 0x15E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST PUSH2 0x430 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0x16AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0x16F4 JUMP JUMPDEST PUSH2 0x476 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x1734 JUMP JUMPDEST PUSH2 0x58D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19F SWAP2 SWAP1 PUSH2 0x1734 JUMP JUMPDEST PUSH2 0x5ED JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1BB SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST PUSH2 0x60D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x16AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EB SWAP2 SWAP1 PUSH2 0x1787 JUMP JUMPDEST PUSH2 0x693 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FD SWAP2 SWAP1 PUSH2 0x17C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20E PUSH2 0x74A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21B SWAP2 SWAP1 PUSH2 0x15E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x239 SWAP2 SWAP1 PUSH2 0x180A JUMP JUMPDEST PUSH2 0x7DC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x25A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x197F JUMP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x276 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x271 SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x283 SWAP2 SWAP1 PUSH2 0x15E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A1 SWAP2 SWAP1 PUSH2 0x1A02 JUMP JUMPDEST PUSH2 0x8BC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B3 SWAP2 SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH32 0x80AC58CD00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x387 JUMPI POP PUSH32 0x5B5E139F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x397 JUMPI POP PUSH2 0x396 DUP3 PUSH2 0x950 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x3AD SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3D9 SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x426 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x426 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x409 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43B DUP3 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x481 DUP3 PUSH2 0x60D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x4F1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4E8 SWAP1 PUSH2 0x1B14 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x510 PUSH2 0xA05 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x53F JUMPI POP PUSH2 0x53E DUP2 PUSH2 0x539 PUSH2 0xA05 JUMP JUMPDEST PUSH2 0x8BC JUMP JUMPDEST JUMPDEST PUSH2 0x57E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x575 SWAP1 PUSH2 0x1BA6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x588 DUP4 DUP4 PUSH2 0xA0D JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x59E PUSH2 0x598 PUSH2 0xA05 JUMP JUMPDEST DUP3 PUSH2 0xAC6 JUMP JUMPDEST PUSH2 0x5DD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D4 SWAP1 PUSH2 0x1C38 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5E8 DUP4 DUP4 DUP4 PUSH2 0xB5B JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x608 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x7F2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x619 DUP4 PUSH2 0xE54 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x68A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x681 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6FA SWAP1 PUSH2 0x1D36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x759 SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x785 SWAP1 PUSH2 0x1A71 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7D2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7A7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7D2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x7B5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x7EE PUSH2 0x7E7 PUSH2 0xA05 JUMP JUMPDEST DUP4 DUP4 PUSH2 0xE91 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x803 PUSH2 0x7FD PUSH2 0xA05 JUMP JUMPDEST DUP4 PUSH2 0xAC6 JUMP JUMPDEST PUSH2 0x842 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x839 SWAP1 PUSH2 0x1C38 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x84E DUP5 DUP5 DUP5 DUP5 PUSH2 0xFFD JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x85F DUP3 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x869 PUSH2 0x1059 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x889 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x8B4 JUMP JUMPDEST DUP1 PUSH2 0x893 DUP5 PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8A4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9C3 DUP2 PUSH2 0x113E JUMP JUMPDEST PUSH2 0xA02 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9F9 SWAP1 PUSH2 0x1CA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xA80 DUP4 PUSH2 0x60D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAD2 DUP4 PUSH2 0x60D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0xB14 JUMPI POP PUSH2 0xB13 DUP2 DUP6 PUSH2 0x8BC JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0xB52 JUMPI POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB3A DUP5 PUSH2 0x430 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB7B DUP3 PUSH2 0x60D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBD1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBC8 SWAP1 PUSH2 0x1E28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xC40 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC37 SWAP1 PUSH2 0x1EBA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC4D DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x117F JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC6D DUP3 PUSH2 0x60D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xCC3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCBA SWAP1 PUSH2 0x1E28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0xE4F DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1185 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xEFF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEF6 SWAP1 PUSH2 0x1F26 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 DUP4 PUSH1 0x40 MLOAD PUSH2 0xFF0 SWAP2 SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1008 DUP5 DUP5 DUP5 PUSH2 0xB5B JUMP JUMPDEST PUSH2 0x1014 DUP5 DUP5 DUP5 DUP5 PUSH2 0x118B JUMP JUMPDEST PUSH2 0x1053 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x104A SWAP1 PUSH2 0x1FB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x1 PUSH2 0x107F DUP5 PUSH2 0x1312 JUMP JUMPDEST ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x109E JUMPI PUSH2 0x109D PUSH2 0x1854 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x10D0 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x1133 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x1127 JUMPI PUSH2 0x1126 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH1 0x0 DUP6 SUB PUSH2 0x10DE JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1160 DUP4 PUSH2 0xE54 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11AC DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1465 JUMP JUMPDEST ISZERO PUSH2 0x1305 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x150B7A02 PUSH2 0x11D5 PUSH2 0xA05 JUMP JUMPDEST DUP8 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11F7 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x205C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1233 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1230 SWAP2 SWAP1 PUSH2 0x20BD JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x12B5 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1263 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1268 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x12AD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12A4 SWAP1 PUSH2 0x1FB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0x150B7A02 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP2 POP POP PUSH2 0x130A JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x1370 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x1366 JUMPI PUSH2 0x1365 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x13AD JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x13A3 JUMPI PUSH2 0x13A2 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x13DC JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x13D2 JUMPI PUSH2 0x13D1 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x1405 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x13FB JUMPI PUSH2 0x13FA PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x142A JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x1420 JUMPI PUSH2 0x141F PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x144D JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x1443 JUMPI PUSH2 0x1442 PUSH2 0x1FD8 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x145C JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14D1 DUP2 PUSH2 0x149C JUMP JUMPDEST DUP2 EQ PUSH2 0x14DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14EE DUP2 PUSH2 0x14C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x150A JUMPI PUSH2 0x1509 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP5 DUP3 DUP6 ADD PUSH2 0x14DF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1536 DUP2 PUSH2 0x1521 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1551 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x152D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1591 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1576 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B9 DUP3 PUSH2 0x1557 JUMP JUMPDEST PUSH2 0x15C3 DUP2 DUP6 PUSH2 0x1562 JUMP JUMPDEST SWAP4 POP PUSH2 0x15D3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1573 JUMP JUMPDEST PUSH2 0x15DC DUP2 PUSH2 0x159D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1601 DUP2 DUP5 PUSH2 0x15AE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x161C DUP2 PUSH2 0x1609 JUMP JUMPDEST DUP2 EQ PUSH2 0x1627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1639 DUP2 PUSH2 0x1613 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1655 JUMPI PUSH2 0x1654 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1663 DUP5 DUP3 DUP6 ADD PUSH2 0x162A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1697 DUP3 PUSH2 0x166C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16A7 DUP2 PUSH2 0x168C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x16C2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x169E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x16D1 DUP2 PUSH2 0x168C JUMP JUMPDEST DUP2 EQ PUSH2 0x16DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16EE DUP2 PUSH2 0x16C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x170B JUMPI PUSH2 0x170A PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1719 DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x172A DUP6 DUP3 DUP7 ADD PUSH2 0x162A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x174D JUMPI PUSH2 0x174C PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x175B DUP7 DUP3 DUP8 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x176C DUP7 DUP3 DUP8 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x177D DUP7 DUP3 DUP8 ADD PUSH2 0x162A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x179D JUMPI PUSH2 0x179C PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17AB DUP5 DUP3 DUP6 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17BD DUP2 PUSH2 0x1609 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17D8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17E7 DUP2 PUSH2 0x1521 JUMP JUMPDEST DUP2 EQ PUSH2 0x17F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1804 DUP2 PUSH2 0x17DE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1821 JUMPI PUSH2 0x1820 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x182F DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1840 DUP6 DUP3 DUP7 ADD PUSH2 0x17F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x188C DUP3 PUSH2 0x159D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x18AB JUMPI PUSH2 0x18AA PUSH2 0x1854 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18BE PUSH2 0x1488 JUMP JUMPDEST SWAP1 POP PUSH2 0x18CA DUP3 DUP3 PUSH2 0x1883 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x18EA JUMPI PUSH2 0x18E9 PUSH2 0x1854 JUMP JUMPDEST JUMPDEST PUSH2 0x18F3 DUP3 PUSH2 0x159D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1922 PUSH2 0x191D DUP5 PUSH2 0x18CF JUMP JUMPDEST PUSH2 0x18B4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x193E JUMPI PUSH2 0x193D PUSH2 0x184F JUMP JUMPDEST JUMPDEST PUSH2 0x1949 DUP5 DUP3 DUP6 PUSH2 0x1900 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1966 JUMPI PUSH2 0x1965 PUSH2 0x184A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1976 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x190F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1999 JUMPI PUSH2 0x1998 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19A7 DUP8 DUP3 DUP9 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x19B8 DUP8 DUP3 DUP9 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x19C9 DUP8 DUP3 DUP9 ADD PUSH2 0x162A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x19EA JUMPI PUSH2 0x19E9 PUSH2 0x1497 JUMP JUMPDEST JUMPDEST PUSH2 0x19F6 DUP8 DUP3 DUP9 ADD PUSH2 0x1951 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A19 JUMPI PUSH2 0x1A18 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A27 DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1A38 DUP6 DUP3 DUP7 ADD PUSH2 0x16DF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1A89 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1A9C JUMPI PUSH2 0x1A9B PUSH2 0x1A42 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AFE PUSH1 0x21 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B09 DUP3 PUSH2 0x1AA2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1B2D DUP2 PUSH2 0x1AF1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B90 PUSH1 0x3D DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B9B DUP3 PUSH2 0x1B34 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1BBF DUP2 PUSH2 0x1B83 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x72206F7220617070726F76656400000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C22 PUSH1 0x2D DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C2D DUP3 PUSH2 0x1BC6 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1C51 DUP2 PUSH2 0x1C15 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20696E76616C696420746F6B656E2049440000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C8E PUSH1 0x18 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C99 DUP3 PUSH2 0x1C58 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1CBD DUP2 PUSH2 0x1C81 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C6964206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D20 PUSH1 0x29 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D2B DUP3 PUSH2 0x1CC4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D4F DUP2 PUSH2 0x1D13 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D6C DUP3 PUSH2 0x1557 JUMP JUMPDEST PUSH2 0x1D76 DUP2 DUP6 PUSH2 0x1D56 JUMP JUMPDEST SWAP4 POP PUSH2 0x1D86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1573 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D9E DUP3 DUP6 PUSH2 0x1D61 JUMP JUMPDEST SWAP2 POP PUSH2 0x1DAA DUP3 DUP5 PUSH2 0x1D61 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F776E6572000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E12 PUSH1 0x25 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E1D DUP3 PUSH2 0x1DB6 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E41 DUP2 PUSH2 0x1E05 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA4 PUSH1 0x24 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EAF DUP3 PUSH2 0x1E48 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1ED3 DUP2 PUSH2 0x1E97 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F10 PUSH1 0x19 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F1B DUP3 PUSH2 0x1EDA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F3F DUP2 PUSH2 0x1F03 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63656976657220696D706C656D656E7465720000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA2 PUSH1 0x32 DUP4 PUSH2 0x1562 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FAD DUP3 PUSH2 0x1F46 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1FD1 DUP2 PUSH2 0x1F95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x202E DUP3 PUSH2 0x2007 JUMP JUMPDEST PUSH2 0x2038 DUP2 DUP6 PUSH2 0x2012 JUMP JUMPDEST SWAP4 POP PUSH2 0x2048 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1573 JUMP JUMPDEST PUSH2 0x2051 DUP2 PUSH2 0x159D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x2071 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x169E JUMP JUMPDEST PUSH2 0x207E PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x169E JUMP JUMPDEST PUSH2 0x208B PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x17B4 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x209D DUP2 DUP5 PUSH2 0x2023 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x20B7 DUP2 PUSH2 0x14C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D3 JUMPI PUSH2 0x20D2 PUSH2 0x1492 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x20E1 DUP5 DUP3 DUP6 ADD PUSH2 0x20A8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP2 DUP8 LOG4 CALLER PUSH17 0x5B7DB01EEB53DF512E7E78C9604DAE90BB 0xAE EXTCODEHASH DUP3 DUP2 LOG0 0xF9 ADD RETURNDATASIZE 0xD7 RETURN PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "628:16377:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2801;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1570:300;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;2190:219::-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;:8;:10::i;:::-;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;;;2801:276;;;:::o;4388:162::-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;829:155:7:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13240:133:0:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;655:96:5:-;708:7;734:10;727:17;;655:96;:::o;12572:171:0:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;3319:92::-;3370:13;3395:9;;;;;;;;;;;;;;3319:92;:::o;447:696:6:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;7120:126:0:-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;15472:116::-;;;;;:::o;16294:115::-;;;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;10139:916:9:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;1412:320:4:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;7:75:12:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:248::-;1880:1;1890:113;1904:6;1901:1;1898:13;1890:113;;;1989:1;1984:3;1980:11;1974:18;1970:1;1965:3;1961:11;1954:39;1926:2;1923:1;1919:10;1914:15;;1890:113;;;2037:1;2028:6;2023:3;2019:16;2012:27;1860:186;1798:248;;;:::o;2052:102::-;2093:6;2144:2;2140:7;2135:2;2128:5;2124:14;2120:28;2110:38;;2052:102;;;:::o;2160:377::-;2248:3;2276:39;2309:5;2276:39;:::i;:::-;2331:71;2395:6;2390:3;2331:71;:::i;:::-;2324:78;;2411:65;2469:6;2464:3;2457:4;2450:5;2446:16;2411:65;:::i;:::-;2501:29;2523:6;2501:29;:::i;:::-;2496:3;2492:39;2485:46;;2252:285;2160:377;;;;:::o;2543:313::-;2656:4;2694:2;2683:9;2679:18;2671:26;;2743:9;2737:4;2733:20;2729:1;2718:9;2714:17;2707:47;2771:78;2844:4;2835:6;2771:78;:::i;:::-;2763:86;;2543:313;;;;:::o;2862:77::-;2899:7;2928:5;2917:16;;2862:77;;;:::o;2945:122::-;3018:24;3036:5;3018:24;:::i;:::-;3011:5;3008:35;2998:63;;3057:1;3054;3047:12;2998:63;2945:122;:::o;3073:139::-;3119:5;3157:6;3144:20;3135:29;;3173:33;3200:5;3173:33;:::i;:::-;3073:139;;;;:::o;3218:329::-;3277:6;3326:2;3314:9;3305:7;3301:23;3297:32;3294:119;;;3332:79;;:::i;:::-;3294:119;3452:1;3477:53;3522:7;3513:6;3502:9;3498:22;3477:53;:::i;:::-;3467:63;;3423:117;3218:329;;;;:::o;3553:126::-;3590:7;3630:42;3623:5;3619:54;3608:65;;3553:126;;;:::o;3685:96::-;3722:7;3751:24;3769:5;3751:24;:::i;:::-;3740:35;;3685:96;;;:::o;3787:118::-;3874:24;3892:5;3874:24;:::i;:::-;3869:3;3862:37;3787:118;;:::o;3911:222::-;4004:4;4042:2;4031:9;4027:18;4019:26;;4055:71;4123:1;4112:9;4108:17;4099:6;4055:71;:::i;:::-;3911:222;;;;:::o;4139:122::-;4212:24;4230:5;4212:24;:::i;:::-;4205:5;4202:35;4192:63;;4251:1;4248;4241:12;4192:63;4139:122;:::o;4267:139::-;4313:5;4351:6;4338:20;4329:29;;4367:33;4394:5;4367:33;:::i;:::-;4267:139;;;;:::o;4412:474::-;4480:6;4488;4537:2;4525:9;4516:7;4512:23;4508:32;4505:119;;;4543:79;;:::i;:::-;4505:119;4663:1;4688:53;4733:7;4724:6;4713:9;4709:22;4688:53;:::i;:::-;4678:63;;4634:117;4790:2;4816:53;4861:7;4852:6;4841:9;4837:22;4816:53;:::i;:::-;4806:63;;4761:118;4412:474;;;;;:::o;4892:619::-;4969:6;4977;4985;5034:2;5022:9;5013:7;5009:23;5005:32;5002:119;;;5040:79;;:::i;:::-;5002:119;5160:1;5185:53;5230:7;5221:6;5210:9;5206:22;5185:53;:::i;:::-;5175:63;;5131:117;5287:2;5313:53;5358:7;5349:6;5338:9;5334:22;5313:53;:::i;:::-;5303:63;;5258:118;5415:2;5441:53;5486:7;5477:6;5466:9;5462:22;5441:53;:::i;:::-;5431:63;;5386:118;4892:619;;;;;:::o;5517:329::-;5576:6;5625:2;5613:9;5604:7;5600:23;5596:32;5593:119;;;5631:79;;:::i;:::-;5593:119;5751:1;5776:53;5821:7;5812:6;5801:9;5797:22;5776:53;:::i;:::-;5766:63;;5722:117;5517:329;;;;:::o;5852:118::-;5939:24;5957:5;5939:24;:::i;:::-;5934:3;5927:37;5852:118;;:::o;5976:222::-;6069:4;6107:2;6096:9;6092:18;6084:26;;6120:71;6188:1;6177:9;6173:17;6164:6;6120:71;:::i;:::-;5976:222;;;;:::o;6204:116::-;6274:21;6289:5;6274:21;:::i;:::-;6267:5;6264:32;6254:60;;6310:1;6307;6300:12;6254:60;6204:116;:::o;6326:133::-;6369:5;6407:6;6394:20;6385:29;;6423:30;6447:5;6423:30;:::i;:::-;6326:133;;;;:::o;6465:468::-;6530:6;6538;6587:2;6575:9;6566:7;6562:23;6558:32;6555:119;;;6593:79;;:::i;:::-;6555:119;6713:1;6738:53;6783:7;6774:6;6763:9;6759:22;6738:53;:::i;:::-;6728:63;;6684:117;6840:2;6866:50;6908:7;6899:6;6888:9;6884:22;6866:50;:::i;:::-;6856:60;;6811:115;6465:468;;;;;:::o;6939:117::-;7048:1;7045;7038:12;7062:117;7171:1;7168;7161:12;7185:180;7233:77;7230:1;7223:88;7330:4;7327:1;7320:15;7354:4;7351:1;7344:15;7371:281;7454:27;7476:4;7454:27;:::i;:::-;7446:6;7442:40;7584:6;7572:10;7569:22;7548:18;7536:10;7533:34;7530:62;7527:88;;;7595:18;;:::i;:::-;7527:88;7635:10;7631:2;7624:22;7414:238;7371:281;;:::o;7658:129::-;7692:6;7719:20;;:::i;:::-;7709:30;;7748:33;7776:4;7768:6;7748:33;:::i;:::-;7658:129;;;:::o;7793:307::-;7854:4;7944:18;7936:6;7933:30;7930:56;;;7966:18;;:::i;:::-;7930:56;8004:29;8026:6;8004:29;:::i;:::-;7996:37;;8088:4;8082;8078:15;8070:23;;7793:307;;;:::o;8106:148::-;8204:6;8199:3;8194;8181:30;8245:1;8236:6;8231:3;8227:16;8220:27;8106:148;;;:::o;8260:423::-;8337:5;8362:65;8378:48;8419:6;8378:48;:::i;:::-;8362:65;:::i;:::-;8353:74;;8450:6;8443:5;8436:21;8488:4;8481:5;8477:16;8526:3;8517:6;8512:3;8508:16;8505:25;8502:112;;;8533:79;;:::i;:::-;8502:112;8623:54;8670:6;8665:3;8660;8623:54;:::i;:::-;8343:340;8260:423;;;;;:::o;8702:338::-;8757:5;8806:3;8799:4;8791:6;8787:17;8783:27;8773:122;;8814:79;;:::i;:::-;8773:122;8931:6;8918:20;8956:78;9030:3;9022:6;9015:4;9007:6;9003:17;8956:78;:::i;:::-;8947:87;;8763:277;8702:338;;;;:::o;9046:943::-;9141:6;9149;9157;9165;9214:3;9202:9;9193:7;9189:23;9185:33;9182:120;;;9221:79;;:::i;:::-;9182:120;9341:1;9366:53;9411:7;9402:6;9391:9;9387:22;9366:53;:::i;:::-;9356:63;;9312:117;9468:2;9494:53;9539:7;9530:6;9519:9;9515:22;9494:53;:::i;:::-;9484:63;;9439:118;9596:2;9622:53;9667:7;9658:6;9647:9;9643:22;9622:53;:::i;:::-;9612:63;;9567:118;9752:2;9741:9;9737:18;9724:32;9783:18;9775:6;9772:30;9769:117;;;9805:79;;:::i;:::-;9769:117;9910:62;9964:7;9955:6;9944:9;9940:22;9910:62;:::i;:::-;9900:72;;9695:287;9046:943;;;;;;;:::o;9995:474::-;10063:6;10071;10120:2;10108:9;10099:7;10095:23;10091:32;10088:119;;;10126:79;;:::i;:::-;10088:119;10246:1;10271:53;10316:7;10307:6;10296:9;10292:22;10271:53;:::i;:::-;10261:63;;10217:117;10373:2;10399:53;10444:7;10435:6;10424:9;10420:22;10399:53;:::i;:::-;10389:63;;10344:118;9995:474;;;;;:::o;10475:180::-;10523:77;10520:1;10513:88;10620:4;10617:1;10610:15;10644:4;10641:1;10634:15;10661:320;10705:6;10742:1;10736:4;10732:12;10722:22;;10789:1;10783:4;10779:12;10810:18;10800:81;;10866:4;10858:6;10854:17;10844:27;;10800:81;10928:2;10920:6;10917:14;10897:18;10894:38;10891:84;;10947:18;;:::i;:::-;10891:84;10712:269;10661:320;;;:::o;10987:220::-;11127:34;11123:1;11115:6;11111:14;11104:58;11196:3;11191:2;11183:6;11179:15;11172:28;10987:220;:::o;11213:366::-;11355:3;11376:67;11440:2;11435:3;11376:67;:::i;:::-;11369:74;;11452:93;11541:3;11452:93;:::i;:::-;11570:2;11565:3;11561:12;11554:19;;11213:366;;;:::o;11585:419::-;11751:4;11789:2;11778:9;11774:18;11766:26;;11838:9;11832:4;11828:20;11824:1;11813:9;11809:17;11802:47;11866:131;11992:4;11866:131;:::i;:::-;11858:139;;11585:419;;;:::o;12010:248::-;12150:34;12146:1;12138:6;12134:14;12127:58;12219:31;12214:2;12206:6;12202:15;12195:56;12010:248;:::o;12264:366::-;12406:3;12427:67;12491:2;12486:3;12427:67;:::i;:::-;12420:74;;12503:93;12592:3;12503:93;:::i;:::-;12621:2;12616:3;12612:12;12605:19;;12264:366;;;:::o;12636:419::-;12802:4;12840:2;12829:9;12825:18;12817:26;;12889:9;12883:4;12879:20;12875:1;12864:9;12860:17;12853:47;12917:131;13043:4;12917:131;:::i;:::-;12909:139;;12636:419;;;:::o;13061:232::-;13201:34;13197:1;13189:6;13185:14;13178:58;13270:15;13265:2;13257:6;13253:15;13246:40;13061:232;:::o;13299:366::-;13441:3;13462:67;13526:2;13521:3;13462:67;:::i;:::-;13455:74;;13538:93;13627:3;13538:93;:::i;:::-;13656:2;13651:3;13647:12;13640:19;;13299:366;;;:::o;13671:419::-;13837:4;13875:2;13864:9;13860:18;13852:26;;13924:9;13918:4;13914:20;13910:1;13899:9;13895:17;13888:47;13952:131;14078:4;13952:131;:::i;:::-;13944:139;;13671:419;;;:::o;14096:174::-;14236:26;14232:1;14224:6;14220:14;14213:50;14096:174;:::o;14276:366::-;14418:3;14439:67;14503:2;14498:3;14439:67;:::i;:::-;14432:74;;14515:93;14604:3;14515:93;:::i;:::-;14633:2;14628:3;14624:12;14617:19;;14276:366;;;:::o;14648:419::-;14814:4;14852:2;14841:9;14837:18;14829:26;;14901:9;14895:4;14891:20;14887:1;14876:9;14872:17;14865:47;14929:131;15055:4;14929:131;:::i;:::-;14921:139;;14648:419;;;:::o;15073:228::-;15213:34;15209:1;15201:6;15197:14;15190:58;15282:11;15277:2;15269:6;15265:15;15258:36;15073:228;:::o;15307:366::-;15449:3;15470:67;15534:2;15529:3;15470:67;:::i;:::-;15463:74;;15546:93;15635:3;15546:93;:::i;:::-;15664:2;15659:3;15655:12;15648:19;;15307:366;;;:::o;15679:419::-;15845:4;15883:2;15872:9;15868:18;15860:26;;15932:9;15926:4;15922:20;15918:1;15907:9;15903:17;15896:47;15960:131;16086:4;15960:131;:::i;:::-;15952:139;;15679:419;;;:::o;16104:148::-;16206:11;16243:3;16228:18;;16104:148;;;;:::o;16258:390::-;16364:3;16392:39;16425:5;16392:39;:::i;:::-;16447:89;16529:6;16524:3;16447:89;:::i;:::-;16440:96;;16545:65;16603:6;16598:3;16591:4;16584:5;16580:16;16545:65;:::i;:::-;16635:6;16630:3;16626:16;16619:23;;16368:280;16258:390;;;;:::o;16654:435::-;16834:3;16856:95;16947:3;16938:6;16856:95;:::i;:::-;16849:102;;16968:95;17059:3;17050:6;16968:95;:::i;:::-;16961:102;;17080:3;17073:10;;16654:435;;;;;:::o;17095:224::-;17235:34;17231:1;17223:6;17219:14;17212:58;17304:7;17299:2;17291:6;17287:15;17280:32;17095:224;:::o;17325:366::-;17467:3;17488:67;17552:2;17547:3;17488:67;:::i;:::-;17481:74;;17564:93;17653:3;17564:93;:::i;:::-;17682:2;17677:3;17673:12;17666:19;;17325:366;;;:::o;17697:419::-;17863:4;17901:2;17890:9;17886:18;17878:26;;17950:9;17944:4;17940:20;17936:1;17925:9;17921:17;17914:47;17978:131;18104:4;17978:131;:::i;:::-;17970:139;;17697:419;;;:::o;18122:223::-;18262:34;18258:1;18250:6;18246:14;18239:58;18331:6;18326:2;18318:6;18314:15;18307:31;18122:223;:::o;18351:366::-;18493:3;18514:67;18578:2;18573:3;18514:67;:::i;:::-;18507:74;;18590:93;18679:3;18590:93;:::i;:::-;18708:2;18703:3;18699:12;18692:19;;18351:366;;;:::o;18723:419::-;18889:4;18927:2;18916:9;18912:18;18904:26;;18976:9;18970:4;18966:20;18962:1;18951:9;18947:17;18940:47;19004:131;19130:4;19004:131;:::i;:::-;18996:139;;18723:419;;;:::o;19148:175::-;19288:27;19284:1;19276:6;19272:14;19265:51;19148:175;:::o;19329:366::-;19471:3;19492:67;19556:2;19551:3;19492:67;:::i;:::-;19485:74;;19568:93;19657:3;19568:93;:::i;:::-;19686:2;19681:3;19677:12;19670:19;;19329:366;;;:::o;19701:419::-;19867:4;19905:2;19894:9;19890:18;19882:26;;19954:9;19948:4;19944:20;19940:1;19929:9;19925:17;19918:47;19982:131;20108:4;19982:131;:::i;:::-;19974:139;;19701:419;;;:::o;20126:237::-;20266:34;20262:1;20254:6;20250:14;20243:58;20335:20;20330:2;20322:6;20318:15;20311:45;20126:237;:::o;20369:366::-;20511:3;20532:67;20596:2;20591:3;20532:67;:::i;:::-;20525:74;;20608:93;20697:3;20608:93;:::i;:::-;20726:2;20721:3;20717:12;20710:19;;20369:366;;;:::o;20741:419::-;20907:4;20945:2;20934:9;20930:18;20922:26;;20994:9;20988:4;20984:20;20980:1;20969:9;20965:17;20958:47;21022:131;21148:4;21022:131;:::i;:::-;21014:139;;20741:419;;;:::o;21166:180::-;21214:77;21211:1;21204:88;21311:4;21308:1;21301:15;21335:4;21332:1;21325:15;21352:98;21403:6;21437:5;21431:12;21421:22;;21352:98;;;:::o;21456:168::-;21539:11;21573:6;21568:3;21561:19;21613:4;21608:3;21604:14;21589:29;;21456:168;;;;:::o;21630:373::-;21716:3;21744:38;21776:5;21744:38;:::i;:::-;21798:70;21861:6;21856:3;21798:70;:::i;:::-;21791:77;;21877:65;21935:6;21930:3;21923:4;21916:5;21912:16;21877:65;:::i;:::-;21967:29;21989:6;21967:29;:::i;:::-;21962:3;21958:39;21951:46;;21720:283;21630:373;;;;:::o;22009:640::-;22204:4;22242:3;22231:9;22227:19;22219:27;;22256:71;22324:1;22313:9;22309:17;22300:6;22256:71;:::i;:::-;22337:72;22405:2;22394:9;22390:18;22381:6;22337:72;:::i;:::-;22419;22487:2;22476:9;22472:18;22463:6;22419:72;:::i;:::-;22538:9;22532:4;22528:20;22523:2;22512:9;22508:18;22501:48;22566:76;22637:4;22628:6;22566:76;:::i;:::-;22558:84;;22009:640;;;;;;;:::o;22655:141::-;22711:5;22742:6;22736:13;22727:22;;22758:32;22784:5;22758:32;:::i;:::-;22655:141;;;;:::o;22802:349::-;22871:6;22920:2;22908:9;22899:7;22895:23;22891:32;22888:119;;;22926:79;;:::i;:::-;22888:119;23046:1;23071:63;23126:7;23117:6;23106:9;23102:22;23071:63;:::i;:::-;23061:73;;23017:127;22802:349;;;;:::o" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "IERC721": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { + "IERC721Receiver": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "onERC721Received(address,address,uint256,bytes)": "150b7a02" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "IERC721Metadata": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Address.sol": { + "Address": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203abc4c91783600f43b20051ac9e406300d8d10f8d0d9f4def01a983a9fcfea2064736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xBC 0x4C SWAP2 PUSH25 0x3600F43B20051AC9E406300D8D10F8D0D9F4DEF01A983A9FCF 0xEA KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "194:9169:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203abc4c91783600f43b20051ac9e406300d8d10f8d0d9f4def01a983a9fcfea2064736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xBC 0x4C SWAP2 PUSH25 0x3600F43B20051AC9E406300D8D10F8D0D9F4DEF01A983A9FCF 0xEA KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "194:9169:4:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Context.sol": { + "Context": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "Strings": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122044ede94d1e86e8d04faecb3f827c825973b47fb4051d3c19f22894325c14196764736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PREVRANDAO 0xED 0xE9 0x4D 0x1E DUP7 0xE8 0xD0 0x4F 0xAE 0xCB EXTCODEHASH DUP3 PUSH29 0x825973B47FB4051D3C19F22894325C14196764736F6C63430008190033 ", + "sourceMap": "220:2559:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122044ede94d1e86e8d04faecb3f827c825973b47fb4051d3c19f22894325c14196764736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PREVRANDAO 0xED 0xE9 0x4D 0x1E DUP7 0xE8 0xD0 0x4F 0xAE 0xCB EXTCODEHASH DUP3 PUSH29 0x825973B47FB4051D3C19F22894325C14196764736F6C63430008190033 ", + "sourceMap": "220:2559:6:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"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 ERC165 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); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "IERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"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 ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. 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[EIP 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\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "Math": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f44788f868e29ca9348fceac2c2df9eacba19104f092bf520542d13acfef419d64736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL SELFBALANCE DUP9 0xF8 PUSH9 0xE29CA9348FCEAC2C2D 0xF9 0xEA 0xCB LOG1 SWAP2 DIV CREATE SWAP3 0xBF MSTORE SDIV TIMESTAMP 0xD1 GASPRICE 0xCF 0xEF COINBASE SWAP14 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "202:12582:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f44788f868e29ca9348fceac2c2df9eacba19104f092bf520542d13acfef419d64736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL SELFBALANCE DUP9 0xF8 PUSH9 0xE29CA9348FCEAC2C2D 0xF9 0xEA 0xCB LOG1 SWAP2 DIV CREATE SWAP3 0xBF MSTORE SDIV TIMESTAMP 0xD1 GASPRICE 0xCF 0xEF COINBASE SWAP14 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "202:12582:9:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "SignedMath": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203c73af559da24e788e96b7fc99a3832f49220aa5ab578a6bdc455388f72ed8cd64736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODECOPY PUSH20 0xAF559DA24E788E96B7FC99A3832F49220AA5AB57 DUP11 PUSH12 0xDC455388F72ED8CD64736F6C PUSH4 0x43000819 STOP CALLER ", + "sourceMap": "215:1047:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203c73af559da24e788e96b7fc99a3832f49220aa5ab578a6bdc455388f72ed8cd64736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODECOPY PUSH20 0xAF559DA24E788E96B7FC99A3832F49220AA5AB57 DUP11 PUSH12 0xDC455388F72ED8CD64736F6C PUSH4 0x43000819 STOP CALLER ", + "sourceMap": "215:1047:10:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}" + } + }, + "contracts/NFTMock.sol": { + "NFTMock": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentTokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_2702": { + "entryPoint": null, + "id": 2702, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_62": { + "entryPoint": null, + "id": 62, + "parameterSlots": 2, + "returnSlots": 0 + }, + "array_dataslot_t_string_storage": { + "entryPoint": 326, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 172, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_t_string_storage": { + "entryPoint": 623, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_t_uint256": { + "entryPoint": 458, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clear_storage_range_t_bytes1": { + "entryPoint": 588, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "convert_t_uint256_to_t_uint256": { + "entryPoint": 478, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 764, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "divide_by_32_ceil": { + "entryPoint": 347, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 277, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": 736, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "identity": { + "entryPoint": 468, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mask_bytes_dynamic": { + "entryPoint": 706, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "panic_error_0x22": { + "entryPoint": 230, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 183, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "prepare_store_t_uint256": { + "entryPoint": 512, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 363, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "shift_right_unsigned_dynamic": { + "entryPoint": 693, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "storage_set_to_zero_t_uint256": { + "entryPoint": 564, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_byte_slice_dynamic32": { + "entryPoint": 376, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "update_storage_value_t_uint256_to_t_uint256": { + "entryPoint": 522, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "zero_value_for_split_t_uint256": { + "entryPoint": 559, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:5231:12", + "nodeType": "YulBlock", + "src": "0:5231:12", + "statements": [ + { + "body": { + "nativeSrc": "66:40:12", + "nodeType": "YulBlock", + "src": "66:40:12", + "statements": [ + { + "nativeSrc": "77:22:12", + "nodeType": "YulAssignment", + "src": "77:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "93:5:12", + "nodeType": "YulIdentifier", + "src": "93:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "87:5:12", + "nodeType": "YulIdentifier", + "src": "87:5:12" + }, + "nativeSrc": "87:12:12", + "nodeType": "YulFunctionCall", + "src": "87:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "77:6:12", + "nodeType": "YulIdentifier", + "src": "77:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "49:5:12", + "nodeType": "YulTypedName", + "src": "49:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "59:6:12", + "nodeType": "YulTypedName", + "src": "59:6:12", + "type": "" + } + ], + "src": "7:99:12" + }, + { + "body": { + "nativeSrc": "140:152:12", + "nodeType": "YulBlock", + "src": "140:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "157:1:12", + "nodeType": "YulLiteral", + "src": "157:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "160:77:12", + "nodeType": "YulLiteral", + "src": "160:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "150:6:12", + "nodeType": "YulIdentifier", + "src": "150:6:12" + }, + "nativeSrc": "150:88:12", + "nodeType": "YulFunctionCall", + "src": "150:88:12" + }, + "nativeSrc": "150:88:12", + "nodeType": "YulExpressionStatement", + "src": "150:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "254:1:12", + "nodeType": "YulLiteral", + "src": "254:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "257:4:12", + "nodeType": "YulLiteral", + "src": "257:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "247:6:12", + "nodeType": "YulIdentifier", + "src": "247:6:12" + }, + "nativeSrc": "247:15:12", + "nodeType": "YulFunctionCall", + "src": "247:15:12" + }, + "nativeSrc": "247:15:12", + "nodeType": "YulExpressionStatement", + "src": "247:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "278:1:12", + "nodeType": "YulLiteral", + "src": "278:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "281:4:12", + "nodeType": "YulLiteral", + "src": "281:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "271:6:12", + "nodeType": "YulIdentifier", + "src": "271:6:12" + }, + "nativeSrc": "271:15:12", + "nodeType": "YulFunctionCall", + "src": "271:15:12" + }, + "nativeSrc": "271:15:12", + "nodeType": "YulExpressionStatement", + "src": "271:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "112:180:12", + "nodeType": "YulFunctionDefinition", + "src": "112:180:12" + }, + { + "body": { + "nativeSrc": "326:152:12", + "nodeType": "YulBlock", + "src": "326:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "343:1:12", + "nodeType": "YulLiteral", + "src": "343:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "346:77:12", + "nodeType": "YulLiteral", + "src": "346:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "336:6:12", + "nodeType": "YulIdentifier", + "src": "336:6:12" + }, + "nativeSrc": "336:88:12", + "nodeType": "YulFunctionCall", + "src": "336:88:12" + }, + "nativeSrc": "336:88:12", + "nodeType": "YulExpressionStatement", + "src": "336:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:12", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "443:4:12", + "nodeType": "YulLiteral", + "src": "443:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "433:6:12", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nativeSrc": "433:15:12", + "nodeType": "YulFunctionCall", + "src": "433:15:12" + }, + "nativeSrc": "433:15:12", + "nodeType": "YulExpressionStatement", + "src": "433:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "464:1:12", + "nodeType": "YulLiteral", + "src": "464:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "467:4:12", + "nodeType": "YulLiteral", + "src": "467:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "457:6:12", + "nodeType": "YulIdentifier", + "src": "457:6:12" + }, + "nativeSrc": "457:15:12", + "nodeType": "YulFunctionCall", + "src": "457:15:12" + }, + "nativeSrc": "457:15:12", + "nodeType": "YulExpressionStatement", + "src": "457:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "298:180:12", + "nodeType": "YulFunctionDefinition", + "src": "298:180:12" + }, + { + "body": { + "nativeSrc": "535:269:12", + "nodeType": "YulBlock", + "src": "535:269:12", + "statements": [ + { + "nativeSrc": "545:22:12", + "nodeType": "YulAssignment", + "src": "545:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "559:4:12", + "nodeType": "YulIdentifier", + "src": "559:4:12" + }, + { + "kind": "number", + "nativeSrc": "565:1:12", + "nodeType": "YulLiteral", + "src": "565:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "555:3:12", + "nodeType": "YulIdentifier", + "src": "555:3:12" + }, + "nativeSrc": "555:12:12", + "nodeType": "YulFunctionCall", + "src": "555:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "545:6:12", + "nodeType": "YulIdentifier", + "src": "545:6:12" + } + ] + }, + { + "nativeSrc": "576:38:12", + "nodeType": "YulVariableDeclaration", + "src": "576:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "606:4:12", + "nodeType": "YulIdentifier", + "src": "606:4:12" + }, + { + "kind": "number", + "nativeSrc": "612:1:12", + "nodeType": "YulLiteral", + "src": "612:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "602:3:12", + "nodeType": "YulIdentifier", + "src": "602:3:12" + }, + "nativeSrc": "602:12:12", + "nodeType": "YulFunctionCall", + "src": "602:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "580:18:12", + "nodeType": "YulTypedName", + "src": "580:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "653:51:12", + "nodeType": "YulBlock", + "src": "653:51:12", + "statements": [ + { + "nativeSrc": "667:27:12", + "nodeType": "YulAssignment", + "src": "667:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "681:6:12", + "nodeType": "YulIdentifier", + "src": "681:6:12" + }, + { + "kind": "number", + "nativeSrc": "689:4:12", + "nodeType": "YulLiteral", + "src": "689:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "677:3:12", + "nodeType": "YulIdentifier", + "src": "677:3:12" + }, + "nativeSrc": "677:17:12", + "nodeType": "YulFunctionCall", + "src": "677:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "667:6:12", + "nodeType": "YulIdentifier", + "src": "667:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "633:18:12", + "nodeType": "YulIdentifier", + "src": "633:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "626:6:12", + "nodeType": "YulIdentifier", + "src": "626:6:12" + }, + "nativeSrc": "626:26:12", + "nodeType": "YulFunctionCall", + "src": "626:26:12" + }, + "nativeSrc": "623:81:12", + "nodeType": "YulIf", + "src": "623:81:12" + }, + { + "body": { + "nativeSrc": "756:42:12", + "nodeType": "YulBlock", + "src": "756:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "770:16:12", + "nodeType": "YulIdentifier", + "src": "770:16:12" + }, + "nativeSrc": "770:18:12", + "nodeType": "YulFunctionCall", + "src": "770:18:12" + }, + "nativeSrc": "770:18:12", + "nodeType": "YulExpressionStatement", + "src": "770:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "720:18:12", + "nodeType": "YulIdentifier", + "src": "720:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "743:6:12", + "nodeType": "YulIdentifier", + "src": "743:6:12" + }, + { + "kind": "number", + "nativeSrc": "751:2:12", + "nodeType": "YulLiteral", + "src": "751:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "740:2:12", + "nodeType": "YulIdentifier", + "src": "740:2:12" + }, + "nativeSrc": "740:14:12", + "nodeType": "YulFunctionCall", + "src": "740:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "717:2:12", + "nodeType": "YulIdentifier", + "src": "717:2:12" + }, + "nativeSrc": "717:38:12", + "nodeType": "YulFunctionCall", + "src": "717:38:12" + }, + "nativeSrc": "714:84:12", + "nodeType": "YulIf", + "src": "714:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "484:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "519:4:12", + "nodeType": "YulTypedName", + "src": "519:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "528:6:12", + "nodeType": "YulTypedName", + "src": "528:6:12", + "type": "" + } + ], + "src": "484:320:12" + }, + { + "body": { + "nativeSrc": "864:87:12", + "nodeType": "YulBlock", + "src": "864:87:12", + "statements": [ + { + "nativeSrc": "874:11:12", + "nodeType": "YulAssignment", + "src": "874:11:12", + "value": { + "name": "ptr", + "nativeSrc": "882:3:12", + "nodeType": "YulIdentifier", + "src": "882:3:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "874:4:12", + "nodeType": "YulIdentifier", + "src": "874:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "902:1:12", + "nodeType": "YulLiteral", + "src": "902:1:12", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "905:3:12", + "nodeType": "YulIdentifier", + "src": "905:3:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "895:6:12", + "nodeType": "YulIdentifier", + "src": "895:6:12" + }, + "nativeSrc": "895:14:12", + "nodeType": "YulFunctionCall", + "src": "895:14:12" + }, + "nativeSrc": "895:14:12", + "nodeType": "YulExpressionStatement", + "src": "895:14:12" + }, + { + "nativeSrc": "918:26:12", + "nodeType": "YulAssignment", + "src": "918:26:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "936:1:12", + "nodeType": "YulLiteral", + "src": "936:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "939:4:12", + "nodeType": "YulLiteral", + "src": "939:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "926:9:12", + "nodeType": "YulIdentifier", + "src": "926:9:12" + }, + "nativeSrc": "926:18:12", + "nodeType": "YulFunctionCall", + "src": "926:18:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "918:4:12", + "nodeType": "YulIdentifier", + "src": "918:4:12" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nativeSrc": "810:141:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "851:3:12", + "nodeType": "YulTypedName", + "src": "851:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "859:4:12", + "nodeType": "YulTypedName", + "src": "859:4:12", + "type": "" + } + ], + "src": "810:141:12" + }, + { + "body": { + "nativeSrc": "1001:49:12", + "nodeType": "YulBlock", + "src": "1001:49:12", + "statements": [ + { + "nativeSrc": "1011:33:12", + "nodeType": "YulAssignment", + "src": "1011:33:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1029:5:12", + "nodeType": "YulIdentifier", + "src": "1029:5:12" + }, + { + "kind": "number", + "nativeSrc": "1036:2:12", + "nodeType": "YulLiteral", + "src": "1036:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1025:3:12", + "nodeType": "YulIdentifier", + "src": "1025:3:12" + }, + "nativeSrc": "1025:14:12", + "nodeType": "YulFunctionCall", + "src": "1025:14:12" + }, + { + "kind": "number", + "nativeSrc": "1041:2:12", + "nodeType": "YulLiteral", + "src": "1041:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "1021:3:12", + "nodeType": "YulIdentifier", + "src": "1021:3:12" + }, + "nativeSrc": "1021:23:12", + "nodeType": "YulFunctionCall", + "src": "1021:23:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1011:6:12", + "nodeType": "YulIdentifier", + "src": "1011:6:12" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nativeSrc": "957:93:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "984:5:12", + "nodeType": "YulTypedName", + "src": "984:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "994:6:12", + "nodeType": "YulTypedName", + "src": "994:6:12", + "type": "" + } + ], + "src": "957:93:12" + }, + { + "body": { + "nativeSrc": "1109:54:12", + "nodeType": "YulBlock", + "src": "1109:54:12", + "statements": [ + { + "nativeSrc": "1119:37:12", + "nodeType": "YulAssignment", + "src": "1119:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "1144:4:12", + "nodeType": "YulIdentifier", + "src": "1144:4:12" + }, + { + "name": "value", + "nativeSrc": "1150:5:12", + "nodeType": "YulIdentifier", + "src": "1150:5:12" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "1140:3:12", + "nodeType": "YulIdentifier", + "src": "1140:3:12" + }, + "nativeSrc": "1140:16:12", + "nodeType": "YulFunctionCall", + "src": "1140:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "1119:8:12", + "nodeType": "YulIdentifier", + "src": "1119:8:12" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "1056:107:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "1084:4:12", + "nodeType": "YulTypedName", + "src": "1084:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "1090:5:12", + "nodeType": "YulTypedName", + "src": "1090:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "1100:8:12", + "nodeType": "YulTypedName", + "src": "1100:8:12", + "type": "" + } + ], + "src": "1056:107:12" + }, + { + "body": { + "nativeSrc": "1245:317:12", + "nodeType": "YulBlock", + "src": "1245:317:12", + "statements": [ + { + "nativeSrc": "1255:35:12", + "nodeType": "YulVariableDeclaration", + "src": "1255:35:12", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nativeSrc": "1276:10:12", + "nodeType": "YulIdentifier", + "src": "1276:10:12" + }, + { + "kind": "number", + "nativeSrc": "1288:1:12", + "nodeType": "YulLiteral", + "src": "1288:1:12", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "1272:3:12", + "nodeType": "YulIdentifier", + "src": "1272:3:12" + }, + "nativeSrc": "1272:18:12", + "nodeType": "YulFunctionCall", + "src": "1272:18:12" + }, + "variables": [ + { + "name": "shiftBits", + "nativeSrc": "1259:9:12", + "nodeType": "YulTypedName", + "src": "1259:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1299:109:12", + "nodeType": "YulVariableDeclaration", + "src": "1299:109:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "1330:9:12", + "nodeType": "YulIdentifier", + "src": "1330:9:12" + }, + { + "kind": "number", + "nativeSrc": "1341:66:12", + "nodeType": "YulLiteral", + "src": "1341:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "1311:18:12", + "nodeType": "YulIdentifier", + "src": "1311:18:12" + }, + "nativeSrc": "1311:97:12", + "nodeType": "YulFunctionCall", + "src": "1311:97:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "1303:4:12", + "nodeType": "YulTypedName", + "src": "1303:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1417:51:12", + "nodeType": "YulAssignment", + "src": "1417:51:12", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nativeSrc": "1448:9:12", + "nodeType": "YulIdentifier", + "src": "1448:9:12" + }, + { + "name": "toInsert", + "nativeSrc": "1459:8:12", + "nodeType": "YulIdentifier", + "src": "1459:8:12" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "1429:18:12", + "nodeType": "YulIdentifier", + "src": "1429:18:12" + }, + "nativeSrc": "1429:39:12", + "nodeType": "YulFunctionCall", + "src": "1429:39:12" + }, + "variableNames": [ + { + "name": "toInsert", + "nativeSrc": "1417:8:12", + "nodeType": "YulIdentifier", + "src": "1417:8:12" + } + ] + }, + { + "nativeSrc": "1477:30:12", + "nodeType": "YulAssignment", + "src": "1477:30:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1490:5:12", + "nodeType": "YulIdentifier", + "src": "1490:5:12" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "1501:4:12", + "nodeType": "YulIdentifier", + "src": "1501:4:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1497:3:12", + "nodeType": "YulIdentifier", + "src": "1497:3:12" + }, + "nativeSrc": "1497:9:12", + "nodeType": "YulFunctionCall", + "src": "1497:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1486:3:12", + "nodeType": "YulIdentifier", + "src": "1486:3:12" + }, + "nativeSrc": "1486:21:12", + "nodeType": "YulFunctionCall", + "src": "1486:21:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1477:5:12", + "nodeType": "YulIdentifier", + "src": "1477:5:12" + } + ] + }, + { + "nativeSrc": "1516:40:12", + "nodeType": "YulAssignment", + "src": "1516:40:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1529:5:12", + "nodeType": "YulIdentifier", + "src": "1529:5:12" + }, + { + "arguments": [ + { + "name": "toInsert", + "nativeSrc": "1540:8:12", + "nodeType": "YulIdentifier", + "src": "1540:8:12" + }, + { + "name": "mask", + "nativeSrc": "1550:4:12", + "nodeType": "YulIdentifier", + "src": "1550:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1536:3:12", + "nodeType": "YulIdentifier", + "src": "1536:3:12" + }, + "nativeSrc": "1536:19:12", + "nodeType": "YulFunctionCall", + "src": "1536:19:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1526:2:12", + "nodeType": "YulIdentifier", + "src": "1526:2:12" + }, + "nativeSrc": "1526:30:12", + "nodeType": "YulFunctionCall", + "src": "1526:30:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1516:6:12", + "nodeType": "YulIdentifier", + "src": "1516:6:12" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nativeSrc": "1169:393:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1206:5:12", + "nodeType": "YulTypedName", + "src": "1206:5:12", + "type": "" + }, + { + "name": "shiftBytes", + "nativeSrc": "1213:10:12", + "nodeType": "YulTypedName", + "src": "1213:10:12", + "type": "" + }, + { + "name": "toInsert", + "nativeSrc": "1225:8:12", + "nodeType": "YulTypedName", + "src": "1225:8:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1238:6:12", + "nodeType": "YulTypedName", + "src": "1238:6:12", + "type": "" + } + ], + "src": "1169:393:12" + }, + { + "body": { + "nativeSrc": "1613:32:12", + "nodeType": "YulBlock", + "src": "1613:32:12", + "statements": [ + { + "nativeSrc": "1623:16:12", + "nodeType": "YulAssignment", + "src": "1623:16:12", + "value": { + "name": "value", + "nativeSrc": "1634:5:12", + "nodeType": "YulIdentifier", + "src": "1634:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1623:7:12", + "nodeType": "YulIdentifier", + "src": "1623:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "1568:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1595:5:12", + "nodeType": "YulTypedName", + "src": "1595:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1605:7:12", + "nodeType": "YulTypedName", + "src": "1605:7:12", + "type": "" + } + ], + "src": "1568:77:12" + }, + { + "body": { + "nativeSrc": "1683:28:12", + "nodeType": "YulBlock", + "src": "1683:28:12", + "statements": [ + { + "nativeSrc": "1693:12:12", + "nodeType": "YulAssignment", + "src": "1693:12:12", + "value": { + "name": "value", + "nativeSrc": "1700:5:12", + "nodeType": "YulIdentifier", + "src": "1700:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "1693:3:12", + "nodeType": "YulIdentifier", + "src": "1693:3:12" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "1651:60:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1669:5:12", + "nodeType": "YulTypedName", + "src": "1669:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "1679:3:12", + "nodeType": "YulTypedName", + "src": "1679:3:12", + "type": "" + } + ], + "src": "1651:60:12" + }, + { + "body": { + "nativeSrc": "1777:82:12", + "nodeType": "YulBlock", + "src": "1777:82:12", + "statements": [ + { + "nativeSrc": "1787:66:12", + "nodeType": "YulAssignment", + "src": "1787:66:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1845:5:12", + "nodeType": "YulIdentifier", + "src": "1845:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "1827:17:12", + "nodeType": "YulIdentifier", + "src": "1827:17:12" + }, + "nativeSrc": "1827:24:12", + "nodeType": "YulFunctionCall", + "src": "1827:24:12" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "1818:8:12", + "nodeType": "YulIdentifier", + "src": "1818:8:12" + }, + "nativeSrc": "1818:34:12", + "nodeType": "YulFunctionCall", + "src": "1818:34:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "1800:17:12", + "nodeType": "YulIdentifier", + "src": "1800:17:12" + }, + "nativeSrc": "1800:53:12", + "nodeType": "YulFunctionCall", + "src": "1800:53:12" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "1787:9:12", + "nodeType": "YulIdentifier", + "src": "1787:9:12" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "1717:142:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1757:5:12", + "nodeType": "YulTypedName", + "src": "1757:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "1767:9:12", + "nodeType": "YulTypedName", + "src": "1767:9:12", + "type": "" + } + ], + "src": "1717:142:12" + }, + { + "body": { + "nativeSrc": "1912:28:12", + "nodeType": "YulBlock", + "src": "1912:28:12", + "statements": [ + { + "nativeSrc": "1922:12:12", + "nodeType": "YulAssignment", + "src": "1922:12:12", + "value": { + "name": "value", + "nativeSrc": "1929:5:12", + "nodeType": "YulIdentifier", + "src": "1929:5:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "1922:3:12", + "nodeType": "YulIdentifier", + "src": "1922:3:12" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nativeSrc": "1865:75:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1898:5:12", + "nodeType": "YulTypedName", + "src": "1898:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "1908:3:12", + "nodeType": "YulTypedName", + "src": "1908:3:12", + "type": "" + } + ], + "src": "1865:75:12" + }, + { + "body": { + "nativeSrc": "2022:193:12", + "nodeType": "YulBlock", + "src": "2022:193:12", + "statements": [ + { + "nativeSrc": "2032:63:12", + "nodeType": "YulVariableDeclaration", + "src": "2032:63:12", + "value": { + "arguments": [ + { + "name": "value_0", + "nativeSrc": "2087:7:12", + "nodeType": "YulIdentifier", + "src": "2087:7:12" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nativeSrc": "2056:30:12", + "nodeType": "YulIdentifier", + "src": "2056:30:12" + }, + "nativeSrc": "2056:39:12", + "nodeType": "YulFunctionCall", + "src": "2056:39:12" + }, + "variables": [ + { + "name": "convertedValue_0", + "nativeSrc": "2036:16:12", + "nodeType": "YulTypedName", + "src": "2036:16:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "2111:4:12", + "nodeType": "YulIdentifier", + "src": "2111:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "2151:4:12", + "nodeType": "YulIdentifier", + "src": "2151:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "2145:5:12", + "nodeType": "YulIdentifier", + "src": "2145:5:12" + }, + "nativeSrc": "2145:11:12", + "nodeType": "YulFunctionCall", + "src": "2145:11:12" + }, + { + "name": "offset", + "nativeSrc": "2158:6:12", + "nodeType": "YulIdentifier", + "src": "2158:6:12" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nativeSrc": "2190:16:12", + "nodeType": "YulIdentifier", + "src": "2190:16:12" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nativeSrc": "2166:23:12", + "nodeType": "YulIdentifier", + "src": "2166:23:12" + }, + "nativeSrc": "2166:41:12", + "nodeType": "YulFunctionCall", + "src": "2166:41:12" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nativeSrc": "2117:27:12", + "nodeType": "YulIdentifier", + "src": "2117:27:12" + }, + "nativeSrc": "2117:91:12", + "nodeType": "YulFunctionCall", + "src": "2117:91:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "2104:6:12", + "nodeType": "YulIdentifier", + "src": "2104:6:12" + }, + "nativeSrc": "2104:105:12", + "nodeType": "YulFunctionCall", + "src": "2104:105:12" + }, + "nativeSrc": "2104:105:12", + "nodeType": "YulExpressionStatement", + "src": "2104:105:12" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "1946:269:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "1999:4:12", + "nodeType": "YulTypedName", + "src": "1999:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "2005:6:12", + "nodeType": "YulTypedName", + "src": "2005:6:12", + "type": "" + }, + { + "name": "value_0", + "nativeSrc": "2013:7:12", + "nodeType": "YulTypedName", + "src": "2013:7:12", + "type": "" + } + ], + "src": "1946:269:12" + }, + { + "body": { + "nativeSrc": "2270:24:12", + "nodeType": "YulBlock", + "src": "2270:24:12", + "statements": [ + { + "nativeSrc": "2280:8:12", + "nodeType": "YulAssignment", + "src": "2280:8:12", + "value": { + "kind": "number", + "nativeSrc": "2287:1:12", + "nodeType": "YulLiteral", + "src": "2287:1:12", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "2280:3:12", + "nodeType": "YulIdentifier", + "src": "2280:3:12" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "2221:73:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "2266:3:12", + "nodeType": "YulTypedName", + "src": "2266:3:12", + "type": "" + } + ], + "src": "2221:73:12" + }, + { + "body": { + "nativeSrc": "2353:136:12", + "nodeType": "YulBlock", + "src": "2353:136:12", + "statements": [ + { + "nativeSrc": "2363:46:12", + "nodeType": "YulVariableDeclaration", + "src": "2363:46:12", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nativeSrc": "2377:30:12", + "nodeType": "YulIdentifier", + "src": "2377:30:12" + }, + "nativeSrc": "2377:32:12", + "nodeType": "YulFunctionCall", + "src": "2377:32:12" + }, + "variables": [ + { + "name": "zero_0", + "nativeSrc": "2367:6:12", + "nodeType": "YulTypedName", + "src": "2367:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "2462:4:12", + "nodeType": "YulIdentifier", + "src": "2462:4:12" + }, + { + "name": "offset", + "nativeSrc": "2468:6:12", + "nodeType": "YulIdentifier", + "src": "2468:6:12" + }, + { + "name": "zero_0", + "nativeSrc": "2476:6:12", + "nodeType": "YulIdentifier", + "src": "2476:6:12" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nativeSrc": "2418:43:12", + "nodeType": "YulIdentifier", + "src": "2418:43:12" + }, + "nativeSrc": "2418:65:12", + "nodeType": "YulFunctionCall", + "src": "2418:65:12" + }, + "nativeSrc": "2418:65:12", + "nodeType": "YulExpressionStatement", + "src": "2418:65:12" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "2300:189:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "2339:4:12", + "nodeType": "YulTypedName", + "src": "2339:4:12", + "type": "" + }, + { + "name": "offset", + "nativeSrc": "2345:6:12", + "nodeType": "YulTypedName", + "src": "2345:6:12", + "type": "" + } + ], + "src": "2300:189:12" + }, + { + "body": { + "nativeSrc": "2545:136:12", + "nodeType": "YulBlock", + "src": "2545:136:12", + "statements": [ + { + "body": { + "nativeSrc": "2612:63:12", + "nodeType": "YulBlock", + "src": "2612:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "2656:5:12", + "nodeType": "YulIdentifier", + "src": "2656:5:12" + }, + { + "kind": "number", + "nativeSrc": "2663:1:12", + "nodeType": "YulLiteral", + "src": "2663:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nativeSrc": "2626:29:12", + "nodeType": "YulIdentifier", + "src": "2626:29:12" + }, + "nativeSrc": "2626:39:12", + "nodeType": "YulFunctionCall", + "src": "2626:39:12" + }, + "nativeSrc": "2626:39:12", + "nodeType": "YulExpressionStatement", + "src": "2626:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "2565:5:12", + "nodeType": "YulIdentifier", + "src": "2565:5:12" + }, + { + "name": "end", + "nativeSrc": "2572:3:12", + "nodeType": "YulIdentifier", + "src": "2572:3:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2562:2:12", + "nodeType": "YulIdentifier", + "src": "2562:2:12" + }, + "nativeSrc": "2562:14:12", + "nodeType": "YulFunctionCall", + "src": "2562:14:12" + }, + "nativeSrc": "2555:120:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2577:26:12", + "nodeType": "YulBlock", + "src": "2577:26:12", + "statements": [ + { + "nativeSrc": "2579:22:12", + "nodeType": "YulAssignment", + "src": "2579:22:12", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "2592:5:12", + "nodeType": "YulIdentifier", + "src": "2592:5:12" + }, + { + "kind": "number", + "nativeSrc": "2599:1:12", + "nodeType": "YulLiteral", + "src": "2599:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2588:3:12", + "nodeType": "YulIdentifier", + "src": "2588:3:12" + }, + "nativeSrc": "2588:13:12", + "nodeType": "YulFunctionCall", + "src": "2588:13:12" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "2579:5:12", + "nodeType": "YulIdentifier", + "src": "2579:5:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2559:2:12", + "nodeType": "YulBlock", + "src": "2559:2:12", + "statements": [] + }, + "src": "2555:120:12" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "2495:186:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "2533:5:12", + "nodeType": "YulTypedName", + "src": "2533:5:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2540:3:12", + "nodeType": "YulTypedName", + "src": "2540:3:12", + "type": "" + } + ], + "src": "2495:186:12" + }, + { + "body": { + "nativeSrc": "2766:464:12", + "nodeType": "YulBlock", + "src": "2766:464:12", + "statements": [ + { + "body": { + "nativeSrc": "2792:431:12", + "nodeType": "YulBlock", + "src": "2792:431:12", + "statements": [ + { + "nativeSrc": "2806:54:12", + "nodeType": "YulVariableDeclaration", + "src": "2806:54:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "2854:5:12", + "nodeType": "YulIdentifier", + "src": "2854:5:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "2822:31:12", + "nodeType": "YulIdentifier", + "src": "2822:31:12" + }, + "nativeSrc": "2822:38:12", + "nodeType": "YulFunctionCall", + "src": "2822:38:12" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "2810:8:12", + "nodeType": "YulTypedName", + "src": "2810:8:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2873:63:12", + "nodeType": "YulVariableDeclaration", + "src": "2873:63:12", + "value": { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "2896:8:12", + "nodeType": "YulIdentifier", + "src": "2896:8:12" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "2924:10:12", + "nodeType": "YulIdentifier", + "src": "2924:10:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "2906:17:12", + "nodeType": "YulIdentifier", + "src": "2906:17:12" + }, + "nativeSrc": "2906:29:12", + "nodeType": "YulFunctionCall", + "src": "2906:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2892:3:12", + "nodeType": "YulIdentifier", + "src": "2892:3:12" + }, + "nativeSrc": "2892:44:12", + "nodeType": "YulFunctionCall", + "src": "2892:44:12" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "2877:11:12", + "nodeType": "YulTypedName", + "src": "2877:11:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3093:27:12", + "nodeType": "YulBlock", + "src": "3093:27:12", + "statements": [ + { + "nativeSrc": "3095:23:12", + "nodeType": "YulAssignment", + "src": "3095:23:12", + "value": { + "name": "dataArea", + "nativeSrc": "3110:8:12", + "nodeType": "YulIdentifier", + "src": "3110:8:12" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "3095:11:12", + "nodeType": "YulIdentifier", + "src": "3095:11:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "3077:10:12", + "nodeType": "YulIdentifier", + "src": "3077:10:12" + }, + { + "kind": "number", + "nativeSrc": "3089:2:12", + "nodeType": "YulLiteral", + "src": "3089:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3074:2:12", + "nodeType": "YulIdentifier", + "src": "3074:2:12" + }, + "nativeSrc": "3074:18:12", + "nodeType": "YulFunctionCall", + "src": "3074:18:12" + }, + "nativeSrc": "3071:49:12", + "nodeType": "YulIf", + "src": "3071:49:12" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nativeSrc": "3162:11:12", + "nodeType": "YulIdentifier", + "src": "3162:11:12" + }, + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "3179:8:12", + "nodeType": "YulIdentifier", + "src": "3179:8:12" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "3207:3:12", + "nodeType": "YulIdentifier", + "src": "3207:3:12" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nativeSrc": "3189:17:12", + "nodeType": "YulIdentifier", + "src": "3189:17:12" + }, + "nativeSrc": "3189:22:12", + "nodeType": "YulFunctionCall", + "src": "3189:22:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3175:3:12", + "nodeType": "YulIdentifier", + "src": "3175:3:12" + }, + "nativeSrc": "3175:37:12", + "nodeType": "YulFunctionCall", + "src": "3175:37:12" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nativeSrc": "3133:28:12", + "nodeType": "YulIdentifier", + "src": "3133:28:12" + }, + "nativeSrc": "3133:80:12", + "nodeType": "YulFunctionCall", + "src": "3133:80:12" + }, + "nativeSrc": "3133:80:12", + "nodeType": "YulExpressionStatement", + "src": "3133:80:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "2783:3:12", + "nodeType": "YulIdentifier", + "src": "2783:3:12" + }, + { + "kind": "number", + "nativeSrc": "2788:2:12", + "nodeType": "YulLiteral", + "src": "2788:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2780:2:12", + "nodeType": "YulIdentifier", + "src": "2780:2:12" + }, + "nativeSrc": "2780:11:12", + "nodeType": "YulFunctionCall", + "src": "2780:11:12" + }, + "nativeSrc": "2777:446:12", + "nodeType": "YulIf", + "src": "2777:446:12" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "2687:543:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "2742:5:12", + "nodeType": "YulTypedName", + "src": "2742:5:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "2749:3:12", + "nodeType": "YulTypedName", + "src": "2749:3:12", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "2754:10:12", + "nodeType": "YulTypedName", + "src": "2754:10:12", + "type": "" + } + ], + "src": "2687:543:12" + }, + { + "body": { + "nativeSrc": "3299:54:12", + "nodeType": "YulBlock", + "src": "3299:54:12", + "statements": [ + { + "nativeSrc": "3309:37:12", + "nodeType": "YulAssignment", + "src": "3309:37:12", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "3334:4:12", + "nodeType": "YulIdentifier", + "src": "3334:4:12" + }, + { + "name": "value", + "nativeSrc": "3340:5:12", + "nodeType": "YulIdentifier", + "src": "3340:5:12" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "3330:3:12", + "nodeType": "YulIdentifier", + "src": "3330:3:12" + }, + "nativeSrc": "3330:16:12", + "nodeType": "YulFunctionCall", + "src": "3330:16:12" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "3309:8:12", + "nodeType": "YulIdentifier", + "src": "3309:8:12" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "3236:117:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "3274:4:12", + "nodeType": "YulTypedName", + "src": "3274:4:12", + "type": "" + }, + { + "name": "value", + "nativeSrc": "3280:5:12", + "nodeType": "YulTypedName", + "src": "3280:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "3290:8:12", + "nodeType": "YulTypedName", + "src": "3290:8:12", + "type": "" + } + ], + "src": "3236:117:12" + }, + { + "body": { + "nativeSrc": "3410:118:12", + "nodeType": "YulBlock", + "src": "3410:118:12", + "statements": [ + { + "nativeSrc": "3420:68:12", + "nodeType": "YulVariableDeclaration", + "src": "3420:68:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3469:1:12", + "nodeType": "YulLiteral", + "src": "3469:1:12", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nativeSrc": "3472:5:12", + "nodeType": "YulIdentifier", + "src": "3472:5:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "3465:3:12", + "nodeType": "YulIdentifier", + "src": "3465:3:12" + }, + "nativeSrc": "3465:13:12", + "nodeType": "YulFunctionCall", + "src": "3465:13:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3484:1:12", + "nodeType": "YulLiteral", + "src": "3484:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "3480:3:12", + "nodeType": "YulIdentifier", + "src": "3480:3:12" + }, + "nativeSrc": "3480:6:12", + "nodeType": "YulFunctionCall", + "src": "3480:6:12" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nativeSrc": "3436:28:12", + "nodeType": "YulIdentifier", + "src": "3436:28:12" + }, + "nativeSrc": "3436:51:12", + "nodeType": "YulFunctionCall", + "src": "3436:51:12" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "3432:3:12", + "nodeType": "YulIdentifier", + "src": "3432:3:12" + }, + "nativeSrc": "3432:56:12", + "nodeType": "YulFunctionCall", + "src": "3432:56:12" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "3424:4:12", + "nodeType": "YulTypedName", + "src": "3424:4:12", + "type": "" + } + ] + }, + { + "nativeSrc": "3497:25:12", + "nodeType": "YulAssignment", + "src": "3497:25:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "3511:4:12", + "nodeType": "YulIdentifier", + "src": "3511:4:12" + }, + { + "name": "mask", + "nativeSrc": "3517:4:12", + "nodeType": "YulIdentifier", + "src": "3517:4:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "3507:3:12", + "nodeType": "YulIdentifier", + "src": "3507:3:12" + }, + "nativeSrc": "3507:15:12", + "nodeType": "YulFunctionCall", + "src": "3507:15:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "3497:6:12", + "nodeType": "YulIdentifier", + "src": "3497:6:12" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nativeSrc": "3359:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "3387:4:12", + "nodeType": "YulTypedName", + "src": "3387:4:12", + "type": "" + }, + { + "name": "bytes", + "nativeSrc": "3393:5:12", + "nodeType": "YulTypedName", + "src": "3393:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "3403:6:12", + "nodeType": "YulTypedName", + "src": "3403:6:12", + "type": "" + } + ], + "src": "3359:169:12" + }, + { + "body": { + "nativeSrc": "3614:214:12", + "nodeType": "YulBlock", + "src": "3614:214:12", + "statements": [ + { + "nativeSrc": "3747:37:12", + "nodeType": "YulAssignment", + "src": "3747:37:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "3774:4:12", + "nodeType": "YulIdentifier", + "src": "3774:4:12" + }, + { + "name": "len", + "nativeSrc": "3780:3:12", + "nodeType": "YulIdentifier", + "src": "3780:3:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "3755:18:12", + "nodeType": "YulIdentifier", + "src": "3755:18:12" + }, + "nativeSrc": "3755:29:12", + "nodeType": "YulFunctionCall", + "src": "3755:29:12" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "3747:4:12", + "nodeType": "YulIdentifier", + "src": "3747:4:12" + } + ] + }, + { + "nativeSrc": "3793:29:12", + "nodeType": "YulAssignment", + "src": "3793:29:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "3804:4:12", + "nodeType": "YulIdentifier", + "src": "3804:4:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3814:1:12", + "nodeType": "YulLiteral", + "src": "3814:1:12", + "type": "", + "value": "2" + }, + { + "name": "len", + "nativeSrc": "3817:3:12", + "nodeType": "YulIdentifier", + "src": "3817:3:12" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "3810:3:12", + "nodeType": "YulIdentifier", + "src": "3810:3:12" + }, + "nativeSrc": "3810:11:12", + "nodeType": "YulFunctionCall", + "src": "3810:11:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "3801:2:12", + "nodeType": "YulIdentifier", + "src": "3801:2:12" + }, + "nativeSrc": "3801:21:12", + "nodeType": "YulFunctionCall", + "src": "3801:21:12" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "3793:4:12", + "nodeType": "YulIdentifier", + "src": "3793:4:12" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "3533:295:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "3595:4:12", + "nodeType": "YulTypedName", + "src": "3595:4:12", + "type": "" + }, + { + "name": "len", + "nativeSrc": "3601:3:12", + "nodeType": "YulTypedName", + "src": "3601:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "3609:4:12", + "nodeType": "YulTypedName", + "src": "3609:4:12", + "type": "" + } + ], + "src": "3533:295:12" + }, + { + "body": { + "nativeSrc": "3925:1303:12", + "nodeType": "YulBlock", + "src": "3925:1303:12", + "statements": [ + { + "nativeSrc": "3936:51:12", + "nodeType": "YulVariableDeclaration", + "src": "3936:51:12", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "3983:3:12", + "nodeType": "YulIdentifier", + "src": "3983:3:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "3950:32:12", + "nodeType": "YulIdentifier", + "src": "3950:32:12" + }, + "nativeSrc": "3950:37:12", + "nodeType": "YulFunctionCall", + "src": "3950:37:12" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "3940:6:12", + "nodeType": "YulTypedName", + "src": "3940:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4072:22:12", + "nodeType": "YulBlock", + "src": "4072:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "4074:16:12", + "nodeType": "YulIdentifier", + "src": "4074:16:12" + }, + "nativeSrc": "4074:18:12", + "nodeType": "YulFunctionCall", + "src": "4074:18:12" + }, + "nativeSrc": "4074:18:12", + "nodeType": "YulExpressionStatement", + "src": "4074:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4044:6:12", + "nodeType": "YulIdentifier", + "src": "4044:6:12" + }, + { + "kind": "number", + "nativeSrc": "4052:18:12", + "nodeType": "YulLiteral", + "src": "4052:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4041:2:12", + "nodeType": "YulIdentifier", + "src": "4041:2:12" + }, + "nativeSrc": "4041:30:12", + "nodeType": "YulFunctionCall", + "src": "4041:30:12" + }, + "nativeSrc": "4038:56:12", + "nodeType": "YulIf", + "src": "4038:56:12" + }, + { + "nativeSrc": "4104:52:12", + "nodeType": "YulVariableDeclaration", + "src": "4104:52:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "4150:4:12", + "nodeType": "YulIdentifier", + "src": "4150:4:12" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "4144:5:12", + "nodeType": "YulIdentifier", + "src": "4144:5:12" + }, + "nativeSrc": "4144:11:12", + "nodeType": "YulFunctionCall", + "src": "4144:11:12" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "4118:25:12", + "nodeType": "YulIdentifier", + "src": "4118:25:12" + }, + "nativeSrc": "4118:38:12", + "nodeType": "YulFunctionCall", + "src": "4118:38:12" + }, + "variables": [ + { + "name": "oldLen", + "nativeSrc": "4108:6:12", + "nodeType": "YulTypedName", + "src": "4108:6:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "4249:4:12", + "nodeType": "YulIdentifier", + "src": "4249:4:12" + }, + { + "name": "oldLen", + "nativeSrc": "4255:6:12", + "nodeType": "YulIdentifier", + "src": "4255:6:12" + }, + { + "name": "newLen", + "nativeSrc": "4263:6:12", + "nodeType": "YulIdentifier", + "src": "4263:6:12" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nativeSrc": "4203:45:12", + "nodeType": "YulIdentifier", + "src": "4203:45:12" + }, + "nativeSrc": "4203:67:12", + "nodeType": "YulFunctionCall", + "src": "4203:67:12" + }, + "nativeSrc": "4203:67:12", + "nodeType": "YulExpressionStatement", + "src": "4203:67:12" + }, + { + "nativeSrc": "4280:18:12", + "nodeType": "YulVariableDeclaration", + "src": "4280:18:12", + "value": { + "kind": "number", + "nativeSrc": "4297:1:12", + "nodeType": "YulLiteral", + "src": "4297:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "4284:9:12", + "nodeType": "YulTypedName", + "src": "4284:9:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4308:17:12", + "nodeType": "YulAssignment", + "src": "4308:17:12", + "value": { + "kind": "number", + "nativeSrc": "4321:4:12", + "nodeType": "YulLiteral", + "src": "4321:4:12", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "4308:9:12", + "nodeType": "YulIdentifier", + "src": "4308:9:12" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "4372:611:12", + "nodeType": "YulBlock", + "src": "4372:611:12", + "statements": [ + { + "nativeSrc": "4386:37:12", + "nodeType": "YulVariableDeclaration", + "src": "4386:37:12", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4405:6:12", + "nodeType": "YulIdentifier", + "src": "4405:6:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4417:4:12", + "nodeType": "YulLiteral", + "src": "4417:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4413:3:12", + "nodeType": "YulIdentifier", + "src": "4413:3:12" + }, + "nativeSrc": "4413:9:12", + "nodeType": "YulFunctionCall", + "src": "4413:9:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4401:3:12", + "nodeType": "YulIdentifier", + "src": "4401:3:12" + }, + "nativeSrc": "4401:22:12", + "nodeType": "YulFunctionCall", + "src": "4401:22:12" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "4390:7:12", + "nodeType": "YulTypedName", + "src": "4390:7:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4437:51:12", + "nodeType": "YulVariableDeclaration", + "src": "4437:51:12", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "4483:4:12", + "nodeType": "YulIdentifier", + "src": "4483:4:12" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nativeSrc": "4451:31:12", + "nodeType": "YulIdentifier", + "src": "4451:31:12" + }, + "nativeSrc": "4451:37:12", + "nodeType": "YulFunctionCall", + "src": "4451:37:12" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "4441:6:12", + "nodeType": "YulTypedName", + "src": "4441:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "4501:10:12", + "nodeType": "YulVariableDeclaration", + "src": "4501:10:12", + "value": { + "kind": "number", + "nativeSrc": "4510:1:12", + "nodeType": "YulLiteral", + "src": "4510:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "4505:1:12", + "nodeType": "YulTypedName", + "src": "4505:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4569:163:12", + "nodeType": "YulBlock", + "src": "4569:163:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "4594:6:12", + "nodeType": "YulIdentifier", + "src": "4594:6:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "4612:3:12", + "nodeType": "YulIdentifier", + "src": "4612:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "4617:9:12", + "nodeType": "YulIdentifier", + "src": "4617:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4608:3:12", + "nodeType": "YulIdentifier", + "src": "4608:3:12" + }, + "nativeSrc": "4608:19:12", + "nodeType": "YulFunctionCall", + "src": "4608:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4602:5:12", + "nodeType": "YulIdentifier", + "src": "4602:5:12" + }, + "nativeSrc": "4602:26:12", + "nodeType": "YulFunctionCall", + "src": "4602:26:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "4587:6:12", + "nodeType": "YulIdentifier", + "src": "4587:6:12" + }, + "nativeSrc": "4587:42:12", + "nodeType": "YulFunctionCall", + "src": "4587:42:12" + }, + "nativeSrc": "4587:42:12", + "nodeType": "YulExpressionStatement", + "src": "4587:42:12" + }, + { + "nativeSrc": "4646:24:12", + "nodeType": "YulAssignment", + "src": "4646:24:12", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "4660:6:12", + "nodeType": "YulIdentifier", + "src": "4660:6:12" + }, + { + "kind": "number", + "nativeSrc": "4668:1:12", + "nodeType": "YulLiteral", + "src": "4668:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4656:3:12", + "nodeType": "YulIdentifier", + "src": "4656:3:12" + }, + "nativeSrc": "4656:14:12", + "nodeType": "YulFunctionCall", + "src": "4656:14:12" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "4646:6:12", + "nodeType": "YulIdentifier", + "src": "4646:6:12" + } + ] + }, + { + "nativeSrc": "4687:31:12", + "nodeType": "YulAssignment", + "src": "4687:31:12", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "4704:9:12", + "nodeType": "YulIdentifier", + "src": "4704:9:12" + }, + { + "kind": "number", + "nativeSrc": "4715:2:12", + "nodeType": "YulLiteral", + "src": "4715:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4700:3:12", + "nodeType": "YulIdentifier", + "src": "4700:3:12" + }, + "nativeSrc": "4700:18:12", + "nodeType": "YulFunctionCall", + "src": "4700:18:12" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "4687:9:12", + "nodeType": "YulIdentifier", + "src": "4687:9:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "4535:1:12", + "nodeType": "YulIdentifier", + "src": "4535:1:12" + }, + { + "name": "loopEnd", + "nativeSrc": "4538:7:12", + "nodeType": "YulIdentifier", + "src": "4538:7:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "4532:2:12", + "nodeType": "YulIdentifier", + "src": "4532:2:12" + }, + "nativeSrc": "4532:14:12", + "nodeType": "YulFunctionCall", + "src": "4532:14:12" + }, + "nativeSrc": "4524:208:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "4547:21:12", + "nodeType": "YulBlock", + "src": "4547:21:12", + "statements": [ + { + "nativeSrc": "4549:17:12", + "nodeType": "YulAssignment", + "src": "4549:17:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "4558:1:12", + "nodeType": "YulIdentifier", + "src": "4558:1:12" + }, + { + "kind": "number", + "nativeSrc": "4561:4:12", + "nodeType": "YulLiteral", + "src": "4561:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4554:3:12", + "nodeType": "YulIdentifier", + "src": "4554:3:12" + }, + "nativeSrc": "4554:12:12", + "nodeType": "YulFunctionCall", + "src": "4554:12:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "4549:1:12", + "nodeType": "YulIdentifier", + "src": "4549:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "4528:3:12", + "nodeType": "YulBlock", + "src": "4528:3:12", + "statements": [] + }, + "src": "4524:208:12" + }, + { + "body": { + "nativeSrc": "4768:156:12", + "nodeType": "YulBlock", + "src": "4768:156:12", + "statements": [ + { + "nativeSrc": "4786:43:12", + "nodeType": "YulVariableDeclaration", + "src": "4786:43:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "4813:3:12", + "nodeType": "YulIdentifier", + "src": "4813:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "4818:9:12", + "nodeType": "YulIdentifier", + "src": "4818:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4809:3:12", + "nodeType": "YulIdentifier", + "src": "4809:3:12" + }, + "nativeSrc": "4809:19:12", + "nodeType": "YulFunctionCall", + "src": "4809:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4803:5:12", + "nodeType": "YulIdentifier", + "src": "4803:5:12" + }, + "nativeSrc": "4803:26:12", + "nodeType": "YulFunctionCall", + "src": "4803:26:12" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "4790:9:12", + "nodeType": "YulTypedName", + "src": "4790:9:12", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "4853:6:12", + "nodeType": "YulIdentifier", + "src": "4853:6:12" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "4880:9:12", + "nodeType": "YulIdentifier", + "src": "4880:9:12" + }, + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4895:6:12", + "nodeType": "YulIdentifier", + "src": "4895:6:12" + }, + { + "kind": "number", + "nativeSrc": "4903:4:12", + "nodeType": "YulLiteral", + "src": "4903:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4891:3:12", + "nodeType": "YulIdentifier", + "src": "4891:3:12" + }, + "nativeSrc": "4891:17:12", + "nodeType": "YulFunctionCall", + "src": "4891:17:12" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nativeSrc": "4861:18:12", + "nodeType": "YulIdentifier", + "src": "4861:18:12" + }, + "nativeSrc": "4861:48:12", + "nodeType": "YulFunctionCall", + "src": "4861:48:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "4846:6:12", + "nodeType": "YulIdentifier", + "src": "4846:6:12" + }, + "nativeSrc": "4846:64:12", + "nodeType": "YulFunctionCall", + "src": "4846:64:12" + }, + "nativeSrc": "4846:64:12", + "nodeType": "YulExpressionStatement", + "src": "4846:64:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "4751:7:12", + "nodeType": "YulIdentifier", + "src": "4751:7:12" + }, + { + "name": "newLen", + "nativeSrc": "4760:6:12", + "nodeType": "YulIdentifier", + "src": "4760:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "4748:2:12", + "nodeType": "YulIdentifier", + "src": "4748:2:12" + }, + "nativeSrc": "4748:19:12", + "nodeType": "YulFunctionCall", + "src": "4748:19:12" + }, + "nativeSrc": "4745:179:12", + "nodeType": "YulIf", + "src": "4745:179:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "4944:4:12", + "nodeType": "YulIdentifier", + "src": "4944:4:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4958:6:12", + "nodeType": "YulIdentifier", + "src": "4958:6:12" + }, + { + "kind": "number", + "nativeSrc": "4966:1:12", + "nodeType": "YulLiteral", + "src": "4966:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "4954:3:12", + "nodeType": "YulIdentifier", + "src": "4954:3:12" + }, + "nativeSrc": "4954:14:12", + "nodeType": "YulFunctionCall", + "src": "4954:14:12" + }, + { + "kind": "number", + "nativeSrc": "4970:1:12", + "nodeType": "YulLiteral", + "src": "4970:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4950:3:12", + "nodeType": "YulIdentifier", + "src": "4950:3:12" + }, + "nativeSrc": "4950:22:12", + "nodeType": "YulFunctionCall", + "src": "4950:22:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "4937:6:12", + "nodeType": "YulIdentifier", + "src": "4937:6:12" + }, + "nativeSrc": "4937:36:12", + "nodeType": "YulFunctionCall", + "src": "4937:36:12" + }, + "nativeSrc": "4937:36:12", + "nodeType": "YulExpressionStatement", + "src": "4937:36:12" + } + ] + }, + "nativeSrc": "4365:618:12", + "nodeType": "YulCase", + "src": "4365:618:12", + "value": { + "kind": "number", + "nativeSrc": "4370:1:12", + "nodeType": "YulLiteral", + "src": "4370:1:12", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "5000:222:12", + "nodeType": "YulBlock", + "src": "5000:222:12", + "statements": [ + { + "nativeSrc": "5014:14:12", + "nodeType": "YulVariableDeclaration", + "src": "5014:14:12", + "value": { + "kind": "number", + "nativeSrc": "5027:1:12", + "nodeType": "YulLiteral", + "src": "5027:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "5018:5:12", + "nodeType": "YulTypedName", + "src": "5018:5:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5051:67:12", + "nodeType": "YulBlock", + "src": "5051:67:12", + "statements": [ + { + "nativeSrc": "5069:35:12", + "nodeType": "YulAssignment", + "src": "5069:35:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "5088:3:12", + "nodeType": "YulIdentifier", + "src": "5088:3:12" + }, + { + "name": "srcOffset", + "nativeSrc": "5093:9:12", + "nodeType": "YulIdentifier", + "src": "5093:9:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5084:3:12", + "nodeType": "YulIdentifier", + "src": "5084:3:12" + }, + "nativeSrc": "5084:19:12", + "nodeType": "YulFunctionCall", + "src": "5084:19:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5078:5:12", + "nodeType": "YulIdentifier", + "src": "5078:5:12" + }, + "nativeSrc": "5078:26:12", + "nodeType": "YulFunctionCall", + "src": "5078:26:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "5069:5:12", + "nodeType": "YulIdentifier", + "src": "5069:5:12" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "5044:6:12", + "nodeType": "YulIdentifier", + "src": "5044:6:12" + }, + "nativeSrc": "5041:77:12", + "nodeType": "YulIf", + "src": "5041:77:12" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "5138:4:12", + "nodeType": "YulIdentifier", + "src": "5138:4:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "5197:5:12", + "nodeType": "YulIdentifier", + "src": "5197:5:12" + }, + { + "name": "newLen", + "nativeSrc": "5204:6:12", + "nodeType": "YulIdentifier", + "src": "5204:6:12" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "5144:52:12", + "nodeType": "YulIdentifier", + "src": "5144:52:12" + }, + "nativeSrc": "5144:67:12", + "nodeType": "YulFunctionCall", + "src": "5144:67:12" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "5131:6:12", + "nodeType": "YulIdentifier", + "src": "5131:6:12" + }, + "nativeSrc": "5131:81:12", + "nodeType": "YulFunctionCall", + "src": "5131:81:12" + }, + "nativeSrc": "5131:81:12", + "nodeType": "YulExpressionStatement", + "src": "5131:81:12" + } + ] + }, + "nativeSrc": "4992:230:12", + "nodeType": "YulCase", + "src": "4992:230:12", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "4345:6:12", + "nodeType": "YulIdentifier", + "src": "4345:6:12" + }, + { + "kind": "number", + "nativeSrc": "4353:2:12", + "nodeType": "YulLiteral", + "src": "4353:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4342:2:12", + "nodeType": "YulIdentifier", + "src": "4342:2:12" + }, + "nativeSrc": "4342:14:12", + "nodeType": "YulFunctionCall", + "src": "4342:14:12" + }, + "nativeSrc": "4335:887:12", + "nodeType": "YulSwitch", + "src": "4335:887:12" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "3833:1395:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "3914:4:12", + "nodeType": "YulTypedName", + "src": "3914:4:12", + "type": "" + }, + { + "name": "src", + "nativeSrc": "3920:3:12", + "nodeType": "YulTypedName", + "src": "3920:3:12", + "type": "" + } + ], + "src": "3833:1395:12" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b506040518060400160405280600481526020017f54657374000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5453540000000000000000000000000000000000000000000000000000000000815250816000908161008c91906102fc565b50806001908161009c91906102fc565b50505060016006819055506103ce565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012d57607f821691505b6020821081036101405761013f6100e6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016b565b6101b2868361016b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101f96101f46101ef846101ca565b6101d4565b6101ca565b9050919050565b6000819050919050565b610213836101de565b61022761021f82610200565b848454610178565b825550505050565b600090565b61023c61022f565b61024781848461020a565b505050565b5b8181101561026b57610260600082610234565b60018101905061024d565b5050565b601f8211156102b05761028181610146565b61028a8461015b565b81016020851015610299578190505b6102ad6102a58561015b565b83018261024c565b50505b505050565b600082821c905092915050565b60006102d3600019846008026102b5565b1980831691505092915050565b60006102ec83836102c2565b9150826002028217905092915050565b610305826100ac565b67ffffffffffffffff81111561031e5761031d6100b7565b5b6103288254610115565b61033382828561026f565b600060209050601f8311600181146103665760008415610354578287015190505b61035e85826102e0565b8655506103c6565b601f19841661037486610146565b60005b8281101561039c57848901518255600182019150602085019450602081019050610377565b868310156103b957848901516103b5601f8916826102c2565b8355505b6001600288020188555050505b505050505050565b61257e806103dd6000396000f3fe608060405234801561001057600080fd5b50600436106100f45760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb46514610271578063b88d4fde1461028d578063c87b56dd146102a9578063e985e9c5146102d9576100f4565b806342842e0e146101d75780636352211e146101f357806370a082311461022357806395d89b4114610253576100f4565b8063081812fc116100d3578063081812fc14610165578063095ea7b3146101955780631249c58b146101b157806323b872dd146101bb576100f4565b80629a9b7b146100f957806301ffc9a71461011757806306fdde0314610147575b600080fd5b610101610309565b60405161010e91906117b0565b60405180910390f35b610131600480360381019061012c9190611837565b61030f565b60405161013e919061187f565b60405180910390f35b61014f6103f1565b60405161015c919061192a565b60405180910390f35b61017f600480360381019061017a9190611978565b610483565b60405161018c91906119e6565b60405180910390f35b6101af60048036038101906101aa9190611a2d565b6104c9565b005b6101b96105e0565b005b6101d560048036038101906101d09190611a6d565b610606565b005b6101f160048036038101906101ec9190611a6d565b610666565b005b61020d60048036038101906102089190611978565b610686565b60405161021a91906119e6565b60405180910390f35b61023d60048036038101906102389190611ac0565b61070c565b60405161024a91906117b0565b60405180910390f35b61025b6107c3565b604051610268919061192a565b60405180910390f35b61028b60048036038101906102869190611b19565b610855565b005b6102a760048036038101906102a29190611c8e565b61086b565b005b6102c360048036038101906102be9190611978565b6108cd565b6040516102d0919061192a565b60405180910390f35b6102f360048036038101906102ee9190611d11565b610935565b604051610300919061187f565b60405180910390f35b60065481565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103da57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ea57506103e9826109c9565b5b9050919050565b60606000805461040090611d80565b80601f016020809104026020016040519081016040528092919081815260200182805461042c90611d80565b80156104795780601f1061044e57610100808354040283529160200191610479565b820191906000526020600020905b81548152906001019060200180831161045c57829003601f168201915b5050505050905090565b600061048e82610a33565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104d482610686565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053b90611e23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610563610a7e565b73ffffffffffffffffffffffffffffffffffffffff16148061059257506105918161058c610a7e565b610935565b5b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611eb5565b60405180910390fd5b6105db8383610a86565b505050565b6105ec33600654610b3f565b600660008154809291906105ff90611f04565b9190505550565b610617610611610a7e565b82610b5d565b610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90611fbe565b60405180910390fd5b610661838383610bf2565b505050565b6106818383836040518060200160405280600081525061086b565b505050565b60008061069283610eeb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061202a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610773906120bc565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d290611d80565b80601f01602080910402602001604051908101604052809291908181526020018280546107fe90611d80565b801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b5050505050905090565b610867610860610a7e565b8383610f28565b5050565b61087c610876610a7e565b83610b5d565b6108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290611fbe565b60405180910390fd5b6108c784848484611094565b50505050565b60606108d882610a33565b60006108e26110f0565b90506000815111610902576040518060200160405280600081525061092d565b8061090c84611107565b60405160200161091d929190612118565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a3c816111d5565b610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a729061202a565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610af983610686565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610b59828260405180602001604052806000815250611216565b5050565b600080610b6983610686565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610bab5750610baa8185610935565b5b80610be957508373ffffffffffffffffffffffffffffffffffffffff16610bd184610483565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610c1282610686565b73ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f906121ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce90612240565b60405180910390fd5b610ce48383836001611271565b8273ffffffffffffffffffffffffffffffffffffffff16610d0482610686565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d51906121ae565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ee68383836001611277565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d906122ac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611087919061187f565b60405180910390a3505050565b61109f848484610bf2565b6110ab8484848461127d565b6110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e19061233e565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161111684611404565b01905060008167ffffffffffffffff81111561113557611134611b63565b5b6040519080825280601f01601f1916602001820160405280156111675781602001600182028036833780820191505090505b509050600082602001820190505b6001156111ca578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816111be576111bd61235e565b5b04945060008503611175575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166111f783610eeb565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6112208383611557565b61122d600084848461127d565b61126c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112639061233e565b60405180910390fd5b505050565b50505050565b50505050565b600061129e8473ffffffffffffffffffffffffffffffffffffffff16611774565b156113f7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026112c7610a7e565b8786866040518563ffffffff1660e01b81526004016112e994939291906123e2565b6020604051808303816000875af192505050801561132557506040513d601f19601f820116820180604052508101906113229190612443565b60015b6113a7573d8060008114611355576040519150601f19603f3d011682016040523d82523d6000602084013e61135a565b606091505b50600081510361139f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113969061233e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506113fc565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611462577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816114585761145761235e565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061149f576d04ee2d6d415b85acef810000000083816114955761149461235e565b5b0492506020810190505b662386f26fc1000083106114ce57662386f26fc1000083816114c4576114c361235e565b5b0492506010810190505b6305f5e10083106114f7576305f5e10083816114ed576114ec61235e565b5b0492506008810190505b612710831061151c5761271083816115125761151161235e565b5b0492506004810190505b6064831061153f57606483816115355761153461235e565b5b0492506002810190505b600a831061154e576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd906124bc565b60405180910390fd5b6115cf816111d5565b1561160f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160690612528565b60405180910390fd5b61161d600083836001611271565b611626816111d5565b15611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612528565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611770600083836001611277565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b6117aa81611797565b82525050565b60006020820190506117c560008301846117a1565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611814816117df565b811461181f57600080fd5b50565b6000813590506118318161180b565b92915050565b60006020828403121561184d5761184c6117d5565b5b600061185b84828501611822565b91505092915050565b60008115159050919050565b61187981611864565b82525050565b60006020820190506118946000830184611870565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118d45780820151818401526020810190506118b9565b60008484015250505050565b6000601f19601f8301169050919050565b60006118fc8261189a565b61190681856118a5565b93506119168185602086016118b6565b61191f816118e0565b840191505092915050565b6000602082019050818103600083015261194481846118f1565b905092915050565b61195581611797565b811461196057600080fd5b50565b6000813590506119728161194c565b92915050565b60006020828403121561198e5761198d6117d5565b5b600061199c84828501611963565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119d0826119a5565b9050919050565b6119e0816119c5565b82525050565b60006020820190506119fb60008301846119d7565b92915050565b611a0a816119c5565b8114611a1557600080fd5b50565b600081359050611a2781611a01565b92915050565b60008060408385031215611a4457611a436117d5565b5b6000611a5285828601611a18565b9250506020611a6385828601611963565b9150509250929050565b600080600060608486031215611a8657611a856117d5565b5b6000611a9486828701611a18565b9350506020611aa586828701611a18565b9250506040611ab686828701611963565b9150509250925092565b600060208284031215611ad657611ad56117d5565b5b6000611ae484828501611a18565b91505092915050565b611af681611864565b8114611b0157600080fd5b50565b600081359050611b1381611aed565b92915050565b60008060408385031215611b3057611b2f6117d5565b5b6000611b3e85828601611a18565b9250506020611b4f85828601611b04565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b9b826118e0565b810181811067ffffffffffffffff82111715611bba57611bb9611b63565b5b80604052505050565b6000611bcd6117cb565b9050611bd98282611b92565b919050565b600067ffffffffffffffff821115611bf957611bf8611b63565b5b611c02826118e0565b9050602081019050919050565b82818337600083830152505050565b6000611c31611c2c84611bde565b611bc3565b905082815260208101848484011115611c4d57611c4c611b5e565b5b611c58848285611c0f565b509392505050565b600082601f830112611c7557611c74611b59565b5b8135611c85848260208601611c1e565b91505092915050565b60008060008060808587031215611ca857611ca76117d5565b5b6000611cb687828801611a18565b9450506020611cc787828801611a18565b9350506040611cd887828801611963565b925050606085013567ffffffffffffffff811115611cf957611cf86117da565b5b611d0587828801611c60565b91505092959194509250565b60008060408385031215611d2857611d276117d5565b5b6000611d3685828601611a18565b9250506020611d4785828601611a18565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9857607f821691505b602082108103611dab57611daa611d51565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0d6021836118a5565b9150611e1882611db1565b604082019050919050565b60006020820190508181036000830152611e3c81611e00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611e9f603d836118a5565b9150611eaa82611e43565b604082019050919050565b60006020820190508181036000830152611ece81611e92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f0f82611797565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f4157611f40611ed5565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611fa8602d836118a5565b9150611fb382611f4c565b604082019050919050565b60006020820190508181036000830152611fd781611f9b565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006120146018836118a5565b915061201f82611fde565b602082019050919050565b6000602082019050818103600083015261204381612007565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006120a66029836118a5565b91506120b18261204a565b604082019050919050565b600060208201905081810360008301526120d581612099565b9050919050565b600081905092915050565b60006120f28261189a565b6120fc81856120dc565b935061210c8185602086016118b6565b80840191505092915050565b600061212482856120e7565b915061213082846120e7565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006121986025836118a5565b91506121a38261213c565b604082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061222a6024836118a5565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006122966019836118a5565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006123286032836118a5565b9150612333826122cc565b604082019050919050565b600060208201905081810360008301526123578161231b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006123b48261238d565b6123be8185612398565b93506123ce8185602086016118b6565b6123d7816118e0565b840191505092915050565b60006080820190506123f760008301876119d7565b61240460208301866119d7565b61241160408301856117a1565b818103606083015261242381846123a9565b905095945050505050565b60008151905061243d8161180b565b92915050565b600060208284031215612459576124586117d5565b5b60006124678482850161242e565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006124a66020836118a5565b91506124b182612470565b602082019050919050565b600060208201905081810360008301526124d581612499565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612512601c836118a5565b915061251d826124dc565b602082019050919050565b6000602082019050818103600083015261254181612505565b905091905056fea2646970667358221220ada89150c5d72aaf83fd35515ab6e67df75e9d0b0f8827fe1173d36182b4852a64736f6c63430008190033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5465737400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5453540000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x2FC JUMP JUMPDEST POP DUP1 PUSH1 0x1 SWAP1 DUP2 PUSH2 0x9C SWAP2 SWAP1 PUSH2 0x2FC JUMP JUMPDEST POP POP POP PUSH1 0x1 PUSH1 0x6 DUP2 SWAP1 SSTORE POP PUSH2 0x3CE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x12D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x140 JUMPI PUSH2 0x13F PUSH2 0xE6 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x1A8 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x16B JUMP JUMPDEST PUSH2 0x1B2 DUP7 DUP4 PUSH2 0x16B JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F9 PUSH2 0x1F4 PUSH2 0x1EF DUP5 PUSH2 0x1CA JUMP JUMPDEST PUSH2 0x1D4 JUMP JUMPDEST PUSH2 0x1CA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x213 DUP4 PUSH2 0x1DE JUMP JUMPDEST PUSH2 0x227 PUSH2 0x21F DUP3 PUSH2 0x200 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x178 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x23C PUSH2 0x22F JUMP JUMPDEST PUSH2 0x247 DUP2 DUP5 DUP5 PUSH2 0x20A JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x26B JUMPI PUSH2 0x260 PUSH1 0x0 DUP3 PUSH2 0x234 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x24D JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x2B0 JUMPI PUSH2 0x281 DUP2 PUSH2 0x146 JUMP JUMPDEST PUSH2 0x28A DUP5 PUSH2 0x15B JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x299 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x2AD PUSH2 0x2A5 DUP6 PUSH2 0x15B JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x24C JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D3 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x2B5 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EC DUP4 DUP4 PUSH2 0x2C2 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x305 DUP3 PUSH2 0xAC JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x31E JUMPI PUSH2 0x31D PUSH2 0xB7 JUMP JUMPDEST JUMPDEST PUSH2 0x328 DUP3 SLOAD PUSH2 0x115 JUMP JUMPDEST PUSH2 0x333 DUP3 DUP3 DUP6 PUSH2 0x26F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x366 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x354 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x35E DUP6 DUP3 PUSH2 0x2E0 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x3C6 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x374 DUP7 PUSH2 0x146 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x39C JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x377 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x3B9 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x3B5 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x2C2 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x257E DUP1 PUSH2 0x3DD PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42842E0E GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x271 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x28D JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x2D9 JUMPI PUSH2 0xF4 JUMP JUMPDEST DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1D7 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x1F3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x223 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x253 JUMPI PUSH2 0xF4 JUMP JUMPDEST DUP1 PUSH4 0x81812FC GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x1249C58B EQ PUSH2 0x1B1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1BB JUMPI PUSH2 0xF4 JUMP JUMPDEST DUP1 PUSH3 0x9A9B7B EQ PUSH2 0xF9 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x147 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x101 PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x17B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0x1837 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14F PUSH2 0x3F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17A SWAP2 SWAP1 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x483 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x19E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x1A2D JUMP JUMPDEST PUSH2 0x4C9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B9 PUSH2 0x5E0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0x1A6D JUMP JUMPDEST PUSH2 0x606 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EC SWAP2 SWAP1 PUSH2 0x1A6D JUMP JUMPDEST PUSH2 0x666 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x20D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x208 SWAP2 SWAP1 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x686 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21A SWAP2 SWAP1 PUSH2 0x19E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x238 SWAP2 SWAP1 PUSH2 0x1AC0 JUMP JUMPDEST PUSH2 0x70C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24A SWAP2 SWAP1 PUSH2 0x17B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25B PUSH2 0x7C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x286 SWAP2 SWAP1 PUSH2 0x1B19 JUMP JUMPDEST PUSH2 0x855 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A2 SWAP2 SWAP1 PUSH2 0x1C8E JUMP JUMPDEST PUSH2 0x86B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x8CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EE SWAP2 SWAP1 PUSH2 0x1D11 JUMP JUMPDEST PUSH2 0x935 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x300 SWAP2 SWAP1 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x80AC58CD00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x3DA JUMPI POP PUSH32 0x5B5E139F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x3EA JUMPI POP PUSH2 0x3E9 DUP3 PUSH2 0x9C9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x400 SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x42C SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x479 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x44E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x479 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x45C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48E DUP3 PUSH2 0xA33 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D4 DUP3 PUSH2 0x686 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x544 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x53B SWAP1 PUSH2 0x1E23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x563 PUSH2 0xA7E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x592 JUMPI POP PUSH2 0x591 DUP2 PUSH2 0x58C PUSH2 0xA7E JUMP JUMPDEST PUSH2 0x935 JUMP JUMPDEST JUMPDEST PUSH2 0x5D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5C8 SWAP1 PUSH2 0x1EB5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5DB DUP4 DUP4 PUSH2 0xA86 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x5EC CALLER PUSH1 0x6 SLOAD PUSH2 0xB3F JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x5FF SWAP1 PUSH2 0x1F04 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH2 0x617 PUSH2 0x611 PUSH2 0xA7E JUMP JUMPDEST DUP3 PUSH2 0xB5D JUMP JUMPDEST PUSH2 0x656 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64D SWAP1 PUSH2 0x1FBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x661 DUP4 DUP4 DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x681 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x86B JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x692 DUP4 PUSH2 0xEEB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6FA SWAP1 PUSH2 0x202A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x77C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x773 SWAP1 PUSH2 0x20BC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x7D2 SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7FE SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x84B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x820 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x84B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x82E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x867 PUSH2 0x860 PUSH2 0xA7E JUMP JUMPDEST DUP4 DUP4 PUSH2 0xF28 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x87C PUSH2 0x876 PUSH2 0xA7E JUMP JUMPDEST DUP4 PUSH2 0xB5D JUMP JUMPDEST PUSH2 0x8BB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B2 SWAP1 PUSH2 0x1FBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8C7 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1094 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x8D8 DUP3 PUSH2 0xA33 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E2 PUSH2 0x10F0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x902 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x92D JUMP JUMPDEST DUP1 PUSH2 0x90C DUP5 PUSH2 0x1107 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x91D SWAP3 SWAP2 SWAP1 PUSH2 0x2118 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA3C DUP2 PUSH2 0x11D5 JUMP JUMPDEST PUSH2 0xA7B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA72 SWAP1 PUSH2 0x202A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xAF9 DUP4 PUSH2 0x686 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xB59 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1216 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB69 DUP4 PUSH2 0x686 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0xBAB JUMPI POP PUSH2 0xBAA DUP2 DUP6 PUSH2 0x935 JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0xBE9 JUMPI POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xBD1 DUP5 PUSH2 0x483 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC12 DUP3 PUSH2 0x686 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC5F SWAP1 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xCD7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCCE SWAP1 PUSH2 0x2240 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCE4 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1271 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xD04 DUP3 PUSH2 0x686 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD5A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD51 SWAP1 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0xEE6 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1277 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xF96 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF8D SWAP1 PUSH2 0x22AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1087 SWAP2 SWAP1 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x109F DUP5 DUP5 DUP5 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x10AB DUP5 DUP5 DUP5 DUP5 PUSH2 0x127D JUMP JUMPDEST PUSH2 0x10EA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10E1 SWAP1 PUSH2 0x233E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x1 PUSH2 0x1116 DUP5 PUSH2 0x1404 JUMP JUMPDEST ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1135 JUMPI PUSH2 0x1134 PUSH2 0x1B63 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1167 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x11CA JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x11BE JUMPI PUSH2 0x11BD PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH1 0x0 DUP6 SUB PUSH2 0x1175 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x11F7 DUP4 PUSH2 0xEEB JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1220 DUP4 DUP4 PUSH2 0x1557 JUMP JUMPDEST PUSH2 0x122D PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x127D JUMP JUMPDEST PUSH2 0x126C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1263 SWAP1 PUSH2 0x233E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x129E DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1774 JUMP JUMPDEST ISZERO PUSH2 0x13F7 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x150B7A02 PUSH2 0x12C7 PUSH2 0xA7E JUMP JUMPDEST DUP8 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x23E2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1325 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1322 SWAP2 SWAP1 PUSH2 0x2443 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x13A7 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1355 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x135A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x139F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1396 SWAP1 PUSH2 0x233E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0x150B7A02 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP2 POP POP PUSH2 0x13FC JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x1462 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x1458 JUMPI PUSH2 0x1457 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x149F JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x1495 JUMPI PUSH2 0x1494 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x14CE JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x14C4 JUMPI PUSH2 0x14C3 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x14F7 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x14ED JUMPI PUSH2 0x14EC PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x151C JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x1512 JUMPI PUSH2 0x1511 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x153F JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x1535 JUMPI PUSH2 0x1534 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x154E JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x15C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15BD SWAP1 PUSH2 0x24BC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x15CF DUP2 PUSH2 0x11D5 JUMP JUMPDEST ISZERO PUSH2 0x160F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1606 SWAP1 PUSH2 0x2528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x161D PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1271 JUMP JUMPDEST PUSH2 0x1626 DUP2 PUSH2 0x11D5 JUMP JUMPDEST ISZERO PUSH2 0x1666 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x165D SWAP1 PUSH2 0x2528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x1770 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1277 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17AA DUP2 PUSH2 0x1797 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17C5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1814 DUP2 PUSH2 0x17DF JUMP JUMPDEST DUP2 EQ PUSH2 0x181F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1831 DUP2 PUSH2 0x180B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x184D JUMPI PUSH2 0x184C PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x185B DUP5 DUP3 DUP6 ADD PUSH2 0x1822 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1879 DUP2 PUSH2 0x1864 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1894 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1870 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18D4 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18B9 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18FC DUP3 PUSH2 0x189A JUMP JUMPDEST PUSH2 0x1906 DUP2 DUP6 PUSH2 0x18A5 JUMP JUMPDEST SWAP4 POP PUSH2 0x1916 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18B6 JUMP JUMPDEST PUSH2 0x191F DUP2 PUSH2 0x18E0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1944 DUP2 DUP5 PUSH2 0x18F1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1955 DUP2 PUSH2 0x1797 JUMP JUMPDEST DUP2 EQ PUSH2 0x1960 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1972 DUP2 PUSH2 0x194C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x198E JUMPI PUSH2 0x198D PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x199C DUP5 DUP3 DUP6 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19D0 DUP3 PUSH2 0x19A5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19E0 DUP2 PUSH2 0x19C5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19FB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x19D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1A0A DUP2 PUSH2 0x19C5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1A27 DUP2 PUSH2 0x1A01 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A44 JUMPI PUSH2 0x1A43 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A52 DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1A63 DUP6 DUP3 DUP7 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1A86 JUMPI PUSH2 0x1A85 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A94 DUP7 DUP3 DUP8 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1AA5 DUP7 DUP3 DUP8 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1AB6 DUP7 DUP3 DUP8 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AD6 JUMPI PUSH2 0x1AD5 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AE4 DUP5 DUP3 DUP6 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1AF6 DUP2 PUSH2 0x1864 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B13 DUP2 PUSH2 0x1AED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B30 JUMPI PUSH2 0x1B2F PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B3E DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B4F DUP6 DUP3 DUP7 ADD PUSH2 0x1B04 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1B9B DUP3 PUSH2 0x18E0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1BBA JUMPI PUSH2 0x1BB9 PUSH2 0x1B63 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BCD PUSH2 0x17CB JUMP JUMPDEST SWAP1 POP PUSH2 0x1BD9 DUP3 DUP3 PUSH2 0x1B92 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BF9 JUMPI PUSH2 0x1BF8 PUSH2 0x1B63 JUMP JUMPDEST JUMPDEST PUSH2 0x1C02 DUP3 PUSH2 0x18E0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C31 PUSH2 0x1C2C DUP5 PUSH2 0x1BDE JUMP JUMPDEST PUSH2 0x1BC3 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C4D JUMPI PUSH2 0x1C4C PUSH2 0x1B5E JUMP JUMPDEST JUMPDEST PUSH2 0x1C58 DUP5 DUP3 DUP6 PUSH2 0x1C0F JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C75 JUMPI PUSH2 0x1C74 PUSH2 0x1B59 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1C85 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C1E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1CA8 JUMPI PUSH2 0x1CA7 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CB6 DUP8 DUP3 DUP9 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x1CC7 DUP8 DUP3 DUP9 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x1CD8 DUP8 DUP3 DUP9 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1CF9 JUMPI PUSH2 0x1CF8 PUSH2 0x17DA JUMP JUMPDEST JUMPDEST PUSH2 0x1D05 DUP8 DUP3 DUP9 ADD PUSH2 0x1C60 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D28 JUMPI PUSH2 0x1D27 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D36 DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1D47 DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1D98 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1DAB JUMPI PUSH2 0x1DAA PUSH2 0x1D51 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E0D PUSH1 0x21 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E18 DUP3 PUSH2 0x1DB1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E3C DUP2 PUSH2 0x1E00 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E9F PUSH1 0x3D DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EAA DUP3 PUSH2 0x1E43 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1ECE DUP2 PUSH2 0x1E92 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1F0F DUP3 PUSH2 0x1797 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1F41 JUMPI PUSH2 0x1F40 PUSH2 0x1ED5 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x72206F7220617070726F76656400000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA8 PUSH1 0x2D DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FB3 DUP3 PUSH2 0x1F4C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1FD7 DUP2 PUSH2 0x1F9B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20696E76616C696420746F6B656E2049440000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2014 PUSH1 0x18 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x201F DUP3 PUSH2 0x1FDE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2043 DUP2 PUSH2 0x2007 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C6964206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A6 PUSH1 0x29 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x20B1 DUP3 PUSH2 0x204A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x20D5 DUP2 PUSH2 0x2099 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20F2 DUP3 PUSH2 0x189A JUMP JUMPDEST PUSH2 0x20FC DUP2 DUP6 PUSH2 0x20DC JUMP JUMPDEST SWAP4 POP PUSH2 0x210C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18B6 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2124 DUP3 DUP6 PUSH2 0x20E7 JUMP JUMPDEST SWAP2 POP PUSH2 0x2130 DUP3 DUP5 PUSH2 0x20E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F776E6572000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2198 PUSH1 0x25 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x21A3 DUP3 PUSH2 0x213C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21C7 DUP2 PUSH2 0x218B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x222A PUSH1 0x24 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x2235 DUP3 PUSH2 0x21CE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2259 DUP2 PUSH2 0x221D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2296 PUSH1 0x19 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x22A1 DUP3 PUSH2 0x2260 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22C5 DUP2 PUSH2 0x2289 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63656976657220696D706C656D656E7465720000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2328 PUSH1 0x32 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x2333 DUP3 PUSH2 0x22CC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2357 DUP2 PUSH2 0x231B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23B4 DUP3 PUSH2 0x238D JUMP JUMPDEST PUSH2 0x23BE DUP2 DUP6 PUSH2 0x2398 JUMP JUMPDEST SWAP4 POP PUSH2 0x23CE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18B6 JUMP JUMPDEST PUSH2 0x23D7 DUP2 PUSH2 0x18E0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x23F7 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x2404 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x2411 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x17A1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x2423 DUP2 DUP5 PUSH2 0x23A9 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x243D DUP2 PUSH2 0x180B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2459 JUMPI PUSH2 0x2458 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2467 DUP5 DUP3 DUP6 ADD PUSH2 0x242E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24A6 PUSH1 0x20 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x24B1 DUP3 PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x24D5 DUP2 PUSH2 0x2499 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2512 PUSH1 0x1C DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x251D DUP3 PUSH2 0x24DC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2541 DUP2 PUSH2 0x2505 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAD 0xA8 SWAP2 POP 0xC5 0xD7 0x2A 0xAF DUP4 REVERT CALLDATALOAD MLOAD GAS 0xB6 0xE6 PUSH30 0xF75E9D0B0F8827FE1173D36182B4852A64736F6C63430008190033000000 ", + "sourceMap": "84:253:11:-:0;;;153:71;;;;;;;;;;1390:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1464:5;1456;:13;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;:::i;:::-;;1390:113;;216:1:11::1;199:14;:18;;;;84:253:::0;;7:99:12;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;84:253:11:-;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_afterTokenTransfer_910": { + "entryPoint": 4727, + "id": 910, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_approve_776": { + "entryPoint": 2694, + "id": 776, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_baseURI_213": { + "entryPoint": 4336, + "id": 213, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_beforeTokenTransfer_897": { + "entryPoint": 4721, + "id": 897, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_checkOnERC721Received_884": { + "entryPoint": 4733, + "id": 884, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@_exists_445": { + "entryPoint": 4565, + "id": 445, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@_isApprovedOrOwner_479": { + "entryPoint": 2909, + "id": 479, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_mint_600": { + "entryPoint": 5463, + "id": 600, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_msgSender_1429": { + "entryPoint": 2686, + "id": 1429, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_ownerOf_427": { + "entryPoint": 3819, + "id": 427, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@_requireMinted_822": { + "entryPoint": 2611, + "id": 822, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_safeMint_494": { + "entryPoint": 2879, + "id": 494, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_safeMint_523": { + "entryPoint": 4630, + "id": 523, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_safeTransfer_414": { + "entryPoint": 4244, + "id": 414, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_setApprovalForAll_808": { + "entryPoint": 3880, + "id": 808, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_transfer_752": { + "entryPoint": 3058, + "id": 752, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@approve_256": { + "entryPoint": 1225, + "id": 256, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@balanceOf_117": { + "entryPoint": 1804, + "id": 117, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@currentTokenId_2690": { + "entryPoint": 777, + "id": 2690, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@getApproved_274": { + "entryPoint": 1155, + "id": 274, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isApprovedForAll_309": { + "entryPoint": 2357, + "id": 309, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@isContract_1105": { + "entryPoint": 6004, + "id": 1105, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@log10_2415": { + "entryPoint": 5124, + "id": 2415, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@mint_2715": { + "entryPoint": 1504, + "id": 2715, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@name_155": { + "entryPoint": 1009, + "id": 155, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@ownerOf_145": { + "entryPoint": 1670, + "id": 145, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@safeTransferFrom_355": { + "entryPoint": 1638, + "id": 355, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@safeTransferFrom_385": { + "entryPoint": 2155, + "id": 385, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@setApprovalForAll_291": { + "entryPoint": 2133, + "id": 291, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@supportsInterface_1699": { + "entryPoint": 2505, + "id": 1699, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@supportsInterface_93": { + "entryPoint": 783, + "id": 93, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@symbol_165": { + "entryPoint": 1987, + "id": 165, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@toString_1506": { + "entryPoint": 4359, + "id": 1506, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@tokenURI_204": { + "entryPoint": 2253, + "id": 204, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@transferFrom_336": { + "entryPoint": 1542, + "id": 336, + "parameterSlots": 3, + "returnSlots": 0 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 7198, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 6680, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bool": { + "entryPoint": 6916, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4": { + "entryPoint": 6178, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4_fromMemory": { + "entryPoint": 9262, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 7264, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 6499, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 6848, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_address": { + "entryPoint": 7441, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_addresst_uint256": { + "entryPoint": 6765, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr": { + "entryPoint": 7310, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_addresst_bool": { + "entryPoint": 6937, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_uint256": { + "entryPoint": 6701, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bytes4": { + "entryPoint": 6199, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes4_fromMemory": { + "entryPoint": 9283, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256": { + "entryPoint": 6520, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 6615, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 6256, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 9129, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 6385, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 8423, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8091, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8987, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8587, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack": { + "entryPoint": 9477, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8733, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8841, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8345, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack": { + "entryPoint": 9369, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 8199, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7680, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack": { + "entryPoint": 7826, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 6049, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 8472, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 6630, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 9186, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 6271, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 6442, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8126, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 9022, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8622, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 9512, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8768, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8876, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8380, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 9404, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8234, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7715, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 7861, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 6064, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 7107, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 6091, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 7134, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 9101, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 6298, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 9112, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 6309, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 8412, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 6597, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 6244, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 6111, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 6565, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 6039, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 7183, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 6326, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 7552, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 7058, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "increment_t_uint256": { + "entryPoint": 7940, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 7893, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x12": { + "entryPoint": 9054, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x22": { + "entryPoint": 7505, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 7011, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 7001, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 7006, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 6106, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 6101, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 6368, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af": { + "entryPoint": 8012, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e": { + "entryPoint": 8908, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48": { + "entryPoint": 8508, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57": { + "entryPoint": 9436, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4": { + "entryPoint": 8654, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05": { + "entryPoint": 8800, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159": { + "entryPoint": 8266, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6": { + "entryPoint": 9328, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f": { + "entryPoint": 8158, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942": { + "entryPoint": 7601, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83": { + "entryPoint": 7747, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 6657, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bool": { + "entryPoint": 6893, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes4": { + "entryPoint": 6155, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 6476, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:25545:12", + "nodeType": "YulBlock", + "src": "0:25545:12", + "statements": [ + { + "body": { + "nativeSrc": "52:32:12", + "nodeType": "YulBlock", + "src": "52:32:12", + "statements": [ + { + "nativeSrc": "62:16:12", + "nodeType": "YulAssignment", + "src": "62:16:12", + "value": { + "name": "value", + "nativeSrc": "73:5:12", + "nodeType": "YulIdentifier", + "src": "73:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "62:7:12", + "nodeType": "YulIdentifier", + "src": "62:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "7:77:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "34:5:12", + "nodeType": "YulTypedName", + "src": "34:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "44:7:12", + "nodeType": "YulTypedName", + "src": "44:7:12", + "type": "" + } + ], + "src": "7:77:12" + }, + { + "body": { + "nativeSrc": "155:53:12", + "nodeType": "YulBlock", + "src": "155:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "172:3:12", + "nodeType": "YulIdentifier", + "src": "172:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "195:5:12", + "nodeType": "YulIdentifier", + "src": "195:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "177:17:12", + "nodeType": "YulIdentifier", + "src": "177:17:12" + }, + "nativeSrc": "177:24:12", + "nodeType": "YulFunctionCall", + "src": "177:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "165:6:12", + "nodeType": "YulIdentifier", + "src": "165:6:12" + }, + "nativeSrc": "165:37:12", + "nodeType": "YulFunctionCall", + "src": "165:37:12" + }, + "nativeSrc": "165:37:12", + "nodeType": "YulExpressionStatement", + "src": "165:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "90:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "143:5:12", + "nodeType": "YulTypedName", + "src": "143:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "150:3:12", + "nodeType": "YulTypedName", + "src": "150:3:12", + "type": "" + } + ], + "src": "90:118:12" + }, + { + "body": { + "nativeSrc": "312:124:12", + "nodeType": "YulBlock", + "src": "312:124:12", + "statements": [ + { + "nativeSrc": "322:26:12", + "nodeType": "YulAssignment", + "src": "322:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "334:9:12", + "nodeType": "YulIdentifier", + "src": "334:9:12" + }, + { + "kind": "number", + "nativeSrc": "345:2:12", + "nodeType": "YulLiteral", + "src": "345:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "330:3:12", + "nodeType": "YulIdentifier", + "src": "330:3:12" + }, + "nativeSrc": "330:18:12", + "nodeType": "YulFunctionCall", + "src": "330:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "322:4:12", + "nodeType": "YulIdentifier", + "src": "322:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "402:6:12", + "nodeType": "YulIdentifier", + "src": "402:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "415:9:12", + "nodeType": "YulIdentifier", + "src": "415:9:12" + }, + { + "kind": "number", + "nativeSrc": "426:1:12", + "nodeType": "YulLiteral", + "src": "426:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "411:3:12", + "nodeType": "YulIdentifier", + "src": "411:3:12" + }, + "nativeSrc": "411:17:12", + "nodeType": "YulFunctionCall", + "src": "411:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "358:43:12", + "nodeType": "YulIdentifier", + "src": "358:43:12" + }, + "nativeSrc": "358:71:12", + "nodeType": "YulFunctionCall", + "src": "358:71:12" + }, + "nativeSrc": "358:71:12", + "nodeType": "YulExpressionStatement", + "src": "358:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "214:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "284:9:12", + "nodeType": "YulTypedName", + "src": "284:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "296:6:12", + "nodeType": "YulTypedName", + "src": "296:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "307:4:12", + "nodeType": "YulTypedName", + "src": "307:4:12", + "type": "" + } + ], + "src": "214:222:12" + }, + { + "body": { + "nativeSrc": "482:35:12", + "nodeType": "YulBlock", + "src": "482:35:12", + "statements": [ + { + "nativeSrc": "492:19:12", + "nodeType": "YulAssignment", + "src": "492:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "508:2:12", + "nodeType": "YulLiteral", + "src": "508:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "502:5:12", + "nodeType": "YulIdentifier", + "src": "502:5:12" + }, + "nativeSrc": "502:9:12", + "nodeType": "YulFunctionCall", + "src": "502:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "492:6:12", + "nodeType": "YulIdentifier", + "src": "492:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "442:75:12", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "475:6:12", + "nodeType": "YulTypedName", + "src": "475:6:12", + "type": "" + } + ], + "src": "442:75:12" + }, + { + "body": { + "nativeSrc": "612:28:12", + "nodeType": "YulBlock", + "src": "612:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "629:1:12", + "nodeType": "YulLiteral", + "src": "629:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "632:1:12", + "nodeType": "YulLiteral", + "src": "632:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "622:6:12", + "nodeType": "YulIdentifier", + "src": "622:6:12" + }, + "nativeSrc": "622:12:12", + "nodeType": "YulFunctionCall", + "src": "622:12:12" + }, + "nativeSrc": "622:12:12", + "nodeType": "YulExpressionStatement", + "src": "622:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "523:117:12", + "nodeType": "YulFunctionDefinition", + "src": "523:117:12" + }, + { + "body": { + "nativeSrc": "735:28:12", + "nodeType": "YulBlock", + "src": "735:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "752:1:12", + "nodeType": "YulLiteral", + "src": "752:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "755:1:12", + "nodeType": "YulLiteral", + "src": "755:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "745:6:12", + "nodeType": "YulIdentifier", + "src": "745:6:12" + }, + "nativeSrc": "745:12:12", + "nodeType": "YulFunctionCall", + "src": "745:12:12" + }, + "nativeSrc": "745:12:12", + "nodeType": "YulExpressionStatement", + "src": "745:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "646:117:12", + "nodeType": "YulFunctionDefinition", + "src": "646:117:12" + }, + { + "body": { + "nativeSrc": "813:105:12", + "nodeType": "YulBlock", + "src": "813:105:12", + "statements": [ + { + "nativeSrc": "823:89:12", + "nodeType": "YulAssignment", + "src": "823:89:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "838:5:12", + "nodeType": "YulIdentifier", + "src": "838:5:12" + }, + { + "kind": "number", + "nativeSrc": "845:66:12", + "nodeType": "YulLiteral", + "src": "845:66:12", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "834:3:12", + "nodeType": "YulIdentifier", + "src": "834:3:12" + }, + "nativeSrc": "834:78:12", + "nodeType": "YulFunctionCall", + "src": "834:78:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "823:7:12", + "nodeType": "YulIdentifier", + "src": "823:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "769:149:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "795:5:12", + "nodeType": "YulTypedName", + "src": "795:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "805:7:12", + "nodeType": "YulTypedName", + "src": "805:7:12", + "type": "" + } + ], + "src": "769:149:12" + }, + { + "body": { + "nativeSrc": "966:78:12", + "nodeType": "YulBlock", + "src": "966:78:12", + "statements": [ + { + "body": { + "nativeSrc": "1022:16:12", + "nodeType": "YulBlock", + "src": "1022:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1031:1:12", + "nodeType": "YulLiteral", + "src": "1031:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1034:1:12", + "nodeType": "YulLiteral", + "src": "1034:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1024:6:12", + "nodeType": "YulIdentifier", + "src": "1024:6:12" + }, + "nativeSrc": "1024:12:12", + "nodeType": "YulFunctionCall", + "src": "1024:12:12" + }, + "nativeSrc": "1024:12:12", + "nodeType": "YulExpressionStatement", + "src": "1024:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "989:5:12", + "nodeType": "YulIdentifier", + "src": "989:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1013:5:12", + "nodeType": "YulIdentifier", + "src": "1013:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "996:16:12", + "nodeType": "YulIdentifier", + "src": "996:16:12" + }, + "nativeSrc": "996:23:12", + "nodeType": "YulFunctionCall", + "src": "996:23:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "986:2:12", + "nodeType": "YulIdentifier", + "src": "986:2:12" + }, + "nativeSrc": "986:34:12", + "nodeType": "YulFunctionCall", + "src": "986:34:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "979:6:12", + "nodeType": "YulIdentifier", + "src": "979:6:12" + }, + "nativeSrc": "979:42:12", + "nodeType": "YulFunctionCall", + "src": "979:42:12" + }, + "nativeSrc": "976:62:12", + "nodeType": "YulIf", + "src": "976:62:12" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nativeSrc": "924:120:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "959:5:12", + "nodeType": "YulTypedName", + "src": "959:5:12", + "type": "" + } + ], + "src": "924:120:12" + }, + { + "body": { + "nativeSrc": "1101:86:12", + "nodeType": "YulBlock", + "src": "1101:86:12", + "statements": [ + { + "nativeSrc": "1111:29:12", + "nodeType": "YulAssignment", + "src": "1111:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1133:6:12", + "nodeType": "YulIdentifier", + "src": "1133:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1120:12:12", + "nodeType": "YulIdentifier", + "src": "1120:12:12" + }, + "nativeSrc": "1120:20:12", + "nodeType": "YulFunctionCall", + "src": "1120:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1111:5:12", + "nodeType": "YulIdentifier", + "src": "1111:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1175:5:12", + "nodeType": "YulIdentifier", + "src": "1175:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "1149:25:12", + "nodeType": "YulIdentifier", + "src": "1149:25:12" + }, + "nativeSrc": "1149:32:12", + "nodeType": "YulFunctionCall", + "src": "1149:32:12" + }, + "nativeSrc": "1149:32:12", + "nodeType": "YulExpressionStatement", + "src": "1149:32:12" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nativeSrc": "1050:137:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1079:6:12", + "nodeType": "YulTypedName", + "src": "1079:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1087:3:12", + "nodeType": "YulTypedName", + "src": "1087:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1095:5:12", + "nodeType": "YulTypedName", + "src": "1095:5:12", + "type": "" + } + ], + "src": "1050:137:12" + }, + { + "body": { + "nativeSrc": "1258:262:12", + "nodeType": "YulBlock", + "src": "1258:262:12", + "statements": [ + { + "body": { + "nativeSrc": "1304:83:12", + "nodeType": "YulBlock", + "src": "1304:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1306:77:12", + "nodeType": "YulIdentifier", + "src": "1306:77:12" + }, + "nativeSrc": "1306:79:12", + "nodeType": "YulFunctionCall", + "src": "1306:79:12" + }, + "nativeSrc": "1306:79:12", + "nodeType": "YulExpressionStatement", + "src": "1306:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1279:7:12", + "nodeType": "YulIdentifier", + "src": "1279:7:12" + }, + { + "name": "headStart", + "nativeSrc": "1288:9:12", + "nodeType": "YulIdentifier", + "src": "1288:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1275:3:12", + "nodeType": "YulIdentifier", + "src": "1275:3:12" + }, + "nativeSrc": "1275:23:12", + "nodeType": "YulFunctionCall", + "src": "1275:23:12" + }, + { + "kind": "number", + "nativeSrc": "1300:2:12", + "nodeType": "YulLiteral", + "src": "1300:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1271:3:12", + "nodeType": "YulIdentifier", + "src": "1271:3:12" + }, + "nativeSrc": "1271:32:12", + "nodeType": "YulFunctionCall", + "src": "1271:32:12" + }, + "nativeSrc": "1268:119:12", + "nodeType": "YulIf", + "src": "1268:119:12" + }, + { + "nativeSrc": "1397:116:12", + "nodeType": "YulBlock", + "src": "1397:116:12", + "statements": [ + { + "nativeSrc": "1412:15:12", + "nodeType": "YulVariableDeclaration", + "src": "1412:15:12", + "value": { + "kind": "number", + "nativeSrc": "1426:1:12", + "nodeType": "YulLiteral", + "src": "1426:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1416:6:12", + "nodeType": "YulTypedName", + "src": "1416:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "1441:62:12", + "nodeType": "YulAssignment", + "src": "1441:62:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1475:9:12", + "nodeType": "YulIdentifier", + "src": "1475:9:12" + }, + { + "name": "offset", + "nativeSrc": "1486:6:12", + "nodeType": "YulIdentifier", + "src": "1486:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1471:3:12", + "nodeType": "YulIdentifier", + "src": "1471:3:12" + }, + "nativeSrc": "1471:22:12", + "nodeType": "YulFunctionCall", + "src": "1471:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "1495:7:12", + "nodeType": "YulIdentifier", + "src": "1495:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nativeSrc": "1451:19:12", + "nodeType": "YulIdentifier", + "src": "1451:19:12" + }, + "nativeSrc": "1451:52:12", + "nodeType": "YulFunctionCall", + "src": "1451:52:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1441:6:12", + "nodeType": "YulIdentifier", + "src": "1441:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nativeSrc": "1193:327:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1228:9:12", + "nodeType": "YulTypedName", + "src": "1228:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1239:7:12", + "nodeType": "YulTypedName", + "src": "1239:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1251:6:12", + "nodeType": "YulTypedName", + "src": "1251:6:12", + "type": "" + } + ], + "src": "1193:327:12" + }, + { + "body": { + "nativeSrc": "1568:48:12", + "nodeType": "YulBlock", + "src": "1568:48:12", + "statements": [ + { + "nativeSrc": "1578:32:12", + "nodeType": "YulAssignment", + "src": "1578:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1603:5:12", + "nodeType": "YulIdentifier", + "src": "1603:5:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1596:6:12", + "nodeType": "YulIdentifier", + "src": "1596:6:12" + }, + "nativeSrc": "1596:13:12", + "nodeType": "YulFunctionCall", + "src": "1596:13:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1589:6:12", + "nodeType": "YulIdentifier", + "src": "1589:6:12" + }, + "nativeSrc": "1589:21:12", + "nodeType": "YulFunctionCall", + "src": "1589:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1578:7:12", + "nodeType": "YulIdentifier", + "src": "1578:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "1526:90:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1550:5:12", + "nodeType": "YulTypedName", + "src": "1550:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1560:7:12", + "nodeType": "YulTypedName", + "src": "1560:7:12", + "type": "" + } + ], + "src": "1526:90:12" + }, + { + "body": { + "nativeSrc": "1681:50:12", + "nodeType": "YulBlock", + "src": "1681:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1698:3:12", + "nodeType": "YulIdentifier", + "src": "1698:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1718:5:12", + "nodeType": "YulIdentifier", + "src": "1718:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "1703:14:12", + "nodeType": "YulIdentifier", + "src": "1703:14:12" + }, + "nativeSrc": "1703:21:12", + "nodeType": "YulFunctionCall", + "src": "1703:21:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1691:6:12", + "nodeType": "YulIdentifier", + "src": "1691:6:12" + }, + "nativeSrc": "1691:34:12", + "nodeType": "YulFunctionCall", + "src": "1691:34:12" + }, + "nativeSrc": "1691:34:12", + "nodeType": "YulExpressionStatement", + "src": "1691:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1622:109:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1669:5:12", + "nodeType": "YulTypedName", + "src": "1669:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1676:3:12", + "nodeType": "YulTypedName", + "src": "1676:3:12", + "type": "" + } + ], + "src": "1622:109:12" + }, + { + "body": { + "nativeSrc": "1829:118:12", + "nodeType": "YulBlock", + "src": "1829:118:12", + "statements": [ + { + "nativeSrc": "1839:26:12", + "nodeType": "YulAssignment", + "src": "1839:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1851:9:12", + "nodeType": "YulIdentifier", + "src": "1851:9:12" + }, + { + "kind": "number", + "nativeSrc": "1862:2:12", + "nodeType": "YulLiteral", + "src": "1862:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1847:3:12", + "nodeType": "YulIdentifier", + "src": "1847:3:12" + }, + "nativeSrc": "1847:18:12", + "nodeType": "YulFunctionCall", + "src": "1847:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1839:4:12", + "nodeType": "YulIdentifier", + "src": "1839:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1913:6:12", + "nodeType": "YulIdentifier", + "src": "1913:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1926:9:12", + "nodeType": "YulIdentifier", + "src": "1926:9:12" + }, + { + "kind": "number", + "nativeSrc": "1937:1:12", + "nodeType": "YulLiteral", + "src": "1937:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1922:3:12", + "nodeType": "YulIdentifier", + "src": "1922:3:12" + }, + "nativeSrc": "1922:17:12", + "nodeType": "YulFunctionCall", + "src": "1922:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1875:37:12", + "nodeType": "YulIdentifier", + "src": "1875:37:12" + }, + "nativeSrc": "1875:65:12", + "nodeType": "YulFunctionCall", + "src": "1875:65:12" + }, + "nativeSrc": "1875:65:12", + "nodeType": "YulExpressionStatement", + "src": "1875:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "1737:210:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1801:9:12", + "nodeType": "YulTypedName", + "src": "1801:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1813:6:12", + "nodeType": "YulTypedName", + "src": "1813:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1824:4:12", + "nodeType": "YulTypedName", + "src": "1824:4:12", + "type": "" + } + ], + "src": "1737:210:12" + }, + { + "body": { + "nativeSrc": "2012:40:12", + "nodeType": "YulBlock", + "src": "2012:40:12", + "statements": [ + { + "nativeSrc": "2023:22:12", + "nodeType": "YulAssignment", + "src": "2023:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2039:5:12", + "nodeType": "YulIdentifier", + "src": "2039:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2033:5:12", + "nodeType": "YulIdentifier", + "src": "2033:5:12" + }, + "nativeSrc": "2033:12:12", + "nodeType": "YulFunctionCall", + "src": "2033:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "2023:6:12", + "nodeType": "YulIdentifier", + "src": "2023:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1953:99:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1995:5:12", + "nodeType": "YulTypedName", + "src": "1995:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "2005:6:12", + "nodeType": "YulTypedName", + "src": "2005:6:12", + "type": "" + } + ], + "src": "1953:99:12" + }, + { + "body": { + "nativeSrc": "2154:73:12", + "nodeType": "YulBlock", + "src": "2154:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2171:3:12", + "nodeType": "YulIdentifier", + "src": "2171:3:12" + }, + { + "name": "length", + "nativeSrc": "2176:6:12", + "nodeType": "YulIdentifier", + "src": "2176:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2164:6:12", + "nodeType": "YulIdentifier", + "src": "2164:6:12" + }, + "nativeSrc": "2164:19:12", + "nodeType": "YulFunctionCall", + "src": "2164:19:12" + }, + "nativeSrc": "2164:19:12", + "nodeType": "YulExpressionStatement", + "src": "2164:19:12" + }, + { + "nativeSrc": "2192:29:12", + "nodeType": "YulAssignment", + "src": "2192:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2211:3:12", + "nodeType": "YulIdentifier", + "src": "2211:3:12" + }, + { + "kind": "number", + "nativeSrc": "2216:4:12", + "nodeType": "YulLiteral", + "src": "2216:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2207:3:12", + "nodeType": "YulIdentifier", + "src": "2207:3:12" + }, + "nativeSrc": "2207:14:12", + "nodeType": "YulFunctionCall", + "src": "2207:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "2192:11:12", + "nodeType": "YulIdentifier", + "src": "2192:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "2058:169:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "2126:3:12", + "nodeType": "YulTypedName", + "src": "2126:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2131:6:12", + "nodeType": "YulTypedName", + "src": "2131:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "2142:11:12", + "nodeType": "YulTypedName", + "src": "2142:11:12", + "type": "" + } + ], + "src": "2058:169:12" + }, + { + "body": { + "nativeSrc": "2295:186:12", + "nodeType": "YulBlock", + "src": "2295:186:12", + "statements": [ + { + "nativeSrc": "2306:10:12", + "nodeType": "YulVariableDeclaration", + "src": "2306:10:12", + "value": { + "kind": "number", + "nativeSrc": "2315:1:12", + "nodeType": "YulLiteral", + "src": "2315:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "2310:1:12", + "nodeType": "YulTypedName", + "src": "2310:1:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2375:63:12", + "nodeType": "YulBlock", + "src": "2375:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2400:3:12", + "nodeType": "YulIdentifier", + "src": "2400:3:12" + }, + { + "name": "i", + "nativeSrc": "2405:1:12", + "nodeType": "YulIdentifier", + "src": "2405:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2396:3:12", + "nodeType": "YulIdentifier", + "src": "2396:3:12" + }, + "nativeSrc": "2396:11:12", + "nodeType": "YulFunctionCall", + "src": "2396:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2419:3:12", + "nodeType": "YulIdentifier", + "src": "2419:3:12" + }, + { + "name": "i", + "nativeSrc": "2424:1:12", + "nodeType": "YulIdentifier", + "src": "2424:1:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2415:3:12", + "nodeType": "YulIdentifier", + "src": "2415:3:12" + }, + "nativeSrc": "2415:11:12", + "nodeType": "YulFunctionCall", + "src": "2415:11:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2409:5:12", + "nodeType": "YulIdentifier", + "src": "2409:5:12" + }, + "nativeSrc": "2409:18:12", + "nodeType": "YulFunctionCall", + "src": "2409:18:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2389:6:12", + "nodeType": "YulIdentifier", + "src": "2389:6:12" + }, + "nativeSrc": "2389:39:12", + "nodeType": "YulFunctionCall", + "src": "2389:39:12" + }, + "nativeSrc": "2389:39:12", + "nodeType": "YulExpressionStatement", + "src": "2389:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "2336:1:12", + "nodeType": "YulIdentifier", + "src": "2336:1:12" + }, + { + "name": "length", + "nativeSrc": "2339:6:12", + "nodeType": "YulIdentifier", + "src": "2339:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2333:2:12", + "nodeType": "YulIdentifier", + "src": "2333:2:12" + }, + "nativeSrc": "2333:13:12", + "nodeType": "YulFunctionCall", + "src": "2333:13:12" + }, + "nativeSrc": "2325:113:12", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "2347:19:12", + "nodeType": "YulBlock", + "src": "2347:19:12", + "statements": [ + { + "nativeSrc": "2349:15:12", + "nodeType": "YulAssignment", + "src": "2349:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "2358:1:12", + "nodeType": "YulIdentifier", + "src": "2358:1:12" + }, + { + "kind": "number", + "nativeSrc": "2361:2:12", + "nodeType": "YulLiteral", + "src": "2361:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2354:3:12", + "nodeType": "YulIdentifier", + "src": "2354:3:12" + }, + "nativeSrc": "2354:10:12", + "nodeType": "YulFunctionCall", + "src": "2354:10:12" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "2349:1:12", + "nodeType": "YulIdentifier", + "src": "2349:1:12" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "2329:3:12", + "nodeType": "YulBlock", + "src": "2329:3:12", + "statements": [] + }, + "src": "2325:113:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2458:3:12", + "nodeType": "YulIdentifier", + "src": "2458:3:12" + }, + { + "name": "length", + "nativeSrc": "2463:6:12", + "nodeType": "YulIdentifier", + "src": "2463:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2454:3:12", + "nodeType": "YulIdentifier", + "src": "2454:3:12" + }, + "nativeSrc": "2454:16:12", + "nodeType": "YulFunctionCall", + "src": "2454:16:12" + }, + { + "kind": "number", + "nativeSrc": "2472:1:12", + "nodeType": "YulLiteral", + "src": "2472:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2447:6:12", + "nodeType": "YulIdentifier", + "src": "2447:6:12" + }, + "nativeSrc": "2447:27:12", + "nodeType": "YulFunctionCall", + "src": "2447:27:12" + }, + "nativeSrc": "2447:27:12", + "nodeType": "YulExpressionStatement", + "src": "2447:27:12" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2233:248:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "2277:3:12", + "nodeType": "YulTypedName", + "src": "2277:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "2282:3:12", + "nodeType": "YulTypedName", + "src": "2282:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2287:6:12", + "nodeType": "YulTypedName", + "src": "2287:6:12", + "type": "" + } + ], + "src": "2233:248:12" + }, + { + "body": { + "nativeSrc": "2535:54:12", + "nodeType": "YulBlock", + "src": "2535:54:12", + "statements": [ + { + "nativeSrc": "2545:38:12", + "nodeType": "YulAssignment", + "src": "2545:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2563:5:12", + "nodeType": "YulIdentifier", + "src": "2563:5:12" + }, + { + "kind": "number", + "nativeSrc": "2570:2:12", + "nodeType": "YulLiteral", + "src": "2570:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2559:3:12", + "nodeType": "YulIdentifier", + "src": "2559:3:12" + }, + "nativeSrc": "2559:14:12", + "nodeType": "YulFunctionCall", + "src": "2559:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2579:2:12", + "nodeType": "YulLiteral", + "src": "2579:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2575:3:12", + "nodeType": "YulIdentifier", + "src": "2575:3:12" + }, + "nativeSrc": "2575:7:12", + "nodeType": "YulFunctionCall", + "src": "2575:7:12" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2555:3:12", + "nodeType": "YulIdentifier", + "src": "2555:3:12" + }, + "nativeSrc": "2555:28:12", + "nodeType": "YulFunctionCall", + "src": "2555:28:12" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "2545:6:12", + "nodeType": "YulIdentifier", + "src": "2545:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "2487:102:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2518:5:12", + "nodeType": "YulTypedName", + "src": "2518:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "2528:6:12", + "nodeType": "YulTypedName", + "src": "2528:6:12", + "type": "" + } + ], + "src": "2487:102:12" + }, + { + "body": { + "nativeSrc": "2687:285:12", + "nodeType": "YulBlock", + "src": "2687:285:12", + "statements": [ + { + "nativeSrc": "2697:53:12", + "nodeType": "YulVariableDeclaration", + "src": "2697:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2744:5:12", + "nodeType": "YulIdentifier", + "src": "2744:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "2711:32:12", + "nodeType": "YulIdentifier", + "src": "2711:32:12" + }, + "nativeSrc": "2711:39:12", + "nodeType": "YulFunctionCall", + "src": "2711:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2701:6:12", + "nodeType": "YulTypedName", + "src": "2701:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "2759:78:12", + "nodeType": "YulAssignment", + "src": "2759:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2825:3:12", + "nodeType": "YulIdentifier", + "src": "2825:3:12" + }, + { + "name": "length", + "nativeSrc": "2830:6:12", + "nodeType": "YulIdentifier", + "src": "2830:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "2766:58:12", + "nodeType": "YulIdentifier", + "src": "2766:58:12" + }, + "nativeSrc": "2766:71:12", + "nodeType": "YulFunctionCall", + "src": "2766:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2759:3:12", + "nodeType": "YulIdentifier", + "src": "2759:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2885:5:12", + "nodeType": "YulIdentifier", + "src": "2885:5:12" + }, + { + "kind": "number", + "nativeSrc": "2892:4:12", + "nodeType": "YulLiteral", + "src": "2892:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2881:3:12", + "nodeType": "YulIdentifier", + "src": "2881:3:12" + }, + "nativeSrc": "2881:16:12", + "nodeType": "YulFunctionCall", + "src": "2881:16:12" + }, + { + "name": "pos", + "nativeSrc": "2899:3:12", + "nodeType": "YulIdentifier", + "src": "2899:3:12" + }, + { + "name": "length", + "nativeSrc": "2904:6:12", + "nodeType": "YulIdentifier", + "src": "2904:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2846:34:12", + "nodeType": "YulIdentifier", + "src": "2846:34:12" + }, + "nativeSrc": "2846:65:12", + "nodeType": "YulFunctionCall", + "src": "2846:65:12" + }, + "nativeSrc": "2846:65:12", + "nodeType": "YulExpressionStatement", + "src": "2846:65:12" + }, + { + "nativeSrc": "2920:46:12", + "nodeType": "YulAssignment", + "src": "2920:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2931:3:12", + "nodeType": "YulIdentifier", + "src": "2931:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2958:6:12", + "nodeType": "YulIdentifier", + "src": "2958:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2936:21:12", + "nodeType": "YulIdentifier", + "src": "2936:21:12" + }, + "nativeSrc": "2936:29:12", + "nodeType": "YulFunctionCall", + "src": "2936:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2927:3:12", + "nodeType": "YulIdentifier", + "src": "2927:3:12" + }, + "nativeSrc": "2927:39:12", + "nodeType": "YulFunctionCall", + "src": "2927:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2920:3:12", + "nodeType": "YulIdentifier", + "src": "2920:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "2595:377:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2668:5:12", + "nodeType": "YulTypedName", + "src": "2668:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2675:3:12", + "nodeType": "YulTypedName", + "src": "2675:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2683:3:12", + "nodeType": "YulTypedName", + "src": "2683:3:12", + "type": "" + } + ], + "src": "2595:377:12" + }, + { + "body": { + "nativeSrc": "3096:195:12", + "nodeType": "YulBlock", + "src": "3096:195:12", + "statements": [ + { + "nativeSrc": "3106:26:12", + "nodeType": "YulAssignment", + "src": "3106:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3118:9:12", + "nodeType": "YulIdentifier", + "src": "3118:9:12" + }, + { + "kind": "number", + "nativeSrc": "3129:2:12", + "nodeType": "YulLiteral", + "src": "3129:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3114:3:12", + "nodeType": "YulIdentifier", + "src": "3114:3:12" + }, + "nativeSrc": "3114:18:12", + "nodeType": "YulFunctionCall", + "src": "3114:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3106:4:12", + "nodeType": "YulIdentifier", + "src": "3106:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3153:9:12", + "nodeType": "YulIdentifier", + "src": "3153:9:12" + }, + { + "kind": "number", + "nativeSrc": "3164:1:12", + "nodeType": "YulLiteral", + "src": "3164:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3149:3:12", + "nodeType": "YulIdentifier", + "src": "3149:3:12" + }, + "nativeSrc": "3149:17:12", + "nodeType": "YulFunctionCall", + "src": "3149:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "3172:4:12", + "nodeType": "YulIdentifier", + "src": "3172:4:12" + }, + { + "name": "headStart", + "nativeSrc": "3178:9:12", + "nodeType": "YulIdentifier", + "src": "3178:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3168:3:12", + "nodeType": "YulIdentifier", + "src": "3168:3:12" + }, + "nativeSrc": "3168:20:12", + "nodeType": "YulFunctionCall", + "src": "3168:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3142:6:12", + "nodeType": "YulIdentifier", + "src": "3142:6:12" + }, + "nativeSrc": "3142:47:12", + "nodeType": "YulFunctionCall", + "src": "3142:47:12" + }, + "nativeSrc": "3142:47:12", + "nodeType": "YulExpressionStatement", + "src": "3142:47:12" + }, + { + "nativeSrc": "3198:86:12", + "nodeType": "YulAssignment", + "src": "3198:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3270:6:12", + "nodeType": "YulIdentifier", + "src": "3270:6:12" + }, + { + "name": "tail", + "nativeSrc": "3279:4:12", + "nodeType": "YulIdentifier", + "src": "3279:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "3206:63:12", + "nodeType": "YulIdentifier", + "src": "3206:63:12" + }, + "nativeSrc": "3206:78:12", + "nodeType": "YulFunctionCall", + "src": "3206:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3198:4:12", + "nodeType": "YulIdentifier", + "src": "3198:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "2978:313:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3068:9:12", + "nodeType": "YulTypedName", + "src": "3068:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3080:6:12", + "nodeType": "YulTypedName", + "src": "3080:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3091:4:12", + "nodeType": "YulTypedName", + "src": "3091:4:12", + "type": "" + } + ], + "src": "2978:313:12" + }, + { + "body": { + "nativeSrc": "3340:79:12", + "nodeType": "YulBlock", + "src": "3340:79:12", + "statements": [ + { + "body": { + "nativeSrc": "3397:16:12", + "nodeType": "YulBlock", + "src": "3397:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3406:1:12", + "nodeType": "YulLiteral", + "src": "3406:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3409:1:12", + "nodeType": "YulLiteral", + "src": "3409:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3399:6:12", + "nodeType": "YulIdentifier", + "src": "3399:6:12" + }, + "nativeSrc": "3399:12:12", + "nodeType": "YulFunctionCall", + "src": "3399:12:12" + }, + "nativeSrc": "3399:12:12", + "nodeType": "YulExpressionStatement", + "src": "3399:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3363:5:12", + "nodeType": "YulIdentifier", + "src": "3363:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3388:5:12", + "nodeType": "YulIdentifier", + "src": "3388:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3370:17:12", + "nodeType": "YulIdentifier", + "src": "3370:17:12" + }, + "nativeSrc": "3370:24:12", + "nodeType": "YulFunctionCall", + "src": "3370:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "3360:2:12", + "nodeType": "YulIdentifier", + "src": "3360:2:12" + }, + "nativeSrc": "3360:35:12", + "nodeType": "YulFunctionCall", + "src": "3360:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3353:6:12", + "nodeType": "YulIdentifier", + "src": "3353:6:12" + }, + "nativeSrc": "3353:43:12", + "nodeType": "YulFunctionCall", + "src": "3353:43:12" + }, + "nativeSrc": "3350:63:12", + "nodeType": "YulIf", + "src": "3350:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "3297:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3333:5:12", + "nodeType": "YulTypedName", + "src": "3333:5:12", + "type": "" + } + ], + "src": "3297:122:12" + }, + { + "body": { + "nativeSrc": "3477:87:12", + "nodeType": "YulBlock", + "src": "3477:87:12", + "statements": [ + { + "nativeSrc": "3487:29:12", + "nodeType": "YulAssignment", + "src": "3487:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3509:6:12", + "nodeType": "YulIdentifier", + "src": "3509:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3496:12:12", + "nodeType": "YulIdentifier", + "src": "3496:12:12" + }, + "nativeSrc": "3496:20:12", + "nodeType": "YulFunctionCall", + "src": "3496:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "3487:5:12", + "nodeType": "YulIdentifier", + "src": "3487:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3552:5:12", + "nodeType": "YulIdentifier", + "src": "3552:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "3525:26:12", + "nodeType": "YulIdentifier", + "src": "3525:26:12" + }, + "nativeSrc": "3525:33:12", + "nodeType": "YulFunctionCall", + "src": "3525:33:12" + }, + "nativeSrc": "3525:33:12", + "nodeType": "YulExpressionStatement", + "src": "3525:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "3425:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3455:6:12", + "nodeType": "YulTypedName", + "src": "3455:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3463:3:12", + "nodeType": "YulTypedName", + "src": "3463:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "3471:5:12", + "nodeType": "YulTypedName", + "src": "3471:5:12", + "type": "" + } + ], + "src": "3425:139:12" + }, + { + "body": { + "nativeSrc": "3636:263:12", + "nodeType": "YulBlock", + "src": "3636:263:12", + "statements": [ + { + "body": { + "nativeSrc": "3682:83:12", + "nodeType": "YulBlock", + "src": "3682:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3684:77:12", + "nodeType": "YulIdentifier", + "src": "3684:77:12" + }, + "nativeSrc": "3684:79:12", + "nodeType": "YulFunctionCall", + "src": "3684:79:12" + }, + "nativeSrc": "3684:79:12", + "nodeType": "YulExpressionStatement", + "src": "3684:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3657:7:12", + "nodeType": "YulIdentifier", + "src": "3657:7:12" + }, + { + "name": "headStart", + "nativeSrc": "3666:9:12", + "nodeType": "YulIdentifier", + "src": "3666:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3653:3:12", + "nodeType": "YulIdentifier", + "src": "3653:3:12" + }, + "nativeSrc": "3653:23:12", + "nodeType": "YulFunctionCall", + "src": "3653:23:12" + }, + { + "kind": "number", + "nativeSrc": "3678:2:12", + "nodeType": "YulLiteral", + "src": "3678:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3649:3:12", + "nodeType": "YulIdentifier", + "src": "3649:3:12" + }, + "nativeSrc": "3649:32:12", + "nodeType": "YulFunctionCall", + "src": "3649:32:12" + }, + "nativeSrc": "3646:119:12", + "nodeType": "YulIf", + "src": "3646:119:12" + }, + { + "nativeSrc": "3775:117:12", + "nodeType": "YulBlock", + "src": "3775:117:12", + "statements": [ + { + "nativeSrc": "3790:15:12", + "nodeType": "YulVariableDeclaration", + "src": "3790:15:12", + "value": { + "kind": "number", + "nativeSrc": "3804:1:12", + "nodeType": "YulLiteral", + "src": "3804:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3794:6:12", + "nodeType": "YulTypedName", + "src": "3794:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "3819:63:12", + "nodeType": "YulAssignment", + "src": "3819:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3854:9:12", + "nodeType": "YulIdentifier", + "src": "3854:9:12" + }, + { + "name": "offset", + "nativeSrc": "3865:6:12", + "nodeType": "YulIdentifier", + "src": "3865:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3850:3:12", + "nodeType": "YulIdentifier", + "src": "3850:3:12" + }, + "nativeSrc": "3850:22:12", + "nodeType": "YulFunctionCall", + "src": "3850:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "3874:7:12", + "nodeType": "YulIdentifier", + "src": "3874:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "3829:20:12", + "nodeType": "YulIdentifier", + "src": "3829:20:12" + }, + "nativeSrc": "3829:53:12", + "nodeType": "YulFunctionCall", + "src": "3829:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3819:6:12", + "nodeType": "YulIdentifier", + "src": "3819:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nativeSrc": "3570:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3606:9:12", + "nodeType": "YulTypedName", + "src": "3606:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3617:7:12", + "nodeType": "YulTypedName", + "src": "3617:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3629:6:12", + "nodeType": "YulTypedName", + "src": "3629:6:12", + "type": "" + } + ], + "src": "3570:329:12" + }, + { + "body": { + "nativeSrc": "3950:81:12", + "nodeType": "YulBlock", + "src": "3950:81:12", + "statements": [ + { + "nativeSrc": "3960:65:12", + "nodeType": "YulAssignment", + "src": "3960:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3975:5:12", + "nodeType": "YulIdentifier", + "src": "3975:5:12" + }, + { + "kind": "number", + "nativeSrc": "3982:42:12", + "nodeType": "YulLiteral", + "src": "3982:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "3971:3:12", + "nodeType": "YulIdentifier", + "src": "3971:3:12" + }, + "nativeSrc": "3971:54:12", + "nodeType": "YulFunctionCall", + "src": "3971:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3960:7:12", + "nodeType": "YulIdentifier", + "src": "3960:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "3905:126:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3932:5:12", + "nodeType": "YulTypedName", + "src": "3932:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3942:7:12", + "nodeType": "YulTypedName", + "src": "3942:7:12", + "type": "" + } + ], + "src": "3905:126:12" + }, + { + "body": { + "nativeSrc": "4082:51:12", + "nodeType": "YulBlock", + "src": "4082:51:12", + "statements": [ + { + "nativeSrc": "4092:35:12", + "nodeType": "YulAssignment", + "src": "4092:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4121:5:12", + "nodeType": "YulIdentifier", + "src": "4121:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "4103:17:12", + "nodeType": "YulIdentifier", + "src": "4103:17:12" + }, + "nativeSrc": "4103:24:12", + "nodeType": "YulFunctionCall", + "src": "4103:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4092:7:12", + "nodeType": "YulIdentifier", + "src": "4092:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "4037:96:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4064:5:12", + "nodeType": "YulTypedName", + "src": "4064:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4074:7:12", + "nodeType": "YulTypedName", + "src": "4074:7:12", + "type": "" + } + ], + "src": "4037:96:12" + }, + { + "body": { + "nativeSrc": "4204:53:12", + "nodeType": "YulBlock", + "src": "4204:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4221:3:12", + "nodeType": "YulIdentifier", + "src": "4221:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4244:5:12", + "nodeType": "YulIdentifier", + "src": "4244:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4226:17:12", + "nodeType": "YulIdentifier", + "src": "4226:17:12" + }, + "nativeSrc": "4226:24:12", + "nodeType": "YulFunctionCall", + "src": "4226:24:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4214:6:12", + "nodeType": "YulIdentifier", + "src": "4214:6:12" + }, + "nativeSrc": "4214:37:12", + "nodeType": "YulFunctionCall", + "src": "4214:37:12" + }, + "nativeSrc": "4214:37:12", + "nodeType": "YulExpressionStatement", + "src": "4214:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4139:118:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4192:5:12", + "nodeType": "YulTypedName", + "src": "4192:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4199:3:12", + "nodeType": "YulTypedName", + "src": "4199:3:12", + "type": "" + } + ], + "src": "4139:118:12" + }, + { + "body": { + "nativeSrc": "4361:124:12", + "nodeType": "YulBlock", + "src": "4361:124:12", + "statements": [ + { + "nativeSrc": "4371:26:12", + "nodeType": "YulAssignment", + "src": "4371:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4383:9:12", + "nodeType": "YulIdentifier", + "src": "4383:9:12" + }, + { + "kind": "number", + "nativeSrc": "4394:2:12", + "nodeType": "YulLiteral", + "src": "4394:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4379:3:12", + "nodeType": "YulIdentifier", + "src": "4379:3:12" + }, + "nativeSrc": "4379:18:12", + "nodeType": "YulFunctionCall", + "src": "4379:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4371:4:12", + "nodeType": "YulIdentifier", + "src": "4371:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4451:6:12", + "nodeType": "YulIdentifier", + "src": "4451:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4464:9:12", + "nodeType": "YulIdentifier", + "src": "4464:9:12" + }, + { + "kind": "number", + "nativeSrc": "4475:1:12", + "nodeType": "YulLiteral", + "src": "4475:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4460:3:12", + "nodeType": "YulIdentifier", + "src": "4460:3:12" + }, + "nativeSrc": "4460:17:12", + "nodeType": "YulFunctionCall", + "src": "4460:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4407:43:12", + "nodeType": "YulIdentifier", + "src": "4407:43:12" + }, + "nativeSrc": "4407:71:12", + "nodeType": "YulFunctionCall", + "src": "4407:71:12" + }, + "nativeSrc": "4407:71:12", + "nodeType": "YulExpressionStatement", + "src": "4407:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4263:222:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4333:9:12", + "nodeType": "YulTypedName", + "src": "4333:9:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4345:6:12", + "nodeType": "YulTypedName", + "src": "4345:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4356:4:12", + "nodeType": "YulTypedName", + "src": "4356:4:12", + "type": "" + } + ], + "src": "4263:222:12" + }, + { + "body": { + "nativeSrc": "4534:79:12", + "nodeType": "YulBlock", + "src": "4534:79:12", + "statements": [ + { + "body": { + "nativeSrc": "4591:16:12", + "nodeType": "YulBlock", + "src": "4591:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4600:1:12", + "nodeType": "YulLiteral", + "src": "4600:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4603:1:12", + "nodeType": "YulLiteral", + "src": "4603:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4593:6:12", + "nodeType": "YulIdentifier", + "src": "4593:6:12" + }, + "nativeSrc": "4593:12:12", + "nodeType": "YulFunctionCall", + "src": "4593:12:12" + }, + "nativeSrc": "4593:12:12", + "nodeType": "YulExpressionStatement", + "src": "4593:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4557:5:12", + "nodeType": "YulIdentifier", + "src": "4557:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4582:5:12", + "nodeType": "YulIdentifier", + "src": "4582:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4564:17:12", + "nodeType": "YulIdentifier", + "src": "4564:17:12" + }, + "nativeSrc": "4564:24:12", + "nodeType": "YulFunctionCall", + "src": "4564:24:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "4554:2:12", + "nodeType": "YulIdentifier", + "src": "4554:2:12" + }, + "nativeSrc": "4554:35:12", + "nodeType": "YulFunctionCall", + "src": "4554:35:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4547:6:12", + "nodeType": "YulIdentifier", + "src": "4547:6:12" + }, + "nativeSrc": "4547:43:12", + "nodeType": "YulFunctionCall", + "src": "4547:43:12" + }, + "nativeSrc": "4544:63:12", + "nodeType": "YulIf", + "src": "4544:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "4491:122:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4527:5:12", + "nodeType": "YulTypedName", + "src": "4527:5:12", + "type": "" + } + ], + "src": "4491:122:12" + }, + { + "body": { + "nativeSrc": "4671:87:12", + "nodeType": "YulBlock", + "src": "4671:87:12", + "statements": [ + { + "nativeSrc": "4681:29:12", + "nodeType": "YulAssignment", + "src": "4681:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4703:6:12", + "nodeType": "YulIdentifier", + "src": "4703:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4690:12:12", + "nodeType": "YulIdentifier", + "src": "4690:12:12" + }, + "nativeSrc": "4690:20:12", + "nodeType": "YulFunctionCall", + "src": "4690:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "4681:5:12", + "nodeType": "YulIdentifier", + "src": "4681:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4746:5:12", + "nodeType": "YulIdentifier", + "src": "4746:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "4719:26:12", + "nodeType": "YulIdentifier", + "src": "4719:26:12" + }, + "nativeSrc": "4719:33:12", + "nodeType": "YulFunctionCall", + "src": "4719:33:12" + }, + "nativeSrc": "4719:33:12", + "nodeType": "YulExpressionStatement", + "src": "4719:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "4619:139:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "4649:6:12", + "nodeType": "YulTypedName", + "src": "4649:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "4657:3:12", + "nodeType": "YulTypedName", + "src": "4657:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "4665:5:12", + "nodeType": "YulTypedName", + "src": "4665:5:12", + "type": "" + } + ], + "src": "4619:139:12" + }, + { + "body": { + "nativeSrc": "4847:391:12", + "nodeType": "YulBlock", + "src": "4847:391:12", + "statements": [ + { + "body": { + "nativeSrc": "4893:83:12", + "nodeType": "YulBlock", + "src": "4893:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "4895:77:12", + "nodeType": "YulIdentifier", + "src": "4895:77:12" + }, + "nativeSrc": "4895:79:12", + "nodeType": "YulFunctionCall", + "src": "4895:79:12" + }, + "nativeSrc": "4895:79:12", + "nodeType": "YulExpressionStatement", + "src": "4895:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4868:7:12", + "nodeType": "YulIdentifier", + "src": "4868:7:12" + }, + { + "name": "headStart", + "nativeSrc": "4877:9:12", + "nodeType": "YulIdentifier", + "src": "4877:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4864:3:12", + "nodeType": "YulIdentifier", + "src": "4864:3:12" + }, + "nativeSrc": "4864:23:12", + "nodeType": "YulFunctionCall", + "src": "4864:23:12" + }, + { + "kind": "number", + "nativeSrc": "4889:2:12", + "nodeType": "YulLiteral", + "src": "4889:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4860:3:12", + "nodeType": "YulIdentifier", + "src": "4860:3:12" + }, + "nativeSrc": "4860:32:12", + "nodeType": "YulFunctionCall", + "src": "4860:32:12" + }, + "nativeSrc": "4857:119:12", + "nodeType": "YulIf", + "src": "4857:119:12" + }, + { + "nativeSrc": "4986:117:12", + "nodeType": "YulBlock", + "src": "4986:117:12", + "statements": [ + { + "nativeSrc": "5001:15:12", + "nodeType": "YulVariableDeclaration", + "src": "5001:15:12", + "value": { + "kind": "number", + "nativeSrc": "5015:1:12", + "nodeType": "YulLiteral", + "src": "5015:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5005:6:12", + "nodeType": "YulTypedName", + "src": "5005:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5030:63:12", + "nodeType": "YulAssignment", + "src": "5030:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5065:9:12", + "nodeType": "YulIdentifier", + "src": "5065:9:12" + }, + { + "name": "offset", + "nativeSrc": "5076:6:12", + "nodeType": "YulIdentifier", + "src": "5076:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5061:3:12", + "nodeType": "YulIdentifier", + "src": "5061:3:12" + }, + "nativeSrc": "5061:22:12", + "nodeType": "YulFunctionCall", + "src": "5061:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5085:7:12", + "nodeType": "YulIdentifier", + "src": "5085:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5040:20:12", + "nodeType": "YulIdentifier", + "src": "5040:20:12" + }, + "nativeSrc": "5040:53:12", + "nodeType": "YulFunctionCall", + "src": "5040:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5030:6:12", + "nodeType": "YulIdentifier", + "src": "5030:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5113:118:12", + "nodeType": "YulBlock", + "src": "5113:118:12", + "statements": [ + { + "nativeSrc": "5128:16:12", + "nodeType": "YulVariableDeclaration", + "src": "5128:16:12", + "value": { + "kind": "number", + "nativeSrc": "5142:2:12", + "nodeType": "YulLiteral", + "src": "5142:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5132:6:12", + "nodeType": "YulTypedName", + "src": "5132:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5158:63:12", + "nodeType": "YulAssignment", + "src": "5158:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5193:9:12", + "nodeType": "YulIdentifier", + "src": "5193:9:12" + }, + { + "name": "offset", + "nativeSrc": "5204:6:12", + "nodeType": "YulIdentifier", + "src": "5204:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5189:3:12", + "nodeType": "YulIdentifier", + "src": "5189:3:12" + }, + "nativeSrc": "5189:22:12", + "nodeType": "YulFunctionCall", + "src": "5189:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5213:7:12", + "nodeType": "YulIdentifier", + "src": "5213:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "5168:20:12", + "nodeType": "YulIdentifier", + "src": "5168:20:12" + }, + "nativeSrc": "5168:53:12", + "nodeType": "YulFunctionCall", + "src": "5168:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "5158:6:12", + "nodeType": "YulIdentifier", + "src": "5158:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nativeSrc": "4764:474:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4809:9:12", + "nodeType": "YulTypedName", + "src": "4809:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "4820:7:12", + "nodeType": "YulTypedName", + "src": "4820:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4832:6:12", + "nodeType": "YulTypedName", + "src": "4832:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4840:6:12", + "nodeType": "YulTypedName", + "src": "4840:6:12", + "type": "" + } + ], + "src": "4764:474:12" + }, + { + "body": { + "nativeSrc": "5344:519:12", + "nodeType": "YulBlock", + "src": "5344:519:12", + "statements": [ + { + "body": { + "nativeSrc": "5390:83:12", + "nodeType": "YulBlock", + "src": "5390:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5392:77:12", + "nodeType": "YulIdentifier", + "src": "5392:77:12" + }, + "nativeSrc": "5392:79:12", + "nodeType": "YulFunctionCall", + "src": "5392:79:12" + }, + "nativeSrc": "5392:79:12", + "nodeType": "YulExpressionStatement", + "src": "5392:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5365:7:12", + "nodeType": "YulIdentifier", + "src": "5365:7:12" + }, + { + "name": "headStart", + "nativeSrc": "5374:9:12", + "nodeType": "YulIdentifier", + "src": "5374:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5361:3:12", + "nodeType": "YulIdentifier", + "src": "5361:3:12" + }, + "nativeSrc": "5361:23:12", + "nodeType": "YulFunctionCall", + "src": "5361:23:12" + }, + { + "kind": "number", + "nativeSrc": "5386:2:12", + "nodeType": "YulLiteral", + "src": "5386:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5357:3:12", + "nodeType": "YulIdentifier", + "src": "5357:3:12" + }, + "nativeSrc": "5357:32:12", + "nodeType": "YulFunctionCall", + "src": "5357:32:12" + }, + "nativeSrc": "5354:119:12", + "nodeType": "YulIf", + "src": "5354:119:12" + }, + { + "nativeSrc": "5483:117:12", + "nodeType": "YulBlock", + "src": "5483:117:12", + "statements": [ + { + "nativeSrc": "5498:15:12", + "nodeType": "YulVariableDeclaration", + "src": "5498:15:12", + "value": { + "kind": "number", + "nativeSrc": "5512:1:12", + "nodeType": "YulLiteral", + "src": "5512:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5502:6:12", + "nodeType": "YulTypedName", + "src": "5502:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5527:63:12", + "nodeType": "YulAssignment", + "src": "5527:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5562:9:12", + "nodeType": "YulIdentifier", + "src": "5562:9:12" + }, + { + "name": "offset", + "nativeSrc": "5573:6:12", + "nodeType": "YulIdentifier", + "src": "5573:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5558:3:12", + "nodeType": "YulIdentifier", + "src": "5558:3:12" + }, + "nativeSrc": "5558:22:12", + "nodeType": "YulFunctionCall", + "src": "5558:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5582:7:12", + "nodeType": "YulIdentifier", + "src": "5582:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5537:20:12", + "nodeType": "YulIdentifier", + "src": "5537:20:12" + }, + "nativeSrc": "5537:53:12", + "nodeType": "YulFunctionCall", + "src": "5537:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5527:6:12", + "nodeType": "YulIdentifier", + "src": "5527:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5610:118:12", + "nodeType": "YulBlock", + "src": "5610:118:12", + "statements": [ + { + "nativeSrc": "5625:16:12", + "nodeType": "YulVariableDeclaration", + "src": "5625:16:12", + "value": { + "kind": "number", + "nativeSrc": "5639:2:12", + "nodeType": "YulLiteral", + "src": "5639:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5629:6:12", + "nodeType": "YulTypedName", + "src": "5629:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5655:63:12", + "nodeType": "YulAssignment", + "src": "5655:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5690:9:12", + "nodeType": "YulIdentifier", + "src": "5690:9:12" + }, + { + "name": "offset", + "nativeSrc": "5701:6:12", + "nodeType": "YulIdentifier", + "src": "5701:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5686:3:12", + "nodeType": "YulIdentifier", + "src": "5686:3:12" + }, + "nativeSrc": "5686:22:12", + "nodeType": "YulFunctionCall", + "src": "5686:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5710:7:12", + "nodeType": "YulIdentifier", + "src": "5710:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "5665:20:12", + "nodeType": "YulIdentifier", + "src": "5665:20:12" + }, + "nativeSrc": "5665:53:12", + "nodeType": "YulFunctionCall", + "src": "5665:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "5655:6:12", + "nodeType": "YulIdentifier", + "src": "5655:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "5738:118:12", + "nodeType": "YulBlock", + "src": "5738:118:12", + "statements": [ + { + "nativeSrc": "5753:16:12", + "nodeType": "YulVariableDeclaration", + "src": "5753:16:12", + "value": { + "kind": "number", + "nativeSrc": "5767:2:12", + "nodeType": "YulLiteral", + "src": "5767:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5757:6:12", + "nodeType": "YulTypedName", + "src": "5757:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "5783:63:12", + "nodeType": "YulAssignment", + "src": "5783:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5818:9:12", + "nodeType": "YulIdentifier", + "src": "5818:9:12" + }, + { + "name": "offset", + "nativeSrc": "5829:6:12", + "nodeType": "YulIdentifier", + "src": "5829:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5814:3:12", + "nodeType": "YulIdentifier", + "src": "5814:3:12" + }, + "nativeSrc": "5814:22:12", + "nodeType": "YulFunctionCall", + "src": "5814:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "5838:7:12", + "nodeType": "YulIdentifier", + "src": "5838:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "5793:20:12", + "nodeType": "YulIdentifier", + "src": "5793:20:12" + }, + "nativeSrc": "5793:53:12", + "nodeType": "YulFunctionCall", + "src": "5793:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "5783:6:12", + "nodeType": "YulIdentifier", + "src": "5783:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nativeSrc": "5244:619:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5298:9:12", + "nodeType": "YulTypedName", + "src": "5298:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5309:7:12", + "nodeType": "YulTypedName", + "src": "5309:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5321:6:12", + "nodeType": "YulTypedName", + "src": "5321:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "5329:6:12", + "nodeType": "YulTypedName", + "src": "5329:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "5337:6:12", + "nodeType": "YulTypedName", + "src": "5337:6:12", + "type": "" + } + ], + "src": "5244:619:12" + }, + { + "body": { + "nativeSrc": "5935:263:12", + "nodeType": "YulBlock", + "src": "5935:263:12", + "statements": [ + { + "body": { + "nativeSrc": "5981:83:12", + "nodeType": "YulBlock", + "src": "5981:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5983:77:12", + "nodeType": "YulIdentifier", + "src": "5983:77:12" + }, + "nativeSrc": "5983:79:12", + "nodeType": "YulFunctionCall", + "src": "5983:79:12" + }, + "nativeSrc": "5983:79:12", + "nodeType": "YulExpressionStatement", + "src": "5983:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5956:7:12", + "nodeType": "YulIdentifier", + "src": "5956:7:12" + }, + { + "name": "headStart", + "nativeSrc": "5965:9:12", + "nodeType": "YulIdentifier", + "src": "5965:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5952:3:12", + "nodeType": "YulIdentifier", + "src": "5952:3:12" + }, + "nativeSrc": "5952:23:12", + "nodeType": "YulFunctionCall", + "src": "5952:23:12" + }, + { + "kind": "number", + "nativeSrc": "5977:2:12", + "nodeType": "YulLiteral", + "src": "5977:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5948:3:12", + "nodeType": "YulIdentifier", + "src": "5948:3:12" + }, + "nativeSrc": "5948:32:12", + "nodeType": "YulFunctionCall", + "src": "5948:32:12" + }, + "nativeSrc": "5945:119:12", + "nodeType": "YulIf", + "src": "5945:119:12" + }, + { + "nativeSrc": "6074:117:12", + "nodeType": "YulBlock", + "src": "6074:117:12", + "statements": [ + { + "nativeSrc": "6089:15:12", + "nodeType": "YulVariableDeclaration", + "src": "6089:15:12", + "value": { + "kind": "number", + "nativeSrc": "6103:1:12", + "nodeType": "YulLiteral", + "src": "6103:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6093:6:12", + "nodeType": "YulTypedName", + "src": "6093:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6118:63:12", + "nodeType": "YulAssignment", + "src": "6118:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6153:9:12", + "nodeType": "YulIdentifier", + "src": "6153:9:12" + }, + { + "name": "offset", + "nativeSrc": "6164:6:12", + "nodeType": "YulIdentifier", + "src": "6164:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6149:3:12", + "nodeType": "YulIdentifier", + "src": "6149:3:12" + }, + "nativeSrc": "6149:22:12", + "nodeType": "YulFunctionCall", + "src": "6149:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "6173:7:12", + "nodeType": "YulIdentifier", + "src": "6173:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "6128:20:12", + "nodeType": "YulIdentifier", + "src": "6128:20:12" + }, + "nativeSrc": "6128:53:12", + "nodeType": "YulFunctionCall", + "src": "6128:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6118:6:12", + "nodeType": "YulIdentifier", + "src": "6118:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "5869:329:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5905:9:12", + "nodeType": "YulTypedName", + "src": "5905:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5916:7:12", + "nodeType": "YulTypedName", + "src": "5916:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5928:6:12", + "nodeType": "YulTypedName", + "src": "5928:6:12", + "type": "" + } + ], + "src": "5869:329:12" + }, + { + "body": { + "nativeSrc": "6244:76:12", + "nodeType": "YulBlock", + "src": "6244:76:12", + "statements": [ + { + "body": { + "nativeSrc": "6298:16:12", + "nodeType": "YulBlock", + "src": "6298:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6307:1:12", + "nodeType": "YulLiteral", + "src": "6307:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6310:1:12", + "nodeType": "YulLiteral", + "src": "6310:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6300:6:12", + "nodeType": "YulIdentifier", + "src": "6300:6:12" + }, + "nativeSrc": "6300:12:12", + "nodeType": "YulFunctionCall", + "src": "6300:12:12" + }, + "nativeSrc": "6300:12:12", + "nodeType": "YulExpressionStatement", + "src": "6300:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6267:5:12", + "nodeType": "YulIdentifier", + "src": "6267:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6289:5:12", + "nodeType": "YulIdentifier", + "src": "6289:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "6274:14:12", + "nodeType": "YulIdentifier", + "src": "6274:14:12" + }, + "nativeSrc": "6274:21:12", + "nodeType": "YulFunctionCall", + "src": "6274:21:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6264:2:12", + "nodeType": "YulIdentifier", + "src": "6264:2:12" + }, + "nativeSrc": "6264:32:12", + "nodeType": "YulFunctionCall", + "src": "6264:32:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6257:6:12", + "nodeType": "YulIdentifier", + "src": "6257:6:12" + }, + "nativeSrc": "6257:40:12", + "nodeType": "YulFunctionCall", + "src": "6257:40:12" + }, + "nativeSrc": "6254:60:12", + "nodeType": "YulIf", + "src": "6254:60:12" + } + ] + }, + "name": "validator_revert_t_bool", + "nativeSrc": "6204:116:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6237:5:12", + "nodeType": "YulTypedName", + "src": "6237:5:12", + "type": "" + } + ], + "src": "6204:116:12" + }, + { + "body": { + "nativeSrc": "6375:84:12", + "nodeType": "YulBlock", + "src": "6375:84:12", + "statements": [ + { + "nativeSrc": "6385:29:12", + "nodeType": "YulAssignment", + "src": "6385:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6407:6:12", + "nodeType": "YulIdentifier", + "src": "6407:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6394:12:12", + "nodeType": "YulIdentifier", + "src": "6394:12:12" + }, + "nativeSrc": "6394:20:12", + "nodeType": "YulFunctionCall", + "src": "6394:20:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "6385:5:12", + "nodeType": "YulIdentifier", + "src": "6385:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6447:5:12", + "nodeType": "YulIdentifier", + "src": "6447:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nativeSrc": "6423:23:12", + "nodeType": "YulIdentifier", + "src": "6423:23:12" + }, + "nativeSrc": "6423:30:12", + "nodeType": "YulFunctionCall", + "src": "6423:30:12" + }, + "nativeSrc": "6423:30:12", + "nodeType": "YulExpressionStatement", + "src": "6423:30:12" + } + ] + }, + "name": "abi_decode_t_bool", + "nativeSrc": "6326:133:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "6353:6:12", + "nodeType": "YulTypedName", + "src": "6353:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "6361:3:12", + "nodeType": "YulTypedName", + "src": "6361:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "6369:5:12", + "nodeType": "YulTypedName", + "src": "6369:5:12", + "type": "" + } + ], + "src": "6326:133:12" + }, + { + "body": { + "nativeSrc": "6545:388:12", + "nodeType": "YulBlock", + "src": "6545:388:12", + "statements": [ + { + "body": { + "nativeSrc": "6591:83:12", + "nodeType": "YulBlock", + "src": "6591:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6593:77:12", + "nodeType": "YulIdentifier", + "src": "6593:77:12" + }, + "nativeSrc": "6593:79:12", + "nodeType": "YulFunctionCall", + "src": "6593:79:12" + }, + "nativeSrc": "6593:79:12", + "nodeType": "YulExpressionStatement", + "src": "6593:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6566:7:12", + "nodeType": "YulIdentifier", + "src": "6566:7:12" + }, + { + "name": "headStart", + "nativeSrc": "6575:9:12", + "nodeType": "YulIdentifier", + "src": "6575:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6562:3:12", + "nodeType": "YulIdentifier", + "src": "6562:3:12" + }, + "nativeSrc": "6562:23:12", + "nodeType": "YulFunctionCall", + "src": "6562:23:12" + }, + { + "kind": "number", + "nativeSrc": "6587:2:12", + "nodeType": "YulLiteral", + "src": "6587:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6558:3:12", + "nodeType": "YulIdentifier", + "src": "6558:3:12" + }, + "nativeSrc": "6558:32:12", + "nodeType": "YulFunctionCall", + "src": "6558:32:12" + }, + "nativeSrc": "6555:119:12", + "nodeType": "YulIf", + "src": "6555:119:12" + }, + { + "nativeSrc": "6684:117:12", + "nodeType": "YulBlock", + "src": "6684:117:12", + "statements": [ + { + "nativeSrc": "6699:15:12", + "nodeType": "YulVariableDeclaration", + "src": "6699:15:12", + "value": { + "kind": "number", + "nativeSrc": "6713:1:12", + "nodeType": "YulLiteral", + "src": "6713:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6703:6:12", + "nodeType": "YulTypedName", + "src": "6703:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6728:63:12", + "nodeType": "YulAssignment", + "src": "6728:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6763:9:12", + "nodeType": "YulIdentifier", + "src": "6763:9:12" + }, + { + "name": "offset", + "nativeSrc": "6774:6:12", + "nodeType": "YulIdentifier", + "src": "6774:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6759:3:12", + "nodeType": "YulIdentifier", + "src": "6759:3:12" + }, + "nativeSrc": "6759:22:12", + "nodeType": "YulFunctionCall", + "src": "6759:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "6783:7:12", + "nodeType": "YulIdentifier", + "src": "6783:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "6738:20:12", + "nodeType": "YulIdentifier", + "src": "6738:20:12" + }, + "nativeSrc": "6738:53:12", + "nodeType": "YulFunctionCall", + "src": "6738:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6728:6:12", + "nodeType": "YulIdentifier", + "src": "6728:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "6811:115:12", + "nodeType": "YulBlock", + "src": "6811:115:12", + "statements": [ + { + "nativeSrc": "6826:16:12", + "nodeType": "YulVariableDeclaration", + "src": "6826:16:12", + "value": { + "kind": "number", + "nativeSrc": "6840:2:12", + "nodeType": "YulLiteral", + "src": "6840:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6830:6:12", + "nodeType": "YulTypedName", + "src": "6830:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "6856:60:12", + "nodeType": "YulAssignment", + "src": "6856:60:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6888:9:12", + "nodeType": "YulIdentifier", + "src": "6888:9:12" + }, + { + "name": "offset", + "nativeSrc": "6899:6:12", + "nodeType": "YulIdentifier", + "src": "6899:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6884:3:12", + "nodeType": "YulIdentifier", + "src": "6884:3:12" + }, + "nativeSrc": "6884:22:12", + "nodeType": "YulFunctionCall", + "src": "6884:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "6908:7:12", + "nodeType": "YulIdentifier", + "src": "6908:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nativeSrc": "6866:17:12", + "nodeType": "YulIdentifier", + "src": "6866:17:12" + }, + "nativeSrc": "6866:50:12", + "nodeType": "YulFunctionCall", + "src": "6866:50:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "6856:6:12", + "nodeType": "YulIdentifier", + "src": "6856:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nativeSrc": "6465:468:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6507:9:12", + "nodeType": "YulTypedName", + "src": "6507:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6518:7:12", + "nodeType": "YulTypedName", + "src": "6518:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6530:6:12", + "nodeType": "YulTypedName", + "src": "6530:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6538:6:12", + "nodeType": "YulTypedName", + "src": "6538:6:12", + "type": "" + } + ], + "src": "6465:468:12" + }, + { + "body": { + "nativeSrc": "7028:28:12", + "nodeType": "YulBlock", + "src": "7028:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7045:1:12", + "nodeType": "YulLiteral", + "src": "7045:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7048:1:12", + "nodeType": "YulLiteral", + "src": "7048:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7038:6:12", + "nodeType": "YulIdentifier", + "src": "7038:6:12" + }, + "nativeSrc": "7038:12:12", + "nodeType": "YulFunctionCall", + "src": "7038:12:12" + }, + "nativeSrc": "7038:12:12", + "nodeType": "YulExpressionStatement", + "src": "7038:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "6939:117:12", + "nodeType": "YulFunctionDefinition", + "src": "6939:117:12" + }, + { + "body": { + "nativeSrc": "7151:28:12", + "nodeType": "YulBlock", + "src": "7151:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7168:1:12", + "nodeType": "YulLiteral", + "src": "7168:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7171:1:12", + "nodeType": "YulLiteral", + "src": "7171:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7161:6:12", + "nodeType": "YulIdentifier", + "src": "7161:6:12" + }, + "nativeSrc": "7161:12:12", + "nodeType": "YulFunctionCall", + "src": "7161:12:12" + }, + "nativeSrc": "7161:12:12", + "nodeType": "YulExpressionStatement", + "src": "7161:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "7062:117:12", + "nodeType": "YulFunctionDefinition", + "src": "7062:117:12" + }, + { + "body": { + "nativeSrc": "7213:152:12", + "nodeType": "YulBlock", + "src": "7213:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7230:1:12", + "nodeType": "YulLiteral", + "src": "7230:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7233:77:12", + "nodeType": "YulLiteral", + "src": "7233:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7223:6:12", + "nodeType": "YulIdentifier", + "src": "7223:6:12" + }, + "nativeSrc": "7223:88:12", + "nodeType": "YulFunctionCall", + "src": "7223:88:12" + }, + "nativeSrc": "7223:88:12", + "nodeType": "YulExpressionStatement", + "src": "7223:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7327:1:12", + "nodeType": "YulLiteral", + "src": "7327:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "7330:4:12", + "nodeType": "YulLiteral", + "src": "7330:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7320:6:12", + "nodeType": "YulIdentifier", + "src": "7320:6:12" + }, + "nativeSrc": "7320:15:12", + "nodeType": "YulFunctionCall", + "src": "7320:15:12" + }, + "nativeSrc": "7320:15:12", + "nodeType": "YulExpressionStatement", + "src": "7320:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7351:1:12", + "nodeType": "YulLiteral", + "src": "7351:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7354:4:12", + "nodeType": "YulLiteral", + "src": "7354:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7344:6:12", + "nodeType": "YulIdentifier", + "src": "7344:6:12" + }, + "nativeSrc": "7344:15:12", + "nodeType": "YulFunctionCall", + "src": "7344:15:12" + }, + "nativeSrc": "7344:15:12", + "nodeType": "YulExpressionStatement", + "src": "7344:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "7185:180:12", + "nodeType": "YulFunctionDefinition", + "src": "7185:180:12" + }, + { + "body": { + "nativeSrc": "7414:238:12", + "nodeType": "YulBlock", + "src": "7414:238:12", + "statements": [ + { + "nativeSrc": "7424:58:12", + "nodeType": "YulVariableDeclaration", + "src": "7424:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "7446:6:12", + "nodeType": "YulIdentifier", + "src": "7446:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "7476:4:12", + "nodeType": "YulIdentifier", + "src": "7476:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "7454:21:12", + "nodeType": "YulIdentifier", + "src": "7454:21:12" + }, + "nativeSrc": "7454:27:12", + "nodeType": "YulFunctionCall", + "src": "7454:27:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7442:3:12", + "nodeType": "YulIdentifier", + "src": "7442:3:12" + }, + "nativeSrc": "7442:40:12", + "nodeType": "YulFunctionCall", + "src": "7442:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "7428:10:12", + "nodeType": "YulTypedName", + "src": "7428:10:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7593:22:12", + "nodeType": "YulBlock", + "src": "7593:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7595:16:12", + "nodeType": "YulIdentifier", + "src": "7595:16:12" + }, + "nativeSrc": "7595:18:12", + "nodeType": "YulFunctionCall", + "src": "7595:18:12" + }, + "nativeSrc": "7595:18:12", + "nodeType": "YulExpressionStatement", + "src": "7595:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "7536:10:12", + "nodeType": "YulIdentifier", + "src": "7536:10:12" + }, + { + "kind": "number", + "nativeSrc": "7548:18:12", + "nodeType": "YulLiteral", + "src": "7548:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7533:2:12", + "nodeType": "YulIdentifier", + "src": "7533:2:12" + }, + "nativeSrc": "7533:34:12", + "nodeType": "YulFunctionCall", + "src": "7533:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "7572:10:12", + "nodeType": "YulIdentifier", + "src": "7572:10:12" + }, + { + "name": "memPtr", + "nativeSrc": "7584:6:12", + "nodeType": "YulIdentifier", + "src": "7584:6:12" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7569:2:12", + "nodeType": "YulIdentifier", + "src": "7569:2:12" + }, + "nativeSrc": "7569:22:12", + "nodeType": "YulFunctionCall", + "src": "7569:22:12" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7530:2:12", + "nodeType": "YulIdentifier", + "src": "7530:2:12" + }, + "nativeSrc": "7530:62:12", + "nodeType": "YulFunctionCall", + "src": "7530:62:12" + }, + "nativeSrc": "7527:88:12", + "nodeType": "YulIf", + "src": "7527:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7631:2:12", + "nodeType": "YulLiteral", + "src": "7631:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "7635:10:12", + "nodeType": "YulIdentifier", + "src": "7635:10:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7624:6:12", + "nodeType": "YulIdentifier", + "src": "7624:6:12" + }, + "nativeSrc": "7624:22:12", + "nodeType": "YulFunctionCall", + "src": "7624:22:12" + }, + "nativeSrc": "7624:22:12", + "nodeType": "YulExpressionStatement", + "src": "7624:22:12" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "7371:281:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "7400:6:12", + "nodeType": "YulTypedName", + "src": "7400:6:12", + "type": "" + }, + { + "name": "size", + "nativeSrc": "7408:4:12", + "nodeType": "YulTypedName", + "src": "7408:4:12", + "type": "" + } + ], + "src": "7371:281:12" + }, + { + "body": { + "nativeSrc": "7699:88:12", + "nodeType": "YulBlock", + "src": "7699:88:12", + "statements": [ + { + "nativeSrc": "7709:30:12", + "nodeType": "YulAssignment", + "src": "7709:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "7719:18:12", + "nodeType": "YulIdentifier", + "src": "7719:18:12" + }, + "nativeSrc": "7719:20:12", + "nodeType": "YulFunctionCall", + "src": "7719:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "7709:6:12", + "nodeType": "YulIdentifier", + "src": "7709:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "7768:6:12", + "nodeType": "YulIdentifier", + "src": "7768:6:12" + }, + { + "name": "size", + "nativeSrc": "7776:4:12", + "nodeType": "YulIdentifier", + "src": "7776:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "7748:19:12", + "nodeType": "YulIdentifier", + "src": "7748:19:12" + }, + "nativeSrc": "7748:33:12", + "nodeType": "YulFunctionCall", + "src": "7748:33:12" + }, + "nativeSrc": "7748:33:12", + "nodeType": "YulExpressionStatement", + "src": "7748:33:12" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "7658:129:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "7683:4:12", + "nodeType": "YulTypedName", + "src": "7683:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "7692:6:12", + "nodeType": "YulTypedName", + "src": "7692:6:12", + "type": "" + } + ], + "src": "7658:129:12" + }, + { + "body": { + "nativeSrc": "7859:241:12", + "nodeType": "YulBlock", + "src": "7859:241:12", + "statements": [ + { + "body": { + "nativeSrc": "7964:22:12", + "nodeType": "YulBlock", + "src": "7964:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "7966:16:12", + "nodeType": "YulIdentifier", + "src": "7966:16:12" + }, + "nativeSrc": "7966:18:12", + "nodeType": "YulFunctionCall", + "src": "7966:18:12" + }, + "nativeSrc": "7966:18:12", + "nodeType": "YulExpressionStatement", + "src": "7966:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "7936:6:12", + "nodeType": "YulIdentifier", + "src": "7936:6:12" + }, + { + "kind": "number", + "nativeSrc": "7944:18:12", + "nodeType": "YulLiteral", + "src": "7944:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7933:2:12", + "nodeType": "YulIdentifier", + "src": "7933:2:12" + }, + "nativeSrc": "7933:30:12", + "nodeType": "YulFunctionCall", + "src": "7933:30:12" + }, + "nativeSrc": "7930:56:12", + "nodeType": "YulIf", + "src": "7930:56:12" + }, + { + "nativeSrc": "7996:37:12", + "nodeType": "YulAssignment", + "src": "7996:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "8026:6:12", + "nodeType": "YulIdentifier", + "src": "8026:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "8004:21:12", + "nodeType": "YulIdentifier", + "src": "8004:21:12" + }, + "nativeSrc": "8004:29:12", + "nodeType": "YulFunctionCall", + "src": "8004:29:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "7996:4:12", + "nodeType": "YulIdentifier", + "src": "7996:4:12" + } + ] + }, + { + "nativeSrc": "8070:23:12", + "nodeType": "YulAssignment", + "src": "8070:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "8082:4:12", + "nodeType": "YulIdentifier", + "src": "8082:4:12" + }, + { + "kind": "number", + "nativeSrc": "8088:4:12", + "nodeType": "YulLiteral", + "src": "8088:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8078:3:12", + "nodeType": "YulIdentifier", + "src": "8078:3:12" + }, + "nativeSrc": "8078:15:12", + "nodeType": "YulFunctionCall", + "src": "8078:15:12" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "8070:4:12", + "nodeType": "YulIdentifier", + "src": "8070:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "7793:307:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "7843:6:12", + "nodeType": "YulTypedName", + "src": "7843:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "7854:4:12", + "nodeType": "YulTypedName", + "src": "7854:4:12", + "type": "" + } + ], + "src": "7793:307:12" + }, + { + "body": { + "nativeSrc": "8170:84:12", + "nodeType": "YulBlock", + "src": "8170:84:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8194:3:12", + "nodeType": "YulIdentifier", + "src": "8194:3:12" + }, + { + "name": "src", + "nativeSrc": "8199:3:12", + "nodeType": "YulIdentifier", + "src": "8199:3:12" + }, + { + "name": "length", + "nativeSrc": "8204:6:12", + "nodeType": "YulIdentifier", + "src": "8204:6:12" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "8181:12:12", + "nodeType": "YulIdentifier", + "src": "8181:12:12" + }, + "nativeSrc": "8181:30:12", + "nodeType": "YulFunctionCall", + "src": "8181:30:12" + }, + "nativeSrc": "8181:30:12", + "nodeType": "YulExpressionStatement", + "src": "8181:30:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "8231:3:12", + "nodeType": "YulIdentifier", + "src": "8231:3:12" + }, + { + "name": "length", + "nativeSrc": "8236:6:12", + "nodeType": "YulIdentifier", + "src": "8236:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8227:3:12", + "nodeType": "YulIdentifier", + "src": "8227:3:12" + }, + "nativeSrc": "8227:16:12", + "nodeType": "YulFunctionCall", + "src": "8227:16:12" + }, + { + "kind": "number", + "nativeSrc": "8245:1:12", + "nodeType": "YulLiteral", + "src": "8245:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8220:6:12", + "nodeType": "YulIdentifier", + "src": "8220:6:12" + }, + "nativeSrc": "8220:27:12", + "nodeType": "YulFunctionCall", + "src": "8220:27:12" + }, + "nativeSrc": "8220:27:12", + "nodeType": "YulExpressionStatement", + "src": "8220:27:12" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "8106:148:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "8152:3:12", + "nodeType": "YulTypedName", + "src": "8152:3:12", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "8157:3:12", + "nodeType": "YulTypedName", + "src": "8157:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8162:6:12", + "nodeType": "YulTypedName", + "src": "8162:6:12", + "type": "" + } + ], + "src": "8106:148:12" + }, + { + "body": { + "nativeSrc": "8343:340:12", + "nodeType": "YulBlock", + "src": "8343:340:12", + "statements": [ + { + "nativeSrc": "8353:74:12", + "nodeType": "YulAssignment", + "src": "8353:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "8419:6:12", + "nodeType": "YulIdentifier", + "src": "8419:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "8378:40:12", + "nodeType": "YulIdentifier", + "src": "8378:40:12" + }, + "nativeSrc": "8378:48:12", + "nodeType": "YulFunctionCall", + "src": "8378:48:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "8362:15:12", + "nodeType": "YulIdentifier", + "src": "8362:15:12" + }, + "nativeSrc": "8362:65:12", + "nodeType": "YulFunctionCall", + "src": "8362:65:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8353:5:12", + "nodeType": "YulIdentifier", + "src": "8353:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8443:5:12", + "nodeType": "YulIdentifier", + "src": "8443:5:12" + }, + { + "name": "length", + "nativeSrc": "8450:6:12", + "nodeType": "YulIdentifier", + "src": "8450:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8436:6:12", + "nodeType": "YulIdentifier", + "src": "8436:6:12" + }, + "nativeSrc": "8436:21:12", + "nodeType": "YulFunctionCall", + "src": "8436:21:12" + }, + "nativeSrc": "8436:21:12", + "nodeType": "YulExpressionStatement", + "src": "8436:21:12" + }, + { + "nativeSrc": "8466:27:12", + "nodeType": "YulVariableDeclaration", + "src": "8466:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "8481:5:12", + "nodeType": "YulIdentifier", + "src": "8481:5:12" + }, + { + "kind": "number", + "nativeSrc": "8488:4:12", + "nodeType": "YulLiteral", + "src": "8488:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8477:3:12", + "nodeType": "YulIdentifier", + "src": "8477:3:12" + }, + "nativeSrc": "8477:16:12", + "nodeType": "YulFunctionCall", + "src": "8477:16:12" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "8470:3:12", + "nodeType": "YulTypedName", + "src": "8470:3:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8531:83:12", + "nodeType": "YulBlock", + "src": "8531:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "8533:77:12", + "nodeType": "YulIdentifier", + "src": "8533:77:12" + }, + "nativeSrc": "8533:79:12", + "nodeType": "YulFunctionCall", + "src": "8533:79:12" + }, + "nativeSrc": "8533:79:12", + "nodeType": "YulExpressionStatement", + "src": "8533:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "8512:3:12", + "nodeType": "YulIdentifier", + "src": "8512:3:12" + }, + { + "name": "length", + "nativeSrc": "8517:6:12", + "nodeType": "YulIdentifier", + "src": "8517:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8508:3:12", + "nodeType": "YulIdentifier", + "src": "8508:3:12" + }, + "nativeSrc": "8508:16:12", + "nodeType": "YulFunctionCall", + "src": "8508:16:12" + }, + { + "name": "end", + "nativeSrc": "8526:3:12", + "nodeType": "YulIdentifier", + "src": "8526:3:12" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8505:2:12", + "nodeType": "YulIdentifier", + "src": "8505:2:12" + }, + "nativeSrc": "8505:25:12", + "nodeType": "YulFunctionCall", + "src": "8505:25:12" + }, + "nativeSrc": "8502:112:12", + "nodeType": "YulIf", + "src": "8502:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8660:3:12", + "nodeType": "YulIdentifier", + "src": "8660:3:12" + }, + { + "name": "dst", + "nativeSrc": "8665:3:12", + "nodeType": "YulIdentifier", + "src": "8665:3:12" + }, + { + "name": "length", + "nativeSrc": "8670:6:12", + "nodeType": "YulIdentifier", + "src": "8670:6:12" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "8623:36:12", + "nodeType": "YulIdentifier", + "src": "8623:36:12" + }, + "nativeSrc": "8623:54:12", + "nodeType": "YulFunctionCall", + "src": "8623:54:12" + }, + "nativeSrc": "8623:54:12", + "nodeType": "YulExpressionStatement", + "src": "8623:54:12" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "8260:423:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "8316:3:12", + "nodeType": "YulTypedName", + "src": "8316:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "8321:6:12", + "nodeType": "YulTypedName", + "src": "8321:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8329:3:12", + "nodeType": "YulTypedName", + "src": "8329:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8337:5:12", + "nodeType": "YulTypedName", + "src": "8337:5:12", + "type": "" + } + ], + "src": "8260:423:12" + }, + { + "body": { + "nativeSrc": "8763:277:12", + "nodeType": "YulBlock", + "src": "8763:277:12", + "statements": [ + { + "body": { + "nativeSrc": "8812:83:12", + "nodeType": "YulBlock", + "src": "8812:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "8814:77:12", + "nodeType": "YulIdentifier", + "src": "8814:77:12" + }, + "nativeSrc": "8814:79:12", + "nodeType": "YulFunctionCall", + "src": "8814:79:12" + }, + "nativeSrc": "8814:79:12", + "nodeType": "YulExpressionStatement", + "src": "8814:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8791:6:12", + "nodeType": "YulIdentifier", + "src": "8791:6:12" + }, + { + "kind": "number", + "nativeSrc": "8799:4:12", + "nodeType": "YulLiteral", + "src": "8799:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8787:3:12", + "nodeType": "YulIdentifier", + "src": "8787:3:12" + }, + "nativeSrc": "8787:17:12", + "nodeType": "YulFunctionCall", + "src": "8787:17:12" + }, + { + "name": "end", + "nativeSrc": "8806:3:12", + "nodeType": "YulIdentifier", + "src": "8806:3:12" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8783:3:12", + "nodeType": "YulIdentifier", + "src": "8783:3:12" + }, + "nativeSrc": "8783:27:12", + "nodeType": "YulFunctionCall", + "src": "8783:27:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8776:6:12", + "nodeType": "YulIdentifier", + "src": "8776:6:12" + }, + "nativeSrc": "8776:35:12", + "nodeType": "YulFunctionCall", + "src": "8776:35:12" + }, + "nativeSrc": "8773:122:12", + "nodeType": "YulIf", + "src": "8773:122:12" + }, + { + "nativeSrc": "8904:34:12", + "nodeType": "YulVariableDeclaration", + "src": "8904:34:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8931:6:12", + "nodeType": "YulIdentifier", + "src": "8931:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8918:12:12", + "nodeType": "YulIdentifier", + "src": "8918:12:12" + }, + "nativeSrc": "8918:20:12", + "nodeType": "YulFunctionCall", + "src": "8918:20:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "8908:6:12", + "nodeType": "YulTypedName", + "src": "8908:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "8947:87:12", + "nodeType": "YulAssignment", + "src": "8947:87:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9007:6:12", + "nodeType": "YulIdentifier", + "src": "9007:6:12" + }, + { + "kind": "number", + "nativeSrc": "9015:4:12", + "nodeType": "YulLiteral", + "src": "9015:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9003:3:12", + "nodeType": "YulIdentifier", + "src": "9003:3:12" + }, + "nativeSrc": "9003:17:12", + "nodeType": "YulFunctionCall", + "src": "9003:17:12" + }, + { + "name": "length", + "nativeSrc": "9022:6:12", + "nodeType": "YulIdentifier", + "src": "9022:6:12" + }, + { + "name": "end", + "nativeSrc": "9030:3:12", + "nodeType": "YulIdentifier", + "src": "9030:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "8956:46:12", + "nodeType": "YulIdentifier", + "src": "8956:46:12" + }, + "nativeSrc": "8956:78:12", + "nodeType": "YulFunctionCall", + "src": "8956:78:12" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "8947:5:12", + "nodeType": "YulIdentifier", + "src": "8947:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "8702:338:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "8741:6:12", + "nodeType": "YulTypedName", + "src": "8741:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "8749:3:12", + "nodeType": "YulTypedName", + "src": "8749:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "8757:5:12", + "nodeType": "YulTypedName", + "src": "8757:5:12", + "type": "" + } + ], + "src": "8702:338:12" + }, + { + "body": { + "nativeSrc": "9172:817:12", + "nodeType": "YulBlock", + "src": "9172:817:12", + "statements": [ + { + "body": { + "nativeSrc": "9219:83:12", + "nodeType": "YulBlock", + "src": "9219:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9221:77:12", + "nodeType": "YulIdentifier", + "src": "9221:77:12" + }, + "nativeSrc": "9221:79:12", + "nodeType": "YulFunctionCall", + "src": "9221:79:12" + }, + "nativeSrc": "9221:79:12", + "nodeType": "YulExpressionStatement", + "src": "9221:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9193:7:12", + "nodeType": "YulIdentifier", + "src": "9193:7:12" + }, + { + "name": "headStart", + "nativeSrc": "9202:9:12", + "nodeType": "YulIdentifier", + "src": "9202:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9189:3:12", + "nodeType": "YulIdentifier", + "src": "9189:3:12" + }, + "nativeSrc": "9189:23:12", + "nodeType": "YulFunctionCall", + "src": "9189:23:12" + }, + { + "kind": "number", + "nativeSrc": "9214:3:12", + "nodeType": "YulLiteral", + "src": "9214:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9185:3:12", + "nodeType": "YulIdentifier", + "src": "9185:3:12" + }, + "nativeSrc": "9185:33:12", + "nodeType": "YulFunctionCall", + "src": "9185:33:12" + }, + "nativeSrc": "9182:120:12", + "nodeType": "YulIf", + "src": "9182:120:12" + }, + { + "nativeSrc": "9312:117:12", + "nodeType": "YulBlock", + "src": "9312:117:12", + "statements": [ + { + "nativeSrc": "9327:15:12", + "nodeType": "YulVariableDeclaration", + "src": "9327:15:12", + "value": { + "kind": "number", + "nativeSrc": "9341:1:12", + "nodeType": "YulLiteral", + "src": "9341:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9331:6:12", + "nodeType": "YulTypedName", + "src": "9331:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9356:63:12", + "nodeType": "YulAssignment", + "src": "9356:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9391:9:12", + "nodeType": "YulIdentifier", + "src": "9391:9:12" + }, + { + "name": "offset", + "nativeSrc": "9402:6:12", + "nodeType": "YulIdentifier", + "src": "9402:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9387:3:12", + "nodeType": "YulIdentifier", + "src": "9387:3:12" + }, + "nativeSrc": "9387:22:12", + "nodeType": "YulFunctionCall", + "src": "9387:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9411:7:12", + "nodeType": "YulIdentifier", + "src": "9411:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "9366:20:12", + "nodeType": "YulIdentifier", + "src": "9366:20:12" + }, + "nativeSrc": "9366:53:12", + "nodeType": "YulFunctionCall", + "src": "9366:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9356:6:12", + "nodeType": "YulIdentifier", + "src": "9356:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "9439:118:12", + "nodeType": "YulBlock", + "src": "9439:118:12", + "statements": [ + { + "nativeSrc": "9454:16:12", + "nodeType": "YulVariableDeclaration", + "src": "9454:16:12", + "value": { + "kind": "number", + "nativeSrc": "9468:2:12", + "nodeType": "YulLiteral", + "src": "9468:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9458:6:12", + "nodeType": "YulTypedName", + "src": "9458:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9484:63:12", + "nodeType": "YulAssignment", + "src": "9484:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9519:9:12", + "nodeType": "YulIdentifier", + "src": "9519:9:12" + }, + { + "name": "offset", + "nativeSrc": "9530:6:12", + "nodeType": "YulIdentifier", + "src": "9530:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9515:3:12", + "nodeType": "YulIdentifier", + "src": "9515:3:12" + }, + "nativeSrc": "9515:22:12", + "nodeType": "YulFunctionCall", + "src": "9515:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9539:7:12", + "nodeType": "YulIdentifier", + "src": "9539:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "9494:20:12", + "nodeType": "YulIdentifier", + "src": "9494:20:12" + }, + "nativeSrc": "9494:53:12", + "nodeType": "YulFunctionCall", + "src": "9494:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "9484:6:12", + "nodeType": "YulIdentifier", + "src": "9484:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "9567:118:12", + "nodeType": "YulBlock", + "src": "9567:118:12", + "statements": [ + { + "nativeSrc": "9582:16:12", + "nodeType": "YulVariableDeclaration", + "src": "9582:16:12", + "value": { + "kind": "number", + "nativeSrc": "9596:2:12", + "nodeType": "YulLiteral", + "src": "9596:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9586:6:12", + "nodeType": "YulTypedName", + "src": "9586:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "9612:63:12", + "nodeType": "YulAssignment", + "src": "9612:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9647:9:12", + "nodeType": "YulIdentifier", + "src": "9647:9:12" + }, + { + "name": "offset", + "nativeSrc": "9658:6:12", + "nodeType": "YulIdentifier", + "src": "9658:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9643:3:12", + "nodeType": "YulIdentifier", + "src": "9643:3:12" + }, + "nativeSrc": "9643:22:12", + "nodeType": "YulFunctionCall", + "src": "9643:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9667:7:12", + "nodeType": "YulIdentifier", + "src": "9667:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "9622:20:12", + "nodeType": "YulIdentifier", + "src": "9622:20:12" + }, + "nativeSrc": "9622:53:12", + "nodeType": "YulFunctionCall", + "src": "9622:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "9612:6:12", + "nodeType": "YulIdentifier", + "src": "9612:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "9695:287:12", + "nodeType": "YulBlock", + "src": "9695:287:12", + "statements": [ + { + "nativeSrc": "9710:46:12", + "nodeType": "YulVariableDeclaration", + "src": "9710:46:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9741:9:12", + "nodeType": "YulIdentifier", + "src": "9741:9:12" + }, + { + "kind": "number", + "nativeSrc": "9752:2:12", + "nodeType": "YulLiteral", + "src": "9752:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9737:3:12", + "nodeType": "YulIdentifier", + "src": "9737:3:12" + }, + "nativeSrc": "9737:18:12", + "nodeType": "YulFunctionCall", + "src": "9737:18:12" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9724:12:12", + "nodeType": "YulIdentifier", + "src": "9724:12:12" + }, + "nativeSrc": "9724:32:12", + "nodeType": "YulFunctionCall", + "src": "9724:32:12" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9714:6:12", + "nodeType": "YulTypedName", + "src": "9714:6:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9803:83:12", + "nodeType": "YulBlock", + "src": "9803:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "9805:77:12", + "nodeType": "YulIdentifier", + "src": "9805:77:12" + }, + "nativeSrc": "9805:79:12", + "nodeType": "YulFunctionCall", + "src": "9805:79:12" + }, + "nativeSrc": "9805:79:12", + "nodeType": "YulExpressionStatement", + "src": "9805:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9775:6:12", + "nodeType": "YulIdentifier", + "src": "9775:6:12" + }, + { + "kind": "number", + "nativeSrc": "9783:18:12", + "nodeType": "YulLiteral", + "src": "9783:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9772:2:12", + "nodeType": "YulIdentifier", + "src": "9772:2:12" + }, + "nativeSrc": "9772:30:12", + "nodeType": "YulFunctionCall", + "src": "9772:30:12" + }, + "nativeSrc": "9769:117:12", + "nodeType": "YulIf", + "src": "9769:117:12" + }, + { + "nativeSrc": "9900:72:12", + "nodeType": "YulAssignment", + "src": "9900:72:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9944:9:12", + "nodeType": "YulIdentifier", + "src": "9944:9:12" + }, + { + "name": "offset", + "nativeSrc": "9955:6:12", + "nodeType": "YulIdentifier", + "src": "9955:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9940:3:12", + "nodeType": "YulIdentifier", + "src": "9940:3:12" + }, + "nativeSrc": "9940:22:12", + "nodeType": "YulFunctionCall", + "src": "9940:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "9964:7:12", + "nodeType": "YulIdentifier", + "src": "9964:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "9910:29:12", + "nodeType": "YulIdentifier", + "src": "9910:29:12" + }, + "nativeSrc": "9910:62:12", + "nodeType": "YulFunctionCall", + "src": "9910:62:12" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "9900:6:12", + "nodeType": "YulIdentifier", + "src": "9900:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", + "nativeSrc": "9046:943:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9118:9:12", + "nodeType": "YulTypedName", + "src": "9118:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9129:7:12", + "nodeType": "YulTypedName", + "src": "9129:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9141:6:12", + "nodeType": "YulTypedName", + "src": "9141:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "9149:6:12", + "nodeType": "YulTypedName", + "src": "9149:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "9157:6:12", + "nodeType": "YulTypedName", + "src": "9157:6:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "9165:6:12", + "nodeType": "YulTypedName", + "src": "9165:6:12", + "type": "" + } + ], + "src": "9046:943:12" + }, + { + "body": { + "nativeSrc": "10078:391:12", + "nodeType": "YulBlock", + "src": "10078:391:12", + "statements": [ + { + "body": { + "nativeSrc": "10124:83:12", + "nodeType": "YulBlock", + "src": "10124:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10126:77:12", + "nodeType": "YulIdentifier", + "src": "10126:77:12" + }, + "nativeSrc": "10126:79:12", + "nodeType": "YulFunctionCall", + "src": "10126:79:12" + }, + "nativeSrc": "10126:79:12", + "nodeType": "YulExpressionStatement", + "src": "10126:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10099:7:12", + "nodeType": "YulIdentifier", + "src": "10099:7:12" + }, + { + "name": "headStart", + "nativeSrc": "10108:9:12", + "nodeType": "YulIdentifier", + "src": "10108:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10095:3:12", + "nodeType": "YulIdentifier", + "src": "10095:3:12" + }, + "nativeSrc": "10095:23:12", + "nodeType": "YulFunctionCall", + "src": "10095:23:12" + }, + { + "kind": "number", + "nativeSrc": "10120:2:12", + "nodeType": "YulLiteral", + "src": "10120:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10091:3:12", + "nodeType": "YulIdentifier", + "src": "10091:3:12" + }, + "nativeSrc": "10091:32:12", + "nodeType": "YulFunctionCall", + "src": "10091:32:12" + }, + "nativeSrc": "10088:119:12", + "nodeType": "YulIf", + "src": "10088:119:12" + }, + { + "nativeSrc": "10217:117:12", + "nodeType": "YulBlock", + "src": "10217:117:12", + "statements": [ + { + "nativeSrc": "10232:15:12", + "nodeType": "YulVariableDeclaration", + "src": "10232:15:12", + "value": { + "kind": "number", + "nativeSrc": "10246:1:12", + "nodeType": "YulLiteral", + "src": "10246:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10236:6:12", + "nodeType": "YulTypedName", + "src": "10236:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10261:63:12", + "nodeType": "YulAssignment", + "src": "10261:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10296:9:12", + "nodeType": "YulIdentifier", + "src": "10296:9:12" + }, + { + "name": "offset", + "nativeSrc": "10307:6:12", + "nodeType": "YulIdentifier", + "src": "10307:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10292:3:12", + "nodeType": "YulIdentifier", + "src": "10292:3:12" + }, + "nativeSrc": "10292:22:12", + "nodeType": "YulFunctionCall", + "src": "10292:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "10316:7:12", + "nodeType": "YulIdentifier", + "src": "10316:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10271:20:12", + "nodeType": "YulIdentifier", + "src": "10271:20:12" + }, + "nativeSrc": "10271:53:12", + "nodeType": "YulFunctionCall", + "src": "10271:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "10261:6:12", + "nodeType": "YulIdentifier", + "src": "10261:6:12" + } + ] + } + ] + }, + { + "nativeSrc": "10344:118:12", + "nodeType": "YulBlock", + "src": "10344:118:12", + "statements": [ + { + "nativeSrc": "10359:16:12", + "nodeType": "YulVariableDeclaration", + "src": "10359:16:12", + "value": { + "kind": "number", + "nativeSrc": "10373:2:12", + "nodeType": "YulLiteral", + "src": "10373:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10363:6:12", + "nodeType": "YulTypedName", + "src": "10363:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "10389:63:12", + "nodeType": "YulAssignment", + "src": "10389:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10424:9:12", + "nodeType": "YulIdentifier", + "src": "10424:9:12" + }, + { + "name": "offset", + "nativeSrc": "10435:6:12", + "nodeType": "YulIdentifier", + "src": "10435:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10420:3:12", + "nodeType": "YulIdentifier", + "src": "10420:3:12" + }, + "nativeSrc": "10420:22:12", + "nodeType": "YulFunctionCall", + "src": "10420:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "10444:7:12", + "nodeType": "YulIdentifier", + "src": "10444:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "10399:20:12", + "nodeType": "YulIdentifier", + "src": "10399:20:12" + }, + "nativeSrc": "10399:53:12", + "nodeType": "YulFunctionCall", + "src": "10399:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "10389:6:12", + "nodeType": "YulIdentifier", + "src": "10389:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nativeSrc": "9995:474:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10040:9:12", + "nodeType": "YulTypedName", + "src": "10040:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10051:7:12", + "nodeType": "YulTypedName", + "src": "10051:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10063:6:12", + "nodeType": "YulTypedName", + "src": "10063:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "10071:6:12", + "nodeType": "YulTypedName", + "src": "10071:6:12", + "type": "" + } + ], + "src": "9995:474:12" + }, + { + "body": { + "nativeSrc": "10503:152:12", + "nodeType": "YulBlock", + "src": "10503:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10520:1:12", + "nodeType": "YulLiteral", + "src": "10520:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10523:77:12", + "nodeType": "YulLiteral", + "src": "10523:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10513:6:12", + "nodeType": "YulIdentifier", + "src": "10513:6:12" + }, + "nativeSrc": "10513:88:12", + "nodeType": "YulFunctionCall", + "src": "10513:88:12" + }, + "nativeSrc": "10513:88:12", + "nodeType": "YulExpressionStatement", + "src": "10513:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10617:1:12", + "nodeType": "YulLiteral", + "src": "10617:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10620:4:12", + "nodeType": "YulLiteral", + "src": "10620:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10610:6:12", + "nodeType": "YulIdentifier", + "src": "10610:6:12" + }, + "nativeSrc": "10610:15:12", + "nodeType": "YulFunctionCall", + "src": "10610:15:12" + }, + "nativeSrc": "10610:15:12", + "nodeType": "YulExpressionStatement", + "src": "10610:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10641:1:12", + "nodeType": "YulLiteral", + "src": "10641:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10644:4:12", + "nodeType": "YulLiteral", + "src": "10644:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10634:6:12", + "nodeType": "YulIdentifier", + "src": "10634:6:12" + }, + "nativeSrc": "10634:15:12", + "nodeType": "YulFunctionCall", + "src": "10634:15:12" + }, + "nativeSrc": "10634:15:12", + "nodeType": "YulExpressionStatement", + "src": "10634:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nativeSrc": "10475:180:12", + "nodeType": "YulFunctionDefinition", + "src": "10475:180:12" + }, + { + "body": { + "nativeSrc": "10712:269:12", + "nodeType": "YulBlock", + "src": "10712:269:12", + "statements": [ + { + "nativeSrc": "10722:22:12", + "nodeType": "YulAssignment", + "src": "10722:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "10736:4:12", + "nodeType": "YulIdentifier", + "src": "10736:4:12" + }, + { + "kind": "number", + "nativeSrc": "10742:1:12", + "nodeType": "YulLiteral", + "src": "10742:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "10732:3:12", + "nodeType": "YulIdentifier", + "src": "10732:3:12" + }, + "nativeSrc": "10732:12:12", + "nodeType": "YulFunctionCall", + "src": "10732:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10722:6:12", + "nodeType": "YulIdentifier", + "src": "10722:6:12" + } + ] + }, + { + "nativeSrc": "10753:38:12", + "nodeType": "YulVariableDeclaration", + "src": "10753:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "10783:4:12", + "nodeType": "YulIdentifier", + "src": "10783:4:12" + }, + { + "kind": "number", + "nativeSrc": "10789:1:12", + "nodeType": "YulLiteral", + "src": "10789:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10779:3:12", + "nodeType": "YulIdentifier", + "src": "10779:3:12" + }, + "nativeSrc": "10779:12:12", + "nodeType": "YulFunctionCall", + "src": "10779:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "10757:18:12", + "nodeType": "YulTypedName", + "src": "10757:18:12", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10830:51:12", + "nodeType": "YulBlock", + "src": "10830:51:12", + "statements": [ + { + "nativeSrc": "10844:27:12", + "nodeType": "YulAssignment", + "src": "10844:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10858:6:12", + "nodeType": "YulIdentifier", + "src": "10858:6:12" + }, + { + "kind": "number", + "nativeSrc": "10866:4:12", + "nodeType": "YulLiteral", + "src": "10866:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10854:3:12", + "nodeType": "YulIdentifier", + "src": "10854:3:12" + }, + "nativeSrc": "10854:17:12", + "nodeType": "YulFunctionCall", + "src": "10854:17:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10844:6:12", + "nodeType": "YulIdentifier", + "src": "10844:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "10810:18:12", + "nodeType": "YulIdentifier", + "src": "10810:18:12" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10803:6:12", + "nodeType": "YulIdentifier", + "src": "10803:6:12" + }, + "nativeSrc": "10803:26:12", + "nodeType": "YulFunctionCall", + "src": "10803:26:12" + }, + "nativeSrc": "10800:81:12", + "nodeType": "YulIf", + "src": "10800:81:12" + }, + { + "body": { + "nativeSrc": "10933:42:12", + "nodeType": "YulBlock", + "src": "10933:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nativeSrc": "10947:16:12", + "nodeType": "YulIdentifier", + "src": "10947:16:12" + }, + "nativeSrc": "10947:18:12", + "nodeType": "YulFunctionCall", + "src": "10947:18:12" + }, + "nativeSrc": "10947:18:12", + "nodeType": "YulExpressionStatement", + "src": "10947:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "10897:18:12", + "nodeType": "YulIdentifier", + "src": "10897:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10920:6:12", + "nodeType": "YulIdentifier", + "src": "10920:6:12" + }, + { + "kind": "number", + "nativeSrc": "10928:2:12", + "nodeType": "YulLiteral", + "src": "10928:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "10917:2:12", + "nodeType": "YulIdentifier", + "src": "10917:2:12" + }, + "nativeSrc": "10917:14:12", + "nodeType": "YulFunctionCall", + "src": "10917:14:12" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "10894:2:12", + "nodeType": "YulIdentifier", + "src": "10894:2:12" + }, + "nativeSrc": "10894:38:12", + "nodeType": "YulFunctionCall", + "src": "10894:38:12" + }, + "nativeSrc": "10891:84:12", + "nodeType": "YulIf", + "src": "10891:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "10661:320:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "10696:4:12", + "nodeType": "YulTypedName", + "src": "10696:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "10705:6:12", + "nodeType": "YulTypedName", + "src": "10705:6:12", + "type": "" + } + ], + "src": "10661:320:12" + }, + { + "body": { + "nativeSrc": "11093:114:12", + "nodeType": "YulBlock", + "src": "11093:114:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11115:6:12", + "nodeType": "YulIdentifier", + "src": "11115:6:12" + }, + { + "kind": "number", + "nativeSrc": "11123:1:12", + "nodeType": "YulLiteral", + "src": "11123:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11111:3:12", + "nodeType": "YulIdentifier", + "src": "11111:3:12" + }, + "nativeSrc": "11111:14:12", + "nodeType": "YulFunctionCall", + "src": "11111:14:12" + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "kind": "string", + "nativeSrc": "11127:34:12", + "nodeType": "YulLiteral", + "src": "11127:34:12", + "type": "", + "value": "ERC721: approval to current owne" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11104:6:12", + "nodeType": "YulIdentifier", + "src": "11104:6:12" + }, + "nativeSrc": "11104:58:12", + "nodeType": "YulFunctionCall", + "src": "11104:58:12" + }, + "nativeSrc": "11104:58:12", + "nodeType": "YulExpressionStatement", + "src": "11104:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11183:6:12", + "nodeType": "YulIdentifier", + "src": "11183:6:12" + }, + { + "kind": "number", + "nativeSrc": "11191:2:12", + "nodeType": "YulLiteral", + "src": "11191:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11179:3:12", + "nodeType": "YulIdentifier", + "src": "11179:3:12" + }, + "nativeSrc": "11179:15:12", + "nodeType": "YulFunctionCall", + "src": "11179:15:12" + }, + { + "hexValue": "72", + "kind": "string", + "nativeSrc": "11196:3:12", + "nodeType": "YulLiteral", + "src": "11196:3:12", + "type": "", + "value": "r" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11172:6:12", + "nodeType": "YulIdentifier", + "src": "11172:6:12" + }, + "nativeSrc": "11172:28:12", + "nodeType": "YulFunctionCall", + "src": "11172:28:12" + }, + "nativeSrc": "11172:28:12", + "nodeType": "YulExpressionStatement", + "src": "11172:28:12" + } + ] + }, + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nativeSrc": "10987:220:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "11085:6:12", + "nodeType": "YulTypedName", + "src": "11085:6:12", + "type": "" + } + ], + "src": "10987:220:12" + }, + { + "body": { + "nativeSrc": "11359:220:12", + "nodeType": "YulBlock", + "src": "11359:220:12", + "statements": [ + { + "nativeSrc": "11369:74:12", + "nodeType": "YulAssignment", + "src": "11369:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11435:3:12", + "nodeType": "YulIdentifier", + "src": "11435:3:12" + }, + { + "kind": "number", + "nativeSrc": "11440:2:12", + "nodeType": "YulLiteral", + "src": "11440:2:12", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "11376:58:12", + "nodeType": "YulIdentifier", + "src": "11376:58:12" + }, + "nativeSrc": "11376:67:12", + "nodeType": "YulFunctionCall", + "src": "11376:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11369:3:12", + "nodeType": "YulIdentifier", + "src": "11369:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11541:3:12", + "nodeType": "YulIdentifier", + "src": "11541:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nativeSrc": "11452:88:12", + "nodeType": "YulIdentifier", + "src": "11452:88:12" + }, + "nativeSrc": "11452:93:12", + "nodeType": "YulFunctionCall", + "src": "11452:93:12" + }, + "nativeSrc": "11452:93:12", + "nodeType": "YulExpressionStatement", + "src": "11452:93:12" + }, + { + "nativeSrc": "11554:19:12", + "nodeType": "YulAssignment", + "src": "11554:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11565:3:12", + "nodeType": "YulIdentifier", + "src": "11565:3:12" + }, + { + "kind": "number", + "nativeSrc": "11570:2:12", + "nodeType": "YulLiteral", + "src": "11570:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11561:3:12", + "nodeType": "YulIdentifier", + "src": "11561:3:12" + }, + "nativeSrc": "11561:12:12", + "nodeType": "YulFunctionCall", + "src": "11561:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11554:3:12", + "nodeType": "YulIdentifier", + "src": "11554:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11213:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "11347:3:12", + "nodeType": "YulTypedName", + "src": "11347:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11355:3:12", + "nodeType": "YulTypedName", + "src": "11355:3:12", + "type": "" + } + ], + "src": "11213:366:12" + }, + { + "body": { + "nativeSrc": "11756:248:12", + "nodeType": "YulBlock", + "src": "11756:248:12", + "statements": [ + { + "nativeSrc": "11766:26:12", + "nodeType": "YulAssignment", + "src": "11766:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11778:9:12", + "nodeType": "YulIdentifier", + "src": "11778:9:12" + }, + { + "kind": "number", + "nativeSrc": "11789:2:12", + "nodeType": "YulLiteral", + "src": "11789:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11774:3:12", + "nodeType": "YulIdentifier", + "src": "11774:3:12" + }, + "nativeSrc": "11774:18:12", + "nodeType": "YulFunctionCall", + "src": "11774:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11766:4:12", + "nodeType": "YulIdentifier", + "src": "11766:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11813:9:12", + "nodeType": "YulIdentifier", + "src": "11813:9:12" + }, + { + "kind": "number", + "nativeSrc": "11824:1:12", + "nodeType": "YulLiteral", + "src": "11824:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11809:3:12", + "nodeType": "YulIdentifier", + "src": "11809:3:12" + }, + "nativeSrc": "11809:17:12", + "nodeType": "YulFunctionCall", + "src": "11809:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11832:4:12", + "nodeType": "YulIdentifier", + "src": "11832:4:12" + }, + { + "name": "headStart", + "nativeSrc": "11838:9:12", + "nodeType": "YulIdentifier", + "src": "11838:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11828:3:12", + "nodeType": "YulIdentifier", + "src": "11828:3:12" + }, + "nativeSrc": "11828:20:12", + "nodeType": "YulFunctionCall", + "src": "11828:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11802:6:12", + "nodeType": "YulIdentifier", + "src": "11802:6:12" + }, + "nativeSrc": "11802:47:12", + "nodeType": "YulFunctionCall", + "src": "11802:47:12" + }, + "nativeSrc": "11802:47:12", + "nodeType": "YulExpressionStatement", + "src": "11802:47:12" + }, + { + "nativeSrc": "11858:139:12", + "nodeType": "YulAssignment", + "src": "11858:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11992:4:12", + "nodeType": "YulIdentifier", + "src": "11992:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11866:124:12", + "nodeType": "YulIdentifier", + "src": "11866:124:12" + }, + "nativeSrc": "11866:131:12", + "nodeType": "YulFunctionCall", + "src": "11866:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11858:4:12", + "nodeType": "YulIdentifier", + "src": "11858:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11585:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11736:9:12", + "nodeType": "YulTypedName", + "src": "11736:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11751:4:12", + "nodeType": "YulTypedName", + "src": "11751:4:12", + "type": "" + } + ], + "src": "11585:419:12" + }, + { + "body": { + "nativeSrc": "12116:142:12", + "nodeType": "YulBlock", + "src": "12116:142:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "12138:6:12", + "nodeType": "YulIdentifier", + "src": "12138:6:12" + }, + { + "kind": "number", + "nativeSrc": "12146:1:12", + "nodeType": "YulLiteral", + "src": "12146:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12134:3:12", + "nodeType": "YulIdentifier", + "src": "12134:3:12" + }, + "nativeSrc": "12134:14:12", + "nodeType": "YulFunctionCall", + "src": "12134:14:12" + }, + { + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", + "kind": "string", + "nativeSrc": "12150:34:12", + "nodeType": "YulLiteral", + "src": "12150:34:12", + "type": "", + "value": "ERC721: approve caller is not to" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12127:6:12", + "nodeType": "YulIdentifier", + "src": "12127:6:12" + }, + "nativeSrc": "12127:58:12", + "nodeType": "YulFunctionCall", + "src": "12127:58:12" + }, + "nativeSrc": "12127:58:12", + "nodeType": "YulExpressionStatement", + "src": "12127:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "12206:6:12", + "nodeType": "YulIdentifier", + "src": "12206:6:12" + }, + { + "kind": "number", + "nativeSrc": "12214:2:12", + "nodeType": "YulLiteral", + "src": "12214:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12202:3:12", + "nodeType": "YulIdentifier", + "src": "12202:3:12" + }, + "nativeSrc": "12202:15:12", + "nodeType": "YulFunctionCall", + "src": "12202:15:12" + }, + { + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", + "kind": "string", + "nativeSrc": "12219:31:12", + "nodeType": "YulLiteral", + "src": "12219:31:12", + "type": "", + "value": "ken owner or approved for all" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12195:6:12", + "nodeType": "YulIdentifier", + "src": "12195:6:12" + }, + "nativeSrc": "12195:56:12", + "nodeType": "YulFunctionCall", + "src": "12195:56:12" + }, + "nativeSrc": "12195:56:12", + "nodeType": "YulExpressionStatement", + "src": "12195:56:12" + } + ] + }, + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nativeSrc": "12010:248:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "12108:6:12", + "nodeType": "YulTypedName", + "src": "12108:6:12", + "type": "" + } + ], + "src": "12010:248:12" + }, + { + "body": { + "nativeSrc": "12410:220:12", + "nodeType": "YulBlock", + "src": "12410:220:12", + "statements": [ + { + "nativeSrc": "12420:74:12", + "nodeType": "YulAssignment", + "src": "12420:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12486:3:12", + "nodeType": "YulIdentifier", + "src": "12486:3:12" + }, + { + "kind": "number", + "nativeSrc": "12491:2:12", + "nodeType": "YulLiteral", + "src": "12491:2:12", + "type": "", + "value": "61" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "12427:58:12", + "nodeType": "YulIdentifier", + "src": "12427:58:12" + }, + "nativeSrc": "12427:67:12", + "nodeType": "YulFunctionCall", + "src": "12427:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "12420:3:12", + "nodeType": "YulIdentifier", + "src": "12420:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12592:3:12", + "nodeType": "YulIdentifier", + "src": "12592:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nativeSrc": "12503:88:12", + "nodeType": "YulIdentifier", + "src": "12503:88:12" + }, + "nativeSrc": "12503:93:12", + "nodeType": "YulFunctionCall", + "src": "12503:93:12" + }, + "nativeSrc": "12503:93:12", + "nodeType": "YulExpressionStatement", + "src": "12503:93:12" + }, + { + "nativeSrc": "12605:19:12", + "nodeType": "YulAssignment", + "src": "12605:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "12616:3:12", + "nodeType": "YulIdentifier", + "src": "12616:3:12" + }, + { + "kind": "number", + "nativeSrc": "12621:2:12", + "nodeType": "YulLiteral", + "src": "12621:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12612:3:12", + "nodeType": "YulIdentifier", + "src": "12612:3:12" + }, + "nativeSrc": "12612:12:12", + "nodeType": "YulFunctionCall", + "src": "12612:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "12605:3:12", + "nodeType": "YulIdentifier", + "src": "12605:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12264:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "12398:3:12", + "nodeType": "YulTypedName", + "src": "12398:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "12406:3:12", + "nodeType": "YulTypedName", + "src": "12406:3:12", + "type": "" + } + ], + "src": "12264:366:12" + }, + { + "body": { + "nativeSrc": "12807:248:12", + "nodeType": "YulBlock", + "src": "12807:248:12", + "statements": [ + { + "nativeSrc": "12817:26:12", + "nodeType": "YulAssignment", + "src": "12817:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12829:9:12", + "nodeType": "YulIdentifier", + "src": "12829:9:12" + }, + { + "kind": "number", + "nativeSrc": "12840:2:12", + "nodeType": "YulLiteral", + "src": "12840:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12825:3:12", + "nodeType": "YulIdentifier", + "src": "12825:3:12" + }, + "nativeSrc": "12825:18:12", + "nodeType": "YulFunctionCall", + "src": "12825:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12817:4:12", + "nodeType": "YulIdentifier", + "src": "12817:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12864:9:12", + "nodeType": "YulIdentifier", + "src": "12864:9:12" + }, + { + "kind": "number", + "nativeSrc": "12875:1:12", + "nodeType": "YulLiteral", + "src": "12875:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12860:3:12", + "nodeType": "YulIdentifier", + "src": "12860:3:12" + }, + "nativeSrc": "12860:17:12", + "nodeType": "YulFunctionCall", + "src": "12860:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "12883:4:12", + "nodeType": "YulIdentifier", + "src": "12883:4:12" + }, + { + "name": "headStart", + "nativeSrc": "12889:9:12", + "nodeType": "YulIdentifier", + "src": "12889:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12879:3:12", + "nodeType": "YulIdentifier", + "src": "12879:3:12" + }, + "nativeSrc": "12879:20:12", + "nodeType": "YulFunctionCall", + "src": "12879:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12853:6:12", + "nodeType": "YulIdentifier", + "src": "12853:6:12" + }, + "nativeSrc": "12853:47:12", + "nodeType": "YulFunctionCall", + "src": "12853:47:12" + }, + "nativeSrc": "12853:47:12", + "nodeType": "YulExpressionStatement", + "src": "12853:47:12" + }, + { + "nativeSrc": "12909:139:12", + "nodeType": "YulAssignment", + "src": "12909:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "13043:4:12", + "nodeType": "YulIdentifier", + "src": "13043:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12917:124:12", + "nodeType": "YulIdentifier", + "src": "12917:124:12" + }, + "nativeSrc": "12917:131:12", + "nodeType": "YulFunctionCall", + "src": "12917:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12909:4:12", + "nodeType": "YulIdentifier", + "src": "12909:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "12636:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12787:9:12", + "nodeType": "YulTypedName", + "src": "12787:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12802:4:12", + "nodeType": "YulTypedName", + "src": "12802:4:12", + "type": "" + } + ], + "src": "12636:419:12" + }, + { + "body": { + "nativeSrc": "13089:152:12", + "nodeType": "YulBlock", + "src": "13089:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13106:1:12", + "nodeType": "YulLiteral", + "src": "13106:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "13109:77:12", + "nodeType": "YulLiteral", + "src": "13109:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13099:6:12", + "nodeType": "YulIdentifier", + "src": "13099:6:12" + }, + "nativeSrc": "13099:88:12", + "nodeType": "YulFunctionCall", + "src": "13099:88:12" + }, + "nativeSrc": "13099:88:12", + "nodeType": "YulExpressionStatement", + "src": "13099:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13203:1:12", + "nodeType": "YulLiteral", + "src": "13203:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "13206:4:12", + "nodeType": "YulLiteral", + "src": "13206:4:12", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13196:6:12", + "nodeType": "YulIdentifier", + "src": "13196:6:12" + }, + "nativeSrc": "13196:15:12", + "nodeType": "YulFunctionCall", + "src": "13196:15:12" + }, + "nativeSrc": "13196:15:12", + "nodeType": "YulExpressionStatement", + "src": "13196:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13227:1:12", + "nodeType": "YulLiteral", + "src": "13227:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "13230:4:12", + "nodeType": "YulLiteral", + "src": "13230:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "13220:6:12", + "nodeType": "YulIdentifier", + "src": "13220:6:12" + }, + "nativeSrc": "13220:15:12", + "nodeType": "YulFunctionCall", + "src": "13220:15:12" + }, + "nativeSrc": "13220:15:12", + "nodeType": "YulExpressionStatement", + "src": "13220:15:12" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "13061:180:12", + "nodeType": "YulFunctionDefinition", + "src": "13061:180:12" + }, + { + "body": { + "nativeSrc": "13290:190:12", + "nodeType": "YulBlock", + "src": "13290:190:12", + "statements": [ + { + "nativeSrc": "13300:33:12", + "nodeType": "YulAssignment", + "src": "13300:33:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "13327:5:12", + "nodeType": "YulIdentifier", + "src": "13327:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "13309:17:12", + "nodeType": "YulIdentifier", + "src": "13309:17:12" + }, + "nativeSrc": "13309:24:12", + "nodeType": "YulFunctionCall", + "src": "13309:24:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "13300:5:12", + "nodeType": "YulIdentifier", + "src": "13300:5:12" + } + ] + }, + { + "body": { + "nativeSrc": "13423:22:12", + "nodeType": "YulBlock", + "src": "13423:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "13425:16:12", + "nodeType": "YulIdentifier", + "src": "13425:16:12" + }, + "nativeSrc": "13425:18:12", + "nodeType": "YulFunctionCall", + "src": "13425:18:12" + }, + "nativeSrc": "13425:18:12", + "nodeType": "YulExpressionStatement", + "src": "13425:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "13348:5:12", + "nodeType": "YulIdentifier", + "src": "13348:5:12" + }, + { + "kind": "number", + "nativeSrc": "13355:66:12", + "nodeType": "YulLiteral", + "src": "13355:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "13345:2:12", + "nodeType": "YulIdentifier", + "src": "13345:2:12" + }, + "nativeSrc": "13345:77:12", + "nodeType": "YulFunctionCall", + "src": "13345:77:12" + }, + "nativeSrc": "13342:103:12", + "nodeType": "YulIf", + "src": "13342:103:12" + }, + { + "nativeSrc": "13454:20:12", + "nodeType": "YulAssignment", + "src": "13454:20:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "13465:5:12", + "nodeType": "YulIdentifier", + "src": "13465:5:12" + }, + { + "kind": "number", + "nativeSrc": "13472:1:12", + "nodeType": "YulLiteral", + "src": "13472:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13461:3:12", + "nodeType": "YulIdentifier", + "src": "13461:3:12" + }, + "nativeSrc": "13461:13:12", + "nodeType": "YulFunctionCall", + "src": "13461:13:12" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "13454:3:12", + "nodeType": "YulIdentifier", + "src": "13454:3:12" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "13247:233:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "13276:5:12", + "nodeType": "YulTypedName", + "src": "13276:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "13286:3:12", + "nodeType": "YulTypedName", + "src": "13286:3:12", + "type": "" + } + ], + "src": "13247:233:12" + }, + { + "body": { + "nativeSrc": "13592:126:12", + "nodeType": "YulBlock", + "src": "13592:126:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13614:6:12", + "nodeType": "YulIdentifier", + "src": "13614:6:12" + }, + { + "kind": "number", + "nativeSrc": "13622:1:12", + "nodeType": "YulLiteral", + "src": "13622:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13610:3:12", + "nodeType": "YulIdentifier", + "src": "13610:3:12" + }, + "nativeSrc": "13610:14:12", + "nodeType": "YulFunctionCall", + "src": "13610:14:12" + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", + "kind": "string", + "nativeSrc": "13626:34:12", + "nodeType": "YulLiteral", + "src": "13626:34:12", + "type": "", + "value": "ERC721: caller is not token owne" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13603:6:12", + "nodeType": "YulIdentifier", + "src": "13603:6:12" + }, + "nativeSrc": "13603:58:12", + "nodeType": "YulFunctionCall", + "src": "13603:58:12" + }, + "nativeSrc": "13603:58:12", + "nodeType": "YulExpressionStatement", + "src": "13603:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "13682:6:12", + "nodeType": "YulIdentifier", + "src": "13682:6:12" + }, + { + "kind": "number", + "nativeSrc": "13690:2:12", + "nodeType": "YulLiteral", + "src": "13690:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13678:3:12", + "nodeType": "YulIdentifier", + "src": "13678:3:12" + }, + "nativeSrc": "13678:15:12", + "nodeType": "YulFunctionCall", + "src": "13678:15:12" + }, + { + "hexValue": "72206f7220617070726f766564", + "kind": "string", + "nativeSrc": "13695:15:12", + "nodeType": "YulLiteral", + "src": "13695:15:12", + "type": "", + "value": "r or approved" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13671:6:12", + "nodeType": "YulIdentifier", + "src": "13671:6:12" + }, + "nativeSrc": "13671:40:12", + "nodeType": "YulFunctionCall", + "src": "13671:40:12" + }, + "nativeSrc": "13671:40:12", + "nodeType": "YulExpressionStatement", + "src": "13671:40:12" + } + ] + }, + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nativeSrc": "13486:232:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "13584:6:12", + "nodeType": "YulTypedName", + "src": "13584:6:12", + "type": "" + } + ], + "src": "13486:232:12" + }, + { + "body": { + "nativeSrc": "13870:220:12", + "nodeType": "YulBlock", + "src": "13870:220:12", + "statements": [ + { + "nativeSrc": "13880:74:12", + "nodeType": "YulAssignment", + "src": "13880:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "13946:3:12", + "nodeType": "YulIdentifier", + "src": "13946:3:12" + }, + { + "kind": "number", + "nativeSrc": "13951:2:12", + "nodeType": "YulLiteral", + "src": "13951:2:12", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "13887:58:12", + "nodeType": "YulIdentifier", + "src": "13887:58:12" + }, + "nativeSrc": "13887:67:12", + "nodeType": "YulFunctionCall", + "src": "13887:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "13880:3:12", + "nodeType": "YulIdentifier", + "src": "13880:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14052:3:12", + "nodeType": "YulIdentifier", + "src": "14052:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nativeSrc": "13963:88:12", + "nodeType": "YulIdentifier", + "src": "13963:88:12" + }, + "nativeSrc": "13963:93:12", + "nodeType": "YulFunctionCall", + "src": "13963:93:12" + }, + "nativeSrc": "13963:93:12", + "nodeType": "YulExpressionStatement", + "src": "13963:93:12" + }, + { + "nativeSrc": "14065:19:12", + "nodeType": "YulAssignment", + "src": "14065:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14076:3:12", + "nodeType": "YulIdentifier", + "src": "14076:3:12" + }, + { + "kind": "number", + "nativeSrc": "14081:2:12", + "nodeType": "YulLiteral", + "src": "14081:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14072:3:12", + "nodeType": "YulIdentifier", + "src": "14072:3:12" + }, + "nativeSrc": "14072:12:12", + "nodeType": "YulFunctionCall", + "src": "14072:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "14065:3:12", + "nodeType": "YulIdentifier", + "src": "14065:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nativeSrc": "13724:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "13858:3:12", + "nodeType": "YulTypedName", + "src": "13858:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "13866:3:12", + "nodeType": "YulTypedName", + "src": "13866:3:12", + "type": "" + } + ], + "src": "13724:366:12" + }, + { + "body": { + "nativeSrc": "14267:248:12", + "nodeType": "YulBlock", + "src": "14267:248:12", + "statements": [ + { + "nativeSrc": "14277:26:12", + "nodeType": "YulAssignment", + "src": "14277:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14289:9:12", + "nodeType": "YulIdentifier", + "src": "14289:9:12" + }, + { + "kind": "number", + "nativeSrc": "14300:2:12", + "nodeType": "YulLiteral", + "src": "14300:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14285:3:12", + "nodeType": "YulIdentifier", + "src": "14285:3:12" + }, + "nativeSrc": "14285:18:12", + "nodeType": "YulFunctionCall", + "src": "14285:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14277:4:12", + "nodeType": "YulIdentifier", + "src": "14277:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14324:9:12", + "nodeType": "YulIdentifier", + "src": "14324:9:12" + }, + { + "kind": "number", + "nativeSrc": "14335:1:12", + "nodeType": "YulLiteral", + "src": "14335:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14320:3:12", + "nodeType": "YulIdentifier", + "src": "14320:3:12" + }, + "nativeSrc": "14320:17:12", + "nodeType": "YulFunctionCall", + "src": "14320:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14343:4:12", + "nodeType": "YulIdentifier", + "src": "14343:4:12" + }, + { + "name": "headStart", + "nativeSrc": "14349:9:12", + "nodeType": "YulIdentifier", + "src": "14349:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14339:3:12", + "nodeType": "YulIdentifier", + "src": "14339:3:12" + }, + "nativeSrc": "14339:20:12", + "nodeType": "YulFunctionCall", + "src": "14339:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14313:6:12", + "nodeType": "YulIdentifier", + "src": "14313:6:12" + }, + "nativeSrc": "14313:47:12", + "nodeType": "YulFunctionCall", + "src": "14313:47:12" + }, + "nativeSrc": "14313:47:12", + "nodeType": "YulExpressionStatement", + "src": "14313:47:12" + }, + { + "nativeSrc": "14369:139:12", + "nodeType": "YulAssignment", + "src": "14369:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "14503:4:12", + "nodeType": "YulIdentifier", + "src": "14503:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14377:124:12", + "nodeType": "YulIdentifier", + "src": "14377:124:12" + }, + "nativeSrc": "14377:131:12", + "nodeType": "YulFunctionCall", + "src": "14377:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "14369:4:12", + "nodeType": "YulIdentifier", + "src": "14369:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "14096:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14247:9:12", + "nodeType": "YulTypedName", + "src": "14247:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14262:4:12", + "nodeType": "YulTypedName", + "src": "14262:4:12", + "type": "" + } + ], + "src": "14096:419:12" + }, + { + "body": { + "nativeSrc": "14627:68:12", + "nodeType": "YulBlock", + "src": "14627:68:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "14649:6:12", + "nodeType": "YulIdentifier", + "src": "14649:6:12" + }, + { + "kind": "number", + "nativeSrc": "14657:1:12", + "nodeType": "YulLiteral", + "src": "14657:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14645:3:12", + "nodeType": "YulIdentifier", + "src": "14645:3:12" + }, + "nativeSrc": "14645:14:12", + "nodeType": "YulFunctionCall", + "src": "14645:14:12" + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "kind": "string", + "nativeSrc": "14661:26:12", + "nodeType": "YulLiteral", + "src": "14661:26:12", + "type": "", + "value": "ERC721: invalid token ID" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14638:6:12", + "nodeType": "YulIdentifier", + "src": "14638:6:12" + }, + "nativeSrc": "14638:50:12", + "nodeType": "YulFunctionCall", + "src": "14638:50:12" + }, + "nativeSrc": "14638:50:12", + "nodeType": "YulExpressionStatement", + "src": "14638:50:12" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nativeSrc": "14521:174:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "14619:6:12", + "nodeType": "YulTypedName", + "src": "14619:6:12", + "type": "" + } + ], + "src": "14521:174:12" + }, + { + "body": { + "nativeSrc": "14847:220:12", + "nodeType": "YulBlock", + "src": "14847:220:12", + "statements": [ + { + "nativeSrc": "14857:74:12", + "nodeType": "YulAssignment", + "src": "14857:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "14923:3:12", + "nodeType": "YulIdentifier", + "src": "14923:3:12" + }, + { + "kind": "number", + "nativeSrc": "14928:2:12", + "nodeType": "YulLiteral", + "src": "14928:2:12", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "14864:58:12", + "nodeType": "YulIdentifier", + "src": "14864:58:12" + }, + "nativeSrc": "14864:67:12", + "nodeType": "YulFunctionCall", + "src": "14864:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "14857:3:12", + "nodeType": "YulIdentifier", + "src": "14857:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15029:3:12", + "nodeType": "YulIdentifier", + "src": "15029:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nativeSrc": "14940:88:12", + "nodeType": "YulIdentifier", + "src": "14940:88:12" + }, + "nativeSrc": "14940:93:12", + "nodeType": "YulFunctionCall", + "src": "14940:93:12" + }, + "nativeSrc": "14940:93:12", + "nodeType": "YulExpressionStatement", + "src": "14940:93:12" + }, + { + "nativeSrc": "15042:19:12", + "nodeType": "YulAssignment", + "src": "15042:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15053:3:12", + "nodeType": "YulIdentifier", + "src": "15053:3:12" + }, + { + "kind": "number", + "nativeSrc": "15058:2:12", + "nodeType": "YulLiteral", + "src": "15058:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15049:3:12", + "nodeType": "YulIdentifier", + "src": "15049:3:12" + }, + "nativeSrc": "15049:12:12", + "nodeType": "YulFunctionCall", + "src": "15049:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "15042:3:12", + "nodeType": "YulIdentifier", + "src": "15042:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "14701:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "14835:3:12", + "nodeType": "YulTypedName", + "src": "14835:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "14843:3:12", + "nodeType": "YulTypedName", + "src": "14843:3:12", + "type": "" + } + ], + "src": "14701:366:12" + }, + { + "body": { + "nativeSrc": "15244:248:12", + "nodeType": "YulBlock", + "src": "15244:248:12", + "statements": [ + { + "nativeSrc": "15254:26:12", + "nodeType": "YulAssignment", + "src": "15254:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15266:9:12", + "nodeType": "YulIdentifier", + "src": "15266:9:12" + }, + { + "kind": "number", + "nativeSrc": "15277:2:12", + "nodeType": "YulLiteral", + "src": "15277:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15262:3:12", + "nodeType": "YulIdentifier", + "src": "15262:3:12" + }, + "nativeSrc": "15262:18:12", + "nodeType": "YulFunctionCall", + "src": "15262:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15254:4:12", + "nodeType": "YulIdentifier", + "src": "15254:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15301:9:12", + "nodeType": "YulIdentifier", + "src": "15301:9:12" + }, + { + "kind": "number", + "nativeSrc": "15312:1:12", + "nodeType": "YulLiteral", + "src": "15312:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15297:3:12", + "nodeType": "YulIdentifier", + "src": "15297:3:12" + }, + "nativeSrc": "15297:17:12", + "nodeType": "YulFunctionCall", + "src": "15297:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15320:4:12", + "nodeType": "YulIdentifier", + "src": "15320:4:12" + }, + { + "name": "headStart", + "nativeSrc": "15326:9:12", + "nodeType": "YulIdentifier", + "src": "15326:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "15316:3:12", + "nodeType": "YulIdentifier", + "src": "15316:3:12" + }, + "nativeSrc": "15316:20:12", + "nodeType": "YulFunctionCall", + "src": "15316:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15290:6:12", + "nodeType": "YulIdentifier", + "src": "15290:6:12" + }, + "nativeSrc": "15290:47:12", + "nodeType": "YulFunctionCall", + "src": "15290:47:12" + }, + "nativeSrc": "15290:47:12", + "nodeType": "YulExpressionStatement", + "src": "15290:47:12" + }, + { + "nativeSrc": "15346:139:12", + "nodeType": "YulAssignment", + "src": "15346:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "15480:4:12", + "nodeType": "YulIdentifier", + "src": "15480:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15354:124:12", + "nodeType": "YulIdentifier", + "src": "15354:124:12" + }, + "nativeSrc": "15354:131:12", + "nodeType": "YulFunctionCall", + "src": "15354:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15346:4:12", + "nodeType": "YulIdentifier", + "src": "15346:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15073:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15224:9:12", + "nodeType": "YulTypedName", + "src": "15224:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15239:4:12", + "nodeType": "YulTypedName", + "src": "15239:4:12", + "type": "" + } + ], + "src": "15073:419:12" + }, + { + "body": { + "nativeSrc": "15604:122:12", + "nodeType": "YulBlock", + "src": "15604:122:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15626:6:12", + "nodeType": "YulIdentifier", + "src": "15626:6:12" + }, + { + "kind": "number", + "nativeSrc": "15634:1:12", + "nodeType": "YulLiteral", + "src": "15634:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15622:3:12", + "nodeType": "YulIdentifier", + "src": "15622:3:12" + }, + "nativeSrc": "15622:14:12", + "nodeType": "YulFunctionCall", + "src": "15622:14:12" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nativeSrc": "15638:34:12", + "nodeType": "YulLiteral", + "src": "15638:34:12", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15615:6:12", + "nodeType": "YulIdentifier", + "src": "15615:6:12" + }, + "nativeSrc": "15615:58:12", + "nodeType": "YulFunctionCall", + "src": "15615:58:12" + }, + "nativeSrc": "15615:58:12", + "nodeType": "YulExpressionStatement", + "src": "15615:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "15694:6:12", + "nodeType": "YulIdentifier", + "src": "15694:6:12" + }, + { + "kind": "number", + "nativeSrc": "15702:2:12", + "nodeType": "YulLiteral", + "src": "15702:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15690:3:12", + "nodeType": "YulIdentifier", + "src": "15690:3:12" + }, + "nativeSrc": "15690:15:12", + "nodeType": "YulFunctionCall", + "src": "15690:15:12" + }, + { + "hexValue": "6c6964206f776e6572", + "kind": "string", + "nativeSrc": "15707:11:12", + "nodeType": "YulLiteral", + "src": "15707:11:12", + "type": "", + "value": "lid owner" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15683:6:12", + "nodeType": "YulIdentifier", + "src": "15683:6:12" + }, + "nativeSrc": "15683:36:12", + "nodeType": "YulFunctionCall", + "src": "15683:36:12" + }, + "nativeSrc": "15683:36:12", + "nodeType": "YulExpressionStatement", + "src": "15683:36:12" + } + ] + }, + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nativeSrc": "15498:228:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "15596:6:12", + "nodeType": "YulTypedName", + "src": "15596:6:12", + "type": "" + } + ], + "src": "15498:228:12" + }, + { + "body": { + "nativeSrc": "15878:220:12", + "nodeType": "YulBlock", + "src": "15878:220:12", + "statements": [ + { + "nativeSrc": "15888:74:12", + "nodeType": "YulAssignment", + "src": "15888:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15954:3:12", + "nodeType": "YulIdentifier", + "src": "15954:3:12" + }, + { + "kind": "number", + "nativeSrc": "15959:2:12", + "nodeType": "YulLiteral", + "src": "15959:2:12", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "15895:58:12", + "nodeType": "YulIdentifier", + "src": "15895:58:12" + }, + "nativeSrc": "15895:67:12", + "nodeType": "YulFunctionCall", + "src": "15895:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15888:3:12", + "nodeType": "YulIdentifier", + "src": "15888:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16060:3:12", + "nodeType": "YulIdentifier", + "src": "16060:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nativeSrc": "15971:88:12", + "nodeType": "YulIdentifier", + "src": "15971:88:12" + }, + "nativeSrc": "15971:93:12", + "nodeType": "YulFunctionCall", + "src": "15971:93:12" + }, + "nativeSrc": "15971:93:12", + "nodeType": "YulExpressionStatement", + "src": "15971:93:12" + }, + { + "nativeSrc": "16073:19:12", + "nodeType": "YulAssignment", + "src": "16073:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16084:3:12", + "nodeType": "YulIdentifier", + "src": "16084:3:12" + }, + { + "kind": "number", + "nativeSrc": "16089:2:12", + "nodeType": "YulLiteral", + "src": "16089:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16080:3:12", + "nodeType": "YulIdentifier", + "src": "16080:3:12" + }, + "nativeSrc": "16080:12:12", + "nodeType": "YulFunctionCall", + "src": "16080:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "16073:3:12", + "nodeType": "YulIdentifier", + "src": "16073:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nativeSrc": "15732:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15866:3:12", + "nodeType": "YulTypedName", + "src": "15866:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15874:3:12", + "nodeType": "YulTypedName", + "src": "15874:3:12", + "type": "" + } + ], + "src": "15732:366:12" + }, + { + "body": { + "nativeSrc": "16275:248:12", + "nodeType": "YulBlock", + "src": "16275:248:12", + "statements": [ + { + "nativeSrc": "16285:26:12", + "nodeType": "YulAssignment", + "src": "16285:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16297:9:12", + "nodeType": "YulIdentifier", + "src": "16297:9:12" + }, + { + "kind": "number", + "nativeSrc": "16308:2:12", + "nodeType": "YulLiteral", + "src": "16308:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16293:3:12", + "nodeType": "YulIdentifier", + "src": "16293:3:12" + }, + "nativeSrc": "16293:18:12", + "nodeType": "YulFunctionCall", + "src": "16293:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16285:4:12", + "nodeType": "YulIdentifier", + "src": "16285:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16332:9:12", + "nodeType": "YulIdentifier", + "src": "16332:9:12" + }, + { + "kind": "number", + "nativeSrc": "16343:1:12", + "nodeType": "YulLiteral", + "src": "16343:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16328:3:12", + "nodeType": "YulIdentifier", + "src": "16328:3:12" + }, + "nativeSrc": "16328:17:12", + "nodeType": "YulFunctionCall", + "src": "16328:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16351:4:12", + "nodeType": "YulIdentifier", + "src": "16351:4:12" + }, + { + "name": "headStart", + "nativeSrc": "16357:9:12", + "nodeType": "YulIdentifier", + "src": "16357:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16347:3:12", + "nodeType": "YulIdentifier", + "src": "16347:3:12" + }, + "nativeSrc": "16347:20:12", + "nodeType": "YulFunctionCall", + "src": "16347:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16321:6:12", + "nodeType": "YulIdentifier", + "src": "16321:6:12" + }, + "nativeSrc": "16321:47:12", + "nodeType": "YulFunctionCall", + "src": "16321:47:12" + }, + "nativeSrc": "16321:47:12", + "nodeType": "YulExpressionStatement", + "src": "16321:47:12" + }, + { + "nativeSrc": "16377:139:12", + "nodeType": "YulAssignment", + "src": "16377:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16511:4:12", + "nodeType": "YulIdentifier", + "src": "16511:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nativeSrc": "16385:124:12", + "nodeType": "YulIdentifier", + "src": "16385:124:12" + }, + "nativeSrc": "16385:131:12", + "nodeType": "YulFunctionCall", + "src": "16385:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16377:4:12", + "nodeType": "YulIdentifier", + "src": "16377:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "16104:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16255:9:12", + "nodeType": "YulTypedName", + "src": "16255:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16270:4:12", + "nodeType": "YulTypedName", + "src": "16270:4:12", + "type": "" + } + ], + "src": "16104:419:12" + }, + { + "body": { + "nativeSrc": "16643:34:12", + "nodeType": "YulBlock", + "src": "16643:34:12", + "statements": [ + { + "nativeSrc": "16653:18:12", + "nodeType": "YulAssignment", + "src": "16653:18:12", + "value": { + "name": "pos", + "nativeSrc": "16668:3:12", + "nodeType": "YulIdentifier", + "src": "16668:3:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "16653:11:12", + "nodeType": "YulIdentifier", + "src": "16653:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16529:148:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "16615:3:12", + "nodeType": "YulTypedName", + "src": "16615:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "16620:6:12", + "nodeType": "YulTypedName", + "src": "16620:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "16631:11:12", + "nodeType": "YulTypedName", + "src": "16631:11:12", + "type": "" + } + ], + "src": "16529:148:12" + }, + { + "body": { + "nativeSrc": "16793:280:12", + "nodeType": "YulBlock", + "src": "16793:280:12", + "statements": [ + { + "nativeSrc": "16803:53:12", + "nodeType": "YulVariableDeclaration", + "src": "16803:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "16850:5:12", + "nodeType": "YulIdentifier", + "src": "16850:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "16817:32:12", + "nodeType": "YulIdentifier", + "src": "16817:32:12" + }, + "nativeSrc": "16817:39:12", + "nodeType": "YulFunctionCall", + "src": "16817:39:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "16807:6:12", + "nodeType": "YulTypedName", + "src": "16807:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "16865:96:12", + "nodeType": "YulAssignment", + "src": "16865:96:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16949:3:12", + "nodeType": "YulIdentifier", + "src": "16949:3:12" + }, + { + "name": "length", + "nativeSrc": "16954:6:12", + "nodeType": "YulIdentifier", + "src": "16954:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16872:76:12", + "nodeType": "YulIdentifier", + "src": "16872:76:12" + }, + "nativeSrc": "16872:89:12", + "nodeType": "YulFunctionCall", + "src": "16872:89:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "16865:3:12", + "nodeType": "YulIdentifier", + "src": "16865:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "17009:5:12", + "nodeType": "YulIdentifier", + "src": "17009:5:12" + }, + { + "kind": "number", + "nativeSrc": "17016:4:12", + "nodeType": "YulLiteral", + "src": "17016:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17005:3:12", + "nodeType": "YulIdentifier", + "src": "17005:3:12" + }, + "nativeSrc": "17005:16:12", + "nodeType": "YulFunctionCall", + "src": "17005:16:12" + }, + { + "name": "pos", + "nativeSrc": "17023:3:12", + "nodeType": "YulIdentifier", + "src": "17023:3:12" + }, + { + "name": "length", + "nativeSrc": "17028:6:12", + "nodeType": "YulIdentifier", + "src": "17028:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "16970:34:12", + "nodeType": "YulIdentifier", + "src": "16970:34:12" + }, + "nativeSrc": "16970:65:12", + "nodeType": "YulFunctionCall", + "src": "16970:65:12" + }, + "nativeSrc": "16970:65:12", + "nodeType": "YulExpressionStatement", + "src": "16970:65:12" + }, + { + "nativeSrc": "17044:23:12", + "nodeType": "YulAssignment", + "src": "17044:23:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17055:3:12", + "nodeType": "YulIdentifier", + "src": "17055:3:12" + }, + { + "name": "length", + "nativeSrc": "17060:6:12", + "nodeType": "YulIdentifier", + "src": "17060:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17051:3:12", + "nodeType": "YulIdentifier", + "src": "17051:3:12" + }, + "nativeSrc": "17051:16:12", + "nodeType": "YulFunctionCall", + "src": "17051:16:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17044:3:12", + "nodeType": "YulIdentifier", + "src": "17044:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "16683:390:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "16774:5:12", + "nodeType": "YulTypedName", + "src": "16774:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "16781:3:12", + "nodeType": "YulTypedName", + "src": "16781:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "16789:3:12", + "nodeType": "YulTypedName", + "src": "16789:3:12", + "type": "" + } + ], + "src": "16683:390:12" + }, + { + "body": { + "nativeSrc": "17263:251:12", + "nodeType": "YulBlock", + "src": "17263:251:12", + "statements": [ + { + "nativeSrc": "17274:102:12", + "nodeType": "YulAssignment", + "src": "17274:102:12", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "17363:6:12", + "nodeType": "YulIdentifier", + "src": "17363:6:12" + }, + { + "name": "pos", + "nativeSrc": "17372:3:12", + "nodeType": "YulIdentifier", + "src": "17372:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "17281:81:12", + "nodeType": "YulIdentifier", + "src": "17281:81:12" + }, + "nativeSrc": "17281:95:12", + "nodeType": "YulFunctionCall", + "src": "17281:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "17274:3:12", + "nodeType": "YulIdentifier", + "src": "17274:3:12" + } + ] + }, + { + "nativeSrc": "17386:102:12", + "nodeType": "YulAssignment", + "src": "17386:102:12", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "17475:6:12", + "nodeType": "YulIdentifier", + "src": "17475:6:12" + }, + { + "name": "pos", + "nativeSrc": "17484:3:12", + "nodeType": "YulIdentifier", + "src": "17484:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "17393:81:12", + "nodeType": "YulIdentifier", + "src": "17393:81:12" + }, + "nativeSrc": "17393:95:12", + "nodeType": "YulFunctionCall", + "src": "17393:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "17386:3:12", + "nodeType": "YulIdentifier", + "src": "17386:3:12" + } + ] + }, + { + "nativeSrc": "17498:10:12", + "nodeType": "YulAssignment", + "src": "17498:10:12", + "value": { + "name": "pos", + "nativeSrc": "17505:3:12", + "nodeType": "YulIdentifier", + "src": "17505:3:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "17498:3:12", + "nodeType": "YulIdentifier", + "src": "17498:3:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "17079:435:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "17234:3:12", + "nodeType": "YulTypedName", + "src": "17234:3:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "17240:6:12", + "nodeType": "YulTypedName", + "src": "17240:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "17248:6:12", + "nodeType": "YulTypedName", + "src": "17248:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "17259:3:12", + "nodeType": "YulTypedName", + "src": "17259:3:12", + "type": "" + } + ], + "src": "17079:435:12" + }, + { + "body": { + "nativeSrc": "17626:118:12", + "nodeType": "YulBlock", + "src": "17626:118:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "17648:6:12", + "nodeType": "YulIdentifier", + "src": "17648:6:12" + }, + { + "kind": "number", + "nativeSrc": "17656:1:12", + "nodeType": "YulLiteral", + "src": "17656:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17644:3:12", + "nodeType": "YulIdentifier", + "src": "17644:3:12" + }, + "nativeSrc": "17644:14:12", + "nodeType": "YulFunctionCall", + "src": "17644:14:12" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nativeSrc": "17660:34:12", + "nodeType": "YulLiteral", + "src": "17660:34:12", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17637:6:12", + "nodeType": "YulIdentifier", + "src": "17637:6:12" + }, + "nativeSrc": "17637:58:12", + "nodeType": "YulFunctionCall", + "src": "17637:58:12" + }, + "nativeSrc": "17637:58:12", + "nodeType": "YulExpressionStatement", + "src": "17637:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "17716:6:12", + "nodeType": "YulIdentifier", + "src": "17716:6:12" + }, + { + "kind": "number", + "nativeSrc": "17724:2:12", + "nodeType": "YulLiteral", + "src": "17724:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17712:3:12", + "nodeType": "YulIdentifier", + "src": "17712:3:12" + }, + "nativeSrc": "17712:15:12", + "nodeType": "YulFunctionCall", + "src": "17712:15:12" + }, + { + "hexValue": "6f776e6572", + "kind": "string", + "nativeSrc": "17729:7:12", + "nodeType": "YulLiteral", + "src": "17729:7:12", + "type": "", + "value": "owner" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17705:6:12", + "nodeType": "YulIdentifier", + "src": "17705:6:12" + }, + "nativeSrc": "17705:32:12", + "nodeType": "YulFunctionCall", + "src": "17705:32:12" + }, + "nativeSrc": "17705:32:12", + "nodeType": "YulExpressionStatement", + "src": "17705:32:12" + } + ] + }, + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nativeSrc": "17520:224:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "17618:6:12", + "nodeType": "YulTypedName", + "src": "17618:6:12", + "type": "" + } + ], + "src": "17520:224:12" + }, + { + "body": { + "nativeSrc": "17896:220:12", + "nodeType": "YulBlock", + "src": "17896:220:12", + "statements": [ + { + "nativeSrc": "17906:74:12", + "nodeType": "YulAssignment", + "src": "17906:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "17972:3:12", + "nodeType": "YulIdentifier", + "src": "17972:3:12" + }, + { + "kind": "number", + "nativeSrc": "17977:2:12", + "nodeType": "YulLiteral", + "src": "17977:2:12", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "17913:58:12", + "nodeType": "YulIdentifier", + "src": "17913:58:12" + }, + "nativeSrc": "17913:67:12", + "nodeType": "YulFunctionCall", + "src": "17913:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "17906:3:12", + "nodeType": "YulIdentifier", + "src": "17906:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18078:3:12", + "nodeType": "YulIdentifier", + "src": "18078:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nativeSrc": "17989:88:12", + "nodeType": "YulIdentifier", + "src": "17989:88:12" + }, + "nativeSrc": "17989:93:12", + "nodeType": "YulFunctionCall", + "src": "17989:93:12" + }, + "nativeSrc": "17989:93:12", + "nodeType": "YulExpressionStatement", + "src": "17989:93:12" + }, + { + "nativeSrc": "18091:19:12", + "nodeType": "YulAssignment", + "src": "18091:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18102:3:12", + "nodeType": "YulIdentifier", + "src": "18102:3:12" + }, + { + "kind": "number", + "nativeSrc": "18107:2:12", + "nodeType": "YulLiteral", + "src": "18107:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18098:3:12", + "nodeType": "YulIdentifier", + "src": "18098:3:12" + }, + "nativeSrc": "18098:12:12", + "nodeType": "YulFunctionCall", + "src": "18098:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18091:3:12", + "nodeType": "YulIdentifier", + "src": "18091:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nativeSrc": "17750:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "17884:3:12", + "nodeType": "YulTypedName", + "src": "17884:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "17892:3:12", + "nodeType": "YulTypedName", + "src": "17892:3:12", + "type": "" + } + ], + "src": "17750:366:12" + }, + { + "body": { + "nativeSrc": "18293:248:12", + "nodeType": "YulBlock", + "src": "18293:248:12", + "statements": [ + { + "nativeSrc": "18303:26:12", + "nodeType": "YulAssignment", + "src": "18303:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18315:9:12", + "nodeType": "YulIdentifier", + "src": "18315:9:12" + }, + { + "kind": "number", + "nativeSrc": "18326:2:12", + "nodeType": "YulLiteral", + "src": "18326:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18311:3:12", + "nodeType": "YulIdentifier", + "src": "18311:3:12" + }, + "nativeSrc": "18311:18:12", + "nodeType": "YulFunctionCall", + "src": "18311:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18303:4:12", + "nodeType": "YulIdentifier", + "src": "18303:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18350:9:12", + "nodeType": "YulIdentifier", + "src": "18350:9:12" + }, + { + "kind": "number", + "nativeSrc": "18361:1:12", + "nodeType": "YulLiteral", + "src": "18361:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18346:3:12", + "nodeType": "YulIdentifier", + "src": "18346:3:12" + }, + "nativeSrc": "18346:17:12", + "nodeType": "YulFunctionCall", + "src": "18346:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18369:4:12", + "nodeType": "YulIdentifier", + "src": "18369:4:12" + }, + { + "name": "headStart", + "nativeSrc": "18375:9:12", + "nodeType": "YulIdentifier", + "src": "18375:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18365:3:12", + "nodeType": "YulIdentifier", + "src": "18365:3:12" + }, + "nativeSrc": "18365:20:12", + "nodeType": "YulFunctionCall", + "src": "18365:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18339:6:12", + "nodeType": "YulIdentifier", + "src": "18339:6:12" + }, + "nativeSrc": "18339:47:12", + "nodeType": "YulFunctionCall", + "src": "18339:47:12" + }, + "nativeSrc": "18339:47:12", + "nodeType": "YulExpressionStatement", + "src": "18339:47:12" + }, + { + "nativeSrc": "18395:139:12", + "nodeType": "YulAssignment", + "src": "18395:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18529:4:12", + "nodeType": "YulIdentifier", + "src": "18529:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18403:124:12", + "nodeType": "YulIdentifier", + "src": "18403:124:12" + }, + "nativeSrc": "18403:131:12", + "nodeType": "YulFunctionCall", + "src": "18403:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18395:4:12", + "nodeType": "YulIdentifier", + "src": "18395:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "18122:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18273:9:12", + "nodeType": "YulTypedName", + "src": "18273:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18288:4:12", + "nodeType": "YulTypedName", + "src": "18288:4:12", + "type": "" + } + ], + "src": "18122:419:12" + }, + { + "body": { + "nativeSrc": "18653:117:12", + "nodeType": "YulBlock", + "src": "18653:117:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18675:6:12", + "nodeType": "YulIdentifier", + "src": "18675:6:12" + }, + { + "kind": "number", + "nativeSrc": "18683:1:12", + "nodeType": "YulLiteral", + "src": "18683:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18671:3:12", + "nodeType": "YulIdentifier", + "src": "18671:3:12" + }, + "nativeSrc": "18671:14:12", + "nodeType": "YulFunctionCall", + "src": "18671:14:12" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", + "kind": "string", + "nativeSrc": "18687:34:12", + "nodeType": "YulLiteral", + "src": "18687:34:12", + "type": "", + "value": "ERC721: transfer to the zero add" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18664:6:12", + "nodeType": "YulIdentifier", + "src": "18664:6:12" + }, + "nativeSrc": "18664:58:12", + "nodeType": "YulFunctionCall", + "src": "18664:58:12" + }, + "nativeSrc": "18664:58:12", + "nodeType": "YulExpressionStatement", + "src": "18664:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "18743:6:12", + "nodeType": "YulIdentifier", + "src": "18743:6:12" + }, + { + "kind": "number", + "nativeSrc": "18751:2:12", + "nodeType": "YulLiteral", + "src": "18751:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18739:3:12", + "nodeType": "YulIdentifier", + "src": "18739:3:12" + }, + "nativeSrc": "18739:15:12", + "nodeType": "YulFunctionCall", + "src": "18739:15:12" + }, + { + "hexValue": "72657373", + "kind": "string", + "nativeSrc": "18756:6:12", + "nodeType": "YulLiteral", + "src": "18756:6:12", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18732:6:12", + "nodeType": "YulIdentifier", + "src": "18732:6:12" + }, + "nativeSrc": "18732:31:12", + "nodeType": "YulFunctionCall", + "src": "18732:31:12" + }, + "nativeSrc": "18732:31:12", + "nodeType": "YulExpressionStatement", + "src": "18732:31:12" + } + ] + }, + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nativeSrc": "18547:223:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "18645:6:12", + "nodeType": "YulTypedName", + "src": "18645:6:12", + "type": "" + } + ], + "src": "18547:223:12" + }, + { + "body": { + "nativeSrc": "18922:220:12", + "nodeType": "YulBlock", + "src": "18922:220:12", + "statements": [ + { + "nativeSrc": "18932:74:12", + "nodeType": "YulAssignment", + "src": "18932:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18998:3:12", + "nodeType": "YulIdentifier", + "src": "18998:3:12" + }, + { + "kind": "number", + "nativeSrc": "19003:2:12", + "nodeType": "YulLiteral", + "src": "19003:2:12", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "18939:58:12", + "nodeType": "YulIdentifier", + "src": "18939:58:12" + }, + "nativeSrc": "18939:67:12", + "nodeType": "YulFunctionCall", + "src": "18939:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18932:3:12", + "nodeType": "YulIdentifier", + "src": "18932:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19104:3:12", + "nodeType": "YulIdentifier", + "src": "19104:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nativeSrc": "19015:88:12", + "nodeType": "YulIdentifier", + "src": "19015:88:12" + }, + "nativeSrc": "19015:93:12", + "nodeType": "YulFunctionCall", + "src": "19015:93:12" + }, + "nativeSrc": "19015:93:12", + "nodeType": "YulExpressionStatement", + "src": "19015:93:12" + }, + { + "nativeSrc": "19117:19:12", + "nodeType": "YulAssignment", + "src": "19117:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19128:3:12", + "nodeType": "YulIdentifier", + "src": "19128:3:12" + }, + { + "kind": "number", + "nativeSrc": "19133:2:12", + "nodeType": "YulLiteral", + "src": "19133:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19124:3:12", + "nodeType": "YulIdentifier", + "src": "19124:3:12" + }, + "nativeSrc": "19124:12:12", + "nodeType": "YulFunctionCall", + "src": "19124:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19117:3:12", + "nodeType": "YulIdentifier", + "src": "19117:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nativeSrc": "18776:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "18910:3:12", + "nodeType": "YulTypedName", + "src": "18910:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "18918:3:12", + "nodeType": "YulTypedName", + "src": "18918:3:12", + "type": "" + } + ], + "src": "18776:366:12" + }, + { + "body": { + "nativeSrc": "19319:248:12", + "nodeType": "YulBlock", + "src": "19319:248:12", + "statements": [ + { + "nativeSrc": "19329:26:12", + "nodeType": "YulAssignment", + "src": "19329:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19341:9:12", + "nodeType": "YulIdentifier", + "src": "19341:9:12" + }, + { + "kind": "number", + "nativeSrc": "19352:2:12", + "nodeType": "YulLiteral", + "src": "19352:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19337:3:12", + "nodeType": "YulIdentifier", + "src": "19337:3:12" + }, + "nativeSrc": "19337:18:12", + "nodeType": "YulFunctionCall", + "src": "19337:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19329:4:12", + "nodeType": "YulIdentifier", + "src": "19329:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19376:9:12", + "nodeType": "YulIdentifier", + "src": "19376:9:12" + }, + { + "kind": "number", + "nativeSrc": "19387:1:12", + "nodeType": "YulLiteral", + "src": "19387:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19372:3:12", + "nodeType": "YulIdentifier", + "src": "19372:3:12" + }, + "nativeSrc": "19372:17:12", + "nodeType": "YulFunctionCall", + "src": "19372:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19395:4:12", + "nodeType": "YulIdentifier", + "src": "19395:4:12" + }, + { + "name": "headStart", + "nativeSrc": "19401:9:12", + "nodeType": "YulIdentifier", + "src": "19401:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19391:3:12", + "nodeType": "YulIdentifier", + "src": "19391:3:12" + }, + "nativeSrc": "19391:20:12", + "nodeType": "YulFunctionCall", + "src": "19391:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19365:6:12", + "nodeType": "YulIdentifier", + "src": "19365:6:12" + }, + "nativeSrc": "19365:47:12", + "nodeType": "YulFunctionCall", + "src": "19365:47:12" + }, + "nativeSrc": "19365:47:12", + "nodeType": "YulExpressionStatement", + "src": "19365:47:12" + }, + { + "nativeSrc": "19421:139:12", + "nodeType": "YulAssignment", + "src": "19421:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "19555:4:12", + "nodeType": "YulIdentifier", + "src": "19555:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19429:124:12", + "nodeType": "YulIdentifier", + "src": "19429:124:12" + }, + "nativeSrc": "19429:131:12", + "nodeType": "YulFunctionCall", + "src": "19429:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "19421:4:12", + "nodeType": "YulIdentifier", + "src": "19421:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19148:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19299:9:12", + "nodeType": "YulTypedName", + "src": "19299:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "19314:4:12", + "nodeType": "YulTypedName", + "src": "19314:4:12", + "type": "" + } + ], + "src": "19148:419:12" + }, + { + "body": { + "nativeSrc": "19679:69:12", + "nodeType": "YulBlock", + "src": "19679:69:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19701:6:12", + "nodeType": "YulIdentifier", + "src": "19701:6:12" + }, + { + "kind": "number", + "nativeSrc": "19709:1:12", + "nodeType": "YulLiteral", + "src": "19709:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19697:3:12", + "nodeType": "YulIdentifier", + "src": "19697:3:12" + }, + "nativeSrc": "19697:14:12", + "nodeType": "YulFunctionCall", + "src": "19697:14:12" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nativeSrc": "19713:27:12", + "nodeType": "YulLiteral", + "src": "19713:27:12", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19690:6:12", + "nodeType": "YulIdentifier", + "src": "19690:6:12" + }, + "nativeSrc": "19690:51:12", + "nodeType": "YulFunctionCall", + "src": "19690:51:12" + }, + "nativeSrc": "19690:51:12", + "nodeType": "YulExpressionStatement", + "src": "19690:51:12" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nativeSrc": "19573:175:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "19671:6:12", + "nodeType": "YulTypedName", + "src": "19671:6:12", + "type": "" + } + ], + "src": "19573:175:12" + }, + { + "body": { + "nativeSrc": "19900:220:12", + "nodeType": "YulBlock", + "src": "19900:220:12", + "statements": [ + { + "nativeSrc": "19910:74:12", + "nodeType": "YulAssignment", + "src": "19910:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19976:3:12", + "nodeType": "YulIdentifier", + "src": "19976:3:12" + }, + { + "kind": "number", + "nativeSrc": "19981:2:12", + "nodeType": "YulLiteral", + "src": "19981:2:12", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19917:58:12", + "nodeType": "YulIdentifier", + "src": "19917:58:12" + }, + "nativeSrc": "19917:67:12", + "nodeType": "YulFunctionCall", + "src": "19917:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19910:3:12", + "nodeType": "YulIdentifier", + "src": "19910:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20082:3:12", + "nodeType": "YulIdentifier", + "src": "20082:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nativeSrc": "19993:88:12", + "nodeType": "YulIdentifier", + "src": "19993:88:12" + }, + "nativeSrc": "19993:93:12", + "nodeType": "YulFunctionCall", + "src": "19993:93:12" + }, + "nativeSrc": "19993:93:12", + "nodeType": "YulExpressionStatement", + "src": "19993:93:12" + }, + { + "nativeSrc": "20095:19:12", + "nodeType": "YulAssignment", + "src": "20095:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "20106:3:12", + "nodeType": "YulIdentifier", + "src": "20106:3:12" + }, + { + "kind": "number", + "nativeSrc": "20111:2:12", + "nodeType": "YulLiteral", + "src": "20111:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20102:3:12", + "nodeType": "YulIdentifier", + "src": "20102:3:12" + }, + "nativeSrc": "20102:12:12", + "nodeType": "YulFunctionCall", + "src": "20102:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "20095:3:12", + "nodeType": "YulIdentifier", + "src": "20095:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19754:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19888:3:12", + "nodeType": "YulTypedName", + "src": "19888:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19896:3:12", + "nodeType": "YulTypedName", + "src": "19896:3:12", + "type": "" + } + ], + "src": "19754:366:12" + }, + { + "body": { + "nativeSrc": "20297:248:12", + "nodeType": "YulBlock", + "src": "20297:248:12", + "statements": [ + { + "nativeSrc": "20307:26:12", + "nodeType": "YulAssignment", + "src": "20307:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20319:9:12", + "nodeType": "YulIdentifier", + "src": "20319:9:12" + }, + { + "kind": "number", + "nativeSrc": "20330:2:12", + "nodeType": "YulLiteral", + "src": "20330:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20315:3:12", + "nodeType": "YulIdentifier", + "src": "20315:3:12" + }, + "nativeSrc": "20315:18:12", + "nodeType": "YulFunctionCall", + "src": "20315:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20307:4:12", + "nodeType": "YulIdentifier", + "src": "20307:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20354:9:12", + "nodeType": "YulIdentifier", + "src": "20354:9:12" + }, + { + "kind": "number", + "nativeSrc": "20365:1:12", + "nodeType": "YulLiteral", + "src": "20365:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20350:3:12", + "nodeType": "YulIdentifier", + "src": "20350:3:12" + }, + "nativeSrc": "20350:17:12", + "nodeType": "YulFunctionCall", + "src": "20350:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20373:4:12", + "nodeType": "YulIdentifier", + "src": "20373:4:12" + }, + { + "name": "headStart", + "nativeSrc": "20379:9:12", + "nodeType": "YulIdentifier", + "src": "20379:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20369:3:12", + "nodeType": "YulIdentifier", + "src": "20369:3:12" + }, + "nativeSrc": "20369:20:12", + "nodeType": "YulFunctionCall", + "src": "20369:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20343:6:12", + "nodeType": "YulIdentifier", + "src": "20343:6:12" + }, + "nativeSrc": "20343:47:12", + "nodeType": "YulFunctionCall", + "src": "20343:47:12" + }, + "nativeSrc": "20343:47:12", + "nodeType": "YulExpressionStatement", + "src": "20343:47:12" + }, + { + "nativeSrc": "20399:139:12", + "nodeType": "YulAssignment", + "src": "20399:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20533:4:12", + "nodeType": "YulIdentifier", + "src": "20533:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20407:124:12", + "nodeType": "YulIdentifier", + "src": "20407:124:12" + }, + "nativeSrc": "20407:131:12", + "nodeType": "YulFunctionCall", + "src": "20407:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20399:4:12", + "nodeType": "YulIdentifier", + "src": "20399:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20126:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20277:9:12", + "nodeType": "YulTypedName", + "src": "20277:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20292:4:12", + "nodeType": "YulTypedName", + "src": "20292:4:12", + "type": "" + } + ], + "src": "20126:419:12" + }, + { + "body": { + "nativeSrc": "20657:131:12", + "nodeType": "YulBlock", + "src": "20657:131:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20679:6:12", + "nodeType": "YulIdentifier", + "src": "20679:6:12" + }, + { + "kind": "number", + "nativeSrc": "20687:1:12", + "nodeType": "YulLiteral", + "src": "20687:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20675:3:12", + "nodeType": "YulIdentifier", + "src": "20675:3:12" + }, + "nativeSrc": "20675:14:12", + "nodeType": "YulFunctionCall", + "src": "20675:14:12" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nativeSrc": "20691:34:12", + "nodeType": "YulLiteral", + "src": "20691:34:12", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20668:6:12", + "nodeType": "YulIdentifier", + "src": "20668:6:12" + }, + "nativeSrc": "20668:58:12", + "nodeType": "YulFunctionCall", + "src": "20668:58:12" + }, + "nativeSrc": "20668:58:12", + "nodeType": "YulExpressionStatement", + "src": "20668:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "20747:6:12", + "nodeType": "YulIdentifier", + "src": "20747:6:12" + }, + { + "kind": "number", + "nativeSrc": "20755:2:12", + "nodeType": "YulLiteral", + "src": "20755:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20743:3:12", + "nodeType": "YulIdentifier", + "src": "20743:3:12" + }, + "nativeSrc": "20743:15:12", + "nodeType": "YulFunctionCall", + "src": "20743:15:12" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nativeSrc": "20760:20:12", + "nodeType": "YulLiteral", + "src": "20760:20:12", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20736:6:12", + "nodeType": "YulIdentifier", + "src": "20736:6:12" + }, + "nativeSrc": "20736:45:12", + "nodeType": "YulFunctionCall", + "src": "20736:45:12" + }, + "nativeSrc": "20736:45:12", + "nodeType": "YulExpressionStatement", + "src": "20736:45:12" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nativeSrc": "20551:237:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "20649:6:12", + "nodeType": "YulTypedName", + "src": "20649:6:12", + "type": "" + } + ], + "src": "20551:237:12" + }, + { + "body": { + "nativeSrc": "20940:220:12", + "nodeType": "YulBlock", + "src": "20940:220:12", + "statements": [ + { + "nativeSrc": "20950:74:12", + "nodeType": "YulAssignment", + "src": "20950:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21016:3:12", + "nodeType": "YulIdentifier", + "src": "21016:3:12" + }, + { + "kind": "number", + "nativeSrc": "21021:2:12", + "nodeType": "YulLiteral", + "src": "21021:2:12", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "20957:58:12", + "nodeType": "YulIdentifier", + "src": "20957:58:12" + }, + "nativeSrc": "20957:67:12", + "nodeType": "YulFunctionCall", + "src": "20957:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "20950:3:12", + "nodeType": "YulIdentifier", + "src": "20950:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21122:3:12", + "nodeType": "YulIdentifier", + "src": "21122:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nativeSrc": "21033:88:12", + "nodeType": "YulIdentifier", + "src": "21033:88:12" + }, + "nativeSrc": "21033:93:12", + "nodeType": "YulFunctionCall", + "src": "21033:93:12" + }, + "nativeSrc": "21033:93:12", + "nodeType": "YulExpressionStatement", + "src": "21033:93:12" + }, + { + "nativeSrc": "21135:19:12", + "nodeType": "YulAssignment", + "src": "21135:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21146:3:12", + "nodeType": "YulIdentifier", + "src": "21146:3:12" + }, + { + "kind": "number", + "nativeSrc": "21151:2:12", + "nodeType": "YulLiteral", + "src": "21151:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21142:3:12", + "nodeType": "YulIdentifier", + "src": "21142:3:12" + }, + "nativeSrc": "21142:12:12", + "nodeType": "YulFunctionCall", + "src": "21142:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "21135:3:12", + "nodeType": "YulIdentifier", + "src": "21135:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20794:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "20928:3:12", + "nodeType": "YulTypedName", + "src": "20928:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "20936:3:12", + "nodeType": "YulTypedName", + "src": "20936:3:12", + "type": "" + } + ], + "src": "20794:366:12" + }, + { + "body": { + "nativeSrc": "21337:248:12", + "nodeType": "YulBlock", + "src": "21337:248:12", + "statements": [ + { + "nativeSrc": "21347:26:12", + "nodeType": "YulAssignment", + "src": "21347:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21359:9:12", + "nodeType": "YulIdentifier", + "src": "21359:9:12" + }, + { + "kind": "number", + "nativeSrc": "21370:2:12", + "nodeType": "YulLiteral", + "src": "21370:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21355:3:12", + "nodeType": "YulIdentifier", + "src": "21355:3:12" + }, + "nativeSrc": "21355:18:12", + "nodeType": "YulFunctionCall", + "src": "21355:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21347:4:12", + "nodeType": "YulIdentifier", + "src": "21347:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21394:9:12", + "nodeType": "YulIdentifier", + "src": "21394:9:12" + }, + { + "kind": "number", + "nativeSrc": "21405:1:12", + "nodeType": "YulLiteral", + "src": "21405:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21390:3:12", + "nodeType": "YulIdentifier", + "src": "21390:3:12" + }, + "nativeSrc": "21390:17:12", + "nodeType": "YulFunctionCall", + "src": "21390:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21413:4:12", + "nodeType": "YulIdentifier", + "src": "21413:4:12" + }, + { + "name": "headStart", + "nativeSrc": "21419:9:12", + "nodeType": "YulIdentifier", + "src": "21419:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21409:3:12", + "nodeType": "YulIdentifier", + "src": "21409:3:12" + }, + "nativeSrc": "21409:20:12", + "nodeType": "YulFunctionCall", + "src": "21409:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21383:6:12", + "nodeType": "YulIdentifier", + "src": "21383:6:12" + }, + "nativeSrc": "21383:47:12", + "nodeType": "YulFunctionCall", + "src": "21383:47:12" + }, + "nativeSrc": "21383:47:12", + "nodeType": "YulExpressionStatement", + "src": "21383:47:12" + }, + { + "nativeSrc": "21439:139:12", + "nodeType": "YulAssignment", + "src": "21439:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "21573:4:12", + "nodeType": "YulIdentifier", + "src": "21573:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nativeSrc": "21447:124:12", + "nodeType": "YulIdentifier", + "src": "21447:124:12" + }, + "nativeSrc": "21447:131:12", + "nodeType": "YulFunctionCall", + "src": "21447:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21439:4:12", + "nodeType": "YulIdentifier", + "src": "21439:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "21166:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21317:9:12", + "nodeType": "YulTypedName", + "src": "21317:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "21332:4:12", + "nodeType": "YulTypedName", + "src": "21332:4:12", + "type": "" + } + ], + "src": "21166:419:12" + }, + { + "body": { + "nativeSrc": "21619:152:12", + "nodeType": "YulBlock", + "src": "21619:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21636:1:12", + "nodeType": "YulLiteral", + "src": "21636:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21639:77:12", + "nodeType": "YulLiteral", + "src": "21639:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21629:6:12", + "nodeType": "YulIdentifier", + "src": "21629:6:12" + }, + "nativeSrc": "21629:88:12", + "nodeType": "YulFunctionCall", + "src": "21629:88:12" + }, + "nativeSrc": "21629:88:12", + "nodeType": "YulExpressionStatement", + "src": "21629:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21733:1:12", + "nodeType": "YulLiteral", + "src": "21733:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "21736:4:12", + "nodeType": "YulLiteral", + "src": "21736:4:12", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21726:6:12", + "nodeType": "YulIdentifier", + "src": "21726:6:12" + }, + "nativeSrc": "21726:15:12", + "nodeType": "YulFunctionCall", + "src": "21726:15:12" + }, + "nativeSrc": "21726:15:12", + "nodeType": "YulExpressionStatement", + "src": "21726:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21757:1:12", + "nodeType": "YulLiteral", + "src": "21757:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21760:4:12", + "nodeType": "YulLiteral", + "src": "21760:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21750:6:12", + "nodeType": "YulIdentifier", + "src": "21750:6:12" + }, + "nativeSrc": "21750:15:12", + "nodeType": "YulFunctionCall", + "src": "21750:15:12" + }, + "nativeSrc": "21750:15:12", + "nodeType": "YulExpressionStatement", + "src": "21750:15:12" + } + ] + }, + "name": "panic_error_0x12", + "nativeSrc": "21591:180:12", + "nodeType": "YulFunctionDefinition", + "src": "21591:180:12" + }, + { + "body": { + "nativeSrc": "21835:40:12", + "nodeType": "YulBlock", + "src": "21835:40:12", + "statements": [ + { + "nativeSrc": "21846:22:12", + "nodeType": "YulAssignment", + "src": "21846:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21862:5:12", + "nodeType": "YulIdentifier", + "src": "21862:5:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "21856:5:12", + "nodeType": "YulIdentifier", + "src": "21856:5:12" + }, + "nativeSrc": "21856:12:12", + "nodeType": "YulFunctionCall", + "src": "21856:12:12" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "21846:6:12", + "nodeType": "YulIdentifier", + "src": "21846:6:12" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "21777:98:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21818:5:12", + "nodeType": "YulTypedName", + "src": "21818:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "21828:6:12", + "nodeType": "YulTypedName", + "src": "21828:6:12", + "type": "" + } + ], + "src": "21777:98:12" + }, + { + "body": { + "nativeSrc": "21976:73:12", + "nodeType": "YulBlock", + "src": "21976:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "21993:3:12", + "nodeType": "YulIdentifier", + "src": "21993:3:12" + }, + { + "name": "length", + "nativeSrc": "21998:6:12", + "nodeType": "YulIdentifier", + "src": "21998:6:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21986:6:12", + "nodeType": "YulIdentifier", + "src": "21986:6:12" + }, + "nativeSrc": "21986:19:12", + "nodeType": "YulFunctionCall", + "src": "21986:19:12" + }, + "nativeSrc": "21986:19:12", + "nodeType": "YulExpressionStatement", + "src": "21986:19:12" + }, + { + "nativeSrc": "22014:29:12", + "nodeType": "YulAssignment", + "src": "22014:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22033:3:12", + "nodeType": "YulIdentifier", + "src": "22033:3:12" + }, + { + "kind": "number", + "nativeSrc": "22038:4:12", + "nodeType": "YulLiteral", + "src": "22038:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22029:3:12", + "nodeType": "YulIdentifier", + "src": "22029:3:12" + }, + "nativeSrc": "22029:14:12", + "nodeType": "YulFunctionCall", + "src": "22029:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "22014:11:12", + "nodeType": "YulIdentifier", + "src": "22014:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "21881:168:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "21948:3:12", + "nodeType": "YulTypedName", + "src": "21948:3:12", + "type": "" + }, + { + "name": "length", + "nativeSrc": "21953:6:12", + "nodeType": "YulTypedName", + "src": "21953:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "21964:11:12", + "nodeType": "YulTypedName", + "src": "21964:11:12", + "type": "" + } + ], + "src": "21881:168:12" + }, + { + "body": { + "nativeSrc": "22145:283:12", + "nodeType": "YulBlock", + "src": "22145:283:12", + "statements": [ + { + "nativeSrc": "22155:52:12", + "nodeType": "YulVariableDeclaration", + "src": "22155:52:12", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "22201:5:12", + "nodeType": "YulIdentifier", + "src": "22201:5:12" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "22169:31:12", + "nodeType": "YulIdentifier", + "src": "22169:31:12" + }, + "nativeSrc": "22169:38:12", + "nodeType": "YulFunctionCall", + "src": "22169:38:12" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "22159:6:12", + "nodeType": "YulTypedName", + "src": "22159:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "22216:77:12", + "nodeType": "YulAssignment", + "src": "22216:77:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22281:3:12", + "nodeType": "YulIdentifier", + "src": "22281:3:12" + }, + { + "name": "length", + "nativeSrc": "22286:6:12", + "nodeType": "YulIdentifier", + "src": "22286:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22223:57:12", + "nodeType": "YulIdentifier", + "src": "22223:57:12" + }, + "nativeSrc": "22223:70:12", + "nodeType": "YulFunctionCall", + "src": "22223:70:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "22216:3:12", + "nodeType": "YulIdentifier", + "src": "22216:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22341:5:12", + "nodeType": "YulIdentifier", + "src": "22341:5:12" + }, + { + "kind": "number", + "nativeSrc": "22348:4:12", + "nodeType": "YulLiteral", + "src": "22348:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22337:3:12", + "nodeType": "YulIdentifier", + "src": "22337:3:12" + }, + "nativeSrc": "22337:16:12", + "nodeType": "YulFunctionCall", + "src": "22337:16:12" + }, + { + "name": "pos", + "nativeSrc": "22355:3:12", + "nodeType": "YulIdentifier", + "src": "22355:3:12" + }, + { + "name": "length", + "nativeSrc": "22360:6:12", + "nodeType": "YulIdentifier", + "src": "22360:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "22302:34:12", + "nodeType": "YulIdentifier", + "src": "22302:34:12" + }, + "nativeSrc": "22302:65:12", + "nodeType": "YulFunctionCall", + "src": "22302:65:12" + }, + "nativeSrc": "22302:65:12", + "nodeType": "YulExpressionStatement", + "src": "22302:65:12" + }, + { + "nativeSrc": "22376:46:12", + "nodeType": "YulAssignment", + "src": "22376:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "22387:3:12", + "nodeType": "YulIdentifier", + "src": "22387:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "22414:6:12", + "nodeType": "YulIdentifier", + "src": "22414:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "22392:21:12", + "nodeType": "YulIdentifier", + "src": "22392:21:12" + }, + "nativeSrc": "22392:29:12", + "nodeType": "YulFunctionCall", + "src": "22392:29:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22383:3:12", + "nodeType": "YulIdentifier", + "src": "22383:3:12" + }, + "nativeSrc": "22383:39:12", + "nodeType": "YulFunctionCall", + "src": "22383:39:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "22376:3:12", + "nodeType": "YulIdentifier", + "src": "22376:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22055:373:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "22126:5:12", + "nodeType": "YulTypedName", + "src": "22126:5:12", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "22133:3:12", + "nodeType": "YulTypedName", + "src": "22133:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "22141:3:12", + "nodeType": "YulTypedName", + "src": "22141:3:12", + "type": "" + } + ], + "src": "22055:373:12" + }, + { + "body": { + "nativeSrc": "22634:440:12", + "nodeType": "YulBlock", + "src": "22634:440:12", + "statements": [ + { + "nativeSrc": "22644:27:12", + "nodeType": "YulAssignment", + "src": "22644:27:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22656:9:12", + "nodeType": "YulIdentifier", + "src": "22656:9:12" + }, + { + "kind": "number", + "nativeSrc": "22667:3:12", + "nodeType": "YulLiteral", + "src": "22667:3:12", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22652:3:12", + "nodeType": "YulIdentifier", + "src": "22652:3:12" + }, + "nativeSrc": "22652:19:12", + "nodeType": "YulFunctionCall", + "src": "22652:19:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22644:4:12", + "nodeType": "YulIdentifier", + "src": "22644:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "22725:6:12", + "nodeType": "YulIdentifier", + "src": "22725:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22738:9:12", + "nodeType": "YulIdentifier", + "src": "22738:9:12" + }, + { + "kind": "number", + "nativeSrc": "22749:1:12", + "nodeType": "YulLiteral", + "src": "22749:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22734:3:12", + "nodeType": "YulIdentifier", + "src": "22734:3:12" + }, + "nativeSrc": "22734:17:12", + "nodeType": "YulFunctionCall", + "src": "22734:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22681:43:12", + "nodeType": "YulIdentifier", + "src": "22681:43:12" + }, + "nativeSrc": "22681:71:12", + "nodeType": "YulFunctionCall", + "src": "22681:71:12" + }, + "nativeSrc": "22681:71:12", + "nodeType": "YulExpressionStatement", + "src": "22681:71:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "22806:6:12", + "nodeType": "YulIdentifier", + "src": "22806:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22819:9:12", + "nodeType": "YulIdentifier", + "src": "22819:9:12" + }, + { + "kind": "number", + "nativeSrc": "22830:2:12", + "nodeType": "YulLiteral", + "src": "22830:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22815:3:12", + "nodeType": "YulIdentifier", + "src": "22815:3:12" + }, + "nativeSrc": "22815:18:12", + "nodeType": "YulFunctionCall", + "src": "22815:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "22762:43:12", + "nodeType": "YulIdentifier", + "src": "22762:43:12" + }, + "nativeSrc": "22762:72:12", + "nodeType": "YulFunctionCall", + "src": "22762:72:12" + }, + "nativeSrc": "22762:72:12", + "nodeType": "YulExpressionStatement", + "src": "22762:72:12" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "22888:6:12", + "nodeType": "YulIdentifier", + "src": "22888:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22901:9:12", + "nodeType": "YulIdentifier", + "src": "22901:9:12" + }, + { + "kind": "number", + "nativeSrc": "22912:2:12", + "nodeType": "YulLiteral", + "src": "22912:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22897:3:12", + "nodeType": "YulIdentifier", + "src": "22897:3:12" + }, + "nativeSrc": "22897:18:12", + "nodeType": "YulFunctionCall", + "src": "22897:18:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "22844:43:12", + "nodeType": "YulIdentifier", + "src": "22844:43:12" + }, + "nativeSrc": "22844:72:12", + "nodeType": "YulFunctionCall", + "src": "22844:72:12" + }, + "nativeSrc": "22844:72:12", + "nodeType": "YulExpressionStatement", + "src": "22844:72:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22937:9:12", + "nodeType": "YulIdentifier", + "src": "22937:9:12" + }, + { + "kind": "number", + "nativeSrc": "22948:2:12", + "nodeType": "YulLiteral", + "src": "22948:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22933:3:12", + "nodeType": "YulIdentifier", + "src": "22933:3:12" + }, + "nativeSrc": "22933:18:12", + "nodeType": "YulFunctionCall", + "src": "22933:18:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "22957:4:12", + "nodeType": "YulIdentifier", + "src": "22957:4:12" + }, + { + "name": "headStart", + "nativeSrc": "22963:9:12", + "nodeType": "YulIdentifier", + "src": "22963:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "22953:3:12", + "nodeType": "YulIdentifier", + "src": "22953:3:12" + }, + "nativeSrc": "22953:20:12", + "nodeType": "YulFunctionCall", + "src": "22953:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22926:6:12", + "nodeType": "YulIdentifier", + "src": "22926:6:12" + }, + "nativeSrc": "22926:48:12", + "nodeType": "YulFunctionCall", + "src": "22926:48:12" + }, + "nativeSrc": "22926:48:12", + "nodeType": "YulExpressionStatement", + "src": "22926:48:12" + }, + { + "nativeSrc": "22983:84:12", + "nodeType": "YulAssignment", + "src": "22983:84:12", + "value": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "23053:6:12", + "nodeType": "YulIdentifier", + "src": "23053:6:12" + }, + { + "name": "tail", + "nativeSrc": "23062:4:12", + "nodeType": "YulIdentifier", + "src": "23062:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "22991:61:12", + "nodeType": "YulIdentifier", + "src": "22991:61:12" + }, + "nativeSrc": "22991:76:12", + "nodeType": "YulFunctionCall", + "src": "22991:76:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "22983:4:12", + "nodeType": "YulIdentifier", + "src": "22983:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "22434:640:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "22582:9:12", + "nodeType": "YulTypedName", + "src": "22582:9:12", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "22594:6:12", + "nodeType": "YulTypedName", + "src": "22594:6:12", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "22602:6:12", + "nodeType": "YulTypedName", + "src": "22602:6:12", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "22610:6:12", + "nodeType": "YulTypedName", + "src": "22610:6:12", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "22618:6:12", + "nodeType": "YulTypedName", + "src": "22618:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "22629:4:12", + "nodeType": "YulTypedName", + "src": "22629:4:12", + "type": "" + } + ], + "src": "22434:640:12" + }, + { + "body": { + "nativeSrc": "23142:79:12", + "nodeType": "YulBlock", + "src": "23142:79:12", + "statements": [ + { + "nativeSrc": "23152:22:12", + "nodeType": "YulAssignment", + "src": "23152:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23167:6:12", + "nodeType": "YulIdentifier", + "src": "23167:6:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23161:5:12", + "nodeType": "YulIdentifier", + "src": "23161:5:12" + }, + "nativeSrc": "23161:13:12", + "nodeType": "YulFunctionCall", + "src": "23161:13:12" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "23152:5:12", + "nodeType": "YulIdentifier", + "src": "23152:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "23209:5:12", + "nodeType": "YulIdentifier", + "src": "23209:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "23183:25:12", + "nodeType": "YulIdentifier", + "src": "23183:25:12" + }, + "nativeSrc": "23183:32:12", + "nodeType": "YulFunctionCall", + "src": "23183:32:12" + }, + "nativeSrc": "23183:32:12", + "nodeType": "YulExpressionStatement", + "src": "23183:32:12" + } + ] + }, + "name": "abi_decode_t_bytes4_fromMemory", + "nativeSrc": "23080:141:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "23120:6:12", + "nodeType": "YulTypedName", + "src": "23120:6:12", + "type": "" + }, + { + "name": "end", + "nativeSrc": "23128:3:12", + "nodeType": "YulTypedName", + "src": "23128:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "23136:5:12", + "nodeType": "YulTypedName", + "src": "23136:5:12", + "type": "" + } + ], + "src": "23080:141:12" + }, + { + "body": { + "nativeSrc": "23303:273:12", + "nodeType": "YulBlock", + "src": "23303:273:12", + "statements": [ + { + "body": { + "nativeSrc": "23349:83:12", + "nodeType": "YulBlock", + "src": "23349:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "23351:77:12", + "nodeType": "YulIdentifier", + "src": "23351:77:12" + }, + "nativeSrc": "23351:79:12", + "nodeType": "YulFunctionCall", + "src": "23351:79:12" + }, + "nativeSrc": "23351:79:12", + "nodeType": "YulExpressionStatement", + "src": "23351:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "23324:7:12", + "nodeType": "YulIdentifier", + "src": "23324:7:12" + }, + { + "name": "headStart", + "nativeSrc": "23333:9:12", + "nodeType": "YulIdentifier", + "src": "23333:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23320:3:12", + "nodeType": "YulIdentifier", + "src": "23320:3:12" + }, + "nativeSrc": "23320:23:12", + "nodeType": "YulFunctionCall", + "src": "23320:23:12" + }, + { + "kind": "number", + "nativeSrc": "23345:2:12", + "nodeType": "YulLiteral", + "src": "23345:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23316:3:12", + "nodeType": "YulIdentifier", + "src": "23316:3:12" + }, + "nativeSrc": "23316:32:12", + "nodeType": "YulFunctionCall", + "src": "23316:32:12" + }, + "nativeSrc": "23313:119:12", + "nodeType": "YulIf", + "src": "23313:119:12" + }, + { + "nativeSrc": "23442:127:12", + "nodeType": "YulBlock", + "src": "23442:127:12", + "statements": [ + { + "nativeSrc": "23457:15:12", + "nodeType": "YulVariableDeclaration", + "src": "23457:15:12", + "value": { + "kind": "number", + "nativeSrc": "23471:1:12", + "nodeType": "YulLiteral", + "src": "23471:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "23461:6:12", + "nodeType": "YulTypedName", + "src": "23461:6:12", + "type": "" + } + ] + }, + { + "nativeSrc": "23486:73:12", + "nodeType": "YulAssignment", + "src": "23486:73:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23531:9:12", + "nodeType": "YulIdentifier", + "src": "23531:9:12" + }, + { + "name": "offset", + "nativeSrc": "23542:6:12", + "nodeType": "YulIdentifier", + "src": "23542:6:12" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23527:3:12", + "nodeType": "YulIdentifier", + "src": "23527:3:12" + }, + "nativeSrc": "23527:22:12", + "nodeType": "YulFunctionCall", + "src": "23527:22:12" + }, + { + "name": "dataEnd", + "nativeSrc": "23551:7:12", + "nodeType": "YulIdentifier", + "src": "23551:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4_fromMemory", + "nativeSrc": "23496:30:12", + "nodeType": "YulIdentifier", + "src": "23496:30:12" + }, + "nativeSrc": "23496:63:12", + "nodeType": "YulFunctionCall", + "src": "23496:63:12" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "23486:6:12", + "nodeType": "YulIdentifier", + "src": "23486:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4_fromMemory", + "nativeSrc": "23227:349:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "23273:9:12", + "nodeType": "YulTypedName", + "src": "23273:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "23284:7:12", + "nodeType": "YulTypedName", + "src": "23284:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "23296:6:12", + "nodeType": "YulTypedName", + "src": "23296:6:12", + "type": "" + } + ], + "src": "23227:349:12" + }, + { + "body": { + "nativeSrc": "23688:76:12", + "nodeType": "YulBlock", + "src": "23688:76:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "23710:6:12", + "nodeType": "YulIdentifier", + "src": "23710:6:12" + }, + { + "kind": "number", + "nativeSrc": "23718:1:12", + "nodeType": "YulLiteral", + "src": "23718:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23706:3:12", + "nodeType": "YulIdentifier", + "src": "23706:3:12" + }, + "nativeSrc": "23706:14:12", + "nodeType": "YulFunctionCall", + "src": "23706:14:12" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nativeSrc": "23722:34:12", + "nodeType": "YulLiteral", + "src": "23722:34:12", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23699:6:12", + "nodeType": "YulIdentifier", + "src": "23699:6:12" + }, + "nativeSrc": "23699:58:12", + "nodeType": "YulFunctionCall", + "src": "23699:58:12" + }, + "nativeSrc": "23699:58:12", + "nodeType": "YulExpressionStatement", + "src": "23699:58:12" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nativeSrc": "23582:182:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "23680:6:12", + "nodeType": "YulTypedName", + "src": "23680:6:12", + "type": "" + } + ], + "src": "23582:182:12" + }, + { + "body": { + "nativeSrc": "23916:220:12", + "nodeType": "YulBlock", + "src": "23916:220:12", + "statements": [ + { + "nativeSrc": "23926:74:12", + "nodeType": "YulAssignment", + "src": "23926:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "23992:3:12", + "nodeType": "YulIdentifier", + "src": "23992:3:12" + }, + { + "kind": "number", + "nativeSrc": "23997:2:12", + "nodeType": "YulLiteral", + "src": "23997:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "23933:58:12", + "nodeType": "YulIdentifier", + "src": "23933:58:12" + }, + "nativeSrc": "23933:67:12", + "nodeType": "YulFunctionCall", + "src": "23933:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "23926:3:12", + "nodeType": "YulIdentifier", + "src": "23926:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "24098:3:12", + "nodeType": "YulIdentifier", + "src": "24098:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nativeSrc": "24009:88:12", + "nodeType": "YulIdentifier", + "src": "24009:88:12" + }, + "nativeSrc": "24009:93:12", + "nodeType": "YulFunctionCall", + "src": "24009:93:12" + }, + "nativeSrc": "24009:93:12", + "nodeType": "YulExpressionStatement", + "src": "24009:93:12" + }, + { + "nativeSrc": "24111:19:12", + "nodeType": "YulAssignment", + "src": "24111:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "24122:3:12", + "nodeType": "YulIdentifier", + "src": "24122:3:12" + }, + { + "kind": "number", + "nativeSrc": "24127:2:12", + "nodeType": "YulLiteral", + "src": "24127:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24118:3:12", + "nodeType": "YulIdentifier", + "src": "24118:3:12" + }, + "nativeSrc": "24118:12:12", + "nodeType": "YulFunctionCall", + "src": "24118:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "24111:3:12", + "nodeType": "YulIdentifier", + "src": "24111:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nativeSrc": "23770:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "23904:3:12", + "nodeType": "YulTypedName", + "src": "23904:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "23912:3:12", + "nodeType": "YulTypedName", + "src": "23912:3:12", + "type": "" + } + ], + "src": "23770:366:12" + }, + { + "body": { + "nativeSrc": "24313:248:12", + "nodeType": "YulBlock", + "src": "24313:248:12", + "statements": [ + { + "nativeSrc": "24323:26:12", + "nodeType": "YulAssignment", + "src": "24323:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24335:9:12", + "nodeType": "YulIdentifier", + "src": "24335:9:12" + }, + { + "kind": "number", + "nativeSrc": "24346:2:12", + "nodeType": "YulLiteral", + "src": "24346:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24331:3:12", + "nodeType": "YulIdentifier", + "src": "24331:3:12" + }, + "nativeSrc": "24331:18:12", + "nodeType": "YulFunctionCall", + "src": "24331:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "24323:4:12", + "nodeType": "YulIdentifier", + "src": "24323:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24370:9:12", + "nodeType": "YulIdentifier", + "src": "24370:9:12" + }, + { + "kind": "number", + "nativeSrc": "24381:1:12", + "nodeType": "YulLiteral", + "src": "24381:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24366:3:12", + "nodeType": "YulIdentifier", + "src": "24366:3:12" + }, + "nativeSrc": "24366:17:12", + "nodeType": "YulFunctionCall", + "src": "24366:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "24389:4:12", + "nodeType": "YulIdentifier", + "src": "24389:4:12" + }, + { + "name": "headStart", + "nativeSrc": "24395:9:12", + "nodeType": "YulIdentifier", + "src": "24395:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "24385:3:12", + "nodeType": "YulIdentifier", + "src": "24385:3:12" + }, + "nativeSrc": "24385:20:12", + "nodeType": "YulFunctionCall", + "src": "24385:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24359:6:12", + "nodeType": "YulIdentifier", + "src": "24359:6:12" + }, + "nativeSrc": "24359:47:12", + "nodeType": "YulFunctionCall", + "src": "24359:47:12" + }, + "nativeSrc": "24359:47:12", + "nodeType": "YulExpressionStatement", + "src": "24359:47:12" + }, + { + "nativeSrc": "24415:139:12", + "nodeType": "YulAssignment", + "src": "24415:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "24549:4:12", + "nodeType": "YulIdentifier", + "src": "24549:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nativeSrc": "24423:124:12", + "nodeType": "YulIdentifier", + "src": "24423:124:12" + }, + "nativeSrc": "24423:131:12", + "nodeType": "YulFunctionCall", + "src": "24423:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "24415:4:12", + "nodeType": "YulIdentifier", + "src": "24415:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "24142:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "24293:9:12", + "nodeType": "YulTypedName", + "src": "24293:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "24308:4:12", + "nodeType": "YulTypedName", + "src": "24308:4:12", + "type": "" + } + ], + "src": "24142:419:12" + }, + { + "body": { + "nativeSrc": "24673:72:12", + "nodeType": "YulBlock", + "src": "24673:72:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "24695:6:12", + "nodeType": "YulIdentifier", + "src": "24695:6:12" + }, + { + "kind": "number", + "nativeSrc": "24703:1:12", + "nodeType": "YulLiteral", + "src": "24703:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24691:3:12", + "nodeType": "YulIdentifier", + "src": "24691:3:12" + }, + "nativeSrc": "24691:14:12", + "nodeType": "YulFunctionCall", + "src": "24691:14:12" + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "kind": "string", + "nativeSrc": "24707:30:12", + "nodeType": "YulLiteral", + "src": "24707:30:12", + "type": "", + "value": "ERC721: token already minted" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24684:6:12", + "nodeType": "YulIdentifier", + "src": "24684:6:12" + }, + "nativeSrc": "24684:54:12", + "nodeType": "YulFunctionCall", + "src": "24684:54:12" + }, + "nativeSrc": "24684:54:12", + "nodeType": "YulExpressionStatement", + "src": "24684:54:12" + } + ] + }, + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nativeSrc": "24567:178:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "24665:6:12", + "nodeType": "YulTypedName", + "src": "24665:6:12", + "type": "" + } + ], + "src": "24567:178:12" + }, + { + "body": { + "nativeSrc": "24897:220:12", + "nodeType": "YulBlock", + "src": "24897:220:12", + "statements": [ + { + "nativeSrc": "24907:74:12", + "nodeType": "YulAssignment", + "src": "24907:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "24973:3:12", + "nodeType": "YulIdentifier", + "src": "24973:3:12" + }, + { + "kind": "number", + "nativeSrc": "24978:2:12", + "nodeType": "YulLiteral", + "src": "24978:2:12", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "24914:58:12", + "nodeType": "YulIdentifier", + "src": "24914:58:12" + }, + "nativeSrc": "24914:67:12", + "nodeType": "YulFunctionCall", + "src": "24914:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "24907:3:12", + "nodeType": "YulIdentifier", + "src": "24907:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25079:3:12", + "nodeType": "YulIdentifier", + "src": "25079:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nativeSrc": "24990:88:12", + "nodeType": "YulIdentifier", + "src": "24990:88:12" + }, + "nativeSrc": "24990:93:12", + "nodeType": "YulFunctionCall", + "src": "24990:93:12" + }, + "nativeSrc": "24990:93:12", + "nodeType": "YulExpressionStatement", + "src": "24990:93:12" + }, + { + "nativeSrc": "25092:19:12", + "nodeType": "YulAssignment", + "src": "25092:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25103:3:12", + "nodeType": "YulIdentifier", + "src": "25103:3:12" + }, + { + "kind": "number", + "nativeSrc": "25108:2:12", + "nodeType": "YulLiteral", + "src": "25108:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25099:3:12", + "nodeType": "YulIdentifier", + "src": "25099:3:12" + }, + "nativeSrc": "25099:12:12", + "nodeType": "YulFunctionCall", + "src": "25099:12:12" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "25092:3:12", + "nodeType": "YulIdentifier", + "src": "25092:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nativeSrc": "24751:366:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "24885:3:12", + "nodeType": "YulTypedName", + "src": "24885:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "24893:3:12", + "nodeType": "YulTypedName", + "src": "24893:3:12", + "type": "" + } + ], + "src": "24751:366:12" + }, + { + "body": { + "nativeSrc": "25294:248:12", + "nodeType": "YulBlock", + "src": "25294:248:12", + "statements": [ + { + "nativeSrc": "25304:26:12", + "nodeType": "YulAssignment", + "src": "25304:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25316:9:12", + "nodeType": "YulIdentifier", + "src": "25316:9:12" + }, + { + "kind": "number", + "nativeSrc": "25327:2:12", + "nodeType": "YulLiteral", + "src": "25327:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25312:3:12", + "nodeType": "YulIdentifier", + "src": "25312:3:12" + }, + "nativeSrc": "25312:18:12", + "nodeType": "YulFunctionCall", + "src": "25312:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "25304:4:12", + "nodeType": "YulIdentifier", + "src": "25304:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25351:9:12", + "nodeType": "YulIdentifier", + "src": "25351:9:12" + }, + { + "kind": "number", + "nativeSrc": "25362:1:12", + "nodeType": "YulLiteral", + "src": "25362:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25347:3:12", + "nodeType": "YulIdentifier", + "src": "25347:3:12" + }, + "nativeSrc": "25347:17:12", + "nodeType": "YulFunctionCall", + "src": "25347:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "25370:4:12", + "nodeType": "YulIdentifier", + "src": "25370:4:12" + }, + { + "name": "headStart", + "nativeSrc": "25376:9:12", + "nodeType": "YulIdentifier", + "src": "25376:9:12" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "25366:3:12", + "nodeType": "YulIdentifier", + "src": "25366:3:12" + }, + "nativeSrc": "25366:20:12", + "nodeType": "YulFunctionCall", + "src": "25366:20:12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25340:6:12", + "nodeType": "YulIdentifier", + "src": "25340:6:12" + }, + "nativeSrc": "25340:47:12", + "nodeType": "YulFunctionCall", + "src": "25340:47:12" + }, + "nativeSrc": "25340:47:12", + "nodeType": "YulExpressionStatement", + "src": "25340:47:12" + }, + { + "nativeSrc": "25396:139:12", + "nodeType": "YulAssignment", + "src": "25396:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "25530:4:12", + "nodeType": "YulIdentifier", + "src": "25530:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nativeSrc": "25404:124:12", + "nodeType": "YulIdentifier", + "src": "25404:124:12" + }, + "nativeSrc": "25404:131:12", + "nodeType": "YulFunctionCall", + "src": "25404:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "25396:4:12", + "nodeType": "YulIdentifier", + "src": "25396:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "25123:419:12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "25274:9:12", + "nodeType": "YulTypedName", + "src": "25274:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "25289:4:12", + "nodeType": "YulTypedName", + "src": "25289:4:12", + "type": "" + } + ], + "src": "25123:419:12" + } + ] + }, + "contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100f45760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb46514610271578063b88d4fde1461028d578063c87b56dd146102a9578063e985e9c5146102d9576100f4565b806342842e0e146101d75780636352211e146101f357806370a082311461022357806395d89b4114610253576100f4565b8063081812fc116100d3578063081812fc14610165578063095ea7b3146101955780631249c58b146101b157806323b872dd146101bb576100f4565b80629a9b7b146100f957806301ffc9a71461011757806306fdde0314610147575b600080fd5b610101610309565b60405161010e91906117b0565b60405180910390f35b610131600480360381019061012c9190611837565b61030f565b60405161013e919061187f565b60405180910390f35b61014f6103f1565b60405161015c919061192a565b60405180910390f35b61017f600480360381019061017a9190611978565b610483565b60405161018c91906119e6565b60405180910390f35b6101af60048036038101906101aa9190611a2d565b6104c9565b005b6101b96105e0565b005b6101d560048036038101906101d09190611a6d565b610606565b005b6101f160048036038101906101ec9190611a6d565b610666565b005b61020d60048036038101906102089190611978565b610686565b60405161021a91906119e6565b60405180910390f35b61023d60048036038101906102389190611ac0565b61070c565b60405161024a91906117b0565b60405180910390f35b61025b6107c3565b604051610268919061192a565b60405180910390f35b61028b60048036038101906102869190611b19565b610855565b005b6102a760048036038101906102a29190611c8e565b61086b565b005b6102c360048036038101906102be9190611978565b6108cd565b6040516102d0919061192a565b60405180910390f35b6102f360048036038101906102ee9190611d11565b610935565b604051610300919061187f565b60405180910390f35b60065481565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103da57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ea57506103e9826109c9565b5b9050919050565b60606000805461040090611d80565b80601f016020809104026020016040519081016040528092919081815260200182805461042c90611d80565b80156104795780601f1061044e57610100808354040283529160200191610479565b820191906000526020600020905b81548152906001019060200180831161045c57829003601f168201915b5050505050905090565b600061048e82610a33565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104d482610686565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053b90611e23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610563610a7e565b73ffffffffffffffffffffffffffffffffffffffff16148061059257506105918161058c610a7e565b610935565b5b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611eb5565b60405180910390fd5b6105db8383610a86565b505050565b6105ec33600654610b3f565b600660008154809291906105ff90611f04565b9190505550565b610617610611610a7e565b82610b5d565b610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90611fbe565b60405180910390fd5b610661838383610bf2565b505050565b6106818383836040518060200160405280600081525061086b565b505050565b60008061069283610eeb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061202a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610773906120bc565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d290611d80565b80601f01602080910402602001604051908101604052809291908181526020018280546107fe90611d80565b801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b5050505050905090565b610867610860610a7e565b8383610f28565b5050565b61087c610876610a7e565b83610b5d565b6108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290611fbe565b60405180910390fd5b6108c784848484611094565b50505050565b60606108d882610a33565b60006108e26110f0565b90506000815111610902576040518060200160405280600081525061092d565b8061090c84611107565b60405160200161091d929190612118565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a3c816111d5565b610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a729061202a565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610af983610686565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610b59828260405180602001604052806000815250611216565b5050565b600080610b6983610686565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610bab5750610baa8185610935565b5b80610be957508373ffffffffffffffffffffffffffffffffffffffff16610bd184610483565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610c1282610686565b73ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f906121ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce90612240565b60405180910390fd5b610ce48383836001611271565b8273ffffffffffffffffffffffffffffffffffffffff16610d0482610686565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d51906121ae565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ee68383836001611277565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d906122ac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611087919061187f565b60405180910390a3505050565b61109f848484610bf2565b6110ab8484848461127d565b6110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e19061233e565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161111684611404565b01905060008167ffffffffffffffff81111561113557611134611b63565b5b6040519080825280601f01601f1916602001820160405280156111675781602001600182028036833780820191505090505b509050600082602001820190505b6001156111ca578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816111be576111bd61235e565b5b04945060008503611175575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166111f783610eeb565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6112208383611557565b61122d600084848461127d565b61126c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112639061233e565b60405180910390fd5b505050565b50505050565b50505050565b600061129e8473ffffffffffffffffffffffffffffffffffffffff16611774565b156113f7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026112c7610a7e565b8786866040518563ffffffff1660e01b81526004016112e994939291906123e2565b6020604051808303816000875af192505050801561132557506040513d601f19601f820116820180604052508101906113229190612443565b60015b6113a7573d8060008114611355576040519150601f19603f3d011682016040523d82523d6000602084013e61135a565b606091505b50600081510361139f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113969061233e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506113fc565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611462577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816114585761145761235e565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061149f576d04ee2d6d415b85acef810000000083816114955761149461235e565b5b0492506020810190505b662386f26fc1000083106114ce57662386f26fc1000083816114c4576114c361235e565b5b0492506010810190505b6305f5e10083106114f7576305f5e10083816114ed576114ec61235e565b5b0492506008810190505b612710831061151c5761271083816115125761151161235e565b5b0492506004810190505b6064831061153f57606483816115355761153461235e565b5b0492506002810190505b600a831061154e576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd906124bc565b60405180910390fd5b6115cf816111d5565b1561160f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160690612528565b60405180910390fd5b61161d600083836001611271565b611626816111d5565b15611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612528565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611770600083836001611277565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b6117aa81611797565b82525050565b60006020820190506117c560008301846117a1565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611814816117df565b811461181f57600080fd5b50565b6000813590506118318161180b565b92915050565b60006020828403121561184d5761184c6117d5565b5b600061185b84828501611822565b91505092915050565b60008115159050919050565b61187981611864565b82525050565b60006020820190506118946000830184611870565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118d45780820151818401526020810190506118b9565b60008484015250505050565b6000601f19601f8301169050919050565b60006118fc8261189a565b61190681856118a5565b93506119168185602086016118b6565b61191f816118e0565b840191505092915050565b6000602082019050818103600083015261194481846118f1565b905092915050565b61195581611797565b811461196057600080fd5b50565b6000813590506119728161194c565b92915050565b60006020828403121561198e5761198d6117d5565b5b600061199c84828501611963565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119d0826119a5565b9050919050565b6119e0816119c5565b82525050565b60006020820190506119fb60008301846119d7565b92915050565b611a0a816119c5565b8114611a1557600080fd5b50565b600081359050611a2781611a01565b92915050565b60008060408385031215611a4457611a436117d5565b5b6000611a5285828601611a18565b9250506020611a6385828601611963565b9150509250929050565b600080600060608486031215611a8657611a856117d5565b5b6000611a9486828701611a18565b9350506020611aa586828701611a18565b9250506040611ab686828701611963565b9150509250925092565b600060208284031215611ad657611ad56117d5565b5b6000611ae484828501611a18565b91505092915050565b611af681611864565b8114611b0157600080fd5b50565b600081359050611b1381611aed565b92915050565b60008060408385031215611b3057611b2f6117d5565b5b6000611b3e85828601611a18565b9250506020611b4f85828601611b04565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b9b826118e0565b810181811067ffffffffffffffff82111715611bba57611bb9611b63565b5b80604052505050565b6000611bcd6117cb565b9050611bd98282611b92565b919050565b600067ffffffffffffffff821115611bf957611bf8611b63565b5b611c02826118e0565b9050602081019050919050565b82818337600083830152505050565b6000611c31611c2c84611bde565b611bc3565b905082815260208101848484011115611c4d57611c4c611b5e565b5b611c58848285611c0f565b509392505050565b600082601f830112611c7557611c74611b59565b5b8135611c85848260208601611c1e565b91505092915050565b60008060008060808587031215611ca857611ca76117d5565b5b6000611cb687828801611a18565b9450506020611cc787828801611a18565b9350506040611cd887828801611963565b925050606085013567ffffffffffffffff811115611cf957611cf86117da565b5b611d0587828801611c60565b91505092959194509250565b60008060408385031215611d2857611d276117d5565b5b6000611d3685828601611a18565b9250506020611d4785828601611a18565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9857607f821691505b602082108103611dab57611daa611d51565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0d6021836118a5565b9150611e1882611db1565b604082019050919050565b60006020820190508181036000830152611e3c81611e00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611e9f603d836118a5565b9150611eaa82611e43565b604082019050919050565b60006020820190508181036000830152611ece81611e92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f0f82611797565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f4157611f40611ed5565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611fa8602d836118a5565b9150611fb382611f4c565b604082019050919050565b60006020820190508181036000830152611fd781611f9b565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006120146018836118a5565b915061201f82611fde565b602082019050919050565b6000602082019050818103600083015261204381612007565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006120a66029836118a5565b91506120b18261204a565b604082019050919050565b600060208201905081810360008301526120d581612099565b9050919050565b600081905092915050565b60006120f28261189a565b6120fc81856120dc565b935061210c8185602086016118b6565b80840191505092915050565b600061212482856120e7565b915061213082846120e7565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006121986025836118a5565b91506121a38261213c565b604082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061222a6024836118a5565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006122966019836118a5565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006123286032836118a5565b9150612333826122cc565b604082019050919050565b600060208201905081810360008301526123578161231b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006123b48261238d565b6123be8185612398565b93506123ce8185602086016118b6565b6123d7816118e0565b840191505092915050565b60006080820190506123f760008301876119d7565b61240460208301866119d7565b61241160408301856117a1565b818103606083015261242381846123a9565b905095945050505050565b60008151905061243d8161180b565b92915050565b600060208284031215612459576124586117d5565b5b60006124678482850161242e565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006124a66020836118a5565b91506124b182612470565b602082019050919050565b600060208201905081810360008301526124d581612499565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612512601c836118a5565b915061251d826124dc565b602082019050919050565b6000602082019050818103600083015261254181612505565b905091905056fea2646970667358221220ada89150c5d72aaf83fd35515ab6e67df75e9d0b0f8827fe1173d36182b4852a64736f6c63430008190033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42842E0E GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x271 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x28D JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x2D9 JUMPI PUSH2 0xF4 JUMP JUMPDEST DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1D7 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x1F3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x223 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x253 JUMPI PUSH2 0xF4 JUMP JUMPDEST DUP1 PUSH4 0x81812FC GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x1249C58B EQ PUSH2 0x1B1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1BB JUMPI PUSH2 0xF4 JUMP JUMPDEST DUP1 PUSH3 0x9A9B7B EQ PUSH2 0xF9 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x147 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x101 PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x17B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0x1837 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14F PUSH2 0x3F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17A SWAP2 SWAP1 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x483 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x19E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x1A2D JUMP JUMPDEST PUSH2 0x4C9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B9 PUSH2 0x5E0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0x1A6D JUMP JUMPDEST PUSH2 0x606 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EC SWAP2 SWAP1 PUSH2 0x1A6D JUMP JUMPDEST PUSH2 0x666 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x20D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x208 SWAP2 SWAP1 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x686 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21A SWAP2 SWAP1 PUSH2 0x19E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x238 SWAP2 SWAP1 PUSH2 0x1AC0 JUMP JUMPDEST PUSH2 0x70C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24A SWAP2 SWAP1 PUSH2 0x17B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25B PUSH2 0x7C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x286 SWAP2 SWAP1 PUSH2 0x1B19 JUMP JUMPDEST PUSH2 0x855 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A2 SWAP2 SWAP1 PUSH2 0x1C8E JUMP JUMPDEST PUSH2 0x86B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x8CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x192A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EE SWAP2 SWAP1 PUSH2 0x1D11 JUMP JUMPDEST PUSH2 0x935 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x300 SWAP2 SWAP1 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x80AC58CD00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x3DA JUMPI POP PUSH32 0x5B5E139F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x3EA JUMPI POP PUSH2 0x3E9 DUP3 PUSH2 0x9C9 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x400 SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x42C SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x479 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x44E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x479 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x45C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48E DUP3 PUSH2 0xA33 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D4 DUP3 PUSH2 0x686 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x544 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x53B SWAP1 PUSH2 0x1E23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x563 PUSH2 0xA7E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x592 JUMPI POP PUSH2 0x591 DUP2 PUSH2 0x58C PUSH2 0xA7E JUMP JUMPDEST PUSH2 0x935 JUMP JUMPDEST JUMPDEST PUSH2 0x5D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5C8 SWAP1 PUSH2 0x1EB5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5DB DUP4 DUP4 PUSH2 0xA86 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x5EC CALLER PUSH1 0x6 SLOAD PUSH2 0xB3F JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x5FF SWAP1 PUSH2 0x1F04 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH2 0x617 PUSH2 0x611 PUSH2 0xA7E JUMP JUMPDEST DUP3 PUSH2 0xB5D JUMP JUMPDEST PUSH2 0x656 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64D SWAP1 PUSH2 0x1FBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x661 DUP4 DUP4 DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x681 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x86B JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x692 DUP4 PUSH2 0xEEB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6FA SWAP1 PUSH2 0x202A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x77C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x773 SWAP1 PUSH2 0x20BC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x7D2 SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7FE SWAP1 PUSH2 0x1D80 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x84B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x820 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x84B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x82E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x867 PUSH2 0x860 PUSH2 0xA7E JUMP JUMPDEST DUP4 DUP4 PUSH2 0xF28 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x87C PUSH2 0x876 PUSH2 0xA7E JUMP JUMPDEST DUP4 PUSH2 0xB5D JUMP JUMPDEST PUSH2 0x8BB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B2 SWAP1 PUSH2 0x1FBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8C7 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1094 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x8D8 DUP3 PUSH2 0xA33 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E2 PUSH2 0x10F0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x902 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x92D JUMP JUMPDEST DUP1 PUSH2 0x90C DUP5 PUSH2 0x1107 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x91D SWAP3 SWAP2 SWAP1 PUSH2 0x2118 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA3C DUP2 PUSH2 0x11D5 JUMP JUMPDEST PUSH2 0xA7B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA72 SWAP1 PUSH2 0x202A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xAF9 DUP4 PUSH2 0x686 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xB59 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1216 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB69 DUP4 PUSH2 0x686 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0xBAB JUMPI POP PUSH2 0xBAA DUP2 DUP6 PUSH2 0x935 JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0xBE9 JUMPI POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xBD1 DUP5 PUSH2 0x483 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC12 DUP3 PUSH2 0x686 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC5F SWAP1 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xCD7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCCE SWAP1 PUSH2 0x2240 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCE4 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1271 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xD04 DUP3 PUSH2 0x686 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD5A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD51 SWAP1 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0xEE6 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1277 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xF96 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF8D SWAP1 PUSH2 0x22AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1087 SWAP2 SWAP1 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x109F DUP5 DUP5 DUP5 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x10AB DUP5 DUP5 DUP5 DUP5 PUSH2 0x127D JUMP JUMPDEST PUSH2 0x10EA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10E1 SWAP1 PUSH2 0x233E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x1 PUSH2 0x1116 DUP5 PUSH2 0x1404 JUMP JUMPDEST ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1135 JUMPI PUSH2 0x1134 PUSH2 0x1B63 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1167 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x11CA JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x11BE JUMPI PUSH2 0x11BD PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH1 0x0 DUP6 SUB PUSH2 0x1175 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x11F7 DUP4 PUSH2 0xEEB JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1220 DUP4 DUP4 PUSH2 0x1557 JUMP JUMPDEST PUSH2 0x122D PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x127D JUMP JUMPDEST PUSH2 0x126C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1263 SWAP1 PUSH2 0x233E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x129E DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1774 JUMP JUMPDEST ISZERO PUSH2 0x13F7 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x150B7A02 PUSH2 0x12C7 PUSH2 0xA7E JUMP JUMPDEST DUP8 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x23E2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1325 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1322 SWAP2 SWAP1 PUSH2 0x2443 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x13A7 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1355 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x135A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x0 DUP2 MLOAD SUB PUSH2 0x139F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1396 SWAP1 PUSH2 0x233E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH4 0x150B7A02 PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP2 POP POP PUSH2 0x13FC JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x1462 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x1458 JUMPI PUSH2 0x1457 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x149F JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x1495 JUMPI PUSH2 0x1494 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x14CE JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x14C4 JUMPI PUSH2 0x14C3 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x14F7 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x14ED JUMPI PUSH2 0x14EC PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x151C JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x1512 JUMPI PUSH2 0x1511 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x153F JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x1535 JUMPI PUSH2 0x1534 PUSH2 0x235E JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x154E JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x15C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15BD SWAP1 PUSH2 0x24BC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x15CF DUP2 PUSH2 0x11D5 JUMP JUMPDEST ISZERO PUSH2 0x160F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1606 SWAP1 PUSH2 0x2528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x161D PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1271 JUMP JUMPDEST PUSH2 0x1626 DUP2 PUSH2 0x11D5 JUMP JUMPDEST ISZERO PUSH2 0x1666 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x165D SWAP1 PUSH2 0x2528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x1770 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x1277 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17AA DUP2 PUSH2 0x1797 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17C5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1814 DUP2 PUSH2 0x17DF JUMP JUMPDEST DUP2 EQ PUSH2 0x181F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1831 DUP2 PUSH2 0x180B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x184D JUMPI PUSH2 0x184C PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x185B DUP5 DUP3 DUP6 ADD PUSH2 0x1822 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1879 DUP2 PUSH2 0x1864 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1894 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1870 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18D4 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18B9 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18FC DUP3 PUSH2 0x189A JUMP JUMPDEST PUSH2 0x1906 DUP2 DUP6 PUSH2 0x18A5 JUMP JUMPDEST SWAP4 POP PUSH2 0x1916 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18B6 JUMP JUMPDEST PUSH2 0x191F DUP2 PUSH2 0x18E0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1944 DUP2 DUP5 PUSH2 0x18F1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1955 DUP2 PUSH2 0x1797 JUMP JUMPDEST DUP2 EQ PUSH2 0x1960 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1972 DUP2 PUSH2 0x194C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x198E JUMPI PUSH2 0x198D PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x199C DUP5 DUP3 DUP6 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19D0 DUP3 PUSH2 0x19A5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19E0 DUP2 PUSH2 0x19C5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19FB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x19D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1A0A DUP2 PUSH2 0x19C5 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1A27 DUP2 PUSH2 0x1A01 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A44 JUMPI PUSH2 0x1A43 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A52 DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1A63 DUP6 DUP3 DUP7 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1A86 JUMPI PUSH2 0x1A85 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A94 DUP7 DUP3 DUP8 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1AA5 DUP7 DUP3 DUP8 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1AB6 DUP7 DUP3 DUP8 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AD6 JUMPI PUSH2 0x1AD5 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AE4 DUP5 DUP3 DUP6 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1AF6 DUP2 PUSH2 0x1864 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B13 DUP2 PUSH2 0x1AED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B30 JUMPI PUSH2 0x1B2F PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B3E DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B4F DUP6 DUP3 DUP7 ADD PUSH2 0x1B04 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1B9B DUP3 PUSH2 0x18E0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1BBA JUMPI PUSH2 0x1BB9 PUSH2 0x1B63 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BCD PUSH2 0x17CB JUMP JUMPDEST SWAP1 POP PUSH2 0x1BD9 DUP3 DUP3 PUSH2 0x1B92 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BF9 JUMPI PUSH2 0x1BF8 PUSH2 0x1B63 JUMP JUMPDEST JUMPDEST PUSH2 0x1C02 DUP3 PUSH2 0x18E0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C31 PUSH2 0x1C2C DUP5 PUSH2 0x1BDE JUMP JUMPDEST PUSH2 0x1BC3 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C4D JUMPI PUSH2 0x1C4C PUSH2 0x1B5E JUMP JUMPDEST JUMPDEST PUSH2 0x1C58 DUP5 DUP3 DUP6 PUSH2 0x1C0F JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C75 JUMPI PUSH2 0x1C74 PUSH2 0x1B59 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1C85 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C1E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1CA8 JUMPI PUSH2 0x1CA7 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CB6 DUP8 DUP3 DUP9 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x1CC7 DUP8 DUP3 DUP9 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x1CD8 DUP8 DUP3 DUP9 ADD PUSH2 0x1963 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1CF9 JUMPI PUSH2 0x1CF8 PUSH2 0x17DA JUMP JUMPDEST JUMPDEST PUSH2 0x1D05 DUP8 DUP3 DUP9 ADD PUSH2 0x1C60 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D28 JUMPI PUSH2 0x1D27 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D36 DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1D47 DUP6 DUP3 DUP7 ADD PUSH2 0x1A18 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1D98 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1DAB JUMPI PUSH2 0x1DAA PUSH2 0x1D51 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E0D PUSH1 0x21 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E18 DUP3 PUSH2 0x1DB1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E3C DUP2 PUSH2 0x1E00 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E9F PUSH1 0x3D DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EAA DUP3 PUSH2 0x1E43 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1ECE DUP2 PUSH2 0x1E92 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1F0F DUP3 PUSH2 0x1797 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1F41 JUMPI PUSH2 0x1F40 PUSH2 0x1ED5 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x72206F7220617070726F76656400000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA8 PUSH1 0x2D DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FB3 DUP3 PUSH2 0x1F4C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1FD7 DUP2 PUSH2 0x1F9B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20696E76616C696420746F6B656E2049440000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2014 PUSH1 0x18 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x201F DUP3 PUSH2 0x1FDE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2043 DUP2 PUSH2 0x2007 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C6964206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A6 PUSH1 0x29 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x20B1 DUP3 PUSH2 0x204A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x20D5 DUP2 PUSH2 0x2099 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20F2 DUP3 PUSH2 0x189A JUMP JUMPDEST PUSH2 0x20FC DUP2 DUP6 PUSH2 0x20DC JUMP JUMPDEST SWAP4 POP PUSH2 0x210C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18B6 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2124 DUP3 DUP6 PUSH2 0x20E7 JUMP JUMPDEST SWAP2 POP PUSH2 0x2130 DUP3 DUP5 PUSH2 0x20E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F776E6572000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2198 PUSH1 0x25 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x21A3 DUP3 PUSH2 0x213C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21C7 DUP2 PUSH2 0x218B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x222A PUSH1 0x24 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x2235 DUP3 PUSH2 0x21CE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2259 DUP2 PUSH2 0x221D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2296 PUSH1 0x19 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x22A1 DUP3 PUSH2 0x2260 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22C5 DUP2 PUSH2 0x2289 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63656976657220696D706C656D656E7465720000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2328 PUSH1 0x32 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x2333 DUP3 PUSH2 0x22CC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2357 DUP2 PUSH2 0x231B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23B4 DUP3 PUSH2 0x238D JUMP JUMPDEST PUSH2 0x23BE DUP2 DUP6 PUSH2 0x2398 JUMP JUMPDEST SWAP4 POP PUSH2 0x23CE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18B6 JUMP JUMPDEST PUSH2 0x23D7 DUP2 PUSH2 0x18E0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x23F7 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x2404 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19D7 JUMP JUMPDEST PUSH2 0x2411 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x17A1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x2423 DUP2 DUP5 PUSH2 0x23A9 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x243D DUP2 PUSH2 0x180B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2459 JUMPI PUSH2 0x2458 PUSH2 0x17D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2467 DUP5 DUP3 DUP6 ADD PUSH2 0x242E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24A6 PUSH1 0x20 DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x24B1 DUP3 PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x24D5 DUP2 PUSH2 0x2499 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2512 PUSH1 0x1C DUP4 PUSH2 0x18A5 JUMP JUMPDEST SWAP2 POP PUSH2 0x251D DUP3 PUSH2 0x24DC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2541 DUP2 PUSH2 0x2505 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAD 0xA8 SWAP2 POP 0xC5 0xD7 0x2A 0xAF DUP4 REVERT CALLDATALOAD MLOAD GAS 0xB6 0xE6 PUSH30 0xF75E9D0B0F8827FE1173D36182B4852A64736F6C63430008190033000000 ", + "sourceMap": "84:253:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;117:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1570:300:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;230:105:11;;;:::i;:::-;;4612:296:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2801;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;117:29:11;;;;:::o;1570:300:0:-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;230:105:11:-;265:37;275:10;287:14;;265:9;:37::i;:::-;312:14;;:16;;;;;;;;;:::i;:::-;;;;;;230:105::o;4612:296:0:-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;2190:219::-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;:8;:10::i;:::-;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;;;2801:276;;;:::o;4388:162::-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;829:155:7:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13240:133:0:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;655:96:5:-;708:7;734:10;727:17;;655:96;:::o;12572:171:0:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7995:108::-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;:::-;7995:108;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;3319:92::-;3370:13;3395:9;;;;;;;;;;;;;;3319:92;:::o;447:696:6:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;7120:126:0:-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;8324:279::-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:279;;;:::o;15472:116::-;;;;;:::o;16294:115::-;;;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;10139:916:9:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;8925:920:0:-;9018:1;9004:16;;:2;:16;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;1412:320:4:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;7:77:12:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:75::-;475:6;508:2;502:9;492:19;;442:75;:::o;523:117::-;632:1;629;622:12;646:117;755:1;752;745:12;769:149;805:7;845:66;838:5;834:78;823:89;;769:149;;;:::o;924:120::-;996:23;1013:5;996:23;:::i;:::-;989:5;986:34;976:62;;1034:1;1031;1024:12;976:62;924:120;:::o;1050:137::-;1095:5;1133:6;1120:20;1111:29;;1149:32;1175:5;1149:32;:::i;:::-;1050:137;;;;:::o;1193:327::-;1251:6;1300:2;1288:9;1279:7;1275:23;1271:32;1268:119;;;1306:79;;:::i;:::-;1268:119;1426:1;1451:52;1495:7;1486:6;1475:9;1471:22;1451:52;:::i;:::-;1441:62;;1397:116;1193:327;;;;:::o;1526:90::-;1560:7;1603:5;1596:13;1589:21;1578:32;;1526:90;;;:::o;1622:109::-;1703:21;1718:5;1703:21;:::i;:::-;1698:3;1691:34;1622:109;;:::o;1737:210::-;1824:4;1862:2;1851:9;1847:18;1839:26;;1875:65;1937:1;1926:9;1922:17;1913:6;1875:65;:::i;:::-;1737:210;;;;:::o;1953:99::-;2005:6;2039:5;2033:12;2023:22;;1953:99;;;:::o;2058:169::-;2142:11;2176:6;2171:3;2164:19;2216:4;2211:3;2207:14;2192:29;;2058:169;;;;:::o;2233:248::-;2315:1;2325:113;2339:6;2336:1;2333:13;2325:113;;;2424:1;2419:3;2415:11;2409:18;2405:1;2400:3;2396:11;2389:39;2361:2;2358:1;2354:10;2349:15;;2325:113;;;2472:1;2463:6;2458:3;2454:16;2447:27;2295:186;2233:248;;;:::o;2487:102::-;2528:6;2579:2;2575:7;2570:2;2563:5;2559:14;2555:28;2545:38;;2487:102;;;:::o;2595:377::-;2683:3;2711:39;2744:5;2711:39;:::i;:::-;2766:71;2830:6;2825:3;2766:71;:::i;:::-;2759:78;;2846:65;2904:6;2899:3;2892:4;2885:5;2881:16;2846:65;:::i;:::-;2936:29;2958:6;2936:29;:::i;:::-;2931:3;2927:39;2920:46;;2687:285;2595:377;;;;:::o;2978:313::-;3091:4;3129:2;3118:9;3114:18;3106:26;;3178:9;3172:4;3168:20;3164:1;3153:9;3149:17;3142:47;3206:78;3279:4;3270:6;3206:78;:::i;:::-;3198:86;;2978:313;;;;:::o;3297:122::-;3370:24;3388:5;3370:24;:::i;:::-;3363:5;3360:35;3350:63;;3409:1;3406;3399:12;3350:63;3297:122;:::o;3425:139::-;3471:5;3509:6;3496:20;3487:29;;3525:33;3552:5;3525:33;:::i;:::-;3425:139;;;;:::o;3570:329::-;3629:6;3678:2;3666:9;3657:7;3653:23;3649:32;3646:119;;;3684:79;;:::i;:::-;3646:119;3804:1;3829:53;3874:7;3865:6;3854:9;3850:22;3829:53;:::i;:::-;3819:63;;3775:117;3570:329;;;;:::o;3905:126::-;3942:7;3982:42;3975:5;3971:54;3960:65;;3905:126;;;:::o;4037:96::-;4074:7;4103:24;4121:5;4103:24;:::i;:::-;4092:35;;4037:96;;;:::o;4139:118::-;4226:24;4244:5;4226:24;:::i;:::-;4221:3;4214:37;4139:118;;:::o;4263:222::-;4356:4;4394:2;4383:9;4379:18;4371:26;;4407:71;4475:1;4464:9;4460:17;4451:6;4407:71;:::i;:::-;4263:222;;;;:::o;4491:122::-;4564:24;4582:5;4564:24;:::i;:::-;4557:5;4554:35;4544:63;;4603:1;4600;4593:12;4544:63;4491:122;:::o;4619:139::-;4665:5;4703:6;4690:20;4681:29;;4719:33;4746:5;4719:33;:::i;:::-;4619:139;;;;:::o;4764:474::-;4832:6;4840;4889:2;4877:9;4868:7;4864:23;4860:32;4857:119;;;4895:79;;:::i;:::-;4857:119;5015:1;5040:53;5085:7;5076:6;5065:9;5061:22;5040:53;:::i;:::-;5030:63;;4986:117;5142:2;5168:53;5213:7;5204:6;5193:9;5189:22;5168:53;:::i;:::-;5158:63;;5113:118;4764:474;;;;;:::o;5244:619::-;5321:6;5329;5337;5386:2;5374:9;5365:7;5361:23;5357:32;5354:119;;;5392:79;;:::i;:::-;5354:119;5512:1;5537:53;5582:7;5573:6;5562:9;5558:22;5537:53;:::i;:::-;5527:63;;5483:117;5639:2;5665:53;5710:7;5701:6;5690:9;5686:22;5665:53;:::i;:::-;5655:63;;5610:118;5767:2;5793:53;5838:7;5829:6;5818:9;5814:22;5793:53;:::i;:::-;5783:63;;5738:118;5244:619;;;;;:::o;5869:329::-;5928:6;5977:2;5965:9;5956:7;5952:23;5948:32;5945:119;;;5983:79;;:::i;:::-;5945:119;6103:1;6128:53;6173:7;6164:6;6153:9;6149:22;6128:53;:::i;:::-;6118:63;;6074:117;5869:329;;;;:::o;6204:116::-;6274:21;6289:5;6274:21;:::i;:::-;6267:5;6264:32;6254:60;;6310:1;6307;6300:12;6254:60;6204:116;:::o;6326:133::-;6369:5;6407:6;6394:20;6385:29;;6423:30;6447:5;6423:30;:::i;:::-;6326:133;;;;:::o;6465:468::-;6530:6;6538;6587:2;6575:9;6566:7;6562:23;6558:32;6555:119;;;6593:79;;:::i;:::-;6555:119;6713:1;6738:53;6783:7;6774:6;6763:9;6759:22;6738:53;:::i;:::-;6728:63;;6684:117;6840:2;6866:50;6908:7;6899:6;6888:9;6884:22;6866:50;:::i;:::-;6856:60;;6811:115;6465:468;;;;;:::o;6939:117::-;7048:1;7045;7038:12;7062:117;7171:1;7168;7161:12;7185:180;7233:77;7230:1;7223:88;7330:4;7327:1;7320:15;7354:4;7351:1;7344:15;7371:281;7454:27;7476:4;7454:27;:::i;:::-;7446:6;7442:40;7584:6;7572:10;7569:22;7548:18;7536:10;7533:34;7530:62;7527:88;;;7595:18;;:::i;:::-;7527:88;7635:10;7631:2;7624:22;7414:238;7371:281;;:::o;7658:129::-;7692:6;7719:20;;:::i;:::-;7709:30;;7748:33;7776:4;7768:6;7748:33;:::i;:::-;7658:129;;;:::o;7793:307::-;7854:4;7944:18;7936:6;7933:30;7930:56;;;7966:18;;:::i;:::-;7930:56;8004:29;8026:6;8004:29;:::i;:::-;7996:37;;8088:4;8082;8078:15;8070:23;;7793:307;;;:::o;8106:148::-;8204:6;8199:3;8194;8181:30;8245:1;8236:6;8231:3;8227:16;8220:27;8106:148;;;:::o;8260:423::-;8337:5;8362:65;8378:48;8419:6;8378:48;:::i;:::-;8362:65;:::i;:::-;8353:74;;8450:6;8443:5;8436:21;8488:4;8481:5;8477:16;8526:3;8517:6;8512:3;8508:16;8505:25;8502:112;;;8533:79;;:::i;:::-;8502:112;8623:54;8670:6;8665:3;8660;8623:54;:::i;:::-;8343:340;8260:423;;;;;:::o;8702:338::-;8757:5;8806:3;8799:4;8791:6;8787:17;8783:27;8773:122;;8814:79;;:::i;:::-;8773:122;8931:6;8918:20;8956:78;9030:3;9022:6;9015:4;9007:6;9003:17;8956:78;:::i;:::-;8947:87;;8763:277;8702:338;;;;:::o;9046:943::-;9141:6;9149;9157;9165;9214:3;9202:9;9193:7;9189:23;9185:33;9182:120;;;9221:79;;:::i;:::-;9182:120;9341:1;9366:53;9411:7;9402:6;9391:9;9387:22;9366:53;:::i;:::-;9356:63;;9312:117;9468:2;9494:53;9539:7;9530:6;9519:9;9515:22;9494:53;:::i;:::-;9484:63;;9439:118;9596:2;9622:53;9667:7;9658:6;9647:9;9643:22;9622:53;:::i;:::-;9612:63;;9567:118;9752:2;9741:9;9737:18;9724:32;9783:18;9775:6;9772:30;9769:117;;;9805:79;;:::i;:::-;9769:117;9910:62;9964:7;9955:6;9944:9;9940:22;9910:62;:::i;:::-;9900:72;;9695:287;9046:943;;;;;;;:::o;9995:474::-;10063:6;10071;10120:2;10108:9;10099:7;10095:23;10091:32;10088:119;;;10126:79;;:::i;:::-;10088:119;10246:1;10271:53;10316:7;10307:6;10296:9;10292:22;10271:53;:::i;:::-;10261:63;;10217:117;10373:2;10399:53;10444:7;10435:6;10424:9;10420:22;10399:53;:::i;:::-;10389:63;;10344:118;9995:474;;;;;:::o;10475:180::-;10523:77;10520:1;10513:88;10620:4;10617:1;10610:15;10644:4;10641:1;10634:15;10661:320;10705:6;10742:1;10736:4;10732:12;10722:22;;10789:1;10783:4;10779:12;10810:18;10800:81;;10866:4;10858:6;10854:17;10844:27;;10800:81;10928:2;10920:6;10917:14;10897:18;10894:38;10891:84;;10947:18;;:::i;:::-;10891:84;10712:269;10661:320;;;:::o;10987:220::-;11127:34;11123:1;11115:6;11111:14;11104:58;11196:3;11191:2;11183:6;11179:15;11172:28;10987:220;:::o;11213:366::-;11355:3;11376:67;11440:2;11435:3;11376:67;:::i;:::-;11369:74;;11452:93;11541:3;11452:93;:::i;:::-;11570:2;11565:3;11561:12;11554:19;;11213:366;;;:::o;11585:419::-;11751:4;11789:2;11778:9;11774:18;11766:26;;11838:9;11832:4;11828:20;11824:1;11813:9;11809:17;11802:47;11866:131;11992:4;11866:131;:::i;:::-;11858:139;;11585:419;;;:::o;12010:248::-;12150:34;12146:1;12138:6;12134:14;12127:58;12219:31;12214:2;12206:6;12202:15;12195:56;12010:248;:::o;12264:366::-;12406:3;12427:67;12491:2;12486:3;12427:67;:::i;:::-;12420:74;;12503:93;12592:3;12503:93;:::i;:::-;12621:2;12616:3;12612:12;12605:19;;12264:366;;;:::o;12636:419::-;12802:4;12840:2;12829:9;12825:18;12817:26;;12889:9;12883:4;12879:20;12875:1;12864:9;12860:17;12853:47;12917:131;13043:4;12917:131;:::i;:::-;12909:139;;12636:419;;;:::o;13061:180::-;13109:77;13106:1;13099:88;13206:4;13203:1;13196:15;13230:4;13227:1;13220:15;13247:233;13286:3;13309:24;13327:5;13309:24;:::i;:::-;13300:33;;13355:66;13348:5;13345:77;13342:103;;13425:18;;:::i;:::-;13342:103;13472:1;13465:5;13461:13;13454:20;;13247:233;;;:::o;13486:232::-;13626:34;13622:1;13614:6;13610:14;13603:58;13695:15;13690:2;13682:6;13678:15;13671:40;13486:232;:::o;13724:366::-;13866:3;13887:67;13951:2;13946:3;13887:67;:::i;:::-;13880:74;;13963:93;14052:3;13963:93;:::i;:::-;14081:2;14076:3;14072:12;14065:19;;13724:366;;;:::o;14096:419::-;14262:4;14300:2;14289:9;14285:18;14277:26;;14349:9;14343:4;14339:20;14335:1;14324:9;14320:17;14313:47;14377:131;14503:4;14377:131;:::i;:::-;14369:139;;14096:419;;;:::o;14521:174::-;14661:26;14657:1;14649:6;14645:14;14638:50;14521:174;:::o;14701:366::-;14843:3;14864:67;14928:2;14923:3;14864:67;:::i;:::-;14857:74;;14940:93;15029:3;14940:93;:::i;:::-;15058:2;15053:3;15049:12;15042:19;;14701:366;;;:::o;15073:419::-;15239:4;15277:2;15266:9;15262:18;15254:26;;15326:9;15320:4;15316:20;15312:1;15301:9;15297:17;15290:47;15354:131;15480:4;15354:131;:::i;:::-;15346:139;;15073:419;;;:::o;15498:228::-;15638:34;15634:1;15626:6;15622:14;15615:58;15707:11;15702:2;15694:6;15690:15;15683:36;15498:228;:::o;15732:366::-;15874:3;15895:67;15959:2;15954:3;15895:67;:::i;:::-;15888:74;;15971:93;16060:3;15971:93;:::i;:::-;16089:2;16084:3;16080:12;16073:19;;15732:366;;;:::o;16104:419::-;16270:4;16308:2;16297:9;16293:18;16285:26;;16357:9;16351:4;16347:20;16343:1;16332:9;16328:17;16321:47;16385:131;16511:4;16385:131;:::i;:::-;16377:139;;16104:419;;;:::o;16529:148::-;16631:11;16668:3;16653:18;;16529:148;;;;:::o;16683:390::-;16789:3;16817:39;16850:5;16817:39;:::i;:::-;16872:89;16954:6;16949:3;16872:89;:::i;:::-;16865:96;;16970:65;17028:6;17023:3;17016:4;17009:5;17005:16;16970:65;:::i;:::-;17060:6;17055:3;17051:16;17044:23;;16793:280;16683:390;;;;:::o;17079:435::-;17259:3;17281:95;17372:3;17363:6;17281:95;:::i;:::-;17274:102;;17393:95;17484:3;17475:6;17393:95;:::i;:::-;17386:102;;17505:3;17498:10;;17079:435;;;;;:::o;17520:224::-;17660:34;17656:1;17648:6;17644:14;17637:58;17729:7;17724:2;17716:6;17712:15;17705:32;17520:224;:::o;17750:366::-;17892:3;17913:67;17977:2;17972:3;17913:67;:::i;:::-;17906:74;;17989:93;18078:3;17989:93;:::i;:::-;18107:2;18102:3;18098:12;18091:19;;17750:366;;;:::o;18122:419::-;18288:4;18326:2;18315:9;18311:18;18303:26;;18375:9;18369:4;18365:20;18361:1;18350:9;18346:17;18339:47;18403:131;18529:4;18403:131;:::i;:::-;18395:139;;18122:419;;;:::o;18547:223::-;18687:34;18683:1;18675:6;18671:14;18664:58;18756:6;18751:2;18743:6;18739:15;18732:31;18547:223;:::o;18776:366::-;18918:3;18939:67;19003:2;18998:3;18939:67;:::i;:::-;18932:74;;19015:93;19104:3;19015:93;:::i;:::-;19133:2;19128:3;19124:12;19117:19;;18776:366;;;:::o;19148:419::-;19314:4;19352:2;19341:9;19337:18;19329:26;;19401:9;19395:4;19391:20;19387:1;19376:9;19372:17;19365:47;19429:131;19555:4;19429:131;:::i;:::-;19421:139;;19148:419;;;:::o;19573:175::-;19713:27;19709:1;19701:6;19697:14;19690:51;19573:175;:::o;19754:366::-;19896:3;19917:67;19981:2;19976:3;19917:67;:::i;:::-;19910:74;;19993:93;20082:3;19993:93;:::i;:::-;20111:2;20106:3;20102:12;20095:19;;19754:366;;;:::o;20126:419::-;20292:4;20330:2;20319:9;20315:18;20307:26;;20379:9;20373:4;20369:20;20365:1;20354:9;20350:17;20343:47;20407:131;20533:4;20407:131;:::i;:::-;20399:139;;20126:419;;;:::o;20551:237::-;20691:34;20687:1;20679:6;20675:14;20668:58;20760:20;20755:2;20747:6;20743:15;20736:45;20551:237;:::o;20794:366::-;20936:3;20957:67;21021:2;21016:3;20957:67;:::i;:::-;20950:74;;21033:93;21122:3;21033:93;:::i;:::-;21151:2;21146:3;21142:12;21135:19;;20794:366;;;:::o;21166:419::-;21332:4;21370:2;21359:9;21355:18;21347:26;;21419:9;21413:4;21409:20;21405:1;21394:9;21390:17;21383:47;21447:131;21573:4;21447:131;:::i;:::-;21439:139;;21166:419;;;:::o;21591:180::-;21639:77;21636:1;21629:88;21736:4;21733:1;21726:15;21760:4;21757:1;21750:15;21777:98;21828:6;21862:5;21856:12;21846:22;;21777:98;;;:::o;21881:168::-;21964:11;21998:6;21993:3;21986:19;22038:4;22033:3;22029:14;22014:29;;21881:168;;;;:::o;22055:373::-;22141:3;22169:38;22201:5;22169:38;:::i;:::-;22223:70;22286:6;22281:3;22223:70;:::i;:::-;22216:77;;22302:65;22360:6;22355:3;22348:4;22341:5;22337:16;22302:65;:::i;:::-;22392:29;22414:6;22392:29;:::i;:::-;22387:3;22383:39;22376:46;;22145:283;22055:373;;;;:::o;22434:640::-;22629:4;22667:3;22656:9;22652:19;22644:27;;22681:71;22749:1;22738:9;22734:17;22725:6;22681:71;:::i;:::-;22762:72;22830:2;22819:9;22815:18;22806:6;22762:72;:::i;:::-;22844;22912:2;22901:9;22897:18;22888:6;22844:72;:::i;:::-;22963:9;22957:4;22953:20;22948:2;22937:9;22933:18;22926:48;22991:76;23062:4;23053:6;22991:76;:::i;:::-;22983:84;;22434:640;;;;;;;:::o;23080:141::-;23136:5;23167:6;23161:13;23152:22;;23183:32;23209:5;23183:32;:::i;:::-;23080:141;;;;:::o;23227:349::-;23296:6;23345:2;23333:9;23324:7;23320:23;23316:32;23313:119;;;23351:79;;:::i;:::-;23313:119;23471:1;23496:63;23551:7;23542:6;23531:9;23527:22;23496:63;:::i;:::-;23486:73;;23442:127;23227:349;;;;:::o;23582:182::-;23722:34;23718:1;23710:6;23706:14;23699:58;23582:182;:::o;23770:366::-;23912:3;23933:67;23997:2;23992:3;23933:67;:::i;:::-;23926:74;;24009:93;24098:3;24009:93;:::i;:::-;24127:2;24122:3;24118:12;24111:19;;23770:366;;;:::o;24142:419::-;24308:4;24346:2;24335:9;24331:18;24323:26;;24395:9;24389:4;24385:20;24381:1;24370:9;24366:17;24359:47;24423:131;24549:4;24423:131;:::i;:::-;24415:139;;24142:419;;;:::o;24567:178::-;24707:30;24703:1;24695:6;24691:14;24684:54;24567:178;:::o;24751:366::-;24893:3;24914:67;24978:2;24973:3;24914:67;:::i;:::-;24907:74;;24990:93;25079:3;24990:93;:::i;:::-;25108:2;25103:3;25099:12;25092:19;;24751:366;;;:::o;25123:419::-;25289:4;25327:2;25316:9;25312:18;25304:26;;25376:9;25370:4;25366:20;25362:1;25351:9;25347:17;25340:47;25404:131;25530:4;25404:131;:::i;:::-;25396:139;;25123:419;;;:::o" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "currentTokenId()": "009a9b7b", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "mint()": "1249c58b", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/NFTMock.sol\":\"NFTMock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/NFTMock.sol\":{\"keccak256\":\"0x92b848c409fd3432dfbd3a802bbea0c61d5eb5c5778f40143e831f4de04d7e74\",\"urls\":[\"bzz-raw://b8467c7d46b843b68bbe4bcc57005044c1467f0c0e7ffcef7ee0b239da8d5dc0\",\"dweb:/ipfs/QmX76faq9wBNVXRqomn3cbKJ4c7o1KTbfe4QYgd14pir5V\"]}},\"version\":1}" + } + } + } + } +} \ No newline at end of file diff --git a/ignition/deployments/chain-59141/deployed_addresses.json b/ignition/deployments/chain-59141/deployed_addresses.json new file mode 100644 index 0000000..a3e2a6b --- /dev/null +++ b/ignition/deployments/chain-59141/deployed_addresses.json @@ -0,0 +1,3 @@ +{ + "NFTResolverModule#NFTMock": "0x27c11E7d60bA46a55EBF1fA33E6c30eDeAb162B6" +} diff --git a/ignition/deployments/chain-59141/journal.jsonl b/ignition/deployments/chain-59141/journal.jsonl new file mode 100644 index 0000000..b13c894 --- /dev/null +++ b/ignition/deployments/chain-59141/journal.jsonl @@ -0,0 +1,12 @@ + +{"chainId":59141,"type":"DEPLOYMENT_INITIALIZE"} +{"artifactId":"NFTResolverModule#NFTMock","constructorArgs":[],"contractName":"NFTMock","dependencies":[],"from":"0x4a8e79e5258592f208ddba8a8a0d3ffeb051b10a","futureId":"NFTResolverModule#NFTMock","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"NFTResolverModule#NFTMock","networkInteraction":{"data":"0x608060405234801561001057600080fd5b506040518060400160405280600481526020017f54657374000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5453540000000000000000000000000000000000000000000000000000000000815250816000908161008c91906102fc565b50806001908161009c91906102fc565b50505060016006819055506103ce565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012d57607f821691505b6020821081036101405761013f6100e6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016b565b6101b2868361016b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101f96101f46101ef846101ca565b6101d4565b6101ca565b9050919050565b6000819050919050565b610213836101de565b61022761021f82610200565b848454610178565b825550505050565b600090565b61023c61022f565b61024781848461020a565b505050565b5b8181101561026b57610260600082610234565b60018101905061024d565b5050565b601f8211156102b05761028181610146565b61028a8461015b565b81016020851015610299578190505b6102ad6102a58561015b565b83018261024c565b50505b505050565b600082821c905092915050565b60006102d3600019846008026102b5565b1980831691505092915050565b60006102ec83836102c2565b9150826002028217905092915050565b610305826100ac565b67ffffffffffffffff81111561031e5761031d6100b7565b5b6103288254610115565b61033382828561026f565b600060209050601f8311600181146103665760008415610354578287015190505b61035e85826102e0565b8655506103c6565b601f19841661037486610146565b60005b8281101561039c57848901518255600182019150602085019450602081019050610377565b868310156103b957848901516103b5601f8916826102c2565b8355505b6001600288020188555050505b505050505050565b61257e806103dd6000396000f3fe608060405234801561001057600080fd5b50600436106100f45760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb46514610271578063b88d4fde1461028d578063c87b56dd146102a9578063e985e9c5146102d9576100f4565b806342842e0e146101d75780636352211e146101f357806370a082311461022357806395d89b4114610253576100f4565b8063081812fc116100d3578063081812fc14610165578063095ea7b3146101955780631249c58b146101b157806323b872dd146101bb576100f4565b80629a9b7b146100f957806301ffc9a71461011757806306fdde0314610147575b600080fd5b610101610309565b60405161010e91906117b0565b60405180910390f35b610131600480360381019061012c9190611837565b61030f565b60405161013e919061187f565b60405180910390f35b61014f6103f1565b60405161015c919061192a565b60405180910390f35b61017f600480360381019061017a9190611978565b610483565b60405161018c91906119e6565b60405180910390f35b6101af60048036038101906101aa9190611a2d565b6104c9565b005b6101b96105e0565b005b6101d560048036038101906101d09190611a6d565b610606565b005b6101f160048036038101906101ec9190611a6d565b610666565b005b61020d60048036038101906102089190611978565b610686565b60405161021a91906119e6565b60405180910390f35b61023d60048036038101906102389190611ac0565b61070c565b60405161024a91906117b0565b60405180910390f35b61025b6107c3565b604051610268919061192a565b60405180910390f35b61028b60048036038101906102869190611b19565b610855565b005b6102a760048036038101906102a29190611c8e565b61086b565b005b6102c360048036038101906102be9190611978565b6108cd565b6040516102d0919061192a565b60405180910390f35b6102f360048036038101906102ee9190611d11565b610935565b604051610300919061187f565b60405180910390f35b60065481565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103da57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ea57506103e9826109c9565b5b9050919050565b60606000805461040090611d80565b80601f016020809104026020016040519081016040528092919081815260200182805461042c90611d80565b80156104795780601f1061044e57610100808354040283529160200191610479565b820191906000526020600020905b81548152906001019060200180831161045c57829003601f168201915b5050505050905090565b600061048e82610a33565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104d482610686565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053b90611e23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610563610a7e565b73ffffffffffffffffffffffffffffffffffffffff16148061059257506105918161058c610a7e565b610935565b5b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611eb5565b60405180910390fd5b6105db8383610a86565b505050565b6105ec33600654610b3f565b600660008154809291906105ff90611f04565b9190505550565b610617610611610a7e565b82610b5d565b610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90611fbe565b60405180910390fd5b610661838383610bf2565b505050565b6106818383836040518060200160405280600081525061086b565b505050565b60008061069283610eeb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061202a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610773906120bc565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d290611d80565b80601f01602080910402602001604051908101604052809291908181526020018280546107fe90611d80565b801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b5050505050905090565b610867610860610a7e565b8383610f28565b5050565b61087c610876610a7e565b83610b5d565b6108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290611fbe565b60405180910390fd5b6108c784848484611094565b50505050565b60606108d882610a33565b60006108e26110f0565b90506000815111610902576040518060200160405280600081525061092d565b8061090c84611107565b60405160200161091d929190612118565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a3c816111d5565b610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a729061202a565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610af983610686565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610b59828260405180602001604052806000815250611216565b5050565b600080610b6983610686565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610bab5750610baa8185610935565b5b80610be957508373ffffffffffffffffffffffffffffffffffffffff16610bd184610483565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610c1282610686565b73ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f906121ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce90612240565b60405180910390fd5b610ce48383836001611271565b8273ffffffffffffffffffffffffffffffffffffffff16610d0482610686565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d51906121ae565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ee68383836001611277565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d906122ac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611087919061187f565b60405180910390a3505050565b61109f848484610bf2565b6110ab8484848461127d565b6110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e19061233e565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161111684611404565b01905060008167ffffffffffffffff81111561113557611134611b63565b5b6040519080825280601f01601f1916602001820160405280156111675781602001600182028036833780820191505090505b509050600082602001820190505b6001156111ca578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816111be576111bd61235e565b5b04945060008503611175575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166111f783610eeb565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6112208383611557565b61122d600084848461127d565b61126c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112639061233e565b60405180910390fd5b505050565b50505050565b50505050565b600061129e8473ffffffffffffffffffffffffffffffffffffffff16611774565b156113f7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026112c7610a7e565b8786866040518563ffffffff1660e01b81526004016112e994939291906123e2565b6020604051808303816000875af192505050801561132557506040513d601f19601f820116820180604052508101906113229190612443565b60015b6113a7573d8060008114611355576040519150601f19603f3d011682016040523d82523d6000602084013e61135a565b606091505b50600081510361139f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113969061233e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506113fc565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611462577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816114585761145761235e565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061149f576d04ee2d6d415b85acef810000000083816114955761149461235e565b5b0492506020810190505b662386f26fc1000083106114ce57662386f26fc1000083816114c4576114c361235e565b5b0492506010810190505b6305f5e10083106114f7576305f5e10083816114ed576114ec61235e565b5b0492506008810190505b612710831061151c5761271083816115125761151161235e565b5b0492506004810190505b6064831061153f57606483816115355761153461235e565b5b0492506002810190505b600a831061154e576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd906124bc565b60405180910390fd5b6115cf816111d5565b1561160f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160690612528565b60405180910390fd5b61161d600083836001611271565b611626816111d5565b15611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612528565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611770600083836001611277565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b6117aa81611797565b82525050565b60006020820190506117c560008301846117a1565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611814816117df565b811461181f57600080fd5b50565b6000813590506118318161180b565b92915050565b60006020828403121561184d5761184c6117d5565b5b600061185b84828501611822565b91505092915050565b60008115159050919050565b61187981611864565b82525050565b60006020820190506118946000830184611870565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118d45780820151818401526020810190506118b9565b60008484015250505050565b6000601f19601f8301169050919050565b60006118fc8261189a565b61190681856118a5565b93506119168185602086016118b6565b61191f816118e0565b840191505092915050565b6000602082019050818103600083015261194481846118f1565b905092915050565b61195581611797565b811461196057600080fd5b50565b6000813590506119728161194c565b92915050565b60006020828403121561198e5761198d6117d5565b5b600061199c84828501611963565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119d0826119a5565b9050919050565b6119e0816119c5565b82525050565b60006020820190506119fb60008301846119d7565b92915050565b611a0a816119c5565b8114611a1557600080fd5b50565b600081359050611a2781611a01565b92915050565b60008060408385031215611a4457611a436117d5565b5b6000611a5285828601611a18565b9250506020611a6385828601611963565b9150509250929050565b600080600060608486031215611a8657611a856117d5565b5b6000611a9486828701611a18565b9350506020611aa586828701611a18565b9250506040611ab686828701611963565b9150509250925092565b600060208284031215611ad657611ad56117d5565b5b6000611ae484828501611a18565b91505092915050565b611af681611864565b8114611b0157600080fd5b50565b600081359050611b1381611aed565b92915050565b60008060408385031215611b3057611b2f6117d5565b5b6000611b3e85828601611a18565b9250506020611b4f85828601611b04565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b9b826118e0565b810181811067ffffffffffffffff82111715611bba57611bb9611b63565b5b80604052505050565b6000611bcd6117cb565b9050611bd98282611b92565b919050565b600067ffffffffffffffff821115611bf957611bf8611b63565b5b611c02826118e0565b9050602081019050919050565b82818337600083830152505050565b6000611c31611c2c84611bde565b611bc3565b905082815260208101848484011115611c4d57611c4c611b5e565b5b611c58848285611c0f565b509392505050565b600082601f830112611c7557611c74611b59565b5b8135611c85848260208601611c1e565b91505092915050565b60008060008060808587031215611ca857611ca76117d5565b5b6000611cb687828801611a18565b9450506020611cc787828801611a18565b9350506040611cd887828801611963565b925050606085013567ffffffffffffffff811115611cf957611cf86117da565b5b611d0587828801611c60565b91505092959194509250565b60008060408385031215611d2857611d276117d5565b5b6000611d3685828601611a18565b9250506020611d4785828601611a18565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9857607f821691505b602082108103611dab57611daa611d51565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0d6021836118a5565b9150611e1882611db1565b604082019050919050565b60006020820190508181036000830152611e3c81611e00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611e9f603d836118a5565b9150611eaa82611e43565b604082019050919050565b60006020820190508181036000830152611ece81611e92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f0f82611797565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f4157611f40611ed5565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611fa8602d836118a5565b9150611fb382611f4c565b604082019050919050565b60006020820190508181036000830152611fd781611f9b565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006120146018836118a5565b915061201f82611fde565b602082019050919050565b6000602082019050818103600083015261204381612007565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006120a66029836118a5565b91506120b18261204a565b604082019050919050565b600060208201905081810360008301526120d581612099565b9050919050565b600081905092915050565b60006120f28261189a565b6120fc81856120dc565b935061210c8185602086016118b6565b80840191505092915050565b600061212482856120e7565b915061213082846120e7565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006121986025836118a5565b91506121a38261213c565b604082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061222a6024836118a5565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006122966019836118a5565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006123286032836118a5565b9150612333826122cc565b604082019050919050565b600060208201905081810360008301526123578161231b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006123b48261238d565b6123be8185612398565b93506123ce8185602086016118b6565b6123d7816118e0565b840191505092915050565b60006080820190506123f760008301876119d7565b61240460208301866119d7565b61241160408301856117a1565b818103606083015261242381846123a9565b905095945050505050565b60008151905061243d8161180b565b92915050565b600060208284031215612459576124586117d5565b5b60006124678482850161242e565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006124a66020836118a5565b91506124b182612470565b602082019050919050565b600060208201905081810360008301526124d581612499565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612512601c836118a5565b915061251d826124dc565b602082019050919050565b6000602082019050818103600083015261254181612505565b905091905056fea2646970667358221220ada89150c5d72aaf83fd35515ab6e67df75e9d0b0f8827fe1173d36182b4852a64736f6c63430008190033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"NFTResolverModule#NFTMock","networkInteractionId":1,"nonce":5428,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"5098455822"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"5098455808"}},"hash":"0x18092375fef37ef019dd9c3b93a6b77e11bef630960bbca43bdfe75188a1d2fb"},"type":"TRANSACTION_SEND"} +{"futureId":"NFTResolverModule#NFTMock","hash":"0x18092375fef37ef019dd9c3b93a6b77e11bef630960bbca43bdfe75188a1d2fb","networkInteractionId":1,"receipt":{"blockHash":"0xe19b6fcb1d91b7df1f9b854ba322d1941fc1353250a25c0792dcff7e1efc3221","blockNumber":3656227,"contractAddress":"0x27c11E7d60bA46a55EBF1fA33E6c30eDeAb162B6","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"NFTResolverModule#NFTMock","result":{"address":"0x27c11E7d60bA46a55EBF1fA33E6c30eDeAb162B6","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"args":[],"artifactId":"NFTResolverModule#NFTMock","contractAddress":"0x27c11E7d60bA46a55EBF1fA33E6c30eDeAb162B6","dependencies":["NFTResolverModule#NFTMock"],"from":"0x4a8e79e5258592f208ddba8a8a0d3ffeb051b10a","functionName":"mint","futureId":"NFTResolverModule#NFTMock.mint","strategy":"basic","strategyConfig":{},"type":"CALL_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"NFTResolverModule#NFTMock.mint","networkInteraction":{"data":"0x1249c58b","id":1,"to":"0x27c11E7d60bA46a55EBF1fA33E6c30eDeAb162B6","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"NFTResolverModule#NFTMock.mint","networkInteractionId":1,"nonce":5429,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"5096852802"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"5096852788"}},"hash":"0x91de0b37ac1afa254409e22db03a88d9a759b5ed9ae8a02daac33b92396b560a"},"type":"TRANSACTION_SEND"} +{"futureId":"NFTResolverModule#NFTMock.mint","hash":"0x91de0b37ac1afa254409e22db03a88d9a759b5ed9ae8a02daac33b92396b560a","networkInteractionId":1,"receipt":{"blockHash":"0x4f116c18092697aae565d01c6e8539ba0cd579de5b26103427f10b656ed81507","blockNumber":3656232,"logs":[{"address":"0x27c11E7d60bA46a55EBF1fA33E6c30eDeAb162B6","data":"0x","logIndex":0,"topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000004a8e79e5258592f208ddba8a8a0d3ffeb051b10a","0x0000000000000000000000000000000000000000000000000000000000000001"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"NFTResolverModule#NFTMock.mint","result":{"type":"SUCCESS"},"type":"CALL_EXECUTION_STATE_COMPLETE"} \ No newline at end of file diff --git a/ignition/modules/NFTMock.ts b/ignition/modules/NFTMock.ts new file mode 100644 index 0000000..23790c6 --- /dev/null +++ b/ignition/modules/NFTMock.ts @@ -0,0 +1,11 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +const NFTMockModule = buildModule("NFTResolverModule", (m) => { + const nftMock = m.contract("NFTMock", []); + + m.call(nftMock, "mint", []); + + return { nftMock }; +}); + +export default NFTMockModule; diff --git a/ignition/modules/NFTResolver.ts b/ignition/modules/NFTResolver.ts index a69e4de..08a484f 100644 --- a/ignition/modules/NFTResolver.ts +++ b/ignition/modules/NFTResolver.ts @@ -1,6 +1,9 @@ import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; +import hre from "hardhat"; const NFTResolverModule = buildModule("NFTResolverModule", (m) => { + const networkName = hre.network.name; + console.log(networkName); // TODO: FIll in module info }); diff --git a/package-lock.json b/package-lock.json index c9dd353..65f3f6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,9 @@ "@chainlink/ccip-read-server": "^0.2.1", "@consensys/linea-ccip-gateway": "^1.0.1", "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@nomicfoundation/hardhat-verify": "^2.0.9", "dns-packet": "^5.6.1", + "dotenv": "^16.4.5", "hardhat": "^2.22.9", "supertest": "^7.0.0" } @@ -4044,7 +4046,6 @@ "version": "2.0.9", "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.9.tgz", "integrity": "sha512-7kD8hu1+zlnX87gC+UN4S0HTKBnIsDfXZ/pproq1gYsK94hgCk+exvzXbwR0X2giiY/RZPkqY9oKRi0Uev91hQ==", - "peer": true, "dependencies": { "@ethersproject/abi": "^5.1.2", "@ethersproject/address": "^5.0.2", @@ -4064,7 +4065,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -4076,7 +4076,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -4090,7 +4089,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -4098,14 +4096,12 @@ "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "peer": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@nomicfoundation/hardhat-verify/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "peer": true, "engines": { "node": ">=0.8.0" } @@ -4114,7 +4110,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "peer": true, "engines": { "node": ">=4" } @@ -4123,7 +4118,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -13711,4 +13705,6292 @@ "node": ">=10" }, "funding": { - \ No newline at end of file + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/murmur-128": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/murmur-128/-/murmur-128-0.2.1.tgz", + "integrity": "sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==", + "dependencies": { + "encode-utf8": "^1.0.2", + "fmix": "^0.1.0", + "imul": "^1.0.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/ndjson": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-2.0.0.tgz", + "integrity": "sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==", + "peer": true, + "dependencies": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.5", + "readable-stream": "^3.6.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "ndjson": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, + "node_modules/nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "engines": { + "node": ">=12.19" + } + }, + "node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + }, + "node_modules/nwsapi": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dev": true, + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/ora/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ordinal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", + "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==" + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "engines": { + "node": ">=4" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/progress-estimator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", + "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "cli-spinners": "^1.3.1", + "humanize-duration": "^3.15.3", + "log-update": "^2.3.0" + } + }, + "node_modules/progress-estimator/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/progress-estimator/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/progress-estimator/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/progress-estimator/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/req-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", + "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", + "dependencies": { + "req-from": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/req-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", + "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + }, + "bin": { + "rollup": "dist/bin/rollup" + } + }, + "node_modules/rollup-plugin-sourcemaps": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", + "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.9", + "source-map-resolve": "^0.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "@types/node": ">=10.0.0", + "rollup": ">=0.31.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-terser": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" + }, + "peerDependencies": { + "rollup": ">=0.66.0 <3" + } + }, + "node_modules/rollup-plugin-terser/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rollup-plugin-typescript2": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", + "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "8.1.0", + "resolve": "1.17.0", + "tslib": "2.0.1" + }, + "peerDependencies": { + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", + "dev": true + }, + "node_modules/rollup-plugin-typescript2/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/rollup/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sc-istanbul": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", + "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "dependencies": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "istanbul": "lib/cli.js" + } + }, + "node_modules/sc-istanbul/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/sc-istanbul/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sc-istanbul/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sc-istanbul/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sc-istanbul/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==" + }, + "node_modules/sc-istanbul/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", + "dependencies": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/solc": { + "version": "0.8.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", + "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "^8.1.0", + "follow-redirects": "^1.12.1", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solc.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/solc/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solidity-coverage": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.12.tgz", + "integrity": "sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==", + "dependencies": { + "@ethersproject/abi": "^5.0.9", + "@solidity-parser/parser": "^0.18.0", + "chalk": "^2.4.2", + "death": "^1.1.0", + "difflib": "^0.2.4", + "fs-extra": "^8.1.0", + "ghost-testrpc": "^0.0.2", + "global-modules": "^2.0.0", + "globby": "^10.0.1", + "jsonschema": "^1.2.4", + "lodash": "^4.17.21", + "mocha": "^10.2.0", + "node-emoji": "^1.10.0", + "pify": "^4.0.1", + "recursive-readdir": "^2.2.2", + "sc-istanbul": "^0.4.5", + "semver": "^7.3.4", + "shelljs": "^0.8.3", + "web3-utils": "^1.3.6" + }, + "bin": { + "solidity-coverage": "plugins/bin.js" + }, + "peerDependencies": { + "hardhat": "^2.11.0" + } + }, + "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", + "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==" + }, + "node_modules/solidity-coverage/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/solidity-coverage/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/solidity-coverage/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/solidity-coverage/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/solidity-coverage/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solidity-coverage/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/solidity-coverage/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "peer": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-format": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", + "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==" + }, + "node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/string-length/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz", + "integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^3.5.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/supertest": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.0.0.tgz", + "integrity": "sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==", + "dev": true, + "dependencies": { + "methods": "^1.1.2", + "superagent": "^9.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dependencies": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/then-request/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "peer": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "dev": true, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-command-line-args": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", + "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", + "dependencies": { + "chalk": "^4.1.0", + "command-line-args": "^5.1.1", + "command-line-usage": "^6.1.0", + "string-format": "^2.0.0" + }, + "bin": { + "write-markdown": "dist/write-markdown.js" + } + }, + "node_modules/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "peerDependencies": { + "typescript": ">=3.7.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", + "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", + "dev": true, + "dependencies": { + "@babel/core": "^7.4.4", + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.11.5", + "@babel/plugin-proposal-class-properties": "^7.4.4", + "@babel/preset-env": "^7.11.0", + "@babel/traverse": "^7.11.5", + "@rollup/plugin-babel": "^5.1.0", + "@rollup/plugin-commonjs": "^11.0.0", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "@rollup/plugin-replace": "^2.2.1", + "@types/jest": "^25.2.1", + "@typescript-eslint/eslint-plugin": "^2.12.0", + "@typescript-eslint/parser": "^2.12.0", + "ansi-escapes": "^4.2.1", + "asyncro": "^3.0.0", + "babel-eslint": "^10.0.3", + "babel-plugin-annotate-pure-calls": "^0.4.0", + "babel-plugin-dev-expression": "^0.2.1", + "babel-plugin-macros": "^2.6.1", + "babel-plugin-polyfill-regenerator": "^0.0.4", + "babel-plugin-transform-rename-import": "^2.3.0", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "enquirer": "^2.3.4", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", + "eslint-config-react-app": "^5.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.0", + "eslint-plugin-react": "^7.14.3", + "eslint-plugin-react-hooks": "^2.2.0", + "execa": "^4.0.3", + "fs-extra": "^9.0.0", + "jest": "^25.3.0", + "jest-watch-typeahead": "^0.5.0", + "jpjs": "^1.2.1", + "lodash.merge": "^4.6.2", + "ora": "^4.0.3", + "pascal-case": "^3.1.1", + "prettier": "^1.19.1", + "progress-estimator": "^0.2.2", + "regenerator-runtime": "^0.13.7", + "rollup": "^1.32.1", + "rollup-plugin-sourcemaps": "^0.6.2", + "rollup-plugin-terser": "^5.1.2", + "rollup-plugin-typescript2": "^0.27.3", + "sade": "^1.4.2", + "semver": "^7.1.1", + "shelljs": "^0.8.3", + "tiny-glob": "^0.2.6", + "ts-jest": "^25.3.1", + "tslib": "^1.9.3", + "typescript": "^3.7.3" + }, + "bin": { + "tsdx": "dist/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tsdx/node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsdx/node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsdx/node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsdx/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/tsdx/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/tsdx/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/tsdx/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/tsdx/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/tsdx/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/tsdx/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tsdx/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tsdx/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/tsdx/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/tsdx/node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/tsdx/node_modules/eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.9" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "2.x", + "@typescript-eslint/parser": "2.x", + "babel-eslint": "10.x", + "eslint": "6.x", + "eslint-plugin-flowtype": "3.x || 4.x", + "eslint-plugin-import": "2.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "1.x || 2.x" + } + }, + "node_modules/tsdx/node_modules/eslint-plugin-react-hooks": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", + "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", + "dev": true, + "engines": { + "node": ">=7" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/tsdx/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tsdx/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/tsdx/node_modules/eslint/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/tsdx/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/tsdx/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/tsdx/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tsdx/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsdx/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/tsdx/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/tsdx/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/tsdx/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tsdx/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tsdx/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tsdx/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tsdx/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/tsdx/node_modules/ts-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", + "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "micromatch": "4.x", + "mkdirp": "0.x", + "semver": "6.x", + "yargs-parser": "18.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 8" + }, + "peerDependencies": { + "jest": ">=25 <26", + "typescript": ">=3.4 <4.0" + } + }, + "node_modules/tsdx/node_modules/ts-jest/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsdx/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/tsdx/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typechain": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", + "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", + "dependencies": { + "@types/prettier": "^2.1.1", + "debug": "^4.3.1", + "fs-extra": "^7.0.0", + "glob": "7.1.7", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "mkdirp": "^1.0.4", + "prettier": "^2.3.1", + "ts-command-line-args": "^2.2.0", + "ts-essentials": "^7.0.1" + }, + "bin": { + "typechain": "dist/cli/cli.js" + }, + "peerDependencies": { + "typescript": ">=4.3.0" + } + }, + "node_modules/typechain/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/typechain/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typechain/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/typechain/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typechain/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/uglify-js": { + "version": "3.19.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.2.tgz", + "integrity": "sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici": { + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": "8.x.x || >=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-utils/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-utils/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/winston": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.14.2.tgz", + "integrity": "sha512-CO8cdpBB2yqzEf8v895L+GNKYJiEq8eKlHU38af3snQBQ+sdAIUepjMSguOIJC7ICbzm0ZI+Af2If4vIJrtmOg==", + "dev": true, + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.6.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.1.tgz", + "integrity": "sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==", + "dev": true, + "dependencies": { + "logform": "^2.6.1", + "readable-stream": "^3.6.2", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston/node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "node_modules/wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "dependencies": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 0e77ea8..b7d15d6 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,9 @@ "@chainlink/ccip-read-server": "^0.2.1", "@consensys/linea-ccip-gateway": "^1.0.1", "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@nomicfoundation/hardhat-verify": "^2.0.9", "dns-packet": "^5.6.1", + "dotenv": "^16.4.5", "hardhat": "^2.22.9", "supertest": "^7.0.0" }, diff --git a/test/NFTResolver.ts b/test/NFTResolver.ts index ec1865a..a6042a0 100644 --- a/test/NFTResolver.ts +++ b/test/NFTResolver.ts @@ -26,6 +26,8 @@ const labelhash = (label: string) => ethers.keccak256(ethers.toUtf8Bytes(label)); const encodeName = (name: string) => "0x" + packet.name.encode(name).toString("hex"); +const nftId = 1; +const wrongNftId = 0; const domainName = "foos"; const baseDomain = `${domainName}.eth`; const node = ethers.namehash(baseDomain); @@ -90,8 +92,8 @@ describe("Crosschain Resolver", () => { ); signer = await l1Provider.getSigner(0); signerAddress = await signer.getAddress(); - // TODO: The NFT contract deployed on Linea Sepolia - l2NFTContractAddress = ""; + // The NFT contract deployed on Linea Sepolia + l2NFTContractAddress = "0x27c11E7d60bA46a55EBF1fA33E6c30eDeAb162B6"; const Rollup = await ethers.getContractFactory("RollupMock", signer); @@ -271,10 +273,6 @@ describe("Crosschain Resolver", () => { it("should resolve empty ETH Address", async () => { await target.setTarget(encodedname, l2NFTContractAddress); const addr = "0x0000000000000000000000000000000000000000"; - const result = await l2NFTContract["addr(bytes32)"](node); - expect(result).to.equal(addr); - await l1Provider.send("evm_mine", []); - const i = new ethers.Interface(["function addr(bytes32) returns(address)"]); const calldata = i.encodeFunctionData("addr", [node]); const result2 = await target.resolve(encodedname, calldata, {