blackbull-sdk
Version:
An SDK for building applications on top of Blackbullswap
18,244 lines • 1.04 MB
JSON
{
"id": "69b2bbe986a0ad732930121e0af026bd",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.0",
"solcLongVersion": "0.8.0+commit.c7dfd78e",
"input": {
"language": "Solidity",
"sources": {
"contracts/Airdrop.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.0;\n\n/**\n * Contract for administering the Airdrop of PNG to UNI and SUSHI holders.\n * 26.9 million PNG will be made available in the airdrop. After the\n * Airdrop period is over, all unclaimed PNG will be transferred to the\n * community treasury.\n */\ncontract Airdrop {\n // token addresses\n address public png;\n address public uni;\n address public sushi;\n\n address public owner;\n address public remainderDestination;\n\n // amount of PNG to transfer\n mapping (address => uint96) public withdrawAmount;\n\n uint public totalAllocated;\n\n bool public claimingAllowed;\n\n uint constant public TOTAL_AIRDROP_SUPPLY = 26_000_000e18;\n\n // Events\n event ClaimingAllowed();\n event ClaimingOver();\n event PngClaimed(address claimer, uint amount);\n\n /**\n * Initializes the contract. Sets token addresses, owner, and leftover token\n * destination. Claiming period is not enabled.\n *\n * @param png_ the PNG token contract address\n * @param uni_ the UNI token contract address\n * @param sushi_ the SUSHI token contract address\n * @param owner_ the privileged contract owner\n * @param remainderDestination_ address to transfer remaining PNG to when\n * claiming ends. Should be community treasury.\n */\n constructor(address png_,\n address uni_,\n address sushi_,\n address owner_,\n address remainderDestination_) {\n png = png_;\n uni = uni_;\n sushi = sushi_;\n owner = owner_;\n remainderDestination = remainderDestination_;\n claimingAllowed = false;\n totalAllocated = 0;\n }\n\n /**\n * Changes the address that receives the remaining PNG at the end of the\n * claiming period. Can only be set by the contract owner.\n *\n * @param remainderDestination_ address to transfer remaining PNG to when\n * claiming ends.\n */\n function setRemainderDestination(address remainderDestination_) external {\n require(msg.sender == owner, 'Airdrop::setRemainderDestination: unauthorized');\n remainderDestination = remainderDestination_;\n }\n\n /**\n * Changes the contract owner. Can only be set by the contract owner.\n *\n * @param owner_ new contract owner address\n */\n function setowner(address owner_) external {\n require(msg.sender == owner, 'Airdrop::setowner: unauthorized');\n owner = owner_;\n }\n\n /**\n * Enable the claiming period and allow user to claim PNG. Before activation,\n * this contract must have a PNG balance equal to the total airdrop PNG\n * supply of 16.9 million PNG. All claimable PNG tokens must be whitelisted\n * before claiming is enabled. Only callable by the owner.\n */\n function allowClaiming() external {\n require(IPNG(png).balanceOf(address(this)) >= TOTAL_AIRDROP_SUPPLY, 'Airdrop::allowClaiming: incorrect PNG supply');\n require(msg.sender == owner, 'Airdrop::allowClaiming: unauthorized');\n claimingAllowed = true;\n emit ClaimingAllowed();\n }\n\n /**\n * End the claiming period. All unclaimed PNG will be transferred to the address\n * specified by remainderDestination. Can only be called by the owner.\n */\n function endClaiming() external {\n require(msg.sender == owner, 'Airdrop::endClaiming: unauthorized');\n require(claimingAllowed, \"Airdrop::endClaiming: Claiming not started\");\n\n claimingAllowed = false;\n emit ClaimingOver();\n\n // Transfer remainder\n uint amount = IPNG(png).balanceOf(address(this));\n require(IPNG(png).transfer(remainderDestination, amount), 'Airdrop::endClaiming: Transfer failed');\n }\n\n /**\n * Withdraw your PNG. In order to qualify for a withdrawl, the caller's address\n * must be whitelisted. In addition, the calling address must have one whole UNI\n * or SUSHI token. All PNG must be claimed at once. Only the full amount can be\n * claimed and only one claim is allowed per user.\n */\n function claim() external {\n // tradeoff: if you only transfer one but you held both, you can't claim\n require(claimingAllowed, 'Airdrop::claim: Claiming is not allowed');\n require(withdrawAmount[msg.sender] > 0, 'Airdrop::claim: No PNG to claim');\n\n uint oneToken = 1e18;\n require(IUni(uni).balanceOf(msg.sender) >= oneToken || ISushi(sushi).balanceOf(msg.sender) >= oneToken,\n 'Airdrop::claim: Insufficient UNI or SUSHI balance');\n\n uint amountToClaim = withdrawAmount[msg.sender];\n withdrawAmount[msg.sender] = 0;\n\n emit PngClaimed(msg.sender, amountToClaim);\n\n require(IPNG(png).transfer(msg.sender, amountToClaim), 'Airdrop::claim: Transfer failed');\n }\n\n /**\n * Whitelist an address to claim PNG. Specify the amount of PNG to be allocated.\n * That address will then be able to claim that amount of PNG during the claiming\n * period if it has sufficient UNI and SUSHI balance. The transferrable amount of\n * PNG must be nonzero. Total amount allocated must be less than or equal to the\n * total airdrop supply. Whitelisting must occur before the claiming period is\n * enabled. Addresses may only be added one time. Only called by the owner.\n *\n * @param addr address that may claim PNG\n * @param pngOut the amount of PNG that addr may withdraw\n */\n function whitelistAddress(address addr, uint96 pngOut) public {\n require(msg.sender == owner, 'Airdrop::whitelistAddress: unauthorized');\n require(!claimingAllowed, 'Airdrop::whitelistAddress: claiming in session');\n require(pngOut > 0, 'Airdrop::whitelistAddress: No PNG to allocated');\n require(withdrawAmount[addr] == 0, 'Airdrop::whitelistAddress: address already added');\n\n withdrawAmount[addr] = pngOut;\n\n totalAllocated = totalAllocated + pngOut;\n require(totalAllocated <= TOTAL_AIRDROP_SUPPLY, 'Airdrop::whitelistAddress: Exceeds PNG allocation');\n }\n\n /**\n * Whitelist multiple addresses in one call. Wrapper around whitelistAddress.\n * All parameters are arrays. Each array must be the same length. Each index\n * corresponds to one (address, png) tuple. Only callable by the owner.\n */\n function whitelistAddresses(address[] memory addrs, uint96[] memory pngOuts) external {\n require(msg.sender == owner, 'Airdrop::whitelistAddresses: unauthorized');\n require(addrs.length == pngOuts.length,\n 'Airdrop::whitelistAddresses: incorrect array length');\n for (uint i = 0; i < addrs.length; i++) {\n whitelistAddress(addrs[i], pngOuts[i]);\n }\n }\n}\n\ninterface IPNG {\n function balanceOf(address account) external view returns (uint);\n function transfer(address dst, uint rawAmount) external returns (bool);\n}\n\ninterface IUni {\n function balanceOf(address account) external view returns (uint);\n}\n\ninterface ISushi {\n function balanceOf(address account) external view returns (uint);\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"abi",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"metadata"
],
"": [
"ast"
]
}
}
}
},
"output": {
"contracts": {
"contracts/Airdrop.sol": {
"Airdrop": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "png_",
"type": "address"
},
{
"internalType": "address",
"name": "uni_",
"type": "address"
},
{
"internalType": "address",
"name": "sushi_",
"type": "address"
},
{
"internalType": "address",
"name": "owner_",
"type": "address"
},
{
"internalType": "address",
"name": "remainderDestination_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [],
"name": "ClaimingAllowed",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "ClaimingOver",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "claimer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PngClaimed",
"type": "event"
},
{
"inputs": [],
"name": "TOTAL_AIRDROP_SUPPLY",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "allowClaiming",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "claim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "claimingAllowed",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "endClaiming",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "png",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "remainderDestination",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "remainderDestination_",
"type": "address"
}
],
"name": "setRemainderDestination",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner_",
"type": "address"
}
],
"name": "setowner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "sushi",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalAllocated",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "uni",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint96",
"name": "pngOut",
"type": "uint96"
}
],
"name": "whitelistAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "addrs",
"type": "address[]"
},
{
"internalType": "uint96[]",
"name": "pngOuts",
"type": "uint96[]"
}
],
"name": "whitelistAddresses",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "withdrawAmount",
"outputs": [
{
"internalType": "uint96",
"name": "",
"type": "uint96"
}
],
"stateMutability": "view",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1431:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "80:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "95:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "89:5:1"
},
"nodeType": "YulFunctionCall",
"src": "89:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "80:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "138:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "111:26:1"
},
"nodeType": "YulFunctionCall",
"src": "111:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "111:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "48:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "56:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "64:5:1",
"type": ""
}
],
"src": "7:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "301:765:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "348:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "357:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "360:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "350:6:1"
},
"nodeType": "YulFunctionCall",
"src": "350:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "350:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "322:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "331:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "318:3:1"
},
"nodeType": "YulFunctionCall",
"src": "318:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "314:3:1"
},
"nodeType": "YulFunctionCall",
"src": "314:33:1"
},
"nodeType": "YulIf",
"src": "311:2:1"
},
{
"nodeType": "YulBlock",
"src": "374:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "389:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "403:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "393:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "418:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "464:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "475:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "460:3:1"
},
"nodeType": "YulFunctionCall",
"src": "460:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "484:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "428:31:1"
},
"nodeType": "YulFunctionCall",
"src": "428:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "418:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "512:129:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "527:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "541:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "531:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "557:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "603:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "614:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "599:3:1"
},
"nodeType": "YulFunctionCall",
"src": "599:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "623:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "567:31:1"
},
"nodeType": "YulFunctionCall",
"src": "567:64:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "557:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "651:129:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "666:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "670:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "696:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "742:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "753:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "738:3:1"
},
"nodeType": "YulFunctionCall",
"src": "738:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "762:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "706:31:1"
},
"nodeType": "YulFunctionCall",
"src": "706:64:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "696:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "790:129:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "805:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "819:2:1",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "809:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "835:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "881:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "892:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "877:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "901:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "845:31:1"
},
"nodeType": "YulFunctionCall",
"src": "845:64:1"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "835:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "929:130:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "944:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "958:3:1",
"type": "",
"value": "128"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "948:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "975:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1021:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1032:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1017:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1017:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1041:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "985:31:1"
},
"nodeType": "YulFunctionCall",
"src": "985:64:1"
},
"variableNames": [
{
"name": "value4",
"nodeType": "YulIdentifier",
"src": "975:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_addresst_addresst_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "239:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "250:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "262:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "270:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "278:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "286:6:1",
"type": ""
},
{
"name": "value4",
"nodeType": "YulTypedName",
"src": "294:6:1",
"type": ""
}
],
"src": "156:910:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1117:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1127:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1156:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1138:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1138:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1127:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1099:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1109:7:1",
"type": ""
}
],
"src": "1072:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1219:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1229:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1244:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1251:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1240:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1240:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1229:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1201:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1211:7:1",
"type": ""
}
],
"src": "1174:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1349:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1406:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1415:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1418:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1408:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1408:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1408:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1372:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1397:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1379:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1379:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1369:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1369:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1362:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1362:43:1"
},
"nodeType": "YulIf",
"src": "1359:2:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1342:5:1",
"type": ""
}
],
"src": "1306:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_addresst_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040523480156200001157600080fd5b506040516200249c3803806200249c8339818101604052810190620000379190620001c0565b846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548160ff0219169083151502179055506000600681905550505050505062000290565b600081519050620001ba8162000276565b92915050565b600080600080600060a08688031215620001d957600080fd5b6000620001e988828901620001a9565b9550506020620001fc88828901620001a9565b94505060406200020f88828901620001a9565b93505060606200022288828901620001a9565b92505060806200023588828901620001a9565b9150509295509295909350565b60006200024f8262000256565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620002818162000242565b81146200028d57600080fd5b50565b6121fc80620002a06000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806380edf30d11610097578063de73339711610066578063de73339714610251578063e67c1e691461025b578063edc9af9514610277578063fedd970b1461029557610100565b806380edf30d146101dd5780638da5cb5b146101fb5780639ae1ea0d14610219578063b5a8266f1461023557610100565b8063592bd705116100d3578063592bd7051461017b5780635f775678146101975780636556c391146101b5578063673f200a146101bf57610100565b80630a0879031461010557806345f7f249146101235780634e71d92d146101415780634f4201511461014b575b600080fd5b61010d6102b3565b60405161011a9190611c9e565b60405180910390f35b61012b6102d9565b6040516101389190611f3d565b60405180910390f35b6101496102df565b005b61016560048036038101906101609190611485565b610787565b6040516101729190611f58565b60405180910390f35b61019560048036038101906101909190611485565b6107b2565b005b61019f610886565b6040516101ac9190611c9e565b60405180910390f35b6101bd6108aa565b005b6101c7610b8f565b6040516101d49190611ce2565b60405180910390f35b6101e5610ba2565b6040516101f29190611c9e565b60405180910390f35b610203610bc8565b6040516102109190611c9e565b60405180910390f35b610233600480360381019061022e9190611485565b610bee565b005b61024f600480360381019061024a91906114ae565b610cc2565b005b610259610f7f565b005b610275600480360381019061027091906114ea565b61114e565b005b61027f6112d0565b60405161028c9190611c9e565b60405180910390f35b61029d6112f6565b6040516102aa9190611f3d565b60405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600760009054906101000a900460ff1661032e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032590611e1d565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16116103d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cd90611d5d565b60405180910390fd5b6000670de0b6b3a7640000905080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161043f9190611c9e565b60206040518083038186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048f919061157f565b101580610546575080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016104f39190611c9e565b60206040518083038186803b15801561050b57600080fd5b505afa15801561051f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610543919061157f565b10155b610585576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057c90611d7d565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1690506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055507f09ab241b20d83f346e9f8c568dce5b80bf52ff7d87038a8a9d7cc932c8828e84338260405161068f929190611cb9565b60405180910390a160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016106f2929190611cb9565b602060405180830381600087803b15801561070c57600080fd5b505af1158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190611556565b610783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077a90611e3d565b60405180910390fd5b5050565b60056020528060005260406000206000915054906101000a90046bffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611d1d565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093190611d3d565b60405180910390fd5b600760009054906101000a900460ff16610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090611e5d565b60405180910390fd5b6000600760006101000a81548160ff0219169083151502179055507f561202111b25bcb1aa272265360fe13b9d8d097b6a2b537d55d658b65ffe7d2860405160405180910390a160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a2c9190611c9e565b60206040518083038186803b158015610a4457600080fd5b505afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c919061157f565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610afb929190611cb9565b602060405180830381600087803b158015610b1557600080fd5b505af1158015610b29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4d9190611556565b610b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8390611d9d565b60405180910390fd5b50565b600760009054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7590611dfd565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990611ddd565b60405180910390fd5b600760009054906101000a900460ff1615610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9990611f1d565b60405180910390fd5b6000816bffffffffffffffffffffffff1611610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea90611ebd565b60405180910390fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1614610e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9290611edd565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550806bffffffffffffffffffffffff16600654610f25919061200d565b6006819055506a1581b6d300d0225a0000006006541115610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7290611dbd565b60405180910390fd5b5050565b6a1581b6d300d0225a00000060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fe49190611c9e565b60206040518083038186803b158015610ffc57600080fd5b505afa158015611010573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611034919061157f565b1015611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c90611efd565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611e7d565b60405180910390fd5b6001600760006101000a81548160ff0219169083151502179055507f5182f287eefb78b325ac5fb307d80fe349a989fc97d7ba1da545bd83c6da0e7760405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d590611cfd565b60405180910390fd5b8051825114611222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121990611e9d565b60405180910390fd5b60005b82518110156112cb576112b883828151811061126a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518383815181106112ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610cc2565b80806112c3906120c3565b915050611225565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6a1581b6d300d0225a00000081565b600061131861131384611fa4565b611f73565b9050808382526020820190508285602086028201111561133757600080fd5b60005b85811015611367578161134d88826113dd565b84526020840193506020830192505060018101905061133a565b5050509392505050565b600061138461137f84611fd0565b611f73565b905080838252602082019050828560208602820111156113a357600080fd5b60005b858110156113d357816113b98882611470565b8452602084019350602083019250506001810190506113a6565b5050509392505050565b6000813590506113ec8161216a565b92915050565b600082601f83011261140357600080fd5b8135611413848260208601611305565b91505092915050565b600082601f83011261142d57600080fd5b813561143d848260208601611371565b91505092915050565b60008151905061145581612181565b92915050565b60008151905061146a81612198565b92915050565b60008135905061147f816121af565b92915050565b60006020828403121561149757600080fd5b60006114a5848285016113dd565b91505092915050565b600080604083850312156114c157600080fd5b60006114cf858286016113dd565b92505060206114e085828601611470565b9150509250929050565b600080604083850312156114fd57600080fd5b600083013567ffffffffffffffff81111561151757600080fd5b611523858286016113f2565b925050602083013567ffffffffffffffff81111561154057600080fd5b61154c8582860161141c565b9150509250929050565b60006020828403121561156857600080fd5b600061157684828501611446565b91505092915050565b60006020828403121561159157600080fd5b600061159f8482850161145b565b91505092915050565b6115b181612063565b82525050565b6115c081612075565b82525050565b60006115d3602983611ffc565b91507f41697264726f703a3a77686974656c6973744164647265737365733a20756e6160008301527f7574686f72697a656400000000000000000000000000000000000000000000006020830152604082019050919050565b6000611639601f83611ffc565b91507f41697264726f703a3a7365746f776e65723a20756e617574686f72697a6564006000830152602082019050919050565b6000611679602283611ffc565b91507f41697264726f703a3a656e64436c61696d696e673a20756e617574686f72697a60008301527f65640000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116df601f83611ffc565b91507f41697264726f703a3a636c61696d3a204e6f20504e4720746f20636c61696d006000830152602082019050919050565b600061171f603183611ffc565b91507f41697264726f703a3a636c61696d3a20496e73756666696369656e7420554e4960008301527f206f722053555348492062616c616e63650000000000000000000000000000006020830152604082019050919050565b6000611785602583611ffc565b91507f41697264726f703a3a656e64436c61696d696e673a205472616e73666572206660008301527f61696c65640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117eb603183611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20457863656560008301527f647320504e4720616c6c6f636174696f6e0000000000000000000000000000006020830152604082019050919050565b6000611851602783611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20756e61757460008301527f686f72697a6564000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006118b7602e83611ffc565b91507f41697264726f703a3a73657452656d61696e64657244657374696e6174696f6e60008301527f3a20756e617574686f72697a65640000000000000000000000000000000000006020830152604082019050919050565b600061191d602783611ffc565b91507f41697264726f703a3a636c61696d3a20436c61696d696e67206973206e6f742060008301527f616c6c6f776564000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611983601f83611ffc565b91507f41697264726f703a3a636c61696d3a205472616e73666572206661696c6564006000830152602082019050919050565b60006119c3602a83611ffc565b91507f41697264726f703a3a656e64436c61696d696e673a20436c61696d696e67206e60008301527f6f742073746172746564000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a29602483611ffc565b91507f41697264726f703a3a616c6c6f77436c61696d696e673a20756e617574686f7260008301527f697a6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a8f603383611ffc565b91507f41697264726f703a3a77686974656c6973744164647265737365733a20696e6360008301527f6f7272656374206172726179206c656e677468000000000000000000000000006020830152604082019050919050565b6000611af5602e83611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a204e6f20504e60008301527f4720746f20616c6c6f63617465640000000000000000000000000000000000006020830152604082019050919050565b6000611b5b603083611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20616464726560008301527f737320616c7265616479206164646564000000000000000000000000000000006020830152604082019050919050565b6000611bc1602c83611ffc565b91507f41697264726f703a3a616c6c6f77436c61696d696e673a20696e636f7272656360008301527f7420504e4720737570706c7900000000000000000000000000000000000000006020830152604082019050919050565b6000611c27602e83611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20636c61696d60008301527f696e6720696e2073657373696f6e0000000000000000000000000000000000006020830152604082019050919050565b611c89816120a1565b82525050565b611c98816120ab565b82525050565b6000602082019050611cb360008301846115a8565b92915050565b6000604082019050611cce60008301856115a8565b611cdb6020830184611c80565b9392505050565b6000602082019050611cf760008301846115b7565b92915050565b60006020820190508181036000830152611d16816115c6565b9050919050565b60006020820190508181036000830152611d368161162c565b9050919050565b60006020820190508181036000830152611d568161166c565b9050919050565b60006020820190508181036000830152611d76816116d2565b9050919050565b60006020820190508181036000830152611d9681611712565b9050919050565b60006020820190508181036000830152611db681611778565b9050919050565b60006020820190508181036000830152611dd6816117de565b9050919050565b60006020820190508181036000830152611df681611844565b9050919050565b60006020820190508181036000830152611e16816118aa565b9050919050565b60006020820190508181036000830152611e3681611910565b9050919050565b60006020820190508181036000830152611e5681611976565b9050919050565b60006020820190508181036000830152611e76816119b6565b9050919050565b60006020820190508181036000830152611e9681611a1c565b9050919050565b60006020820190508181036000830152611eb681611a82565b9050919050565b60006020820190508181036000830152611ed681611ae8565b9050919050565b60006020820190508181036000830152611ef681611b4e565b9050919050565b60006020820190508181036000830152611f1681611bb4565b9050919050565b60006020820190508181036000830152611f3681611c1a565b9050919050565b6000602082019050611f526000830184611c80565b92915050565b6000602082019050611f6d6000830184611c8f565b92915050565b6000604051905081810181811067ffffffffffffffff82111715611f9a57611f9961213b565b5b8060405250919050565b600067ffffffffffffffff821115611fbf57611fbe61213b565b5b602082029050602081019050919050565b600067ffffffffffffffff821115611feb57611fea61213b565b5b602082029050602081019050919050565b600082825260208201905092915050565b6000612018826120a1565b9150612023836120a1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120585761205761210c565b5b828201905092915050565b600061206e82612081565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006bffffffffffffffffffffffff82169050919050565b60006120ce826120a1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156121015761210061210c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61217381612063565b811461217e57600080fd5b50565b61218a81612075565b811461219557600080fd5b50565b6121a1816120a1565b81146121ac57600080fd5b50565b6121b8816120ab565b81146121c357600080fd5b5056fea2646970667358221220deb782391eaf02b6ec1977b70dcaab54dc506fd50474f1a9680a5ac812e5b1ca64736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x249C CODESIZE SUB DUP1 PUSH3 0x249C DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x1C0 JUMP JUMPDEST DUP5 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x6 DUP2 SWAP1 SSTORE POP POP POP POP POP POP PUSH3 0x290 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x1BA DUP2 PUSH3 0x276 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH3 0x1D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0x1E9 DUP9 DUP3 DUP10 ADD PUSH3 0x1A9 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH3 0x1FC DUP9 DUP3 DUP10 ADD PUSH3 0x1A9 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH3 0x20F DUP9 DUP3 DUP10 ADD PUSH3 0x1A9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH3 0x222 DUP9 DUP3 DUP10 ADD PUSH3 0x1A9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH3 0x235 DUP9 DUP3 DUP10 ADD PUSH3 0x1A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x24F DUP3 PUSH3 0x256 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x281 DUP2 PUSH3 0x242 JUMP JUMPDEST DUP2 EQ PUSH3 0x28D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x21FC DUP1 PUSH3 0x2A0 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x100 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80EDF30D GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xDE733397 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xDE733397 EQ PUSH2 0x251 JUMPI DUP1 PUSH4 0xE67C1E69 EQ PUSH2 0x25B JUMPI DUP1 PUSH4 0xEDC9AF95 EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0xFEDD970B EQ PUSH2 0x295 JUMPI PUSH2 0x100 JUMP JUMPDEST DUP1 PUSH4 0x80EDF30D EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1FB JUMPI DUP1 PUSH4 0x9AE1EA0D EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0xB5A8266F EQ PUSH2 0x235 JUMPI PUSH2 0x100 JUMP JUMPDEST DUP1 PUSH4 0x592BD705 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x592BD705 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x5F775678 EQ PUSH2 0x197 JUMPI DUP1 PUSH4 0x6556C391 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x673F200A EQ PUSH2 0x1BF JUMPI PUSH2 0x100 JUMP JUMPDEST DUP1 PUSH4 0xA087903 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x45F7F249 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x4E71D92D EQ PUSH2 0x141 JUMPI DUP1 PUSH4 0x4F420151 EQ PUSH2 0x14B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x2B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH2 0x2D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x138 SWAP2 SWAP1 PUSH2 0x1F3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x149 PUSH2 0x2DF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x165 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x160 SWAP2 SWAP1 PUSH2 0x1485 JUMP JUMPDEST PUSH2 0x787 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x1F58 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x190 SWAP2 SWAP1 PUSH2 0x1485 JUMP JUMPDEST PUSH2 0x7B2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19F PUSH2 0x886 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BD PUSH2 0x8AA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C7 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x1CE2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E5 PUSH2 0xBA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x203 PUSH2 0xBC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x210 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22E SWAP2 SWAP1 PUSH2 0x1485 JUMP JUMPDEST PUSH2 0xBEE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x24F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x24A SWAP2 SWAP1 PUSH2 0x14AE JUMP JUMPDEST PUSH2 0xCC2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x259 PUSH2 0xF7F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x275 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x14EA JUMP JUMPDEST PUSH2 0x114E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x27F PUSH2 0x12D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x28C SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x29D PUSH2 0x12F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AA SWAP2 SWAP1 PUSH2 0x1F3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x32E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x325 SWAP1 PUSH2 0x1E1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND GT PUSH2 0x3D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP1 PUSH2 0x1D5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x43F SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x46B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x48F SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST LT ISZERO DUP1 PUSH2 0x546 JUMPI POP DUP1 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4F3 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x51F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x543 SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST LT ISZERO JUMPDEST PUSH2 0x585 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x57C SWAP1 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x9AB241B20D83F346E9F8C568DCE5B80BF52FF7D87038A8A9D7CC932C8828E84 CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x68F SWAP3 SWAP2 SWAP1 PUSH2 0x1CB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB CALLER DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F2 SWAP3 SWAP2 SWAP1 PUSH2 0x1CB9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x70C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x720 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x744 SWAP2 SWAP1 PUSH2 0x1556 JUMP JUMPDEST PUSH2 0x783 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x77A SWAP1 PUSH2 0x1E3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x842 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x839 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x93A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x931 SWAP1 PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x989 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x980 SWAP1 PUSH2 0x1E5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x561202111B25BCB1AA272265360FE13B9D8D097B6A2B537D55D658B65FFE7D28 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA2C SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA44 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA7C SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAFB SWAP3 SWAP2 SWAP1 PUSH2 0x1CB9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB29 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB4D SWAP2 SWAP1 PUSH2 0x1556 JUMP JUMPDEST PUSH2 0xB8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB83 SWAP1 PUSH2 0x1D9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC7E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC75 SWAP1 PUSH2 0x1DFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD52 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD49 SWAP1 PUSH2 0x1DDD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xDA2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD99 SWAP1 PUSH2 0x1F1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND GT PUSH2 0xDF3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDEA SWAP1 PUSH2 0x1EBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE92 SWAP1 PUSH2 0x1EDD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x6 SLOAD PUSH2 0xF25 SWAP2 SWAP1 PUSH2 0x200D JUMP JUMPDEST PUSH1 0x6 DUP2 SWAP1 SSTORE POP PUSH11 0x1581B6D300D0225A000000 PUSH1 0x6 SLOAD GT ISZERO PUSH2 0xF7B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF72 SWAP1 PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH11 0x1581B6D300D0225A000000 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFE4 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1010 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1034 SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x106C SWAP1 PUSH2 0x1EFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1105 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10FC SWAP1 PUSH2 0x1E7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5182F287EEFB78B325AC5FB307D80FE349A989FC97D7BA1DA545BD83C6DA0E77 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x11DE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D5 SWAP1 PUSH2 0x1CFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1222 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1219 SWAP1 PUSH2 0x1E9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x12CB JUMPI PUSH2 0x12B8 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x126A JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x12AB JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xCC2 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x12C3 SWAP1 PUSH2 0x20C3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1225 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH11 0x1581B6D300D0225A000000 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1318 PUSH2 0x1313 DUP5 PUSH2 0x1FA4 JUMP JUMPDEST PUSH2 0x1F73 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x1337 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1367 JUMPI DUP2 PUSH2 0x134D DUP9 DUP3 PUSH2 0x13DD JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x133A JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1384 PUSH2 0x137F DUP5 PUSH2 0x1FD0 JUMP JUMPDEST PUSH2 0x1F73 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x13A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x13D3 JUMPI DUP2 PUSH2 0x13B9 DUP9 DUP3 PUSH2 0x1470 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x13A6 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x13EC DUP2 PUSH2 0x216A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1403 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1413 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1305 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x142D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x143D DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1371 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1455 DUP2 PUSH2 0x2181 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x146A DUP2 PUSH2 0x2198 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x147F DUP2 PUSH2 0x21AF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1497 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x14A5 DUP5 DUP3 DUP6 ADD PUSH2 0x13DD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x14CF DUP6 DUP3 DUP7 ADD PUSH2 0x13DD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x14E0 DUP6 DUP3 DUP7 ADD PUSH2 0x1470 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1517 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1523 DUP6 DUP3 DUP7 ADD PUSH2 0x13F2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1540 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x154C DUP6 DUP3 DUP7 ADD PUSH2 0x141C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1576 DUP5 DUP3 DUP6 ADD PUSH2 0x1446 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x159F DUP5 DUP3 DUP6 ADD PUSH2 0x145B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15B1 DUP2 PUSH2 0x2063 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x15C0 DUP2 PUSH2 0x2075 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15D3 PUSH1 0x29 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C6973744164647265737365733A20756E61 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x7574686F72697A65640000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1639 PUSH1 0x1F DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A7365746F776E65723A20756E617574686F72697A656400 PUSH1 0x0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1679 PUSH1 0x22 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A656E64436C61696D696E673A20756E617574686F72697A PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x6564000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DF PUSH1 0x1F DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A204E6F20504E4720746F20636C61696D00 PUSH1 0x0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x171F PUSH1 0x31 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A20496E73756666696369656E7420554E49 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x206F722053555348492062616C616E6365000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1785 PUSH1 0x25 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A656E64436C61696D696E673A205472616E736665722066 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x61696C6564000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17EB PUSH1 0x31 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A204578636565 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x647320504E4720616C6C6F636174696F6E000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1851 PUSH1 0x27 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A20756E617574 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x686F72697A656400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B7 PUSH1 0x2E DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A73657452656D61696E64657244657374696E6174696F6E PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x3A20756E617574686F72697A6564000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x191D PUSH1 0x27 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A20436C61696D696E67206973206E6F7420 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x616C6C6F77656400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1983 PUSH1 0x1F DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A205472616E73666572206661696C656400 PUSH1 0x0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19C3 PUSH1 0x2A DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A656E64436C61696D696E673A20436C61696D696E67206E PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x6F74207374617274656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A29 PUSH1 0x24 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A616C6C6F77436C61696D696E673A20756E617574686F72 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x697A656400000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A8F PUSH1 0x33 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C6973744164647265737365733A20696E63 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x6F7272656374206172726179206C656E67746800000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AF5 PUSH1 0x2E DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A204E6F20504E PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x4720746F20616C6C6F6361746564000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B5B PUSH1 0x30 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A206164647265 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x737320616C726561647920616464656400000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC1 PUSH1 0x2C DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A616C6C6F77436C61696D696E673A20696E636F72726563 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x7420504E4720737570706C790000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C27 PUSH1 0x2E DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A20636C61696D PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x696E6720696E2073657373696F6E000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C89 DUP2 PUSH2 0x20A1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1C98 DUP2 PUSH2 0x20AB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CB3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1CCE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15A8 JUMP JUMPDEST PUSH2 0x1CDB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1C80 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CF7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D16 DUP2 PUSH2 0x15C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D36 DUP2 PUSH2 0x162C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D56 DUP2 PUSH2 0x166C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D76 DUP2 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D96 DUP2 PUSH2 0x1712 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1DB6 DUP2 PUSH2 0x1778 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1DD6 DUP2 PUSH2 0x17DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1DF6 DUP2 PUSH2 0x1844 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E16 DUP2 PUSH2 0x18AA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E36 DUP2 PUSH2 0x1910 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E56 DUP2 PUSH2 0x1976 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E76 DUP2 PUSH2 0x19B6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E96 DUP2 PUSH2 0x1A1C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EB6 DUP2 PUSH2 0x1A82 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1ED6 DUP2 PUSH2 0x1AE8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EF6 DUP2 PUSH2 0x1B4E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F16 DUP2 PUSH2 0x1BB4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F36 DUP2 PUSH2 0x1C1A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F52 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C80 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F6D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C8F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1F9A JUMPI PUSH2 0x1F99 PUSH2 0x213B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1FBF JUMPI PUSH2 0x1FBE PUSH2 0x213B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1FEB JUMPI PUSH2 0x1FEA PUSH2 0x213B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2018 DUP3 PUSH2 0x20A1 JUMP JUMPDEST SWAP2 POP PUSH2 0x2023 DUP4 PUSH2 0x20A1 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2058 JUMPI PUSH2 0x2057 PUSH2 0x210C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x206E DUP3 PUSH2 0x2081 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20CE DUP3 PUSH2 0x20A1 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2101 JUMPI PUSH2 0x2100 PUSH2 0x210C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x2173 DUP2 PUSH2 0x2063 JUMP JUMPDEST DUP2 EQ PUSH2 0x217E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x218A DUP2 PUSH2 0x2075 JUMP JUMPDEST DUP2 EQ PUSH2 0x2195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x21A1 DUP2 PUSH2 0x20A1 JUMP JUMPDEST DUP2 EQ PUSH2 0x21AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x21B8 DUP2 PUSH2 0x20AB JUMP JUMPDEST DUP2 EQ PUSH2 0x21C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDE 0xB7 DUP3 CODECOPY 0x1E 0xAF MUL 0xB6 0xEC NOT PUSH24 0xB70DCAAB54DC506FD50474F1A9680A5AC812E5B1CA64736F PUSH13 0x63430008000033000000000000 ",
"sourceMap": "321:6453:0:-:0;;;1347:377;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1530:4;1524:3;;:10;;;;;;;;;;;;;;;;;;1550:4;1544:3;;:10;;;;;;;;;;;;;;;;;;1572:6;1564:5;;:14;;;;;;;;;;;;;;;;;;1596:6;1588:5;;:14;;;;;;;;;;;;;;;;;;1635:21;1612:20;;:44;;;;;;;;;;;;;;;;;;1684:5;1666:15;;:23;;;;;;;;;;;;;;;;;;1716:1;1699:14;:18;;;;1347:377;;;;;321:6453;;7:143:1;;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:910::-;;;;;;343:3;331:9;322:7;318:23;314:33;311:2;;;360:1;357;350:12;311:2;403:1;428:64;484:7;475:6;464:9;460:22;428:64;:::i;:::-;418:74;;374:128;541:2;567:64;623:7;614:6;603:9;599:22;567:64;:::i;:::-;557:74;;512:129;680:2;706:64;762:7;753:6;742:9;738:22;706:64;:::i;:::-;696:74;;651:129;819:2;845:64;901:7;892:6;881:9;877:22;845:64;:::i;:::-;835:74;;790:129;958:3;985:64;1041:7;1032:6;1021:9;1017:22;985:64;:::i;:::-;975:74;;929:130;301:765;;;;;;;;:::o;1072:96::-;;1138:24;1156:5;1138:24;:::i;:::-;1127:35;;1117:51;;;:::o;1174:126::-;;1251:42;1244:5;1240:54;1229:65;;1219:81;;;:::o;1306:122::-;1379:24;1397:5;1379:24;:::i;:::-;1372:5;1369:35;1359:2;;1418:1;1415;1408:12;1359:2;1349:79;:::o;321:6453:0:-;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:23610:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "126:520:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "136:89:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "217:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "160:56:1"
},
"nodeType": "YulFunctionCall",
"src": "160:64:1"
}
],
"functionName": {
"name": "allocateMemory",
"nodeType": "YulIdentifier",
"src": "145:14:1"
},
"nodeType": "YulFunctionCall",
"src": "145:80:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "136:5:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "234:16:1",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "245:5:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "238:3:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "266:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "273:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "259:6:1"
},
"nodeType": "YulFunctionCall",
"src": "259:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "259:21:1"
},
{
"nodeType": "YulAssignment",
"src": "281:23:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "292:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "299:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "288:3:1"
},
"nodeType": "YulFunctionCall",
"src": "288:16:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "281:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "313:17:1",
"value": {
"name": "offset",
"nodeType": "YulIdentifier",
"src": "324:6:1"
},
"variables": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "317:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "388:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "391:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "381:6:1"
},
"nodeType": "YulFunctionCall",
"src": "381:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "381:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "349:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "358:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "366:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "354:3:1"
},
"nodeType": "YulFunctionCall",
"src": "354:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "345:3:1"
},
"nodeType": "YulFunctionCall",
"src": "345:27:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "374:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "342:36:1"
},
"nodeType": "YulIf",
"src": "339:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "464:176:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "478:21:1",
"value": {
"name": "src",
"nodeType": "YulIdentifier",
"src": "496:3:1"
},
"variables": [
{
"name": "elementPos",
"nodeType": "YulTypedName",
"src": "482:10:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "519:3:1"
},
{
"arguments": [
{
"name": "elementPos",
"nodeType": "YulIdentifier",
"src": "545:10:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "557:3:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "524:20:1"
},
"nodeType": "YulFunctionCall",
"src": "524:37:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "512:6:1"
},
"nodeType": "YulFunctionCall",
"src": "512:50:1"
},
"nodeType": "YulExpressionStatement",
"src": "512:50:1"
},
{
"nodeType": "YulAssignment",
"src": "575:21:1",
"value": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "586:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "591:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "582:3:1"
},
"nodeType": "YulFunctionCall",
"src": "582:14:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "575:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "609:21:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "620:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "625:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "616:3:1"
},
"nodeType": "YulFunctionCall",
"src": "616:14:1"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "609:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "426:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "429:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "423:2:1"
},
"nodeType": "YulFunctionCall",
"src": "423:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "437:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "439:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "448:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "451:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "444:3:1"
},
"nodeType": "YulFunctionCall",
"src": "444:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "439:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "408:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "410:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "419:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "414:1:1",
"type": ""
}
]
}
]
},
"src": "404:236:1"
}
]
},
"name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "96:6:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "104:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "112:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "120:5:1",
"type": ""
}
],
"src": "24:622:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "769:518:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "779:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "859:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_array$_t_uint96_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "803:55:1"
},
"nodeType": "YulFunctionCall",
"src": "803:63:1"
}
],
"functionName": {
"name": "allocateMemory",
"nodeType": "YulIdentifier",
"src": "788:14:1"
},
"nodeType": "YulFunctionCall",
"src": "788:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "779:5:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "876:16:1",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "887:5:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "880:3:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "908:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "915:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "901:6:1"
},
"nodeType": "YulFunctionCall",
"src": "901:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "901:21:1"
},
{
"nodeType": "YulAssignment",
"src": "923:23:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "934:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "941:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "930:3:1"
},
"nodeType": "YulFunctionCall",
"src": "930:16:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "923:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "955:17:1",
"value": {
"name": "offset",
"nodeType": "YulIdentifier",
"src": "966:6:1"
},
"variables": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "959:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1021:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1030:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1023:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1023:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1023:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "991:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1000:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1008:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "996:3:1"
},
"nodeType": "YulFunctionCall",
"src": "996:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "987:3:1"
},
"nodeType": "YulFunctionCall",
"src": "987:27:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1016:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "984:2:1"
},
"nodeType": "YulFunctionCall",
"src": "984:36:1"
},
"nodeType": "YulIf",
"src": "981:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1106:175:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1120:21:1",
"value": {
"name": "src",
"nodeType": "YulIdentifier",
"src": "1138:3:1"
},
"variables": [
{
"name": "elementPos",
"nodeType": "YulTypedName",
"src": "1124:10:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1161:3:1"
},
{
"arguments": [
{
"name": "elementPos",
"nodeType": "YulIdentifier",
"src": "1186:10:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1198:3:1"
}
],
"functionName": {
"name": "abi_decode_t_uint96",
"nodeType": "YulIdentifier",
"src": "1166:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1166:36:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1154:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1154:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "1154:49:1"
},
{
"nodeType": "YulAssignment",
"src": "1216:21:1",
"value": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1227:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1232:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1223:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1223:14:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1216:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1250:21:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1261:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1266:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1257:14:1"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1250:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1068:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1071:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1065:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1065:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1079:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1081:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1090:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1093:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1086:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1086:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1081:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1050:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1052:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1061:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1056:1:1",
"type": ""
}
]
}
]
},
"src": "1046:235:1"
}
]
},
"name": "abi_decode_available_length_t_array$_t_uint96_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "739:6:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "747:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "755:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "763:5:1",
"type": ""
}
],
"src": "668:619:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1345:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1355:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1377:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1364:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1364:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1355:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1420:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "1393:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1393:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1393:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1323:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1331:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1339:5:1",
"type": ""
}
],
"src": "1293:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1532:226:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1581:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1590:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1593:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1583:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1583:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1583:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1560:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1568:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1556:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1556:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1575:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1552:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1552:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1545:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1545:35:1"
},
"nodeType": "YulIf",
"src": "1542:2:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "1606:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1633:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1620:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1620:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1610:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1649:103:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1725:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1733:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1721:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1721:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1740:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1748:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1658:62:1"
},
"nodeType": "YulFunctionCall",
"src": "1658:94:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "1649:5:1"
}
]
}
]
},
"name": "abi_decode_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1510:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1518:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "1526:5:1",
"type": ""
}
],
"src": "1455:303:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1856:225:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1905:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1914:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1917:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1907:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1907:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1907:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1884:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1892:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1880:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1880:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1899:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1876:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1876:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1869:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1869:35:1"
},
"nodeType": "YulIf",
"src": "1866:2:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "1930:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1957:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1944:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1944:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1934:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1973:102:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2048:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2056:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2044:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2044:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2063:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2071:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_array$_t_uint96_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1982:61:1"
},
"nodeType": "YulFunctionCall",
"src": "1982:93:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "1973:5:1"
}
]
}
]
},
"name": "abi_decode_t_array$_t_uint96_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1834:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1842:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "1850:5:1",
"type": ""
}
],
"src": "1780:301:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2147:77:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2157:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2172:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2166:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2157:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2212:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "2188:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2188:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "2188:30:1"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2125:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2133:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2141:5:1",
"type": ""
}
],
"src": "2087:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2293:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2303:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2318:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2312:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2312:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2303:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2361:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "2334:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2334:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2334:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2271:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2279:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2287:5:1",
"type": ""
}
],
"src": "2230:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2430:86:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2440:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2462:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2449:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2449:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2440:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2504:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint96",
"nodeType": "YulIdentifier",
"src": "2478:25:1"
},
"nodeType": "YulFunctionCall",
"src": "2478:32:1"
},
"nodeType": "YulExpressionStatement",
"src": "2478:32:1"
}
]
},
"name": "abi_decode_t_uint96",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2408:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2416:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2424:5:1",
"type": ""
}
],
"src": "2379:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2588:196:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2634:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2643:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2646:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2636:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2636:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2636:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2609:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2618:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2605:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2605:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2630:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2601:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2601:32:1"
},
"nodeType": "YulIf",
"src": "2598:2:1"
},
{
"nodeType": "YulBlock",
"src": "2660:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2675:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2689:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2679:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2704:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2739:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2750:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2735:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2735:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2759:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2714:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2714:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2704:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2558:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2569:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2581:6:1",
"type": ""
}
],
"src": "2522:262:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2872:323:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2918:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2927:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2930:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2920:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2920:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2920:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2893:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2902:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2889:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2889:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2914:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2885:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2885:32:1"
},
"nodeType": "YulIf",
"src": "2882:2:1"
},
{
"nodeType": "YulBlock",
"src": "2944:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2959:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2973:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2963:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2988:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3023:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3034:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3019:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3019:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3043:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2998:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2998:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2988:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3071:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3086:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3100:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3090:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3116:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3150:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3161:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3146:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3146:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3170:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint96",
"nodeType": "YulIdentifier",
"src": "3126:19:1"
},
"nodeType": "YulFunctionCall",
"src": "3126:52:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3116:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint96",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2834:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2845:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2857:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2865:6:1",
"type": ""
}
],
"src": "2790:405:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3333:559:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3379:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3388:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3391:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3381:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3381:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3381:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3354:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3363:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3350:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3350:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3375:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3346:32:1"
},
"nodeType": "YulIf",
"src": "3343:2:1"
},
{
"nodeType": "YulBlock",
"src": "3405:235:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3451:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3462:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3447:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3447:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3434:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3434:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3424:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3512:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3521:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3524:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3514:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3514:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3484:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3492:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3481:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3481:30:1"
},
"nodeType": "YulIf",
"src": "3478:2:1"
},
{
"nodeType": "YulAssignment",
"src": "3542:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3602:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3613:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3598:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3598:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3622:7:1"
}
],
"functionName": {
"name": "abi_decode_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3552:45:1"
},
"nodeType": "YulFunctionCall",
"src": "3552:78:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3542:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3650:235:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3665:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3696:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3707:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3692:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3692:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3679:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3679:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3669:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3758:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3767:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3770:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3760:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3760:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3760:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3730:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3738:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3727:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3727:30:1"
},
"nodeType": "YulIf",
"src": "3724:2:1"
},
{
"nodeType": "YulAssignment",
"src": "3788:87:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3847:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3858:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3843:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3843:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3867:7:1"
}
],
"functionName": {
"name": "abi_decode_t_array$_t_uint96_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3798:44:1"
},
"nodeType": "YulFunctionCall",
"src": "3798:77:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3788:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint96_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3295:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3306:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3318:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3326:6:1",
"type": ""
}
],
"src": "3201:691:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3972:204:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4018:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4027:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4030:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4020:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4020:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4020:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3993:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4002:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3989:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3989:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4014:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3985:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3985:32:1"
},
"nodeType": "YulIf",
"src": "3982:2:1"
},
{
"nodeType": "YulBlock",
"src": "4044:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4059:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4073:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4063:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4088:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4131:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4142:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4127:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4127:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4151:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "4098:28:1"
},
"nodeType": "YulFunctionCall",
"src": "4098:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4088:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3942:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3953:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3965:6:1",
"type": ""
}
],
"src": "3898:278:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4259:207:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4305:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4314:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4317:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4307:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4307:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4307:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4280:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4289:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4276:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4276:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4301:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4272:32:1"
},
"nodeType": "YulIf",
"src": "4269:2:1"
},
{
"nodeType": "YulBlock",
"src": "4331:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4346:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4360:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4350:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4375:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4421:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4432:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4417:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4417:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4441:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "4385:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4385:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4375:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4229:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4240:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4252:6:1",
"type": ""
}
],
"src": "4182:284:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4537:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4577:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "4559:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4559:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4547:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4547:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "4547:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4525:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4532:3:1",
"type": ""
}
],
"src": "4472:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4655:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4672:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4692:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "4677:14:1"
},
"nodeType": "YulFunctionCall",
"src": "4677:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4665:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4665:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "4665:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4643:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4650:3:1",
"type": ""
}
],
"src": "4596:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4857:227:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4867:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4933:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4938:2:1",
"type": "",
"value": "41"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4874:58:1"
},
"nodeType": "YulFunctionCall",
"src": "4874:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4867:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4962:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4967:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4958:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4958:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "4971:34:1",
"type": "",
"value": "Airdrop::whitelistAddresses: una"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4951:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4951:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "4951:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5027:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5032:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5023:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5023:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "5037:11:1",
"type": "",
"value": "uthorized"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5016:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5016:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "5016:33:1"
},
{
"nodeType": "YulAssignment",
"src": "5059:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5070:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5075:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5066:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5066:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5059:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4845:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4853:3:1",
"type": ""
}
],
"src": "4711:373:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5236:183:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5246:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5312:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5317:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5253:58:1"
},
"nodeType": "YulFunctionCall",
"src": "5253:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5246:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5341:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5346:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5337:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5337:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "5350:33:1",
"type": "",
"value": "Airdrop::setowner: unauthorized"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5330:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5330:54:1"
},
"nodeType": "YulExpressionStatement",
"src": "5330:54:1"
},
{
"nodeType": "YulAssignment",
"src": "5394:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5405:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5410:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5401:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5394:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5224:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5232:3:1",
"type": ""
}
],
"src": "5090:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5571:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5581:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5647:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5652:2:1",
"type": "",
"value": "34"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5588:58:1"
},
"nodeType": "YulFunctionCall",
"src": "5588:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5581:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5676:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5681:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5672:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "5685:34:1",
"type": "",
"value": "Airdrop::endClaiming: unauthoriz"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5665:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5665:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "5665:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5741:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5746:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5737:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5737:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "5751:4:1",
"type": "",
"value": "ed"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5730:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5730:26:1"
},
"nodeType": "YulExpressionStatement",
"src": "5730:26:1"
},
{
"nodeType": "YulAssignment",
"src": "5766:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5777:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5782:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5773:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5766:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5559:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5567:3:1",
"type": ""
}
],
"src": "5425:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5943:183:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5953:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6019:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6024:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5960:58:1"
},
"nodeType": "YulFunctionCall",
"src": "5960:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5953:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6048:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6053:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6044:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6044:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "6057:33:1",
"type": "",
"value": "Airdrop::claim: No PNG to claim"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6037:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6037:54:1"
},
"nodeType": "YulExpressionStatement",
"src": "6037:54:1"
},
{
"nodeType": "YulAssignment",
"src": "6101:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6112:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6117:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6108:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6108:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6101:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5931:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5939:3:1",
"type": ""
}
],
"src": "5797:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6278:235:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6288:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6354:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6359:2:1",
"type": "",
"value": "49"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6295:58:1"
},
"nodeType": "YulFunctionCall",
"src": "6295:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6288:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6383:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6388:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6379:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6379:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "6392:34:1",
"type": "",
"value": "Airdrop::claim: Insufficient UNI"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6372:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6372:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "6372:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6448:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6453:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6444:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6444:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "6458:19:1",
"type": "",
"value": " or SUSHI balance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6437:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6437:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "6437:41:1"
},
{
"nodeType": "YulAssignment",
"src": "6488:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6499:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6504:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6495:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6495:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6488:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6266:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6274:3:1",
"type": ""
}
],
"src": "6132:381:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6665:223:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6675:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6741:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6746:2:1",
"type": "",
"value": "37"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6682:58:1"
},
"nodeType": "YulFunctionCall",
"src": "6682:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6675:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6770:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6775:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6766:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6766:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "6779:34:1",
"type": "",
"value": "Airdrop::endClaiming: Transfer f"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6759:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6759:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "6759:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6835:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6840:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6831:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6831:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "6845:7:1",
"type": "",
"value": "ailed"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6824:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6824:29:1"
},
"nodeType": "YulExpressionStatement",
"src": "6824:29:1"
},
{
"nodeType": "YulAssignment",
"src": "6863:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6874:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6879:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6870:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6870:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6863:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6653:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6661:3:1",
"type": ""
}
],
"src": "6519:369:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7040:235:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7050:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7116:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7121:2:1",
"type": "",
"value": "49"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7057:58:1"
},
"nodeType": "YulFunctionCall",
"src": "7057:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7050:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7145:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7150:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7141:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7141:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7154:34:1",
"type": "",
"value": "Airdrop::whitelistAddress: Excee"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7134:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7134:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "7134:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7210:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7215:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7206:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7206:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7220:19:1",
"type": "",
"value": "ds PNG allocation"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7199:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7199:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "7199:41:1"
},
{
"nodeType": "YulAssignment",
"src": "7250:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7261:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7266:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7257:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7250:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7028:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7036:3:1",
"type": ""
}
],
"src": "6894:381:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7427:225:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7437:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7503:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7508:2:1",
"type": "",
"value": "39"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7444:58:1"
},
"nodeType": "YulFunctionCall",
"src": "7444:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7437:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7532:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7537:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7528:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7541:34:1",
"type": "",
"value": "Airdrop::whitelistAddress: unaut"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7521:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "7521:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7597:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7602:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7593:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7593:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7607:9:1",
"type": "",
"value": "horized"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7586:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7586:31:1"
},
"nodeType": "YulExpressionStatement",
"src": "7586:31:1"
},
{
"nodeType": "YulAssignment",
"src": "7627:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7638:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7643:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7634:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7634:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7627:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7415:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7423:3:1",
"type": ""
}
],
"src": "7281:371:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7804:232:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7814:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7880:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7885:2:1",
"type": "",
"value": "46"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7821:58:1"
},
"nodeType": "YulFunctionCall",
"src": "7821:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7814:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7909:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7914:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7905:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7905:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7918:34:1",
"type": "",
"value": "Airdrop::setRemainderDestination"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7898:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7898:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "7898:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7974:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7979:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7970:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7984:16:1",
"type": "",
"value": ": unauthorized"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7963:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7963:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "7963:38:1"
},
{
"nodeType": "YulAssignment",
"src": "8011:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8022:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8027:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8018:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8018:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8011:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7792:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7800:3:1",
"type": ""
}
],
"src": "7658:378:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8188:225:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8198:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8264:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8269:2:1",
"type": "",
"value": "39"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8205:58:1"
},
"nodeType": "YulFunctionCall",
"src": "8205:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8198:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8293:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8298:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8289:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8289:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "8302:34:1",
"type": "",
"value": "Airdrop::claim: Claiming is not "
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8282:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8282:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "8282:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8358:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8363:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8354:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8354:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "8368:9:1",
"type": "",
"value": "allowed"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8347:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8347:31:1"
},
"nodeType": "YulExpressionStatement",
"src": "8347:31:1"
},
{
"nodeType": "YulAssignment",
"src": "8388:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8399:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8404:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8395:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8395:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8388:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8176:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8184:3:1",
"type": ""
}
],
"src": "8042:371:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8565:183:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8575:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8641:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8646:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8582:58:1"
},
"nodeType": "YulFunctionCall",
"src": "8582:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8575:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8670:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8675:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8666:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "8679:33:1",
"type": "",
"value": "Airdrop::claim: Transfer failed"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8659:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8659:54:1"
},
"nodeType": "YulExpressionStatement",
"src": "8659:54:1"
},
{
"nodeType": "YulAssignment",
"src": "8723:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8734:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8739:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8730:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8730:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8723:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8553:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8561:3:1",
"type": ""
}
],
"src": "8419:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8900:228:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8910:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8976:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8981:2:1",
"type": "",
"value": "42"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8917:58:1"
},
"nodeType": "YulFunctionCall",
"src": "8917:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8910:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9005:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9010:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9001:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9001:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9014:34:1",
"type": "",
"value": "Airdrop::endClaiming: Claiming n"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8994:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8994:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "8994:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9070:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9075:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9066:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9066:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9080:12:1",
"type": "",
"value": "ot started"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9059:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9059:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "9059:34:1"
},
{
"nodeType": "YulAssignment",
"src": "9103:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9114:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9119:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9110:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9110:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9103:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8888:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8896:3:1",
"type": ""
}
],
"src": "8754:374:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9280:222:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9290:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9356:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9361:2:1",
"type": "",
"value": "36"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9297:58:1"
},
"nodeType": "YulFunctionCall",
"src": "9297:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9290:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9385:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9390:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9381:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9381:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9394:34:1",
"type": "",
"value": "Airdrop::allowClaiming: unauthor"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9374:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9374:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "9374:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9450:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9455:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9446:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9446:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9460:6:1",
"type": "",
"value": "ized"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9439:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9439:28:1"
},
"nodeType": "YulExpressionStatement",
"src": "9439:28:1"
},
{
"nodeType": "YulAssignment",
"src": "9477:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9488:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9493:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9484:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9484:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9477:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "9268:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9276:3:1",
"type": ""
}
],
"src": "9134:368:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9654:237:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9664:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9730:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9735:2:1",
"type": "",
"value": "51"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "9671:58:1"
},
"nodeType": "YulFunctionCall",
"src": "9671:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9664:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9759:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9764:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9755:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9755:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9768:34:1",
"type": "",
"value": "Airdrop::whitelistAddresses: inc"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9748:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9748:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "9748:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9824:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9829:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9820:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9820:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9834:21:1",
"type": "",
"value": "orrect array length"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9813:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9813:43:1"
},
"nodeType": "YulExpressionStatement",
"src": "9813:43:1"
},
{
"nodeType": "YulAssignment",
"src": "9866:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9877:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9882:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9873:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9873:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9866:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "9642:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9650:3:1",
"type": ""
}
],
"src": "9508:383:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10043:232:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10053:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10119:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10124:2:1",
"type": "",
"value": "46"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10060:58:1"
},
"nodeType": "YulFunctionCall",
"src": "10060:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10053:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10148:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10153:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10144:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10144:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10157:34:1",
"type": "",
"value": "Airdrop::whitelistAddress: No PN"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10137:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10137:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "10137:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10213:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10218:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10209:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10209:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10223:16:1",
"type": "",
"value": "G to allocated"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10202:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10202:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "10202:38:1"
},
{
"nodeType": "YulAssignment",
"src": "10250:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10261:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10266:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10257:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "10250:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10031:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "10039:3:1",
"type": ""
}
],
"src": "9897:378:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10427:234:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10437:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10503:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10508:2:1",
"type": "",
"value": "48"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10444:58:1"
},
"nodeType": "YulFunctionCall",
"src": "10444:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10437:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10532:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10537:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10528:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10541:34:1",
"type": "",
"value": "Airdrop::whitelistAddress: addre"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10521:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "10521:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10597:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10602:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10593:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10593:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10607:18:1",
"type": "",
"value": "ss already added"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10586:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10586:40:1"
},
"nodeType": "YulExpressionStatement",
"src": "10586:40:1"
},
{
"nodeType": "YulAssignment",
"src": "10636:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10647:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10652:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10643:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10643:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "10636:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10415:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "10423:3:1",
"type": ""
}
],
"src": "10281:380:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10813:230:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10823:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10889:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10894:2:1",
"type": "",
"value": "44"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10830:58:1"
},
"nodeType": "YulFunctionCall",
"src": "10830:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10823:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10918:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10923:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10914:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10914:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10927:34:1",
"type": "",
"value": "Airdrop::allowClaiming: incorrec"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10907:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10907:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "10907:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10983:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10988:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10979:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10979:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10993:14:1",
"type": "",
"value": "t PNG supply"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10972:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10972:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "10972:36:1"
},
{
"nodeType": "YulAssignment",
"src": "11018:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11029:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11034:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11025:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "11018:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10801:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "10809:3:1",
"type": ""
}
],
"src": "10667:376:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11195:232:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11205:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11271:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11276:2:1",
"type": "",
"value": "46"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11212:58:1"
},
"nodeType": "YulFunctionCall",
"src": "11212:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11205:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11300:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11305:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11296:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11296:11:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "11309:34:1",
"type": "",
"value": "Airdrop::whitelistAddress: claim"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11289:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11289:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "11289:55:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11365:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11370:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11361:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11361:12:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "11375:16:1",
"type": "",
"value": "ing in session"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11354:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11354:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "11354:38:1"
},
{
"nodeType": "YulAssignment",
"src": "11402:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11413:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11418:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11409:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11409:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "11402:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11183:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "11191:3:1",
"type": ""
}
],
"src": "11049:378:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11498:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11515:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "11538:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "11520:17:1"
},
"nodeType": "YulFunctionCall",
"src": "11520:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11508:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11508:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "11508:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "11486:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11493:3:1",
"type": ""
}
],
"src": "11433:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11620:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11637:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "11659:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint96",
"nodeType": "YulIdentifier",
"src": "11642:16:1"
},
"nodeType": "YulFunctionCall",
"src": "11642:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11630:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11630:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "11630:36:1"
}
]
},
"name": "abi_encode_t_uint96_to_t_uint96_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "11608:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11615:3:1",
"type": ""
}
],
"src": "11557:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11776:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11786:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11798:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11809:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11794:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11786:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "11866:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11879:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11890:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11875:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11875:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "11822:43:1"
},
"nodeType": "YulFunctionCall",
"src": "11822:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "11822:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11748:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "11760:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11771:4:1",
"type": ""
}
],
"src": "11678:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12032:206:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12042:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12054:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12065:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12050:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12050:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12042:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "12122:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12135:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12146:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12131:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12131:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "12078:43:1"
},
"nodeType": "YulFunctionCall",
"src": "12078:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "12078:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "12203:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12216:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12227:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12212:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12212:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "12159:43:1"
},
"nodeType": "YulFunctionCall",
"src": "12159:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "12159:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11996:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "12008:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "12016:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12027:4:1",
"type": ""
}
],
"src": "11906:332:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12336:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12346:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12358:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12369:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12354:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12354:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12346:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "12420:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12433:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12444:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12429:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12429:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "12382:37:1"
},
"nodeType": "YulFunctionCall",
"src": "12382:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "12382:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12308:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "12320:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12331:4:1",
"type": ""
}
],
"src": "12244:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12631:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12641:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12653:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12664:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12649:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12649:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12641:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12688:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12699:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12684:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12684:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12707:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12713:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12703:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12703:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12677:6:1"
},
"nodeType": "YulFunctionCall",
"src": "12677:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "12677:47:1"
},
{
"nodeType": "YulAssignment",
"src": "12733:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12867:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12741:124:1"
},
"nodeType": "YulFunctionCall",
"src": "12741:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12733:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12611:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12626:4:1",
"type": ""
}
],
"src": "12460:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13056:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13066:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13078:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13074:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13074:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13066:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13113:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13124:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13109:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13109:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13132:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13138:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13128:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13128:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13102:6:1"
},
"nodeType": "YulFunctionCall",
"src": "13102:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "13102:47:1"
},
{
"nodeType": "YulAssignment",
"src": "13158:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13292:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13166:124:1"
},
"nodeType": "YulFunctionCall",
"src": "13166:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13158:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13036:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13051:4:1",
"type": ""
}
],
"src": "12885:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13481:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13491:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13503:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13514:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13499:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13499:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13491:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13538:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13549:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13534:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13534:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13557:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13563:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13553:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13553:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13527:6:1"
},
"nodeType": "YulFunctionCall",
"src": "13527:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "13527:47:1"
},
{
"nodeType": "YulAssignment",
"src": "13583:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13717:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13591:124:1"
},
"nodeType": "YulFunctionCall",
"src": "13591:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13583:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13461:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13476:4:1",
"type": ""
}
],
"src": "13310:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13906:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13916:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13928:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13939:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13924:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13924:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13916:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13963:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13974:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13959:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13959:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13982:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13988:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13978:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13978:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13952:6:1"
},
"nodeType": "YulFunctionCall",
"src": "13952:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "13952:47:1"
},
{
"nodeType": "YulAssignment",
"src": "14008:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14142:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14016:124:1"
},
"nodeType": "YulFunctionCall",
"src": "14016:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14008:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13886:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13901:4:1",
"type": ""
}
],
"src": "13735:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14331:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14341:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14353:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14364:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14349:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14349:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14341:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14388:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14399:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14384:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14384:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14407:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14413:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14403:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14403:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14377:6:1"
},
"nodeType": "YulFunctionCall",
"src": "14377:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "14377:47:1"
},
{
"nodeType": "YulAssignment",
"src": "14433:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14567:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14441:124:1"
},
"nodeType": "YulFunctionCall",
"src": "14441:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14433:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "14311:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "14326:4:1",
"type": ""
}
],
"src": "14160:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14756:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14766:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14778:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14789:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14774:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14774:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14766:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14813:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14824:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14809:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14832:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14838:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14828:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14828:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "14802:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "14802:47:1"
},
{
"nodeType": "YulAssignment",
"src": "14858:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14992:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14866:124:1"
},
"nodeType": "YulFunctionCall",
"src": "14866:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14858:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "14736:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "14751:4:1",
"type": ""
}
],
"src": "14585:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15181:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15191:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15203:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15214:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15199:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15199:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15191:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15238:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15249:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15234:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15234:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15257:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15263:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "15253:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15253:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15227:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15227:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "15227:47:1"
},
{
"nodeType": "YulAssignment",
"src": "15283:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15417:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "15291:124:1"
},
"nodeType": "YulFunctionCall",
"src": "15291:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15283:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "15161:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "15176:4:1",
"type": ""
}
],
"src": "15010:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15606:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15616:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15628:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15639:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15624:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15624:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15616:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15663:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15674:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15659:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15659:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15682:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15688:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "15678:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15678:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15652:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15652:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "15652:47:1"
},
{
"nodeType": "YulAssignment",
"src": "15708:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15842:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "15716:124:1"
},
"nodeType": "YulFunctionCall",
"src": "15716:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15708:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "15586:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "15601:4:1",
"type": ""
}
],
"src": "15435:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16031:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16041:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16053:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16064:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16049:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16049:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16041:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16088:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16099:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16084:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16107:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16113:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "16103:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16103:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16077:6:1"
},
"nodeType": "YulFunctionCall",
"src": "16077:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "16077:47:1"
},
{
"nodeType": "YulAssignment",
"src": "16133:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16267:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "16141:124:1"
},
"nodeType": "YulFunctionCall",
"src": "16141:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16133:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "16011:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "16026:4:1",
"type": ""
}
],
"src": "15860:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16456:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16466:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16478:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16489:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16474:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16474:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16466:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16513:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16524:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16509:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16509:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16532:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16538:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "16528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16528:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16502:6:1"
},
"nodeType": "YulFunctionCall",
"src": "16502:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "16502:47:1"
},
{
"nodeType": "YulAssignment",
"src": "16558:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16692:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "16566:124:1"
},
"nodeType": "YulFunctionCall",
"src": "16566:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16558:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "16436:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "16451:4:1",
"type": ""
}
],
"src": "16285:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16881:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16891:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16903:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16914:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16899:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16899:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16891:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16938:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16949:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16934:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16934:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16957:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16963:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "16953:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16953:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16927:6:1"
},
"nodeType": "YulFunctionCall",
"src": "16927:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "16927:47:1"
},
{
"nodeType": "YulAssignment",
"src": "16983:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17117:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "16991:124:1"
},
"nodeType": "YulFunctionCall",
"src": "16991:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16983:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "16861:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "16876:4:1",
"type": ""
}
],
"src": "16710:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17306:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17316:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17328:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17339:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17324:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17324:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17316:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17363:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17374:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17359:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17359:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17382:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17388:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "17378:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17378:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "17352:6:1"
},
"nodeType": "YulFunctionCall",
"src": "17352:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "17352:47:1"
},
{
"nodeType": "YulAssignment",
"src": "17408:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17542:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "17416:124:1"
},
"nodeType": "YulFunctionCall",
"src": "17416:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17408:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "17286:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "17301:4:1",
"type": ""
}
],
"src": "17135:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17731:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17741:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17753:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17764:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17749:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17749:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17741:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17788:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17799:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17784:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17784:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17807:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17813:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "17803:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17803:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "17777:6:1"
},
"nodeType": "YulFunctionCall",
"src": "17777:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "17777:47:1"
},
{
"nodeType": "YulAssignment",
"src": "17833:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17967:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "17841:124:1"
},
"nodeType": "YulFunctionCall",
"src": "17841:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17833:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "17711:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "17726:4:1",
"type": ""
}
],
"src": "17560:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18156:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18166:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18178:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18189:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18174:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18174:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18166:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18213:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18224:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18209:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18209:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18232:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18238:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "18228:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18228:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18202:6:1"
},
"nodeType": "YulFunctionCall",
"src": "18202:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "18202:47:1"
},
{
"nodeType": "YulAssignment",
"src": "18258:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18392:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "18266:124:1"
},
"nodeType": "YulFunctionCall",
"src": "18266:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18258:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "18136:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "18151:4:1",
"type": ""
}
],
"src": "17985:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18581:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18591:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18603:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18614:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18599:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18599:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18591:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18638:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18649:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18634:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18634:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18657:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18663:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "18653:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18653:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18627:6:1"
},
"nodeType": "YulFunctionCall",
"src": "18627:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "18627:47:1"
},
{
"nodeType": "YulAssignment",
"src": "18683:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18817:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "18691:124:1"
},
"nodeType": "YulFunctionCall",
"src": "18691:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18683:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "18561:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "18576:4:1",
"type": ""
}
],
"src": "18410:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19006:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19016:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19028:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19039:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19024:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19024:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19016:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19063:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19074:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19059:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19059:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19082:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19088:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "19078:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19078:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "19052:6:1"
},
"nodeType": "YulFunctionCall",
"src": "19052:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "19052:47:1"
},
{
"nodeType": "YulAssignment",
"src": "19108:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19242:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "19116:124:1"
},
"nodeType": "YulFunctionCall",
"src": "19116:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19108:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "18986:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "19001:4:1",
"type": ""
}
],
"src": "18835:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19431:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19441:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19453:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19464:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19449:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19449:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19441:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19488:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19499:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19484:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19484:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19507:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19513:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "19503:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19503:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "19477:6:1"
},
"nodeType": "YulFunctionCall",
"src": "19477:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "19477:47:1"
},
{
"nodeType": "YulAssignment",
"src": "19533:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19667:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "19541:124:1"
},
"nodeType": "YulFunctionCall",
"src": "19541:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19533:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "19411:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "19426:4:1",
"type": ""
}
],
"src": "19260:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19856:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19866:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19878:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19889:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19874:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19874:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19866:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19913:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19924:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19909:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19909:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19932:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19938:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "19928:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19928:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "19902:6:1"
},
"nodeType": "YulFunctionCall",
"src": "19902:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "19902:47:1"
},
{
"nodeType": "YulAssignment",
"src": "19958:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "20092:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "19966:124:1"
},
"nodeType": "YulFunctionCall",
"src": "19966:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19958:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "19836:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "19851:4:1",
"type": ""
}
],
"src": "19685:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20208:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20218:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "20230:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20241:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20226:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "20218:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "20298:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "20311:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20322:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20307:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20307:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "20254:43:1"
},
"nodeType": "YulFunctionCall",
"src": "20254:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "20254:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "20180:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "20192:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "20203:4:1",
"type": ""
}
],
"src": "20110:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20434:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20444:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "20456:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20467:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20452:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20452:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "20444:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "20522:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "20535:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20546:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20531:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20531:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint96_to_t_uint96_fromStack",
"nodeType": "YulIdentifier",
"src": "20480:41:1"
},
"nodeType": "YulFunctionCall",
"src": "20480:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "20480:69:1"
}
]
},
"name": "abi_encode_tuple_t_uint96__to_t_uint96__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "20406:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "20418:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "20429:4:1",
"type": ""
}
],
"src": "20338:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20602:243:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20612:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20628:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "20622:5:1"
},
"nodeType": "YulFunctionCall",
"src": "20622:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "20612:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "20640:35:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "20662:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "20670:4:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20658:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20658:17:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "20644:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "20786:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "20788:16:1"
},
"nodeType": "YulFunctionCall",
"src": "20788:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "20788:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "20729:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20741:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "20726:2:1"
},
"nodeType": "YulFunctionCall",
"src": "20726:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "20765:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "20777:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "20762:2:1"
},
"nodeType": "YulFunctionCall",
"src": "20762:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "20723:2:1"
},
"nodeType": "YulFunctionCall",
"src": "20723:62:1"
},
"nodeType": "YulIf",
"src": "20720:2:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20824:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "20828:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "20817:6:1"
},
"nodeType": "YulFunctionCall",
"src": "20817:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "20817:22:1"
}
]
},
"name": "allocateMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "20586:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "20595:6:1",
"type": ""
}
],
"src": "20562:283:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20933:229:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "21038:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "21040:16:1"
},
"nodeType": "YulFunctionCall",
"src": "21040:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "21040:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "21010:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21018:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "21007:2:1"
},
"nodeType": "YulFunctionCall",
"src": "21007:30:1"
},
"nodeType": "YulIf",
"src": "21004:2:1"
},
{
"nodeType": "YulAssignment",
"src": "21070:25:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "21082:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21090:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "21078:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21078:17:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "21070:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21132:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "21144:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21150:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21140:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "21132:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "20917:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "20928:4:1",
"type": ""
}
],
"src": "20851:311:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21249:229:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "21354:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "21356:16:1"
},
"nodeType": "YulFunctionCall",
"src": "21356:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "21356:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "21326:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21334:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "21323:2:1"
},
"nodeType": "YulFunctionCall",
"src": "21323:30:1"
},
"nodeType": "YulIf",
"src": "21320:2:1"
},
{
"nodeType": "YulAssignment",
"src": "21386:25:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "21398:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21406:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "21394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21394:17:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "21386:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21448:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "21460:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21466:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21456:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21456:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "21448:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_array$_t_uint96_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "21233:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "21244:4:1",
"type": ""
}
],
"src": "21168:310:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21580:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21597:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "21602:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "21590:6:1"
},
"nodeType": "YulFunctionCall",
"src": "21590:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "21590:19:1"
},
{
"nodeType": "YulAssignment",
"src": "21618:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21637:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21642:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21633:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21633:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "21618:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "21552:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "21557:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "21568:11:1",
"type": ""
}
],
"src": "21484:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21703:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "21713:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "21736:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "21718:17:1"
},
"nodeType": "YulFunctionCall",
"src": "21718:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "21713:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21747:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "21770:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "21752:17:1"
},
"nodeType": "YulFunctionCall",
"src": "21752:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "21747:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "21910:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "21912:16:1"
},
"nodeType": "YulFunctionCall",
"src": "21912:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "21912:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "21831:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21838:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "21906:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "21834:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21834:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "21828:2:1"
},
"nodeType": "YulFunctionCall",
"src": "21828:81:1"
},
"nodeType": "YulIf",
"src": "21825:2:1"
},
{
"nodeType": "YulAssignment",
"src": "21942:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "21953:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "21956:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21949:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21949:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "21942:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "21690:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "21693:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "21699:3:1",
"type": ""
}
],
"src": "21659:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22015:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22025:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22054:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "22036:17:1"
},
"nodeType": "YulFunctionCall",
"src": "22036:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "22025:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "21997:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "22007:7:1",
"type": ""
}
],
"src": "21970:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22114:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22124:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22149:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "22142:6:1"
},
"nodeType": "YulFunctionCall",
"src": "22142:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "22135:6:1"
},
"nodeType": "YulFunctionCall",
"src": "22135:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "22124:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "22096:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "22106:7:1",
"type": ""
}
],
"src": "22072:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22213:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22223:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22238:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22245:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "22234:3:1"
},
"nodeType": "YulFunctionCall",
"src": "22234:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "22223:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "22195:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "22205:7:1",
"type": ""
}
],
"src": "22168:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22345:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22355:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "22366:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "22355:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "22327:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "22337:7:1",
"type": ""
}
],
"src": "22300:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22427:65:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22437:49:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22452:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22459:26:1",
"type": "",
"value": "0xffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "22448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "22448:38:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "22437:7:1"
}
]
}
]
},
"name": "cleanup_t_uint96",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "22409:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "22419:7:1",
"type": ""
}
],
"src": "22383:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22541:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22551:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22578:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "22560:17:1"
},
"nodeType": "YulFunctionCall",
"src": "22560:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22551:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "22674:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "22676:16:1"
},
"nodeType": "YulFunctionCall",
"src": "22676:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "22676:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22599:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22606:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "22596:2:1"
},
"nodeType": "YulFunctionCall",
"src": "22596:77:1"
},
"nodeType": "YulIf",
"src": "22593:2:1"
},
{
"nodeType": "YulAssignment",
"src": "22705:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22716:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22723:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22712:3:1"
},
"nodeType": "YulFunctionCall",
"src": "22712:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "22705:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "22527:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "22537:3:1",
"type": ""
}
],
"src": "22498:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22765:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22782:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22785:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22775:6:1"
},
"nodeType": "YulFunctionCall",
"src": "22775:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "22775:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22879:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22882:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22872:6:1"
},
"nodeType": "YulFunctionCall",
"src": "22872:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "22872:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22903:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22906:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "22896:6:1"
},
"nodeType": "YulFunctionCall",
"src": "22896:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "22896:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "22737:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22951:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22968:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22971:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22961:6:1"
},
"nodeType": "YulFunctionCall",
"src": "22961:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "22961:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23065:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23068:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "23058:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23058:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "23058:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23089:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23092:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "23082:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23082:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "23082:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "22923:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23152:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "23209:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23218:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23221:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "23211:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23211:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "23211:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23175:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23200:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "23182:17:1"
},
"nodeType": "YulFunctionCall",
"src": "23182:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "23172:2:1"
},
"nodeType": "YulFunctionCall",
"src": "23172:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "23165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23165:43:1"
},
"nodeType": "YulIf",
"src": "23162:2:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "23145:5:1",
"type": ""
}
],
"src": "23109:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23277:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "23331:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23340:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23343:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "23333:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23333:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "23333:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23300:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23322:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "23307:14:1"
},
"nodeType": "YulFunctionCall",
"src": "23307:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "23297:2:1"
},
"nodeType": "YulFunctionCall",
"src": "23297:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "23290:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23290:40:1"
},
"nodeType": "YulIf",
"src": "23287:2:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "23270:5:1",
"type": ""
}
],
"src": "23237:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23402:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "23459:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23468:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23471:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "23461:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23461:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "23461:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23425:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23450:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "23432:17:1"
},
"nodeType": "YulFunctionCall",
"src": "23432:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "23422:2:1"
},
"nodeType": "YulFunctionCall",
"src": "23422:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "23415:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23415:43:1"
},
"nodeType": "YulIf",
"src": "23412:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "23395:5:1",
"type": ""
}
],
"src": "23359:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23529:78:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "23585:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23594:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23597:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "23587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23587:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "23587:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23552:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "23576:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint96",
"nodeType": "YulIdentifier",
"src": "23559:16:1"
},
"nodeType": "YulFunctionCall",
"src": "23559:23:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "23549:2:1"
},
"nodeType": "YulFunctionCall",
"src": "23549:34:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "23542:6:1"
},
"nodeType": "YulFunctionCall",
"src": "23542:42:1"
},
"nodeType": "YulIf",
"src": "23539:2:1"
}
]
},
"name": "validator_revert_t_uint96",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "23522:5:1",
"type": ""
}
],
"src": "23487:120:1"
}
]
},
"contents": "{\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocateMemory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n mstore(array, length) dst := add(array, 0x20)\n let src := offset\n if gt(add(src, mul(length, 0x20)), end) { revert(0, 0) }\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementPos := src\n mstore(dst, abi_decode_t_address(elementPos, end))\n dst := add(dst, 0x20)\n src := add(src, 0x20)\n }\n }\n\n // uint96[]\n function abi_decode_available_length_t_array$_t_uint96_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocateMemory(array_allocation_size_t_array$_t_uint96_$dyn_memory_ptr(length))\n let dst := array\n mstore(array, length) dst := add(array, 0x20)\n let src := offset\n if gt(add(src, mul(length, 0x20)), end) { revert(0, 0) }\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementPos := src\n mstore(dst, abi_decode_t_uint96(elementPos, end))\n dst := add(dst, 0x20)\n src := add(src, 0x20)\n }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n // uint96[]\n function abi_decode_t_array$_t_uint96_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint96_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\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_t_uint96(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint96(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\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_uint96(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\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_uint96(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint96_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_array$_t_uint96_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\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_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_stringliteral_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n\n mstore(add(pos, 0), \"Airdrop::whitelistAddresses: una\")\n\n mstore(add(pos, 32), \"uthorized\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n\n mstore(add(pos, 0), \"Airdrop::setowner: unauthorized\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n\n mstore(add(pos, 0), \"Airdrop::endClaiming: unauthoriz\")\n\n mstore(add(pos, 32), \"ed\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n\n mstore(add(pos, 0), \"Airdrop::claim: No PNG to claim\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n\n mstore(add(pos, 0), \"Airdrop::claim: Insufficient UNI\")\n\n mstore(add(pos, 32), \" or SUSHI balance\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n\n mstore(add(pos, 0), \"Airdrop::endClaiming: Transfer f\")\n\n mstore(add(pos, 32), \"ailed\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n\n mstore(add(pos, 0), \"Airdrop::whitelistAddress: Excee\")\n\n mstore(add(pos, 32), \"ds PNG allocation\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n\n mstore(add(pos, 0), \"Airdrop::whitelistAddress: unaut\")\n\n mstore(add(pos, 32), \"horized\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n\n mstore(add(pos, 0), \"Airdrop::setRemainderDestination\")\n\n mstore(add(pos, 32), \": unauthorized\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n\n mstore(add(pos, 0), \"Airdrop::claim: Claiming is not \")\n\n mstore(add(pos, 32), \"allowed\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n\n mstore(add(pos, 0), \"Airdrop::claim: Transfer failed\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n\n mstore(add(pos, 0), \"Airdrop::endClaiming: Claiming n\")\n\n mstore(add(pos, 32), \"ot started\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n\n mstore(add(pos, 0), \"Airdrop::allowClaiming: unauthor\")\n\n mstore(add(pos, 32), \"ized\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 51)\n\n mstore(add(pos, 0), \"Airdrop::whitelistAddresses: inc\")\n\n mstore(add(pos, 32), \"orrect array length\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n\n mstore(add(pos, 0), \"Airdrop::whitelistAddress: No PN\")\n\n mstore(add(pos, 32), \"G to allocated\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n\n mstore(add(pos, 0), \"Airdrop::whitelistAddress: addre\")\n\n mstore(add(pos, 32), \"ss already added\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n\n mstore(add(pos, 0), \"Airdrop::allowClaiming: incorrec\")\n\n mstore(add(pos, 32), \"t PNG supply\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n\n mstore(add(pos, 0), \"Airdrop::whitelistAddress: claim\")\n\n mstore(add(pos, 32), \"ing in session\")\n\n end := add(pos, 64)\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_t_uint96_to_t_uint96_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint96(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 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 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 abi_encode_tuple_t_stringliteral_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c__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_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190__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_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1__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_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c__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_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1__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_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d__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_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67__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_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4__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_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e__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_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3__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_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a__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_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288__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_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b__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_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064__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_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090__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_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8__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_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c__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_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1__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_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1_to_t_string_memory_ptr_fromStack( tail)\n\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_encode_tuple_t_uint96__to_t_uint96__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint96_to_t_uint96_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocateMemory(size) -> memPtr {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 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 array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_allocation_size_t_array$_t_uint96_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\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 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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint96(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffff)\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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\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 validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\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 validator_revert_t_uint96(value) {\n if iszero(eq(value, cleanup_t_uint96(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106101005760003560e01c806380edf30d11610097578063de73339711610066578063de73339714610251578063e67c1e691461025b578063edc9af9514610277578063fedd970b1461029557610100565b806380edf30d146101dd5780638da5cb5b146101fb5780639ae1ea0d14610219578063b5a8266f1461023557610100565b8063592bd705116100d3578063592bd7051461017b5780635f775678146101975780636556c391146101b5578063673f200a146101bf57610100565b80630a0879031461010557806345f7f249146101235780634e71d92d146101415780634f4201511461014b575b600080fd5b61010d6102b3565b60405161011a9190611c9e565b60405180910390f35b61012b6102d9565b6040516101389190611f3d565b60405180910390f35b6101496102df565b005b61016560048036038101906101609190611485565b610787565b6040516101729190611f58565b60405180910390f35b61019560048036038101906101909190611485565b6107b2565b005b61019f610886565b6040516101ac9190611c9e565b60405180910390f35b6101bd6108aa565b005b6101c7610b8f565b6040516101d49190611ce2565b60405180910390f35b6101e5610ba2565b6040516101f29190611c9e565b60405180910390f35b610203610bc8565b6040516102109190611c9e565b60405180910390f35b610233600480360381019061022e9190611485565b610bee565b005b61024f600480360381019061024a91906114ae565b610cc2565b005b610259610f7f565b005b610275600480360381019061027091906114ea565b61114e565b005b61027f6112d0565b60405161028c9190611c9e565b60405180910390f35b61029d6112f6565b6040516102aa9190611f3d565b60405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600760009054906101000a900460ff1661032e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032590611e1d565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16116103d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cd90611d5d565b60405180910390fd5b6000670de0b6b3a7640000905080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161043f9190611c9e565b60206040518083038186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048f919061157f565b101580610546575080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016104f39190611c9e565b60206040518083038186803b15801561050b57600080fd5b505afa15801561051f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610543919061157f565b10155b610585576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057c90611d7d565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1690506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055507f09ab241b20d83f346e9f8c568dce5b80bf52ff7d87038a8a9d7cc932c8828e84338260405161068f929190611cb9565b60405180910390a160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016106f2929190611cb9565b602060405180830381600087803b15801561070c57600080fd5b505af1158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190611556565b610783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077a90611e3d565b60405180910390fd5b5050565b60056020528060005260406000206000915054906101000a90046bffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611d1d565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093190611d3d565b60405180910390fd5b600760009054906101000a900460ff16610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090611e5d565b60405180910390fd5b6000600760006101000a81548160ff0219169083151502179055507f561202111b25bcb1aa272265360fe13b9d8d097b6a2b537d55d658b65ffe7d2860405160405180910390a160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a2c9190611c9e565b60206040518083038186803b158015610a4457600080fd5b505afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c919061157f565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610afb929190611cb9565b602060405180830381600087803b158015610b1557600080fd5b505af1158015610b29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4d9190611556565b610b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8390611d9d565b60405180910390fd5b50565b600760009054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7590611dfd565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990611ddd565b60405180910390fd5b600760009054906101000a900460ff1615610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9990611f1d565b60405180910390fd5b6000816bffffffffffffffffffffffff1611610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea90611ebd565b60405180910390fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1614610e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9290611edd565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550806bffffffffffffffffffffffff16600654610f25919061200d565b6006819055506a1581b6d300d0225a0000006006541115610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7290611dbd565b60405180910390fd5b5050565b6a1581b6d300d0225a00000060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fe49190611c9e565b60206040518083038186803b158015610ffc57600080fd5b505afa158015611010573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611034919061157f565b1015611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c90611efd565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611e7d565b60405180910390fd5b6001600760006101000a81548160ff0219169083151502179055507f5182f287eefb78b325ac5fb307d80fe349a989fc97d7ba1da545bd83c6da0e7760405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d590611cfd565b60405180910390fd5b8051825114611222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121990611e9d565b60405180910390fd5b60005b82518110156112cb576112b883828151811061126a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518383815181106112ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610cc2565b80806112c3906120c3565b915050611225565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6a1581b6d300d0225a00000081565b600061131861131384611fa4565b611f73565b9050808382526020820190508285602086028201111561133757600080fd5b60005b85811015611367578161134d88826113dd565b84526020840193506020830192505060018101905061133a565b5050509392505050565b600061138461137f84611fd0565b611f73565b905080838252602082019050828560208602820111156113a357600080fd5b60005b858110156113d357816113b98882611470565b8452602084019350602083019250506001810190506113a6565b5050509392505050565b6000813590506113ec8161216a565b92915050565b600082601f83011261140357600080fd5b8135611413848260208601611305565b91505092915050565b600082601f83011261142d57600080fd5b813561143d848260208601611371565b91505092915050565b60008151905061145581612181565b92915050565b60008151905061146a81612198565b92915050565b60008135905061147f816121af565b92915050565b60006020828403121561149757600080fd5b60006114a5848285016113dd565b91505092915050565b600080604083850312156114c157600080fd5b60006114cf858286016113dd565b92505060206114e085828601611470565b9150509250929050565b600080604083850312156114fd57600080fd5b600083013567ffffffffffffffff81111561151757600080fd5b611523858286016113f2565b925050602083013567ffffffffffffffff81111561154057600080fd5b61154c8582860161141c565b9150509250929050565b60006020828403121561156857600080fd5b600061157684828501611446565b91505092915050565b60006020828403121561159157600080fd5b600061159f8482850161145b565b91505092915050565b6115b181612063565b82525050565b6115c081612075565b82525050565b60006115d3602983611ffc565b91507f41697264726f703a3a77686974656c6973744164647265737365733a20756e6160008301527f7574686f72697a656400000000000000000000000000000000000000000000006020830152604082019050919050565b6000611639601f83611ffc565b91507f41697264726f703a3a7365746f776e65723a20756e617574686f72697a6564006000830152602082019050919050565b6000611679602283611ffc565b91507f41697264726f703a3a656e64436c61696d696e673a20756e617574686f72697a60008301527f65640000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116df601f83611ffc565b91507f41697264726f703a3a636c61696d3a204e6f20504e4720746f20636c61696d006000830152602082019050919050565b600061171f603183611ffc565b91507f41697264726f703a3a636c61696d3a20496e73756666696369656e7420554e4960008301527f206f722053555348492062616c616e63650000000000000000000000000000006020830152604082019050919050565b6000611785602583611ffc565b91507f41697264726f703a3a656e64436c61696d696e673a205472616e73666572206660008301527f61696c65640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117eb603183611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20457863656560008301527f647320504e4720616c6c6f636174696f6e0000000000000000000000000000006020830152604082019050919050565b6000611851602783611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20756e61757460008301527f686f72697a6564000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006118b7602e83611ffc565b91507f41697264726f703a3a73657452656d61696e64657244657374696e6174696f6e60008301527f3a20756e617574686f72697a65640000000000000000000000000000000000006020830152604082019050919050565b600061191d602783611ffc565b91507f41697264726f703a3a636c61696d3a20436c61696d696e67206973206e6f742060008301527f616c6c6f776564000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611983601f83611ffc565b91507f41697264726f703a3a636c61696d3a205472616e73666572206661696c6564006000830152602082019050919050565b60006119c3602a83611ffc565b91507f41697264726f703a3a656e64436c61696d696e673a20436c61696d696e67206e60008301527f6f742073746172746564000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a29602483611ffc565b91507f41697264726f703a3a616c6c6f77436c61696d696e673a20756e617574686f7260008301527f697a6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a8f603383611ffc565b91507f41697264726f703a3a77686974656c6973744164647265737365733a20696e6360008301527f6f7272656374206172726179206c656e677468000000000000000000000000006020830152604082019050919050565b6000611af5602e83611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a204e6f20504e60008301527f4720746f20616c6c6f63617465640000000000000000000000000000000000006020830152604082019050919050565b6000611b5b603083611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20616464726560008301527f737320616c7265616479206164646564000000000000000000000000000000006020830152604082019050919050565b6000611bc1602c83611ffc565b91507f41697264726f703a3a616c6c6f77436c61696d696e673a20696e636f7272656360008301527f7420504e4720737570706c7900000000000000000000000000000000000000006020830152604082019050919050565b6000611c27602e83611ffc565b91507f41697264726f703a3a77686974656c697374416464726573733a20636c61696d60008301527f696e6720696e2073657373696f6e0000000000000000000000000000000000006020830152604082019050919050565b611c89816120a1565b82525050565b611c98816120ab565b82525050565b6000602082019050611cb360008301846115a8565b92915050565b6000604082019050611cce60008301856115a8565b611cdb6020830184611c80565b9392505050565b6000602082019050611cf760008301846115b7565b92915050565b60006020820190508181036000830152611d16816115c6565b9050919050565b60006020820190508181036000830152611d368161162c565b9050919050565b60006020820190508181036000830152611d568161166c565b9050919050565b60006020820190508181036000830152611d76816116d2565b9050919050565b60006020820190508181036000830152611d9681611712565b9050919050565b60006020820190508181036000830152611db681611778565b9050919050565b60006020820190508181036000830152611dd6816117de565b9050919050565b60006020820190508181036000830152611df681611844565b9050919050565b60006020820190508181036000830152611e16816118aa565b9050919050565b60006020820190508181036000830152611e3681611910565b9050919050565b60006020820190508181036000830152611e5681611976565b9050919050565b60006020820190508181036000830152611e76816119b6565b9050919050565b60006020820190508181036000830152611e9681611a1c565b9050919050565b60006020820190508181036000830152611eb681611a82565b9050919050565b60006020820190508181036000830152611ed681611ae8565b9050919050565b60006020820190508181036000830152611ef681611b4e565b9050919050565b60006020820190508181036000830152611f1681611bb4565b9050919050565b60006020820190508181036000830152611f3681611c1a565b9050919050565b6000602082019050611f526000830184611c80565b92915050565b6000602082019050611f6d6000830184611c8f565b92915050565b6000604051905081810181811067ffffffffffffffff82111715611f9a57611f9961213b565b5b8060405250919050565b600067ffffffffffffffff821115611fbf57611fbe61213b565b5b602082029050602081019050919050565b600067ffffffffffffffff821115611feb57611fea61213b565b5b602082029050602081019050919050565b600082825260208201905092915050565b6000612018826120a1565b9150612023836120a1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120585761205761210c565b5b828201905092915050565b600061206e82612081565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006bffffffffffffffffffffffff82169050919050565b60006120ce826120a1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156121015761210061210c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61217381612063565b811461217e57600080fd5b50565b61218a81612075565b811461219557600080fd5b50565b6121a1816120a1565b81146121ac57600080fd5b50565b6121b8816120ab565b81146121c357600080fd5b5056fea2646970667358221220deb782391eaf02b6ec1977b70dcaab54dc506fd50474f1a9680a5ac812e5b1ca64736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x100 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80EDF30D GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xDE733397 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xDE733397 EQ PUSH2 0x251 JUMPI DUP1 PUSH4 0xE67C1E69 EQ PUSH2 0x25B JUMPI DUP1 PUSH4 0xEDC9AF95 EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0xFEDD970B EQ PUSH2 0x295 JUMPI PUSH2 0x100 JUMP JUMPDEST DUP1 PUSH4 0x80EDF30D EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1FB JUMPI DUP1 PUSH4 0x9AE1EA0D EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0xB5A8266F EQ PUSH2 0x235 JUMPI PUSH2 0x100 JUMP JUMPDEST DUP1 PUSH4 0x592BD705 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x592BD705 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x5F775678 EQ PUSH2 0x197 JUMPI DUP1 PUSH4 0x6556C391 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x673F200A EQ PUSH2 0x1BF JUMPI PUSH2 0x100 JUMP JUMPDEST DUP1 PUSH4 0xA087903 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x45F7F249 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x4E71D92D EQ PUSH2 0x141 JUMPI DUP1 PUSH4 0x4F420151 EQ PUSH2 0x14B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x2B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH2 0x2D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x138 SWAP2 SWAP1 PUSH2 0x1F3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x149 PUSH2 0x2DF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x165 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x160 SWAP2 SWAP1 PUSH2 0x1485 JUMP JUMPDEST PUSH2 0x787 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x1F58 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x195 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x190 SWAP2 SWAP1 PUSH2 0x1485 JUMP JUMPDEST PUSH2 0x7B2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19F PUSH2 0x886 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BD PUSH2 0x8AA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C7 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x1CE2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E5 PUSH2 0xBA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x203 PUSH2 0xBC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x210 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22E SWAP2 SWAP1 PUSH2 0x1485 JUMP JUMPDEST PUSH2 0xBEE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x24F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x24A SWAP2 SWAP1 PUSH2 0x14AE JUMP JUMPDEST PUSH2 0xCC2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x259 PUSH2 0xF7F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x275 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x14EA JUMP JUMPDEST PUSH2 0x114E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x27F PUSH2 0x12D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x28C SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x29D PUSH2 0x12F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AA SWAP2 SWAP1 PUSH2 0x1F3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x32E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x325 SWAP1 PUSH2 0x1E1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND GT PUSH2 0x3D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD SWAP1 PUSH2 0x1D5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x43F SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x46B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x48F SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST LT ISZERO DUP1 PUSH2 0x546 JUMPI POP DUP1 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4F3 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x51F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x543 SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST LT ISZERO JUMPDEST PUSH2 0x585 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x57C SWAP1 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x9AB241B20D83F346E9F8C568DCE5B80BF52FF7D87038A8A9D7CC932C8828E84 CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x68F SWAP3 SWAP2 SWAP1 PUSH2 0x1CB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB CALLER DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F2 SWAP3 SWAP2 SWAP1 PUSH2 0x1CB9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x70C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x720 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x744 SWAP2 SWAP1 PUSH2 0x1556 JUMP JUMPDEST PUSH2 0x783 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x77A SWAP1 PUSH2 0x1E3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x842 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x839 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x93A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x931 SWAP1 PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x989 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x980 SWAP1 PUSH2 0x1E5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x561202111B25BCB1AA272265360FE13B9D8D097B6A2B537D55D658B65FFE7D28 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA2C SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA44 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA7C SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAFB SWAP3 SWAP2 SWAP1 PUSH2 0x1CB9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB29 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB4D SWAP2 SWAP1 PUSH2 0x1556 JUMP JUMPDEST PUSH2 0xB8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB83 SWAP1 PUSH2 0x1D9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC7E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC75 SWAP1 PUSH2 0x1DFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD52 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD49 SWAP1 PUSH2 0x1DDD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xDA2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD99 SWAP1 PUSH2 0x1F1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND GT PUSH2 0xDF3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDEA SWAP1 PUSH2 0x1EBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE92 SWAP1 PUSH2 0x1EDD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x6 SLOAD PUSH2 0xF25 SWAP2 SWAP1 PUSH2 0x200D JUMP JUMPDEST PUSH1 0x6 DUP2 SWAP1 SSTORE POP PUSH11 0x1581B6D300D0225A000000 PUSH1 0x6 SLOAD GT ISZERO PUSH2 0xF7B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF72 SWAP1 PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH11 0x1581B6D300D0225A000000 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFE4 SWAP2 SWAP1 PUSH2 0x1C9E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1010 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1034 SWAP2 SWAP1 PUSH2 0x157F JUMP JUMPDEST LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x106C SWAP1 PUSH2 0x1EFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1105 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10FC SWAP1 PUSH2 0x1E7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x5182F287EEFB78B325AC5FB307D80FE349A989FC97D7BA1DA545BD83C6DA0E77 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x11DE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D5 SWAP1 PUSH2 0x1CFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1222 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1219 SWAP1 PUSH2 0x1E9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x12CB JUMPI PUSH2 0x12B8 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x126A JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x12AB JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xCC2 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x12C3 SWAP1 PUSH2 0x20C3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1225 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH11 0x1581B6D300D0225A000000 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1318 PUSH2 0x1313 DUP5 PUSH2 0x1FA4 JUMP JUMPDEST PUSH2 0x1F73 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x1337 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1367 JUMPI DUP2 PUSH2 0x134D DUP9 DUP3 PUSH2 0x13DD JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x133A JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1384 PUSH2 0x137F DUP5 PUSH2 0x1FD0 JUMP JUMPDEST PUSH2 0x1F73 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x13A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x13D3 JUMPI DUP2 PUSH2 0x13B9 DUP9 DUP3 PUSH2 0x1470 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x13A6 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x13EC DUP2 PUSH2 0x216A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1403 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1413 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1305 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x142D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x143D DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1371 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1455 DUP2 PUSH2 0x2181 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x146A DUP2 PUSH2 0x2198 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x147F DUP2 PUSH2 0x21AF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1497 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x14A5 DUP5 DUP3 DUP6 ADD PUSH2 0x13DD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x14CF DUP6 DUP3 DUP7 ADD PUSH2 0x13DD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x14E0 DUP6 DUP3 DUP7 ADD PUSH2 0x1470 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1517 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1523 DUP6 DUP3 DUP7 ADD PUSH2 0x13F2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1540 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x154C DUP6 DUP3 DUP7 ADD PUSH2 0x141C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1576 DUP5 DUP3 DUP6 ADD PUSH2 0x1446 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x159F DUP5 DUP3 DUP6 ADD PUSH2 0x145B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15B1 DUP2 PUSH2 0x2063 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x15C0 DUP2 PUSH2 0x2075 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15D3 PUSH1 0x29 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C6973744164647265737365733A20756E61 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x7574686F72697A65640000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1639 PUSH1 0x1F DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A7365746F776E65723A20756E617574686F72697A656400 PUSH1 0x0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1679 PUSH1 0x22 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A656E64436C61696D696E673A20756E617574686F72697A PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x6564000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DF PUSH1 0x1F DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A204E6F20504E4720746F20636C61696D00 PUSH1 0x0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x171F PUSH1 0x31 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A20496E73756666696369656E7420554E49 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x206F722053555348492062616C616E6365000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1785 PUSH1 0x25 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A656E64436C61696D696E673A205472616E736665722066 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x61696C6564000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17EB PUSH1 0x31 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A204578636565 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x647320504E4720616C6C6F636174696F6E000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1851 PUSH1 0x27 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A20756E617574 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x686F72697A656400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B7 PUSH1 0x2E DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A73657452656D61696E64657244657374696E6174696F6E PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x3A20756E617574686F72697A6564000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x191D PUSH1 0x27 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A20436C61696D696E67206973206E6F7420 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x616C6C6F77656400000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1983 PUSH1 0x1F DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A636C61696D3A205472616E73666572206661696C656400 PUSH1 0x0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19C3 PUSH1 0x2A DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A656E64436C61696D696E673A20436C61696D696E67206E PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x6F74207374617274656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A29 PUSH1 0x24 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A616C6C6F77436C61696D696E673A20756E617574686F72 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x697A656400000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A8F PUSH1 0x33 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C6973744164647265737365733A20696E63 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x6F7272656374206172726179206C656E67746800000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AF5 PUSH1 0x2E DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A204E6F20504E PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x4720746F20616C6C6F6361746564000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B5B PUSH1 0x30 DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A206164647265 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x737320616C726561647920616464656400000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC1 PUSH1 0x2C DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A616C6C6F77436C61696D696E673A20696E636F72726563 PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x7420504E4720737570706C790000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C27 PUSH1 0x2E DUP4 PUSH2 0x1FFC JUMP JUMPDEST SWAP2 POP PUSH32 0x41697264726F703A3A77686974656C697374416464726573733A20636C61696D PUSH1 0x0 DUP4 ADD MSTORE PUSH32 0x696E6720696E2073657373696F6E000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C89 DUP2 PUSH2 0x20A1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1C98 DUP2 PUSH2 0x20AB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CB3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1CCE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15A8 JUMP JUMPDEST PUSH2 0x1CDB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1C80 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CF7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D16 DUP2 PUSH2 0x15C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D36 DUP2 PUSH2 0x162C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D56 DUP2 PUSH2 0x166C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D76 DUP2 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D96 DUP2 PUSH2 0x1712 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1DB6 DUP2 PUSH2 0x1778 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1DD6 DUP2 PUSH2 0x17DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1DF6 DUP2 PUSH2 0x1844 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E16 DUP2 PUSH2 0x18AA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E36 DUP2 PUSH2 0x1910 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E56 DUP2 PUSH2 0x1976 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E76 DUP2 PUSH2 0x19B6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E96 DUP2 PUSH2 0x1A1C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EB6 DUP2 PUSH2 0x1A82 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1ED6 DUP2 PUSH2 0x1AE8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EF6 DUP2 PUSH2 0x1B4E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F16 DUP2 PUSH2 0x1BB4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F36 DUP2 PUSH2 0x1C1A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F52 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C80 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F6D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C8F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1F9A JUMPI PUSH2 0x1F99 PUSH2 0x213B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1FBF JUMPI PUSH2 0x1FBE PUSH2 0x213B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1FEB JUMPI PUSH2 0x1FEA PUSH2 0x213B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2018 DUP3 PUSH2 0x20A1 JUMP JUMPDEST SWAP2 POP PUSH2 0x2023 DUP4 PUSH2 0x20A1 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2058 JUMPI PUSH2 0x2057 PUSH2 0x210C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x206E DUP3 PUSH2 0x2081 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20CE DUP3 PUSH2 0x20A1 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2101 JUMPI PUSH2 0x2100 PUSH2 0x210C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x2173 DUP2 PUSH2 0x2063 JUMP JUMPDEST DUP2 EQ PUSH2 0x217E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x218A DUP2 PUSH2 0x2075 JUMP JUMPDEST DUP2 EQ PUSH2 0x2195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x21A1 DUP2 PUSH2 0x20A1 JUMP JUMPDEST DUP2 EQ PUSH2 0x21AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x21B8 DUP2 PUSH2 0x20AB JUMP JUMPDEST DUP2 EQ PUSH2 0x21C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDE 0xB7 DUP3 CODECOPY 0x1E 0xAF MUL 0xB6 0xEC NOT PUSH24 0xB70DCAAB54DC506FD50474F1A9680A5AC812E5B1CA64736F PUSH13 0x63430008000033000000000000 ",
"sourceMap": "321:6453:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;415:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;599:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4115:735;;;:::i;:::-;;543:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2370:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;367:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3330:455;;;:::i;:::-;;632:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;468:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;442:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1997:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5492:611;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2840:308;;;:::i;:::-;;6364:408;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;391:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;666:57;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;415:20;;;;;;;;;;;;;:::o;599:26::-;;;;:::o;4115:735::-;4240:15;;;;;;;;;;;4232:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4346:1;4317:14;:26;4332:10;4317:26;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;4309:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4394:13;4410:4;4394:20;;4467:8;4437:3;;;;;;;;;;;4432:19;;;4452:10;4432:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:43;;:94;;;;4518:8;4486:5;;;;;;;;;;;4479:23;;;4503:10;4479:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;;4432:94;4424:168;;;;;;;;;;;;:::i;:::-;;;;;;;;;4603:18;4624:14;:26;4639:10;4624:26;;;;;;;;;;;;;;;;;;;;;;;;;4603:47;;;;4689:1;4660:14;:26;4675:10;4660:26;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4706:37;4717:10;4729:13;4706:37;;;;;;;:::i;:::-;;;;;;;;4767:3;;;;;;;;;;4762:18;;;4781:10;4793:13;4762:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4754:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;4115:735;;:::o;543:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;2370:147::-;2445:5;;;;;;;;;;;2431:19;;:10;:19;;;2423:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;2504:6;2496:5;;:14;;;;;;;;;;;;;;;;;;2370:147;:::o;367:18::-;;;;;;;;;;;;:::o;3330:455::-;3394:5;;;;;;;;;;;3380:19;;:10;:19;;;3372:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3456:15;;;;;;;;;;;3448:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;3547:5;3529:15;;:23;;;;;;;;;;;;;;;;;;3567:14;;;;;;;;;;3622:11;3641:3;;;;;;;;;;;3636:19;;;3664:4;3636:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3622:48;;3693:3;;;;;;;;;;3688:18;;;3707:20;;;;;;;;;;;3729:6;3688:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3680:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;3330:455;:::o;632:27::-;;;;;;;;;;;;;:::o;468:35::-;;;;;;;;;;;;;:::o;442:20::-;;;;;;;;;;;;;:::o;1997:222::-;2102:5;;;;;;;;;;;2088:19;;:10;:19;;;2080:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2191:21;2168:20;;:44;;;;;;;;;;;;;;;;;;1997:222;:::o;5492:611::-;5586:5;;;;;;;;;;;5572:19;;:10;:19;;;5564:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5654:15;;;;;;;;;;;5653:16;5645:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;5747:1;5738:6;:10;;;5730:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;5841:1;5817:14;:20;5832:4;5817:20;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;5809:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;5929:6;5906:14;:20;5921:4;5906:20;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;5980:6;5963:23;;:14;;:23;;;;:::i;:::-;5946:14;:40;;;;710:13;6004:14;;:38;;5996:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;5492:611;;:::o;2840:308::-;710:13;2897:3;;;;;;;;;;2892:19;;;2920:4;2892:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;2884:115;;;;;;;;;;;;:::i;:::-;;;;;;;;;3031:5;;;;;;;;;;;3017:19;;:10;:19;;;3009:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3105:4;3087:15;;:22;;;;;;;;;;;;;;;;;;3124:17;;;;;;;;;;2840:308::o;6364:408::-;6482:5;;;;;;;;;;;6468:19;;:10;:19;;;6460:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6567:7;:14;6551:5;:12;:30;6543:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6668:6;6663:103;6684:5;:12;6680:1;:16;6663:103;;;6717:38;6734:5;6740:1;6734:8;;;;;;;;;;;;;;;;;;;;;;6744:7;6752:1;6744:10;;;;;;;;;;;;;;;;;;;;;;6717:16;:38::i;:::-;6698:3;;;;;:::i;:::-;;;;6663:103;;;;6364:408;;:::o;391:18::-;;;;;;;;;;;;;:::o;666:57::-;710:13;666:57;:::o;24:622:1:-;;145:80;160:64;217:6;160:64;:::i;:::-;145:80;:::i;:::-;136:89;;245:5;273:6;266:5;259:21;299:4;292:5;288:16;281:23;;324:6;374:3;366:4;358:6;354:17;349:3;345:27;342:36;339:2;;;391:1;388;381:12;339:2;419:1;404:236;429:6;426:1;423:13;404:236;;;496:3;524:37;557:3;545:10;524:37;:::i;:::-;519:3;512:50;591:4;586:3;582:14;575:21;;625:4;620:3;616:14;609:21;;464:176;451:1;448;444:9;439:14;;404:236;;;408:14;126:520;;;;;;;:::o;668:619::-;;788:79;803:63;859:6;803:63;:::i;:::-;788:79;:::i;:::-;779:88;;887:5;915:6;908:5;901:21;941:4;934:5;930:16;923:23;;966:6;1016:3;1008:4;1000:6;996:17;991:3;987:27;984:36;981:2;;;1033:1;1030;1023:12;981:2;1061:1;1046:235;1071:6;1068:1;1065:13;1046:235;;;1138:3;1166:36;1198:3;1186:10;1166:36;:::i;:::-;1161:3;1154:49;1232:4;1227:3;1223:14;1216:21;;1266:4;1261:3;1257:14;1250:21;;1106:175;1093:1;1090;1086:9;1081:14;;1046:235;;;1050:14;769:518;;;;;;;:::o;1293:139::-;;1377:6;1364:20;1355:29;;1393:33;1420:5;1393:33;:::i;:::-;1345:87;;;;:::o;1455:303::-;;1575:3;1568:4;1560:6;1556:17;1552:27;1542:2;;1593:1;1590;1583:12;1542:2;1633:6;1620:20;1658:94;1748:3;1740:6;1733:4;1725:6;1721:17;1658:94;:::i;:::-;1649:103;;1532:226;;;;;:::o;1780:301::-;;1899:3;1892:4;1884:6;1880:17;1876:27;1866:2;;1917:1;1914;1907:12;1866:2;1957:6;1944:20;1982:93;2071:3;2063:6;2056:4;2048:6;2044:17;1982:93;:::i;:::-;1973:102;;1856:225;;;;;:::o;2087:137::-;;2172:6;2166:13;2157:22;;2188:30;2212:5;2188:30;:::i;:::-;2147:77;;;;:::o;2230:143::-;;2318:6;2312:13;2303:22;;2334:33;2361:5;2334:33;:::i;:::-;2293:80;;;;:::o;2379:137::-;;2462:6;2449:20;2440:29;;2478:32;2504:5;2478:32;:::i;:::-;2430:86;;;;:::o;2522:262::-;;2630:2;2618:9;2609:7;2605:23;2601:32;2598:2;;;2646:1;2643;2636:12;2598:2;2689:1;2714:53;2759:7;2750:6;2739:9;2735:22;2714:53;:::i;:::-;2704:63;;2660:117;2588:196;;;;:::o;2790:405::-;;;2914:2;2902:9;2893:7;2889:23;2885:32;2882:2;;;2930:1;2927;2920:12;2882:2;2973:1;2998:53;3043:7;3034:6;3023:9;3019:22;2998:53;:::i;:::-;2988:63;;2944:117;3100:2;3126:52;3170:7;3161:6;3150:9;3146:22;3126:52;:::i;:::-;3116:62;;3071:117;2872:323;;;;;:::o;3201:691::-;;;3375:2;3363:9;3354:7;3350:23;3346:32;3343:2;;;3391:1;3388;3381:12;3343:2;3462:1;3451:9;3447:17;3434:31;3492:18;3484:6;3481:30;3478:2;;;3524:1;3521;3514:12;3478:2;3552:78;3622:7;3613:6;3602:9;3598:22;3552:78;:::i;:::-;3542:88;;3405:235;3707:2;3696:9;3692:18;3679:32;3738:18;3730:6;3727:30;3724:2;;;3770:1;3767;3760:12;3724:2;3798:77;3867:7;3858:6;3847:9;3843:22;3798:77;:::i;:::-;3788:87;;3650:235;3333:559;;;;;:::o;3898:278::-;;4014:2;4002:9;3993:7;3989:23;3985:32;3982:2;;;4030:1;4027;4020:12;3982:2;4073:1;4098:61;4151:7;4142:6;4131:9;4127:22;4098:61;:::i;:::-;4088:71;;4044:125;3972:204;;;;:::o;4182:284::-;;4301:2;4289:9;4280:7;4276:23;4272:32;4269:2;;;4317:1;4314;4307:12;4269:2;4360:1;4385:64;4441:7;4432:6;4421:9;4417:22;4385:64;:::i;:::-;4375:74;;4331:128;4259:207;;;;:::o;4472:118::-;4559:24;4577:5;4559:24;:::i;:::-;4554:3;4547:37;4537:53;;:::o;4596:109::-;4677:21;4692:5;4677:21;:::i;:::-;4672:3;4665:34;4655:50;;:::o;4711:373::-;;4874:67;4938:2;4933:3;4874:67;:::i;:::-;4867:74;;4971:34;4967:1;4962:3;4958:11;4951:55;5037:11;5032:2;5027:3;5023:12;5016:33;5075:2;5070:3;5066:12;5059:19;;4857:227;;;:::o;5090:329::-;;5253:67;5317:2;5312:3;5253:67;:::i;:::-;5246:74;;5350:33;5346:1;5341:3;5337:11;5330:54;5410:2;5405:3;5401:12;5394:19;;5236:183;;;:::o;5425:366::-;;5588:67;5652:2;5647:3;5588:67;:::i;:::-;5581:74;;5685:34;5681:1;5676:3;5672:11;5665:55;5751:4;5746:2;5741:3;5737:12;5730:26;5782:2;5777:3;5773:12;5766:19;;5571:220;;;:::o;5797:329::-;;5960:67;6024:2;6019:3;5960:67;:::i;:::-;5953:74;;6057:33;6053:1;6048:3;6044:11;6037:54;6117:2;6112:3;6108:12;6101:19;;5943:183;;;:::o;6132:381::-;;6295:67;6359:2;6354:3;6295:67;:::i;:::-;6288:74;;6392:34;6388:1;6383:3;6379:11;6372:55;6458:19;6453:2;6448:3;6444:12;6437:41;6504:2;6499:3;6495:12;6488:19;;6278:235;;;:::o;6519:369::-;;6682:67;6746:2;6741:3;6682:67;:::i;:::-;6675:74;;6779:34;6775:1;6770:3;6766:11;6759:55;6845:7;6840:2;6835:3;6831:12;6824:29;6879:2;6874:3;6870:12;6863:19;;6665:223;;;:::o;6894:381::-;;7057:67;7121:2;7116:3;7057:67;:::i;:::-;7050:74;;7154:34;7150:1;7145:3;7141:11;7134:55;7220:19;7215:2;7210:3;7206:12;7199:41;7266:2;7261:3;7257:12;7250:19;;7040:235;;;:::o;7281:371::-;;7444:67;7508:2;7503:3;7444:67;:::i;:::-;7437:74;;7541:34;7537:1;7532:3;7528:11;7521:55;7607:9;7602:2;7597:3;7593:12;7586:31;7643:2;7638:3;7634:12;7627:19;;7427:225;;;:::o;7658:378::-;;7821:67;7885:2;7880:3;7821:67;:::i;:::-;7814:74;;7918:34;7914:1;7909:3;7905:11;7898:55;7984:16;7979:2;7974:3;7970:12;7963:38;8027:2;8022:3;8018:12;8011:19;;7804:232;;;:::o;8042:371::-;;8205:67;8269:2;8264:3;8205:67;:::i;:::-;8198:74;;8302:34;8298:1;8293:3;8289:11;8282:55;8368:9;8363:2;8358:3;8354:12;8347:31;8404:2;8399:3;8395:12;8388:19;;8188:225;;;:::o;8419:329::-;;8582:67;8646:2;8641:3;8582:67;:::i;:::-;8575:74;;8679:33;8675:1;8670:3;8666:11;8659:54;8739:2;8734:3;8730:12;8723:19;;8565:183;;;:::o;8754:374::-;;8917:67;8981:2;8976:3;8917:67;:::i;:::-;8910:74;;9014:34;9010:1;9005:3;9001:11;8994:55;9080:12;9075:2;9070:3;9066:12;9059:34;9119:2;9114:3;9110:12;9103:19;;8900:228;;;:::o;9134:368::-;;9297:67;9361:2;9356:3;9297:67;:::i;:::-;9290:74;;9394:34;9390:1;9385:3;9381:11;9374:55;9460:6;9455:2;9450:3;9446:12;9439:28;9493:2;9488:3;9484:12;9477:19;;9280:222;;;:::o;9508:383::-;;9671:67;9735:2;9730:3;9671:67;:::i;:::-;9664:74;;9768:34;9764:1;9759:3;9755:11;9748:55;9834:21;9829:2;9824:3;9820:12;9813:43;9882:2;9877:3;9873:12;9866:19;;9654:237;;;:::o;9897:378::-;;10060:67;10124:2;10119:3;10060:67;:::i;:::-;10053:74;;10157:34;10153:1;10148:3;10144:11;10137:55;10223:16;10218:2;10213:3;10209:12;10202:38;10266:2;10261:3;10257:12;10250:19;;10043:232;;;:::o;10281:380::-;;10444:67;10508:2;10503:3;10444:67;:::i;:::-;10437:74;;10541:34;10537:1;10532:3;10528:11;10521:55;10607:18;10602:2;10597:3;10593:12;10586:40;10652:2;10647:3;10643:12;10636:19;;10427:234;;;:::o;10667:376::-;;10830:67;10894:2;10889:3;10830:67;:::i;:::-;10823:74;;10927:34;10923:1;10918:3;10914:11;10907:55;10993:14;10988:2;10983:3;10979:12;10972:36;11034:2;11029:3;11025:12;11018:19;;10813:230;;;:::o;11049:378::-;;11212:67;11276:2;11271:3;11212:67;:::i;:::-;11205:74;;11309:34;11305:1;11300:3;11296:11;11289:55;11375:16;11370:2;11365:3;11361:12;11354:38;11418:2;11413:3;11409:12;11402:19;;11195:232;;;:::o;11433:118::-;11520:24;11538:5;11520:24;:::i;:::-;11515:3;11508:37;11498:53;;:::o;11557:115::-;11642:23;11659:5;11642:23;:::i;:::-;11637:3;11630:36;11620:52;;:::o;11678:222::-;;11809:2;11798:9;11794:18;11786:26;;11822:71;11890:1;11879:9;11875:17;11866:6;11822:71;:::i;:::-;11776:124;;;;:::o;11906:332::-;;12065:2;12054:9;12050:18;12042:26;;12078:71;12146:1;12135:9;12131:17;12122:6;12078:71;:::i;:::-;12159:72;12227:2;12216:9;12212:18;12203:6;12159:72;:::i;:::-;12032:206;;;;;:::o;12244:210::-;;12369:2;12358:9;12354:18;12346:26;;12382:65;12444:1;12433:9;12429:17;12420:6;12382:65;:::i;:::-;12336:118;;;;:::o;12460:419::-;;12664:2;12653:9;12649:18;12641:26;;12713:9;12707:4;12703:20;12699:1;12688:9;12684:17;12677:47;12741:131;12867:4;12741:131;:::i;:::-;12733:139;;12631:248;;;:::o;12885:419::-;;13089:2;13078:9;13074:18;13066:26;;13138:9;13132:4;13128:20;13124:1;13113:9;13109:17;13102:47;13166:131;13292:4;13166:131;:::i;:::-;13158:139;;13056:248;;;:::o;13310:419::-;;13514:2;13503:9;13499:18;13491:26;;13563:9;13557:4;13553:20;13549:1;13538:9;13534:17;13527:47;13591:131;13717:4;13591:131;:::i;:::-;13583:139;;13481:248;;;:::o;13735:419::-;;13939:2;13928:9;13924:18;13916:26;;13988:9;13982:4;13978:20;13974:1;13963:9;13959:17;13952:47;14016:131;14142:4;14016:131;:::i;:::-;14008:139;;13906:248;;;:::o;14160:419::-;;14364:2;14353:9;14349:18;14341:26;;14413:9;14407:4;14403:20;14399:1;14388:9;14384:17;14377:47;14441:131;14567:4;14441:131;:::i;:::-;14433:139;;14331:248;;;:::o;14585:419::-;;14789:2;14778:9;14774:18;14766:26;;14838:9;14832:4;14828:20;14824:1;14813:9;14809:17;14802:47;14866:131;14992:4;14866:131;:::i;:::-;14858:139;;14756:248;;;:::o;15010:419::-;;15214:2;15203:9;15199:18;15191:26;;15263:9;15257:4;15253:20;15249:1;15238:9;15234:17;15227:47;15291:131;15417:4;15291:131;:::i;:::-;15283:139;;15181:248;;;:::o;15435:419::-;;15639:2;15628:9;15624:18;15616:26;;15688:9;15682:4;15678:20;15674:1;15663:9;15659:17;15652:47;15716:131;15842:4;15716:131;:::i;:::-;15708:139;;15606:248;;;:::o;15860:419::-;;16064:2;16053:9;16049:18;16041:26;;16113:9;16107:4;16103:20;16099:1;16088:9;16084:17;16077:47;16141:131;16267:4;16141:131;:::i;:::-;16133:139;;16031:248;;;:::o;16285:419::-;;16489:2;16478:9;16474:18;16466:26;;16538:9;16532:4;16528:20;16524:1;16513:9;16509:17;16502:47;16566:131;16692:4;16566:131;:::i;:::-;16558:139;;16456:248;;;:::o;16710:419::-;;16914:2;16903:9;16899:18;16891:26;;16963:9;16957:4;16953:20;16949:1;16938:9;16934:17;16927:47;16991:131;17117:4;16991:131;:::i;:::-;16983:139;;16881:248;;;:::o;17135:419::-;;17339:2;17328:9;17324:18;17316:26;;17388:9;17382:4;17378:20;17374:1;17363:9;17359:17;17352:47;17416:131;17542:4;17416:131;:::i;:::-;17408:139;;17306:248;;;:::o;17560:419::-;;17764:2;17753:9;17749:18;17741:26;;17813:9;17807:4;17803:20;17799:1;17788:9;17784:17;17777:47;17841:131;17967:4;17841:131;:::i;:::-;17833:139;;17731:248;;;:::o;17985:419::-;;18189:2;18178:9;18174:18;18166:26;;18238:9;18232:4;18228:20;18224:1;18213:9;18209:17;18202:47;18266:131;18392:4;18266:131;:::i;:::-;18258:139;;18156:248;;;:::o;18410:419::-;;18614:2;18603:9;18599:18;18591:26;;18663:9;18657:4;18653:20;18649:1;18638:9;18634:17;18627:47;18691:131;18817:4;18691:131;:::i;:::-;18683:139;;18581:248;;;:::o;18835:419::-;;19039:2;19028:9;19024:18;19016:26;;19088:9;19082:4;19078:20;19074:1;19063:9;19059:17;19052:47;19116:131;19242:4;19116:131;:::i;:::-;19108:139;;19006:248;;;:::o;19260:419::-;;19464:2;19453:9;19449:18;19441:26;;19513:9;19507:4;19503:20;19499:1;19488:9;19484:17;19477:47;19541:131;19667:4;19541:131;:::i;:::-;19533:139;;19431:248;;;:::o;19685:419::-;;19889:2;19878:9;19874:18;19866:26;;19938:9;19932:4;19928:20;19924:1;19913:9;19909:17;19902:47;19966:131;20092:4;19966:131;:::i;:::-;19958:139;;19856:248;;;:::o;20110:222::-;;20241:2;20230:9;20226:18;20218:26;;20254:71;20322:1;20311:9;20307:17;20298:6;20254:71;:::i;:::-;20208:124;;;;:::o;20338:218::-;;20467:2;20456:9;20452:18;20444:26;;20480:69;20546:1;20535:9;20531:17;20522:6;20480:69;:::i;:::-;20434:122;;;;:::o;20562:283::-;;20628:2;20622:9;20612:19;;20670:4;20662:6;20658:17;20777:6;20765:10;20762:22;20741:18;20729:10;20726:34;20723:62;20720:2;;;20788:18;;:::i;:::-;20720:2;20828:10;20824:2;20817:22;20602:243;;;;:::o;20851:311::-;;21018:18;21010:6;21007:30;21004:2;;;21040:18;;:::i;:::-;21004:2;21090:4;21082:6;21078:17;21070:25;;21150:4;21144;21140:15;21132:23;;20933:229;;;:::o;21168:310::-;;21334:18;21326:6;21323:30;21320:2;;;21356:18;;:::i;:::-;21320:2;21406:4;21398:6;21394:17;21386:25;;21466:4;21460;21456:15;21448:23;;21249:229;;;:::o;21484:169::-;;21602:6;21597:3;21590:19;21642:4;21637:3;21633:14;21618:29;;21580:73;;;;:::o;21659:305::-;;21718:20;21736:1;21718:20;:::i;:::-;21713:25;;21752:20;21770:1;21752:20;:::i;:::-;21747:25;;21906:1;21838:66;21834:74;21831:1;21828:81;21825:2;;;21912:18;;:::i;:::-;21825:2;21956:1;21953;21949:9;21942:16;;21703:261;;;;:::o;21970:96::-;;22036:24;22054:5;22036:24;:::i;:::-;22025:35;;22015:51;;;:::o;22072:90::-;;22149:5;22142:13;22135:21;22124:32;;22114:48;;;:::o;22168:126::-;;22245:42;22238:5;22234:54;22223:65;;22213:81;;;:::o;22300:77::-;;22366:5;22355:16;;22345:32;;;:::o;22383:109::-;;22459:26;22452:5;22448:38;22437:49;;22427:65;;;:::o;22498:233::-;;22560:24;22578:5;22560:24;:::i;:::-;22551:33;;22606:66;22599:5;22596:77;22593:2;;;22676:18;;:::i;:::-;22593:2;22723:1;22716:5;22712:13;22705:20;;22541:190;;;:::o;22737:180::-;22785:77;22782:1;22775:88;22882:4;22879:1;22872:15;22906:4;22903:1;22896:15;22923:180;22971:77;22968:1;22961:88;23068:4;23065:1;23058:15;23092:4;23089:1;23082:15;23109:122;23182:24;23200:5;23182:24;:::i;:::-;23175:5;23172:35;23162:2;;23221:1;23218;23211:12;23162:2;23152:79;:::o;23237:116::-;23307:21;23322:5;23307:21;:::i;:::-;23300:5;23297:32;23287:2;;23343:1;23340;23333:12;23287:2;23277:76;:::o;23359:122::-;23432:24;23450:5;23432:24;:::i;:::-;23425:5;23422:35;23412:2;;23471:1;23468;23461:12;23412:2;23402:79;:::o;23487:120::-;23559:23;23576:5;23559:23;:::i;:::-;23552:5;23549:34;23539:2;;23597:1;23594;23587:12;23539:2;23529:78;:::o"
},
"methodIdentifiers": {
"TOTAL_AIRDROP_SUPPLY()": "fedd970b",
"allowClaiming()": "de733397",
"claim()": "4e71d92d",
"claimingAllowed()": "673f200a",
"endClaiming()": "6556c391",
"owner()": "8da5cb5b",
"png()": "5f775678",
"remainderDestination()": "80edf30d",
"setRemainderDestination(address)": "9ae1ea0d",
"setowner(address)": "592bd705",
"sushi()": "0a087903",
"totalAllocated()": "45f7f249",
"uni()": "edc9af95",
"whitelistAddress(address,uint96)": "b5a8266f",
"whitelistAddresses(address[],uint96[])": "e67c1e69",
"withdrawAmount(address)": "4f420151"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"png_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"uni_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sushi_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"remainderDestination_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ClaimingAllowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ClaimingOver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PngClaimed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"TOTAL_AIRDROP_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allowClaiming\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimingAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endClaiming\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"png\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"remainderDestination\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"remainderDestination_\",\"type\":\"address\"}],\"name\":\"setRemainderDestination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"name\":\"setowner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sushi\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAllocated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uni\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"pngOut\",\"type\":\"uint96\"}],\"name\":\"whitelistAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addrs\",\"type\":\"address[]\"},{\"internalType\":\"uint96[]\",\"name\":\"pngOuts\",\"type\":\"uint96[]\"}],\"name\":\"whitelistAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawAmount\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"owner_\":\"the privileged contract owner\",\"png_\":\"the PNG token contract address\",\"remainderDestination_\":\"address to transfer remaining PNG to when claiming ends. Should be community treasury.\",\"sushi_\":\"the SUSHI token contract address\",\"uni_\":\"the UNI token contract address\"}},\"setRemainderDestination(address)\":{\"params\":{\"remainderDestination_\":\"address to transfer remaining PNG to when claiming ends.\"}},\"setowner(address)\":{\"params\":{\"owner_\":\"new contract owner address\"}},\"whitelistAddress(address,uint96)\":{\"params\":{\"addr\":\"address that may claim PNG\",\"pngOut\":\"the amount of PNG that addr may withdraw\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowClaiming()\":{\"notice\":\"Enable the claiming period and allow user to claim PNG. Before activation, this contract must have a PNG balance equal to the total airdrop PNG supply of 16.9 million PNG. All claimable PNG tokens must be whitelisted before claiming is enabled. Only callable by the owner.\"},\"claim()\":{\"notice\":\"Withdraw your PNG. In order to qualify for a withdrawl, the caller's address must be whitelisted. In addition, the calling address must have one whole UNI or SUSHI token. All PNG must be claimed at once. Only the full amount can be claimed and only one claim is allowed per user.\"},\"constructor\":{\"notice\":\"Initializes the contract. Sets token addresses, owner, and leftover token destination. Claiming period is not enabled.\"},\"endClaiming()\":{\"notice\":\"End the claiming period. All unclaimed PNG will be transferred to the address specified by remainderDestination. Can only be called by the owner.\"},\"setRemainderDestination(address)\":{\"notice\":\"Changes the address that receives the remaining PNG at the end of the claiming period. Can only be set by the contract owner.\"},\"setowner(address)\":{\"notice\":\"Changes the contract owner. Can only be set by the contract owner.\"},\"whitelistAddress(address,uint96)\":{\"notice\":\"Whitelist an address to claim PNG. Specify the amount of PNG to be allocated. That address will then be able to claim that amount of PNG during the claiming period if it has sufficient UNI and SUSHI balance. The transferrable amount of PNG must be nonzero. Total amount allocated must be less than or equal to the total airdrop supply. Whitelisting must occur before the claiming period is enabled. Addresses may only be added one time. Only called by the owner.\"},\"whitelistAddresses(address[],uint96[])\":{\"notice\":\"Whitelist multiple addresses in one call. Wrapper around whitelistAddress. All parameters are arrays. Each array must be the same length. Each index corresponds to one (address, png) tuple. Only callable by the owner.\"}},\"notice\":\"Contract for administering the Airdrop of PNG to UNI and SUSHI holders. 26.9 million PNG will be made available in the airdrop. After the Airdrop period is over, all unclaimed PNG will be transferred to the community treasury.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Airdrop.sol\":\"Airdrop\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Airdrop.sol\":{\"keccak256\":\"0x7ba2794dc3c27025b2843086d52bbb9a1ec9d2eebd3cd3613064e3fe3c6341b4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bda1d3f763afbe6f6db9d1ce3bfda7ceadb32e8901e821c812266eb0f55ebb96\",\"dweb:/ipfs/QmbQ7eiSrTCRRTyrTtDQAag1MQVisQDEkKv8Y3MzvoUHqP\"]}},\"version\":1}"
},
"IPNG": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "dst",
"type": "address"
},
{
"internalType": "uint256",
"name": "rawAmount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {
"balanceOf(address)": "70a08231",
"transfer(address,uint256)": "a9059cbb"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"rawAmount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Airdrop.sol\":\"IPNG\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Airdrop.sol\":{\"keccak256\":\"0x7ba2794dc3c27025b2843086d52bbb9a1ec9d2eebd3cd3613064e3fe3c6341b4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bda1d3f763afbe6f6db9d1ce3bfda7ceadb32e8901e821c812266eb0f55ebb96\",\"dweb:/ipfs/QmbQ7eiSrTCRRTyrTtDQAag1MQVisQDEkKv8Y3MzvoUHqP\"]}},\"version\":1}"
},
"ISushi": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {
"balanceOf(address)": "70a08231"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Airdrop.sol\":\"ISushi\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Airdrop.sol\":{\"keccak256\":\"0x7ba2794dc3c27025b2843086d52bbb9a1ec9d2eebd3cd3613064e3fe3c6341b4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bda1d3f763afbe6f6db9d1ce3bfda7ceadb32e8901e821c812266eb0f55ebb96\",\"dweb:/ipfs/QmbQ7eiSrTCRRTyrTtDQAag1MQVisQDEkKv8Y3MzvoUHqP\"]}},\"version\":1}"
},
"IUni": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {
"balanceOf(address)": "70a08231"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Airdrop.sol\":\"IUni\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Airdrop.sol\":{\"keccak256\":\"0x7ba2794dc3c27025b2843086d52bbb9a1ec9d2eebd3cd3613064e3fe3c6341b4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bda1d3f763afbe6f6db9d1ce3bfda7ceadb32e8901e821c812266eb0f55ebb96\",\"dweb:/ipfs/QmbQ7eiSrTCRRTyrTtDQAag1MQVisQDEkKv8Y3MzvoUHqP\"]}},\"version\":1}"
}
}
},
"sources": {
"contracts/Airdrop.sol": {
"ast": {
"absolutePath": "contracts/Airdrop.sol",
"exportedSymbols": {
"Airdrop": [
385
],
"IPNG": [
402
],
"ISushi": [
418
],
"IUni": [
410
]
},
"id": 419,
"license": "GPL-3.0-or-later",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "45:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 2,
"nodeType": "StructuredDocumentation",
"src": "70:250:0",
"text": " Contract for administering the Airdrop of PNG to UNI and SUSHI holders.\n 26.9 million PNG will be made available in the airdrop. After the\n Airdrop period is over, all unclaimed PNG will be transferred to the\n community treasury."
},
"fullyImplemented": true,
"id": 385,
"linearizedBaseContracts": [
385
],
"name": "Airdrop",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "5f775678",
"id": 4,
"mutability": "mutable",
"name": "png",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "367:18:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "367:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "edc9af95",
"id": 6,
"mutability": "mutable",
"name": "uni",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "391:18:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "391:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "0a087903",
"id": 8,
"mutability": "mutable",
"name": "sushi",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "415:20:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "415:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "8da5cb5b",
"id": 10,
"mutability": "mutable",
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "442:20:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "442:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "80edf30d",
"id": 12,
"mutability": "mutable",
"name": "remainderDestination",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "468:35:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "468:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "4f420151",
"id": 16,
"mutability": "mutable",
"name": "withdrawAmount",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "543:49:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint96_$",
"typeString": "mapping(address => uint96)"
},
"typeName": {
"id": 15,
"keyType": {
"id": 13,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "552:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "543:27:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint96_$",
"typeString": "mapping(address => uint96)"
},
"valueType": {
"id": 14,
"name": "uint96",
"nodeType": "ElementaryTypeName",
"src": "563:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "45f7f249",
"id": 18,
"mutability": "mutable",
"name": "totalAllocated",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "599:26:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "599:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "673f200a",
"id": 20,
"mutability": "mutable",
"name": "claimingAllowed",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "632:27:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 19,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "632:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "fedd970b",
"id": 23,
"mutability": "constant",
"name": "TOTAL_AIRDROP_SUPPLY",
"nodeType": "VariableDeclaration",
"scope": 385,
"src": "666:57:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "666:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"hexValue": "32365f3030305f303030653138",
"id": 22,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "710:13:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_26000000000000000000000000_by_1",
"typeString": "int_const 26000000000000000000000000"
},
"value": "26_000_000e18"
},
"visibility": "public"
},
{
"anonymous": false,
"id": 25,
"name": "ClaimingAllowed",
"nodeType": "EventDefinition",
"parameters": {
"id": 24,
"nodeType": "ParameterList",
"parameters": [],
"src": "765:2:0"
},
"src": "744:24:0"
},
{
"anonymous": false,
"id": 27,
"name": "ClaimingOver",
"nodeType": "EventDefinition",
"parameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [],
"src": "791:2:0"
},
"src": "773:21:0"
},
{
"anonymous": false,
"id": 33,
"name": "PngClaimed",
"nodeType": "EventDefinition",
"parameters": {
"id": 32,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 29,
"indexed": false,
"mutability": "mutable",
"name": "claimer",
"nodeType": "VariableDeclaration",
"scope": 33,
"src": "816:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 28,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "816:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 31,
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 33,
"src": "833:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 30,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "833:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "815:30:0"
},
"src": "799:47:0"
},
{
"body": {
"id": 75,
"nodeType": "Block",
"src": "1514:210:0",
"statements": [
{
"expression": {
"id": 49,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 47,
"name": "png",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "1524:3:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 48,
"name": "png_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36,
"src": "1530:4:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1524:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 50,
"nodeType": "ExpressionStatement",
"src": "1524:10:0"
},
{
"expression": {
"id": 53,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 51,
"name": "uni",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6,
"src": "1544:3:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 52,
"name": "uni_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 38,
"src": "1550:4:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1544:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 54,
"nodeType": "ExpressionStatement",
"src": "1544:10:0"
},
{
"expression": {
"id": 57,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 55,
"name": "sushi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8,
"src": "1564:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 56,
"name": "sushi_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 40,
"src": "1572:6:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1564:14:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 58,
"nodeType": "ExpressionStatement",
"src": "1564:14:0"
},
{
"expression": {
"id": 61,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 59,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "1588:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 60,
"name": "owner_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 42,
"src": "1596:6:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1588:14:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 62,
"nodeType": "ExpressionStatement",
"src": "1588:14:0"
},
{
"expression": {
"id": 65,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 63,
"name": "remainderDestination",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12,
"src": "1612:20:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 64,
"name": "remainderDestination_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 44,
"src": "1635:21:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1612:44:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 66,
"nodeType": "ExpressionStatement",
"src": "1612:44:0"
},
{
"expression": {
"id": 69,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 67,
"name": "claimingAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20,
"src": "1666:15:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "66616c7365",
"id": 68,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1684:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
"src": "1666:23:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 70,
"nodeType": "ExpressionStatement",
"src": "1666:23:0"
},
{
"expression": {
"id": 73,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 71,
"name": "totalAllocated",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18,
"src": "1699:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "30",
"id": 72,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1716:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1699:18:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 74,
"nodeType": "ExpressionStatement",
"src": "1699:18:0"
}
]
},
"documentation": {
"id": 34,
"nodeType": "StructuredDocumentation",
"src": "852:490:0",
"text": " Initializes the contract. Sets token addresses, owner, and leftover token\n destination. Claiming period is not enabled.\n @param png_ the PNG token contract address\n @param uni_ the UNI token contract address\n @param sushi_ the SUSHI token contract address\n @param owner_ the privileged contract owner\n @param remainderDestination_ address to transfer remaining PNG to when\n claiming ends. Should be community treasury."
},
"id": 76,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 45,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36,
"mutability": "mutable",
"name": "png_",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "1359:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 35,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1359:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 38,
"mutability": "mutable",
"name": "uni_",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "1389:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 37,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1389:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 40,
"mutability": "mutable",
"name": "sushi_",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "1419:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 39,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1419:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 42,
"mutability": "mutable",
"name": "owner_",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "1451:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 41,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1451:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 44,
"mutability": "mutable",
"name": "remainderDestination_",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "1483:29:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 43,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1483:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1358:155:0"
},
"returnParameters": {
"id": 46,
"nodeType": "ParameterList",
"parameters": [],
"src": "1514:0:0"
},
"scope": 385,
"src": "1347:377:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 94,
"nodeType": "Block",
"src": "2070:149:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 86,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 83,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "2088:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 84,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "2088:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 85,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "2102:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2088:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a73657452656d61696e64657244657374696e6174696f6e3a20756e617574686f72697a6564",
"id": 87,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2109:48:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e",
"typeString": "literal_string \"Airdrop::setRemainderDestination: unauthorized\""
},
"value": "Airdrop::setRemainderDestination: unauthorized"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_58305e15be9ad332a242a2e077f70c35b341dcf9b058343cdb6e8b343e63f65e",
"typeString": "literal_string \"Airdrop::setRemainderDestination: unauthorized\""
}
],
"id": 82,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "2080:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 88,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2080:78:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 89,
"nodeType": "ExpressionStatement",
"src": "2080:78:0"
},
{
"expression": {
"id": 92,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 90,
"name": "remainderDestination",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12,
"src": "2168:20:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 91,
"name": "remainderDestination_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 79,
"src": "2191:21:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2168:44:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 93,
"nodeType": "ExpressionStatement",
"src": "2168:44:0"
}
]
},
"documentation": {
"id": 77,
"nodeType": "StructuredDocumentation",
"src": "1730:262:0",
"text": " Changes the address that receives the remaining PNG at the end of the\n claiming period. Can only be set by the contract owner.\n @param remainderDestination_ address to transfer remaining PNG to when\n claiming ends."
},
"functionSelector": "9ae1ea0d",
"id": 95,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setRemainderDestination",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 80,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 79,
"mutability": "mutable",
"name": "remainderDestination_",
"nodeType": "VariableDeclaration",
"scope": 95,
"src": "2030:29:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 78,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2030:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2029:31:0"
},
"returnParameters": {
"id": 81,
"nodeType": "ParameterList",
"parameters": [],
"src": "2070:0:0"
},
"scope": 385,
"src": "1997:222:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 113,
"nodeType": "Block",
"src": "2413:104:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 105,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 102,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "2431:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 103,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "2431:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 104,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "2445:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2431:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a7365746f776e65723a20756e617574686f72697a6564",
"id": 106,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2452:33:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190",
"typeString": "literal_string \"Airdrop::setowner: unauthorized\""
},
"value": "Airdrop::setowner: unauthorized"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_207126ec751f38416c867b79862c349625f5e6fbbf403d1f4ce5fabb8a681190",
"typeString": "literal_string \"Airdrop::setowner: unauthorized\""
}
],
"id": 101,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "2423:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 107,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2423:63:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 108,
"nodeType": "ExpressionStatement",
"src": "2423:63:0"
},
{
"expression": {
"id": 111,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 109,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "2496:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 110,
"name": "owner_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 98,
"src": "2504:6:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2496:14:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 112,
"nodeType": "ExpressionStatement",
"src": "2496:14:0"
}
]
},
"documentation": {
"id": 96,
"nodeType": "StructuredDocumentation",
"src": "2225:140:0",
"text": " Changes the contract owner. Can only be set by the contract owner.\n @param owner_ new contract owner address"
},
"functionSelector": "592bd705",
"id": 114,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setowner",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 99,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 98,
"mutability": "mutable",
"name": "owner_",
"nodeType": "VariableDeclaration",
"scope": 114,
"src": "2388:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 97,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2388:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2387:16:0"
},
"returnParameters": {
"id": 100,
"nodeType": "ParameterList",
"parameters": [],
"src": "2413:0:0"
},
"scope": 385,
"src": "2370:147:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 148,
"nodeType": "Block",
"src": "2874:274:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 129,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"arguments": [
{
"id": 125,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
"src": "2920:4:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Airdrop_$385",
"typeString": "contract Airdrop"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Airdrop_$385",
"typeString": "contract Airdrop"
}
],
"id": 124,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2912:7:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 123,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2912:7:0",
"typeDescriptions": {}
}
},
"id": 126,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2912:13:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"arguments": [
{
"id": 120,
"name": "png",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "2897:3:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 119,
"name": "IPNG",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 402,
"src": "2892:4:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IPNG_$402_$",
"typeString": "type(contract IPNG)"
}
},
"id": 121,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2892:9:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPNG_$402",
"typeString": "contract IPNG"
}
},
"id": 122,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
"referencedDeclaration": 392,
"src": "2892:19:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
"id": 127,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2892:34:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"id": 128,
"name": "TOTAL_AIRDROP_SUPPLY",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 23,
"src": "2930:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2892:58:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a616c6c6f77436c61696d696e673a20696e636f727265637420504e4720737570706c79",
"id": 130,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2952:46:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c",
"typeString": "literal_string \"Airdrop::allowClaiming: incorrect PNG supply\""
},
"value": "Airdrop::allowClaiming: incorrect PNG supply"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c37d63731969ff7e3092e27b0765fbbf3d62cdc4e0a45f062910109916d1998c",
"typeString": "literal_string \"Airdrop::allowClaiming: incorrect PNG supply\""
}
],
"id": 118,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "2884:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 131,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2884:115:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 132,
"nodeType": "ExpressionStatement",
"src": "2884:115:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 137,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 134,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "3017:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 135,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "3017:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 136,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "3031:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "3017:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a616c6c6f77436c61696d696e673a20756e617574686f72697a6564",
"id": 138,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3038:38:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b",
"typeString": "literal_string \"Airdrop::allowClaiming: unauthorized\""
},
"value": "Airdrop::allowClaiming: unauthorized"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_8bd36a3de8378bb95c190af5334aeba76d342c93193d27735b068578bda3e55b",
"typeString": "literal_string \"Airdrop::allowClaiming: unauthorized\""
}
],
"id": 133,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "3009:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 139,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3009:68:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 140,
"nodeType": "ExpressionStatement",
"src": "3009:68:0"
},
{
"expression": {
"id": 143,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 141,
"name": "claimingAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20,
"src": "3087:15:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "74727565",
"id": 142,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3105:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"src": "3087:22:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 144,
"nodeType": "ExpressionStatement",
"src": "3087:22:0"
},
{
"eventCall": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 145,
"name": "ClaimingAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 25,
"src": "3124:15:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 146,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3124:17:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 147,
"nodeType": "EmitStatement",
"src": "3119:22:0"
}
]
},
"documentation": {
"id": 115,
"nodeType": "StructuredDocumentation",
"src": "2523:312:0",
"text": " Enable the claiming period and allow user to claim PNG. Before activation,\n this contract must have a PNG balance equal to the total airdrop PNG\n supply of 16.9 million PNG. All claimable PNG tokens must be whitelisted\n before claiming is enabled. Only callable by the owner."
},
"functionSelector": "de733397",
"id": 149,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "allowClaiming",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 116,
"nodeType": "ParameterList",
"parameters": [],
"src": "2862:2:0"
},
"returnParameters": {
"id": 117,
"nodeType": "ParameterList",
"parameters": [],
"src": "2874:0:0"
},
"scope": 385,
"src": "2840:308:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 196,
"nodeType": "Block",
"src": "3362:423:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 157,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 154,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "3380:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 155,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "3380:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 156,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "3394:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "3380:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a656e64436c61696d696e673a20756e617574686f72697a6564",
"id": 158,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3401:36:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1",
"typeString": "literal_string \"Airdrop::endClaiming: unauthorized\""
},
"value": "Airdrop::endClaiming: unauthorized"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_21542db043ad212c69864860f89145ba075b6a4f6c5bee8d79226e83823d38d1",
"typeString": "literal_string \"Airdrop::endClaiming: unauthorized\""
}
],
"id": 153,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "3372:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 159,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3372:66:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 160,
"nodeType": "ExpressionStatement",
"src": "3372:66:0"
},
{
"expression": {
"arguments": [
{
"id": 162,
"name": "claimingAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20,
"src": "3456:15:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a656e64436c61696d696e673a20436c61696d696e67206e6f742073746172746564",
"id": 163,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3473:44:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288",
"typeString": "literal_string \"Airdrop::endClaiming: Claiming not started\""
},
"value": "Airdrop::endClaiming: Claiming not started"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_6d6cf28661aa30e5427a1512cc47fbeeb23f78018261b03f0131087cba50b288",
"typeString": "literal_string \"Airdrop::endClaiming: Claiming not started\""
}
],
"id": 161,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "3448:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3448:70:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 165,
"nodeType": "ExpressionStatement",
"src": "3448:70:0"
},
{
"expression": {
"id": 168,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 166,
"name": "claimingAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20,
"src": "3529:15:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "66616c7365",
"id": 167,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3547:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
"src": "3529:23:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 169,
"nodeType": "ExpressionStatement",
"src": "3529:23:0"
},
{
"eventCall": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 170,
"name": "ClaimingOver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 27,
"src": "3567:12:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 171,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3567:14:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 172,
"nodeType": "EmitStatement",
"src": "3562:19:0"
},
{
"assignments": [
174
],
"declarations": [
{
"constant": false,
"id": 174,
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 196,
"src": "3622:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 173,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "3622:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 184,
"initialValue": {
"arguments": [
{
"arguments": [
{
"id": 181,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
"src": "3664:4:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Airdrop_$385",
"typeString": "contract Airdrop"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Airdrop_$385",
"typeString": "contract Airdrop"
}
],
"id": 180,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3656:7:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 179,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3656:7:0",
"typeDescriptions": {}
}
},
"id": 182,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3656:13:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"arguments": [
{
"id": 176,
"name": "png",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "3641:3:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 175,
"name": "IPNG",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 402,
"src": "3636:4:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IPNG_$402_$",
"typeString": "type(contract IPNG)"
}
},
"id": 177,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3636:9:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPNG_$402",
"typeString": "contract IPNG"
}
},
"id": 178,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
"referencedDeclaration": 392,
"src": "3636:19:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
"id": 183,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3636:34:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "3622:48:0"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 190,
"name": "remainderDestination",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12,
"src": "3707:20:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 191,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 174,
"src": "3729:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"arguments": [
{
"id": 187,
"name": "png",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "3693:3:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 186,
"name": "IPNG",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 402,
"src": "3688:4:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IPNG_$402_$",
"typeString": "type(contract IPNG)"
}
},
"id": 188,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3688:9:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPNG_$402",
"typeString": "contract IPNG"
}
},
"id": 189,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": 401,
"src": "3688:18:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) external returns (bool)"
}
},
"id": 192,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3688:48:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a656e64436c61696d696e673a205472616e73666572206661696c6564",
"id": 193,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3738:39:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d",
"typeString": "literal_string \"Airdrop::endClaiming: Transfer failed\""
},
"value": "Airdrop::endClaiming: Transfer failed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_417a86d8f9ba3654bb5df82f7650031063429cd7b835d949e54435a0f1f0423d",
"typeString": "literal_string \"Airdrop::endClaiming: Transfer failed\""
}
],
"id": 185,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "3680:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 194,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3680:98:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 195,
"nodeType": "ExpressionStatement",
"src": "3680:98:0"
}
]
},
"documentation": {
"id": 150,
"nodeType": "StructuredDocumentation",
"src": "3154:171:0",
"text": " End the claiming period. All unclaimed PNG will be transferred to the address\n specified by remainderDestination. Can only be called by the owner."
},
"functionSelector": "6556c391",
"id": 197,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "endClaiming",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 151,
"nodeType": "ParameterList",
"parameters": [],
"src": "3350:2:0"
},
"returnParameters": {
"id": 152,
"nodeType": "ParameterList",
"parameters": [],
"src": "3362:0:0"
},
"scope": 385,
"src": "3330:455:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 275,
"nodeType": "Block",
"src": "4141:709:0",
"statements": [
{
"expression": {
"arguments": [
{
"id": 202,
"name": "claimingAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20,
"src": "4240:15:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a636c61696d3a20436c61696d696e67206973206e6f7420616c6c6f776564",
"id": 203,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4257:41:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3",
"typeString": "literal_string \"Airdrop::claim: Claiming is not allowed\""
},
"value": "Airdrop::claim: Claiming is not allowed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_603f1733f2452c960e5d82b99f3643107f46d520039e3aea75749eb6b86f54a3",
"typeString": "literal_string \"Airdrop::claim: Claiming is not allowed\""
}
],
"id": 201,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4232:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 204,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4232:67:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 205,
"nodeType": "ExpressionStatement",
"src": "4232:67:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
},
"id": 212,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"baseExpression": {
"id": 207,
"name": "withdrawAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16,
"src": "4317:14:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint96_$",
"typeString": "mapping(address => uint96)"
}
},
"id": 210,
"indexExpression": {
"expression": {
"id": 208,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "4332:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 209,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "4332:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "4317:26:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"hexValue": "30",
"id": 211,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4346:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4317:30:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a636c61696d3a204e6f20504e4720746f20636c61696d",
"id": 213,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4349:33:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c",
"typeString": "literal_string \"Airdrop::claim: No PNG to claim\""
},
"value": "Airdrop::claim: No PNG to claim"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_2684095d3ea9779976cc76640252ba24ea4a0d7e958ce1c2a58402498f6b852c",
"typeString": "literal_string \"Airdrop::claim: No PNG to claim\""
}
],
"id": 206,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4309:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 214,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4309:74:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 215,
"nodeType": "ExpressionStatement",
"src": "4309:74:0"
},
{
"assignments": [
217
],
"declarations": [
{
"constant": false,
"id": 217,
"mutability": "mutable",
"name": "oneToken",
"nodeType": "VariableDeclaration",
"scope": 275,
"src": "4394:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 216,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "4394:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 219,
"initialValue": {
"hexValue": "31653138",
"id": 218,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4410:4:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_1000000000000000000_by_1",
"typeString": "int_const 1000000000000000000"
},
"value": "1e18"
},
"nodeType": "VariableDeclarationStatement",
"src": "4394:20:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"id": 239,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 229,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"expression": {
"id": 225,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "4452:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 226,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "4452:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"arguments": [
{
"id": 222,
"name": "uni",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6,
"src": "4437:3:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 221,
"name": "IUni",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 410,
"src": "4432:4:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IUni_$410_$",
"typeString": "type(contract IUni)"
}
},
"id": 223,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4432:9:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IUni_$410",
"typeString": "contract IUni"
}
},
"id": 224,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
"referencedDeclaration": 409,
"src": "4432:19:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
"id": 227,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4432:31:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"id": 228,
"name": "oneToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 217,
"src": "4467:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4432:43:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "||",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 238,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"expression": {
"id": 234,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "4503:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 235,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "4503:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"arguments": [
{
"id": 231,
"name": "sushi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8,
"src": "4486:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 230,
"name": "ISushi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 418,
"src": "4479:6:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ISushi_$418_$",
"typeString": "type(contract ISushi)"
}
},
"id": 232,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4479:13:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ISushi_$418",
"typeString": "contract ISushi"
}
},
"id": 233,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
"referencedDeclaration": 417,
"src": "4479:23:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
"id": 236,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4479:35:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"id": 237,
"name": "oneToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 217,
"src": "4518:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4479:47:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "4432:94:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a636c61696d3a20496e73756666696369656e7420554e49206f722053555348492062616c616e6365",
"id": 240,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4540:51:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1",
"typeString": "literal_string \"Airdrop::claim: Insufficient UNI or SUSHI balance\""
},
"value": "Airdrop::claim: Insufficient UNI or SUSHI balance"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_276041a5efd5d06108630dd9758a28f60abb9c20de4f7464206f1f33cb9cafd1",
"typeString": "literal_string \"Airdrop::claim: Insufficient UNI or SUSHI balance\""
}
],
"id": 220,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4424:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 241,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4424:168:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 242,
"nodeType": "ExpressionStatement",
"src": "4424:168:0"
},
{
"assignments": [
244
],
"declarations": [
{
"constant": false,
"id": 244,
"mutability": "mutable",
"name": "amountToClaim",
"nodeType": "VariableDeclaration",
"scope": 275,
"src": "4603:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 243,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "4603:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 249,
"initialValue": {
"baseExpression": {
"id": 245,
"name": "withdrawAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16,
"src": "4624:14:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint96_$",
"typeString": "mapping(address => uint96)"
}
},
"id": 248,
"indexExpression": {
"expression": {
"id": 246,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "4639:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 247,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "4639:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "4624:26:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "4603:47:0"
},
{
"expression": {
"id": 255,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 250,
"name": "withdrawAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16,
"src": "4660:14:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint96_$",
"typeString": "mapping(address => uint96)"
}
},
"id": 253,
"indexExpression": {
"expression": {
"id": 251,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "4675:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 252,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "4675:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "4660:26:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "30",
"id": 254,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4689:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4660:30:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"id": 256,
"nodeType": "ExpressionStatement",
"src": "4660:30:0"
},
{
"eventCall": {
"arguments": [
{
"expression": {
"id": 258,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "4717:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 259,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "4717:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 260,
"name": "amountToClaim",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 244,
"src": "4729:13:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 257,
"name": "PngClaimed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 33,
"src": "4706:10:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 261,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4706:37:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 262,
"nodeType": "EmitStatement",
"src": "4701:42:0"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"expression": {
"id": 268,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "4781:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 269,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "4781:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 270,
"name": "amountToClaim",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 244,
"src": "4793:13:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"arguments": [
{
"id": 265,
"name": "png",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "4767:3:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 264,
"name": "IPNG",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 402,
"src": "4762:4:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IPNG_$402_$",
"typeString": "type(contract IPNG)"
}
},
"id": 266,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4762:9:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPNG_$402",
"typeString": "contract IPNG"
}
},
"id": 267,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": 401,
"src": "4762:18:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) external returns (bool)"
}
},
"id": 271,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4762:45:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a636c61696d3a205472616e73666572206661696c6564",
"id": 272,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4809:33:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a",
"typeString": "literal_string \"Airdrop::claim: Transfer failed\""
},
"value": "Airdrop::claim: Transfer failed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_610b51cc3b2c4c1bf780dae6a3210d9619cff2bc5d69bfbbb0ddd978d3d0e38a",
"typeString": "literal_string \"Airdrop::claim: Transfer failed\""
}
],
"id": 263,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4754:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 273,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4754:89:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 274,
"nodeType": "ExpressionStatement",
"src": "4754:89:0"
}
]
},
"documentation": {
"id": 198,
"nodeType": "StructuredDocumentation",
"src": "3791:319:0",
"text": " Withdraw your PNG. In order to qualify for a withdrawl, the caller's address\n must be whitelisted. In addition, the calling address must have one whole UNI\n or SUSHI token. All PNG must be claimed at once. Only the full amount can be\n claimed and only one claim is allowed per user."
},
"functionSelector": "4e71d92d",
"id": 276,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "claim",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 199,
"nodeType": "ParameterList",
"parameters": [],
"src": "4129:2:0"
},
"returnParameters": {
"id": 200,
"nodeType": "ParameterList",
"parameters": [],
"src": "4141:0:0"
},
"scope": 385,
"src": "4115:735:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 333,
"nodeType": "Block",
"src": "5554:549:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 288,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 285,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "5572:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 286,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "5572:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 287,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "5586:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "5572:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a77686974656c697374416464726573733a20756e617574686f72697a6564",
"id": 289,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5593:41:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4",
"typeString": "literal_string \"Airdrop::whitelistAddress: unauthorized\""
},
"value": "Airdrop::whitelistAddress: unauthorized"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_4c624dea87beaf6c317151b3c02bf090d2eadcae8caddbe051c7151155f53cd4",
"typeString": "literal_string \"Airdrop::whitelistAddress: unauthorized\""
}
],
"id": 284,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "5564:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 290,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5564:71:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 291,
"nodeType": "ExpressionStatement",
"src": "5564:71:0"
},
{
"expression": {
"arguments": [
{
"id": 294,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
"src": "5653:16:0",
"subExpression": {
"id": 293,
"name": "claimingAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20,
"src": "5654:15:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a77686974656c697374416464726573733a20636c61696d696e6720696e2073657373696f6e",
"id": 295,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5671:48:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1",
"typeString": "literal_string \"Airdrop::whitelistAddress: claiming in session\""
},
"value": "Airdrop::whitelistAddress: claiming in session"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_fcc0936ae8ecc868dde1b26efa1c65a765391e77b5516d265d55eeb14a94ada1",
"typeString": "literal_string \"Airdrop::whitelistAddress: claiming in session\""
}
],
"id": 292,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "5645:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 296,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5645:75:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 297,
"nodeType": "ExpressionStatement",
"src": "5645:75:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
},
"id": 301,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 299,
"name": "pngOut",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 281,
"src": "5738:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"hexValue": "30",
"id": 300,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5747:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "5738:10:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a77686974656c697374416464726573733a204e6f20504e4720746f20616c6c6f6361746564",
"id": 302,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5750:48:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090",
"typeString": "literal_string \"Airdrop::whitelistAddress: No PNG to allocated\""
},
"value": "Airdrop::whitelistAddress: No PNG to allocated"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_aa921f45b966574d4528c46e0c5a3d6734c94d56f62c8d94a1fabb8878c88090",
"typeString": "literal_string \"Airdrop::whitelistAddress: No PNG to allocated\""
}
],
"id": 298,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "5730:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 303,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5730:69:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 304,
"nodeType": "ExpressionStatement",
"src": "5730:69:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
},
"id": 310,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"baseExpression": {
"id": 306,
"name": "withdrawAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16,
"src": "5817:14:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint96_$",
"typeString": "mapping(address => uint96)"
}
},
"id": 308,
"indexExpression": {
"id": 307,
"name": "addr",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 279,
"src": "5832:4:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "5817:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30",
"id": 309,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5841:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "5817:25:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a77686974656c697374416464726573733a206164647265737320616c7265616479206164646564",
"id": 311,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5844:50:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8",
"typeString": "literal_string \"Airdrop::whitelistAddress: address already added\""
},
"value": "Airdrop::whitelistAddress: address already added"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c1bf3d961cee195260c3e8be8bb5815a30cc9e73e33ba220ff06d34da516bdf8",
"typeString": "literal_string \"Airdrop::whitelistAddress: address already added\""
}
],
"id": 305,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "5809:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 312,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5809:86:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 313,
"nodeType": "ExpressionStatement",
"src": "5809:86:0"
},
{
"expression": {
"id": 318,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 314,
"name": "withdrawAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16,
"src": "5906:14:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint96_$",
"typeString": "mapping(address => uint96)"
}
},
"id": 316,
"indexExpression": {
"id": 315,
"name": "addr",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 279,
"src": "5921:4:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "5906:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 317,
"name": "pngOut",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 281,
"src": "5929:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"src": "5906:29:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"id": 319,
"nodeType": "ExpressionStatement",
"src": "5906:29:0"
},
{
"expression": {
"id": 324,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 320,
"name": "totalAllocated",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18,
"src": "5946:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 323,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 321,
"name": "totalAllocated",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18,
"src": "5963:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 322,
"name": "pngOut",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 281,
"src": "5980:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"src": "5963:23:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5946:40:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 325,
"nodeType": "ExpressionStatement",
"src": "5946:40:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 329,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 327,
"name": "totalAllocated",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18,
"src": "6004:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"id": 328,
"name": "TOTAL_AIRDROP_SUPPLY",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 23,
"src": "6022:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6004:38:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a77686974656c697374416464726573733a204578636565647320504e4720616c6c6f636174696f6e",
"id": 330,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6044:51:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67",
"typeString": "literal_string \"Airdrop::whitelistAddress: Exceeds PNG allocation\""
},
"value": "Airdrop::whitelistAddress: Exceeds PNG allocation"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_432692b0e1d2d75c61fc1b5ba261c7841798fbe817b3d53bb823aaaeddfabc67",
"typeString": "literal_string \"Airdrop::whitelistAddress: Exceeds PNG allocation\""
}
],
"id": 326,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "5996:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 331,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5996:100:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 332,
"nodeType": "ExpressionStatement",
"src": "5996:100:0"
}
]
},
"documentation": {
"id": 277,
"nodeType": "StructuredDocumentation",
"src": "4856:631:0",
"text": " Whitelist an address to claim PNG. Specify the amount of PNG to be allocated.\n That address will then be able to claim that amount of PNG during the claiming\n period if it has sufficient UNI and SUSHI balance. The transferrable amount of\n PNG must be nonzero. Total amount allocated must be less than or equal to the\n total airdrop supply. Whitelisting must occur before the claiming period is\n enabled. Addresses may only be added one time. Only called by the owner.\n @param addr address that may claim PNG\n @param pngOut the amount of PNG that addr may withdraw"
},
"functionSelector": "b5a8266f",
"id": 334,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "whitelistAddress",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 282,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 279,
"mutability": "mutable",
"name": "addr",
"nodeType": "VariableDeclaration",
"scope": 334,
"src": "5518:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 278,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5518:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 281,
"mutability": "mutable",
"name": "pngOut",
"nodeType": "VariableDeclaration",
"scope": 334,
"src": "5532:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
},
"typeName": {
"id": 280,
"name": "uint96",
"nodeType": "ElementaryTypeName",
"src": "5532:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"visibility": "internal"
}
],
"src": "5517:29:0"
},
"returnParameters": {
"id": 283,
"nodeType": "ParameterList",
"parameters": [],
"src": "5554:0:0"
},
"scope": 385,
"src": "5492:611:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 383,
"nodeType": "Block",
"src": "6450:322:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 348,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 345,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "6468:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 346,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "6468:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 347,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10,
"src": "6482:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "6468:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a77686974656c6973744164647265737365733a20756e617574686f72697a6564",
"id": 349,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6489:43:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c",
"typeString": "literal_string \"Airdrop::whitelistAddresses: unauthorized\""
},
"value": "Airdrop::whitelistAddresses: unauthorized"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_15fd07263473b9cf790d3efcf7ceb8c9cd29083f7d1f60dab62689181e5b964c",
"typeString": "literal_string \"Airdrop::whitelistAddresses: unauthorized\""
}
],
"id": 344,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "6460:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 350,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6460:73:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 351,
"nodeType": "ExpressionStatement",
"src": "6460:73:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 357,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 353,
"name": "addrs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 338,
"src": "6551:5:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 354,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"src": "6551:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"expression": {
"id": 355,
"name": "pngOuts",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 341,
"src": "6567:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint96_$dyn_memory_ptr",
"typeString": "uint96[] memory"
}
},
"id": 356,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"src": "6567:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6551:30:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "41697264726f703a3a77686974656c6973744164647265737365733a20696e636f7272656374206172726179206c656e677468",
"id": 358,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6599:53:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064",
"typeString": "literal_string \"Airdrop::whitelistAddresses: incorrect array length\""
},
"value": "Airdrop::whitelistAddresses: incorrect array length"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_930510649c6d4f9e4bcbe2fc69b4858f4f300ed522c499476b5176b05187c064",
"typeString": "literal_string \"Airdrop::whitelistAddresses: incorrect array length\""
}
],
"id": 352,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "6543:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 359,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6543:110:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 360,
"nodeType": "ExpressionStatement",
"src": "6543:110:0"
},
{
"body": {
"id": 381,
"nodeType": "Block",
"src": "6703:63:0",
"statements": [
{
"expression": {
"arguments": [
{
"baseExpression": {
"id": 373,
"name": "addrs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 338,
"src": "6734:5:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 375,
"indexExpression": {
"id": 374,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 362,
"src": "6740:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "6734:8:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"baseExpression": {
"id": 376,
"name": "pngOuts",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 341,
"src": "6744:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint96_$dyn_memory_ptr",
"typeString": "uint96[] memory"
}
},
"id": 378,
"indexExpression": {
"id": 377,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 362,
"src": "6752:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "6744:10:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
],
"id": 372,
"name": "whitelistAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 334,
"src": "6717:16:0",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint96_$returns$__$",
"typeString": "function (address,uint96)"
}
},
"id": 379,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6717:38:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 380,
"nodeType": "ExpressionStatement",
"src": "6717:38:0"
}
]
},
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 368,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 365,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 362,
"src": "6680:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"expression": {
"id": 366,
"name": "addrs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 338,
"src": "6684:5:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 367,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"src": "6684:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6680:16:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 382,
"initializationExpression": {
"assignments": [
362
],
"declarations": [
{
"constant": false,
"id": 362,
"mutability": "mutable",
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 382,
"src": "6668:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 361,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "6668:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 364,
"initialValue": {
"hexValue": "30",
"id": 363,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6677:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "6668:10:0"
},
"loopExpression": {
"expression": {
"id": 370,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "6698:3:0",
"subExpression": {
"id": 369,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 362,
"src": "6698:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 371,
"nodeType": "ExpressionStatement",
"src": "6698:3:0"
},
"nodeType": "ForStatement",
"src": "6663:103:0"
}
]
},
"documentation": {
"id": 335,
"nodeType": "StructuredDocumentation",
"src": "6109:250:0",
"text": " Whitelist multiple addresses in one call. Wrapper around whitelistAddress.\n All parameters are arrays. Each array must be the same length. Each index\n corresponds to one (address, png) tuple. Only callable by the owner."
},
"functionSelector": "e67c1e69",
"id": 384,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "whitelistAddresses",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 342,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 338,
"mutability": "mutable",
"name": "addrs",
"nodeType": "VariableDeclaration",
"scope": 384,
"src": "6392:22:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 336,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "6392:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 337,
"nodeType": "ArrayTypeName",
"src": "6392:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 341,
"mutability": "mutable",
"name": "pngOuts",
"nodeType": "VariableDeclaration",
"scope": 384,
"src": "6416:23:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint96_$dyn_memory_ptr",
"typeString": "uint96[]"
},
"typeName": {
"baseType": {
"id": 339,
"name": "uint96",
"nodeType": "ElementaryTypeName",
"src": "6416:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint96",
"typeString": "uint96"
}
},
"id": 340,
"nodeType": "ArrayTypeName",
"src": "6416:8:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint96_$dyn_storage_ptr",
"typeString": "uint96[]"
}
},
"visibility": "internal"
}
],
"src": "6391:49:0"
},
"returnParameters": {
"id": 343,
"nodeType": "ParameterList",
"parameters": [],
"src": "6450:0:0"
},
"scope": 385,
"src": "6364:408:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 419,
"src": "321:6453:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 402,
"linearizedBaseContracts": [
402
],
"name": "IPNG",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "70a08231",
"id": 392,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 388,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 387,
"mutability": "mutable",
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 392,
"src": "6816:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 386,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "6816:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "6815:17:0"
},
"returnParameters": {
"id": 391,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 390,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 392,
"src": "6856:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 389,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "6856:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "6855:6:0"
},
"scope": 402,
"src": "6797:65:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "a9059cbb",
"id": 401,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transfer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 397,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 394,
"mutability": "mutable",
"name": "dst",
"nodeType": "VariableDeclaration",
"scope": 401,
"src": "6885:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 393,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "6885:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 396,
"mutability": "mutable",
"name": "rawAmount",
"nodeType": "VariableDeclaration",
"scope": 401,
"src": "6898:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 395,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "6898:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "6884:29:0"
},
"returnParameters": {
"id": 400,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 399,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 401,
"src": "6932:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 398,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "6932:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "6931:6:0"
},
"scope": 402,
"src": "6867:71:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 419,
"src": "6776:164:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 410,
"linearizedBaseContracts": [
410
],
"name": "IUni",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "70a08231",
"id": 409,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 405,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 404,
"mutability": "mutable",
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 409,
"src": "6982:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 403,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "6982:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "6981:17:0"
},
"returnParameters": {
"id": 408,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 407,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 409,
"src": "7022:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 406,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "7022:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "7021:6:0"
},
"scope": 410,
"src": "6963:65:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 419,
"src": "6942:88:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 418,
"linearizedBaseContracts": [
418
],
"name": "ISushi",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "70a08231",
"id": 417,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 413,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 412,
"mutability": "mutable",
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 417,
"src": "7074:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 411,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "7074:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "7073:17:0"
},
"returnParameters": {
"id": 416,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 415,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 417,
"src": "7114:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 414,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "7114:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "7113:6:0"
},
"scope": 418,
"src": "7055:65:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 419,
"src": "7032:90:0"
}
],
"src": "45:7077:0"
},
"id": 0
}
}
}
}