Skip to content

Instantly share code, notes, and snippets.

@pasevin
Created October 23, 2024 13:52
Show Gist options
  • Save pasevin/644088ac55566dcddde7610f7d6549a3 to your computer and use it in GitHub Desktop.
Save pasevin/644088ac55566dcddde7610f7d6549a3 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.26+commit.8a97fa7a.js&optimize=false&runs=200&gist=
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_1435": {
"entryPoint": null,
"id": 1435,
"parameterSlots": 0,
"returnSlots": 0
},
"@_disableInitializers_416": {
"entryPoint": 86,
"id": 416,
"parameterSlots": 0,
"returnSlots": 0
},
"@_getInitializableStorage_447": {
"entryPoint": 340,
"id": 447,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_uint64_to_t_uint64_fromStack": {
"entryPoint": 398,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed": {
"entryPoint": 413,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint64": {
"entryPoint": 379,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:456:12",
"nodeType": "YulBlock",
"src": "0:456:12",
"statements": [
{
"body": {
"nativeSrc": "51:57:12",
"nodeType": "YulBlock",
"src": "51:57:12",
"statements": [
{
"nativeSrc": "61:41:12",
"nodeType": "YulAssignment",
"src": "61:41:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "76:5:12",
"nodeType": "YulIdentifier",
"src": "76:5:12"
},
{
"kind": "number",
"nativeSrc": "83:18:12",
"nodeType": "YulLiteral",
"src": "83:18:12",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "72:3:12",
"nodeType": "YulIdentifier",
"src": "72:3:12"
},
"nativeSrc": "72:30:12",
"nodeType": "YulFunctionCall",
"src": "72:30:12"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "61:7:12",
"nodeType": "YulIdentifier",
"src": "61:7:12"
}
]
}
]
},
"name": "cleanup_t_uint64",
"nativeSrc": "7:101:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "33:5:12",
"nodeType": "YulTypedName",
"src": "33:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "43:7:12",
"nodeType": "YulTypedName",
"src": "43:7:12",
"type": ""
}
],
"src": "7:101:12"
},
{
"body": {
"nativeSrc": "177:52:12",
"nodeType": "YulBlock",
"src": "177:52:12",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "194:3:12",
"nodeType": "YulIdentifier",
"src": "194:3:12"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "216:5:12",
"nodeType": "YulIdentifier",
"src": "216:5:12"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nativeSrc": "199:16:12",
"nodeType": "YulIdentifier",
"src": "199:16:12"
},
"nativeSrc": "199:23:12",
"nodeType": "YulFunctionCall",
"src": "199:23:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "187:6:12",
"nodeType": "YulIdentifier",
"src": "187:6:12"
},
"nativeSrc": "187:36:12",
"nodeType": "YulFunctionCall",
"src": "187:36:12"
},
"nativeSrc": "187:36:12",
"nodeType": "YulExpressionStatement",
"src": "187:36:12"
}
]
},
"name": "abi_encode_t_uint64_to_t_uint64_fromStack",
"nativeSrc": "114:115:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "165:5:12",
"nodeType": "YulTypedName",
"src": "165:5:12",
"type": ""
},
{
"name": "pos",
"nativeSrc": "172:3:12",
"nodeType": "YulTypedName",
"src": "172:3:12",
"type": ""
}
],
"src": "114:115:12"
},
{
"body": {
"nativeSrc": "331:122:12",
"nodeType": "YulBlock",
"src": "331:122:12",
"statements": [
{
"nativeSrc": "341:26:12",
"nodeType": "YulAssignment",
"src": "341:26:12",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "353:9:12",
"nodeType": "YulIdentifier",
"src": "353:9:12"
},
{
"kind": "number",
"nativeSrc": "364:2:12",
"nodeType": "YulLiteral",
"src": "364:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "349:3:12",
"nodeType": "YulIdentifier",
"src": "349:3:12"
},
"nativeSrc": "349:18:12",
"nodeType": "YulFunctionCall",
"src": "349:18:12"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "341:4:12",
"nodeType": "YulIdentifier",
"src": "341:4:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "419:6:12",
"nodeType": "YulIdentifier",
"src": "419:6:12"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "432:9:12",
"nodeType": "YulIdentifier",
"src": "432:9:12"
},
{
"kind": "number",
"nativeSrc": "443:1:12",
"nodeType": "YulLiteral",
"src": "443:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "428:3:12",
"nodeType": "YulIdentifier",
"src": "428:3:12"
},
"nativeSrc": "428:17:12",
"nodeType": "YulFunctionCall",
"src": "428:17:12"
}
],
"functionName": {
"name": "abi_encode_t_uint64_to_t_uint64_fromStack",
"nativeSrc": "377:41:12",
"nodeType": "YulIdentifier",
"src": "377:41:12"
},
"nativeSrc": "377:69:12",
"nodeType": "YulFunctionCall",
"src": "377:69:12"
},
"nativeSrc": "377:69:12",
"nodeType": "YulExpressionStatement",
"src": "377:69:12"
}
]
},
"name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed",
"nativeSrc": "235:218:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "303:9:12",
"nodeType": "YulTypedName",
"src": "303:9:12",
"type": ""
},
{
"name": "value0",
"nativeSrc": "315:6:12",
"nodeType": "YulTypedName",
"src": "315:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "326:4:12",
"nodeType": "YulTypedName",
"src": "326:4:12",
"type": ""
}
],
"src": "235:218:12"
}
]
},
"contents": "{\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint64(value))\n }\n\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 12,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015610042575f80fd5b5061005161005660201b60201c565b6101b6565b5f61006561015460201b60201c565b9050805f0160089054906101000a900460ff16156100af576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff8016815f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff16146101515767ffffffffffffffff815f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d267ffffffffffffffff604051610148919061019d565b60405180910390a15b50565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b5f67ffffffffffffffff82169050919050565b6101978161017b565b82525050565b5f6020820190506101b05f83018461018e565b92915050565b6080516111106101dc5f395f8181610453015281816104a8015261066201526111105ff3fe60806040526004361061006f575f3560e01c80638da5cb5b1161004d5780638da5cb5b146100cf578063ad3cb1cc146100f9578063c4d66de814610123578063f2fde38b1461014b5761006f565b80634f1ef2861461007357806352d1902d1461008f578063715018a6146100b9575b5f80fd5b61008d60048036038101906100889190610e5f565b610173565b005b34801561009a575f80fd5b506100a3610192565b6040516100b09190610ed1565b60405180910390f35b3480156100c4575f80fd5b506100cd6101c3565b005b3480156100da575f80fd5b506100e36101d6565b6040516100f09190610ef9565b60405180910390f35b348015610104575f80fd5b5061010d61020b565b60405161011a9190610f72565b60405180910390f35b34801561012e575f80fd5b5061014960048036038101906101449190610f92565b610244565b005b348015610156575f80fd5b50610171600480360381019061016c9190610f92565b6103cd565b005b61017b610451565b61018482610537565b61018e8282610542565b5050565b5f61019b610660565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b905090565b6101cb6106e7565b6101d45f61076e565b565b5f806101e061083f565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b5f61024d610866565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f808267ffffffffffffffff161480156102955750825b90505f60018367ffffffffffffffff161480156102c857505f3073ffffffffffffffffffffffffffffffffffffffff163b145b9050811580156102d6575080155b1561030d576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550831561035a576001855f0160086101000a81548160ff0219169083151502179055505b6103638661088d565b61036b6108a1565b83156103c5575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d260016040516103bc9190611012565b60405180910390a15b505050505050565b6103d56106e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610445575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161043c9190610ef9565b60405180910390fd5b61044e8161076e565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614806104fe57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104e56108ab565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610535576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61053f6106e7565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156105aa57506040513d601f19601f820116820180604052508101906105a79190611055565b60015b6105eb57816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016105e29190610ef9565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b811461065157806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016106489190610ed1565b60405180910390fd5b61065b83836108fe565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16146106e5576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6106ef610970565b73ffffffffffffffffffffffffffffffffffffffff1661070d6101d6565b73ffffffffffffffffffffffffffffffffffffffff161461076c57610730610970565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107639190610ef9565b60405180910390fd5b565b5f61077761083f565b90505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082825f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b5f7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b610895610977565b61089e816109b7565b50565b6108a9610977565b565b5f6108d77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b610a3b565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61090782610a44565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f815111156109635761095d8282610b0d565b5061096c565b61096b610b8d565b5b5050565b5f33905090565b61097f610bc9565b6109b5576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6109bf610977565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a2f575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610a269190610ef9565b60405180910390fd5b610a388161076e565b50565b5f819050919050565b5f8173ffffffffffffffffffffffffffffffffffffffff163b03610a9f57806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401610a969190610ef9565b60405180910390fd5b80610acb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b610a3b565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f808473ffffffffffffffffffffffffffffffffffffffff1684604051610b3691906110c4565b5f60405180830381855af49150503d805f8114610b6e576040519150601f19603f3d011682016040523d82523d5f602084013e610b73565b606091505b5091509150610b83858383610be7565b9250505092915050565b5f341115610bc7576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f610bd2610866565b5f0160089054906101000a900460ff16905090565b606082610bfc57610bf782610c74565b610c6c565b5f8251148015610c2257505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15610c6457836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401610c5b9190610ef9565b60405180910390fd5b819050610c6d565b5b9392505050565b5f81511115610c865780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cf282610cc9565b9050919050565b610d0281610ce8565b8114610d0c575f80fd5b50565b5f81359050610d1d81610cf9565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610d7182610d2b565b810181811067ffffffffffffffff82111715610d9057610d8f610d3b565b5b80604052505050565b5f610da2610cb8565b9050610dae8282610d68565b919050565b5f67ffffffffffffffff821115610dcd57610dcc610d3b565b5b610dd682610d2b565b9050602081019050919050565b828183375f83830152505050565b5f610e03610dfe84610db3565b610d99565b905082815260208101848484011115610e1f57610e1e610d27565b5b610e2a848285610de3565b509392505050565b5f82601f830112610e4657610e45610d23565b5b8135610e56848260208601610df1565b91505092915050565b5f8060408385031215610e7557610e74610cc1565b5b5f610e8285828601610d0f565b925050602083013567ffffffffffffffff811115610ea357610ea2610cc5565b5b610eaf85828601610e32565b9150509250929050565b5f819050919050565b610ecb81610eb9565b82525050565b5f602082019050610ee45f830184610ec2565b92915050565b610ef381610ce8565b82525050565b5f602082019050610f0c5f830184610eea565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610f4482610f12565b610f4e8185610f1c565b9350610f5e818560208601610f2c565b610f6781610d2b565b840191505092915050565b5f6020820190508181035f830152610f8a8184610f3a565b905092915050565b5f60208284031215610fa757610fa6610cc1565b5b5f610fb484828501610d0f565b91505092915050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f819050919050565b5f610ffc610ff7610ff284610fbd565b610fd9565b610fc6565b9050919050565b61100c81610fe2565b82525050565b5f6020820190506110255f830184611003565b92915050565b61103481610eb9565b811461103e575f80fd5b50565b5f8151905061104f8161102b565b92915050565b5f6020828403121561106a57611069610cc1565b5b5f61107784828501611041565b91505092915050565b5f81519050919050565b5f81905092915050565b5f61109e82611080565b6110a8818561108a565b93506110b8818560208601610f2c565b80840191505092915050565b5f6110cf8284611094565b91508190509291505056fea2646970667358221220a2a1948797ec1d8b2b499ae64be5ffcf08ed1c5e895c68d3ba420e80308e01a964736f6c634300081a0033",
"opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0x42 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x51 PUSH2 0x56 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x1B6 JUMP JUMPDEST PUSH0 PUSH2 0x65 PUSH2 0x154 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP DUP1 PUSH0 ADD PUSH1 0x8 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xAF JUMPI PUSH1 0x40 MLOAD PUSH32 0xF92EE8A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND EQ PUSH2 0x151 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP2 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x40 MLOAD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH0 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x197 DUP2 PUSH2 0x17B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B0 PUSH0 DUP4 ADD DUP5 PUSH2 0x18E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x1110 PUSH2 0x1DC PUSH0 CODECOPY PUSH0 DUP2 DUP2 PUSH2 0x453 ADD MSTORE DUP2 DUP2 PUSH2 0x4A8 ADD MSTORE PUSH2 0x662 ADD MSTORE PUSH2 0x1110 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x6F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x4D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xF9 JUMPI DUP1 PUSH4 0xC4D66DE8 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x14B JUMPI PUSH2 0x6F JUMP JUMPDEST DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x8F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xB9 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x88 SWAP2 SWAP1 PUSH2 0xE5F JUMP JUMPDEST PUSH2 0x173 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x192 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB0 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xCD PUSH2 0x1C3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDA JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3 PUSH2 0x1D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x20B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0xF72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12E JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x149 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x144 SWAP2 SWAP1 PUSH2 0xF92 JUMP JUMPDEST PUSH2 0x244 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x156 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x171 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16C SWAP2 SWAP1 PUSH2 0xF92 JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x451 JUMP JUMPDEST PUSH2 0x184 DUP3 PUSH2 0x537 JUMP JUMPDEST PUSH2 0x18E DUP3 DUP3 PUSH2 0x542 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 PUSH2 0x19B PUSH2 0x660 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1CB PUSH2 0x6E7 JUMP JUMPDEST PUSH2 0x1D4 PUSH0 PUSH2 0x76E JUMP JUMPDEST JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x1E0 PUSH2 0x83F JUMP JUMPDEST SWAP1 POP DUP1 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x352E302E30000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 PUSH2 0x24D PUSH2 0x866 JUMP JUMPDEST SWAP1 POP PUSH0 DUP2 PUSH0 ADD PUSH1 0x8 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP PUSH0 DUP3 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH0 DUP1 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x295 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH0 PUSH1 0x1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x2C8 JUMPI POP PUSH0 ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE EQ JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2D6 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0xF92EE8A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 ISZERO PUSH2 0x35A JUMPI PUSH1 0x1 DUP6 PUSH0 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH2 0x363 DUP7 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x36B PUSH2 0x8A1 JUMP JUMPDEST DUP4 ISZERO PUSH2 0x3C5 JUMPI PUSH0 DUP6 PUSH0 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 PUSH1 0x1 PUSH1 0x40 MLOAD PUSH2 0x3BC SWAP2 SWAP1 PUSH2 0x1012 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3D5 PUSH2 0x6E7 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x445 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x43C SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x44E DUP2 PUSH2 0x76E JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x4FE JUMPI POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4E5 PUSH2 0x8AB JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x535 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE07C8DBA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x53F PUSH2 0x6E7 JUMP JUMPDEST POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x5AA JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5A7 SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x5EB JUMPI DUP2 PUSH1 0x40 MLOAD PUSH32 0x4C9C8CE300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E2 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL DUP2 EQ PUSH2 0x651 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xAA1D49A400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x648 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65B DUP4 DUP4 PUSH2 0x8FE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6E5 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE07C8DBA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x6EF PUSH2 0x970 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x70D PUSH2 0x1D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x76C JUMPI PUSH2 0x730 PUSH2 0x970 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x763 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH2 0x777 PUSH2 0x83F JUMP JUMPDEST SWAP1 POP PUSH0 DUP2 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP3 DUP3 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH0 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x895 PUSH2 0x977 JUMP JUMPDEST PUSH2 0x89E DUP2 PUSH2 0x9B7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x8A9 PUSH2 0x977 JUMP JUMPDEST JUMP JUMPDEST PUSH0 PUSH2 0x8D7 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL PUSH2 0xA3B JUMP JUMPDEST PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x907 DUP3 PUSH2 0xA44 JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH0 DUP2 MLOAD GT ISZERO PUSH2 0x963 JUMPI PUSH2 0x95D DUP3 DUP3 PUSH2 0xB0D JUMP JUMPDEST POP PUSH2 0x96C JUMP JUMPDEST PUSH2 0x96B PUSH2 0xB8D JUMP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x97F PUSH2 0xBC9 JUMP JUMPDEST PUSH2 0x9B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0xD7E6BCF800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x9BF PUSH2 0x977 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA2F JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA26 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA38 DUP2 PUSH2 0x76E JUMP JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0xA9F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0x4C9C8CE300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA96 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0xACB PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL PUSH2 0xA3B JUMP JUMPDEST PUSH0 ADD PUSH0 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 0x60 PUSH0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xB36 SWAP2 SWAP1 PUSH2 0x10C4 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0xB6E JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xB73 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xB83 DUP6 DUP4 DUP4 PUSH2 0xBE7 JUMP JUMPDEST SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 CALLVALUE GT ISZERO PUSH2 0xBC7 JUMPI PUSH1 0x40 MLOAD PUSH32 0xB398979F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH2 0xBD2 PUSH2 0x866 JUMP JUMPDEST PUSH0 ADD PUSH1 0x8 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0xBFC JUMPI PUSH2 0xBF7 DUP3 PUSH2 0xC74 JUMP JUMPDEST PUSH2 0xC6C JUMP JUMPDEST PUSH0 DUP3 MLOAD EQ DUP1 ISZERO PUSH2 0xC22 JUMPI POP PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE EQ JUMPDEST ISZERO PUSH2 0xC64 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH32 0x9996B31500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC5B SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SWAP1 POP PUSH2 0xC6D JUMP JUMPDEST JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD GT ISZERO PUSH2 0xC86 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xD6BDA27500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCF2 DUP3 PUSH2 0xCC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD02 DUP2 PUSH2 0xCE8 JUMP JUMPDEST DUP2 EQ PUSH2 0xD0C JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD1D DUP2 PUSH2 0xCF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0xD71 DUP3 PUSH2 0xD2B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xD90 JUMPI PUSH2 0xD8F PUSH2 0xD3B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xDA2 PUSH2 0xCB8 JUMP JUMPDEST SWAP1 POP PUSH2 0xDAE DUP3 DUP3 PUSH2 0xD68 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDCD JUMPI PUSH2 0xDCC PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0xDD6 DUP3 PUSH2 0xD2B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE03 PUSH2 0xDFE DUP5 PUSH2 0xDB3 JUMP JUMPDEST PUSH2 0xD99 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xE1F JUMPI PUSH2 0xE1E PUSH2 0xD27 JUMP JUMPDEST JUMPDEST PUSH2 0xE2A DUP5 DUP3 DUP6 PUSH2 0xDE3 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE46 JUMPI PUSH2 0xE45 PUSH2 0xD23 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xE56 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xDF1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE75 JUMPI PUSH2 0xE74 PUSH2 0xCC1 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE82 DUP6 DUP3 DUP7 ADD PUSH2 0xD0F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEA3 JUMPI PUSH2 0xEA2 PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH2 0xEAF DUP6 DUP3 DUP7 ADD PUSH2 0xE32 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xECB DUP2 PUSH2 0xEB9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEE4 PUSH0 DUP4 ADD DUP5 PUSH2 0xEC2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xEF3 DUP2 PUSH2 0xCE8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF0C PUSH0 DUP4 ADD DUP5 PUSH2 0xEEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xF44 DUP3 PUSH2 0xF12 JUMP JUMPDEST PUSH2 0xF4E DUP2 DUP6 PUSH2 0xF1C JUMP JUMPDEST SWAP4 POP PUSH2 0xF5E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF2C JUMP JUMPDEST PUSH2 0xF67 DUP2 PUSH2 0xD2B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF8A DUP2 DUP5 PUSH2 0xF3A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFA7 JUMPI PUSH2 0xFA6 PUSH2 0xCC1 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xFB4 DUP5 DUP3 DUP6 ADD PUSH2 0xD0F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xFFC PUSH2 0xFF7 PUSH2 0xFF2 DUP5 PUSH2 0xFBD JUMP JUMPDEST PUSH2 0xFD9 JUMP JUMPDEST PUSH2 0xFC6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100C DUP2 PUSH2 0xFE2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1025 PUSH0 DUP4 ADD DUP5 PUSH2 0x1003 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1034 DUP2 PUSH2 0xEB9 JUMP JUMPDEST DUP2 EQ PUSH2 0x103E JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x104F DUP2 PUSH2 0x102B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x106A JUMPI PUSH2 0x1069 PUSH2 0xCC1 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1077 DUP5 DUP3 DUP6 ADD PUSH2 0x1041 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x109E DUP3 PUSH2 0x1080 JUMP JUMPDEST PUSH2 0x10A8 DUP2 DUP6 PUSH2 0x108A JUMP JUMPDEST SWAP4 POP PUSH2 0x10B8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF2C JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x10CF DUP3 DUP5 PUSH2 0x1094 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG2 LOG1 SWAP5 DUP8 SWAP8 0xEC SAR DUP12 0x2B BLOBHASH SWAP11 0xE6 0x4B 0xE5 SELFDESTRUCT 0xCF ADDMOD 0xED SHR MCOPY DUP10 TLOAD PUSH9 0xD3BA420E80308E01A9 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "338:455:11:-:0;;;1171:4:2;1128:48;;;;;;;;;474:53:11;;;;;;;;;;498:22;:20;;;:22;;:::i;:::-;338:455;;7711:422:1;7826:30;7859:26;:24;;;:26;;:::i;:::-;7826:59;;7900:1;:15;;;;;;;;;;;;7896:76;;;7938:23;;;;;;;;;;;;;;7896:76;8003:16;7985:34;;:1;:14;;;;;;;;;;;;:34;;;7981:146;;8052:16;8035:1;:14;;;:33;;;;;;;;;;;;;;;;;;8087:29;8099:16;8087:29;;;;;;:::i;:::-;;;;;;;;7981:146;7760:373;7711:422::o;8737:170::-;8795:30;8870:21;8860:31;;8737:170;:::o;7:101:12:-;43:7;83:18;76:5;72:30;61:41;;7:101;;;:::o;114:115::-;199:23;216:5;199:23;:::i;:::-;194:3;187:36;114:115;;:::o;235:218::-;326:4;364:2;353:9;349:18;341:26;;377:69;443:1;432:9;428:17;419:6;377:69;:::i;:::-;235:218;;;;:::o;338:455:11:-;;;;;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@UPGRADE_INTERFACE_VERSION_472": {
"entryPoint": 523,
"id": 472,
"parameterSlots": 0,
"returnSlots": 0
},
"@__Ownable_init_54": {
"entryPoint": 2189,
"id": 54,
"parameterSlots": 1,
"returnSlots": 0
},
"@__Ownable_init_unchained_81": {
"entryPoint": 2487,
"id": 81,
"parameterSlots": 1,
"returnSlots": 0
},
"@__UUPSUpgradeable_init_502": {
"entryPoint": 2209,
"id": 502,
"parameterSlots": 0,
"returnSlots": 0
},
"@_authorizeUpgrade_1459": {
"entryPoint": 1335,
"id": 1459,
"parameterSlots": 1,
"returnSlots": 0
},
"@_checkInitializing_370": {
"entryPoint": 2423,
"id": 370,
"parameterSlots": 0,
"returnSlots": 0
},
"@_checkNonPayable_1000": {
"entryPoint": 2957,
"id": 1000,
"parameterSlots": 0,
"returnSlots": 0
},
"@_checkNotDelegated_578": {
"entryPoint": 1632,
"id": 578,
"parameterSlots": 0,
"returnSlots": 0
},
"@_checkOwner_122": {
"entryPoint": 1767,
"id": 122,
"parameterSlots": 0,
"returnSlots": 0
},
"@_checkProxy_562": {
"entryPoint": 1105,
"id": 562,
"parameterSlots": 0,
"returnSlots": 0
},
"@_getInitializableStorage_447": {
"entryPoint": 2150,
"id": 447,
"parameterSlots": 0,
"returnSlots": 1
},
"@_getOwnableStorage_25": {
"entryPoint": 2111,
"id": 25,
"parameterSlots": 0,
"returnSlots": 1
},
"@_isInitializing_438": {
"entryPoint": 3017,
"id": 438,
"parameterSlots": 0,
"returnSlots": 1
},
"@_msgSender_658": {
"entryPoint": 2416,
"id": 658,
"parameterSlots": 0,
"returnSlots": 1
},
"@_revert_1269": {
"entryPoint": 3188,
"id": 1269,
"parameterSlots": 1,
"returnSlots": 0
},
"@_setImplementation_780": {
"entryPoint": 2628,
"id": 780,
"parameterSlots": 1,
"returnSlots": 0
},
"@_transferOwnership_193": {
"entryPoint": 1902,
"id": 193,
"parameterSlots": 1,
"returnSlots": 0
},
"@_upgradeToAndCallUUPS_629": {
"entryPoint": 1346,
"id": 629,
"parameterSlots": 2,
"returnSlots": 0
},
"@functionDelegateCall_1187": {
"entryPoint": 2829,
"id": 1187,
"parameterSlots": 2,
"returnSlots": 1
},
"@getAddressSlot_1327": {
"entryPoint": 2619,
"id": 1327,
"parameterSlots": 1,
"returnSlots": 1
},
"@getImplementation_753": {
"entryPoint": 2219,
"id": 753,
"parameterSlots": 0,
"returnSlots": 1
},
"@initialize_1450": {
"entryPoint": 580,
"id": 1450,
"parameterSlots": 1,
"returnSlots": 0
},
"@owner_105": {
"entryPoint": 470,
"id": 105,
"parameterSlots": 0,
"returnSlots": 1
},
"@proxiableUUID_520": {
"entryPoint": 402,
"id": 520,
"parameterSlots": 0,
"returnSlots": 1
},
"@renounceOwnership_136": {
"entryPoint": 451,
"id": 136,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferOwnership_164": {
"entryPoint": 973,
"id": 164,
"parameterSlots": 1,
"returnSlots": 0
},
"@upgradeToAndCall_540": {
"entryPoint": 371,
"id": 540,
"parameterSlots": 2,
"returnSlots": 0
},
"@upgradeToAndCall_816": {
"entryPoint": 2302,
"id": 816,
"parameterSlots": 2,
"returnSlots": 0
},
"@verifyCallResultFromTarget_1227": {
"entryPoint": 3047,
"id": 1227,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_available_length_t_bytes_memory_ptr": {
"entryPoint": 3569,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 3343,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32_fromMemory": {
"entryPoint": 4161,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes_memory_ptr": {
"entryPoint": 3634,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 3986,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_bytes_memory_ptr": {
"entryPoint": 3679,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_bytes32_fromMemory": {
"entryPoint": 4181,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 3818,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 3778,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 4244,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_rational_1_by_1_to_t_uint64_fromStack": {
"entryPoint": 4099,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3898,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 4292,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 3833,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 3793,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed": {
"entryPoint": 4114,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3954,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 3481,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 3256,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_bytes_memory_ptr": {
"entryPoint": 3507,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_bytes_memory_ptr": {
"entryPoint": 4224,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 3858,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 4234,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 3868,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 3304,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 3769,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_rational_1_by_1": {
"entryPoint": 4029,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 3273,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint64": {
"entryPoint": 4038,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_rational_1_by_1_to_t_uint64": {
"entryPoint": 4066,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 3555,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 3884,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"finalize_allocation": {
"entryPoint": 3432,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 4057,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x41": {
"entryPoint": 3387,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 3363,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 3367,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 3269,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3265,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3371,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 3321,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 4139,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:8339:12",
"nodeType": "YulBlock",
"src": "0:8339:12",
"statements": [
{
"body": {
"nativeSrc": "47:35:12",
"nodeType": "YulBlock",
"src": "47:35:12",
"statements": [
{
"nativeSrc": "57:19:12",
"nodeType": "YulAssignment",
"src": "57:19:12",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:12",
"nodeType": "YulLiteral",
"src": "73:2:12",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:12",
"nodeType": "YulIdentifier",
"src": "67:5:12"
},
"nativeSrc": "67:9:12",
"nodeType": "YulFunctionCall",
"src": "67:9:12"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:12",
"nodeType": "YulIdentifier",
"src": "57:6:12"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:12",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:12",
"nodeType": "YulTypedName",
"src": "40:6:12",
"type": ""
}
],
"src": "7:75:12"
},
{
"body": {
"nativeSrc": "177:28:12",
"nodeType": "YulBlock",
"src": "177:28:12",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:12",
"nodeType": "YulLiteral",
"src": "194:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:12",
"nodeType": "YulLiteral",
"src": "197:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:12",
"nodeType": "YulIdentifier",
"src": "187:6:12"
},
"nativeSrc": "187:12:12",
"nodeType": "YulFunctionCall",
"src": "187:12:12"
},
"nativeSrc": "187:12:12",
"nodeType": "YulExpressionStatement",
"src": "187:12:12"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:12",
"nodeType": "YulFunctionDefinition",
"src": "88:117:12"
},
{
"body": {
"nativeSrc": "300:28:12",
"nodeType": "YulBlock",
"src": "300:28:12",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:12",
"nodeType": "YulLiteral",
"src": "317:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:12",
"nodeType": "YulLiteral",
"src": "320:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:12",
"nodeType": "YulIdentifier",
"src": "310:6:12"
},
"nativeSrc": "310:12:12",
"nodeType": "YulFunctionCall",
"src": "310:12:12"
},
"nativeSrc": "310:12:12",
"nodeType": "YulExpressionStatement",
"src": "310:12:12"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:12",
"nodeType": "YulFunctionDefinition",
"src": "211:117:12"
},
{
"body": {
"nativeSrc": "379:81:12",
"nodeType": "YulBlock",
"src": "379:81:12",
"statements": [
{
"nativeSrc": "389:65:12",
"nodeType": "YulAssignment",
"src": "389:65:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "404:5:12",
"nodeType": "YulIdentifier",
"src": "404:5:12"
},
{
"kind": "number",
"nativeSrc": "411:42:12",
"nodeType": "YulLiteral",
"src": "411:42:12",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "400:3:12",
"nodeType": "YulIdentifier",
"src": "400:3:12"
},
"nativeSrc": "400:54:12",
"nodeType": "YulFunctionCall",
"src": "400:54:12"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:12",
"nodeType": "YulIdentifier",
"src": "389:7:12"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "334:126:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:12",
"nodeType": "YulTypedName",
"src": "361:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:12",
"nodeType": "YulTypedName",
"src": "371:7:12",
"type": ""
}
],
"src": "334:126:12"
},
{
"body": {
"nativeSrc": "511:51:12",
"nodeType": "YulBlock",
"src": "511:51:12",
"statements": [
{
"nativeSrc": "521:35:12",
"nodeType": "YulAssignment",
"src": "521:35:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "550:5:12",
"nodeType": "YulIdentifier",
"src": "550:5:12"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "532:17:12",
"nodeType": "YulIdentifier",
"src": "532:17:12"
},
"nativeSrc": "532:24:12",
"nodeType": "YulFunctionCall",
"src": "532:24:12"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "521:7:12",
"nodeType": "YulIdentifier",
"src": "521:7:12"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "466:96:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "493:5:12",
"nodeType": "YulTypedName",
"src": "493:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "503:7:12",
"nodeType": "YulTypedName",
"src": "503:7:12",
"type": ""
}
],
"src": "466:96:12"
},
{
"body": {
"nativeSrc": "611:79:12",
"nodeType": "YulBlock",
"src": "611:79:12",
"statements": [
{
"body": {
"nativeSrc": "668:16:12",
"nodeType": "YulBlock",
"src": "668:16:12",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "677:1:12",
"nodeType": "YulLiteral",
"src": "677:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "680:1:12",
"nodeType": "YulLiteral",
"src": "680:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "670:6:12",
"nodeType": "YulIdentifier",
"src": "670:6:12"
},
"nativeSrc": "670:12:12",
"nodeType": "YulFunctionCall",
"src": "670:12:12"
},
"nativeSrc": "670:12:12",
"nodeType": "YulExpressionStatement",
"src": "670:12:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "634:5:12",
"nodeType": "YulIdentifier",
"src": "634:5:12"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "659:5:12",
"nodeType": "YulIdentifier",
"src": "659:5:12"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "641:17:12",
"nodeType": "YulIdentifier",
"src": "641:17:12"
},
"nativeSrc": "641:24:12",
"nodeType": "YulFunctionCall",
"src": "641:24:12"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "631:2:12",
"nodeType": "YulIdentifier",
"src": "631:2:12"
},
"nativeSrc": "631:35:12",
"nodeType": "YulFunctionCall",
"src": "631:35:12"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "624:6:12",
"nodeType": "YulIdentifier",
"src": "624:6:12"
},
"nativeSrc": "624:43:12",
"nodeType": "YulFunctionCall",
"src": "624:43:12"
},
"nativeSrc": "621:63:12",
"nodeType": "YulIf",
"src": "621:63:12"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "568:122:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "604:5:12",
"nodeType": "YulTypedName",
"src": "604:5:12",
"type": ""
}
],
"src": "568:122:12"
},
{
"body": {
"nativeSrc": "748:87:12",
"nodeType": "YulBlock",
"src": "748:87:12",
"statements": [
{
"nativeSrc": "758:29:12",
"nodeType": "YulAssignment",
"src": "758:29:12",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "780:6:12",
"nodeType": "YulIdentifier",
"src": "780:6:12"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "767:12:12",
"nodeType": "YulIdentifier",
"src": "767:12:12"
},
"nativeSrc": "767:20:12",
"nodeType": "YulFunctionCall",
"src": "767:20:12"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "758:5:12",
"nodeType": "YulIdentifier",
"src": "758:5:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "823:5:12",
"nodeType": "YulIdentifier",
"src": "823:5:12"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "796:26:12",
"nodeType": "YulIdentifier",
"src": "796:26:12"
},
"nativeSrc": "796:33:12",
"nodeType": "YulFunctionCall",
"src": "796:33:12"
},
"nativeSrc": "796:33:12",
"nodeType": "YulExpressionStatement",
"src": "796:33:12"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "696:139:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "726:6:12",
"nodeType": "YulTypedName",
"src": "726:6:12",
"type": ""
},
{
"name": "end",
"nativeSrc": "734:3:12",
"nodeType": "YulTypedName",
"src": "734:3:12",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "742:5:12",
"nodeType": "YulTypedName",
"src": "742:5:12",
"type": ""
}
],
"src": "696:139:12"
},
{
"body": {
"nativeSrc": "930:28:12",
"nodeType": "YulBlock",
"src": "930:28:12",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "947:1:12",
"nodeType": "YulLiteral",
"src": "947:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "950:1:12",
"nodeType": "YulLiteral",
"src": "950:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "940:6:12",
"nodeType": "YulIdentifier",
"src": "940:6:12"
},
"nativeSrc": "940:12:12",
"nodeType": "YulFunctionCall",
"src": "940:12:12"
},
"nativeSrc": "940:12:12",
"nodeType": "YulExpressionStatement",
"src": "940:12:12"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "841:117:12",
"nodeType": "YulFunctionDefinition",
"src": "841:117:12"
},
{
"body": {
"nativeSrc": "1053:28:12",
"nodeType": "YulBlock",
"src": "1053:28:12",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1070:1:12",
"nodeType": "YulLiteral",
"src": "1070:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1073:1:12",
"nodeType": "YulLiteral",
"src": "1073:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1063:6:12",
"nodeType": "YulIdentifier",
"src": "1063:6:12"
},
"nativeSrc": "1063:12:12",
"nodeType": "YulFunctionCall",
"src": "1063:12:12"
},
"nativeSrc": "1063:12:12",
"nodeType": "YulExpressionStatement",
"src": "1063:12:12"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "964:117:12",
"nodeType": "YulFunctionDefinition",
"src": "964:117:12"
},
{
"body": {
"nativeSrc": "1135:54:12",
"nodeType": "YulBlock",
"src": "1135:54:12",
"statements": [
{
"nativeSrc": "1145:38:12",
"nodeType": "YulAssignment",
"src": "1145:38:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1163:5:12",
"nodeType": "YulIdentifier",
"src": "1163:5:12"
},
{
"kind": "number",
"nativeSrc": "1170:2:12",
"nodeType": "YulLiteral",
"src": "1170:2:12",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1159:3:12",
"nodeType": "YulIdentifier",
"src": "1159:3:12"
},
"nativeSrc": "1159:14:12",
"nodeType": "YulFunctionCall",
"src": "1159:14:12"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1179:2:12",
"nodeType": "YulLiteral",
"src": "1179:2:12",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1175:3:12",
"nodeType": "YulIdentifier",
"src": "1175:3:12"
},
"nativeSrc": "1175:7:12",
"nodeType": "YulFunctionCall",
"src": "1175:7:12"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1155:3:12",
"nodeType": "YulIdentifier",
"src": "1155:3:12"
},
"nativeSrc": "1155:28:12",
"nodeType": "YulFunctionCall",
"src": "1155:28:12"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1145:6:12",
"nodeType": "YulIdentifier",
"src": "1145:6:12"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "1087:102:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1118:5:12",
"nodeType": "YulTypedName",
"src": "1118:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1128:6:12",
"nodeType": "YulTypedName",
"src": "1128:6:12",
"type": ""
}
],
"src": "1087:102:12"
},
{
"body": {
"nativeSrc": "1223:152:12",
"nodeType": "YulBlock",
"src": "1223:152:12",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1240:1:12",
"nodeType": "YulLiteral",
"src": "1240:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1243:77:12",
"nodeType": "YulLiteral",
"src": "1243:77:12",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1233:6:12",
"nodeType": "YulIdentifier",
"src": "1233:6:12"
},
"nativeSrc": "1233:88:12",
"nodeType": "YulFunctionCall",
"src": "1233:88:12"
},
"nativeSrc": "1233:88:12",
"nodeType": "YulExpressionStatement",
"src": "1233:88:12"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1337:1:12",
"nodeType": "YulLiteral",
"src": "1337:1:12",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1340:4:12",
"nodeType": "YulLiteral",
"src": "1340:4:12",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1330:6:12",
"nodeType": "YulIdentifier",
"src": "1330:6:12"
},
"nativeSrc": "1330:15:12",
"nodeType": "YulFunctionCall",
"src": "1330:15:12"
},
"nativeSrc": "1330:15:12",
"nodeType": "YulExpressionStatement",
"src": "1330:15:12"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1361:1:12",
"nodeType": "YulLiteral",
"src": "1361:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1364:4:12",
"nodeType": "YulLiteral",
"src": "1364:4:12",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1354:6:12",
"nodeType": "YulIdentifier",
"src": "1354:6:12"
},
"nativeSrc": "1354:15:12",
"nodeType": "YulFunctionCall",
"src": "1354:15:12"
},
"nativeSrc": "1354:15:12",
"nodeType": "YulExpressionStatement",
"src": "1354:15:12"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "1195:180:12",
"nodeType": "YulFunctionDefinition",
"src": "1195:180:12"
},
{
"body": {
"nativeSrc": "1424:238:12",
"nodeType": "YulBlock",
"src": "1424:238:12",
"statements": [
{
"nativeSrc": "1434:58:12",
"nodeType": "YulVariableDeclaration",
"src": "1434:58:12",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1456:6:12",
"nodeType": "YulIdentifier",
"src": "1456:6:12"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "1486:4:12",
"nodeType": "YulIdentifier",
"src": "1486:4:12"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "1464:21:12",
"nodeType": "YulIdentifier",
"src": "1464:21:12"
},
"nativeSrc": "1464:27:12",
"nodeType": "YulFunctionCall",
"src": "1464:27:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1452:3:12",
"nodeType": "YulIdentifier",
"src": "1452:3:12"
},
"nativeSrc": "1452:40:12",
"nodeType": "YulFunctionCall",
"src": "1452:40:12"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "1438:10:12",
"nodeType": "YulTypedName",
"src": "1438:10:12",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1603:22:12",
"nodeType": "YulBlock",
"src": "1603:22:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1605:16:12",
"nodeType": "YulIdentifier",
"src": "1605:16:12"
},
"nativeSrc": "1605:18:12",
"nodeType": "YulFunctionCall",
"src": "1605:18:12"
},
"nativeSrc": "1605:18:12",
"nodeType": "YulExpressionStatement",
"src": "1605:18:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1546:10:12",
"nodeType": "YulIdentifier",
"src": "1546:10:12"
},
{
"kind": "number",
"nativeSrc": "1558:18:12",
"nodeType": "YulLiteral",
"src": "1558:18:12",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1543:2:12",
"nodeType": "YulIdentifier",
"src": "1543:2:12"
},
"nativeSrc": "1543:34:12",
"nodeType": "YulFunctionCall",
"src": "1543:34:12"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1582:10:12",
"nodeType": "YulIdentifier",
"src": "1582:10:12"
},
{
"name": "memPtr",
"nativeSrc": "1594:6:12",
"nodeType": "YulIdentifier",
"src": "1594:6:12"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1579:2:12",
"nodeType": "YulIdentifier",
"src": "1579:2:12"
},
"nativeSrc": "1579:22:12",
"nodeType": "YulFunctionCall",
"src": "1579:22:12"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1540:2:12",
"nodeType": "YulIdentifier",
"src": "1540:2:12"
},
"nativeSrc": "1540:62:12",
"nodeType": "YulFunctionCall",
"src": "1540:62:12"
},
"nativeSrc": "1537:88:12",
"nodeType": "YulIf",
"src": "1537:88:12"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1641:2:12",
"nodeType": "YulLiteral",
"src": "1641:2:12",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "1645:10:12",
"nodeType": "YulIdentifier",
"src": "1645:10:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1634:6:12",
"nodeType": "YulIdentifier",
"src": "1634:6:12"
},
"nativeSrc": "1634:22:12",
"nodeType": "YulFunctionCall",
"src": "1634:22:12"
},
"nativeSrc": "1634:22:12",
"nodeType": "YulExpressionStatement",
"src": "1634:22:12"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "1381:281:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "1410:6:12",
"nodeType": "YulTypedName",
"src": "1410:6:12",
"type": ""
},
{
"name": "size",
"nativeSrc": "1418:4:12",
"nodeType": "YulTypedName",
"src": "1418:4:12",
"type": ""
}
],
"src": "1381:281:12"
},
{
"body": {
"nativeSrc": "1709:88:12",
"nodeType": "YulBlock",
"src": "1709:88:12",
"statements": [
{
"nativeSrc": "1719:30:12",
"nodeType": "YulAssignment",
"src": "1719:30:12",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "1729:18:12",
"nodeType": "YulIdentifier",
"src": "1729:18:12"
},
"nativeSrc": "1729:20:12",
"nodeType": "YulFunctionCall",
"src": "1729:20:12"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1719:6:12",
"nodeType": "YulIdentifier",
"src": "1719:6:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1778:6:12",
"nodeType": "YulIdentifier",
"src": "1778:6:12"
},
{
"name": "size",
"nativeSrc": "1786:4:12",
"nodeType": "YulIdentifier",
"src": "1786:4:12"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "1758:19:12",
"nodeType": "YulIdentifier",
"src": "1758:19:12"
},
"nativeSrc": "1758:33:12",
"nodeType": "YulFunctionCall",
"src": "1758:33:12"
},
"nativeSrc": "1758:33:12",
"nodeType": "YulExpressionStatement",
"src": "1758:33:12"
}
]
},
"name": "allocate_memory",
"nativeSrc": "1668:129:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "1693:4:12",
"nodeType": "YulTypedName",
"src": "1693:4:12",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1702:6:12",
"nodeType": "YulTypedName",
"src": "1702:6:12",
"type": ""
}
],
"src": "1668:129:12"
},
{
"body": {
"nativeSrc": "1869:241:12",
"nodeType": "YulBlock",
"src": "1869:241:12",
"statements": [
{
"body": {
"nativeSrc": "1974:22:12",
"nodeType": "YulBlock",
"src": "1974:22:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1976:16:12",
"nodeType": "YulIdentifier",
"src": "1976:16:12"
},
"nativeSrc": "1976:18:12",
"nodeType": "YulFunctionCall",
"src": "1976:18:12"
},
"nativeSrc": "1976:18:12",
"nodeType": "YulExpressionStatement",
"src": "1976:18:12"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "1946:6:12",
"nodeType": "YulIdentifier",
"src": "1946:6:12"
},
{
"kind": "number",
"nativeSrc": "1954:18:12",
"nodeType": "YulLiteral",
"src": "1954:18:12",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1943:2:12",
"nodeType": "YulIdentifier",
"src": "1943:2:12"
},
"nativeSrc": "1943:30:12",
"nodeType": "YulFunctionCall",
"src": "1943:30:12"
},
"nativeSrc": "1940:56:12",
"nodeType": "YulIf",
"src": "1940:56:12"
},
{
"nativeSrc": "2006:37:12",
"nodeType": "YulAssignment",
"src": "2006:37:12",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "2036:6:12",
"nodeType": "YulIdentifier",
"src": "2036:6:12"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "2014:21:12",
"nodeType": "YulIdentifier",
"src": "2014:21:12"
},
"nativeSrc": "2014:29:12",
"nodeType": "YulFunctionCall",
"src": "2014:29:12"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2006:4:12",
"nodeType": "YulIdentifier",
"src": "2006:4:12"
}
]
},
{
"nativeSrc": "2080:23:12",
"nodeType": "YulAssignment",
"src": "2080:23:12",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "2092:4:12",
"nodeType": "YulIdentifier",
"src": "2092:4:12"
},
{
"kind": "number",
"nativeSrc": "2098:4:12",
"nodeType": "YulLiteral",
"src": "2098:4:12",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2088:3:12",
"nodeType": "YulIdentifier",
"src": "2088:3:12"
},
"nativeSrc": "2088:15:12",
"nodeType": "YulFunctionCall",
"src": "2088:15:12"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2080:4:12",
"nodeType": "YulIdentifier",
"src": "2080:4:12"
}
]
}
]
},
"name": "array_allocation_size_t_bytes_memory_ptr",
"nativeSrc": "1803:307:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "1853:6:12",
"nodeType": "YulTypedName",
"src": "1853:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "1864:4:12",
"nodeType": "YulTypedName",
"src": "1864:4:12",
"type": ""
}
],
"src": "1803:307:12"
},
{
"body": {
"nativeSrc": "2180:84:12",
"nodeType": "YulBlock",
"src": "2180:84:12",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "2204:3:12",
"nodeType": "YulIdentifier",
"src": "2204:3:12"
},
{
"name": "src",
"nativeSrc": "2209:3:12",
"nodeType": "YulIdentifier",
"src": "2209:3:12"
},
{
"name": "length",
"nativeSrc": "2214:6:12",
"nodeType": "YulIdentifier",
"src": "2214:6:12"
}
],
"functionName": {
"name": "calldatacopy",
"nativeSrc": "2191:12:12",
"nodeType": "YulIdentifier",
"src": "2191:12:12"
},
"nativeSrc": "2191:30:12",
"nodeType": "YulFunctionCall",
"src": "2191:30:12"
},
"nativeSrc": "2191:30:12",
"nodeType": "YulExpressionStatement",
"src": "2191:30:12"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "2241:3:12",
"nodeType": "YulIdentifier",
"src": "2241:3:12"
},
{
"name": "length",
"nativeSrc": "2246:6:12",
"nodeType": "YulIdentifier",
"src": "2246:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2237:3:12",
"nodeType": "YulIdentifier",
"src": "2237:3:12"
},
"nativeSrc": "2237:16:12",
"nodeType": "YulFunctionCall",
"src": "2237:16:12"
},
{
"kind": "number",
"nativeSrc": "2255:1:12",
"nodeType": "YulLiteral",
"src": "2255:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2230:6:12",
"nodeType": "YulIdentifier",
"src": "2230:6:12"
},
"nativeSrc": "2230:27:12",
"nodeType": "YulFunctionCall",
"src": "2230:27:12"
},
"nativeSrc": "2230:27:12",
"nodeType": "YulExpressionStatement",
"src": "2230:27:12"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2116:148:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2162:3:12",
"nodeType": "YulTypedName",
"src": "2162:3:12",
"type": ""
},
{
"name": "dst",
"nativeSrc": "2167:3:12",
"nodeType": "YulTypedName",
"src": "2167:3:12",
"type": ""
},
{
"name": "length",
"nativeSrc": "2172:6:12",
"nodeType": "YulTypedName",
"src": "2172:6:12",
"type": ""
}
],
"src": "2116:148:12"
},
{
"body": {
"nativeSrc": "2353:340:12",
"nodeType": "YulBlock",
"src": "2353:340:12",
"statements": [
{
"nativeSrc": "2363:74:12",
"nodeType": "YulAssignment",
"src": "2363:74:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "2429:6:12",
"nodeType": "YulIdentifier",
"src": "2429:6:12"
}
],
"functionName": {
"name": "array_allocation_size_t_bytes_memory_ptr",
"nativeSrc": "2388:40:12",
"nodeType": "YulIdentifier",
"src": "2388:40:12"
},
"nativeSrc": "2388:48:12",
"nodeType": "YulFunctionCall",
"src": "2388:48:12"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "2372:15:12",
"nodeType": "YulIdentifier",
"src": "2372:15:12"
},
"nativeSrc": "2372:65:12",
"nodeType": "YulFunctionCall",
"src": "2372:65:12"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "2363:5:12",
"nodeType": "YulIdentifier",
"src": "2363:5:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "2453:5:12",
"nodeType": "YulIdentifier",
"src": "2453:5:12"
},
{
"name": "length",
"nativeSrc": "2460:6:12",
"nodeType": "YulIdentifier",
"src": "2460:6:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2446:6:12",
"nodeType": "YulIdentifier",
"src": "2446:6:12"
},
"nativeSrc": "2446:21:12",
"nodeType": "YulFunctionCall",
"src": "2446:21:12"
},
"nativeSrc": "2446:21:12",
"nodeType": "YulExpressionStatement",
"src": "2446:21:12"
},
{
"nativeSrc": "2476:27:12",
"nodeType": "YulVariableDeclaration",
"src": "2476:27:12",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2491:5:12",
"nodeType": "YulIdentifier",
"src": "2491:5:12"
},
{
"kind": "number",
"nativeSrc": "2498:4:12",
"nodeType": "YulLiteral",
"src": "2498:4:12",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2487:3:12",
"nodeType": "YulIdentifier",
"src": "2487:3:12"
},
"nativeSrc": "2487:16:12",
"nodeType": "YulFunctionCall",
"src": "2487:16:12"
},
"variables": [
{
"name": "dst",
"nativeSrc": "2480:3:12",
"nodeType": "YulTypedName",
"src": "2480:3:12",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2541:83:12",
"nodeType": "YulBlock",
"src": "2541:83:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "2543:77:12",
"nodeType": "YulIdentifier",
"src": "2543:77:12"
},
"nativeSrc": "2543:79:12",
"nodeType": "YulFunctionCall",
"src": "2543:79:12"
},
"nativeSrc": "2543:79:12",
"nodeType": "YulExpressionStatement",
"src": "2543:79:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2522:3:12",
"nodeType": "YulIdentifier",
"src": "2522:3:12"
},
{
"name": "length",
"nativeSrc": "2527:6:12",
"nodeType": "YulIdentifier",
"src": "2527:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2518:3:12",
"nodeType": "YulIdentifier",
"src": "2518:3:12"
},
"nativeSrc": "2518:16:12",
"nodeType": "YulFunctionCall",
"src": "2518:16:12"
},
{
"name": "end",
"nativeSrc": "2536:3:12",
"nodeType": "YulIdentifier",
"src": "2536:3:12"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2515:2:12",
"nodeType": "YulIdentifier",
"src": "2515:2:12"
},
"nativeSrc": "2515:25:12",
"nodeType": "YulFunctionCall",
"src": "2515:25:12"
},
"nativeSrc": "2512:112:12",
"nodeType": "YulIf",
"src": "2512:112:12"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "2670:3:12",
"nodeType": "YulIdentifier",
"src": "2670:3:12"
},
{
"name": "dst",
"nativeSrc": "2675:3:12",
"nodeType": "YulIdentifier",
"src": "2675:3:12"
},
{
"name": "length",
"nativeSrc": "2680:6:12",
"nodeType": "YulIdentifier",
"src": "2680:6:12"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2633:36:12",
"nodeType": "YulIdentifier",
"src": "2633:36:12"
},
"nativeSrc": "2633:54:12",
"nodeType": "YulFunctionCall",
"src": "2633:54:12"
},
"nativeSrc": "2633:54:12",
"nodeType": "YulExpressionStatement",
"src": "2633:54:12"
}
]
},
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nativeSrc": "2270:423:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2326:3:12",
"nodeType": "YulTypedName",
"src": "2326:3:12",
"type": ""
},
{
"name": "length",
"nativeSrc": "2331:6:12",
"nodeType": "YulTypedName",
"src": "2331:6:12",
"type": ""
},
{
"name": "end",
"nativeSrc": "2339:3:12",
"nodeType": "YulTypedName",
"src": "2339:3:12",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2347:5:12",
"nodeType": "YulTypedName",
"src": "2347:5:12",
"type": ""
}
],
"src": "2270:423:12"
},
{
"body": {
"nativeSrc": "2773:277:12",
"nodeType": "YulBlock",
"src": "2773:277:12",
"statements": [
{
"body": {
"nativeSrc": "2822:83:12",
"nodeType": "YulBlock",
"src": "2822:83:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "2824:77:12",
"nodeType": "YulIdentifier",
"src": "2824:77:12"
},
"nativeSrc": "2824:79:12",
"nodeType": "YulFunctionCall",
"src": "2824:79:12"
},
"nativeSrc": "2824:79:12",
"nodeType": "YulExpressionStatement",
"src": "2824:79:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "2801:6:12",
"nodeType": "YulIdentifier",
"src": "2801:6:12"
},
{
"kind": "number",
"nativeSrc": "2809:4:12",
"nodeType": "YulLiteral",
"src": "2809:4:12",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2797:3:12",
"nodeType": "YulIdentifier",
"src": "2797:3:12"
},
"nativeSrc": "2797:17:12",
"nodeType": "YulFunctionCall",
"src": "2797:17:12"
},
{
"name": "end",
"nativeSrc": "2816:3:12",
"nodeType": "YulIdentifier",
"src": "2816:3:12"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2793:3:12",
"nodeType": "YulIdentifier",
"src": "2793:3:12"
},
"nativeSrc": "2793:27:12",
"nodeType": "YulFunctionCall",
"src": "2793:27:12"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2786:6:12",
"nodeType": "YulIdentifier",
"src": "2786:6:12"
},
"nativeSrc": "2786:35:12",
"nodeType": "YulFunctionCall",
"src": "2786:35:12"
},
"nativeSrc": "2783:122:12",
"nodeType": "YulIf",
"src": "2783:122:12"
},
{
"nativeSrc": "2914:34:12",
"nodeType": "YulVariableDeclaration",
"src": "2914:34:12",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2941:6:12",
"nodeType": "YulIdentifier",
"src": "2941:6:12"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2928:12:12",
"nodeType": "YulIdentifier",
"src": "2928:12:12"
},
"nativeSrc": "2928:20:12",
"nodeType": "YulFunctionCall",
"src": "2928:20:12"
},
"variables": [
{
"name": "length",
"nativeSrc": "2918:6:12",
"nodeType": "YulTypedName",
"src": "2918:6:12",
"type": ""
}
]
},
{
"nativeSrc": "2957:87:12",
"nodeType": "YulAssignment",
"src": "2957:87:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "3017:6:12",
"nodeType": "YulIdentifier",
"src": "3017:6:12"
},
{
"kind": "number",
"nativeSrc": "3025:4:12",
"nodeType": "YulLiteral",
"src": "3025:4:12",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3013:3:12",
"nodeType": "YulIdentifier",
"src": "3013:3:12"
},
"nativeSrc": "3013:17:12",
"nodeType": "YulFunctionCall",
"src": "3013:17:12"
},
{
"name": "length",
"nativeSrc": "3032:6:12",
"nodeType": "YulIdentifier",
"src": "3032:6:12"
},
{
"name": "end",
"nativeSrc": "3040:3:12",
"nodeType": "YulIdentifier",
"src": "3040:3:12"
}
],
"functionName": {
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nativeSrc": "2966:46:12",
"nodeType": "YulIdentifier",
"src": "2966:46:12"
},
"nativeSrc": "2966:78:12",
"nodeType": "YulFunctionCall",
"src": "2966:78:12"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "2957:5:12",
"nodeType": "YulIdentifier",
"src": "2957:5:12"
}
]
}
]
},
"name": "abi_decode_t_bytes_memory_ptr",
"nativeSrc": "2712:338:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2751:6:12",
"nodeType": "YulTypedName",
"src": "2751:6:12",
"type": ""
},
{
"name": "end",
"nativeSrc": "2759:3:12",
"nodeType": "YulTypedName",
"src": "2759:3:12",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2767:5:12",
"nodeType": "YulTypedName",
"src": "2767:5:12",
"type": ""
}
],
"src": "2712:338:12"
},
{
"body": {
"nativeSrc": "3148:560:12",
"nodeType": "YulBlock",
"src": "3148:560:12",
"statements": [
{
"body": {
"nativeSrc": "3194:83:12",
"nodeType": "YulBlock",
"src": "3194:83:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3196:77:12",
"nodeType": "YulIdentifier",
"src": "3196:77:12"
},
"nativeSrc": "3196:79:12",
"nodeType": "YulFunctionCall",
"src": "3196:79:12"
},
"nativeSrc": "3196:79:12",
"nodeType": "YulExpressionStatement",
"src": "3196:79:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3169:7:12",
"nodeType": "YulIdentifier",
"src": "3169:7:12"
},
{
"name": "headStart",
"nativeSrc": "3178:9:12",
"nodeType": "YulIdentifier",
"src": "3178:9:12"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3165:3:12",
"nodeType": "YulIdentifier",
"src": "3165:3:12"
},
"nativeSrc": "3165:23:12",
"nodeType": "YulFunctionCall",
"src": "3165:23:12"
},
{
"kind": "number",
"nativeSrc": "3190:2:12",
"nodeType": "YulLiteral",
"src": "3190:2:12",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3161:3:12",
"nodeType": "YulIdentifier",
"src": "3161:3:12"
},
"nativeSrc": "3161:32:12",
"nodeType": "YulFunctionCall",
"src": "3161:32:12"
},
"nativeSrc": "3158:119:12",
"nodeType": "YulIf",
"src": "3158:119:12"
},
{
"nativeSrc": "3287:117:12",
"nodeType": "YulBlock",
"src": "3287:117:12",
"statements": [
{
"nativeSrc": "3302:15:12",
"nodeType": "YulVariableDeclaration",
"src": "3302:15:12",
"value": {
"kind": "number",
"nativeSrc": "3316:1:12",
"nodeType": "YulLiteral",
"src": "3316:1:12",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3306:6:12",
"nodeType": "YulTypedName",
"src": "3306:6:12",
"type": ""
}
]
},
{
"nativeSrc": "3331:63:12",
"nodeType": "YulAssignment",
"src": "3331:63:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3366:9:12",
"nodeType": "YulIdentifier",
"src": "3366:9:12"
},
{
"name": "offset",
"nativeSrc": "3377:6:12",
"nodeType": "YulIdentifier",
"src": "3377:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3362:3:12",
"nodeType": "YulIdentifier",
"src": "3362:3:12"
},
"nativeSrc": "3362:22:12",
"nodeType": "YulFunctionCall",
"src": "3362:22:12"
},
{
"name": "dataEnd",
"nativeSrc": "3386:7:12",
"nodeType": "YulIdentifier",
"src": "3386:7:12"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "3341:20:12",
"nodeType": "YulIdentifier",
"src": "3341:20:12"
},
"nativeSrc": "3341:53:12",
"nodeType": "YulFunctionCall",
"src": "3341:53:12"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3331:6:12",
"nodeType": "YulIdentifier",
"src": "3331:6:12"
}
]
}
]
},
{
"nativeSrc": "3414:287:12",
"nodeType": "YulBlock",
"src": "3414:287:12",
"statements": [
{
"nativeSrc": "3429:46:12",
"nodeType": "YulVariableDeclaration",
"src": "3429:46:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3460:9:12",
"nodeType": "YulIdentifier",
"src": "3460:9:12"
},
{
"kind": "number",
"nativeSrc": "3471:2:12",
"nodeType": "YulLiteral",
"src": "3471:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3456:3:12",
"nodeType": "YulIdentifier",
"src": "3456:3:12"
},
"nativeSrc": "3456:18:12",
"nodeType": "YulFunctionCall",
"src": "3456:18:12"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "3443:12:12",
"nodeType": "YulIdentifier",
"src": "3443:12:12"
},
"nativeSrc": "3443:32:12",
"nodeType": "YulFunctionCall",
"src": "3443:32:12"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3433:6:12",
"nodeType": "YulTypedName",
"src": "3433:6:12",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3522:83:12",
"nodeType": "YulBlock",
"src": "3522:83:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "3524:77:12",
"nodeType": "YulIdentifier",
"src": "3524:77:12"
},
"nativeSrc": "3524:79:12",
"nodeType": "YulFunctionCall",
"src": "3524:79:12"
},
"nativeSrc": "3524:79:12",
"nodeType": "YulExpressionStatement",
"src": "3524:79:12"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3494:6:12",
"nodeType": "YulIdentifier",
"src": "3494:6:12"
},
{
"kind": "number",
"nativeSrc": "3502:18:12",
"nodeType": "YulLiteral",
"src": "3502:18:12",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "3491:2:12",
"nodeType": "YulIdentifier",
"src": "3491:2:12"
},
"nativeSrc": "3491:30:12",
"nodeType": "YulFunctionCall",
"src": "3491:30:12"
},
"nativeSrc": "3488:117:12",
"nodeType": "YulIf",
"src": "3488:117:12"
},
{
"nativeSrc": "3619:72:12",
"nodeType": "YulAssignment",
"src": "3619:72:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3663:9:12",
"nodeType": "YulIdentifier",
"src": "3663:9:12"
},
{
"name": "offset",
"nativeSrc": "3674:6:12",
"nodeType": "YulIdentifier",
"src": "3674:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3659:3:12",
"nodeType": "YulIdentifier",
"src": "3659:3:12"
},
"nativeSrc": "3659:22:12",
"nodeType": "YulFunctionCall",
"src": "3659:22:12"
},
{
"name": "dataEnd",
"nativeSrc": "3683:7:12",
"nodeType": "YulIdentifier",
"src": "3683:7:12"
}
],
"functionName": {
"name": "abi_decode_t_bytes_memory_ptr",
"nativeSrc": "3629:29:12",
"nodeType": "YulIdentifier",
"src": "3629:29:12"
},
"nativeSrc": "3629:62:12",
"nodeType": "YulFunctionCall",
"src": "3629:62:12"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "3619:6:12",
"nodeType": "YulIdentifier",
"src": "3619:6:12"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_bytes_memory_ptr",
"nativeSrc": "3056:652:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3110:9:12",
"nodeType": "YulTypedName",
"src": "3110:9:12",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3121:7:12",
"nodeType": "YulTypedName",
"src": "3121:7:12",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3133:6:12",
"nodeType": "YulTypedName",
"src": "3133:6:12",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3141:6:12",
"nodeType": "YulTypedName",
"src": "3141:6:12",
"type": ""
}
],
"src": "3056:652:12"
},
{
"body": {
"nativeSrc": "3759:32:12",
"nodeType": "YulBlock",
"src": "3759:32:12",
"statements": [
{
"nativeSrc": "3769:16:12",
"nodeType": "YulAssignment",
"src": "3769:16:12",
"value": {
"name": "value",
"nativeSrc": "3780:5:12",
"nodeType": "YulIdentifier",
"src": "3780:5:12"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3769:7:12",
"nodeType": "YulIdentifier",
"src": "3769:7:12"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nativeSrc": "3714:77:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3741:5:12",
"nodeType": "YulTypedName",
"src": "3741:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3751:7:12",
"nodeType": "YulTypedName",
"src": "3751:7:12",
"type": ""
}
],
"src": "3714:77:12"
},
{
"body": {
"nativeSrc": "3862:53:12",
"nodeType": "YulBlock",
"src": "3862:53:12",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3879:3:12",
"nodeType": "YulIdentifier",
"src": "3879:3:12"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3902:5:12",
"nodeType": "YulIdentifier",
"src": "3902:5:12"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "3884:17:12",
"nodeType": "YulIdentifier",
"src": "3884:17:12"
},
"nativeSrc": "3884:24:12",
"nodeType": "YulFunctionCall",
"src": "3884:24:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3872:6:12",
"nodeType": "YulIdentifier",
"src": "3872:6:12"
},
"nativeSrc": "3872:37:12",
"nodeType": "YulFunctionCall",
"src": "3872:37:12"
},
"nativeSrc": "3872:37:12",
"nodeType": "YulExpressionStatement",
"src": "3872:37:12"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "3797:118:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3850:5:12",
"nodeType": "YulTypedName",
"src": "3850:5:12",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3857:3:12",
"nodeType": "YulTypedName",
"src": "3857:3:12",
"type": ""
}
],
"src": "3797:118:12"
},
{
"body": {
"nativeSrc": "4019:124:12",
"nodeType": "YulBlock",
"src": "4019:124:12",
"statements": [
{
"nativeSrc": "4029:26:12",
"nodeType": "YulAssignment",
"src": "4029:26:12",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4041:9:12",
"nodeType": "YulIdentifier",
"src": "4041:9:12"
},
{
"kind": "number",
"nativeSrc": "4052:2:12",
"nodeType": "YulLiteral",
"src": "4052:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4037:3:12",
"nodeType": "YulIdentifier",
"src": "4037:3:12"
},
"nativeSrc": "4037:18:12",
"nodeType": "YulFunctionCall",
"src": "4037:18:12"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "4029:4:12",
"nodeType": "YulIdentifier",
"src": "4029:4:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4109:6:12",
"nodeType": "YulIdentifier",
"src": "4109:6:12"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4122:9:12",
"nodeType": "YulIdentifier",
"src": "4122:9:12"
},
{
"kind": "number",
"nativeSrc": "4133:1:12",
"nodeType": "YulLiteral",
"src": "4133:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4118:3:12",
"nodeType": "YulIdentifier",
"src": "4118:3:12"
},
"nativeSrc": "4118:17:12",
"nodeType": "YulFunctionCall",
"src": "4118:17:12"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "4065:43:12",
"nodeType": "YulIdentifier",
"src": "4065:43:12"
},
"nativeSrc": "4065:71:12",
"nodeType": "YulFunctionCall",
"src": "4065:71:12"
},
"nativeSrc": "4065:71:12",
"nodeType": "YulExpressionStatement",
"src": "4065:71:12"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nativeSrc": "3921:222:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3991:9:12",
"nodeType": "YulTypedName",
"src": "3991:9:12",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4003:6:12",
"nodeType": "YulTypedName",
"src": "4003:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "4014:4:12",
"nodeType": "YulTypedName",
"src": "4014:4:12",
"type": ""
}
],
"src": "3921:222:12"
},
{
"body": {
"nativeSrc": "4214:53:12",
"nodeType": "YulBlock",
"src": "4214:53:12",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4231:3:12",
"nodeType": "YulIdentifier",
"src": "4231:3:12"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4254:5:12",
"nodeType": "YulIdentifier",
"src": "4254:5:12"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "4236:17:12",
"nodeType": "YulIdentifier",
"src": "4236:17:12"
},
"nativeSrc": "4236:24:12",
"nodeType": "YulFunctionCall",
"src": "4236:24:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4224:6:12",
"nodeType": "YulIdentifier",
"src": "4224:6:12"
},
"nativeSrc": "4224:37:12",
"nodeType": "YulFunctionCall",
"src": "4224:37:12"
},
"nativeSrc": "4224:37:12",
"nodeType": "YulExpressionStatement",
"src": "4224:37:12"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "4149:118:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4202:5:12",
"nodeType": "YulTypedName",
"src": "4202:5:12",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4209:3:12",
"nodeType": "YulTypedName",
"src": "4209:3:12",
"type": ""
}
],
"src": "4149:118:12"
},
{
"body": {
"nativeSrc": "4371:124:12",
"nodeType": "YulBlock",
"src": "4371:124:12",
"statements": [
{
"nativeSrc": "4381:26:12",
"nodeType": "YulAssignment",
"src": "4381:26:12",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4393:9:12",
"nodeType": "YulIdentifier",
"src": "4393:9:12"
},
{
"kind": "number",
"nativeSrc": "4404:2:12",
"nodeType": "YulLiteral",
"src": "4404:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4389:3:12",
"nodeType": "YulIdentifier",
"src": "4389:3:12"
},
"nativeSrc": "4389:18:12",
"nodeType": "YulFunctionCall",
"src": "4389:18:12"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "4381:4:12",
"nodeType": "YulIdentifier",
"src": "4381:4:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4461:6:12",
"nodeType": "YulIdentifier",
"src": "4461:6:12"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4474:9:12",
"nodeType": "YulIdentifier",
"src": "4474:9:12"
},
{
"kind": "number",
"nativeSrc": "4485:1:12",
"nodeType": "YulLiteral",
"src": "4485:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4470:3:12",
"nodeType": "YulIdentifier",
"src": "4470:3:12"
},
"nativeSrc": "4470:17:12",
"nodeType": "YulFunctionCall",
"src": "4470:17:12"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "4417:43:12",
"nodeType": "YulIdentifier",
"src": "4417:43:12"
},
"nativeSrc": "4417:71:12",
"nodeType": "YulFunctionCall",
"src": "4417:71:12"
},
"nativeSrc": "4417:71:12",
"nodeType": "YulExpressionStatement",
"src": "4417:71:12"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "4273:222:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4343:9:12",
"nodeType": "YulTypedName",
"src": "4343:9:12",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4355:6:12",
"nodeType": "YulTypedName",
"src": "4355:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "4366:4:12",
"nodeType": "YulTypedName",
"src": "4366:4:12",
"type": ""
}
],
"src": "4273:222:12"
},
{
"body": {
"nativeSrc": "4560:40:12",
"nodeType": "YulBlock",
"src": "4560:40:12",
"statements": [
{
"nativeSrc": "4571:22:12",
"nodeType": "YulAssignment",
"src": "4571:22:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4587:5:12",
"nodeType": "YulIdentifier",
"src": "4587:5:12"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4581:5:12",
"nodeType": "YulIdentifier",
"src": "4581:5:12"
},
"nativeSrc": "4581:12:12",
"nodeType": "YulFunctionCall",
"src": "4581:12:12"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "4571:6:12",
"nodeType": "YulIdentifier",
"src": "4571:6:12"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "4501:99:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4543:5:12",
"nodeType": "YulTypedName",
"src": "4543:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "4553:6:12",
"nodeType": "YulTypedName",
"src": "4553:6:12",
"type": ""
}
],
"src": "4501:99:12"
},
{
"body": {
"nativeSrc": "4702:73:12",
"nodeType": "YulBlock",
"src": "4702:73:12",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4719:3:12",
"nodeType": "YulIdentifier",
"src": "4719:3:12"
},
{
"name": "length",
"nativeSrc": "4724:6:12",
"nodeType": "YulIdentifier",
"src": "4724:6:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4712:6:12",
"nodeType": "YulIdentifier",
"src": "4712:6:12"
},
"nativeSrc": "4712:19:12",
"nodeType": "YulFunctionCall",
"src": "4712:19:12"
},
"nativeSrc": "4712:19:12",
"nodeType": "YulExpressionStatement",
"src": "4712:19:12"
},
{
"nativeSrc": "4740:29:12",
"nodeType": "YulAssignment",
"src": "4740:29:12",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4759:3:12",
"nodeType": "YulIdentifier",
"src": "4759:3:12"
},
{
"kind": "number",
"nativeSrc": "4764:4:12",
"nodeType": "YulLiteral",
"src": "4764:4:12",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4755:3:12",
"nodeType": "YulIdentifier",
"src": "4755:3:12"
},
"nativeSrc": "4755:14:12",
"nodeType": "YulFunctionCall",
"src": "4755:14:12"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "4740:11:12",
"nodeType": "YulIdentifier",
"src": "4740:11:12"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "4606:169:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4674:3:12",
"nodeType": "YulTypedName",
"src": "4674:3:12",
"type": ""
},
{
"name": "length",
"nativeSrc": "4679:6:12",
"nodeType": "YulTypedName",
"src": "4679:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "4690:11:12",
"nodeType": "YulTypedName",
"src": "4690:11:12",
"type": ""
}
],
"src": "4606:169:12"
},
{
"body": {
"nativeSrc": "4843:77:12",
"nodeType": "YulBlock",
"src": "4843:77:12",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "4860:3:12",
"nodeType": "YulIdentifier",
"src": "4860:3:12"
},
{
"name": "src",
"nativeSrc": "4865:3:12",
"nodeType": "YulIdentifier",
"src": "4865:3:12"
},
{
"name": "length",
"nativeSrc": "4870:6:12",
"nodeType": "YulIdentifier",
"src": "4870:6:12"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "4854:5:12",
"nodeType": "YulIdentifier",
"src": "4854:5:12"
},
"nativeSrc": "4854:23:12",
"nodeType": "YulFunctionCall",
"src": "4854:23:12"
},
"nativeSrc": "4854:23:12",
"nodeType": "YulExpressionStatement",
"src": "4854:23:12"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "4897:3:12",
"nodeType": "YulIdentifier",
"src": "4897:3:12"
},
{
"name": "length",
"nativeSrc": "4902:6:12",
"nodeType": "YulIdentifier",
"src": "4902:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4893:3:12",
"nodeType": "YulIdentifier",
"src": "4893:3:12"
},
"nativeSrc": "4893:16:12",
"nodeType": "YulFunctionCall",
"src": "4893:16:12"
},
{
"kind": "number",
"nativeSrc": "4911:1:12",
"nodeType": "YulLiteral",
"src": "4911:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4886:6:12",
"nodeType": "YulIdentifier",
"src": "4886:6:12"
},
"nativeSrc": "4886:27:12",
"nodeType": "YulFunctionCall",
"src": "4886:27:12"
},
"nativeSrc": "4886:27:12",
"nodeType": "YulExpressionStatement",
"src": "4886:27:12"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "4781:139:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "4825:3:12",
"nodeType": "YulTypedName",
"src": "4825:3:12",
"type": ""
},
{
"name": "dst",
"nativeSrc": "4830:3:12",
"nodeType": "YulTypedName",
"src": "4830:3:12",
"type": ""
},
{
"name": "length",
"nativeSrc": "4835:6:12",
"nodeType": "YulTypedName",
"src": "4835:6:12",
"type": ""
}
],
"src": "4781:139:12"
},
{
"body": {
"nativeSrc": "5018:285:12",
"nodeType": "YulBlock",
"src": "5018:285:12",
"statements": [
{
"nativeSrc": "5028:53:12",
"nodeType": "YulVariableDeclaration",
"src": "5028:53:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5075:5:12",
"nodeType": "YulIdentifier",
"src": "5075:5:12"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "5042:32:12",
"nodeType": "YulIdentifier",
"src": "5042:32:12"
},
"nativeSrc": "5042:39:12",
"nodeType": "YulFunctionCall",
"src": "5042:39:12"
},
"variables": [
{
"name": "length",
"nativeSrc": "5032:6:12",
"nodeType": "YulTypedName",
"src": "5032:6:12",
"type": ""
}
]
},
{
"nativeSrc": "5090:78:12",
"nodeType": "YulAssignment",
"src": "5090:78:12",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5156:3:12",
"nodeType": "YulIdentifier",
"src": "5156:3:12"
},
{
"name": "length",
"nativeSrc": "5161:6:12",
"nodeType": "YulIdentifier",
"src": "5161:6:12"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "5097:58:12",
"nodeType": "YulIdentifier",
"src": "5097:58:12"
},
"nativeSrc": "5097:71:12",
"nodeType": "YulFunctionCall",
"src": "5097:71:12"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "5090:3:12",
"nodeType": "YulIdentifier",
"src": "5090:3:12"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5216:5:12",
"nodeType": "YulIdentifier",
"src": "5216:5:12"
},
{
"kind": "number",
"nativeSrc": "5223:4:12",
"nodeType": "YulLiteral",
"src": "5223:4:12",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5212:3:12",
"nodeType": "YulIdentifier",
"src": "5212:3:12"
},
"nativeSrc": "5212:16:12",
"nodeType": "YulFunctionCall",
"src": "5212:16:12"
},
{
"name": "pos",
"nativeSrc": "5230:3:12",
"nodeType": "YulIdentifier",
"src": "5230:3:12"
},
{
"name": "length",
"nativeSrc": "5235:6:12",
"nodeType": "YulIdentifier",
"src": "5235:6:12"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "5177:34:12",
"nodeType": "YulIdentifier",
"src": "5177:34:12"
},
"nativeSrc": "5177:65:12",
"nodeType": "YulFunctionCall",
"src": "5177:65:12"
},
"nativeSrc": "5177:65:12",
"nodeType": "YulExpressionStatement",
"src": "5177:65:12"
},
{
"nativeSrc": "5251:46:12",
"nodeType": "YulAssignment",
"src": "5251:46:12",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5262:3:12",
"nodeType": "YulIdentifier",
"src": "5262:3:12"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "5289:6:12",
"nodeType": "YulIdentifier",
"src": "5289:6:12"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "5267:21:12",
"nodeType": "YulIdentifier",
"src": "5267:21:12"
},
"nativeSrc": "5267:29:12",
"nodeType": "YulFunctionCall",
"src": "5267:29:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5258:3:12",
"nodeType": "YulIdentifier",
"src": "5258:3:12"
},
"nativeSrc": "5258:39:12",
"nodeType": "YulFunctionCall",
"src": "5258:39:12"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "5251:3:12",
"nodeType": "YulIdentifier",
"src": "5251:3:12"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "4926:377:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4999:5:12",
"nodeType": "YulTypedName",
"src": "4999:5:12",
"type": ""
},
{
"name": "pos",
"nativeSrc": "5006:3:12",
"nodeType": "YulTypedName",
"src": "5006:3:12",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "5014:3:12",
"nodeType": "YulTypedName",
"src": "5014:3:12",
"type": ""
}
],
"src": "4926:377:12"
},
{
"body": {
"nativeSrc": "5427:195:12",
"nodeType": "YulBlock",
"src": "5427:195:12",
"statements": [
{
"nativeSrc": "5437:26:12",
"nodeType": "YulAssignment",
"src": "5437:26:12",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "5449:9:12",
"nodeType": "YulIdentifier",
"src": "5449:9:12"
},
{
"kind": "number",
"nativeSrc": "5460:2:12",
"nodeType": "YulLiteral",
"src": "5460:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5445:3:12",
"nodeType": "YulIdentifier",
"src": "5445:3:12"
},
"nativeSrc": "5445:18:12",
"nodeType": "YulFunctionCall",
"src": "5445:18:12"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5437:4:12",
"nodeType": "YulIdentifier",
"src": "5437:4:12"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5484:9:12",
"nodeType": "YulIdentifier",
"src": "5484:9:12"
},
{
"kind": "number",
"nativeSrc": "5495:1:12",
"nodeType": "YulLiteral",
"src": "5495:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5480:3:12",
"nodeType": "YulIdentifier",
"src": "5480:3:12"
},
"nativeSrc": "5480:17:12",
"nodeType": "YulFunctionCall",
"src": "5480:17:12"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "5503:4:12",
"nodeType": "YulIdentifier",
"src": "5503:4:12"
},
{
"name": "headStart",
"nativeSrc": "5509:9:12",
"nodeType": "YulIdentifier",
"src": "5509:9:12"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5499:3:12",
"nodeType": "YulIdentifier",
"src": "5499:3:12"
},
"nativeSrc": "5499:20:12",
"nodeType": "YulFunctionCall",
"src": "5499:20:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5473:6:12",
"nodeType": "YulIdentifier",
"src": "5473:6:12"
},
"nativeSrc": "5473:47:12",
"nodeType": "YulFunctionCall",
"src": "5473:47:12"
},
"nativeSrc": "5473:47:12",
"nodeType": "YulExpressionStatement",
"src": "5473:47:12"
},
{
"nativeSrc": "5529:86:12",
"nodeType": "YulAssignment",
"src": "5529:86:12",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "5601:6:12",
"nodeType": "YulIdentifier",
"src": "5601:6:12"
},
{
"name": "tail",
"nativeSrc": "5610:4:12",
"nodeType": "YulIdentifier",
"src": "5610:4:12"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "5537:63:12",
"nodeType": "YulIdentifier",
"src": "5537:63:12"
},
"nativeSrc": "5537:78:12",
"nodeType": "YulFunctionCall",
"src": "5537:78:12"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5529:4:12",
"nodeType": "YulIdentifier",
"src": "5529:4:12"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "5309:313:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5399:9:12",
"nodeType": "YulTypedName",
"src": "5399:9:12",
"type": ""
},
{
"name": "value0",
"nativeSrc": "5411:6:12",
"nodeType": "YulTypedName",
"src": "5411:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "5422:4:12",
"nodeType": "YulTypedName",
"src": "5422:4:12",
"type": ""
}
],
"src": "5309:313:12"
},
{
"body": {
"nativeSrc": "5694:263:12",
"nodeType": "YulBlock",
"src": "5694:263:12",
"statements": [
{
"body": {
"nativeSrc": "5740:83:12",
"nodeType": "YulBlock",
"src": "5740:83:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5742:77:12",
"nodeType": "YulIdentifier",
"src": "5742:77:12"
},
"nativeSrc": "5742:79:12",
"nodeType": "YulFunctionCall",
"src": "5742:79:12"
},
"nativeSrc": "5742:79:12",
"nodeType": "YulExpressionStatement",
"src": "5742:79:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "5715:7:12",
"nodeType": "YulIdentifier",
"src": "5715:7:12"
},
{
"name": "headStart",
"nativeSrc": "5724:9:12",
"nodeType": "YulIdentifier",
"src": "5724:9:12"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5711:3:12",
"nodeType": "YulIdentifier",
"src": "5711:3:12"
},
"nativeSrc": "5711:23:12",
"nodeType": "YulFunctionCall",
"src": "5711:23:12"
},
{
"kind": "number",
"nativeSrc": "5736:2:12",
"nodeType": "YulLiteral",
"src": "5736:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "5707:3:12",
"nodeType": "YulIdentifier",
"src": "5707:3:12"
},
"nativeSrc": "5707:32:12",
"nodeType": "YulFunctionCall",
"src": "5707:32:12"
},
"nativeSrc": "5704:119:12",
"nodeType": "YulIf",
"src": "5704:119:12"
},
{
"nativeSrc": "5833:117:12",
"nodeType": "YulBlock",
"src": "5833:117:12",
"statements": [
{
"nativeSrc": "5848:15:12",
"nodeType": "YulVariableDeclaration",
"src": "5848:15:12",
"value": {
"kind": "number",
"nativeSrc": "5862:1:12",
"nodeType": "YulLiteral",
"src": "5862:1:12",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5852:6:12",
"nodeType": "YulTypedName",
"src": "5852:6:12",
"type": ""
}
]
},
{
"nativeSrc": "5877:63:12",
"nodeType": "YulAssignment",
"src": "5877:63:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5912:9:12",
"nodeType": "YulIdentifier",
"src": "5912:9:12"
},
{
"name": "offset",
"nativeSrc": "5923:6:12",
"nodeType": "YulIdentifier",
"src": "5923:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5908:3:12",
"nodeType": "YulIdentifier",
"src": "5908:3:12"
},
"nativeSrc": "5908:22:12",
"nodeType": "YulFunctionCall",
"src": "5908:22:12"
},
{
"name": "dataEnd",
"nativeSrc": "5932:7:12",
"nodeType": "YulIdentifier",
"src": "5932:7:12"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5887:20:12",
"nodeType": "YulIdentifier",
"src": "5887:20:12"
},
"nativeSrc": "5887:53:12",
"nodeType": "YulFunctionCall",
"src": "5887:53:12"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5877:6:12",
"nodeType": "YulIdentifier",
"src": "5877:6:12"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "5628:329:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5664:9:12",
"nodeType": "YulTypedName",
"src": "5664:9:12",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "5675:7:12",
"nodeType": "YulTypedName",
"src": "5675:7:12",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "5687:6:12",
"nodeType": "YulTypedName",
"src": "5687:6:12",
"type": ""
}
],
"src": "5628:329:12"
},
{
"body": {
"nativeSrc": "6016:32:12",
"nodeType": "YulBlock",
"src": "6016:32:12",
"statements": [
{
"nativeSrc": "6026:16:12",
"nodeType": "YulAssignment",
"src": "6026:16:12",
"value": {
"name": "value",
"nativeSrc": "6037:5:12",
"nodeType": "YulIdentifier",
"src": "6037:5:12"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "6026:7:12",
"nodeType": "YulIdentifier",
"src": "6026:7:12"
}
]
}
]
},
"name": "cleanup_t_rational_1_by_1",
"nativeSrc": "5963:85:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5998:5:12",
"nodeType": "YulTypedName",
"src": "5998:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "6008:7:12",
"nodeType": "YulTypedName",
"src": "6008:7:12",
"type": ""
}
],
"src": "5963:85:12"
},
{
"body": {
"nativeSrc": "6098:57:12",
"nodeType": "YulBlock",
"src": "6098:57:12",
"statements": [
{
"nativeSrc": "6108:41:12",
"nodeType": "YulAssignment",
"src": "6108:41:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "6123:5:12",
"nodeType": "YulIdentifier",
"src": "6123:5:12"
},
{
"kind": "number",
"nativeSrc": "6130:18:12",
"nodeType": "YulLiteral",
"src": "6130:18:12",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "6119:3:12",
"nodeType": "YulIdentifier",
"src": "6119:3:12"
},
"nativeSrc": "6119:30:12",
"nodeType": "YulFunctionCall",
"src": "6119:30:12"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "6108:7:12",
"nodeType": "YulIdentifier",
"src": "6108:7:12"
}
]
}
]
},
"name": "cleanup_t_uint64",
"nativeSrc": "6054:101:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6080:5:12",
"nodeType": "YulTypedName",
"src": "6080:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "6090:7:12",
"nodeType": "YulTypedName",
"src": "6090:7:12",
"type": ""
}
],
"src": "6054:101:12"
},
{
"body": {
"nativeSrc": "6193:28:12",
"nodeType": "YulBlock",
"src": "6193:28:12",
"statements": [
{
"nativeSrc": "6203:12:12",
"nodeType": "YulAssignment",
"src": "6203:12:12",
"value": {
"name": "value",
"nativeSrc": "6210:5:12",
"nodeType": "YulIdentifier",
"src": "6210:5:12"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "6203:3:12",
"nodeType": "YulIdentifier",
"src": "6203:3:12"
}
]
}
]
},
"name": "identity",
"nativeSrc": "6161:60:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6179:5:12",
"nodeType": "YulTypedName",
"src": "6179:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "6189:3:12",
"nodeType": "YulTypedName",
"src": "6189:3:12",
"type": ""
}
],
"src": "6161:60:12"
},
{
"body": {
"nativeSrc": "6294:89:12",
"nodeType": "YulBlock",
"src": "6294:89:12",
"statements": [
{
"nativeSrc": "6304:73:12",
"nodeType": "YulAssignment",
"src": "6304:73:12",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6369:5:12",
"nodeType": "YulIdentifier",
"src": "6369:5:12"
}
],
"functionName": {
"name": "cleanup_t_rational_1_by_1",
"nativeSrc": "6343:25:12",
"nodeType": "YulIdentifier",
"src": "6343:25:12"
},
"nativeSrc": "6343:32:12",
"nodeType": "YulFunctionCall",
"src": "6343:32:12"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "6334:8:12",
"nodeType": "YulIdentifier",
"src": "6334:8:12"
},
"nativeSrc": "6334:42:12",
"nodeType": "YulFunctionCall",
"src": "6334:42:12"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nativeSrc": "6317:16:12",
"nodeType": "YulIdentifier",
"src": "6317:16:12"
},
"nativeSrc": "6317:60:12",
"nodeType": "YulFunctionCall",
"src": "6317:60:12"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "6304:9:12",
"nodeType": "YulIdentifier",
"src": "6304:9:12"
}
]
}
]
},
"name": "convert_t_rational_1_by_1_to_t_uint64",
"nativeSrc": "6227:156:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6274:5:12",
"nodeType": "YulTypedName",
"src": "6274:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "6284:9:12",
"nodeType": "YulTypedName",
"src": "6284:9:12",
"type": ""
}
],
"src": "6227:156:12"
},
{
"body": {
"nativeSrc": "6461:73:12",
"nodeType": "YulBlock",
"src": "6461:73:12",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6478:3:12",
"nodeType": "YulIdentifier",
"src": "6478:3:12"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "6521:5:12",
"nodeType": "YulIdentifier",
"src": "6521:5:12"
}
],
"functionName": {
"name": "convert_t_rational_1_by_1_to_t_uint64",
"nativeSrc": "6483:37:12",
"nodeType": "YulIdentifier",
"src": "6483:37:12"
},
"nativeSrc": "6483:44:12",
"nodeType": "YulFunctionCall",
"src": "6483:44:12"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6471:6:12",
"nodeType": "YulIdentifier",
"src": "6471:6:12"
},
"nativeSrc": "6471:57:12",
"nodeType": "YulFunctionCall",
"src": "6471:57:12"
},
"nativeSrc": "6471:57:12",
"nodeType": "YulExpressionStatement",
"src": "6471:57:12"
}
]
},
"name": "abi_encode_t_rational_1_by_1_to_t_uint64_fromStack",
"nativeSrc": "6389:145:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6449:5:12",
"nodeType": "YulTypedName",
"src": "6449:5:12",
"type": ""
},
{
"name": "pos",
"nativeSrc": "6456:3:12",
"nodeType": "YulTypedName",
"src": "6456:3:12",
"type": ""
}
],
"src": "6389:145:12"
},
{
"body": {
"nativeSrc": "6645:131:12",
"nodeType": "YulBlock",
"src": "6645:131:12",
"statements": [
{
"nativeSrc": "6655:26:12",
"nodeType": "YulAssignment",
"src": "6655:26:12",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "6667:9:12",
"nodeType": "YulIdentifier",
"src": "6667:9:12"
},
{
"kind": "number",
"nativeSrc": "6678:2:12",
"nodeType": "YulLiteral",
"src": "6678:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6663:3:12",
"nodeType": "YulIdentifier",
"src": "6663:3:12"
},
"nativeSrc": "6663:18:12",
"nodeType": "YulFunctionCall",
"src": "6663:18:12"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6655:4:12",
"nodeType": "YulIdentifier",
"src": "6655:4:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "6742:6:12",
"nodeType": "YulIdentifier",
"src": "6742:6:12"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6755:9:12",
"nodeType": "YulIdentifier",
"src": "6755:9:12"
},
{
"kind": "number",
"nativeSrc": "6766:1:12",
"nodeType": "YulLiteral",
"src": "6766:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6751:3:12",
"nodeType": "YulIdentifier",
"src": "6751:3:12"
},
"nativeSrc": "6751:17:12",
"nodeType": "YulFunctionCall",
"src": "6751:17:12"
}
],
"functionName": {
"name": "abi_encode_t_rational_1_by_1_to_t_uint64_fromStack",
"nativeSrc": "6691:50:12",
"nodeType": "YulIdentifier",
"src": "6691:50:12"
},
"nativeSrc": "6691:78:12",
"nodeType": "YulFunctionCall",
"src": "6691:78:12"
},
"nativeSrc": "6691:78:12",
"nodeType": "YulExpressionStatement",
"src": "6691:78:12"
}
]
},
"name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed",
"nativeSrc": "6540:236:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6617:9:12",
"nodeType": "YulTypedName",
"src": "6617:9:12",
"type": ""
},
{
"name": "value0",
"nativeSrc": "6629:6:12",
"nodeType": "YulTypedName",
"src": "6629:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "6640:4:12",
"nodeType": "YulTypedName",
"src": "6640:4:12",
"type": ""
}
],
"src": "6540:236:12"
},
{
"body": {
"nativeSrc": "6825:79:12",
"nodeType": "YulBlock",
"src": "6825:79:12",
"statements": [
{
"body": {
"nativeSrc": "6882:16:12",
"nodeType": "YulBlock",
"src": "6882:16:12",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6891:1:12",
"nodeType": "YulLiteral",
"src": "6891:1:12",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6894:1:12",
"nodeType": "YulLiteral",
"src": "6894:1:12",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "6884:6:12",
"nodeType": "YulIdentifier",
"src": "6884:6:12"
},
"nativeSrc": "6884:12:12",
"nodeType": "YulFunctionCall",
"src": "6884:12:12"
},
"nativeSrc": "6884:12:12",
"nodeType": "YulExpressionStatement",
"src": "6884:12:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6848:5:12",
"nodeType": "YulIdentifier",
"src": "6848:5:12"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "6873:5:12",
"nodeType": "YulIdentifier",
"src": "6873:5:12"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "6855:17:12",
"nodeType": "YulIdentifier",
"src": "6855:17:12"
},
"nativeSrc": "6855:24:12",
"nodeType": "YulFunctionCall",
"src": "6855:24:12"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "6845:2:12",
"nodeType": "YulIdentifier",
"src": "6845:2:12"
},
"nativeSrc": "6845:35:12",
"nodeType": "YulFunctionCall",
"src": "6845:35:12"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "6838:6:12",
"nodeType": "YulIdentifier",
"src": "6838:6:12"
},
"nativeSrc": "6838:43:12",
"nodeType": "YulFunctionCall",
"src": "6838:43:12"
},
"nativeSrc": "6835:63:12",
"nodeType": "YulIf",
"src": "6835:63:12"
}
]
},
"name": "validator_revert_t_bytes32",
"nativeSrc": "6782:122:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6818:5:12",
"nodeType": "YulTypedName",
"src": "6818:5:12",
"type": ""
}
],
"src": "6782:122:12"
},
{
"body": {
"nativeSrc": "6973:80:12",
"nodeType": "YulBlock",
"src": "6973:80:12",
"statements": [
{
"nativeSrc": "6983:22:12",
"nodeType": "YulAssignment",
"src": "6983:22:12",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "6998:6:12",
"nodeType": "YulIdentifier",
"src": "6998:6:12"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "6992:5:12",
"nodeType": "YulIdentifier",
"src": "6992:5:12"
},
"nativeSrc": "6992:13:12",
"nodeType": "YulFunctionCall",
"src": "6992:13:12"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "6983:5:12",
"nodeType": "YulIdentifier",
"src": "6983:5:12"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "7041:5:12",
"nodeType": "YulIdentifier",
"src": "7041:5:12"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nativeSrc": "7014:26:12",
"nodeType": "YulIdentifier",
"src": "7014:26:12"
},
"nativeSrc": "7014:33:12",
"nodeType": "YulFunctionCall",
"src": "7014:33:12"
},
"nativeSrc": "7014:33:12",
"nodeType": "YulExpressionStatement",
"src": "7014:33:12"
}
]
},
"name": "abi_decode_t_bytes32_fromMemory",
"nativeSrc": "6910:143:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "6951:6:12",
"nodeType": "YulTypedName",
"src": "6951:6:12",
"type": ""
},
{
"name": "end",
"nativeSrc": "6959:3:12",
"nodeType": "YulTypedName",
"src": "6959:3:12",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "6967:5:12",
"nodeType": "YulTypedName",
"src": "6967:5:12",
"type": ""
}
],
"src": "6910:143:12"
},
{
"body": {
"nativeSrc": "7136:274:12",
"nodeType": "YulBlock",
"src": "7136:274:12",
"statements": [
{
"body": {
"nativeSrc": "7182:83:12",
"nodeType": "YulBlock",
"src": "7182:83:12",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "7184:77:12",
"nodeType": "YulIdentifier",
"src": "7184:77:12"
},
"nativeSrc": "7184:79:12",
"nodeType": "YulFunctionCall",
"src": "7184:79:12"
},
"nativeSrc": "7184:79:12",
"nodeType": "YulExpressionStatement",
"src": "7184:79:12"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "7157:7:12",
"nodeType": "YulIdentifier",
"src": "7157:7:12"
},
{
"name": "headStart",
"nativeSrc": "7166:9:12",
"nodeType": "YulIdentifier",
"src": "7166:9:12"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7153:3:12",
"nodeType": "YulIdentifier",
"src": "7153:3:12"
},
"nativeSrc": "7153:23:12",
"nodeType": "YulFunctionCall",
"src": "7153:23:12"
},
{
"kind": "number",
"nativeSrc": "7178:2:12",
"nodeType": "YulLiteral",
"src": "7178:2:12",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "7149:3:12",
"nodeType": "YulIdentifier",
"src": "7149:3:12"
},
"nativeSrc": "7149:32:12",
"nodeType": "YulFunctionCall",
"src": "7149:32:12"
},
"nativeSrc": "7146:119:12",
"nodeType": "YulIf",
"src": "7146:119:12"
},
{
"nativeSrc": "7275:128:12",
"nodeType": "YulBlock",
"src": "7275:128:12",
"statements": [
{
"nativeSrc": "7290:15:12",
"nodeType": "YulVariableDeclaration",
"src": "7290:15:12",
"value": {
"kind": "number",
"nativeSrc": "7304:1:12",
"nodeType": "YulLiteral",
"src": "7304:1:12",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "7294:6:12",
"nodeType": "YulTypedName",
"src": "7294:6:12",
"type": ""
}
]
},
{
"nativeSrc": "7319:74:12",
"nodeType": "YulAssignment",
"src": "7319:74:12",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7365:9:12",
"nodeType": "YulIdentifier",
"src": "7365:9:12"
},
{
"name": "offset",
"nativeSrc": "7376:6:12",
"nodeType": "YulIdentifier",
"src": "7376:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7361:3:12",
"nodeType": "YulIdentifier",
"src": "7361:3:12"
},
"nativeSrc": "7361:22:12",
"nodeType": "YulFunctionCall",
"src": "7361:22:12"
},
{
"name": "dataEnd",
"nativeSrc": "7385:7:12",
"nodeType": "YulIdentifier",
"src": "7385:7:12"
}
],
"functionName": {
"name": "abi_decode_t_bytes32_fromMemory",
"nativeSrc": "7329:31:12",
"nodeType": "YulIdentifier",
"src": "7329:31:12"
},
"nativeSrc": "7329:64:12",
"nodeType": "YulFunctionCall",
"src": "7329:64:12"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "7319:6:12",
"nodeType": "YulIdentifier",
"src": "7319:6:12"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32_fromMemory",
"nativeSrc": "7059:351:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "7106:9:12",
"nodeType": "YulTypedName",
"src": "7106:9:12",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "7117:7:12",
"nodeType": "YulTypedName",
"src": "7117:7:12",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "7129:6:12",
"nodeType": "YulTypedName",
"src": "7129:6:12",
"type": ""
}
],
"src": "7059:351:12"
},
{
"body": {
"nativeSrc": "7474:40:12",
"nodeType": "YulBlock",
"src": "7474:40:12",
"statements": [
{
"nativeSrc": "7485:22:12",
"nodeType": "YulAssignment",
"src": "7485:22:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7501:5:12",
"nodeType": "YulIdentifier",
"src": "7501:5:12"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "7495:5:12",
"nodeType": "YulIdentifier",
"src": "7495:5:12"
},
"nativeSrc": "7495:12:12",
"nodeType": "YulFunctionCall",
"src": "7495:12:12"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "7485:6:12",
"nodeType": "YulIdentifier",
"src": "7485:6:12"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "7416:98:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7457:5:12",
"nodeType": "YulTypedName",
"src": "7457:5:12",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "7467:6:12",
"nodeType": "YulTypedName",
"src": "7467:6:12",
"type": ""
}
],
"src": "7416:98:12"
},
{
"body": {
"nativeSrc": "7633:34:12",
"nodeType": "YulBlock",
"src": "7633:34:12",
"statements": [
{
"nativeSrc": "7643:18:12",
"nodeType": "YulAssignment",
"src": "7643:18:12",
"value": {
"name": "pos",
"nativeSrc": "7658:3:12",
"nodeType": "YulIdentifier",
"src": "7658:3:12"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "7643:11:12",
"nodeType": "YulIdentifier",
"src": "7643:11:12"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "7520:147:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "7605:3:12",
"nodeType": "YulTypedName",
"src": "7605:3:12",
"type": ""
},
{
"name": "length",
"nativeSrc": "7610:6:12",
"nodeType": "YulTypedName",
"src": "7610:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "7621:11:12",
"nodeType": "YulTypedName",
"src": "7621:11:12",
"type": ""
}
],
"src": "7520:147:12"
},
{
"body": {
"nativeSrc": "7781:278:12",
"nodeType": "YulBlock",
"src": "7781:278:12",
"statements": [
{
"nativeSrc": "7791:52:12",
"nodeType": "YulVariableDeclaration",
"src": "7791:52:12",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7837:5:12",
"nodeType": "YulIdentifier",
"src": "7837:5:12"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "7805:31:12",
"nodeType": "YulIdentifier",
"src": "7805:31:12"
},
"nativeSrc": "7805:38:12",
"nodeType": "YulFunctionCall",
"src": "7805:38:12"
},
"variables": [
{
"name": "length",
"nativeSrc": "7795:6:12",
"nodeType": "YulTypedName",
"src": "7795:6:12",
"type": ""
}
]
},
{
"nativeSrc": "7852:95:12",
"nodeType": "YulAssignment",
"src": "7852:95:12",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7935:3:12",
"nodeType": "YulIdentifier",
"src": "7935:3:12"
},
{
"name": "length",
"nativeSrc": "7940:6:12",
"nodeType": "YulIdentifier",
"src": "7940:6:12"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "7859:75:12",
"nodeType": "YulIdentifier",
"src": "7859:75:12"
},
"nativeSrc": "7859:88:12",
"nodeType": "YulFunctionCall",
"src": "7859:88:12"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "7852:3:12",
"nodeType": "YulIdentifier",
"src": "7852:3:12"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "7995:5:12",
"nodeType": "YulIdentifier",
"src": "7995:5:12"
},
{
"kind": "number",
"nativeSrc": "8002:4:12",
"nodeType": "YulLiteral",
"src": "8002:4:12",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7991:3:12",
"nodeType": "YulIdentifier",
"src": "7991:3:12"
},
"nativeSrc": "7991:16:12",
"nodeType": "YulFunctionCall",
"src": "7991:16:12"
},
{
"name": "pos",
"nativeSrc": "8009:3:12",
"nodeType": "YulIdentifier",
"src": "8009:3:12"
},
{
"name": "length",
"nativeSrc": "8014:6:12",
"nodeType": "YulIdentifier",
"src": "8014:6:12"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "7956:34:12",
"nodeType": "YulIdentifier",
"src": "7956:34:12"
},
"nativeSrc": "7956:65:12",
"nodeType": "YulFunctionCall",
"src": "7956:65:12"
},
"nativeSrc": "7956:65:12",
"nodeType": "YulExpressionStatement",
"src": "7956:65:12"
},
{
"nativeSrc": "8030:23:12",
"nodeType": "YulAssignment",
"src": "8030:23:12",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "8041:3:12",
"nodeType": "YulIdentifier",
"src": "8041:3:12"
},
{
"name": "length",
"nativeSrc": "8046:6:12",
"nodeType": "YulIdentifier",
"src": "8046:6:12"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8037:3:12",
"nodeType": "YulIdentifier",
"src": "8037:3:12"
},
"nativeSrc": "8037:16:12",
"nodeType": "YulFunctionCall",
"src": "8037:16:12"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "8030:3:12",
"nodeType": "YulIdentifier",
"src": "8030:3:12"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "7673:386:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7762:5:12",
"nodeType": "YulTypedName",
"src": "7762:5:12",
"type": ""
},
{
"name": "pos",
"nativeSrc": "7769:3:12",
"nodeType": "YulTypedName",
"src": "7769:3:12",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "7777:3:12",
"nodeType": "YulTypedName",
"src": "7777:3:12",
"type": ""
}
],
"src": "7673:386:12"
},
{
"body": {
"nativeSrc": "8199:137:12",
"nodeType": "YulBlock",
"src": "8199:137:12",
"statements": [
{
"nativeSrc": "8210:100:12",
"nodeType": "YulAssignment",
"src": "8210:100:12",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "8297:6:12",
"nodeType": "YulIdentifier",
"src": "8297:6:12"
},
{
"name": "pos",
"nativeSrc": "8306:3:12",
"nodeType": "YulIdentifier",
"src": "8306:3:12"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "8217:79:12",
"nodeType": "YulIdentifier",
"src": "8217:79:12"
},
"nativeSrc": "8217:93:12",
"nodeType": "YulFunctionCall",
"src": "8217:93:12"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "8210:3:12",
"nodeType": "YulIdentifier",
"src": "8210:3:12"
}
]
},
{
"nativeSrc": "8320:10:12",
"nodeType": "YulAssignment",
"src": "8320:10:12",
"value": {
"name": "pos",
"nativeSrc": "8327:3:12",
"nodeType": "YulIdentifier",
"src": "8327:3:12"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "8320:3:12",
"nodeType": "YulIdentifier",
"src": "8320:3:12"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "8065:271:12",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "8178:3:12",
"nodeType": "YulTypedName",
"src": "8178:3:12",
"type": ""
},
{
"name": "value0",
"nativeSrc": "8184:6:12",
"nodeType": "YulTypedName",
"src": "8184:6:12",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "8195:3:12",
"nodeType": "YulTypedName",
"src": "8195:3:12",
"type": ""
}
],
"src": "8065:271:12"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_rational_1_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_rational_1_by_1_to_t_uint64(value) -> converted {\n converted := cleanup_t_uint64(identity(cleanup_t_rational_1_by_1(value)))\n }\n\n function abi_encode_t_rational_1_by_1_to_t_uint64_fromStack(value, pos) {\n mstore(pos, convert_t_rational_1_by_1_to_t_uint64(value))\n }\n\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_rational_1_by_1_to_t_uint64_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n}\n",
"id": 12,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {
"468": [
{
"length": 32,
"start": 1107
},
{
"length": 32,
"start": 1192
},
{
"length": 32,
"start": 1634
}
]
},
"linkReferences": {},
"object": "60806040526004361061006f575f3560e01c80638da5cb5b1161004d5780638da5cb5b146100cf578063ad3cb1cc146100f9578063c4d66de814610123578063f2fde38b1461014b5761006f565b80634f1ef2861461007357806352d1902d1461008f578063715018a6146100b9575b5f80fd5b61008d60048036038101906100889190610e5f565b610173565b005b34801561009a575f80fd5b506100a3610192565b6040516100b09190610ed1565b60405180910390f35b3480156100c4575f80fd5b506100cd6101c3565b005b3480156100da575f80fd5b506100e36101d6565b6040516100f09190610ef9565b60405180910390f35b348015610104575f80fd5b5061010d61020b565b60405161011a9190610f72565b60405180910390f35b34801561012e575f80fd5b5061014960048036038101906101449190610f92565b610244565b005b348015610156575f80fd5b50610171600480360381019061016c9190610f92565b6103cd565b005b61017b610451565b61018482610537565b61018e8282610542565b5050565b5f61019b610660565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b905090565b6101cb6106e7565b6101d45f61076e565b565b5f806101e061083f565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b5f61024d610866565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f808267ffffffffffffffff161480156102955750825b90505f60018367ffffffffffffffff161480156102c857505f3073ffffffffffffffffffffffffffffffffffffffff163b145b9050811580156102d6575080155b1561030d576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550831561035a576001855f0160086101000a81548160ff0219169083151502179055505b6103638661088d565b61036b6108a1565b83156103c5575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d260016040516103bc9190611012565b60405180910390a15b505050505050565b6103d56106e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610445575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161043c9190610ef9565b60405180910390fd5b61044e8161076e565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614806104fe57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104e56108ab565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610535576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61053f6106e7565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156105aa57506040513d601f19601f820116820180604052508101906105a79190611055565b60015b6105eb57816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016105e29190610ef9565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b811461065157806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016106489190610ed1565b60405180910390fd5b61065b83836108fe565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16146106e5576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6106ef610970565b73ffffffffffffffffffffffffffffffffffffffff1661070d6101d6565b73ffffffffffffffffffffffffffffffffffffffff161461076c57610730610970565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107639190610ef9565b60405180910390fd5b565b5f61077761083f565b90505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082825f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b5f7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b610895610977565b61089e816109b7565b50565b6108a9610977565b565b5f6108d77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b610a3b565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61090782610a44565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f815111156109635761095d8282610b0d565b5061096c565b61096b610b8d565b5b5050565b5f33905090565b61097f610bc9565b6109b5576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6109bf610977565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a2f575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610a269190610ef9565b60405180910390fd5b610a388161076e565b50565b5f819050919050565b5f8173ffffffffffffffffffffffffffffffffffffffff163b03610a9f57806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401610a969190610ef9565b60405180910390fd5b80610acb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b610a3b565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f808473ffffffffffffffffffffffffffffffffffffffff1684604051610b3691906110c4565b5f60405180830381855af49150503d805f8114610b6e576040519150601f19603f3d011682016040523d82523d5f602084013e610b73565b606091505b5091509150610b83858383610be7565b9250505092915050565b5f341115610bc7576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f610bd2610866565b5f0160089054906101000a900460ff16905090565b606082610bfc57610bf782610c74565b610c6c565b5f8251148015610c2257505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15610c6457836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401610c5b9190610ef9565b60405180910390fd5b819050610c6d565b5b9392505050565b5f81511115610c865780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cf282610cc9565b9050919050565b610d0281610ce8565b8114610d0c575f80fd5b50565b5f81359050610d1d81610cf9565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610d7182610d2b565b810181811067ffffffffffffffff82111715610d9057610d8f610d3b565b5b80604052505050565b5f610da2610cb8565b9050610dae8282610d68565b919050565b5f67ffffffffffffffff821115610dcd57610dcc610d3b565b5b610dd682610d2b565b9050602081019050919050565b828183375f83830152505050565b5f610e03610dfe84610db3565b610d99565b905082815260208101848484011115610e1f57610e1e610d27565b5b610e2a848285610de3565b509392505050565b5f82601f830112610e4657610e45610d23565b5b8135610e56848260208601610df1565b91505092915050565b5f8060408385031215610e7557610e74610cc1565b5b5f610e8285828601610d0f565b925050602083013567ffffffffffffffff811115610ea357610ea2610cc5565b5b610eaf85828601610e32565b9150509250929050565b5f819050919050565b610ecb81610eb9565b82525050565b5f602082019050610ee45f830184610ec2565b92915050565b610ef381610ce8565b82525050565b5f602082019050610f0c5f830184610eea565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610f4482610f12565b610f4e8185610f1c565b9350610f5e818560208601610f2c565b610f6781610d2b565b840191505092915050565b5f6020820190508181035f830152610f8a8184610f3a565b905092915050565b5f60208284031215610fa757610fa6610cc1565b5b5f610fb484828501610d0f565b91505092915050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f819050919050565b5f610ffc610ff7610ff284610fbd565b610fd9565b610fc6565b9050919050565b61100c81610fe2565b82525050565b5f6020820190506110255f830184611003565b92915050565b61103481610eb9565b811461103e575f80fd5b50565b5f8151905061104f8161102b565b92915050565b5f6020828403121561106a57611069610cc1565b5b5f61107784828501611041565b91505092915050565b5f81519050919050565b5f81905092915050565b5f61109e82611080565b6110a8818561108a565b93506110b8818560208601610f2c565b80840191505092915050565b5f6110cf8284611094565b91508190509291505056fea2646970667358221220a2a1948797ec1d8b2b499ae64be5ffcf08ed1c5e895c68d3ba420e80308e01a964736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x6F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x4D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xF9 JUMPI DUP1 PUSH4 0xC4D66DE8 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x14B JUMPI PUSH2 0x6F JUMP JUMPDEST DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x8F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xB9 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x88 SWAP2 SWAP1 PUSH2 0xE5F JUMP JUMPDEST PUSH2 0x173 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x192 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB0 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xCD PUSH2 0x1C3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDA JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3 PUSH2 0x1D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x20B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0xF72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12E JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x149 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x144 SWAP2 SWAP1 PUSH2 0xF92 JUMP JUMPDEST PUSH2 0x244 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x156 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x171 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16C SWAP2 SWAP1 PUSH2 0xF92 JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x451 JUMP JUMPDEST PUSH2 0x184 DUP3 PUSH2 0x537 JUMP JUMPDEST PUSH2 0x18E DUP3 DUP3 PUSH2 0x542 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 PUSH2 0x19B PUSH2 0x660 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1CB PUSH2 0x6E7 JUMP JUMPDEST PUSH2 0x1D4 PUSH0 PUSH2 0x76E JUMP JUMPDEST JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x1E0 PUSH2 0x83F JUMP JUMPDEST SWAP1 POP DUP1 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x352E302E30000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 PUSH2 0x24D PUSH2 0x866 JUMP JUMPDEST SWAP1 POP PUSH0 DUP2 PUSH0 ADD PUSH1 0x8 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP PUSH0 DUP3 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH0 DUP1 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x295 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH0 PUSH1 0x1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x2C8 JUMPI POP PUSH0 ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE EQ JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2D6 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0xF92EE8A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 ISZERO PUSH2 0x35A JUMPI PUSH1 0x1 DUP6 PUSH0 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH2 0x363 DUP7 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x36B PUSH2 0x8A1 JUMP JUMPDEST DUP4 ISZERO PUSH2 0x3C5 JUMPI PUSH0 DUP6 PUSH0 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 PUSH1 0x1 PUSH1 0x40 MLOAD PUSH2 0x3BC SWAP2 SWAP1 PUSH2 0x1012 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3D5 PUSH2 0x6E7 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x445 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x43C SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x44E DUP2 PUSH2 0x76E JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x4FE JUMPI POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4E5 PUSH2 0x8AB JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x535 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE07C8DBA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x53F PUSH2 0x6E7 JUMP JUMPDEST POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x5AA JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5A7 SWAP2 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x5EB JUMPI DUP2 PUSH1 0x40 MLOAD PUSH32 0x4C9C8CE300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E2 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL DUP2 EQ PUSH2 0x651 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xAA1D49A400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x648 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x65B DUP4 DUP4 PUSH2 0x8FE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6E5 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE07C8DBA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x6EF PUSH2 0x970 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x70D PUSH2 0x1D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x76C JUMPI PUSH2 0x730 PUSH2 0x970 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x763 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH2 0x777 PUSH2 0x83F JUMP JUMPDEST SWAP1 POP PUSH0 DUP2 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP3 DUP3 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH0 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x895 PUSH2 0x977 JUMP JUMPDEST PUSH2 0x89E DUP2 PUSH2 0x9B7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x8A9 PUSH2 0x977 JUMP JUMPDEST JUMP JUMPDEST PUSH0 PUSH2 0x8D7 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL PUSH2 0xA3B JUMP JUMPDEST PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x907 DUP3 PUSH2 0xA44 JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH0 DUP2 MLOAD GT ISZERO PUSH2 0x963 JUMPI PUSH2 0x95D DUP3 DUP3 PUSH2 0xB0D JUMP JUMPDEST POP PUSH2 0x96C JUMP JUMPDEST PUSH2 0x96B PUSH2 0xB8D JUMP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x97F PUSH2 0xBC9 JUMP JUMPDEST PUSH2 0x9B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0xD7E6BCF800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x9BF PUSH2 0x977 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA2F JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA26 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA38 DUP2 PUSH2 0x76E JUMP JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0xA9F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0x4C9C8CE300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA96 SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0xACB PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH0 SHL PUSH2 0xA3B JUMP JUMPDEST PUSH0 ADD PUSH0 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 0x60 PUSH0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xB36 SWAP2 SWAP1 PUSH2 0x10C4 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0xB6E JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xB73 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xB83 DUP6 DUP4 DUP4 PUSH2 0xBE7 JUMP JUMPDEST SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 CALLVALUE GT ISZERO PUSH2 0xBC7 JUMPI PUSH1 0x40 MLOAD PUSH32 0xB398979F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH2 0xBD2 PUSH2 0x866 JUMP JUMPDEST PUSH0 ADD PUSH1 0x8 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0xBFC JUMPI PUSH2 0xBF7 DUP3 PUSH2 0xC74 JUMP JUMPDEST PUSH2 0xC6C JUMP JUMPDEST PUSH0 DUP3 MLOAD EQ DUP1 ISZERO PUSH2 0xC22 JUMPI POP PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE EQ JUMPDEST ISZERO PUSH2 0xC64 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH32 0x9996B31500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC5B SWAP2 SWAP1 PUSH2 0xEF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SWAP1 POP PUSH2 0xC6D JUMP JUMPDEST JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD GT ISZERO PUSH2 0xC86 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xD6BDA27500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCF2 DUP3 PUSH2 0xCC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD02 DUP2 PUSH2 0xCE8 JUMP JUMPDEST DUP2 EQ PUSH2 0xD0C JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD1D DUP2 PUSH2 0xCF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0xD71 DUP3 PUSH2 0xD2B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xD90 JUMPI PUSH2 0xD8F PUSH2 0xD3B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xDA2 PUSH2 0xCB8 JUMP JUMPDEST SWAP1 POP PUSH2 0xDAE DUP3 DUP3 PUSH2 0xD68 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDCD JUMPI PUSH2 0xDCC PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0xDD6 DUP3 PUSH2 0xD2B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE03 PUSH2 0xDFE DUP5 PUSH2 0xDB3 JUMP JUMPDEST PUSH2 0xD99 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xE1F JUMPI PUSH2 0xE1E PUSH2 0xD27 JUMP JUMPDEST JUMPDEST PUSH2 0xE2A DUP5 DUP3 DUP6 PUSH2 0xDE3 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE46 JUMPI PUSH2 0xE45 PUSH2 0xD23 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xE56 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xDF1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE75 JUMPI PUSH2 0xE74 PUSH2 0xCC1 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE82 DUP6 DUP3 DUP7 ADD PUSH2 0xD0F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEA3 JUMPI PUSH2 0xEA2 PUSH2 0xCC5 JUMP JUMPDEST JUMPDEST PUSH2 0xEAF DUP6 DUP3 DUP7 ADD PUSH2 0xE32 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xECB DUP2 PUSH2 0xEB9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEE4 PUSH0 DUP4 ADD DUP5 PUSH2 0xEC2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xEF3 DUP2 PUSH2 0xCE8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF0C PUSH0 DUP4 ADD DUP5 PUSH2 0xEEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xF44 DUP3 PUSH2 0xF12 JUMP JUMPDEST PUSH2 0xF4E DUP2 DUP6 PUSH2 0xF1C JUMP JUMPDEST SWAP4 POP PUSH2 0xF5E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF2C JUMP JUMPDEST PUSH2 0xF67 DUP2 PUSH2 0xD2B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF8A DUP2 DUP5 PUSH2 0xF3A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFA7 JUMPI PUSH2 0xFA6 PUSH2 0xCC1 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xFB4 DUP5 DUP3 DUP6 ADD PUSH2 0xD0F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xFFC PUSH2 0xFF7 PUSH2 0xFF2 DUP5 PUSH2 0xFBD JUMP JUMPDEST PUSH2 0xFD9 JUMP JUMPDEST PUSH2 0xFC6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100C DUP2 PUSH2 0xFE2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1025 PUSH0 DUP4 ADD DUP5 PUSH2 0x1003 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1034 DUP2 PUSH2 0xEB9 JUMP JUMPDEST DUP2 EQ PUSH2 0x103E JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x104F DUP2 PUSH2 0x102B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x106A JUMPI PUSH2 0x1069 PUSH2 0xCC1 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1077 DUP5 DUP3 DUP6 ADD PUSH2 0x1041 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x109E DUP3 PUSH2 0x1080 JUMP JUMPDEST PUSH2 0x10A8 DUP2 DUP6 PUSH2 0x108A JUMP JUMPDEST SWAP4 POP PUSH2 0x10B8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF2C JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x10CF DUP3 DUP5 PUSH2 0x1094 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG2 LOG1 SWAP5 DUP8 SWAP8 0xEC SAR DUP12 0x2B BLOBHASH SWAP11 0xE6 0x4B 0xE5 SELFDESTRUCT 0xCF ADDMOD 0xED SHR MCOPY DUP10 TLOAD PUSH9 0xD3BA420E80308E01A9 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "338:455:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4161:214:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:101:0;;;;;;;;;;;;;:::i;:::-;;2441:144;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1819:58:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;533:140:11;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3405:215:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4161:214:2;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;811:66:6::1;3803:32:2;;3796:39;;3708:134:::0;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;2441:144::-;2487:7;2506:24;2533:20;:18;:20::i;:::-;2506:47;;2570:1;:8;;;;;;;;;;;;2563:15;;;2441:144;:::o;1819:58:2:-;;;;;;;;;;;;;;;;;;;:::o;533:140:11:-;4158:30:1;4191:26;:24;:26::i;:::-;4158:59;;4279:19;4302:1;:15;;;;;;;;;;;;4301:16;4279:38;;4327:18;4348:1;:14;;;;;;;;;;;;4327:35;;4706:17;4741:1;4726:11;:16;;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4805:1;4790:11;:16;;;:50;;;;;4839:1;4818:4;4810:25;;;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;;;;;;;;;;;;;4851:91;4968:1;4951;:14;;;:18;;;;;;;;;;;;;;;;;;4983:14;4979:67;;;5031:4;5013:1;:15;;;:22;;;;;;;;;;;;;;;;;;4979:67;604:28:11::1;619:12;604:14;:28::i;:::-;642:24;:22;:24::i;:::-;5070:14:1::0;5066:101;;;5118:5;5100:1;:15;;;:23;;;;;;;;;;;;;;;;;;5142:14;5154:1;5142:14;;;;;;:::i;:::-;;;;;;;;5066:101;4092:1081;;;;;533:140:11;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;3509:1:::1;3489:22;;:8;:22;;::::0;3485:91:::1;;3562:1;3534:31;;;;;;;;;;;:::i;:::-;;;;;;;;3485:91;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;4603:312:2:-;4692:6;4675:23;;4683:4;4675:23;;;:120;;;;4789:6;4753:42;;:32;:30;:32::i;:::-;:42;;;;4675:120;4658:251;;;4869:29;;;;;;;;;;;;;;4658:251;4603:312::o;679:112:11:-;2334:13:0;:11;:13::i;:::-;679:112:11;:::o;6057:538:2:-;6174:17;6156:50;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6152:437;;6560:17;6518:60;;;;;;;;;;;:::i;:::-;;;;;;;;6152:437;811:66:6;6258:32:2;;6250:4;:40;6246:120;;6346:4;6317:34;;;;;;;;;;;:::i;:::-;;;;;;;;6246:120;6379:54;6409:17;6428:4;6379:29;:54::i;:::-;6209:235;6057:538;;:::o;5032:213::-;5115:6;5098:23;;5106:4;5098:23;;;5094:145;;5199:29;;;;;;;;;;;;;;5094:145;5032:213::o;2658:162:0:-;2728:12;:10;:12::i;:::-;2717:23;;:7;:5;:7::i;:::-;:23;;;2713:101;;2790:12;:10;:12::i;:::-;2763:40;;;;;;;;;;;:::i;:::-;;;;;;;;2713:101;2658:162::o;3774:248::-;3847:24;3874:20;:18;:20::i;:::-;3847:47;;3904:16;3923:1;:8;;;;;;;;;;;;3904:27;;3952:8;3941:1;:8;;;:19;;;;;;;;;;;;;;;;;;4006:8;3975:40;;3996:8;3975:40;;;;;;;;;;;;3837:185;;3774:248;:::o;1192:159::-;1244:24;1313:22;1303:32;;1192:159;:::o;8737:170:1:-;8795:30;8870:21;8860:31;;8737:170;:::o;1847:127:0:-;6931:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;:::-;1847:127:::0;:::o;2970:67:2:-;6931:20:1;:18;:20::i;:::-;2970:67:2:o;1441:138:6:-;1493:7;1519:47;811:66;1546:19;;1519:26;:47::i;:::-;:53;;;;;;;;;;;;1512:60;;1441:138;:::o;2264:344::-;2355:37;2374:17;2355:18;:37::i;:::-;2425:17;2407:36;;;;;;;;;;;;2472:1;2458:4;:11;:15;2454:148;;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;2454:148;;;2573:18;:16;:18::i;:::-;2454:148;2264:344;;:::o;887:96:3:-;940:7;966:10;959:17;;887:96;:::o;7084:141:1:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;;;;;;;;;;;;;7146:73;7084:141::o;1980:235:0:-;6931:20:1;:18;:20::i;:::-;2100:1:0::1;2076:26;;:12;:26;;::::0;2072:95:::1;;2153:1;2125:31;;;;;;;;;;;:::i;:::-;;;;;;;;2072:95;2176:32;2195:12;2176:18;:32::i;:::-;1980:235:::0;:::o;1899:163:10:-;1960:21;2042:4;2032:14;;1899:163;;;:::o;1671:281:6:-;1781:1;1748:17;:29;;;:34;1744:119;;1834:17;1805:47;;;;;;;;;;;:::i;:::-;;;;;;;;1744:119;1928:17;1872:47;811:66;1899:19;;1872:26;:47::i;:::-;:53;;;:73;;;;;;;;;;;;;;;;;;1671:281;:::o;3900:253:8:-;3983:12;4008;4022:23;4049:6;:19;;4069:4;4049:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4007:67;;;;4091:55;4118:6;4126:7;4135:10;4091:26;:55::i;:::-;4084:62;;;;3900:253;;;;:::o;6113:122:6:-;6175:1;6163:9;:13;6159:70;;;6199:19;;;;;;;;;;;;;;6159:70;6113:122::o;8487:120:1:-;8537:4;8560:26;:24;:26::i;:::-;:40;;;;;;;;;;;;8553:47;;8487:120;:::o;4421:582:8:-;4565:12;4594:7;4589:408;;4617:19;4625:10;4617:7;:19::i;:::-;4589:408;;;4862:1;4841:10;:17;:22;:49;;;;;4889:1;4867:6;:18;;;:23;4841:49;4837:119;;;4934:6;4917:24;;;;;;;;;;;:::i;:::-;;;;;;;;4837:119;4976:10;4969:17;;;;4589:408;4421:582;;;;;;:::o;5543:487::-;5694:1;5674:10;:17;:21;5670:354;;;5871:10;5865:17;5927:15;5914:10;5910:2;5906:19;5899:44;5670:354;5994:19;;;;;;;;;;;;;;7:75:12;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:117::-;950:1;947;940:12;964:117;1073:1;1070;1063:12;1087:102;1128:6;1179:2;1175:7;1170:2;1163:5;1159:14;1155:28;1145:38;;1087:102;;;:::o;1195:180::-;1243:77;1240:1;1233:88;1340:4;1337:1;1330:15;1364:4;1361:1;1354:15;1381:281;1464:27;1486:4;1464:27;:::i;:::-;1456:6;1452:40;1594:6;1582:10;1579:22;1558:18;1546:10;1543:34;1540:62;1537:88;;;1605:18;;:::i;:::-;1537:88;1645:10;1641:2;1634:22;1424:238;1381:281;;:::o;1668:129::-;1702:6;1729:20;;:::i;:::-;1719:30;;1758:33;1786:4;1778:6;1758:33;:::i;:::-;1668:129;;;:::o;1803:307::-;1864:4;1954:18;1946:6;1943:30;1940:56;;;1976:18;;:::i;:::-;1940:56;2014:29;2036:6;2014:29;:::i;:::-;2006:37;;2098:4;2092;2088:15;2080:23;;1803:307;;;:::o;2116:148::-;2214:6;2209:3;2204;2191:30;2255:1;2246:6;2241:3;2237:16;2230:27;2116:148;;;:::o;2270:423::-;2347:5;2372:65;2388:48;2429:6;2388:48;:::i;:::-;2372:65;:::i;:::-;2363:74;;2460:6;2453:5;2446:21;2498:4;2491:5;2487:16;2536:3;2527:6;2522:3;2518:16;2515:25;2512:112;;;2543:79;;:::i;:::-;2512:112;2633:54;2680:6;2675:3;2670;2633:54;:::i;:::-;2353:340;2270:423;;;;;:::o;2712:338::-;2767:5;2816:3;2809:4;2801:6;2797:17;2793:27;2783:122;;2824:79;;:::i;:::-;2783:122;2941:6;2928:20;2966:78;3040:3;3032:6;3025:4;3017:6;3013:17;2966:78;:::i;:::-;2957:87;;2773:277;2712:338;;;;:::o;3056:652::-;3133:6;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3471:2;3460:9;3456:18;3443:32;3502:18;3494:6;3491:30;3488:117;;;3524:79;;:::i;:::-;3488:117;3629:62;3683:7;3674:6;3663:9;3659:22;3629:62;:::i;:::-;3619:72;;3414:287;3056:652;;;;;:::o;3714:77::-;3751:7;3780:5;3769:16;;3714:77;;;:::o;3797:118::-;3884:24;3902:5;3884:24;:::i;:::-;3879:3;3872:37;3797:118;;:::o;3921:222::-;4014:4;4052:2;4041:9;4037:18;4029:26;;4065:71;4133:1;4122:9;4118:17;4109:6;4065:71;:::i;:::-;3921:222;;;;:::o;4149:118::-;4236:24;4254:5;4236:24;:::i;:::-;4231:3;4224:37;4149:118;;:::o;4273:222::-;4366:4;4404:2;4393:9;4389:18;4381:26;;4417:71;4485:1;4474:9;4470:17;4461:6;4417:71;:::i;:::-;4273:222;;;;:::o;4501:99::-;4553:6;4587:5;4581:12;4571:22;;4501:99;;;:::o;4606:169::-;4690:11;4724:6;4719:3;4712:19;4764:4;4759:3;4755:14;4740:29;;4606:169;;;;:::o;4781:139::-;4870:6;4865:3;4860;4854:23;4911:1;4902:6;4897:3;4893:16;4886:27;4781:139;;;:::o;4926:377::-;5014:3;5042:39;5075:5;5042:39;:::i;:::-;5097:71;5161:6;5156:3;5097:71;:::i;:::-;5090:78;;5177:65;5235:6;5230:3;5223:4;5216:5;5212:16;5177:65;:::i;:::-;5267:29;5289:6;5267:29;:::i;:::-;5262:3;5258:39;5251:46;;5018:285;4926:377;;;;:::o;5309:313::-;5422:4;5460:2;5449:9;5445:18;5437:26;;5509:9;5503:4;5499:20;5495:1;5484:9;5480:17;5473:47;5537:78;5610:4;5601:6;5537:78;:::i;:::-;5529:86;;5309:313;;;;:::o;5628:329::-;5687:6;5736:2;5724:9;5715:7;5711:23;5707:32;5704:119;;;5742:79;;:::i;:::-;5704:119;5862:1;5887:53;5932:7;5923:6;5912:9;5908:22;5887:53;:::i;:::-;5877:63;;5833:117;5628:329;;;;:::o;5963:85::-;6008:7;6037:5;6026:16;;5963:85;;;:::o;6054:101::-;6090:7;6130:18;6123:5;6119:30;6108:41;;6054:101;;;:::o;6161:60::-;6189:3;6210:5;6203:12;;6161:60;;;:::o;6227:156::-;6284:9;6317:60;6334:42;6343:32;6369:5;6343:32;:::i;:::-;6334:42;:::i;:::-;6317:60;:::i;:::-;6304:73;;6227:156;;;:::o;6389:145::-;6483:44;6521:5;6483:44;:::i;:::-;6478:3;6471:57;6389:145;;:::o;6540:236::-;6640:4;6678:2;6667:9;6663:18;6655:26;;6691:78;6766:1;6755:9;6751:17;6742:6;6691:78;:::i;:::-;6540:236;;;;:::o;6782:122::-;6855:24;6873:5;6855:24;:::i;:::-;6848:5;6845:35;6835:63;;6894:1;6891;6884:12;6835:63;6782:122;:::o;6910:143::-;6967:5;6998:6;6992:13;6983:22;;7014:33;7041:5;7014:33;:::i;:::-;6910:143;;;;:::o;7059:351::-;7129:6;7178:2;7166:9;7157:7;7153:23;7149:32;7146:119;;;7184:79;;:::i;:::-;7146:119;7304:1;7329:64;7385:7;7376:6;7365:9;7361:22;7329:64;:::i;:::-;7319:74;;7275:128;7059:351;;;;:::o;7416:98::-;7467:6;7501:5;7495:12;7485:22;;7416:98;;;:::o;7520:147::-;7621:11;7658:3;7643:18;;7520:147;;;;:::o;7673:386::-;7777:3;7805:38;7837:5;7805:38;:::i;:::-;7859:88;7940:6;7935:3;7859:88;:::i;:::-;7852:95;;7956:65;8014:6;8009:3;8002:4;7995:5;7991:16;7956:65;:::i;:::-;8046:6;8041:3;8037:16;8030:23;;7781:278;7673:386;;;;:::o;8065:271::-;8195:3;8217:93;8306:3;8297:6;8217:93;:::i;:::-;8210:100;;8327:3;8320:10;;8065:271;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "873600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"UPGRADE_INTERFACE_VERSION()": "infinite",
"initialize(address)": "infinite",
"owner()": "2567",
"proxiableUUID()": "infinite",
"renounceOwnership()": "infinite",
"transferOwnership(address)": "infinite",
"upgradeToAndCall(address,bytes)": "infinite"
},
"internal": {
"_authorizeUpgrade(address)": "infinite"
}
},
"methodIdentifiers": {
"UPGRADE_INTERFACE_VERSION()": "ad3cb1cc",
"initialize(address)": "c4d66de8",
"owner()": "8da5cb5b",
"proxiableUUID()": "52d1902d",
"renounceOwnership()": "715018a6",
"transferOwnership(address)": "f2fde38b",
"upgradeToAndCall(address,bytes)": "4f1ef286"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "ERC1967InvalidImplementation",
"type": "error"
},
{
"inputs": [],
"name": "ERC1967NonPayable",
"type": "error"
},
{
"inputs": [],
"name": "FailedCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "UUPSUnauthorizedCallContext",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "slot",
"type": "bytes32"
}
],
"name": "UUPSUnsupportedProxiableUUID",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint64",
"name": "version",
"type": "uint64"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"inputs": [],
"name": "UPGRADE_INTERFACE_VERSION",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "initialOwner",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "proxiableUUID",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment