From c6fb8fcbd01645a0139c6dd79b2faa53198e3884 Mon Sep 17 00:00:00 2001 From: yuexin Date: Thu, 9 Nov 2023 17:11:58 +0800 Subject: [PATCH] deploy Explorer SBT NFT --- build/contracts/JSONMetadata.json | 12 +- build/contracts/Migrations.json | 2 +- build/contracts/NFTSbt.json | 217 +- build/contracts/NFTSbt.sol.json | 28070 ++++++++++++++++++++++++++++ migrations/18_deploy_explorer.js | 86 +- out_arbitrum_one_release.json | 8 +- package.json | 1 + truffle-config.js | 2 +- 8 files changed, 28323 insertions(+), 75 deletions(-) create mode 100644 build/contracts/NFTSbt.sol.json diff --git a/build/contracts/JSONMetadata.json b/build/contracts/JSONMetadata.json index b8d295a..30c16f2 100644 --- a/build/contracts/JSONMetadata.json +++ b/build/contracts/JSONMetadata.json @@ -52,7 +52,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -65,7 +66,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -109,7 +111,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -10167,7 +10170,8 @@ } }, "schemaVersion": "3.4.14", - "updatedAt": "2023-09-05T06:06:15.699Z", + "updatedAt": "2023-11-09T08:27:08.318Z", + "networkType": "ethereum", "devdoc": { "kind": "dev", "methods": { diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 312489a..3e8009b 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -2603,7 +2603,7 @@ } }, "schemaVersion": "3.4.14", - "updatedAt": "2023-09-05T07:41:50.380Z", + "updatedAt": "2023-11-09T08:27:08.323Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/NFTSbt.json b/build/contracts/NFTSbt.json index 2b8bf6f..449be2f 100644 --- a/build/contracts/NFTSbt.json +++ b/build/contracts/NFTSbt.json @@ -183,7 +183,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -196,7 +197,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -209,7 +211,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -246,7 +249,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -265,7 +269,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -284,7 +289,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -326,7 +332,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -350,7 +357,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -363,7 +371,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -376,7 +385,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -395,7 +405,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -513,7 +524,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -526,7 +538,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -545,7 +558,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -569,7 +583,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [], @@ -582,7 +597,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -624,7 +640,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -656,7 +673,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -27798,9 +27816,168 @@ "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, - "networks": {}, + "networks": { + "42161": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "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" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "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" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "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" + } + }, + "links": {}, + "address": "0x0cee888fA25810ca648D697099bc17a2c9E1dfBF", + "transactionHash": "0xf489a18dd23ed797cedb660c14ea92118fc27c33c91a17b5f93bb944f14bcb14" + } + }, "schemaVersion": "3.4.14", - "updatedAt": "2023-11-03T11:11:46.942Z", + "updatedAt": "2023-11-09T08:27:08.304Z", + "networkType": "ethereum", "devdoc": { "kind": "dev", "methods": { diff --git a/build/contracts/NFTSbt.sol.json b/build/contracts/NFTSbt.sol.json new file mode 100644 index 0000000..449be2f --- /dev/null +++ b/build/contracts/NFTSbt.sol.json @@ -0,0 +1,28070 @@ +{ + "contractName": "NFTSbt", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_supplyLimt", + "type": "uint256" + } + ], + "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": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "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": [], + "name": "BURN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "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", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "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", + "constant": true + }, + { + "inputs": [], + "name": "maxBatchSize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "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": [], + "name": "supplyLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "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" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "metaAddress", + "type": "address" + } + ], + "name": "updateMetaAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "batchMint", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setMintRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "removeMintRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setBurnRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "removeBurnRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_supplyLimt\",\"type\":\"uint256\"}],\"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\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"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\":[],\"name\":\"BURN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":\"maxBatchSize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"to\",\"type\":\"address\"}],\"name\":\"removeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"metaAddress\",\"type\":\"address\"}],\"name\":\"updateMetaAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeBurnRole(address)\":{\"details\":\"Remove burn role to address\"},\"removeMintRole(address)\":{\"details\":\"Remove mint role to address\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setBurnRole(address)\":{\"details\":\"Grant burn role to address\"},\"setMintRole(address)\":{\"details\":\"Grant mint role to address\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"one type badge has same tokenURI\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"updateMetaAddress(address)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/NFTSbt.sol\":\"NFTSbt\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@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/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@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\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"@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\"]},\"project:/contracts/interfaces/IMetaData.sol\":{\"keccak256\":\"0x30907dd89502219f11e6a2584bdcadecd842115ba17db1a86d3e5a43acdb8662\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e719ea33d0f10b6094da881360bc033248e90d0f6c85d590762c6b8e555e8bb2\",\"dweb:/ipfs/Qmf4MV5wH2fsE4nwheutoMKSZmoGghZrnr5pzgWMgm3Q9D\"]},\"project:/contracts/tokens/erc721/NFTSbt.sol\":{\"keccak256\":\"0xbfc94d35851a32d6bcd25efc85467a28d58761478c4eca53e3611ef7baac28f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e7d9399abe068a1de184cda3726f1bc64e4c071c2e06080db6e9629f4bfc1b0\",\"dweb:/ipfs/QmXjuLAcrsVnNC6zAbmEdKsLpH9bfJe5UXybA8kbyvc8Wj\"]}},\"version\":1}", + "bytecode": "0x60a06040526101f4600d553480156200001757600080fd5b5060405162004d2b38038062004d2b83398181016040528101906200003d9190620005ea565b828281600190805190602001906200005792919062000362565b5080600290805190602001906200007092919062000362565b5050508060808181525050620000b07fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b6200016760201b60201c565b620000e57f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b6200016760201b60201c565b620000fa6000801b33620001ca60201b60201c565b6200012c7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620001ca60201b60201c565b6200015e7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2233620001ca60201b60201c565b505050620006e9565b60006200017a83620001e060201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b620001dc8282620001ff60201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b620002118282620002f060201b60201c565b620002ec57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002916200035a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200037090620006b3565b90600052602060002090601f016020900481019282620003945760008555620003e0565b82601f10620003af57805160ff1916838001178555620003e0565b82800160010185558215620003e0579182015b82811115620003df578251825591602001919060010190620003c2565b5b509050620003ef9190620003f3565b5090565b5b808211156200040e576000816000905550600101620003f4565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200047b8262000430565b810181811067ffffffffffffffff821117156200049d576200049c62000441565b5b80604052505050565b6000620004b262000412565b9050620004c0828262000470565b919050565b600067ffffffffffffffff821115620004e357620004e262000441565b5b620004ee8262000430565b9050602081019050919050565b60005b838110156200051b578082015181840152602081019050620004fe565b838111156200052b576000848401525b50505050565b6000620005486200054284620004c5565b620004a6565b9050828152602081018484840111156200056757620005666200042b565b5b62000574848285620004fb565b509392505050565b600082601f83011262000594576200059362000426565b5b8151620005a684826020860162000531565b91505092915050565b6000819050919050565b620005c481620005af565b8114620005d057600080fd5b50565b600081519050620005e481620005b9565b92915050565b6000806000606084860312156200060657620006056200041c565b5b600084015167ffffffffffffffff81111562000627576200062662000421565b5b62000635868287016200057c565b935050602084015167ffffffffffffffff81111562000659576200065862000421565b5b62000667868287016200057c565b92505060406200067a86828701620005d3565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006cc57607f821691505b60208210811415620006e357620006e262000684565b5b50919050565b60805161460a62000721600039600081816108d401528181610c7d01528181610ca401528181610f970152610fbe015261460a6000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80634f6ccce71161011a578063a217fddf116100ad578063b930908f1161007c578063b930908f1461060b578063c87b56dd14610629578063d539139314610659578063d547741f14610677578063e985e9c51461069357610206565b8063a217fddf14610599578063a22cb465146105b7578063b6a6a93d146105d3578063b88d4fde146105ef57610206565b806370a08231116100e957806370a08231146104ff57806391d148541461052f57806395d89b411461055f578063965f4c601461057d57610206565b80634f6ccce714610453578063530dd079146104835780636352211e1461049f5780636a627842146104cf57610206565b8063248a9ca31161019d578063327ba6151161016c578063327ba615146103b357806336568abe146103cf57806342842e0e146103eb57806342966c681461040757806343508b051461042357610206565b8063248a9ca3146103195780632913daa0146103495780632f2ff15d146103675780632f745c591461038357610206565b806318160ddd116101d957806318160ddd146102a557806319d1997a146102c35780631cf4e3ee146102e157806323b872dd146102fd57610206565b806301ffc9a71461020b57806306fdde031461023b578063081812fc14610259578063095ea7b314610289575b600080fd5b61022560048036038101906102209190612e31565b6106c3565b6040516102329190612e79565b60405180910390f35b6102436106d5565b6040516102509190612f2d565b60405180910390f35b610273600480360381019061026e9190612f85565b610767565b6040516102809190612ff3565b60405180910390f35b6102a3600480360381019061029e919061303a565b6107ad565b005b6102ad6108c5565b6040516102ba9190613089565b60405180910390f35b6102cb6108d2565b6040516102d89190613089565b60405180910390f35b6102fb60048036038101906102f691906130a4565b6108f6565b005b610317600480360381019061031291906130d1565b610923565b005b610333600480360381019061032e919061315a565b610983565b6040516103409190613196565b60405180910390f35b6103516109a2565b60405161035e9190613089565b60405180910390f35b610381600480360381019061037c91906131b1565b6109a8565b005b61039d6004803603810190610398919061303a565b6109c9565b6040516103aa9190613089565b60405180910390f35b6103cd60048036038101906103c891906130a4565b610a6e565b005b6103e960048036038101906103e491906131b1565b610a9b565b005b610405600480360381019061040091906130d1565b610b1e565b005b610421600480360381019061041c9190612f85565b610b3e565b005b61043d6004803603810190610438919061303a565b610bc5565b60405161044a91906132af565b60405180910390f35b61046d60048036038101906104689190612f85565b610dd2565b60405161047a9190613089565b60405180910390f35b61049d600480360381019061049891906130a4565b610e43565b005b6104b960048036038101906104b49190612f85565b610e70565b6040516104c69190612ff3565b60405180910390f35b6104e960048036038101906104e491906130a4565b610ef7565b6040516104f69190613089565b60405180910390f35b610519600480360381019061051491906130a4565b61105f565b6040516105269190613089565b60405180910390f35b610549600480360381019061054491906131b1565b611117565b6040516105569190612e79565b60405180910390f35b610567611181565b6040516105749190612f2d565b60405180910390f35b610597600480360381019061059291906130a4565b611213565b005b6105a1611240565b6040516105ae9190613196565b60405180910390f35b6105d160048036038101906105cc91906132fd565b611247565b005b6105ed60048036038101906105e891906130a4565b61125d565b005b61060960048036038101906106049190613472565b6112af565b005b610613611311565b6040516106209190613196565b60405180910390f35b610643600480360381019061063e9190612f85565b611335565b6040516106509190612f2d565b60405180910390f35b610661611429565b60405161066e9190613196565b60405180910390f35b610691600480360381019061068c91906131b1565b61144d565b005b6106ad60048036038101906106a891906134f5565b61146e565b6040516106ba9190612e79565b60405180910390f35b60006106ce82611502565b9050919050565b6060600180546106e490613564565b80601f016020809104026020016040519081016040528092919081815260200182805461071090613564565b801561075d5780601f106107325761010080835404028352916020019161075d565b820191906000526020600020905b81548152906001019060200180831161074057829003601f168201915b5050505050905090565b60006107728261157c565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107b882610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090613608565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108486115c7565b73ffffffffffffffffffffffffffffffffffffffff1614806108775750610876816108716115c7565b61146e565b5b6108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ad9061369a565b60405180910390fd5b6108c083836115cf565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109207f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261144d565b50565b61093461092e6115c7565b82611688565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096a9061372c565b60405180910390fd5b61097e83838361171d565b505050565b6000806000838152602001908152602001600020600101549050919050565b600d5481565b6109b182610983565b6109ba81611a17565b6109c48383611a2b565b505050565b60006109d48361105f565b8210610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c906137be565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a987fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826109a8565b50565b610aa36115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790613850565b60405180910390fd5b610b1a8282611b0b565b5050565b610b39838383604051806020016040528060008152506112af565b505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22610b6881611a17565b610b79610b736115c7565b83611688565b610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906138bc565b60405180910390fd5b610bc182611bec565b5050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610bf181611a17565b60008311610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90613928565b60405180910390fd5b600d54831115610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090613994565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610d18577f000000000000000000000000000000000000000000000000000000000000000083610ccc6108c5565b610cd691906139e3565b1115610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90613a85565b60405180910390fd5b5b60008367ffffffffffffffff811115610d3457610d33613347565b5b604051908082528060200260200182016040528015610d625781602001602082028036833780820191505090505b50905060005b84811015610dc657610d7a600c611d3a565b6000610d86600c611d50565b9050610d928782611d5e565b80838381518110610da657610da5613aa5565b5b602002602001018181525050508080610dbe90613ad4565b915050610d68565b50809250505092915050565b6000610ddc6108c5565b8210610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490613b8f565b60405180910390fd5b60098281548110610e3157610e30613aa5565b5b90600052602060002001549050919050565b610e6d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826109a8565b50565b600080610e7c83611d7c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590613bfb565b60405180910390fd5b80915050919050565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610f2381611a17565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a90613c67565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115611033577f00000000000000000000000000000000000000000000000000000000000000006001610fe76108c5565b610ff191906139e3565b1115611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990613a85565b60405180910390fd5b5b61103d600c611d3a565b6000611049600c611d50565b90506110558482611d5e565b8092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c790613cf9565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606002805461119090613564565b80601f01602080910402602001604051908101604052809291908181526020018280546111bc90613564565b80156112095780601f106111de57610100808354040283529160200191611209565b820191906000526020600020905b8154815290600101906020018083116111ec57829003601f168201915b5050505050905090565b61123d7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa228261144d565b50565b6000801b81565b6112596112526115c7565b8383611db9565b5050565b6000801b61126a81611a17565b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6112c06112ba6115c7565b83611688565b6112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f69061372c565b60405180910390fd5b61130b84848484611f26565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b606061134082611f82565b61137f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137690613d65565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f666196d30846040518363ffffffff1660e01b81526004016113dc929190613d85565b600060405180830381865afa1580156113f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906114229190613e4f565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61145682610983565b61145f81611a17565b6114698383611b0b565b505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611575575061157482611fc3565b5b9050919050565b61158581611f82565b6115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613bfb565b60405180910390fd5b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661164283610e70565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061169483610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116d657506116d5818561146e565b5b8061171457508373ffffffffffffffffffffffffffffffffffffffff166116fc84610767565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661173d82610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90613f0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fa90613f9c565b60405180910390fd5b61181083838360016120a5565b8273ffffffffffffffffffffffffffffffffffffffff1661183082610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613f0a565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a12838383600161215d565b505050565b611a2881611a236115c7565b612163565b50565b611a358282611117565b611b0757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611aac6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611b158282611117565b15611be857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b8d6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611bf782610e70565b9050611c078160008460016120a5565b611c1082610e70565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d3681600084600161215d565b5050565b6001816000016000828254019250508190555050565b600081600001549050919050565b611d788282604051806020016040528060008152506121e8565b5050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90614008565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f199190612e79565b60405180910390a3505050565b611f3184848461171d565b611f3d84848484612243565b611f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f739061409a565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fa483611d7c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061208e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061209e575061209d826123cb565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061210c5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614106565b60405180910390fd5b61215784848484612445565b50505050565b50505050565b61216d8282611117565b6121e45761217a816125a5565b6121888360001c60206125d2565b6040516020016121999291906141fa565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121db9190612f2d565b60405180910390fd5b5050565b6121f2838361280e565b6121ff6000848484612243565b61223e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122359061409a565b60405180910390fd5b505050565b60006122648473ffffffffffffffffffffffffffffffffffffffff16612a2c565b156123be578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261228d6115c7565b8786866040518563ffffffff1660e01b81526004016122af9493929190614289565b6020604051808303816000875af19250505080156122eb57506040513d601f19601f820116820180604052508101906122e891906142ea565b60015b61236e573d806000811461231b576040519150601f19603f3d011682016040523d82523d6000602084013e612320565b606091505b50600081511415612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d9061409a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506123c3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061243e575061243d82612a4f565b5b9050919050565b61245184848484612ab9565b6001811115612495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248c90614389565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156124dd576124d881612abf565b61251c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461251b5761251a8582612b08565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561255f5761255a81612c75565b61259e565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461259d5761259c8482612d46565b5b5b5050505050565b60606125cb8273ffffffffffffffffffffffffffffffffffffffff16601460ff166125d2565b9050919050565b6060600060028360026125e591906143a9565b6125ef91906139e3565b67ffffffffffffffff81111561260857612607613347565b5b6040519080825280601f01601f19166020018201604052801561263a5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061267257612671613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106126d6576126d5613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261271691906143a9565b61272091906139e3565b90505b60018111156127c0577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061276257612761613aa5565b5b1a60f81b82828151811061277957612778613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806127b990614403565b9050612723565b5060008414612804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127fb90614479565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561287e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612875906144e5565b60405180910390fd5b61288781611f82565b156128c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128be90614551565b60405180910390fd5b6128d56000838360016120a5565b6128de81611f82565b1561291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614551565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612a2860008383600161215d565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612b158461105f565b612b1f9190614571565b9050600060086000848152602001908152602001600020549050818114612c04576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612c899190614571565b90506000600a6000848152602001908152602001600020549050600060098381548110612cb957612cb8613aa5565b5b906000526020600020015490508060098381548110612cdb57612cda613aa5565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612d2a57612d296145a5565b5b6001900381819060005260206000200160009055905550505050565b6000612d518361105f565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e0e81612dd9565b8114612e1957600080fd5b50565b600081359050612e2b81612e05565b92915050565b600060208284031215612e4757612e46612dcf565b5b6000612e5584828501612e1c565b91505092915050565b60008115159050919050565b612e7381612e5e565b82525050565b6000602082019050612e8e6000830184612e6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ece578082015181840152602081019050612eb3565b83811115612edd576000848401525b50505050565b6000601f19601f8301169050919050565b6000612eff82612e94565b612f098185612e9f565b9350612f19818560208601612eb0565b612f2281612ee3565b840191505092915050565b60006020820190508181036000830152612f478184612ef4565b905092915050565b6000819050919050565b612f6281612f4f565b8114612f6d57600080fd5b50565b600081359050612f7f81612f59565b92915050565b600060208284031215612f9b57612f9a612dcf565b5b6000612fa984828501612f70565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fdd82612fb2565b9050919050565b612fed81612fd2565b82525050565b60006020820190506130086000830184612fe4565b92915050565b61301781612fd2565b811461302257600080fd5b50565b6000813590506130348161300e565b92915050565b6000806040838503121561305157613050612dcf565b5b600061305f85828601613025565b925050602061307085828601612f70565b9150509250929050565b61308381612f4f565b82525050565b600060208201905061309e600083018461307a565b92915050565b6000602082840312156130ba576130b9612dcf565b5b60006130c884828501613025565b91505092915050565b6000806000606084860312156130ea576130e9612dcf565b5b60006130f886828701613025565b935050602061310986828701613025565b925050604061311a86828701612f70565b9150509250925092565b6000819050919050565b61313781613124565b811461314257600080fd5b50565b6000813590506131548161312e565b92915050565b6000602082840312156131705761316f612dcf565b5b600061317e84828501613145565b91505092915050565b61319081613124565b82525050565b60006020820190506131ab6000830184613187565b92915050565b600080604083850312156131c8576131c7612dcf565b5b60006131d685828601613145565b92505060206131e785828601613025565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61322681612f4f565b82525050565b6000613238838361321d565b60208301905092915050565b6000602082019050919050565b600061325c826131f1565b61326681856131fc565b93506132718361320d565b8060005b838110156132a2578151613289888261322c565b975061329483613244565b925050600181019050613275565b5085935050505092915050565b600060208201905081810360008301526132c98184613251565b905092915050565b6132da81612e5e565b81146132e557600080fd5b50565b6000813590506132f7816132d1565b92915050565b6000806040838503121561331457613313612dcf565b5b600061332285828601613025565b9250506020613333858286016132e8565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61337f82612ee3565b810181811067ffffffffffffffff8211171561339e5761339d613347565b5b80604052505050565b60006133b1612dc5565b90506133bd8282613376565b919050565b600067ffffffffffffffff8211156133dd576133dc613347565b5b6133e682612ee3565b9050602081019050919050565b82818337600083830152505050565b6000613415613410846133c2565b6133a7565b90508281526020810184848401111561343157613430613342565b5b61343c8482856133f3565b509392505050565b600082601f8301126134595761345861333d565b5b8135613469848260208601613402565b91505092915050565b6000806000806080858703121561348c5761348b612dcf565b5b600061349a87828801613025565b94505060206134ab87828801613025565b93505060406134bc87828801612f70565b925050606085013567ffffffffffffffff8111156134dd576134dc612dd4565b5b6134e987828801613444565b91505092959194509250565b6000806040838503121561350c5761350b612dcf565b5b600061351a85828601613025565b925050602061352b85828601613025565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061357c57607f821691505b602082108114156135905761358f613535565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006135f2602183612e9f565b91506135fd82613596565b604082019050919050565b60006020820190508181036000830152613621816135e5565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613684603d83612e9f565b915061368f82613628565b604082019050919050565b600060208201905081810360008301526136b381613677565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613716602d83612e9f565b9150613721826136ba565b604082019050919050565b6000602082019050818103600083015261374581613709565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006137a8602b83612e9f565b91506137b38261374c565b604082019050919050565b600060208201905081810360008301526137d78161379b565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061383a602f83612e9f565b9150613845826137de565b604082019050919050565b600060208201905081810360008301526138698161382d565b9050919050565b7f43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b60006138a6602083612e9f565b91506138b182613870565b602082019050919050565b600060208201905081810360008301526138d581613899565b9050919050565b7f746f6b656e49647320746f6f20736d616c6c0000000000000000000000000000600082015250565b6000613912601283612e9f565b915061391d826138dc565b602082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b600061397e601183612e9f565b915061398982613948565b602082019050919050565b600060208201905081810360008301526139ad81613971565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139ee82612f4f565b91506139f983612f4f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a2e57613a2d6139b4565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613a6f601783612e9f565b9150613a7a82613a39565b602082019050919050565b60006020820190508181036000830152613a9e81613a62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613adf82612f4f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b1257613b116139b4565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613b79602c83612e9f565b9150613b8482613b1d565b604082019050919050565b60006020820190508181036000830152613ba881613b6c565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613be5601883612e9f565b9150613bf082613baf565b602082019050919050565b60006020820190508181036000830152613c1481613bd8565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f20616464726573730000000000600082015250565b6000613c51601b83612e9f565b9150613c5c82613c1b565b602082019050919050565b60006020820190508181036000830152613c8081613c44565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613ce3602983612e9f565b9150613cee82613c87565b604082019050919050565b60006020820190508181036000830152613d1281613cd6565b9050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b6000613d4f601f83612e9f565b9150613d5a82613d19565b602082019050919050565b60006020820190508181036000830152613d7e81613d42565b9050919050565b6000604082019050613d9a6000830185612fe4565b613da7602083018461307a565b9392505050565b600067ffffffffffffffff821115613dc957613dc8613347565b5b613dd282612ee3565b9050602081019050919050565b6000613df2613ded84613dae565b6133a7565b905082815260208101848484011115613e0e57613e0d613342565b5b613e19848285612eb0565b509392505050565b600082601f830112613e3657613e3561333d565b5b8151613e46848260208601613ddf565b91505092915050565b600060208284031215613e6557613e64612dcf565b5b600082015167ffffffffffffffff811115613e8357613e82612dd4565b5b613e8f84828501613e21565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613ef4602583612e9f565b9150613eff82613e98565b604082019050919050565b60006020820190508181036000830152613f2381613ee7565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f86602483612e9f565b9150613f9182613f2a565b604082019050919050565b60006020820190508181036000830152613fb581613f79565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613ff2601983612e9f565b9150613ffd82613fbc565b602082019050919050565b6000602082019050818103600083015261402181613fe5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614084603283612e9f565b915061408f82614028565b604082019050919050565b600060208201905081810360008301526140b381614077565b9050919050565b7f546f6b656e206e6f74207472616e7366657261626c6500000000000000000000600082015250565b60006140f0601683612e9f565b91506140fb826140ba565b602082019050919050565b6000602082019050818103600083015261411f816140e3565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614167601783614126565b915061417282614131565b601782019050919050565b600061418882612e94565b6141928185614126565b93506141a2818560208601612eb0565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006141e4601183614126565b91506141ef826141ae565b601182019050919050565b60006142058261415a565b9150614211828561417d565b915061421c826141d7565b9150614228828461417d565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061425b82614234565b614265818561423f565b9350614275818560208601612eb0565b61427e81612ee3565b840191505092915050565b600060808201905061429e6000830187612fe4565b6142ab6020830186612fe4565b6142b8604083018561307a565b81810360608301526142ca8184614250565b905095945050505050565b6000815190506142e481612e05565b92915050565b600060208284031215614300576142ff612dcf565b5b600061430e848285016142d5565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614373603583612e9f565b915061437e82614317565b604082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b60006143b482612f4f565b91506143bf83612f4f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143f8576143f76139b4565b5b828202905092915050565b600061440e82612f4f565b91506000821415614422576144216139b4565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614463602083612e9f565b915061446e8261442d565b602082019050919050565b6000602082019050818103600083015261449281614456565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006144cf602083612e9f565b91506144da82614499565b602082019050919050565b600060208201905081810360008301526144fe816144c2565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061453b601c83612e9f565b915061454682614505565b602082019050919050565b6000602082019050818103600083015261456a8161452e565b9050919050565b600061457c82612f4f565b915061458783612f4f565b92508282101561459a576145996139b4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122034b0f9246c7b958d25ef6f0853b392609f669a56a61c0c365bf88cee139d5ec664736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102065760003560e01c80634f6ccce71161011a578063a217fddf116100ad578063b930908f1161007c578063b930908f1461060b578063c87b56dd14610629578063d539139314610659578063d547741f14610677578063e985e9c51461069357610206565b8063a217fddf14610599578063a22cb465146105b7578063b6a6a93d146105d3578063b88d4fde146105ef57610206565b806370a08231116100e957806370a08231146104ff57806391d148541461052f57806395d89b411461055f578063965f4c601461057d57610206565b80634f6ccce714610453578063530dd079146104835780636352211e1461049f5780636a627842146104cf57610206565b8063248a9ca31161019d578063327ba6151161016c578063327ba615146103b357806336568abe146103cf57806342842e0e146103eb57806342966c681461040757806343508b051461042357610206565b8063248a9ca3146103195780632913daa0146103495780632f2ff15d146103675780632f745c591461038357610206565b806318160ddd116101d957806318160ddd146102a557806319d1997a146102c35780631cf4e3ee146102e157806323b872dd146102fd57610206565b806301ffc9a71461020b57806306fdde031461023b578063081812fc14610259578063095ea7b314610289575b600080fd5b61022560048036038101906102209190612e31565b6106c3565b6040516102329190612e79565b60405180910390f35b6102436106d5565b6040516102509190612f2d565b60405180910390f35b610273600480360381019061026e9190612f85565b610767565b6040516102809190612ff3565b60405180910390f35b6102a3600480360381019061029e919061303a565b6107ad565b005b6102ad6108c5565b6040516102ba9190613089565b60405180910390f35b6102cb6108d2565b6040516102d89190613089565b60405180910390f35b6102fb60048036038101906102f691906130a4565b6108f6565b005b610317600480360381019061031291906130d1565b610923565b005b610333600480360381019061032e919061315a565b610983565b6040516103409190613196565b60405180910390f35b6103516109a2565b60405161035e9190613089565b60405180910390f35b610381600480360381019061037c91906131b1565b6109a8565b005b61039d6004803603810190610398919061303a565b6109c9565b6040516103aa9190613089565b60405180910390f35b6103cd60048036038101906103c891906130a4565b610a6e565b005b6103e960048036038101906103e491906131b1565b610a9b565b005b610405600480360381019061040091906130d1565b610b1e565b005b610421600480360381019061041c9190612f85565b610b3e565b005b61043d6004803603810190610438919061303a565b610bc5565b60405161044a91906132af565b60405180910390f35b61046d60048036038101906104689190612f85565b610dd2565b60405161047a9190613089565b60405180910390f35b61049d600480360381019061049891906130a4565b610e43565b005b6104b960048036038101906104b49190612f85565b610e70565b6040516104c69190612ff3565b60405180910390f35b6104e960048036038101906104e491906130a4565b610ef7565b6040516104f69190613089565b60405180910390f35b610519600480360381019061051491906130a4565b61105f565b6040516105269190613089565b60405180910390f35b610549600480360381019061054491906131b1565b611117565b6040516105569190612e79565b60405180910390f35b610567611181565b6040516105749190612f2d565b60405180910390f35b610597600480360381019061059291906130a4565b611213565b005b6105a1611240565b6040516105ae9190613196565b60405180910390f35b6105d160048036038101906105cc91906132fd565b611247565b005b6105ed60048036038101906105e891906130a4565b61125d565b005b61060960048036038101906106049190613472565b6112af565b005b610613611311565b6040516106209190613196565b60405180910390f35b610643600480360381019061063e9190612f85565b611335565b6040516106509190612f2d565b60405180910390f35b610661611429565b60405161066e9190613196565b60405180910390f35b610691600480360381019061068c91906131b1565b61144d565b005b6106ad60048036038101906106a891906134f5565b61146e565b6040516106ba9190612e79565b60405180910390f35b60006106ce82611502565b9050919050565b6060600180546106e490613564565b80601f016020809104026020016040519081016040528092919081815260200182805461071090613564565b801561075d5780601f106107325761010080835404028352916020019161075d565b820191906000526020600020905b81548152906001019060200180831161074057829003601f168201915b5050505050905090565b60006107728261157c565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107b882610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090613608565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108486115c7565b73ffffffffffffffffffffffffffffffffffffffff1614806108775750610876816108716115c7565b61146e565b5b6108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ad9061369a565b60405180910390fd5b6108c083836115cf565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109207f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261144d565b50565b61093461092e6115c7565b82611688565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096a9061372c565b60405180910390fd5b61097e83838361171d565b505050565b6000806000838152602001908152602001600020600101549050919050565b600d5481565b6109b182610983565b6109ba81611a17565b6109c48383611a2b565b505050565b60006109d48361105f565b8210610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c906137be565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a987fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826109a8565b50565b610aa36115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790613850565b60405180910390fd5b610b1a8282611b0b565b5050565b610b39838383604051806020016040528060008152506112af565b505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22610b6881611a17565b610b79610b736115c7565b83611688565b610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906138bc565b60405180910390fd5b610bc182611bec565b5050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610bf181611a17565b60008311610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90613928565b60405180910390fd5b600d54831115610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090613994565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610d18577f000000000000000000000000000000000000000000000000000000000000000083610ccc6108c5565b610cd691906139e3565b1115610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90613a85565b60405180910390fd5b5b60008367ffffffffffffffff811115610d3457610d33613347565b5b604051908082528060200260200182016040528015610d625781602001602082028036833780820191505090505b50905060005b84811015610dc657610d7a600c611d3a565b6000610d86600c611d50565b9050610d928782611d5e565b80838381518110610da657610da5613aa5565b5b602002602001018181525050508080610dbe90613ad4565b915050610d68565b50809250505092915050565b6000610ddc6108c5565b8210610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490613b8f565b60405180910390fd5b60098281548110610e3157610e30613aa5565b5b90600052602060002001549050919050565b610e6d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826109a8565b50565b600080610e7c83611d7c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590613bfb565b60405180910390fd5b80915050919050565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610f2381611a17565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a90613c67565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115611033577f00000000000000000000000000000000000000000000000000000000000000006001610fe76108c5565b610ff191906139e3565b1115611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990613a85565b60405180910390fd5b5b61103d600c611d3a565b6000611049600c611d50565b90506110558482611d5e565b8092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c790613cf9565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606002805461119090613564565b80601f01602080910402602001604051908101604052809291908181526020018280546111bc90613564565b80156112095780601f106111de57610100808354040283529160200191611209565b820191906000526020600020905b8154815290600101906020018083116111ec57829003601f168201915b5050505050905090565b61123d7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa228261144d565b50565b6000801b81565b6112596112526115c7565b8383611db9565b5050565b6000801b61126a81611a17565b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6112c06112ba6115c7565b83611688565b6112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f69061372c565b60405180910390fd5b61130b84848484611f26565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b606061134082611f82565b61137f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137690613d65565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f666196d30846040518363ffffffff1660e01b81526004016113dc929190613d85565b600060405180830381865afa1580156113f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906114229190613e4f565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61145682610983565b61145f81611a17565b6114698383611b0b565b505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611575575061157482611fc3565b5b9050919050565b61158581611f82565b6115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613bfb565b60405180910390fd5b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661164283610e70565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061169483610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116d657506116d5818561146e565b5b8061171457508373ffffffffffffffffffffffffffffffffffffffff166116fc84610767565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661173d82610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90613f0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fa90613f9c565b60405180910390fd5b61181083838360016120a5565b8273ffffffffffffffffffffffffffffffffffffffff1661183082610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613f0a565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a12838383600161215d565b505050565b611a2881611a236115c7565b612163565b50565b611a358282611117565b611b0757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611aac6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611b158282611117565b15611be857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b8d6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611bf782610e70565b9050611c078160008460016120a5565b611c1082610e70565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d3681600084600161215d565b5050565b6001816000016000828254019250508190555050565b600081600001549050919050565b611d788282604051806020016040528060008152506121e8565b5050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90614008565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f199190612e79565b60405180910390a3505050565b611f3184848461171d565b611f3d84848484612243565b611f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f739061409a565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fa483611d7c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061208e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061209e575061209d826123cb565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061210c5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614106565b60405180910390fd5b61215784848484612445565b50505050565b50505050565b61216d8282611117565b6121e45761217a816125a5565b6121888360001c60206125d2565b6040516020016121999291906141fa565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121db9190612f2d565b60405180910390fd5b5050565b6121f2838361280e565b6121ff6000848484612243565b61223e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122359061409a565b60405180910390fd5b505050565b60006122648473ffffffffffffffffffffffffffffffffffffffff16612a2c565b156123be578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261228d6115c7565b8786866040518563ffffffff1660e01b81526004016122af9493929190614289565b6020604051808303816000875af19250505080156122eb57506040513d601f19601f820116820180604052508101906122e891906142ea565b60015b61236e573d806000811461231b576040519150601f19603f3d011682016040523d82523d6000602084013e612320565b606091505b50600081511415612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d9061409a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506123c3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061243e575061243d82612a4f565b5b9050919050565b61245184848484612ab9565b6001811115612495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248c90614389565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156124dd576124d881612abf565b61251c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461251b5761251a8582612b08565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561255f5761255a81612c75565b61259e565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461259d5761259c8482612d46565b5b5b5050505050565b60606125cb8273ffffffffffffffffffffffffffffffffffffffff16601460ff166125d2565b9050919050565b6060600060028360026125e591906143a9565b6125ef91906139e3565b67ffffffffffffffff81111561260857612607613347565b5b6040519080825280601f01601f19166020018201604052801561263a5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061267257612671613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106126d6576126d5613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261271691906143a9565b61272091906139e3565b90505b60018111156127c0577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061276257612761613aa5565b5b1a60f81b82828151811061277957612778613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806127b990614403565b9050612723565b5060008414612804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127fb90614479565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561287e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612875906144e5565b60405180910390fd5b61288781611f82565b156128c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128be90614551565b60405180910390fd5b6128d56000838360016120a5565b6128de81611f82565b1561291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614551565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612a2860008383600161215d565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612b158461105f565b612b1f9190614571565b9050600060086000848152602001908152602001600020549050818114612c04576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612c899190614571565b90506000600a6000848152602001908152602001600020549050600060098381548110612cb957612cb8613aa5565b5b906000526020600020015490508060098381548110612cdb57612cda613aa5565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612d2a57612d296145a5565b5b6001900381819060005260206000200160009055905550505050565b6000612d518361105f565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e0e81612dd9565b8114612e1957600080fd5b50565b600081359050612e2b81612e05565b92915050565b600060208284031215612e4757612e46612dcf565b5b6000612e5584828501612e1c565b91505092915050565b60008115159050919050565b612e7381612e5e565b82525050565b6000602082019050612e8e6000830184612e6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ece578082015181840152602081019050612eb3565b83811115612edd576000848401525b50505050565b6000601f19601f8301169050919050565b6000612eff82612e94565b612f098185612e9f565b9350612f19818560208601612eb0565b612f2281612ee3565b840191505092915050565b60006020820190508181036000830152612f478184612ef4565b905092915050565b6000819050919050565b612f6281612f4f565b8114612f6d57600080fd5b50565b600081359050612f7f81612f59565b92915050565b600060208284031215612f9b57612f9a612dcf565b5b6000612fa984828501612f70565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fdd82612fb2565b9050919050565b612fed81612fd2565b82525050565b60006020820190506130086000830184612fe4565b92915050565b61301781612fd2565b811461302257600080fd5b50565b6000813590506130348161300e565b92915050565b6000806040838503121561305157613050612dcf565b5b600061305f85828601613025565b925050602061307085828601612f70565b9150509250929050565b61308381612f4f565b82525050565b600060208201905061309e600083018461307a565b92915050565b6000602082840312156130ba576130b9612dcf565b5b60006130c884828501613025565b91505092915050565b6000806000606084860312156130ea576130e9612dcf565b5b60006130f886828701613025565b935050602061310986828701613025565b925050604061311a86828701612f70565b9150509250925092565b6000819050919050565b61313781613124565b811461314257600080fd5b50565b6000813590506131548161312e565b92915050565b6000602082840312156131705761316f612dcf565b5b600061317e84828501613145565b91505092915050565b61319081613124565b82525050565b60006020820190506131ab6000830184613187565b92915050565b600080604083850312156131c8576131c7612dcf565b5b60006131d685828601613145565b92505060206131e785828601613025565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61322681612f4f565b82525050565b6000613238838361321d565b60208301905092915050565b6000602082019050919050565b600061325c826131f1565b61326681856131fc565b93506132718361320d565b8060005b838110156132a2578151613289888261322c565b975061329483613244565b925050600181019050613275565b5085935050505092915050565b600060208201905081810360008301526132c98184613251565b905092915050565b6132da81612e5e565b81146132e557600080fd5b50565b6000813590506132f7816132d1565b92915050565b6000806040838503121561331457613313612dcf565b5b600061332285828601613025565b9250506020613333858286016132e8565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61337f82612ee3565b810181811067ffffffffffffffff8211171561339e5761339d613347565b5b80604052505050565b60006133b1612dc5565b90506133bd8282613376565b919050565b600067ffffffffffffffff8211156133dd576133dc613347565b5b6133e682612ee3565b9050602081019050919050565b82818337600083830152505050565b6000613415613410846133c2565b6133a7565b90508281526020810184848401111561343157613430613342565b5b61343c8482856133f3565b509392505050565b600082601f8301126134595761345861333d565b5b8135613469848260208601613402565b91505092915050565b6000806000806080858703121561348c5761348b612dcf565b5b600061349a87828801613025565b94505060206134ab87828801613025565b93505060406134bc87828801612f70565b925050606085013567ffffffffffffffff8111156134dd576134dc612dd4565b5b6134e987828801613444565b91505092959194509250565b6000806040838503121561350c5761350b612dcf565b5b600061351a85828601613025565b925050602061352b85828601613025565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061357c57607f821691505b602082108114156135905761358f613535565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006135f2602183612e9f565b91506135fd82613596565b604082019050919050565b60006020820190508181036000830152613621816135e5565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613684603d83612e9f565b915061368f82613628565b604082019050919050565b600060208201905081810360008301526136b381613677565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613716602d83612e9f565b9150613721826136ba565b604082019050919050565b6000602082019050818103600083015261374581613709565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006137a8602b83612e9f565b91506137b38261374c565b604082019050919050565b600060208201905081810360008301526137d78161379b565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061383a602f83612e9f565b9150613845826137de565b604082019050919050565b600060208201905081810360008301526138698161382d565b9050919050565b7f43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b60006138a6602083612e9f565b91506138b182613870565b602082019050919050565b600060208201905081810360008301526138d581613899565b9050919050565b7f746f6b656e49647320746f6f20736d616c6c0000000000000000000000000000600082015250565b6000613912601283612e9f565b915061391d826138dc565b602082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b600061397e601183612e9f565b915061398982613948565b602082019050919050565b600060208201905081810360008301526139ad81613971565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139ee82612f4f565b91506139f983612f4f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a2e57613a2d6139b4565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613a6f601783612e9f565b9150613a7a82613a39565b602082019050919050565b60006020820190508181036000830152613a9e81613a62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613adf82612f4f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b1257613b116139b4565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613b79602c83612e9f565b9150613b8482613b1d565b604082019050919050565b60006020820190508181036000830152613ba881613b6c565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613be5601883612e9f565b9150613bf082613baf565b602082019050919050565b60006020820190508181036000830152613c1481613bd8565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f20616464726573730000000000600082015250565b6000613c51601b83612e9f565b9150613c5c82613c1b565b602082019050919050565b60006020820190508181036000830152613c8081613c44565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613ce3602983612e9f565b9150613cee82613c87565b604082019050919050565b60006020820190508181036000830152613d1281613cd6565b9050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b6000613d4f601f83612e9f565b9150613d5a82613d19565b602082019050919050565b60006020820190508181036000830152613d7e81613d42565b9050919050565b6000604082019050613d9a6000830185612fe4565b613da7602083018461307a565b9392505050565b600067ffffffffffffffff821115613dc957613dc8613347565b5b613dd282612ee3565b9050602081019050919050565b6000613df2613ded84613dae565b6133a7565b905082815260208101848484011115613e0e57613e0d613342565b5b613e19848285612eb0565b509392505050565b600082601f830112613e3657613e3561333d565b5b8151613e46848260208601613ddf565b91505092915050565b600060208284031215613e6557613e64612dcf565b5b600082015167ffffffffffffffff811115613e8357613e82612dd4565b5b613e8f84828501613e21565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613ef4602583612e9f565b9150613eff82613e98565b604082019050919050565b60006020820190508181036000830152613f2381613ee7565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f86602483612e9f565b9150613f9182613f2a565b604082019050919050565b60006020820190508181036000830152613fb581613f79565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613ff2601983612e9f565b9150613ffd82613fbc565b602082019050919050565b6000602082019050818103600083015261402181613fe5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614084603283612e9f565b915061408f82614028565b604082019050919050565b600060208201905081810360008301526140b381614077565b9050919050565b7f546f6b656e206e6f74207472616e7366657261626c6500000000000000000000600082015250565b60006140f0601683612e9f565b91506140fb826140ba565b602082019050919050565b6000602082019050818103600083015261411f816140e3565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614167601783614126565b915061417282614131565b601782019050919050565b600061418882612e94565b6141928185614126565b93506141a2818560208601612eb0565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006141e4601183614126565b91506141ef826141ae565b601182019050919050565b60006142058261415a565b9150614211828561417d565b915061421c826141d7565b9150614228828461417d565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061425b82614234565b614265818561423f565b9350614275818560208601612eb0565b61427e81612ee3565b840191505092915050565b600060808201905061429e6000830187612fe4565b6142ab6020830186612fe4565b6142b8604083018561307a565b81810360608301526142ca8184614250565b905095945050505050565b6000815190506142e481612e05565b92915050565b600060208284031215614300576142ff612dcf565b5b600061430e848285016142d5565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614373603583612e9f565b915061437e82614317565b604082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b60006143b482612f4f565b91506143bf83612f4f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143f8576143f76139b4565b5b828202905092915050565b600061440e82612f4f565b91506000821415614422576144216139b4565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614463602083612e9f565b915061446e8261442d565b602082019050919050565b6000602082019050818103600083015261449281614456565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006144cf602083612e9f565b91506144da82614499565b602082019050919050565b600060208201905081810360008301526144fe816144c2565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061453b601c83612e9f565b915061454682614505565b602082019050919050565b6000602082019050818103600083015261456a8161452e565b9050919050565b600061457c82612f4f565b915061458783612f4f565b92508282101561459a576145996139b4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122034b0f9246c7b958d25ef6f0853b392609f669a56a61c0c365bf88cee139d5ec664736f6c634300080a0033", + "immutableReferences": { + "3563": [ + { + "length": 32, + "start": 2260 + }, + { + "length": 32, + "start": 3197 + }, + { + "length": 32, + "start": 3236 + }, + { + "length": 32, + "start": 3991 + }, + { + "length": 32, + "start": 4030 + } + ] + }, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:4609:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:18", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:18" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:18" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:18", + "type": "" + } + ], + "src": "7:75:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:18" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:18" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "423:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "433:12:18" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "334:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "546:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "563:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "566:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "556:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "556:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "556:12:18" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "457:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "628:54:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "638:38:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "656:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "663:2:18", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "652:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "652:14:18" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "672:2:18", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "668:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "668:7:18" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "648:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "648:28:18" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "638:6:18" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "611:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "621:6:18", + "type": "" + } + ], + "src": "580:102:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "716:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "733:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "736:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "726:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "726:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "726:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "830:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "833:4:18", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "823:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "823:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "823:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "854:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "857:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "847:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "847:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "847:15:18" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "688:180:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "917:238:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "927:58:18", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "949:6:18" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "979:4:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "957:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "957:27:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "945:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "945:40:18" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "931:10:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1096:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1098:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "1098:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1098:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1039:10:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1051:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1036:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "1036:34:18" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1075:10:18" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1087:6:18" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1072:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "1072:22:18" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1033:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "1033:62:18" + }, + "nodeType": "YulIf", + "src": "1030:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:2:18", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1138:10:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1127:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1127:22:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1127:22:18" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "903:6:18", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "911:4:18", + "type": "" + } + ], + "src": "874:281:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1202:88:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1212:30:18", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1222:18:18" + }, + "nodeType": "YulFunctionCall", + "src": "1222:20:18" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1212:6:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1271:6:18" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1279:4:18" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1251:19:18" + }, + "nodeType": "YulFunctionCall", + "src": "1251:33:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1251:33:18" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1186:4:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1195:6:18", + "type": "" + } + ], + "src": "1161:129:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1363:241:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1468:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1470:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "1470:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1470:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1440:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1448:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1437:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "1437:30:18" + }, + "nodeType": "YulIf", + "src": "1434:56:18" + }, + { + "nodeType": "YulAssignment", + "src": "1500:37:18", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1530:6:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1508:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "1508:29:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1500:4:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1574:23:18", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1586:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1592:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1582:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1582:15:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1574:4:18" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1347:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1358:4:18", + "type": "" + } + ], + "src": "1296:308:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1659:258:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1669:10:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1673:1:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1738:63:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1763:3:18" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1768:1:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1759:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1759:11:18" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1782:3:18" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1787:1:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1778:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1778:11:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1772:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "1772:18:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1752:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1752:39:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1752:39:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1699:1:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1702:6:18" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1696:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "1696:13:18" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1710:19:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1712:15:18", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1721:1:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1724:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1717:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1717:10:18" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1712:1:18" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1692:3:18", + "statements": [] + }, + "src": "1688:113:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1835:76:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1885:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1881:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1881:16:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1899:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1874:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1874:27:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1874:27:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1816:1:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1819:6:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1813:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "1813:13:18" + }, + "nodeType": "YulIf", + "src": "1810:101:18" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1641:3:18", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1646:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1651:6:18", + "type": "" + } + ], + "src": "1610:307:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2018:326:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2028:75:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2095:6:18" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2053:41:18" + }, + "nodeType": "YulFunctionCall", + "src": "2053:49:18" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2037:15:18" + }, + "nodeType": "YulFunctionCall", + "src": "2037:66:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2028:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2119:5:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2126:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2112:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "2112:21:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2112:21:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2142:27:18", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2157:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2164:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2153:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2153:16:18" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2146:3:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2207:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2209:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "2209:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2209:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2188:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2193:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2184:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2184:16:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2202:3:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2181:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "2181:25:18" + }, + "nodeType": "YulIf", + "src": "2178:112:18" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2321:3:18" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2326:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2331:6:18" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2299:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "2299:39:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2299:39:18" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1991:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1996:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2004:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2012:5:18", + "type": "" + } + ], + "src": "1923:421:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2437:282:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2486:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "2488:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "2488:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2488:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2465:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2473:4:18", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2461:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2461:17:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2480:3:18" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2457:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2457:27:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2450:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "2450:35:18" + }, + "nodeType": "YulIf", + "src": "2447:122:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2578:27:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2598:6:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2592:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "2592:13:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2582:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2614:99:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2686:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2694:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2682:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2682:17:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2701:6:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2709:3:18" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "2623:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "2623:90:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2614:5:18" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2415:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2423:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2431:5:18", + "type": "" + } + ], + "src": "2364:355:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2770:32:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2780:16:18", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2791:5:18" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2780:7:18" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2752:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2762:7:18", + "type": "" + } + ], + "src": "2725:77:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2851:79:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2908:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2920:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2910:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "2910:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2910:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2874:5:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2899:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2881:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "2881:24:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2871:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "2871:35:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2864:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "2864:43:18" + }, + "nodeType": "YulIf", + "src": "2861:63:18" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2844:5:18", + "type": "" + } + ], + "src": "2808:122:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2999:80:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3009:22:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3024:6:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3018:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "3018:13:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3009:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3067:5:18" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3040:26:18" + }, + "nodeType": "YulFunctionCall", + "src": "3040:33:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3040:33:18" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2977:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2985:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2993:5:18", + "type": "" + } + ], + "src": "2936:143:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3216:878:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3262:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3264:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "3264:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3264:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3237:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3246:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3233:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3233:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3258:2:18", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3229:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3229:32:18" + }, + "nodeType": "YulIf", + "src": "3226:119:18" + }, + { + "nodeType": "YulBlock", + "src": "3355:291:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3370:38:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3394:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3405:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3390:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3390:17:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3384:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "3384:24:18" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3374:6:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3455:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3457:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "3457:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3457:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3427:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3435:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3424:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "3424:30:18" + }, + "nodeType": "YulIf", + "src": "3421:117:18" + }, + { + "nodeType": "YulAssignment", + "src": "3552:84:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3608:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3619:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3604:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3604:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3628:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3562:41:18" + }, + "nodeType": "YulFunctionCall", + "src": "3562:74:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3552:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3656:292:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3671:39:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3695:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3706:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3691:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3691:18:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3685:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "3685:25:18" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3675:6:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3757:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3759:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "3759:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3759:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3729:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3737:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3726:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "3726:30:18" + }, + "nodeType": "YulIf", + "src": "3723:117:18" + }, + { + "nodeType": "YulAssignment", + "src": "3854:84:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3910:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3921:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3906:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3906:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3930:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3864:41:18" + }, + "nodeType": "YulFunctionCall", + "src": "3864:74:18" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3854:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3958:129:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3973:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3987:2:18", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3977:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4003:74:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4049:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4060:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4045:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4045:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4069:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "4013:31:18" + }, + "nodeType": "YulFunctionCall", + "src": "4013:64:18" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4003:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3170:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3181:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3193:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3201:6:18", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3209:6:18", + "type": "" + } + ], + "src": "3085:1009:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4128:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4145:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4148:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4138:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "4138:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4138:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4242:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4245:4:18", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4235:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "4235:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4235:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4266:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4269:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4259:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "4259:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4259:15:18" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "4100:180:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4337:269:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4347:22:18", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4361:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4367:1:18", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "4357:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4357:12:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4347:6:18" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4378:38:18", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4408:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4414:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4404:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4404:12:18" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "4382:18:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4455:51:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4469:27:18", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4483:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4491:4:18", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4479:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4479:17:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4469:6:18" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4435:18:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4428:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "4428:26:18" + }, + "nodeType": "YulIf", + "src": "4425:81:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4558:42:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "4572:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "4572:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4572:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4522:18:18" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4545:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4553:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4542:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "4542:14:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4519:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "4519:38:18" + }, + "nodeType": "YulIf", + "src": "4516:84:18" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "4321:4:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4330:6:18", + "type": "" + } + ], + "src": "4286:320:18" + } + ] + }, + "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(src, dst, length) {\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 if gt(i, length)\n {\n // clear end\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(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 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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { 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 let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(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}\n", + "id": 18, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:45976:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:18", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:18" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:18" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:18", + "type": "" + } + ], + "src": "7:75:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:18" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:18" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "378:105:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "388:89:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "403:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "410:66:18", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "399:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "399:78:18" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "388:7:18" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "370:7:18", + "type": "" + } + ], + "src": "334:149:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "531:78:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "587:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "596:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "599:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "589:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "589:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "589:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "554:5:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "578:5:18" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "561:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "561:23:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "551:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "551:34:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "544:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "544:42:18" + }, + "nodeType": "YulIf", + "src": "541:62:18" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "524:5:18", + "type": "" + } + ], + "src": "489:120:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "666:86:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "676:29:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "698:6:18" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "685:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "685:20:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "740:5:18" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "714:25:18" + }, + "nodeType": "YulFunctionCall", + "src": "714:32:18" + }, + "nodeType": "YulExpressionStatement", + "src": "714:32:18" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "644:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "652:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "660:5:18", + "type": "" + } + ], + "src": "615:137:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:262:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "869:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "871:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "871:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "871:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "844:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "853:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "840:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "840:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "865:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "836:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "836:32:18" + }, + "nodeType": "YulIf", + "src": "833:119:18" + }, + { + "nodeType": "YulBlock", + "src": "962:116:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "977:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "991:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "981:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1006:62:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1040:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1051:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1036:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1036:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1060:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1016:19:18" + }, + "nodeType": "YulFunctionCall", + "src": "1016:52:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1006:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "793:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "804:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "816:6:18", + "type": "" + } + ], + "src": "758:327:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1133:48:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1143:32:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1168:5:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1161:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1161:13:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1154:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1154:21:18" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1143:7:18" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1115:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1125:7:18", + "type": "" + } + ], + "src": "1091:90:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1246:50:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1263:3:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1283:5:18" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1268:14:18" + }, + "nodeType": "YulFunctionCall", + "src": "1268:21:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1256:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1256:34:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1256:34:18" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1234:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1241:3:18", + "type": "" + } + ], + "src": "1187:109:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1394:118:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1404:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1416:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1427:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1412:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1404:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1478:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1491:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1487:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1487:17:18" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "1440:37:18" + }, + "nodeType": "YulFunctionCall", + "src": "1440:65:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1440:65:18" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1366:9:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1378:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1389:4:18", + "type": "" + } + ], + "src": "1302:210:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1577:40:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1588:22:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1604:5:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1598:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "1598:12:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1588:6:18" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1560:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1570:6:18", + "type": "" + } + ], + "src": "1518:99:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1719:73:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1736:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1741:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1729:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1729:19:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1729:19:18" + }, + { + "nodeType": "YulAssignment", + "src": "1757:29:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1776:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1781:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1772:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1772:14:18" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1757:11:18" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1691:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1696:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1707:11:18", + "type": "" + } + ], + "src": "1623:169:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1847:258:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1857:10:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1866:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1861:1:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1926:63:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1951:3:18" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1956:1:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1947:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1947:11:18" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1970:3:18" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1975:1:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1966:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1966:11:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1960:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "1960:18:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1940:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "1940:39:18" + }, + "nodeType": "YulExpressionStatement", + "src": "1940:39:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1887:1:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:18" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1884:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "1884:13:18" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1898:19:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1900:15:18", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1909:1:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1912:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1905:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "1905:10:18" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1900:1:18" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1880:3:18", + "statements": [] + }, + "src": "1876:113:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2023:76:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2073:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2078:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2069:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2069:16:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2087:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2062:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "2062:27:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2062:27:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2004:1:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2007:6:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2001:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "2001:13:18" + }, + "nodeType": "YulIf", + "src": "1998:101:18" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1829:3:18", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1834:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1839:6:18", + "type": "" + } + ], + "src": "1798:307:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2159:54:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2169:38:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2187:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:2:18", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2183:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2183:14:18" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2203:2:18", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2199:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2199:7:18" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2179:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2179:28:18" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2169:6:18" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2142:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2152:6:18", + "type": "" + } + ], + "src": "2111:102:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2311:272:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2321:53:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2368:5:18" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2335:32:18" + }, + "nodeType": "YulFunctionCall", + "src": "2335:39:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2325:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2383:78:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2449:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2454:6:18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2390:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "2390:71:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2383:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2496:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2503:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2492:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2492:16:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2510:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2515:6:18" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2470:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "2470:52:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:52:18" + }, + { + "nodeType": "YulAssignment", + "src": "2531:46:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2542:3:18" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2569:6:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2547:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "2547:29:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2538:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2538:39:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2531:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2292:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2299:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2307:3:18", + "type": "" + } + ], + "src": "2219:364:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2707:195:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2717:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2729:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2740:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2725:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2725:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2717:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2764:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2775:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2760:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2760:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2783:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2789:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2779:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "2779:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2753:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "2753:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "2753:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "2809:86:18", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2881:6:18" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2890:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2817:63:18" + }, + "nodeType": "YulFunctionCall", + "src": "2817:78:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2809:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2679:9:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2691:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2702:4:18", + "type": "" + } + ], + "src": "2589:313:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2953:32:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2963:16:18", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2974:5:18" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2963:7:18" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2935:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2945:7:18", + "type": "" + } + ], + "src": "2908:77:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3034:79:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3091:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3100:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3103:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3093:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "3093:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3093:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3057:5:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3082:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3064:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "3064:24:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3054:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "3054:35:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3047:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "3047:43:18" + }, + "nodeType": "YulIf", + "src": "3044:63:18" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3027:5:18", + "type": "" + } + ], + "src": "2991:122:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3171:87:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3181:29:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3203:6:18" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3190:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "3190:20:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3181:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3246:5:18" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3219:26:18" + }, + "nodeType": "YulFunctionCall", + "src": "3219:33:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3219:33:18" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3149:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3157:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3165:5:18", + "type": "" + } + ], + "src": "3119:139:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3330:263:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3376:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3378:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "3378:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3378:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3351:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3360:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3347:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3347:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3372:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3343:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3343:32:18" + }, + "nodeType": "YulIf", + "src": "3340:119:18" + }, + { + "nodeType": "YulBlock", + "src": "3469:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3484:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3498:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3488:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3513:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3548:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3559:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3544:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3544:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3568:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3523:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "3523:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3513:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3300:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3311:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3323:6:18", + "type": "" + } + ], + "src": "3264:329:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3644:81:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3654:65:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3669:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3676:42:18", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3665:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "3665:54:18" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3654:7:18" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3626:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3636:7:18", + "type": "" + } + ], + "src": "3599:126:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3776:51:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3786:35:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3815:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "3797:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "3797:24:18" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3786:7:18" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3758:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3768:7:18", + "type": "" + } + ], + "src": "3731:96:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3898:53:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3915:3:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3938:5:18" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "3920:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "3920:24:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3908:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "3908:37:18" + }, + "nodeType": "YulExpressionStatement", + "src": "3908:37:18" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3886:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3893:3:18", + "type": "" + } + ], + "src": "3833:118:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4055:124:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4065:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4077:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4088:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4073:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4073:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4065:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4145:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4158:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4169:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4154:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4154:17:18" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "4101:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "4101:71:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4101:71:18" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4027:9:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4039:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4050:4:18", + "type": "" + } + ], + "src": "3957:222:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4228:79:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4285:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4294:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4297:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4287:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "4287:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4287:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4251:5:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4276:5:18" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "4258:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "4258:24:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4248:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "4248:35:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4241:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "4241:43:18" + }, + "nodeType": "YulIf", + "src": "4238:63:18" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4221:5:18", + "type": "" + } + ], + "src": "4185:122:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4365:87:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4375:29:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4397:6:18" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4384:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "4384:20:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4375:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4440:5:18" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "4413:26:18" + }, + "nodeType": "YulFunctionCall", + "src": "4413:33:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4413:33:18" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4343:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4351:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4359:5:18", + "type": "" + } + ], + "src": "4313:139:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4541:391:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4587:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4589:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "4589:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "4589:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4562:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4571:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4558:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4558:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4583:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4554:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4554:32:18" + }, + "nodeType": "YulIf", + "src": "4551:119:18" + }, + { + "nodeType": "YulBlock", + "src": "4680:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4695:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4709:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4699:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4724:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4759:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4770:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4755:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4755:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4779:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4734:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "4734:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4724:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4807:118:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4822:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4836:2:18", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4826:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4852:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4887:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4898:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4883:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "4883:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4907:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4862:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "4862:53:18" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4852:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4503:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4514:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4526:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4534:6:18", + "type": "" + } + ], + "src": "4458:474:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5003:53:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5020:3:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5043:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5025:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "5025:24:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5013:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "5013:37:18" + }, + "nodeType": "YulExpressionStatement", + "src": "5013:37:18" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4991:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4998:3:18", + "type": "" + } + ], + "src": "4938:118:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5160:124:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5170:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5182:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5193:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5178:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5178:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5170:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5250:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5263:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5274:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5259:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5259:17:18" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "5206:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "5206:71:18" + }, + "nodeType": "YulExpressionStatement", + "src": "5206:71:18" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5132:9:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5144:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5155:4:18", + "type": "" + } + ], + "src": "5062:222:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5356:263:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5402:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5404:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "5404:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "5404:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5377:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5386:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5373:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5373:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5398:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5369:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5369:32:18" + }, + "nodeType": "YulIf", + "src": "5366:119:18" + }, + { + "nodeType": "YulBlock", + "src": "5495:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5510:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5524:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5514:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5539:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5574:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5585:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5570:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5570:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5594:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5549:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "5549:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5539:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5326:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5337:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5349:6:18", + "type": "" + } + ], + "src": "5290:329:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5725:519:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5771:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5773:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "5773:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "5773:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5746:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5755:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5742:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5742:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5767:2:18", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5738:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5738:32:18" + }, + "nodeType": "YulIf", + "src": "5735:119:18" + }, + { + "nodeType": "YulBlock", + "src": "5864:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5879:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5893:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5883:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5908:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5943:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5954:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5939:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "5939:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5963:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5918:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "5918:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5908:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5991:118:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6006:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6020:2:18", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6010:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6036:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6071:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6082:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6067:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "6067:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6091:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "6046:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "6046:53:18" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6036:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6119:118:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6134:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6148:2:18", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6138:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6164:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6199:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6210:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6195:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "6195:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6219:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "6174:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "6174:53:18" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "6164:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5679:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5690:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5702:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5710:6:18", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5718:6:18", + "type": "" + } + ], + "src": "5625:619:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6295:32:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6305:16:18", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6316:5:18" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6305:7:18" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6277:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6287:7:18", + "type": "" + } + ], + "src": "6250:77:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6376:79:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6433:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6442:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6445:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6435:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "6435:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "6435:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6399:5:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6424:5:18" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6406:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "6406:24:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6396:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "6396:35:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6389:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "6389:43:18" + }, + "nodeType": "YulIf", + "src": "6386:63:18" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6369:5:18", + "type": "" + } + ], + "src": "6333:122:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6513:87:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6523:29:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6545:6:18" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6532:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "6532:20:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6523:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6588:5:18" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6561:26:18" + }, + "nodeType": "YulFunctionCall", + "src": "6561:33:18" + }, + "nodeType": "YulExpressionStatement", + "src": "6561:33:18" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6491:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6499:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6507:5:18", + "type": "" + } + ], + "src": "6461:139:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6672:263:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6718:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6720:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "6720:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "6720:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6693:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6702:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6689:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "6689:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6714:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6685:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "6685:32:18" + }, + "nodeType": "YulIf", + "src": "6682:119:18" + }, + { + "nodeType": "YulBlock", + "src": "6811:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6826:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6840:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6830:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6855:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6890:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6901:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6886:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "6886:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6910:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6865:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "6865:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6855:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6642:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6653:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6665:6:18", + "type": "" + } + ], + "src": "6606:329:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7006:53:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7023:3:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7046:5:18" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7028:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "7028:24:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7016:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "7016:37:18" + }, + "nodeType": "YulExpressionStatement", + "src": "7016:37:18" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6994:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7001:3:18", + "type": "" + } + ], + "src": "6941:118:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7163:124:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7173:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7185:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7196:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7181:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "7181:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7173:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7253:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7266:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7277:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7262:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "7262:17:18" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "7209:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "7209:71:18" + }, + "nodeType": "YulExpressionStatement", + "src": "7209:71:18" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7135:9:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7147:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7158:4:18", + "type": "" + } + ], + "src": "7065:222:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7376:391:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7422:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7424:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "7424:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "7424:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7397:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7406:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7393:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "7393:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7418:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7389:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "7389:32:18" + }, + "nodeType": "YulIf", + "src": "7386:119:18" + }, + { + "nodeType": "YulBlock", + "src": "7515:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7530:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7544:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7534:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7559:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7594:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7605:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7590:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "7590:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7614:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7569:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "7569:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7559:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7642:118:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7657:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7671:2:18", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7661:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7687:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7722:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7733:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7718:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "7718:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7742:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7697:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "7697:53:18" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7687:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7338:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7349:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7361:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7369:6:18", + "type": "" + } + ], + "src": "7293:474:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7847:40:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7858:22:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7874:5:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7868:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "7868:12:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7858:6:18" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7830:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7840:6:18", + "type": "" + } + ], + "src": "7773:114:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8004:73:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8021:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8026:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8014:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "8014:19:18" + }, + "nodeType": "YulExpressionStatement", + "src": "8014:19:18" + }, + { + "nodeType": "YulAssignment", + "src": "8042:29:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8061:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8066:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8057:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "8057:14:18" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "8042:11:18" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7976:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7981:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "7992:11:18", + "type": "" + } + ], + "src": "7893:184:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8155:60:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8165:11:18", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8173:3:18" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8165:4:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8186:22:18", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8198:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8203:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8194:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "8194:14:18" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8186:4:18" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "8142:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "8150:4:18", + "type": "" + } + ], + "src": "8083:132:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8276:53:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8293:3:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8316:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8298:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "8298:24:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8286:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "8286:37:18" + }, + "nodeType": "YulExpressionStatement", + "src": "8286:37:18" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8264:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8271:3:18", + "type": "" + } + ], + "src": "8221:108:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8415:99:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8459:6:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8467:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "8425:33:18" + }, + "nodeType": "YulFunctionCall", + "src": "8425:46:18" + }, + "nodeType": "YulExpressionStatement", + "src": "8425:46:18" + }, + { + "nodeType": "YulAssignment", + "src": "8480:28:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8498:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8503:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8494:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "8494:14:18" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "8480:10:18" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8388:6:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8396:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "8404:10:18", + "type": "" + } + ], + "src": "8335:179:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8595:38:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8605:22:18", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8617:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8622:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8613:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "8613:14:18" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "8605:4:18" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "8582:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "8590:4:18", + "type": "" + } + ], + "src": "8520:113:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8793:608:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8803:68:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8865:5:18" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8817:47:18" + }, + "nodeType": "YulFunctionCall", + "src": "8817:54:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8807:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8880:93:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8961:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8966:6:18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8887:73:18" + }, + "nodeType": "YulFunctionCall", + "src": "8887:86:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8880:3:18" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8982:71:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9047:5:18" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8997:49:18" + }, + "nodeType": "YulFunctionCall", + "src": "8997:56:18" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "8986:7:18", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9062:21:18", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "9076:7:18" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "9066:6:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9152:224:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9166:34:18", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9193:6:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9187:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "9187:13:18" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "9170:13:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9213:70:18", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "9264:13:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9279:3:18" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "9220:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "9220:63:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9213:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9296:70:18", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9359:6:18" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9306:52:18" + }, + "nodeType": "YulFunctionCall", + "src": "9306:60:18" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9296:6:18" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9114:1:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9117:6:18" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "9111:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "9111:13:18" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "9125:18:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9127:14:18", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9136:1:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9139:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9132:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9132:9:18" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9127:1:18" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "9096:14:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9098:10:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9107:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "9102:1:18", + "type": "" + } + ] + } + ] + }, + "src": "9092:284:18" + }, + { + "nodeType": "YulAssignment", + "src": "9385:10:18", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9392:3:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9385:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8772:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8779:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8788:3:18", + "type": "" + } + ], + "src": "8669:732:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9555:225:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9565:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9577:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9588:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9573:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9573:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9565:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9612:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9623:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9608:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9608:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9631:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9637:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9627:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9627:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9601:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "9601:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "9601:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "9657:116:18", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9759:6:18" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9768:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9665:93:18" + }, + "nodeType": "YulFunctionCall", + "src": "9665:108:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9657:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9527:9:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9539:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9550:4:18", + "type": "" + } + ], + "src": "9407:373:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9826:76:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9880:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9889:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9892:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9882:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "9882:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "9882:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9849:5:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9871:5:18" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "9856:14:18" + }, + "nodeType": "YulFunctionCall", + "src": "9856:21:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "9846:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "9846:32:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "9839:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "9839:40:18" + }, + "nodeType": "YulIf", + "src": "9836:60:18" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9819:5:18", + "type": "" + } + ], + "src": "9786:116:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9957:84:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9967:29:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9989:6:18" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9976:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "9976:20:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9967:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10029:5:18" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "10005:23:18" + }, + "nodeType": "YulFunctionCall", + "src": "10005:30:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10005:30:18" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9935:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9943:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9951:5:18", + "type": "" + } + ], + "src": "9908:133:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10127:388:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10173:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "10175:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "10175:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10175:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10148:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10157:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10144:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "10144:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10169:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10140:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "10140:32:18" + }, + "nodeType": "YulIf", + "src": "10137:119:18" + }, + { + "nodeType": "YulBlock", + "src": "10266:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10281:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10295:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10285:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10310:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10345:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10356:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10341:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "10341:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10365:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "10320:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "10320:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10310:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10393:115:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10408:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10422:2:18", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10412:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10438:60:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10470:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10481:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10466:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "10466:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10490:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "10448:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "10448:50:18" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10438:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10089:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10100:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10112:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10120:6:18", + "type": "" + } + ], + "src": "10047:468:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10610:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10627:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10630:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10620:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "10620:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10620:12:18" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "10521:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10733:28:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10750:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10753:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10743:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "10743:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10743:12:18" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "10644:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10795:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10812:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10815:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10805:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "10805:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10805:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10909:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10912:4:18", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10902:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "10902:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10902:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10933:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10936:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10926:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "10926:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10926:15:18" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "10767:180:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10996:238:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11006:58:18", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11028:6:18" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11058:4:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "11036:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "11036:27:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11024:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "11024:40:18" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "11010:10:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11175:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "11177:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "11177:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "11177:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "11118:10:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11130:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11115:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "11115:34:18" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "11154:10:18" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11166:6:18" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "11151:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "11151:22:18" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "11112:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "11112:62:18" + }, + "nodeType": "YulIf", + "src": "11109:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11213:2:18", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "11217:10:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11206:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "11206:22:18" + }, + "nodeType": "YulExpressionStatement", + "src": "11206:22:18" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10982:6:18", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "10990:4:18", + "type": "" + } + ], + "src": "10953:281:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11281:88:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11291:30:18", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "11301:18:18" + }, + "nodeType": "YulFunctionCall", + "src": "11301:20:18" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11291:6:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11350:6:18" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11358:4:18" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "11330:19:18" + }, + "nodeType": "YulFunctionCall", + "src": "11330:33:18" + }, + "nodeType": "YulExpressionStatement", + "src": "11330:33:18" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "11265:4:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11274:6:18", + "type": "" + } + ], + "src": "11240:129:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11441:241:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11546:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "11548:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "11548:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "11548:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11518:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11526:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11515:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "11515:30:18" + }, + "nodeType": "YulIf", + "src": "11512:56:18" + }, + { + "nodeType": "YulAssignment", + "src": "11578:37:18", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11608:6:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "11586:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "11586:29:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11578:4:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11652:23:18", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11664:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11670:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11660:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "11660:15:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11652:4:18" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11425:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "11436:4:18", + "type": "" + } + ], + "src": "11375:307:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11739:103:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11762:3:18" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11767:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11772:6:18" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "11749:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "11749:30:18" + }, + "nodeType": "YulExpressionStatement", + "src": "11749:30:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11820:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11825:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11816:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "11816:16:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11834:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11809:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "11809:27:18" + }, + "nodeType": "YulExpressionStatement", + "src": "11809:27:18" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "11721:3:18", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "11726:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11731:6:18", + "type": "" + } + ], + "src": "11688:154:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11931:327:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11941:74:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12007:6:18" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11966:40:18" + }, + "nodeType": "YulFunctionCall", + "src": "11966:48:18" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "11950:15:18" + }, + "nodeType": "YulFunctionCall", + "src": "11950:65:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "11941:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12031:5:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12038:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12024:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "12024:21:18" + }, + "nodeType": "YulExpressionStatement", + "src": "12024:21:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12054:27:18", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12069:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12076:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12065:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12065:16:18" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "12058:3:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12119:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "12121:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "12121:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "12121:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "12100:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12105:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12096:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12096:16:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12114:3:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12093:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "12093:25:18" + }, + "nodeType": "YulIf", + "src": "12090:112:18" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "12235:3:18" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12240:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12245:6:18" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "12211:23:18" + }, + "nodeType": "YulFunctionCall", + "src": "12211:41:18" + }, + "nodeType": "YulExpressionStatement", + "src": "12211:41:18" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "11904:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11909:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11917:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "11925:5:18", + "type": "" + } + ], + "src": "11848:410:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12338:277:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12387:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "12389:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "12389:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "12389:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12366:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12374:4:18", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12362:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12362:17:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12381:3:18" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12358:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12358:27:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12351:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "12351:35:18" + }, + "nodeType": "YulIf", + "src": "12348:122:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12479:34:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12506:6:18" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12493:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "12493:20:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12483:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12522:87:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12582:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12590:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12578:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12578:17:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12597:6:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12605:3:18" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12531:46:18" + }, + "nodeType": "YulFunctionCall", + "src": "12531:78:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "12522:5:18" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12316:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12324:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "12332:5:18", + "type": "" + } + ], + "src": "12277:338:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12747:817:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12794:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "12796:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "12796:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "12796:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12768:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12777:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12764:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12764:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12789:3:18", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12760:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12760:33:18" + }, + "nodeType": "YulIf", + "src": "12757:120:18" + }, + { + "nodeType": "YulBlock", + "src": "12887:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12902:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12916:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12906:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12931:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12966:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12977:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12962:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "12962:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12986:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "12941:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "12941:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12931:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13014:118:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13029:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13043:2:18", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13033:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13059:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13094:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13105:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13090:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13090:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13114:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "13069:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "13069:53:18" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13059:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13142:118:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13157:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13171:2:18", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13161:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13187:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13222:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13233:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13218:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13218:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13242:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "13197:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "13197:53:18" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "13187:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13270:287:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13285:46:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13316:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13327:2:18", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13312:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13312:18:18" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13299:12:18" + }, + "nodeType": "YulFunctionCall", + "src": "13299:32:18" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13289:6:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13378:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "13380:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "13380:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "13380:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13350:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13358:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13347:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "13347:30:18" + }, + "nodeType": "YulIf", + "src": "13344:117:18" + }, + { + "nodeType": "YulAssignment", + "src": "13475:72:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13519:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13530:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13515:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13515:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13539:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13485:29:18" + }, + "nodeType": "YulFunctionCall", + "src": "13485:62:18" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "13475:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12693:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12704:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12716:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12724:6:18", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12732:6:18", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12740:6:18", + "type": "" + } + ], + "src": "12621:943:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13653:391:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13699:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "13701:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "13701:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "13701:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13674:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13683:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13670:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13670:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13695:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13666:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13666:32:18" + }, + "nodeType": "YulIf", + "src": "13663:119:18" + }, + { + "nodeType": "YulBlock", + "src": "13792:117:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13807:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13821:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13811:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13836:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13871:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13882:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13867:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13867:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13891:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "13846:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "13846:53:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13836:6:18" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13919:118:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13934:16:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13948:2:18", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13938:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13964:63:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13999:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14010:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13995:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "13995:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14019:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "13974:20:18" + }, + "nodeType": "YulFunctionCall", + "src": "13974:53:18" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13964:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13615:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "13626:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13638:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13646:6:18", + "type": "" + } + ], + "src": "13570:474:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14078:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14095:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14098:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14088:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "14088:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "14088:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14192:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14195:4:18", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14185:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "14185:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "14185:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14216:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14219:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14209:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "14209:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "14209:15:18" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "14050:180:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14287:269:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14297:22:18", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14311:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14317:1:18", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "14307:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "14307:12:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14297:6:18" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14328:38:18", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14358:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14364:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14354:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "14354:12:18" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "14332:18:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14405:51:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14419:27:18", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14433:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14441:4:18", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14429:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "14429:17:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14419:6:18" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "14385:18:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14378:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "14378:26:18" + }, + "nodeType": "YulIf", + "src": "14375:81:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14508:42:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "14522:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "14522:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "14522:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "14472:18:18" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14495:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14503:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "14492:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "14492:14:18" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "14469:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "14469:38:18" + }, + "nodeType": "YulIf", + "src": "14466:84:18" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "14271:4:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14280:6:18", + "type": "" + } + ], + "src": "14236:320:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14668:114:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14690:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14698:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14686:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "14686:14:18" + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14702:34:18", + "type": "", + "value": "ERC721: approval to current owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14679:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "14679:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "14679:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14758:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14766:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14754:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "14754:15:18" + }, + { + "hexValue": "72", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14771:3:18", + "type": "", + "value": "r" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14747:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "14747:28:18" + }, + "nodeType": "YulExpressionStatement", + "src": "14747:28:18" + } + ] + }, + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14660:6:18", + "type": "" + } + ], + "src": "14562:220:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14934:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14944:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15010:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15015:2:18", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14951:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "14951:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14944:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15116:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulIdentifier", + "src": "15027:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "15027:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "15027:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "15129:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15140:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15145:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15136:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "15136:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15129:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14922:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14930:3:18", + "type": "" + } + ], + "src": "14788:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15331:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15341:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15353:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15364:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15349:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "15349:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15341:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15388:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15399:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15384:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "15384:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15407:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15413:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15403:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "15403:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15377:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "15377:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "15377:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "15433:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15567:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15441:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "15441:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15433:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15311:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15326:4:18", + "type": "" + } + ], + "src": "15160:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15691:142:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15713:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15721:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15709:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "15709:14:18" + }, + { + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15725:34:18", + "type": "", + "value": "ERC721: approve caller is not to" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15702:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "15702:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "15702:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15781:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15789:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15777:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "15777:15:18" + }, + { + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15794:31:18", + "type": "", + "value": "ken owner or approved for all" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15770:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "15770:56:18" + }, + "nodeType": "YulExpressionStatement", + "src": "15770:56:18" + } + ] + }, + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15683:6:18", + "type": "" + } + ], + "src": "15585:248:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15985:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15995:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16061:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16066:2:18", + "type": "", + "value": "61" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16002:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "16002:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15995:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16167:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulIdentifier", + "src": "16078:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "16078:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "16078:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "16180:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16191:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16196:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16187:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "16187:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16180:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15973:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15981:3:18", + "type": "" + } + ], + "src": "15839:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16382:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16392:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16404:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16415:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16400:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "16400:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16392:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16439:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16450:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16435:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "16435:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16458:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16464:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16454:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "16454:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16428:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "16428:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "16428:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "16484:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16618:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16492:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "16492:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16484:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16362:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16377:4:18", + "type": "" + } + ], + "src": "16211:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16742:126:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16764:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16772:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16760:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "16760:14:18" + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16776:34:18", + "type": "", + "value": "ERC721: caller is not token owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16753:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "16753:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "16753:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16832:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16840:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16828:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "16828:15:18" + }, + { + "hexValue": "72206f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16845:15:18", + "type": "", + "value": "r or approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16821:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "16821:40:18" + }, + "nodeType": "YulExpressionStatement", + "src": "16821:40:18" + } + ] + }, + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16734:6:18", + "type": "" + } + ], + "src": "16636:232:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17020:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17030:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17096:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17101:2:18", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17037:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "17037:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17030:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17202:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulIdentifier", + "src": "17113:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "17113:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "17113:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "17215:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17226:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17231:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17222:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "17222:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17215:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17008:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17016:3:18", + "type": "" + } + ], + "src": "16874:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17417:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17427:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17439:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17450:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17435:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "17435:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17427:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17474:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17485:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17470:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "17470:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17493:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17499:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17489:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "17489:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17463:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "17463:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "17463:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "17519:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17653:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17527:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "17527:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17519:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17397:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17412:4:18", + "type": "" + } + ], + "src": "17246:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17777:124:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17799:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17807:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17795:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "17795:14:18" + }, + { + "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17811:34:18", + "type": "", + "value": "ERC721Enumerable: owner index ou" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17788:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "17788:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "17788:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17867:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17875:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17863:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "17863:15:18" + }, + { + "hexValue": "74206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17880:13:18", + "type": "", + "value": "t of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17856:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "17856:38:18" + }, + "nodeType": "YulExpressionStatement", + "src": "17856:38:18" + } + ] + }, + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17769:6:18", + "type": "" + } + ], + "src": "17671:230:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18053:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18063:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18129:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18134:2:18", + "type": "", + "value": "43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18070:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "18070:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18063:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18235:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulIdentifier", + "src": "18146:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "18146:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "18146:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "18248:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18259:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18264:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18255:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "18255:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18248:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18041:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18049:3:18", + "type": "" + } + ], + "src": "17907:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18450:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18460:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18472:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18483:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18468:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "18468:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18460:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18507:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18518:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18503:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "18503:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18526:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18532:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18522:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "18522:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18496:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "18496:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "18496:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "18552:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18686:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18560:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "18560:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18552:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18430:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18445:4:18", + "type": "" + } + ], + "src": "18279:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18810:128:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18832:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18840:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18828:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "18828:14:18" + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18844:34:18", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18821:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "18821:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "18821:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18900:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18908:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18896:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "18896:15:18" + }, + { + "hexValue": "20726f6c657320666f722073656c66", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18913:17:18", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18889:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "18889:42:18" + }, + "nodeType": "YulExpressionStatement", + "src": "18889:42:18" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18802:6:18", + "type": "" + } + ], + "src": "18704:234:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19090:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19100:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19166:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19171:2:18", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19107:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "19107:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19100:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19272:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "19183:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "19183:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "19183:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "19285:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19296:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19301:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19292:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "19292:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19285:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19078:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19086:3:18", + "type": "" + } + ], + "src": "18944:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19487:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19497:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19509:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19520:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19505:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "19505:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19497:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19544:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19555:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19540:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "19540:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19563:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19569:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19559:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "19559:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19533:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "19533:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "19533:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "19589:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19723:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19597:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "19597:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19589:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19467:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19482:4:18", + "type": "" + } + ], + "src": "19316:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19847:76:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19869:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19877:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19865:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "19865:14:18" + }, + { + "hexValue": "43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19881:34:18", + "type": "", + "value": "Caller is not owner nor approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19858:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "19858:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "19858:58:18" + } + ] + }, + "name": "store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "19839:6:18", + "type": "" + } + ], + "src": "19741:182:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20075:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20085:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20151:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20156:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20092:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "20092:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20085:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20257:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d", + "nodeType": "YulIdentifier", + "src": "20168:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "20168:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "20168:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "20270:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20281:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20286:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20277:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "20277:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20270:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20063:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20071:3:18", + "type": "" + } + ], + "src": "19929:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20472:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20482:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20494:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20505:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20490:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "20490:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20482:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20529:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20540:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20525:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "20525:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20548:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20554:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20544:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "20544:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20518:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "20518:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "20518:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "20574:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20708:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20582:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "20582:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20574:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20452:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20467:4:18", + "type": "" + } + ], + "src": "20301:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20832:62:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20854:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20862:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20850:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "20850:14:18" + }, + { + "hexValue": "746f6b656e49647320746f6f20736d616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20866:20:18", + "type": "", + "value": "tokenIds too small" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20843:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "20843:44:18" + }, + "nodeType": "YulExpressionStatement", + "src": "20843:44:18" + } + ] + }, + "name": "store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "20824:6:18", + "type": "" + } + ], + "src": "20726:168:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21046:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21056:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21122:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21127:2:18", + "type": "", + "value": "18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21063:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "21063:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21056:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21228:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "nodeType": "YulIdentifier", + "src": "21139:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "21139:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "21139:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "21241:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21252:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21257:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21248:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "21248:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21241:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21034:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21042:3:18", + "type": "" + } + ], + "src": "20900:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21443:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21453:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21465:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21476:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21461:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "21461:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21453:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21500:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21511:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21496:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "21496:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21519:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21525:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21515:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "21515:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21489:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "21489:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "21489:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "21545:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21679:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21553:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "21553:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21545:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21423:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21438:4:18", + "type": "" + } + ], + "src": "21272:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21803:61:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21825:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21833:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21821:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "21821:14:18" + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21837:19:18", + "type": "", + "value": "tokenIds too many" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21814:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "21814:43:18" + }, + "nodeType": "YulExpressionStatement", + "src": "21814:43:18" + } + ] + }, + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21795:6:18", + "type": "" + } + ], + "src": "21697:167:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22016:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22026:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22092:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22097:2:18", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22033:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "22033:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22026:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22198:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulIdentifier", + "src": "22109:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "22109:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "22109:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "22211:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22222:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22227:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22218:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22218:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22211:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22004:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22012:3:18", + "type": "" + } + ], + "src": "21870:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22413:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22423:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22435:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22446:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22431:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22431:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22423:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22470:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22481:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22466:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22466:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22489:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22495:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22485:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22485:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22459:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "22459:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "22459:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "22515:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22649:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22523:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "22523:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22515:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22393:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22408:4:18", + "type": "" + } + ], + "src": "22242:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22695:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22712:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22715:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22705:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "22705:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "22705:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22809:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22812:4:18", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22802:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "22802:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "22802:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22833:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22836:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "22826:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "22826:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "22826:15:18" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "22667:180:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22897:261:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22907:25:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "22930:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "22912:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "22912:20:18" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "22907:1:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "22941:25:18", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "22964:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "22946:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "22946:20:18" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "22941:1:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23104:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "23106:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "23106:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "23106:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23025:1:18" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23032:66:18", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23100:1:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23028:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "23028:74:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "23022:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "23022:81:18" + }, + "nodeType": "YulIf", + "src": "23019:107:18" + }, + { + "nodeType": "YulAssignment", + "src": "23136:16:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23147:1:18" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23150:1:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23143:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "23143:9:18" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "23136:3:18" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "22884:1:18", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "22887:1:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "22893:3:18", + "type": "" + } + ], + "src": "22853:305:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23270:67:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23292:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23300:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23288:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "23288:14:18" + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23304:25:18", + "type": "", + "value": "Exceed the total supply" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23281:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "23281:49:18" + }, + "nodeType": "YulExpressionStatement", + "src": "23281:49:18" + } + ] + }, + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23262:6:18", + "type": "" + } + ], + "src": "23164:173:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23489:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23499:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23565:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23570:2:18", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23506:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "23506:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23499:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23671:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "nodeType": "YulIdentifier", + "src": "23582:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "23582:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "23582:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "23684:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23695:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23700:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23691:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "23691:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23684:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23477:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23485:3:18", + "type": "" + } + ], + "src": "23343:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23886:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23896:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23908:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23919:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23904:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "23904:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23896:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23943:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23954:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23939:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "23939:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23962:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23968:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23958:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "23958:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23932:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "23932:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "23932:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "23988:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24122:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23996:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "23996:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23988:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23866:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23881:4:18", + "type": "" + } + ], + "src": "23715:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24168:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24185:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24188:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24178:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24178:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24178:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24282:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24285:4:18", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24275:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24275:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24275:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24306:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24309:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24299:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24299:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24299:15:18" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "24140:180:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24369:190:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24379:33:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24406:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "24388:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "24388:24:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24379:5:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24502:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "24504:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "24504:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24504:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24427:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24434:66:18", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24424:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "24424:77:18" + }, + "nodeType": "YulIf", + "src": "24421:103:18" + }, + { + "nodeType": "YulAssignment", + "src": "24533:20:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24544:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24551:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24540:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "24540:13:18" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "24533:3:18" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24355:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "24365:3:18", + "type": "" + } + ], + "src": "24326:233:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24671:125:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24693:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24701:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24689:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "24689:14:18" + }, + { + "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24705:34:18", + "type": "", + "value": "ERC721Enumerable: global index o" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24682:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24682:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24682:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24761:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24769:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24757:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "24757:15:18" + }, + { + "hexValue": "7574206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24774:14:18", + "type": "", + "value": "ut of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24750:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24750:39:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24750:39:18" + } + ] + }, + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24663:6:18", + "type": "" + } + ], + "src": "24565:231:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24948:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24958:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25024:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25029:2:18", + "type": "", + "value": "44" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24965:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "24965:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24958:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25130:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulIdentifier", + "src": "25041:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "25041:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "25041:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "25143:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25154:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25159:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25150:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "25150:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25143:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24936:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24944:3:18", + "type": "" + } + ], + "src": "24802:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25345:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25355:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25367:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25378:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25363:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "25363:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25355:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25402:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25413:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25398:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "25398:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25421:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25427:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25417:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "25417:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25391:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "25391:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "25391:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "25447:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25581:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25455:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "25455:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25447:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25325:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25340:4:18", + "type": "" + } + ], + "src": "25174:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25705:68:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25727:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25735:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25723:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "25723:14:18" + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25739:26:18", + "type": "", + "value": "ERC721: invalid token ID" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25716:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "25716:50:18" + }, + "nodeType": "YulExpressionStatement", + "src": "25716:50:18" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25697:6:18", + "type": "" + } + ], + "src": "25599:174:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25925:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25935:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26001:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26006:2:18", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25942:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "25942:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25935:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26107:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulIdentifier", + "src": "26018:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "26018:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26018:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "26120:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26131:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26136:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26127:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26127:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26120:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25913:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25921:3:18", + "type": "" + } + ], + "src": "25779:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26322:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26332:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26344:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26355:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26340:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26340:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26332:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26379:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26390:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26375:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26375:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26398:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26404:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26394:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26394:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26368:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "26368:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26368:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "26424:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26558:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26432:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "26432:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26424:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26302:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26317:4:18", + "type": "" + } + ], + "src": "26151:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26682:71:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26704:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26712:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26700:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26700:14:18" + }, + { + "hexValue": "43616e6e6f74206d696e7420746f207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26716:29:18", + "type": "", + "value": "Cannot mint to zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26693:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "26693:53:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26693:53:18" + } + ] + }, + "name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "26674:6:18", + "type": "" + } + ], + "src": "26576:177:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26905:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26915:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26981:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26986:2:18", + "type": "", + "value": "27" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26922:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "26922:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26915:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27087:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "nodeType": "YulIdentifier", + "src": "26998:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "26998:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26998:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "27100:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27111:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27116:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27107:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27107:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27100:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26893:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26901:3:18", + "type": "" + } + ], + "src": "26759:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27302:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27312:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27324:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27335:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27320:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27320:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27312:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27359:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27370:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27355:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27355:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27378:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27384:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27374:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27374:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27348:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "27348:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "27348:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "27404:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27538:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27412:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "27412:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27404:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27282:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27297:4:18", + "type": "" + } + ], + "src": "27131:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27662:122:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27684:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27692:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27680:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27680:14:18" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27696:34:18", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27673:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "27673:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "27673:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27752:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27760:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27748:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27748:15:18" + }, + { + "hexValue": "6c6964206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27765:11:18", + "type": "", + "value": "lid owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27741:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "27741:36:18" + }, + "nodeType": "YulExpressionStatement", + "src": "27741:36:18" + } + ] + }, + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27654:6:18", + "type": "" + } + ], + "src": "27556:228:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27936:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27946:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28012:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28017:2:18", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27953:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "27953:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27946:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28118:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulIdentifier", + "src": "28029:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "28029:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "28029:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "28131:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28142:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28147:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28138:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28138:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28131:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27924:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27932:3:18", + "type": "" + } + ], + "src": "27790:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28333:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28343:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28355:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28366:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28351:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28351:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28343:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28390:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28401:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28386:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28386:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28409:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28415:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28405:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28405:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28379:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "28379:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "28379:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "28435:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28569:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28443:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "28443:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28435:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28313:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28328:4:18", + "type": "" + } + ], + "src": "28162:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28693:75:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28715:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28723:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28711:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28711:14:18" + }, + { + "hexValue": "55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28727:33:18", + "type": "", + "value": "URI query for nonexistent token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28704:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "28704:57:18" + }, + "nodeType": "YulExpressionStatement", + "src": "28704:57:18" + } + ] + }, + "name": "store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28685:6:18", + "type": "" + } + ], + "src": "28587:181:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28920:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28930:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28996:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29001:2:18", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28937:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "28937:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28930:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29102:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "nodeType": "YulIdentifier", + "src": "29013:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "29013:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29013:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "29115:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29126:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29131:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29122:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29122:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29115:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28908:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28916:3:18", + "type": "" + } + ], + "src": "28774:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29317:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29327:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29339:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29350:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29335:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29335:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29327:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29374:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29385:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29370:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29370:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29393:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29399:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29389:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29389:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29363:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "29363:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29363:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "29419:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29553:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29427:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "29427:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29419:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29297:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29312:4:18", + "type": "" + } + ], + "src": "29146:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29697:206:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29707:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29719:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29730:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29715:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29715:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29707:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "29787:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29800:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29811:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29796:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29796:17:18" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "29743:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "29743:71:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29743:71:18" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "29868:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29881:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29892:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29877:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29877:18:18" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "29824:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "29824:72:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29824:72:18" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29661:9:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "29673:6:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "29681:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29692:4:18", + "type": "" + } + ], + "src": "29571:332:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29976:241:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "30081:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "30083:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "30083:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30083:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30053:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30061:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30050:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "30050:30:18" + }, + "nodeType": "YulIf", + "src": "30047:56:18" + }, + { + "nodeType": "YulAssignment", + "src": "30113:37:18", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30143:6:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "30121:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "30121:29:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "30113:4:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30187:23:18", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "30199:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30205:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30195:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30195:15:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "30187:4:18" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "29960:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "29971:4:18", + "type": "" + } + ], + "src": "29909:308:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30318:326:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30328:75:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30395:6:18" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "30353:41:18" + }, + "nodeType": "YulFunctionCall", + "src": "30353:49:18" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "30337:15:18" + }, + "nodeType": "YulFunctionCall", + "src": "30337:66:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30328:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30419:5:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30426:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30412:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "30412:21:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30412:21:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "30442:27:18", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30457:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30464:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30453:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30453:16:18" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "30446:3:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30507:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "30509:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "30509:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30509:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "30488:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30493:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30484:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30484:16:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30502:3:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30481:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "30481:25:18" + }, + "nodeType": "YulIf", + "src": "30478:112:18" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "30621:3:18" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "30626:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30631:6:18" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "30599:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "30599:39:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30599:39:18" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "30291:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "30296:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30304:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "30312:5:18", + "type": "" + } + ], + "src": "30223:421:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30737:282:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "30786:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "30788:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "30788:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30788:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30765:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30773:4:18", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30761:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30761:17:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30780:3:18" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "30757:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30757:27:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "30750:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "30750:35:18" + }, + "nodeType": "YulIf", + "src": "30747:122:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "30878:27:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30898:6:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "30892:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "30892:13:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "30882:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30914:99:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30986:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30994:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30982:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30982:17:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "31001:6:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31009:3:18" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "30923:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "30923:90:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30914:5:18" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "30715:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30723:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "30731:5:18", + "type": "" + } + ], + "src": "30664:355:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31112:437:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "31158:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "31160:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "31160:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "31160:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31133:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31142:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31129:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31129:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31154:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "31125:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31125:32:18" + }, + "nodeType": "YulIf", + "src": "31122:119:18" + }, + { + "nodeType": "YulBlock", + "src": "31251:291:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "31266:38:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31290:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31301:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31286:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31286:17:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "31280:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "31280:24:18" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "31270:6:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31351:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "31353:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "31353:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "31353:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "31323:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31331:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "31320:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "31320:30:18" + }, + "nodeType": "YulIf", + "src": "31317:117:18" + }, + { + "nodeType": "YulAssignment", + "src": "31448:84:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31504:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "31515:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31500:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31500:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31524:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "31458:41:18" + }, + "nodeType": "YulFunctionCall", + "src": "31458:74:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "31448:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31082:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "31093:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "31105:6:18", + "type": "" + } + ], + "src": "31025:524:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31661:118:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31683:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31691:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31679:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31679:14:18" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31695:34:18", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31672:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "31672:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "31672:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31751:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31759:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31747:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31747:15:18" + }, + { + "hexValue": "6f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31764:7:18", + "type": "", + "value": "owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31740:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "31740:32:18" + }, + "nodeType": "YulExpressionStatement", + "src": "31740:32:18" + } + ] + }, + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31653:6:18", + "type": "" + } + ], + "src": "31555:224:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31931:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31941:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32007:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32012:2:18", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31948:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "31948:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31941:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32113:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulIdentifier", + "src": "32024:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "32024:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "32024:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "32126:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32137:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32142:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32133:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "32133:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32126:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31919:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31927:3:18", + "type": "" + } + ], + "src": "31785:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32328:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32338:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32350:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32361:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32346:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "32346:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32338:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32385:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32396:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32381:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "32381:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32404:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32410:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "32400:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "32400:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32374:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "32374:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "32374:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "32430:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32564:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32438:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "32438:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32430:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32308:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32323:4:18", + "type": "" + } + ], + "src": "32157:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32688:117:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32710:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32718:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32706:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "32706:14:18" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32722:34:18", + "type": "", + "value": "ERC721: transfer to the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32699:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "32699:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "32699:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32778:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32786:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32774:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "32774:15:18" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32791:6:18", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32767:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "32767:31:18" + }, + "nodeType": "YulExpressionStatement", + "src": "32767:31:18" + } + ] + }, + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "32680:6:18", + "type": "" + } + ], + "src": "32582:223:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32957:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32967:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33033:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33038:2:18", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32974:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "32974:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32967:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33139:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulIdentifier", + "src": "33050:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "33050:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "33050:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "33152:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33163:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33168:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33159:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "33159:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33152:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32945:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32953:3:18", + "type": "" + } + ], + "src": "32811:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33354:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33364:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33376:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33387:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33372:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "33372:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33364:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33411:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33422:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33407:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "33407:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33430:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33436:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33426:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "33426:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33400:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "33400:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "33400:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "33456:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33590:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33464:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "33464:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33456:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33334:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33349:4:18", + "type": "" + } + ], + "src": "33183:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33714:69:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33736:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33744:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33732:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "33732:14:18" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33748:27:18", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33725:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "33725:51:18" + }, + "nodeType": "YulExpressionStatement", + "src": "33725:51:18" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "33706:6:18", + "type": "" + } + ], + "src": "33608:175:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33935:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33945:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34011:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34016:2:18", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33952:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "33952:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33945:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34117:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulIdentifier", + "src": "34028:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "34028:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "34028:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "34130:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34141:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34146:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34137:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "34137:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34130:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33923:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33931:3:18", + "type": "" + } + ], + "src": "33789:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34332:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34342:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34354:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34365:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34350:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "34350:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34342:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34389:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34400:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34385:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "34385:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34408:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34414:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34404:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "34404:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34378:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "34378:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "34378:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "34434:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34568:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34442:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "34442:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34434:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34312:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34327:4:18", + "type": "" + } + ], + "src": "34161:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34692:131:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34714:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34722:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34710:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "34710:14:18" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34726:34:18", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34703:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "34703:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "34703:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34782:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34790:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34778:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "34778:15:18" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34795:20:18", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34771:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "34771:45:18" + }, + "nodeType": "YulExpressionStatement", + "src": "34771:45:18" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "34684:6:18", + "type": "" + } + ], + "src": "34586:237:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34975:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34985:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35051:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35056:2:18", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34992:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "34992:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34985:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35157:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulIdentifier", + "src": "35068:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "35068:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "35068:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "35170:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35181:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35186:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35177:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "35177:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35170:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34963:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34971:3:18", + "type": "" + } + ], + "src": "34829:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35372:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35382:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35394:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35405:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35390:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "35390:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35382:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35429:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35440:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35425:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "35425:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35448:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35454:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35444:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "35444:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35418:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "35418:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "35418:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "35474:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35608:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35482:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "35482:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35474:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35352:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35367:4:18", + "type": "" + } + ], + "src": "35201:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35732:66:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35754:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35762:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35750:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "35750:14:18" + }, + { + "hexValue": "546f6b656e206e6f74207472616e7366657261626c65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35766:24:18", + "type": "", + "value": "Token not transferable" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35743:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "35743:48:18" + }, + "nodeType": "YulExpressionStatement", + "src": "35743:48:18" + } + ] + }, + "name": "store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "35724:6:18", + "type": "" + } + ], + "src": "35626:172:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35950:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35960:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36026:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36031:2:18", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35967:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "35967:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35960:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36132:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6", + "nodeType": "YulIdentifier", + "src": "36043:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "36043:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "36043:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "36145:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36156:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36161:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36152:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "36152:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "36145:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35938:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35946:3:18", + "type": "" + } + ], + "src": "35804:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36347:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36357:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36369:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36380:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36365:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "36365:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36357:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36404:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36415:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36400:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "36400:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36423:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36429:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "36419:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "36419:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36393:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "36393:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "36393:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "36449:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36583:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36457:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "36457:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36449:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36327:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36342:4:18", + "type": "" + } + ], + "src": "36176:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36715:34:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36725:18:18", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36740:3:18" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "36725:11:18" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36687:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "36692:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "36703:11:18", + "type": "" + } + ], + "src": "36601:148:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36861:67:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "36883:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36891:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36879:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "36879:14:18" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36895:25:18", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36872:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "36872:49:18" + }, + "nodeType": "YulExpressionStatement", + "src": "36872:49:18" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "36853:6:18", + "type": "" + } + ], + "src": "36755:173:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37098:238:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37108:92:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37192:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37197:2:18", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "37115:76:18" + }, + "nodeType": "YulFunctionCall", + "src": "37115:85:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37108:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37298:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "37209:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "37209:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "37209:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "37311:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37322:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37327:2:18", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37318:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "37318:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37311:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37086:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37094:3:18", + "type": "" + } + ], + "src": "36934:402:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37452:267:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "37462:53:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37509:5:18" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "37476:32:18" + }, + "nodeType": "YulFunctionCall", + "src": "37476:39:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "37466:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "37524:96:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37608:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37613:6:18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "37531:76:18" + }, + "nodeType": "YulFunctionCall", + "src": "37531:89:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37524:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37655:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37662:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37651:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "37651:16:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37669:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37674:6:18" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "37629:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "37629:52:18" + }, + "nodeType": "YulExpressionStatement", + "src": "37629:52:18" + }, + { + "nodeType": "YulAssignment", + "src": "37690:23:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37701:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37706:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37697:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "37697:16:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37690:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37433:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37440:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37448:3:18", + "type": "" + } + ], + "src": "37342:377:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37831:61:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37853:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37861:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37849:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "37849:14:18" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37865:19:18", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37842:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "37842:43:18" + }, + "nodeType": "YulExpressionStatement", + "src": "37842:43:18" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "37823:6:18", + "type": "" + } + ], + "src": "37725:167:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38062:238:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38072:92:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38156:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38161:2:18", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38079:76:18" + }, + "nodeType": "YulFunctionCall", + "src": "38079:85:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38072:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38262:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "38173:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "38173:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "38173:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "38275:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38286:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38291:2:18", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38282:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "38282:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38275:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38050:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38058:3:18", + "type": "" + } + ], + "src": "37898:402:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38692:581:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38703:155:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38854:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38710:142:18" + }, + "nodeType": "YulFunctionCall", + "src": "38710:148:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38703:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38868:102:18", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "38957:6:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38966:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38875:81:18" + }, + "nodeType": "YulFunctionCall", + "src": "38875:95:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38868:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38980:155:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39131:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38987:142:18" + }, + "nodeType": "YulFunctionCall", + "src": "38987:148:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38980:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39145:102:18", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "39234:6:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39243:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39152:81:18" + }, + "nodeType": "YulFunctionCall", + "src": "39152:95:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39145:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39257:10:18", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39264:3:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39257:3:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38663:3:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "38669:6:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "38677:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38688:3:18", + "type": "" + } + ], + "src": "38306:967:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39337:40:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39348:22:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39364:5:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "39358:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "39358:12:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39348:6:18" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "39320:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "39330:6:18", + "type": "" + } + ], + "src": "39279:98:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39478:73:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39495:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39500:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39488:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "39488:19:18" + }, + "nodeType": "YulExpressionStatement", + "src": "39488:19:18" + }, + { + "nodeType": "YulAssignment", + "src": "39516:29:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39535:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39540:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39531:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "39531:14:18" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "39516:11:18" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39450:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "39455:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "39466:11:18", + "type": "" + } + ], + "src": "39383:168:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39647:270:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "39657:52:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39703:5:18" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "39671:31:18" + }, + "nodeType": "YulFunctionCall", + "src": "39671:38:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "39661:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39718:77:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39783:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39788:6:18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39725:57:18" + }, + "nodeType": "YulFunctionCall", + "src": "39725:70:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39718:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39830:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39837:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39826:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "39826:16:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39844:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39849:6:18" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "39804:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "39804:52:18" + }, + "nodeType": "YulExpressionStatement", + "src": "39804:52:18" + }, + { + "nodeType": "YulAssignment", + "src": "39865:46:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39876:3:18" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39903:6:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "39881:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "39881:29:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39872:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "39872:39:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39865:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "39628:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39635:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39643:3:18", + "type": "" + } + ], + "src": "39557:360:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40123:440:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40133:27:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40145:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40156:3:18", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40141:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40141:19:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40133:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40214:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40227:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40238:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40223:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40223:17:18" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "40170:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "40170:71:18" + }, + "nodeType": "YulExpressionStatement", + "src": "40170:71:18" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "40295:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40308:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40319:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40304:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40304:18:18" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "40251:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "40251:72:18" + }, + "nodeType": "YulExpressionStatement", + "src": "40251:72:18" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "40377:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40390:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40401:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40386:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40386:18:18" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "40333:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "40333:72:18" + }, + "nodeType": "YulExpressionStatement", + "src": "40333:72:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40426:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40437:2:18", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40422:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40422:18:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40446:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40452:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40442:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40442:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40415:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "40415:48:18" + }, + "nodeType": "YulExpressionStatement", + "src": "40415:48:18" + }, + { + "nodeType": "YulAssignment", + "src": "40472:84:18", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "40542:6:18" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40551:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40480:61:18" + }, + "nodeType": "YulFunctionCall", + "src": "40480:76:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40472:4:18" + } + ] + } + ] + }, + "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", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40071:9:18", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "40083:6:18", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "40091:6:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "40099:6:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "40107:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "40118:4:18", + "type": "" + } + ], + "src": "39923:640:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40631:79:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40641:22:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "40656:6:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "40650:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "40650:13:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40641:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40698:5:18" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "40672:25:18" + }, + "nodeType": "YulFunctionCall", + "src": "40672:32:18" + }, + "nodeType": "YulExpressionStatement", + "src": "40672:32:18" + } + ] + }, + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "40609:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40617:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40625:5:18", + "type": "" + } + ], + "src": "40569:141:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40792:273:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "40838:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "40840:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "40840:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "40840:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "40813:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40822:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40809:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40809:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40834:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "40805:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "40805:32:18" + }, + "nodeType": "YulIf", + "src": "40802:119:18" + }, + { + "nodeType": "YulBlock", + "src": "40931:127:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "40946:15:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40960:1:18", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "40950:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40975:73:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41020:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "41031:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41016:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41016:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "41040:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulIdentifier", + "src": "40985:30:18" + }, + "nodeType": "YulFunctionCall", + "src": "40985:63:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40975:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40762:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "40773:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "40785:6:18", + "type": "" + } + ], + "src": "40716:349:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41177:134:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41199:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41207:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41195:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41195:14:18" + }, + { + "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41211:34:18", + "type": "", + "value": "ERC721Enumerable: consecutive tr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41188:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "41188:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "41188:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41267:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41275:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41263:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41263:15:18" + }, + { + "hexValue": "616e7366657273206e6f7420737570706f72746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41280:23:18", + "type": "", + "value": "ansfers not supported" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41256:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "41256:48:18" + }, + "nodeType": "YulExpressionStatement", + "src": "41256:48:18" + } + ] + }, + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "41169:6:18", + "type": "" + } + ], + "src": "41071:240:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41463:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41473:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41539:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41544:2:18", + "type": "", + "value": "53" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41480:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "41480:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41473:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41645:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulIdentifier", + "src": "41556:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "41556:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "41556:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "41658:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41669:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41674:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41665:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41665:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41658:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41451:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41459:3:18", + "type": "" + } + ], + "src": "41317:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41860:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41870:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41882:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41893:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41878:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41878:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41870:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41917:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41928:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41913:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41913:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41936:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41942:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41932:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41932:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41906:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "41906:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "41906:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "41962:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42096:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41970:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "41970:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41962:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41840:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41855:4:18", + "type": "" + } + ], + "src": "41689:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42162:300:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42172:25:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42195:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42177:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "42177:20:18" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42172:1:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "42206:25:18", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42229:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42211:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "42211:20:18" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42206:1:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42404:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "42406:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "42406:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "42406:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42316:1:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "42309:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "42309:9:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "42302:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "42302:17:18" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42324:1:18" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42331:66:18", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42399:1:18" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "42327:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42327:74:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "42321:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "42321:81:18" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "42298:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42298:105:18" + }, + "nodeType": "YulIf", + "src": "42295:131:18" + }, + { + "nodeType": "YulAssignment", + "src": "42436:20:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42451:1:18" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42454:1:18" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "42447:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42447:9:18" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "42436:7:18" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "42145:1:18", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "42148:1:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "42154:7:18", + "type": "" + } + ], + "src": "42114:348:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42511:128:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42521:33:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42548:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42530:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "42530:24:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42521:5:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42582:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "42584:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "42584:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "42584:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42569:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42576:4:18", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "42566:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "42566:15:18" + }, + "nodeType": "YulIf", + "src": "42563:41:18" + }, + { + "nodeType": "YulAssignment", + "src": "42613:20:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42624:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42631:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42620:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42620:13:18" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "42613:3:18" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "42497:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "42507:3:18", + "type": "" + } + ], + "src": "42468:171:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42751:76:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "42773:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42781:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42769:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42769:14:18" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42785:34:18", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42762:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "42762:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "42762:58:18" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "42743:6:18", + "type": "" + } + ], + "src": "42645:182:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42979:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42989:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43055:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43060:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42996:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "42996:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42989:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43161:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "43072:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "43072:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "43072:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "43174:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43185:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43190:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43181:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43181:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "43174:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42967:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42975:3:18", + "type": "" + } + ], + "src": "42833:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43376:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43386:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43398:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43409:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43394:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43394:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43386:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43433:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43444:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43429:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43429:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43452:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43458:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43448:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43448:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43422:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "43422:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "43422:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "43478:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43612:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43486:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "43486:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43478:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43356:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43371:4:18", + "type": "" + } + ], + "src": "43205:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43736:76:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "43758:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43766:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43754:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43754:14:18" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43770:34:18", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43747:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "43747:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "43747:58:18" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "43728:6:18", + "type": "" + } + ], + "src": "43630:182:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43964:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43974:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44040:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44045:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43981:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "43981:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43974:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44146:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulIdentifier", + "src": "44057:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "44057:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "44057:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "44159:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44170:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44175:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44166:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "44166:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "44159:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "43952:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "43960:3:18", + "type": "" + } + ], + "src": "43818:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44361:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44371:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44383:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44394:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44379:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "44379:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44371:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44418:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44429:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44414:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "44414:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44437:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44443:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44433:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "44433:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44407:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "44407:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "44407:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "44463:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44597:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44471:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "44471:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44463:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44341:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44356:4:18", + "type": "" + } + ], + "src": "44190:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44721:72:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "44743:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44751:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44739:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "44739:14:18" + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44755:30:18", + "type": "", + "value": "ERC721: token already minted" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44732:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "44732:54:18" + }, + "nodeType": "YulExpressionStatement", + "src": "44732:54:18" + } + ] + }, + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "44713:6:18", + "type": "" + } + ], + "src": "44615:178:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44945:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44955:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45021:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45026:2:18", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44962:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "44962:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44955:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45127:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulIdentifier", + "src": "45038:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "45038:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "45038:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "45140:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45151:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45156:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45147:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "45147:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "45140:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "44933:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "44941:3:18", + "type": "" + } + ], + "src": "44799:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45342:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45352:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45364:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45375:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45360:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "45360:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45352:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45399:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45410:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45395:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "45395:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45418:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45424:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45414:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "45414:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45388:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "45388:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "45388:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "45444:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45578:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45452:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "45452:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45444:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45322:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45337:4:18", + "type": "" + } + ], + "src": "45171:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45641:146:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45651:25:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45674:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45656:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "45656:20:18" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45651:1:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "45685:25:18", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45708:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45690:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "45690:20:18" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45685:1:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45732:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "45734:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "45734:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "45734:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45726:1:18" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45729:1:18" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "45723:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "45723:8:18" + }, + "nodeType": "YulIf", + "src": "45720:34:18" + }, + { + "nodeType": "YulAssignment", + "src": "45764:17:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45776:1:18" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45779:1:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45772:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "45772:9:18" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "45764:4:18" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "45627:1:18", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "45630:1:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "45636:4:18", + "type": "" + } + ], + "src": "45596:191:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45821:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45838:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45841:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45831:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "45831:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "45831:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45935:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45938:4:18", + "type": "", + "value": "0x31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45928:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "45928:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "45928:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45959:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45962:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "45952:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "45952:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "45952:15:18" + } + ] + }, + "name": "panic_error_0x31", + "nodeType": "YulFunctionDefinition", + "src": "45793:180:18" + } + ] + }, + "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(src, dst, length) {\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 if gt(i, length)\n {\n // clear end\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(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_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 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_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 cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_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_bytes32(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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\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(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\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(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_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__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_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__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_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not owner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d__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_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too small\")\n\n }\n\n function abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a__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_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too many\")\n\n }\n\n function abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__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_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Exceed the total supply\")\n\n }\n\n function abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__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_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\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_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__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_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_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_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot mint to zero address\")\n\n }\n\n function abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__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_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_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 store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730(memPtr) {\n\n mstore(add(memPtr, 0), \"URI query for nonexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730__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_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\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 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(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_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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 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 store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6(memPtr) {\n\n mstore(add(memPtr, 0), \"Token not transferable\")\n\n }\n\n function abi_encode_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6__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_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_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 store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\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(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\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_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( 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 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(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_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: consecutive tr\")\n\n mstore(add(memPtr, 32), \"ansfers not supported\")\n\n }\n\n function abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__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_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\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 function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", + "id": 18, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "298:3681:17:-:0;;;677:3;647:33;;687:395;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;791:5;798:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;828:11:17::1;814:25;;;;::::0;::::1;846:44;463:22;2198:4:0;871:18:17::0;::::1;846:13;;;:44;;:::i;:::-;897:46;528:24;2198:4:0;924:18:17::0;::::1;897:13;;;:46;;:::i;:::-;952:42;2198:4:0;963:18:17::0;::::1;983:10;952;;;:42;;:::i;:::-;1001:35;528:24;1025:10;1001;;;:35;;:::i;:::-;1043:33;463:22;1065:10;1043;;;:33;;:::i;:::-;687:395:::0;;;298:3681;;7172:247:0;7255:25;7283:18;7296:4;7283:12;;;:18;;:::i;:::-;7255:46;;7336:9;7311:6;:12;7318:4;7311:12;;;;;;;;;;;:22;;:34;;;;7402:9;7383:17;7377:4;7360:52;;;;;;;;;;7245:174;7172:247;;:::o;6937:110::-;7015:25;7026:4;7032:7;7015:10;;;:25;;:::i;:::-;6937:110;;:::o;4504:129::-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;;;:22;;:::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;;;:12;;:::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;3021:145::-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;298:3681:17:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:18:-;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:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:77::-;2762:7;2791:5;2780:16;;2725:77;;;:::o;2808:122::-;2881:24;2899:5;2881:24;:::i;:::-;2874:5;2871:35;2861:63;;2920:1;2917;2910:12;2861:63;2808:122;:::o;2936:143::-;2993:5;3024:6;3018:13;3009:22;;3040:33;3067:5;3040:33;:::i;:::-;2936:143;;;;:::o;3085:1009::-;3193:6;3201;3209;3258:2;3246:9;3237:7;3233:23;3229:32;3226:119;;;3264:79;;:::i;:::-;3226:119;3405:1;3394:9;3390:17;3384:24;3435:18;3427:6;3424:30;3421:117;;;3457:79;;:::i;:::-;3421:117;3562:74;3628:7;3619:6;3608:9;3604:22;3562:74;:::i;:::-;3552:84;;3355:291;3706:2;3695:9;3691:18;3685:25;3737:18;3729:6;3726:30;3723:117;;;3759:79;;:::i;:::-;3723:117;3864:74;3930:7;3921:6;3910:9;3906:22;3864:74;:::i;:::-;3854:84;;3656:292;3987:2;4013:64;4069:7;4060:6;4049:9;4045:22;4013:64;:::i;:::-;4003:74;;3958:129;3085:1009;;;;;:::o;4100:180::-;4148:77;4145:1;4138:88;4245:4;4242:1;4235:15;4269:4;4266:1;4259:15;4286:320;4330:6;4367:1;4361:4;4357:12;4347:22;;4414:1;4408:4;4404:12;4435:18;4425:81;;4491:4;4483:6;4479:17;4469:27;;4425:81;4553:2;4545:6;4542:14;4522:18;4519:38;4516:84;;;4572:18;;:::i;:::-;4516:84;4337:269;4286:320;;;:::o;298:3681:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "298:3681:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1146:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1630:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;557:36:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3612:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4504:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;647:33:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4929:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1306:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3755:79:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6038:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3213:201:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2158:651;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1813:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3472:81:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2815:392:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3021:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3893:83:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2153:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1717:135:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;427:58:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1916:236;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;490:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5354:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4388:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1146:218:17;1299:4;1322:36;1346:11;1322:23;:36::i;:::-;1315:43;;1146:218;;;:::o;2471:98:2:-;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;1630:111:5:-;1691:7;1717:10;:17;;;;1710:24;;1630:111;:::o;557:36:17:-;;;:::o;3612:85::-;3664:27;528:24;3688:2;3664:10;:27::i;:::-;3612:85;:::o;4612:296:2:-;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;4504:129:0:-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;647:33:17:-;;;;:::o;4929:145:0:-;5012:18;5025:4;5012:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;1306:253:5:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:12;:19;1539:5;1526:19;;;;;;;;;;;;;;;:26;1546:5;1526:26;;;;;;;;;;;;1519:33;;1306:253;;;;:::o;3755:79:17:-;3804:24;463:22;3825:2;3804:9;:24::i;:::-;3755:79;:::o;6038:214:0:-;6144:12;:10;:12::i;:::-;6133:23;;:7;:23;;;6125:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;4974:149:2:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;3213:201:17:-;463:22;2631:16:0;2642:4;2631:10;:16::i;:::-;3296:41:17::1;3315:12;:10;:12::i;:::-;3329:7;3296:18;:41::i;:::-;3280:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;3394:14;3400:7;3394:5;:14::i;:::-;3213:201:::0;;:::o;2158:651::-;2259:16;528:24;2631:16:0;2642:4;2631:10;:16::i;:::-;2300:1:17::1;2292:5;:9;2284:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;2348:12;;2339:5;:21;;2331:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;2407:1;2393:11;:15;2389:139;;;2464:11;2454:5;2438:13;:11;:13::i;:::-;:21;;;;:::i;:::-;2437:38;;2419:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;2389:139;2534:25;2576:5;2562:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2534:48;;2594:9;2589:193;2613:5;2609:1;:9;2589:193;;;2634:27;:15;:25;:27::i;:::-;2670:15;2688:25;:15;:23;:25::i;:::-;2670:43;;2722:22;2732:2;2736:7;2722:9;:22::i;:::-;2767:7;2753:8;2762:1;2753:11;;;;;;;;:::i;:::-;;;;;;;:21;;;::::0;::::1;2625:157;2620:3;;;;;:::i;:::-;;;;2589:193;;;;2795:8;2788:15;;;2158:651:::0;;;;;:::o;1813:230:5:-;1888:7;1923:30;:28;:30::i;:::-;1915:5;:38;1907:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;;2012:24;;1813:230;;;:::o;3472:81:17:-;3521:26;528:24;3544:2;3521:9;:26::i;:::-;3472:81;:::o;2190:219:2:-;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;2815:392:17:-;2881:7;528:24;2631:16:0;2642:4;2631:10;:16::i;:::-;2919:1:17::1;2905:16;;:2;:16;;;;2897:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2978:1;2964:11;:15;2960:108;;;3021:11;3015:1;2999:13;:11;:13::i;:::-;:17;;;;:::i;:::-;2998:34;;2990:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;2960:108;3074:27;:15;:25;:27::i;:::-;3108:15;3126:25;:15;:23;:25::i;:::-;3108:43;;3158:22;3168:2;3172:7;3158:9;:22::i;:::-;3194:7;3187:14;;;2815:392:::0;;;;:::o;1929:204:2:-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;3021:145:0:-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;2633:102:2:-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;3893:83:17:-;3945:25;463:22;3967:2;3945:10;:25::i;:::-;3893:83;:::o;2153:49:0:-;2198:4;2153:49;;;:::o;4169:153:2:-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;1717:135:17:-;2198:4:0;1793:18:17;;2631:16:0;2642:4;2631:10;:16::i;:::-;1835:11:17::1;1820:12;;:26;;;;;;;;;;;;;;;;;;1717:135:::0;;:::o;5189:276:2:-;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;427:58:17:-;463:22;427:58;:::o;1916:236::-;1991:13;2021:16;2029:7;2021;:16::i;:::-;2013:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;2097:12;;;;;;;;;;;2087:35;;;2131:4;2138:7;2087:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2080:66;;1916:236;;;:::o;490:62::-;528:24;490:62;:::o;5354:147:0:-;5438:18;5451:4;5438:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;:::-;5354:147:::0;;;:::o;4388:162:2:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;1005:222:5:-;1107:4;1145:35;1130:50;;;:11;:50;;;;:90;;;;1184:36;1208:11;1184:23;:36::i;:::-;1130:90;1123:97;;1005:222;;;:::o;13240:133:2:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;12572:171:2:-;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;3460:103:0:-;3526:30;3537:4;3543:12;:10;:12::i;:::-;3526:10;:30::i;:::-;3460:103;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;:22::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;:12::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;7991:234::-;8074:22;8082:4;8088:7;8074;:22::i;:::-;8070:149;;;8144:5;8112:6;:12;8119:4;8112:12;;;;;;;;;;;:20;;:29;8133:7;8112:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8195:12;:10;:12::i;:::-;8168:40;;8186:7;8168:40;;8180:4;8168:40;;;;;;;;;;8070:149;7991:234;;:::o;10171:762:2:-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10280:51;10301:5;10316:1;10320:7;10329:1;10280:20;:51::i;:::-;10441:23;10456:7;10441:14;:23::i;:::-;10433:31;;10509:15;:24;10525:7;10509:24;;;;;;;;;;;;10502:31;;;;;;;;;;;10769:1;10749:9;:16;10759:5;10749:16;;;;;;;;;;;;;;;;:21;;;;;;;;;;;10797:7;:16;10805:7;10797:16;;;;;;;;;;;;10790:23;;;;;;;;;;;10857:7;10853:1;10829:36;;10838:5;10829:36;;;;;;;;;;;;10876:50;10896:5;10911:1;10915:7;10924:1;10876:19;:50::i;:::-;10220:713;10171:762;:::o;945:123:10:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;827:112::-;892:7;918;:14;;;911:21;;827:112;;;:::o;7995:108:2:-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;:::-;7995:108;;:::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;7120:126::-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;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;1370:302:17:-;1549:1;1533:18;;:4;:18;;;:38;;;;1569:1;1555:16;;:2;:16;;;1533:38;1525:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1605:61;1632:4;1638:2;1642:12;1656:9;1605:26;:61::i;:::-;1370:302;;;;:::o;16294:115:2:-;;;;;:::o;3844:479:0:-;3932:22;3940:4;3946:7;3932;:22::i;:::-;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4234:13;;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3970:336;;;;;;;;;;;:::i;:::-;;;;;;;;3927:390;3844:479;;:::o;8324:279:2:-;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;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;2732:202:0:-;2817:4;2855:32;2840:47;;;:11;:47;;;;:87;;;;2891:36;2915:11;2891:23;:36::i;:::-;2840:87;2833:94;;2732:202;;;:::o;2112:890:5:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;;;;;;;;;:::i;:::-;;;;;;;;2355:219;2584:15;2602:12;2584:30;;2645:1;2629:18;;:4;:18;;;2625:183;;;2663:40;2695:7;2663:31;:40::i;:::-;2625:183;;;2732:2;2724:10;;:4;:10;;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;2720:88;2625:183;2835:1;2821:16;;:2;:16;;;2817:179;;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;2919:10;;:2;:10;;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2915:81;2817:179;2273:729;2112:890;;;;:::o;2407:149:11:-;2465:13;2497:52;2525:4;2509:22;;343:2;2497:52;;:11;:52::i;:::-;2490:59;;2407:149;;;:::o;1818:437::-;1893:13;1918:19;1963:1;1954:6;1950:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2030:9;2055:1;2046:6;2042:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;2096:8;2113:3;2105:5;:11;2096:21;;;;;;;:::i;:::-;;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;;:33;;;;;;;;;;;2141:1;2131:11;;;;;2065:3;;;;:::i;:::-;;;2025:128;;;;2179:1;2170:5;:10;2162:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2241:6;2227:21;;;1818:437;;;;:::o;8925:920:2:-;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:8:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;829:155:12:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;15472:116:2:-;;;;;:::o;3708:161:5:-;3811:10;:17;;;;3784:15;:24;3800:7;3784:24;;;;;;;;;;;:44;;;;3838:10;3854:7;3838:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3708:161;:::o;4486:970::-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4748:51;;4809:18;4830:17;:26;4848:7;4830:26;;;;;;;;;;;;4809:47;;4974:14;4960:10;:28;4956:323;;5004:19;5026:12;:18;5039:4;5026:18;;;;;;;;;;;;;;;:34;5045:14;5026:34;;;;;;;;;;;;5004:56;;5108:11;5075:12;:18;5088:4;5075:18;;;;;;;;;;;;;;;:30;5094:10;5075:30;;;;;;;;;;;:44;;;;5224:10;5191:17;:30;5209:11;5191:30;;;;;;;;;;;:43;;;;4990:289;4956:323;5372:17;:26;5390:7;5372:26;;;;;;;;;;;5365:33;;;5415:12;:18;5428:4;5415:18;;;;;;;;;;;;;;;:34;5434:14;5415:34;;;;;;;;;;;5408:41;;;4567:889;;4486:970;;:::o;5744:1061::-;5993:22;6038:1;6018:10;:17;;;;:21;;;;:::i;:::-;5993:46;;6049:18;6070:15;:24;6086:7;6070:24;;;;;;;;;;;;6049:45;;6416:19;6438:10;6449:14;6438:26;;;;;;;;:::i;:::-;;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6610:10;6579:15;:28;6595:11;6579:28;;;;;;;;;;;:41;;;;6748:15;:24;6764:7;6748:24;;;;;;;;;;;6741:31;;;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;3380:37;;3454:7;3427:12;:16;3440:2;3427:16;;;;;;;;;;;;;;;:24;3444:6;3427:24;;;;;;;;;;;:34;;;;3500:6;3471:17;:26;3489:7;3471:26;;;;;;;;;;;:35;;;;3370:143;3296:217;;:::o;7:75:18:-;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:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:118::-;5025:24;5043:5;5025:24;:::i;:::-;5020:3;5013:37;4938:118;;:::o;5062:222::-;5155:4;5193:2;5182:9;5178:18;5170:26;;5206:71;5274:1;5263:9;5259:17;5250:6;5206:71;:::i;:::-;5062:222;;;;:::o;5290:329::-;5349:6;5398:2;5386:9;5377:7;5373:23;5369:32;5366:119;;;5404:79;;:::i;:::-;5366:119;5524:1;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5495:117;5290:329;;;;:::o;5625:619::-;5702:6;5710;5718;5767:2;5755:9;5746:7;5742:23;5738:32;5735:119;;;5773:79;;:::i;:::-;5735:119;5893:1;5918:53;5963:7;5954:6;5943:9;5939:22;5918:53;:::i;:::-;5908:63;;5864:117;6020:2;6046:53;6091:7;6082:6;6071:9;6067:22;6046:53;:::i;:::-;6036:63;;5991:118;6148:2;6174:53;6219:7;6210:6;6199:9;6195:22;6174:53;:::i;:::-;6164:63;;6119:118;5625:619;;;;;:::o;6250:77::-;6287:7;6316:5;6305:16;;6250:77;;;:::o;6333:122::-;6406:24;6424:5;6406:24;:::i;:::-;6399:5;6396:35;6386:63;;6445:1;6442;6435:12;6386:63;6333:122;:::o;6461:139::-;6507:5;6545:6;6532:20;6523:29;;6561:33;6588:5;6561:33;:::i;:::-;6461:139;;;;:::o;6606:329::-;6665:6;6714:2;6702:9;6693:7;6689:23;6685:32;6682:119;;;6720:79;;:::i;:::-;6682:119;6840:1;6865:53;6910:7;6901:6;6890:9;6886:22;6865:53;:::i;:::-;6855:63;;6811:117;6606:329;;;;:::o;6941:118::-;7028:24;7046:5;7028:24;:::i;:::-;7023:3;7016:37;6941:118;;:::o;7065:222::-;7158:4;7196:2;7185:9;7181:18;7173:26;;7209:71;7277:1;7266:9;7262:17;7253:6;7209:71;:::i;:::-;7065:222;;;;:::o;7293:474::-;7361:6;7369;7418:2;7406:9;7397:7;7393:23;7389:32;7386:119;;;7424:79;;:::i;:::-;7386:119;7544:1;7569:53;7614:7;7605:6;7594:9;7590:22;7569:53;:::i;:::-;7559:63;;7515:117;7671:2;7697:53;7742:7;7733:6;7722:9;7718:22;7697:53;:::i;:::-;7687:63;;7642:118;7293:474;;;;;:::o;7773:114::-;7840:6;7874:5;7868:12;7858:22;;7773:114;;;:::o;7893:184::-;7992:11;8026:6;8021:3;8014:19;8066:4;8061:3;8057:14;8042:29;;7893:184;;;;:::o;8083:132::-;8150:4;8173:3;8165:11;;8203:4;8198:3;8194:14;8186:22;;8083:132;;;:::o;8221:108::-;8298:24;8316:5;8298:24;:::i;:::-;8293:3;8286:37;8221:108;;:::o;8335:179::-;8404:10;8425:46;8467:3;8459:6;8425:46;:::i;:::-;8503:4;8498:3;8494:14;8480:28;;8335:179;;;;:::o;8520:113::-;8590:4;8622;8617:3;8613:14;8605:22;;8520:113;;;:::o;8669:732::-;8788:3;8817:54;8865:5;8817:54;:::i;:::-;8887:86;8966:6;8961:3;8887:86;:::i;:::-;8880:93;;8997:56;9047:5;8997:56;:::i;:::-;9076:7;9107:1;9092:284;9117:6;9114:1;9111:13;9092:284;;;9193:6;9187:13;9220:63;9279:3;9264:13;9220:63;:::i;:::-;9213:70;;9306:60;9359:6;9306:60;:::i;:::-;9296:70;;9152:224;9139:1;9136;9132:9;9127:14;;9092:284;;;9096:14;9392:3;9385:10;;8793:608;;;8669:732;;;;:::o;9407:373::-;9550:4;9588:2;9577:9;9573:18;9565:26;;9637:9;9631:4;9627:20;9623:1;9612:9;9608:17;9601:47;9665:108;9768:4;9759:6;9665:108;:::i;:::-;9657:116;;9407:373;;;;:::o;9786:116::-;9856:21;9871:5;9856:21;:::i;:::-;9849:5;9846:32;9836:60;;9892:1;9889;9882:12;9836:60;9786:116;:::o;9908:133::-;9951:5;9989:6;9976:20;9967:29;;10005:30;10029:5;10005:30;:::i;:::-;9908:133;;;;:::o;10047:468::-;10112:6;10120;10169:2;10157:9;10148:7;10144:23;10140:32;10137:119;;;10175:79;;:::i;:::-;10137:119;10295:1;10320:53;10365:7;10356:6;10345:9;10341:22;10320:53;:::i;:::-;10310:63;;10266:117;10422:2;10448:50;10490:7;10481:6;10470:9;10466:22;10448:50;:::i;:::-;10438:60;;10393:115;10047:468;;;;;:::o;10521:117::-;10630:1;10627;10620:12;10644:117;10753:1;10750;10743:12;10767:180;10815:77;10812:1;10805:88;10912:4;10909:1;10902:15;10936:4;10933:1;10926:15;10953:281;11036:27;11058:4;11036:27;:::i;:::-;11028:6;11024:40;11166:6;11154:10;11151:22;11130:18;11118:10;11115:34;11112:62;11109:88;;;11177:18;;:::i;:::-;11109:88;11217:10;11213:2;11206:22;10996:238;10953:281;;:::o;11240:129::-;11274:6;11301:20;;:::i;:::-;11291:30;;11330:33;11358:4;11350:6;11330:33;:::i;:::-;11240:129;;;:::o;11375:307::-;11436:4;11526:18;11518:6;11515:30;11512:56;;;11548:18;;:::i;:::-;11512:56;11586:29;11608:6;11586:29;:::i;:::-;11578:37;;11670:4;11664;11660:15;11652:23;;11375:307;;;:::o;11688:154::-;11772:6;11767:3;11762;11749:30;11834:1;11825:6;11820:3;11816:16;11809:27;11688:154;;;:::o;11848:410::-;11925:5;11950:65;11966:48;12007:6;11966:48;:::i;:::-;11950:65;:::i;:::-;11941:74;;12038:6;12031:5;12024:21;12076:4;12069:5;12065:16;12114:3;12105:6;12100:3;12096:16;12093:25;12090:112;;;12121:79;;:::i;:::-;12090:112;12211:41;12245:6;12240:3;12235;12211:41;:::i;:::-;11931:327;11848:410;;;;;:::o;12277:338::-;12332:5;12381:3;12374:4;12366:6;12362:17;12358:27;12348:122;;12389:79;;:::i;:::-;12348:122;12506:6;12493:20;12531:78;12605:3;12597:6;12590:4;12582:6;12578:17;12531:78;:::i;:::-;12522:87;;12338:277;12277:338;;;;:::o;12621:943::-;12716:6;12724;12732;12740;12789:3;12777:9;12768:7;12764:23;12760:33;12757:120;;;12796:79;;:::i;:::-;12757:120;12916:1;12941:53;12986:7;12977:6;12966:9;12962:22;12941:53;:::i;:::-;12931:63;;12887:117;13043:2;13069:53;13114:7;13105:6;13094:9;13090:22;13069:53;:::i;:::-;13059:63;;13014:118;13171:2;13197:53;13242:7;13233:6;13222:9;13218:22;13197:53;:::i;:::-;13187:63;;13142:118;13327:2;13316:9;13312:18;13299:32;13358:18;13350:6;13347:30;13344:117;;;13380:79;;:::i;:::-;13344:117;13485:62;13539:7;13530:6;13519:9;13515:22;13485:62;:::i;:::-;13475:72;;13270:287;12621:943;;;;;;;:::o;13570:474::-;13638:6;13646;13695:2;13683:9;13674:7;13670:23;13666:32;13663:119;;;13701:79;;:::i;:::-;13663:119;13821:1;13846:53;13891:7;13882:6;13871:9;13867:22;13846:53;:::i;:::-;13836:63;;13792:117;13948:2;13974:53;14019:7;14010:6;13999:9;13995:22;13974:53;:::i;:::-;13964:63;;13919:118;13570:474;;;;;:::o;14050:180::-;14098:77;14095:1;14088:88;14195:4;14192:1;14185:15;14219:4;14216:1;14209:15;14236:320;14280:6;14317:1;14311:4;14307:12;14297:22;;14364:1;14358:4;14354:12;14385:18;14375:81;;14441:4;14433:6;14429:17;14419:27;;14375:81;14503:2;14495:6;14492:14;14472:18;14469:38;14466:84;;;14522:18;;:::i;:::-;14466:84;14287:269;14236:320;;;:::o;14562:220::-;14702:34;14698:1;14690:6;14686:14;14679:58;14771:3;14766:2;14758:6;14754:15;14747:28;14562:220;:::o;14788:366::-;14930:3;14951:67;15015:2;15010:3;14951:67;:::i;:::-;14944:74;;15027:93;15116:3;15027:93;:::i;:::-;15145:2;15140:3;15136:12;15129:19;;14788:366;;;:::o;15160:419::-;15326:4;15364:2;15353:9;15349:18;15341:26;;15413:9;15407:4;15403:20;15399:1;15388:9;15384:17;15377:47;15441:131;15567:4;15441:131;:::i;:::-;15433:139;;15160:419;;;:::o;15585:248::-;15725:34;15721:1;15713:6;15709:14;15702:58;15794:31;15789:2;15781:6;15777:15;15770:56;15585:248;:::o;15839:366::-;15981:3;16002:67;16066:2;16061:3;16002:67;:::i;:::-;15995:74;;16078:93;16167:3;16078:93;:::i;:::-;16196:2;16191:3;16187:12;16180:19;;15839:366;;;:::o;16211:419::-;16377:4;16415:2;16404:9;16400:18;16392:26;;16464:9;16458:4;16454:20;16450:1;16439:9;16435:17;16428:47;16492:131;16618:4;16492:131;:::i;:::-;16484:139;;16211:419;;;:::o;16636:232::-;16776:34;16772:1;16764:6;16760:14;16753:58;16845:15;16840:2;16832:6;16828:15;16821:40;16636:232;:::o;16874:366::-;17016:3;17037:67;17101:2;17096:3;17037:67;:::i;:::-;17030:74;;17113:93;17202:3;17113:93;:::i;:::-;17231:2;17226:3;17222:12;17215:19;;16874:366;;;:::o;17246:419::-;17412:4;17450:2;17439:9;17435:18;17427:26;;17499:9;17493:4;17489:20;17485:1;17474:9;17470:17;17463:47;17527:131;17653:4;17527:131;:::i;:::-;17519:139;;17246:419;;;:::o;17671:230::-;17811:34;17807:1;17799:6;17795:14;17788:58;17880:13;17875:2;17867:6;17863:15;17856:38;17671:230;:::o;17907:366::-;18049:3;18070:67;18134:2;18129:3;18070:67;:::i;:::-;18063:74;;18146:93;18235:3;18146:93;:::i;:::-;18264:2;18259:3;18255:12;18248:19;;17907:366;;;:::o;18279:419::-;18445:4;18483:2;18472:9;18468:18;18460:26;;18532:9;18526:4;18522:20;18518:1;18507:9;18503:17;18496:47;18560:131;18686:4;18560:131;:::i;:::-;18552:139;;18279:419;;;:::o;18704:234::-;18844:34;18840:1;18832:6;18828:14;18821:58;18913:17;18908:2;18900:6;18896:15;18889:42;18704:234;:::o;18944:366::-;19086:3;19107:67;19171:2;19166:3;19107:67;:::i;:::-;19100:74;;19183:93;19272:3;19183:93;:::i;:::-;19301:2;19296:3;19292:12;19285:19;;18944:366;;;:::o;19316:419::-;19482:4;19520:2;19509:9;19505:18;19497:26;;19569:9;19563:4;19559:20;19555:1;19544:9;19540:17;19533:47;19597:131;19723:4;19597:131;:::i;:::-;19589:139;;19316:419;;;:::o;19741:182::-;19881:34;19877:1;19869:6;19865:14;19858:58;19741:182;:::o;19929:366::-;20071:3;20092:67;20156:2;20151:3;20092:67;:::i;:::-;20085:74;;20168:93;20257:3;20168:93;:::i;:::-;20286:2;20281:3;20277:12;20270:19;;19929:366;;;:::o;20301:419::-;20467:4;20505:2;20494:9;20490:18;20482:26;;20554:9;20548:4;20544:20;20540:1;20529:9;20525:17;20518:47;20582:131;20708:4;20582:131;:::i;:::-;20574:139;;20301:419;;;:::o;20726:168::-;20866:20;20862:1;20854:6;20850:14;20843:44;20726:168;:::o;20900:366::-;21042:3;21063:67;21127:2;21122:3;21063:67;:::i;:::-;21056:74;;21139:93;21228:3;21139:93;:::i;:::-;21257:2;21252:3;21248:12;21241:19;;20900:366;;;:::o;21272:419::-;21438:4;21476:2;21465:9;21461:18;21453:26;;21525:9;21519:4;21515:20;21511:1;21500:9;21496:17;21489:47;21553:131;21679:4;21553:131;:::i;:::-;21545:139;;21272:419;;;:::o;21697:167::-;21837:19;21833:1;21825:6;21821:14;21814:43;21697:167;:::o;21870:366::-;22012:3;22033:67;22097:2;22092:3;22033:67;:::i;:::-;22026:74;;22109:93;22198:3;22109:93;:::i;:::-;22227:2;22222:3;22218:12;22211:19;;21870:366;;;:::o;22242:419::-;22408:4;22446:2;22435:9;22431:18;22423:26;;22495:9;22489:4;22485:20;22481:1;22470:9;22466:17;22459:47;22523:131;22649:4;22523:131;:::i;:::-;22515:139;;22242:419;;;:::o;22667:180::-;22715:77;22712:1;22705:88;22812:4;22809:1;22802:15;22836:4;22833:1;22826:15;22853:305;22893:3;22912:20;22930:1;22912:20;:::i;:::-;22907:25;;22946:20;22964:1;22946:20;:::i;:::-;22941:25;;23100:1;23032:66;23028:74;23025:1;23022:81;23019:107;;;23106:18;;:::i;:::-;23019:107;23150:1;23147;23143:9;23136:16;;22853:305;;;;:::o;23164:173::-;23304:25;23300:1;23292:6;23288:14;23281:49;23164:173;:::o;23343:366::-;23485:3;23506:67;23570:2;23565:3;23506:67;:::i;:::-;23499:74;;23582:93;23671:3;23582:93;:::i;:::-;23700:2;23695:3;23691:12;23684:19;;23343:366;;;:::o;23715:419::-;23881:4;23919:2;23908:9;23904:18;23896:26;;23968:9;23962:4;23958:20;23954:1;23943:9;23939:17;23932:47;23996:131;24122:4;23996:131;:::i;:::-;23988:139;;23715:419;;;:::o;24140:180::-;24188:77;24185:1;24178:88;24285:4;24282:1;24275:15;24309:4;24306:1;24299:15;24326:233;24365:3;24388:24;24406:5;24388:24;:::i;:::-;24379:33;;24434:66;24427:5;24424:77;24421:103;;;24504:18;;:::i;:::-;24421:103;24551:1;24544:5;24540:13;24533:20;;24326:233;;;:::o;24565:231::-;24705:34;24701:1;24693:6;24689:14;24682:58;24774:14;24769:2;24761:6;24757:15;24750:39;24565:231;:::o;24802:366::-;24944:3;24965:67;25029:2;25024:3;24965:67;:::i;:::-;24958:74;;25041:93;25130:3;25041:93;:::i;:::-;25159:2;25154:3;25150:12;25143:19;;24802:366;;;:::o;25174:419::-;25340:4;25378:2;25367:9;25363:18;25355:26;;25427:9;25421:4;25417:20;25413:1;25402:9;25398:17;25391:47;25455:131;25581:4;25455:131;:::i;:::-;25447:139;;25174:419;;;:::o;25599:174::-;25739:26;25735:1;25727:6;25723:14;25716:50;25599:174;:::o;25779:366::-;25921:3;25942:67;26006:2;26001:3;25942:67;:::i;:::-;25935:74;;26018:93;26107:3;26018:93;:::i;:::-;26136:2;26131:3;26127:12;26120:19;;25779:366;;;:::o;26151:419::-;26317:4;26355:2;26344:9;26340:18;26332:26;;26404:9;26398:4;26394:20;26390:1;26379:9;26375:17;26368:47;26432:131;26558:4;26432:131;:::i;:::-;26424:139;;26151:419;;;:::o;26576:177::-;26716:29;26712:1;26704:6;26700:14;26693:53;26576:177;:::o;26759:366::-;26901:3;26922:67;26986:2;26981:3;26922:67;:::i;:::-;26915:74;;26998:93;27087:3;26998:93;:::i;:::-;27116:2;27111:3;27107:12;27100:19;;26759:366;;;:::o;27131:419::-;27297:4;27335:2;27324:9;27320:18;27312:26;;27384:9;27378:4;27374:20;27370:1;27359:9;27355:17;27348:47;27412:131;27538:4;27412:131;:::i;:::-;27404:139;;27131:419;;;:::o;27556:228::-;27696:34;27692:1;27684:6;27680:14;27673:58;27765:11;27760:2;27752:6;27748:15;27741:36;27556:228;:::o;27790:366::-;27932:3;27953:67;28017:2;28012:3;27953:67;:::i;:::-;27946:74;;28029:93;28118:3;28029:93;:::i;:::-;28147:2;28142:3;28138:12;28131:19;;27790:366;;;:::o;28162:419::-;28328:4;28366:2;28355:9;28351:18;28343:26;;28415:9;28409:4;28405:20;28401:1;28390:9;28386:17;28379:47;28443:131;28569:4;28443:131;:::i;:::-;28435:139;;28162:419;;;:::o;28587:181::-;28727:33;28723:1;28715:6;28711:14;28704:57;28587:181;:::o;28774:366::-;28916:3;28937:67;29001:2;28996:3;28937:67;:::i;:::-;28930:74;;29013:93;29102:3;29013:93;:::i;:::-;29131:2;29126:3;29122:12;29115:19;;28774:366;;;:::o;29146:419::-;29312:4;29350:2;29339:9;29335:18;29327:26;;29399:9;29393:4;29389:20;29385:1;29374:9;29370:17;29363:47;29427:131;29553:4;29427:131;:::i;:::-;29419:139;;29146:419;;;:::o;29571:332::-;29692:4;29730:2;29719:9;29715:18;29707:26;;29743:71;29811:1;29800:9;29796:17;29787:6;29743:71;:::i;:::-;29824:72;29892:2;29881:9;29877:18;29868:6;29824:72;:::i;:::-;29571:332;;;;;:::o;29909:308::-;29971:4;30061:18;30053:6;30050:30;30047:56;;;30083:18;;:::i;:::-;30047:56;30121:29;30143:6;30121:29;:::i;:::-;30113:37;;30205:4;30199;30195:15;30187:23;;29909:308;;;:::o;30223:421::-;30312:5;30337:66;30353:49;30395:6;30353:49;:::i;:::-;30337:66;:::i;:::-;30328:75;;30426:6;30419:5;30412:21;30464:4;30457:5;30453:16;30502:3;30493:6;30488:3;30484:16;30481:25;30478:112;;;30509:79;;:::i;:::-;30478:112;30599:39;30631:6;30626:3;30621;30599:39;:::i;:::-;30318:326;30223:421;;;;;:::o;30664:355::-;30731:5;30780:3;30773:4;30765:6;30761:17;30757:27;30747:122;;30788:79;;:::i;:::-;30747:122;30898:6;30892:13;30923:90;31009:3;31001:6;30994:4;30986:6;30982:17;30923:90;:::i;:::-;30914:99;;30737:282;30664:355;;;;:::o;31025:524::-;31105:6;31154:2;31142:9;31133:7;31129:23;31125:32;31122:119;;;31160:79;;:::i;:::-;31122:119;31301:1;31290:9;31286:17;31280:24;31331:18;31323:6;31320:30;31317:117;;;31353:79;;:::i;:::-;31317:117;31458:74;31524:7;31515:6;31504:9;31500:22;31458:74;:::i;:::-;31448:84;;31251:291;31025:524;;;;:::o;31555:224::-;31695:34;31691:1;31683:6;31679:14;31672:58;31764:7;31759:2;31751:6;31747:15;31740:32;31555:224;:::o;31785:366::-;31927:3;31948:67;32012:2;32007:3;31948:67;:::i;:::-;31941:74;;32024:93;32113:3;32024:93;:::i;:::-;32142:2;32137:3;32133:12;32126:19;;31785:366;;;:::o;32157:419::-;32323:4;32361:2;32350:9;32346:18;32338:26;;32410:9;32404:4;32400:20;32396:1;32385:9;32381:17;32374:47;32438:131;32564:4;32438:131;:::i;:::-;32430:139;;32157:419;;;:::o;32582:223::-;32722:34;32718:1;32710:6;32706:14;32699:58;32791:6;32786:2;32778:6;32774:15;32767:31;32582:223;:::o;32811:366::-;32953:3;32974:67;33038:2;33033:3;32974:67;:::i;:::-;32967:74;;33050:93;33139:3;33050:93;:::i;:::-;33168:2;33163:3;33159:12;33152:19;;32811:366;;;:::o;33183:419::-;33349:4;33387:2;33376:9;33372:18;33364:26;;33436:9;33430:4;33426:20;33422:1;33411:9;33407:17;33400:47;33464:131;33590:4;33464:131;:::i;:::-;33456:139;;33183:419;;;:::o;33608:175::-;33748:27;33744:1;33736:6;33732:14;33725:51;33608:175;:::o;33789:366::-;33931:3;33952:67;34016:2;34011:3;33952:67;:::i;:::-;33945:74;;34028:93;34117:3;34028:93;:::i;:::-;34146:2;34141:3;34137:12;34130:19;;33789:366;;;:::o;34161:419::-;34327:4;34365:2;34354:9;34350:18;34342:26;;34414:9;34408:4;34404:20;34400:1;34389:9;34385:17;34378:47;34442:131;34568:4;34442:131;:::i;:::-;34434:139;;34161:419;;;:::o;34586:237::-;34726:34;34722:1;34714:6;34710:14;34703:58;34795:20;34790:2;34782:6;34778:15;34771:45;34586:237;:::o;34829:366::-;34971:3;34992:67;35056:2;35051:3;34992:67;:::i;:::-;34985:74;;35068:93;35157:3;35068:93;:::i;:::-;35186:2;35181:3;35177:12;35170:19;;34829:366;;;:::o;35201:419::-;35367:4;35405:2;35394:9;35390:18;35382:26;;35454:9;35448:4;35444:20;35440:1;35429:9;35425:17;35418:47;35482:131;35608:4;35482:131;:::i;:::-;35474:139;;35201:419;;;:::o;35626:172::-;35766:24;35762:1;35754:6;35750:14;35743:48;35626:172;:::o;35804:366::-;35946:3;35967:67;36031:2;36026:3;35967:67;:::i;:::-;35960:74;;36043:93;36132:3;36043:93;:::i;:::-;36161:2;36156:3;36152:12;36145:19;;35804:366;;;:::o;36176:419::-;36342:4;36380:2;36369:9;36365:18;36357:26;;36429:9;36423:4;36419:20;36415:1;36404:9;36400:17;36393:47;36457:131;36583:4;36457:131;:::i;:::-;36449:139;;36176:419;;;:::o;36601:148::-;36703:11;36740:3;36725:18;;36601:148;;;;:::o;36755:173::-;36895:25;36891:1;36883:6;36879:14;36872:49;36755:173;:::o;36934:402::-;37094:3;37115:85;37197:2;37192:3;37115:85;:::i;:::-;37108:92;;37209:93;37298:3;37209:93;:::i;:::-;37327:2;37322:3;37318:12;37311:19;;36934:402;;;:::o;37342:377::-;37448:3;37476:39;37509:5;37476:39;:::i;:::-;37531:89;37613:6;37608:3;37531:89;:::i;:::-;37524:96;;37629:52;37674:6;37669:3;37662:4;37655:5;37651:16;37629:52;:::i;:::-;37706:6;37701:3;37697:16;37690:23;;37452:267;37342:377;;;;:::o;37725:167::-;37865:19;37861:1;37853:6;37849:14;37842:43;37725:167;:::o;37898:402::-;38058:3;38079:85;38161:2;38156:3;38079:85;:::i;:::-;38072:92;;38173:93;38262:3;38173:93;:::i;:::-;38291:2;38286:3;38282:12;38275:19;;37898:402;;;:::o;38306:967::-;38688:3;38710:148;38854:3;38710:148;:::i;:::-;38703:155;;38875:95;38966:3;38957:6;38875:95;:::i;:::-;38868:102;;38987:148;39131:3;38987:148;:::i;:::-;38980:155;;39152:95;39243:3;39234:6;39152:95;:::i;:::-;39145:102;;39264:3;39257:10;;38306:967;;;;;:::o;39279:98::-;39330:6;39364:5;39358:12;39348:22;;39279:98;;;:::o;39383:168::-;39466:11;39500:6;39495:3;39488:19;39540:4;39535:3;39531:14;39516:29;;39383:168;;;;:::o;39557:360::-;39643:3;39671:38;39703:5;39671:38;:::i;:::-;39725:70;39788:6;39783:3;39725:70;:::i;:::-;39718:77;;39804:52;39849:6;39844:3;39837:4;39830:5;39826:16;39804:52;:::i;:::-;39881:29;39903:6;39881:29;:::i;:::-;39876:3;39872:39;39865:46;;39647:270;39557:360;;;;:::o;39923:640::-;40118:4;40156:3;40145:9;40141:19;40133:27;;40170:71;40238:1;40227:9;40223:17;40214:6;40170:71;:::i;:::-;40251:72;40319:2;40308:9;40304:18;40295:6;40251:72;:::i;:::-;40333;40401:2;40390:9;40386:18;40377:6;40333:72;:::i;:::-;40452:9;40446:4;40442:20;40437:2;40426:9;40422:18;40415:48;40480:76;40551:4;40542:6;40480:76;:::i;:::-;40472:84;;39923:640;;;;;;;:::o;40569:141::-;40625:5;40656:6;40650:13;40641:22;;40672:32;40698:5;40672:32;:::i;:::-;40569:141;;;;:::o;40716:349::-;40785:6;40834:2;40822:9;40813:7;40809:23;40805:32;40802:119;;;40840:79;;:::i;:::-;40802:119;40960:1;40985:63;41040:7;41031:6;41020:9;41016:22;40985:63;:::i;:::-;40975:73;;40931:127;40716:349;;;;:::o;41071:240::-;41211:34;41207:1;41199:6;41195:14;41188:58;41280:23;41275:2;41267:6;41263:15;41256:48;41071:240;:::o;41317:366::-;41459:3;41480:67;41544:2;41539:3;41480:67;:::i;:::-;41473:74;;41556:93;41645:3;41556:93;:::i;:::-;41674:2;41669:3;41665:12;41658:19;;41317:366;;;:::o;41689:419::-;41855:4;41893:2;41882:9;41878:18;41870:26;;41942:9;41936:4;41932:20;41928:1;41917:9;41913:17;41906:47;41970:131;42096:4;41970:131;:::i;:::-;41962:139;;41689:419;;;:::o;42114:348::-;42154:7;42177:20;42195:1;42177:20;:::i;:::-;42172:25;;42211:20;42229:1;42211:20;:::i;:::-;42206:25;;42399:1;42331:66;42327:74;42324:1;42321:81;42316:1;42309:9;42302:17;42298:105;42295:131;;;42406:18;;:::i;:::-;42295:131;42454:1;42451;42447:9;42436:20;;42114:348;;;;:::o;42468:171::-;42507:3;42530:24;42548:5;42530:24;:::i;:::-;42521:33;;42576:4;42569:5;42566:15;42563:41;;;42584:18;;:::i;:::-;42563:41;42631:1;42624:5;42620:13;42613:20;;42468:171;;;:::o;42645:182::-;42785:34;42781:1;42773:6;42769:14;42762:58;42645:182;:::o;42833:366::-;42975:3;42996:67;43060:2;43055:3;42996:67;:::i;:::-;42989:74;;43072:93;43161:3;43072:93;:::i;:::-;43190:2;43185:3;43181:12;43174:19;;42833:366;;;:::o;43205:419::-;43371:4;43409:2;43398:9;43394:18;43386:26;;43458:9;43452:4;43448:20;43444:1;43433:9;43429:17;43422:47;43486:131;43612:4;43486:131;:::i;:::-;43478:139;;43205:419;;;:::o;43630:182::-;43770:34;43766:1;43758:6;43754:14;43747:58;43630:182;:::o;43818:366::-;43960:3;43981:67;44045:2;44040:3;43981:67;:::i;:::-;43974:74;;44057:93;44146:3;44057:93;:::i;:::-;44175:2;44170:3;44166:12;44159:19;;43818:366;;;:::o;44190:419::-;44356:4;44394:2;44383:9;44379:18;44371:26;;44443:9;44437:4;44433:20;44429:1;44418:9;44414:17;44407:47;44471:131;44597:4;44471:131;:::i;:::-;44463:139;;44190:419;;;:::o;44615:178::-;44755:30;44751:1;44743:6;44739:14;44732:54;44615:178;:::o;44799:366::-;44941:3;44962:67;45026:2;45021:3;44962:67;:::i;:::-;44955:74;;45038:93;45127:3;45038:93;:::i;:::-;45156:2;45151:3;45147:12;45140:19;;44799:366;;;:::o;45171:419::-;45337:4;45375:2;45364:9;45360:18;45352:26;;45424:9;45418:4;45414:20;45410:1;45399:9;45395:17;45388:47;45452:131;45578:4;45452:131;:::i;:::-;45444:139;;45171:419;;;:::o;45596:191::-;45636:4;45656:20;45674:1;45656:20;:::i;:::-;45651:25;;45690:20;45708:1;45690:20;:::i;:::-;45685:25;;45729:1;45726;45723:8;45720:34;;;45734:18;;:::i;:::-;45720:34;45779:1;45776;45772:9;45764:17;;45596:191;;;;:::o;45793:180::-;45841:77;45838:1;45831:88;45938:4;45935:1;45928:15;45962:4;45959:1;45952:15", + "source": "// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.10;\r\n\r\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\r\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\r\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\r\nimport \"../../interfaces/IMetaData.sol\";\r\n\r\ncontract NFTSbt is AccessControl, ERC721Enumerable {\r\n using Counters for Counters.Counter;\r\n address private _metaAddress;\r\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\r\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\r\n uint256 public immutable supplyLimit;\r\n\r\n Counters.Counter private _tokenIdCounter;\r\n\r\n uint256 public maxBatchSize = 500;\r\n\r\n constructor(\r\n string memory _name,\r\n string memory _symbol,\r\n uint256 _supplyLimt\r\n ) ERC721(_name, _symbol) {\r\n supplyLimit = _supplyLimt;\r\n _setRoleAdmin(BURN_ROLE, DEFAULT_ADMIN_ROLE);\r\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\r\n\r\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\r\n _setupRole(MINTER_ROLE, msg.sender);\r\n _setupRole(BURN_ROLE, msg.sender);\r\n }\r\n\r\n /**\r\n * @dev See {IERC165-supportsInterface}.\r\n */\r\n function supportsInterface(\r\n bytes4 interfaceId\r\n )\r\n public\r\n view\r\n virtual\r\n override(AccessControl, ERC721Enumerable)\r\n returns (bool)\r\n {\r\n return super.supportsInterface(interfaceId);\r\n }\r\n\r\n function _beforeTokenTransfer(\r\n address from,\r\n address to,\r\n uint256 firstTokenId,\r\n uint256 batchSize\r\n ) internal virtual override {\r\n require(from == address(0) || to == address(0), \"Token not transferable\");\r\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\r\n }\r\n\r\n /**\r\n * @dev Set token URI\r\n */\r\n function updateMetaAddress(\r\n address metaAddress\r\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\r\n _metaAddress = metaAddress;\r\n }\r\n\r\n /**\r\n * @dev one type badge has same tokenURI\r\n */\r\n function tokenURI(\r\n uint256 tokenId\r\n ) public view override returns (string memory) {\r\n require(_exists(tokenId), \"URI query for nonexistent token\");\r\n return IMetaData(_metaAddress).getMetaData(address(this), tokenId);\r\n }\r\n\r\n function batchMint(\r\n address to,\r\n uint256 count\r\n ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) {\r\n require(count > 0, \"tokenIds too small\");\r\n require(count <= maxBatchSize, \"tokenIds too many\");\r\n if (supplyLimit > 0) {\r\n require(\r\n (totalSupply() + count) <= supplyLimit,\r\n \"Exceed the total supply\"\r\n );\r\n }\r\n uint256[] memory tokenIds = new uint256[](count);\r\n for (uint256 i = 0; i < count; i++) {\r\n _tokenIdCounter.increment();\r\n uint256 tokenId = _tokenIdCounter.current();\r\n _safeMint(to, tokenId);\r\n tokenIds[i] = tokenId;\r\n }\r\n return tokenIds;\r\n }\r\n\r\n function mint(address to) external onlyRole(MINTER_ROLE) returns (uint256) {\r\n require(to != address(0), \"Cannot mint to zero address\");\r\n if (supplyLimit > 0) {\r\n require((totalSupply() + 1) <= supplyLimit, \"Exceed the total supply\");\r\n }\r\n _tokenIdCounter.increment();\r\n uint256 tokenId = _tokenIdCounter.current();\r\n _safeMint(to, tokenId);\r\n return tokenId;\r\n }\r\n\r\n function burn(uint256 tokenId) external onlyRole(BURN_ROLE) {\r\n require(\r\n _isApprovedOrOwner(_msgSender(), tokenId),\r\n \"Caller is not owner nor approved\"\r\n );\r\n _burn(tokenId);\r\n }\r\n\r\n /**\r\n * @dev Grant mint role to address\r\n */\r\n function setMintRole(address to) external {\r\n grantRole(MINTER_ROLE, to);\r\n }\r\n\r\n /**\r\n * @dev Remove mint role to address\r\n */\r\n function removeMintRole(address to) external {\r\n revokeRole(MINTER_ROLE, to);\r\n }\r\n\r\n /**\r\n * @dev Grant burn role to address\r\n */\r\n function setBurnRole(address to) external {\r\n grantRole(BURN_ROLE, to);\r\n }\r\n\r\n /**\r\n * @dev Remove burn role to address\r\n */\r\n function removeBurnRole(address to) external {\r\n revokeRole(BURN_ROLE, to);\r\n }\r\n}\r\n", + "sourcePath": "C:\\work\\CEBG\\becrypto\\contracts\\tokens\\erc721\\NFTSbt.sol", + "ast": { + "absolutePath": "project:/contracts/tokens/erc721/NFTSbt.sol", + "exportedSymbols": { + "AccessControl": [ + 315 + ], + "Address": [ + 2191 + ], + "Context": [ + 2213 + ], + "Counters": [ + 2287 + ], + "ERC165": [ + 2540 + ], + "ERC721": [ + 1315 + ], + "ERC721Enumerable": [ + 1803 + ], + "IAccessControl": [ + 388 + ], + "IERC165": [ + 2552 + ], + "IERC721": [ + 1431 + ], + "IERC721Enumerable": [ + 1834 + ], + "IERC721Metadata": [ + 1861 + ], + "IERC721Receiver": [ + 1449 + ], + "IMetaData": [ + 3535 + ], + "Math": [ + 3418 + ], + "NFTSbt": [ + 3930 + ], + "SignedMath": [ + 3523 + ], + "Strings": [ + 2516 + ] + }, + "id": 3931, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3537, + "literals": [ + "solidity", + "0.8", + ".10" + ], + "nodeType": "PragmaDirective", + "src": "33:23:17" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "id": 3538, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3931, + "sourceUnit": 1804, + "src": "60:78:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", + "file": "@openzeppelin/contracts/utils/Counters.sol", + "id": 3539, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3931, + "sourceUnit": 2288, + "src": "140:52:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "file": "@openzeppelin/contracts/access/AccessControl.sol", + "id": 3540, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3931, + "sourceUnit": 316, + "src": "194:58:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/interfaces/IMetaData.sol", + "file": "../../interfaces/IMetaData.sol", + "id": 3541, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3931, + "sourceUnit": 3536, + "src": "254:40:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3542, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 315, + "src": "317:13:17" + }, + "id": 3543, + "nodeType": "InheritanceSpecifier", + "src": "317:13:17" + }, + { + "baseName": { + "id": 3544, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1803, + "src": "332:16:17" + }, + "id": 3545, + "nodeType": "InheritanceSpecifier", + "src": "332:16:17" + } + ], + "canonicalName": "NFTSbt", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3930, + "linearizedBaseContracts": [ + 3930, + 1803, + 1834, + 1315, + 1861, + 1431, + 315, + 2540, + 2552, + 388, + 2213 + ], + "name": "NFTSbt", + "nameLocation": "307:6:17", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 3549, + "libraryName": { + "id": 3546, + "name": "Counters", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2287, + "src": "360:8:17" + }, + "nodeType": "UsingForDirective", + "src": "354:36:17", + "typeName": { + "id": 3548, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3547, + "name": "Counters.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2219, + "src": "373:16:17" + }, + "referencedDeclaration": 2219, + "src": "373:16:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage_ptr", + "typeString": "struct Counters.Counter" + } + } + }, + { + "constant": false, + "id": 3551, + "mutability": "mutable", + "name": "_metaAddress", + "nameLocation": "410:12:17", + "nodeType": "VariableDeclaration", + "scope": 3930, + "src": "394:28:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3550, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "394:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": true, + "functionSelector": "b930908f", + "id": 3556, + "mutability": "constant", + "name": "BURN_ROLE", + "nameLocation": "451:9:17", + "nodeType": "VariableDeclaration", + "scope": 3930, + "src": "427:58:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3552, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "427:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4255524e5f524f4c45", + "id": 3554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "473:11:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", + "typeString": "literal_string \"BURN_ROLE\"" + }, + "value": "BURN_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", + "typeString": "literal_string \"BURN_ROLE\"" + } + ], + "id": 3553, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "463:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "463:22:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "d5391393", + "id": 3561, + "mutability": "constant", + "name": "MINTER_ROLE", + "nameLocation": "514:11:17", + "nodeType": "VariableDeclaration", + "scope": 3930, + "src": "490:62:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3557, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "490:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d494e5445525f524f4c45", + "id": 3559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "538:13:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + }, + "value": "MINTER_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + } + ], + "id": 3558, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "528:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "528:24:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "19d1997a", + "id": 3563, + "mutability": "immutable", + "name": "supplyLimit", + "nameLocation": "582:11:17", + "nodeType": "VariableDeclaration", + "scope": 3930, + "src": "557:36:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3562, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "557:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 3566, + "mutability": "mutable", + "name": "_tokenIdCounter", + "nameLocation": "625:15:17", + "nodeType": "VariableDeclaration", + "scope": 3930, + "src": "600:40:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 3565, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3564, + "name": "Counters.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2219, + "src": "600:16:17" + }, + "referencedDeclaration": 2219, + "src": "600:16:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "2913daa0", + "id": 3569, + "mutability": "mutable", + "name": "maxBatchSize", + "nameLocation": "662:12:17", + "nodeType": "VariableDeclaration", + "scope": 3930, + "src": "647:33:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3567, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "647:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "353030", + "id": 3568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "677:3:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_500_by_1", + "typeString": "int_const 500" + }, + "value": "500" + }, + "visibility": "public" + }, + { + "body": { + "id": 3614, + "nodeType": "Block", + "src": "807:275:17", + "statements": [ + { + "expression": { + "id": 3584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3582, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3563, + "src": "814:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3583, + "name": "_supplyLimt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3575, + "src": "828:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "814:25:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3585, + "nodeType": "ExpressionStatement", + "src": "814:25:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3587, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "860:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3588, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "871:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3586, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 251, + "src": "846:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "846:44:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3590, + "nodeType": "ExpressionStatement", + "src": "846:44:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3592, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "911:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3593, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "924:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3591, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 251, + "src": "897:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "897:46:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3595, + "nodeType": "ExpressionStatement", + "src": "897:46:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3597, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "963:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 3598, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "983:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "983:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3596, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "952:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:42:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3601, + "nodeType": "ExpressionStatement", + "src": "952:42:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3603, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "1012:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 3604, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1025:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1025:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3602, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "1001:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1001:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3607, + "nodeType": "ExpressionStatement", + "src": "1001:35:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3609, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "1054:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 3610, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1065:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1065:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3608, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "1043:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1043:33:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3613, + "nodeType": "ExpressionStatement", + "src": "1043:33:17" + } + ] + }, + "id": 3615, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3578, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3571, + "src": "791:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3579, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3573, + "src": "798:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 3580, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3577, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1315, + "src": "784:6:17" + }, + "nodeType": "ModifierInvocation", + "src": "784:22:17" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3571, + "mutability": "mutable", + "name": "_name", + "nameLocation": "719:5:17", + "nodeType": "VariableDeclaration", + "scope": 3615, + "src": "705:19:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3570, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "705:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3573, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "745:7:17", + "nodeType": "VariableDeclaration", + "scope": 3615, + "src": "731:21:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3572, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "731:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3575, + "mutability": "mutable", + "name": "_supplyLimt", + "nameLocation": "767:11:17", + "nodeType": "VariableDeclaration", + "scope": 3615, + "src": "759:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3574, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "759:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "698:85:17" + }, + "returnParameters": { + "id": 3581, + "nodeType": "ParameterList", + "parameters": [], + "src": "807:0:17" + }, + "scope": 3930, + "src": "687:395:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 60, + 1499 + ], + "body": { + "id": 3631, + "nodeType": "Block", + "src": "1308:56:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3628, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3618, + "src": "1346:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 3626, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "1322:5:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFTSbt_$3930_$", + "typeString": "type(contract super NFTSbt)" + } + }, + "id": 3627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1499, + "src": "1322:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 3629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1322:36:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3625, + "id": 3630, + "nodeType": "Return", + "src": "1315:43:17" + } + ] + }, + "documentation": { + "id": 3616, + "nodeType": "StructuredDocumentation", + "src": "1088:54:17", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 3632, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1155:17:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3622, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 3620, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 315, + "src": "1252:13:17" + }, + { + "id": 3621, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1803, + "src": "1267:16:17" + } + ], + "src": "1243:41:17" + }, + "parameters": { + "id": 3619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3618, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1186:11:17", + "nodeType": "VariableDeclaration", + "scope": 3632, + "src": "1179:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3617, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1179:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1172:30:17" + }, + "returnParameters": { + "id": 3625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3624, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3632, + "src": "1299:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3623, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1299:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1298:6:17" + }, + "scope": 3930, + "src": "1146:218:17", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1641 + ], + "body": { + "id": 3670, + "nodeType": "Block", + "src": "1518:154:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3645, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3634, + "src": "1533:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1549:1:17", + "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": 3647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1541:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1541:7:17", + "typeDescriptions": {} + } + }, + "id": 3649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1541:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1533:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3651, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3636, + "src": "1555:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1569:1:17", + "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": 3653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1561:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3652, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1561:7:17", + "typeDescriptions": {} + } + }, + "id": 3655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1561:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1555:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1533:38:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e206e6f74207472616e7366657261626c65", + "id": 3658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1573:24:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6", + "typeString": "literal_string \"Token not transferable\"" + }, + "value": "Token not transferable" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6", + "typeString": "literal_string \"Token not transferable\"" + } + ], + "id": 3644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1525:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1525:73:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3660, + "nodeType": "ExpressionStatement", + "src": "1525:73:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3664, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3634, + "src": "1632:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3665, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3636, + "src": "1638:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3666, + "name": "firstTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3638, + "src": "1642:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3667, + "name": "batchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3640, + "src": "1656:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3661, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "1605:5:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFTSbt_$3930_$", + "typeString": "type(contract super NFTSbt)" + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_beforeTokenTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1641, + "src": "1605:26:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 3668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1605:61:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3669, + "nodeType": "ExpressionStatement", + "src": "1605:61:17" + } + ] + }, + "id": 3671, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "1379:20:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3642, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1509:8:17" + }, + "parameters": { + "id": 3641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3634, + "mutability": "mutable", + "name": "from", + "nameLocation": "1414:4:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1406:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1406:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3636, + "mutability": "mutable", + "name": "to", + "nameLocation": "1433:2:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1425:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1425:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3638, + "mutability": "mutable", + "name": "firstTokenId", + "nameLocation": "1450:12:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1442:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1442:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3640, + "mutability": "mutable", + "name": "batchSize", + "nameLocation": "1477:9:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1469:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1469:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1399:92:17" + }, + "returnParameters": { + "id": 3643, + "nodeType": "ParameterList", + "parameters": [], + "src": "1518:0:17" + }, + "scope": 3930, + "src": "1370:302:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 3684, + "nodeType": "Block", + "src": "1813:39:17", + "statements": [ + { + "expression": { + "id": 3682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3680, + "name": "_metaAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3551, + "src": "1820:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3681, + "name": "metaAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3674, + "src": "1835:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1820:26:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3683, + "nodeType": "ExpressionStatement", + "src": "1820:26:17" + } + ] + }, + "documentation": { + "id": 3672, + "nodeType": "StructuredDocumentation", + "src": "1678:35:17", + "text": " @dev Set token URI" + }, + "functionSelector": "b6a6a93d", + "id": 3685, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3677, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1793:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3678, + "kind": "modifierInvocation", + "modifierName": { + "id": 3676, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "1784:8:17" + }, + "nodeType": "ModifierInvocation", + "src": "1784:28:17" + } + ], + "name": "updateMetaAddress", + "nameLocation": "1726:17:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3674, + "mutability": "mutable", + "name": "metaAddress", + "nameLocation": "1758:11:17", + "nodeType": "VariableDeclaration", + "scope": 3685, + "src": "1750:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1750:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1743:31:17" + }, + "returnParameters": { + "id": 3679, + "nodeType": "ParameterList", + "parameters": [], + "src": "1813:0:17" + }, + "scope": 3930, + "src": "1717:135:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 593 + ], + "body": { + "id": 3712, + "nodeType": "Block", + "src": "2006:146:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3696, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3688, + "src": "2029:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3695, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "2021:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2021:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 3698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2039:33:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "typeString": "literal_string \"URI query for nonexistent token\"" + }, + "value": "URI query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "typeString": "literal_string \"URI query for nonexistent token\"" + } + ], + "id": 3694, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2013:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2013:60:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3700, + "nodeType": "ExpressionStatement", + "src": "2013:60:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3707, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "2131:4:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NFTSbt_$3930", + "typeString": "contract NFTSbt" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_NFTSbt_$3930", + "typeString": "contract NFTSbt" + } + ], + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2123:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3705, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2123:7:17", + "typeDescriptions": {} + } + }, + "id": 3708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2123:13:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3709, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3688, + "src": "2138:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 3702, + "name": "_metaAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3551, + "src": "2097:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3701, + "name": "IMetaData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3535, + "src": "2087:9:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IMetaData_$3535_$", + "typeString": "type(contract IMetaData)" + } + }, + "id": 3703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2087:23:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetaData_$3535", + "typeString": "contract IMetaData" + } + }, + "id": 3704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMetaData", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "2087:35:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (address,uint256) view external returns (string memory)" + } + }, + "id": 3710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2087:59:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3693, + "id": 3711, + "nodeType": "Return", + "src": "2080:66:17" + } + ] + }, + "documentation": { + "id": 3686, + "nodeType": "StructuredDocumentation", + "src": "1858:54:17", + "text": " @dev one type badge has same tokenURI" + }, + "functionSelector": "c87b56dd", + "id": 3713, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1925:8:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3690, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1973:8:17" + }, + "parameters": { + "id": 3689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3688, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1948:7:17", + "nodeType": "VariableDeclaration", + "scope": 3713, + "src": "1940:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3687, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1940:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1933:27:17" + }, + "returnParameters": { + "id": 3693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3692, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3713, + "src": "1991:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3691, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1991:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1990:15:17" + }, + "scope": 3930, + "src": "1916:236:17", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3803, + "nodeType": "Block", + "src": "2277:532:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3727, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2292:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2300:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2292:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e49647320746f6f20736d616c6c", + "id": 3730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2303:20:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "typeString": "literal_string \"tokenIds too small\"" + }, + "value": "tokenIds too small" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "typeString": "literal_string \"tokenIds too small\"" + } + ], + "id": 3726, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2284:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2284:40:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3732, + "nodeType": "ExpressionStatement", + "src": "2284:40:17" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3734, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2339:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 3735, + "name": "maxBatchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3569, + "src": "2348:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2339:21:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "id": 3737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2362:19:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + }, + "value": "tokenIds too many" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + } + ], + "id": 3733, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2331:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:51:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3739, + "nodeType": "ExpressionStatement", + "src": "2331:51:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3740, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3563, + "src": "2393:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2407:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2393:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3755, + "nodeType": "IfStatement", + "src": "2389:139:17", + "trueBody": { + "id": 3754, + "nodeType": "Block", + "src": "2410:118:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3744, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1538, + "src": "2438:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2438:13:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 3746, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2454:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2438:21:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3748, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2437:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 3749, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3563, + "src": "2464:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2437:38:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2486:25:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + }, + "value": "Exceed the total supply" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + } + ], + "id": 3743, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2419:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2419:101:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3753, + "nodeType": "ExpressionStatement", + "src": "2419:101:17" + } + ] + } + }, + { + "assignments": [ + 3760 + ], + "declarations": [ + { + "constant": false, + "id": 3760, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "2551:8:17", + "nodeType": "VariableDeclaration", + "scope": 3803, + "src": "2534:25:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2534:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3759, + "nodeType": "ArrayTypeName", + "src": "2534:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 3766, + "initialValue": { + "arguments": [ + { + "id": 3764, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2576:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2562:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 3761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2566:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3762, + "nodeType": "ArrayTypeName", + "src": "2566:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 3765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2562:20:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2534:48:17" + }, + { + "body": { + "id": 3799, + "nodeType": "Block", + "src": "2625:157:17", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3777, + "name": "_tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3566, + "src": "2634:15:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 3779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "increment", + "nodeType": "MemberAccess", + "referencedDeclaration": 2245, + "src": "2634:25:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$2219_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer)" + } + }, + "id": 3780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2634:27:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3781, + "nodeType": "ExpressionStatement", + "src": "2634:27:17" + }, + { + "assignments": [ + 3783 + ], + "declarations": [ + { + "constant": false, + "id": 3783, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2678:7:17", + "nodeType": "VariableDeclaration", + "scope": 3799, + "src": "2670:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2670:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3787, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3784, + "name": "_tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3566, + "src": "2688:15:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 3785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 2231, + "src": "2688:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$2219_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" + } + }, + "id": 3786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2688:25:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2670:43:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3789, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "2732:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3790, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3783, + "src": "2736:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3788, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 883, + 912 + ], + "referencedDeclaration": 883, + "src": "2722:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2722:22:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3792, + "nodeType": "ExpressionStatement", + "src": "2722:22:17" + }, + { + "expression": { + "id": 3797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3793, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "2753:8:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3795, + "indexExpression": { + "id": 3794, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "2762:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2753:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3796, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3783, + "src": "2767:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2753:21:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3798, + "nodeType": "ExpressionStatement", + "src": "2753:21:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3771, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "2609:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3772, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2613:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2609:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3800, + "initializationExpression": { + "assignments": [ + 3768 + ], + "declarations": [ + { + "constant": false, + "id": 3768, + "mutability": "mutable", + "name": "i", + "nameLocation": "2602:1:17", + "nodeType": "VariableDeclaration", + "scope": 3800, + "src": "2594:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2594:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3770, + "initialValue": { + "hexValue": "30", + "id": 3769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2606:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2594:13:17" + }, + "loopExpression": { + "expression": { + "id": 3775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2620:3:17", + "subExpression": { + "id": 3774, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "2620:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3776, + "nodeType": "ExpressionStatement", + "src": "2620:3:17" + }, + "nodeType": "ForStatement", + "src": "2589:193:17" + }, + { + "expression": { + "id": 3801, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "2795:8:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 3725, + "id": 3802, + "nodeType": "Return", + "src": "2788:15:17" + } + ] + }, + "functionSelector": "43508b05", + "id": 3804, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3720, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "2237:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3721, + "kind": "modifierInvocation", + "modifierName": { + "id": 3719, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "2228:8:17" + }, + "nodeType": "ModifierInvocation", + "src": "2228:21:17" + } + ], + "name": "batchMint", + "nameLocation": "2167:9:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3715, + "mutability": "mutable", + "name": "to", + "nameLocation": "2191:2:17", + "nodeType": "VariableDeclaration", + "scope": 3804, + "src": "2183:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2183:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3717, + "mutability": "mutable", + "name": "count", + "nameLocation": "2208:5:17", + "nodeType": "VariableDeclaration", + "scope": 3804, + "src": "2200:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2200:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2176:42:17" + }, + "returnParameters": { + "id": 3725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3724, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3804, + "src": "2259:16:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2259:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3723, + "nodeType": "ArrayTypeName", + "src": "2259:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2258:18:17" + }, + "scope": 3930, + "src": "2158:651:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3858, + "nodeType": "Block", + "src": "2890:317:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3815, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3806, + "src": "2905:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2919:1:17", + "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": 3817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2911:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3816, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2911:7:17", + "typeDescriptions": {} + } + }, + "id": 3819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2911:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2905:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e6e6f74206d696e7420746f207a65726f2061646472657373", + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2923:29:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "typeString": "literal_string \"Cannot mint to zero address\"" + }, + "value": "Cannot mint to zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "typeString": "literal_string \"Cannot mint to zero address\"" + } + ], + "id": 3814, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2897:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2897:56:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3823, + "nodeType": "ExpressionStatement", + "src": "2897:56:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3824, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3563, + "src": "2964:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2978:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2964:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3839, + "nodeType": "IfStatement", + "src": "2960:108:17", + "trueBody": { + "id": 3838, + "nodeType": "Block", + "src": "2981:87:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3828, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1538, + "src": "2999:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2999:13:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3015:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2999:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3832, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2998:19:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 3833, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3563, + "src": "3021:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2998:34:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3034:25:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + }, + "value": "Exceed the total supply" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + } + ], + "id": 3827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2990:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2990:70:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3837, + "nodeType": "ExpressionStatement", + "src": "2990:70:17" + } + ] + } + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3840, + "name": "_tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3566, + "src": "3074:15:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 3842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "increment", + "nodeType": "MemberAccess", + "referencedDeclaration": 2245, + "src": "3074:25:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$2219_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer)" + } + }, + "id": 3843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3074:27:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3844, + "nodeType": "ExpressionStatement", + "src": "3074:27:17" + }, + { + "assignments": [ + 3846 + ], + "declarations": [ + { + "constant": false, + "id": 3846, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3116:7:17", + "nodeType": "VariableDeclaration", + "scope": 3858, + "src": "3108:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3108:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3850, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3847, + "name": "_tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3566, + "src": "3126:15:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 3848, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 2231, + "src": "3126:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$2219_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" + } + }, + "id": 3849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3126:25:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3108:43:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3852, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3806, + "src": "3168:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3853, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3846, + "src": "3172:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3851, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 883, + 912 + ], + "referencedDeclaration": 883, + "src": "3158:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3158:22:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3855, + "nodeType": "ExpressionStatement", + "src": "3158:22:17" + }, + { + "expression": { + "id": 3856, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3846, + "src": "3194:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3813, + "id": 3857, + "nodeType": "Return", + "src": "3187:14:17" + } + ] + }, + "functionSelector": "6a627842", + "id": 3859, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3809, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "2859:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3810, + "kind": "modifierInvocation", + "modifierName": { + "id": 3808, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "2850:8:17" + }, + "nodeType": "ModifierInvocation", + "src": "2850:21:17" + } + ], + "name": "mint", + "nameLocation": "2824:4:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3806, + "mutability": "mutable", + "name": "to", + "nameLocation": "2837:2:17", + "nodeType": "VariableDeclaration", + "scope": 3859, + "src": "2829:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2829:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2828:12:17" + }, + "returnParameters": { + "id": 3813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3812, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3859, + "src": "2881:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3811, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2881:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2880:9:17" + }, + "scope": 3930, + "src": "2815:392:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3880, + "nodeType": "Block", + "src": "3273:141:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3869, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2203, + "src": "3315:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3315:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3871, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3861, + "src": "3329:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3868, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "3296:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 3872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3296:41:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "id": 3873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3346:34:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d", + "typeString": "literal_string \"Caller is not owner nor approved\"" + }, + "value": "Caller is not owner nor approved" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d", + "typeString": "literal_string \"Caller is not owner nor approved\"" + } + ], + "id": 3867, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3280:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3280:107:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3875, + "nodeType": "ExpressionStatement", + "src": "3280:107:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3877, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3861, + "src": "3400:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3876, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1056, + "src": "3394:5:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3394:14:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3879, + "nodeType": "ExpressionStatement", + "src": "3394:14:17" + } + ] + }, + "functionSelector": "42966c68", + "id": 3881, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3864, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "3262:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3865, + "kind": "modifierInvocation", + "modifierName": { + "id": 3863, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "3253:8:17" + }, + "nodeType": "ModifierInvocation", + "src": "3253:19:17" + } + ], + "name": "burn", + "nameLocation": "3222:4:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3861, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3235:7:17", + "nodeType": "VariableDeclaration", + "scope": 3881, + "src": "3227:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3860, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3227:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3226:17:17" + }, + "returnParameters": { + "id": 3866, + "nodeType": "ParameterList", + "parameters": [], + "src": "3273:0:17" + }, + "scope": 3930, + "src": "3213:201:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3892, + "nodeType": "Block", + "src": "3514:39:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3888, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "3531:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3889, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3884, + "src": "3544:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3887, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "3521:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3521:26:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3891, + "nodeType": "ExpressionStatement", + "src": "3521:26:17" + } + ] + }, + "documentation": { + "id": 3882, + "nodeType": "StructuredDocumentation", + "src": "3420:48:17", + "text": " @dev Grant mint role to address" + }, + "functionSelector": "530dd079", + "id": 3893, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setMintRole", + "nameLocation": "3481:11:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3884, + "mutability": "mutable", + "name": "to", + "nameLocation": "3501:2:17", + "nodeType": "VariableDeclaration", + "scope": 3893, + "src": "3493:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3883, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3493:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3492:12:17" + }, + "returnParameters": { + "id": 3886, + "nodeType": "ParameterList", + "parameters": [], + "src": "3514:0:17" + }, + "scope": 3930, + "src": "3472:81:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3904, + "nodeType": "Block", + "src": "3657:40:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3900, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "3675:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3901, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3896, + "src": "3688:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3899, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "3664:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3664:27:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3903, + "nodeType": "ExpressionStatement", + "src": "3664:27:17" + } + ] + }, + "documentation": { + "id": 3894, + "nodeType": "StructuredDocumentation", + "src": "3559:49:17", + "text": " @dev Remove mint role to address" + }, + "functionSelector": "1cf4e3ee", + "id": 3905, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeMintRole", + "nameLocation": "3621:14:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3896, + "mutability": "mutable", + "name": "to", + "nameLocation": "3644:2:17", + "nodeType": "VariableDeclaration", + "scope": 3905, + "src": "3636:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3636:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3635:12:17" + }, + "returnParameters": { + "id": 3898, + "nodeType": "ParameterList", + "parameters": [], + "src": "3657:0:17" + }, + "scope": 3930, + "src": "3612:85:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3916, + "nodeType": "Block", + "src": "3797:37:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3912, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "3814:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3913, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3908, + "src": "3825:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3911, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "3804:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3804:24:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3915, + "nodeType": "ExpressionStatement", + "src": "3804:24:17" + } + ] + }, + "documentation": { + "id": 3906, + "nodeType": "StructuredDocumentation", + "src": "3703:48:17", + "text": " @dev Grant burn role to address" + }, + "functionSelector": "327ba615", + "id": 3917, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setBurnRole", + "nameLocation": "3764:11:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3908, + "mutability": "mutable", + "name": "to", + "nameLocation": "3784:2:17", + "nodeType": "VariableDeclaration", + "scope": 3917, + "src": "3776:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3907, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3776:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3775:12:17" + }, + "returnParameters": { + "id": 3910, + "nodeType": "ParameterList", + "parameters": [], + "src": "3797:0:17" + }, + "scope": 3930, + "src": "3755:79:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3928, + "nodeType": "Block", + "src": "3938:38:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3924, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "3956:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3925, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3920, + "src": "3967:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3923, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "3945:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3945:25:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3927, + "nodeType": "ExpressionStatement", + "src": "3945:25:17" + } + ] + }, + "documentation": { + "id": 3918, + "nodeType": "StructuredDocumentation", + "src": "3840:49:17", + "text": " @dev Remove burn role to address" + }, + "functionSelector": "965f4c60", + "id": 3929, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeBurnRole", + "nameLocation": "3902:14:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3920, + "mutability": "mutable", + "name": "to", + "nameLocation": "3925:2:17", + "nodeType": "VariableDeclaration", + "scope": 3929, + "src": "3917:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3919, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3917:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3916:12:17" + }, + "returnParameters": { + "id": 3922, + "nodeType": "ParameterList", + "parameters": [], + "src": "3938:0:17" + }, + "scope": 3930, + "src": "3893:83:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3931, + "src": "298:3681:17", + "usedErrors": [] + } + ], + "src": "33:3948:17" + }, + "compiler": { + "name": "solc", + "version": "0.8.10+commit.fc410830.Emscripten.clang" + }, + "networks": { + "42161": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "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" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "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" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "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" + } + }, + "links": {}, + "address": "0x0cee888fA25810ca648D697099bc17a2c9E1dfBF", + "transactionHash": "0xf489a18dd23ed797cedb660c14ea92118fc27c33c91a17b5f93bb944f14bcb14" + } + }, + "schemaVersion": "3.4.14", + "updatedAt": "2023-11-09T08:27:08.304Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "removeBurnRole(address)": { + "details": "Remove burn role to address" + }, + "removeMintRole(address)": { + "details": "Remove mint role to address" + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "setBurnRole(address)": { + "details": "Grant burn role to address" + }, + "setMintRole(address)": { + "details": "Grant mint role to address" + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenByIndex(uint256)": { + "details": "See {IERC721Enumerable-tokenByIndex}." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "tokenURI(uint256)": { + "details": "one type badge has same tokenURI" + }, + "totalSupply()": { + "details": "See {IERC721Enumerable-totalSupply}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + }, + "updateMetaAddress(address)": { + "details": "Set token URI" + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/migrations/18_deploy_explorer.js b/migrations/18_deploy_explorer.js index bea2cda..c861467 100644 --- a/migrations/18_deploy_explorer.js +++ b/migrations/18_deploy_explorer.js @@ -1,33 +1,46 @@ -const Box = artifacts.require("tokens/erc721/BEBadge"); +const Box = artifacts.require("tokens/erc721/NFTSbt"); const Metadata = artifacts.require("core/JSONMetadata"); const base = require("../scripts/base"); const config = require("../config/config"); -const Distributor = artifacts.require("logic/NftDistributor"); module.exports = async function (deployer, network, accounts) { - const name = "Candy"; - const symbol = "CANDY"; - // await deployer.deploy(Box, name, symbol, 0); + const dpaddr = accounts[0] + console.log('[deployer address]', dpaddr) + + let cfgs = base.loadData({ network }); + const metadataInstance = await Metadata.at( + cfgs.find((c) => c.name === "JSONMetadata").address + ); + + if (metadataInstance) { + console.log("[metadataInstance]", metadataInstance.address); + }else{ + return + } + + const name = "Explorer"; + const symbol = "EXPLORER"; + await deployer.deploy(Box, name, symbol, 0); const gachaInstance = await Box.deployed(); if (gachaInstance) { - console.log("Candy successfully deployed."); + console.log("Explorer successfully deployed."); } - // base.updateArray({ - // name: "Candy", - // type: "erc721", - // json: "assets/contracts/BEBadge.json", - // address: gachaInstance.address, - // network, - // }); + base.updateArray({ + name: "Explorer", + type: "erc721", + json: "assets/contracts/NFTSbt.json", + address: gachaInstance.address, + network, + }); - let metaaddr = '0xfba1F2861718993B94edd5DCe1D06b3Cbe19353d' + let metaaddr = '' if(network == 'arbitrum_one'){ // await deployer.deploy(Metadata); - const metadataInstance = await Metadata.deployed(); - if (metadataInstance) { - console.log("metadataInstance successfully deployed."); - } + // const metadataInstance = await Metadata.deployed(); + // if (metadataInstance) { + // console.log("metadataInstance successfully deployed."); + // } // base.updateArray({ // name: "JSONMetadata", // type: "logic", @@ -37,10 +50,9 @@ module.exports = async function (deployer, network, accounts) { // }); const mtname = name - const mtdesc = "Candy Badge are exclusive to new friends entering the world of CiunterFire,\\n\ - it will have airdrop attributes and in-game benefits." - const mtimg = "https://gateway.pinata.cloud/ipfs/QmWuHBFGirZS7uyGDyEJNBnMjGLsP9Ke4QZaoL2MxYWtat" - const mtex = ',"animation_url": "https://gateway.pinata.cloud/ipfs/QmRJAN58RaFZUeor9VhdiqCziujwvwD98zq7xHUnmbzMXW"' + const mtdesc = "Explorer badge as a special recognition and gratitude to our dedicated early CounterFire testers. It's an SBT (Special Badge Token) and will play a pivotal role in forthcoming reward distributions." + const mtimg = "https://gateway.pinata.cloud/ipfs/QmRtJ6MpKm58KV8wBZcNwcVRRZDFCnqqCbqFspKZYQNGb5" + const mtex = ',"animation_url": "https://gateway.pinata.cloud/ipfs/QmR5dbEN95SBdaDp72Pc9aA4wU5DcyDXXWSihxkNUMHUbF"' await metadataInstance.setMetaData( gachaInstance.address, @@ -59,34 +71,12 @@ module.exports = async function (deployer, network, accounts) { await gachaInstance.updateMetaAddress(metaaddr); console.log(`success update meta address for: ${gachaInstance.address}`); - const testexec = ['0x1cC73CE74BA0BC080e7C0a37cb3a68f435Ab333A'] - let exec = network == 'arbitrum_one'? config.admins.executors: testexec + await gachaInstance.setMintRole(config.admins.executors[0]) + await gachaInstance.setMintRole(dpaddr) - console.log('exec addrs:', exec) - - await deployer.deploy( - Distributor, - gachaInstance.address, - exec - ); - const distributorInstance = await Distributor.deployed(); - if (distributorInstance) { - console.log("NftDistributor successfully deployed."); - console.log("address: " + distributorInstance.address); - } - base.updateArray({ - name: "NftDistributor", - type: "logic", - json: "assets/contracts/NftDistributor.json", - address: distributorInstance.address, - network, - }); - await gachaInstance.setMintRole(distributorInstance.address); - - console.log( - `success set mint role to: ${distributorInstance.address} claim box ` - ); + await gachaInstance.batchMint(dpaddr, 1) + console.log('deploy and mint complete') }; diff --git a/out_arbitrum_one_release.json b/out_arbitrum_one_release.json index 842f03d..9b79dac 100644 --- a/out_arbitrum_one_release.json +++ b/out_arbitrum_one_release.json @@ -40,5 +40,11 @@ "type": "logic", "json": "assets/contracts/ERC721Staking.json", "address": "0x2d8D530941d6Cbe92Cf0654671522e425b9882A2" + }, + { + "name": "Explorer", + "type": "erc721", + "json": "assets/contracts/NFTSbt.json", + "address": "0x0cee888fA25810ca648D697099bc17a2c9E1dfBF" } -] +] \ No newline at end of file diff --git a/package.json b/package.json index bfdf62d..fe9700b 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "stake_deploy:one": "truffle migrate --network arbitrum_one -f 9 --to 9 --compile-none", "update:stake": "npx truffle exec --network arbitrum_one ./init_scripts/update_stake.js", "update:candy": "npx truffle exec --network arbitrum_one ./init_scripts/generate_candy.js", + "explorer_deploy:one": "truffle migrate --network arbitrum_one -f 18 --to 18 --compile-none", "size": "truffle run contract-size" }, "author": "", diff --git a/truffle-config.js b/truffle-config.js index 40cc13f..4e67ed4 100644 --- a/truffle-config.js +++ b/truffle-config.js @@ -163,7 +163,7 @@ module.exports = { production: true, disableConfirmationListener: true, from: arbOneAddr, - gas: 20000000, // Gas sent with each transaction (default: ~6700000) + gas: 30000000, // Gas sent with each transaction (default: ~6700000) gasPrice: 100000000, // 20 gwei (in wei) (default: 100 gwei) }, arbitrum_one_self: {