From 3ecc9b61bedddb7c1ab7d6d7993c5f10748a9daa Mon Sep 17 00:00:00 2001 From: SWAGAT SWAROOP PARIDA Date: Mon, 3 Jun 2024 20:06:32 +0530 Subject: [PATCH] Code is working with blockchain --- .../artifacts/Deploy#Account.dbg.json | 4 - .../chain-1337/artifacts/Deploy#Account.json | 220 - .../d186c977926b47146660883ff7aa6a82.json | 29189 ---------------- .../chain-1337/deployed_addresses.json | 3 - .../deployments/chain-1337/journal.jsonl | 7 - 5 files changed, 29423 deletions(-) delete mode 100644 blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.dbg.json delete mode 100644 blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.json delete mode 100644 blockchain/ignition/deployments/chain-1337/build-info/d186c977926b47146660883ff7aa6a82.json delete mode 100644 blockchain/ignition/deployments/chain-1337/deployed_addresses.json delete mode 100644 blockchain/ignition/deployments/chain-1337/journal.jsonl diff --git a/blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.dbg.json b/blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.dbg.json deleted file mode 100644 index 09a065e..0000000 --- a/blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/d186c977926b47146660883ff7aa6a82.json" -} \ No newline at end of file diff --git a/blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.json b/blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.json deleted file mode 100644 index cb3b70a..0000000 --- a/blockchain/ignition/deployments/chain-1337/artifacts/Deploy#Account.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Account", - "sourceName": "contracts/account.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "bought", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "sold", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "userCreated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "fromEmail", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "internalType": "uint256", - "name": "noofcoin", - "type": "uint256" - } - ], - "name": "buy", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "createUser", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - }, - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "getBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "getCoins", - "outputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "fromEmail", - "type": "string" - }, - { - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "internalType": "uint256", - "name": "noofcoin", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "sell", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - }, - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526040518060400160405280601581526020017f6861636b62726f6b65727340676d61696c2e636f6d0000000000000000000000815250600390816200004a919062000731565b503480156200005857600080fd5b50600160008190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200017b6040518060400160405280600581526020017f6f776e657200000000000000000000000000000000000000000000000000000081525060038054620000eb9062000520565b80601f0160208091040260200160405190810160405280929190818152602001828054620001199062000520565b80156200016a5780601f106200013e576101008083540402835291602001916200016a565b820191906000526020600020905b8154815290600101906020018083116200014c57829003601f168201915b50505050506200018960201b60201c565b600060018190555062000a10565b620001996200036e60201b60201c565b60001515600582604051620001af919062000886565b908152602001604051809103902060009054906101000a900460ff1615151462000210576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002079062000900565b60405180910390fd5b60016000815480929190620002259062000951565b919050555060606040518060a001604052806001548152602001848152602001838152602001600081526020018281525060048360405162000268919062000886565b908152602001604051809103902060008201518160000155602082015181600101908162000297919062000731565b506040820151816002019081620002af919062000731565b50606082015181600301556080820151816004019080519060200190620002d8929190620003ca565b509050506001600583604051620002f0919062000886565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508160405162000325919062000886565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a2506200036a620003c060201b60201c565b5050565b600260005403620003b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003ad90620009ee565b60405180910390fd5b6002600081905550565b6001600081905550565b82805482825590600052602060002090810192821562000417579160200282015b828111156200041657825182908162000405919062000731565b5091602001919060010190620003eb565b5b5090506200042691906200042a565b5090565b5b808211156200044e576000818162000444919062000452565b506001016200042b565b5090565b508054620004609062000520565b6000825580601f1062000474575062000495565b601f01602090049060005260206000209081019062000494919062000498565b5b50565b5b80821115620004b357600081600090555060010162000499565b5090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200053957607f821691505b6020821081036200054f576200054e620004f1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200057a565b620005c586836200057a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006126200060c6200060684620005dd565b620005e7565b620005dd565b9050919050565b6000819050919050565b6200062e83620005f1565b620006466200063d8262000619565b84845462000587565b825550505050565b600090565b6200065d6200064e565b6200066a81848462000623565b505050565b5b8181101562000692576200068660008262000653565b60018101905062000670565b5050565b601f821115620006e157620006ab8162000555565b620006b6846200056a565b81016020851015620006c6578190505b620006de620006d5856200056a565b8301826200066f565b50505b505050565b600082821c905092915050565b60006200070660001984600802620006e6565b1980831691505092915050565b6000620007218383620006f3565b9150826002028217905092915050565b6200073c82620004b7565b67ffffffffffffffff811115620007585762000757620004c2565b5b62000764825462000520565b6200077182828562000696565b600060209050601f831160018114620007a9576000841562000794578287015190505b620007a0858262000713565b86555062000810565b601f198416620007b98662000555565b60005b82811015620007e357848901518255600182019150602085019450602081019050620007bc565b86831015620008035784890151620007ff601f891682620006f3565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60005b838110156200084357808201518184015260208101905062000826565b60008484015250505050565b60006200085c82620004b7565b62000868818562000818565b93506200087a81856020860162000823565b80840191505092915050565b60006200089482846200084f565b915081905092915050565b600082825260208201905092915050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000620008e86013836200089f565b9150620008f582620008b0565b602082019050919050565b600060208201905081810360008301526200091b81620008d9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200095e82620005dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000993576200099262000922565b5b600182019050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000620009d6601f836200089f565b9150620009e3826200099e565b602082019050919050565b6000602082019050818103600083015262000a0981620009c7565b9050919050565b61209c8062000a206000396000f3fe6080604052600436106100705760003560e01c8063516b6d071161004e578063516b6d07146100f757806387b162b5146101135780638e27d7191461013c578063e24e83161461016557610070565b8063018533a81461007557806330b39a62146100915780633a51d246146100ba575b600080fd5b61008f600480360381019061008a91906114a5565b6101a3565b005b34801561009d57600080fd5b506100b860048036038101906100b39190611544565b61068e565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906115a0565b61076a565b6040516100ee91906115f8565b60405180910390f35b610111600480360381019061010c9190611613565b610807565b005b34801561011f57600080fd5b5061013a600480360381019061013591906116b2565b610cb6565b005b34801561014857600080fd5b50610163600480360381019061015e9190611544565b610e78565b005b34801561017157600080fd5b5061018c600480360381019061018791906115a0565b610f26565b60405161019a929190611929565b60405180910390f35b6101ab6111e2565b600115156005856040516101bf919061199c565b908152602001604051809103902060009054906101000a900460ff1615151461021d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021490611a10565b60405180910390fd5b8260048560405161022e919061199c565b9081526020016040518091039020600301541015610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027890611a7c565b60405180910390fd5b82600485604051610292919061199c565b908152602001604051809103902060030160008282546102b29190611acb565b9250508190555082600460036040516102cb9190611bf7565b908152602001604051809103902060030160008282546102eb9190611c0e565b925050819055506000600485604051610304919061199c565b90815260200160405180910390206004018054905090506000805b8281101561041d5784604051602001610338919061199c565b6040516020818303038152906040528051906020012060048860405161035e919061199c565b9081526020016040518091039020600401828154811061038157610380611c42565b5b9060005260206000200160405160200161039b9190611bf7565b60405160208183030381529060405280519060200120036104105760019150836006886040516103cb919061199c565b9081526020016040518091039020866040516103e7919061199c565b908152602001604051809103902060008282546104049190611c0e565b9250508190555061041d565b808060010191505061031f565b50806106265760006001836104329190611c0e565b67ffffffffffffffff81111561044b5761044a611344565b5b60405190808252806020026020018201604052801561047e57816020015b60608152602001906001900390816104695790505b50905060005b8381101561057d5760048860405161049c919061199c565b908152602001604051809103902060040181815481106104bf576104be611c42565b5b9060005260206000200180546104d490611b2e565b80601f016020809104026020016040519081016040528092919081815260200182805461050090611b2e565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b505050505082828151811061056557610564611c42565b5b60200260200101819052508080600101915050610484565b508481848151811061059257610591611c42565b5b6020026020010181905250836006886040516105ae919061199c565b9081526020016040518091039020866040516105ca919061199c565b908152602001604051809103902060008282546105e79190611c0e565b92505081905550806004886040516105ff919061199c565b9081526020016040518091039020600401908051906020019061062392919061123b565b50505b85604051610634919061199c565b60405180910390208460405161064a919061199c565b60405180910390207f9a8355253d14b2e278c55c8a768aa8cc07687bab63144bbea0f2c7b3786157d260405160405180910390a35050610688611231565b50505050565b600115156005836040516106a2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611a10565b60405180910390fd5b80600483604051610711919061199c565b908152602001604051809103902060030154101561072e57600080fd5b8060048360405161073f919061199c565b9081526020016040518091039020600301600082825461075f9190611acb565b925050819055505050565b600060011515600583604051610780919061199c565b908152602001604051809103902060009054906101000a900460ff161515146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590611a10565b60405180910390fd5b6004826040516107ee919061199c565b9081526020016040518091039020600301549050919050565b61080f6111e2565b60011515600585604051610823919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087890611a10565b60405180910390fd5b81600685604051610892919061199c565b9081526020016040518091039020846040516108ae919061199c565b90815260200160405180910390205410156108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f590611cbd565b60405180910390fd5b80600460036040516109109190611bf7565b908152602001604051809103902060030160008282546109309190611acb565b9250508190555080600485604051610948919061199c565b908152602001604051809103902060030160008282546109689190611c0e565b9250508190555081600685604051610980919061199c565b90815260200160405180910390208460405161099c919061199c565b908152602001604051809103902060008282546109b99190611acb565b9250508190555060006006856040516109d2919061199c565b9081526020016040518091039020846040516109ee919061199c565b90815260200160405180910390205403610c50576000600485604051610a14919061199c565b90815260200160405180910390206004018054905090506000600182610a3a9190611acb565b67ffffffffffffffff811115610a5357610a52611344565b5b604051908082528060200260200182016040528015610a8657816020015b6060815260200190600190039081610a715790505b50905060005b82811015610c165785604051602001610aa5919061199c565b60405160208183030381529060405280519060200120600488604051610acb919061199c565b90815260200160405180910390206004018281548110610aee57610aed611c42565b5b90600052602060002001604051602001610b089190611bf7565b604051602081830303815290604052805190602001200315610c0957600487604051610b34919061199c565b90815260200160405180910390206004018181548110610b5757610b56611c42565b5b906000526020600020018054610b6c90611b2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9890611b2e565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b5050505050828281518110610bfd57610bfc611c42565b5b60200260200101819052505b8080600101915050610a8c565b5080600487604051610c28919061199c565b90815260200160405180910390206004019080519060200190610c4c92919061123b565b5050505b83604051610c5e919061199c565b604051809103902083604051610c74919061199c565b60405180910390207fdeb732255cff3c9836501088ec7462c5ba57ec30674ba8e3bbd21f02642a648e60405160405180910390a3610cb0611231565b50505050565b610cbe6111e2565b60001515600582604051610cd2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790611d29565b60405180910390fd5b60016000815480929190610d4390611d49565b919050555060606040518060a0016040528060015481526020018481526020018381526020016000815260200182815250600483604051610d84919061199c565b9081526020016040518091039020600082015181600001556020820151816001019081610db19190611f28565b506040820151816002019081610dc79190611f28565b50606082015181600301556080820151816004019080519060200190610dee92919061123b565b509050506001600583604051610e04919061199c565b908152602001604051809103902060006101000a81548160ff02191690831515021790555081604051610e37919061199c565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a250610e74611231565b5050565b60011515600583604051610e8c919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190611a10565b60405180910390fd5b80600483604051610efb919061199c565b90815260200160405180910390206003016000828254610f1b9190611c0e565b925050819055505050565b60608060011515600584604051610f3d919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9290611a10565b60405180910390fd5b6000600484604051610fad919061199c565b908152602001604051809103902060040180549050905060008167ffffffffffffffff811115610fe057610fdf611344565b5b60405190808252806020026020018201604052801561101357816020015b6060815260200190600190039081610ffe5790505b50905060008267ffffffffffffffff81111561103257611031611344565b5b6040519080825280602002602001820160405280156110605781602001602082028036833780820191505090505b50905060005b838110156111d35760048760405161107e919061199c565b908152602001604051809103902060040181815481106110a1576110a0611c42565b5b9060005260206000200180546110b690611b2e565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290611b2e565b801561112f5780601f106111045761010080835404028352916020019161112f565b820191906000526020600020905b81548152906001019060200180831161111257829003601f168201915b505050505083828151811061114757611146611c42565b5b6020026020010181905250600687604051611162919061199c565b908152602001604051809103902083828151811061118357611182611c42565b5b6020026020010151604051611198919061199c565b9081526020016040518091039020548282815181106111ba576111b9611c42565b5b6020026020010181815250508080600101915050611066565b50818194509450505050915091565b600260005403611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90612046565b60405180910390fd5b6002600081905550565b6001600081905550565b828054828255906000526020600020908101928215611283579160200282015b828111156112825782518290816112729190611f28565b509160200191906001019061125b565b5b5090506112909190611294565b5090565b5b808211156112b457600081816112ab91906112b8565b50600101611295565b5090565b5080546112c490611b2e565b6000825580601f106112d657506112f5565b601f0160209004906000526020600020908101906112f491906112f8565b5b50565b5b808211156113115760008160009055506001016112f9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61137c82611333565b810181811067ffffffffffffffff8211171561139b5761139a611344565b5b80604052505050565b60006113ae611315565b90506113ba8282611373565b919050565b600067ffffffffffffffff8211156113da576113d9611344565b5b6113e382611333565b9050602081019050919050565b82818337600083830152505050565b600061141261140d846113bf565b6113a4565b90508281526020810184848401111561142e5761142d61132e565b5b6114398482856113f0565b509392505050565b600082601f83011261145657611455611329565b5b81356114668482602086016113ff565b91505092915050565b6000819050919050565b6114828161146f565b811461148d57600080fd5b50565b60008135905061149f81611479565b92915050565b600080600080608085870312156114bf576114be61131f565b5b600085013567ffffffffffffffff8111156114dd576114dc611324565b5b6114e987828801611441565b94505060206114fa87828801611490565b935050604085013567ffffffffffffffff81111561151b5761151a611324565b5b61152787828801611441565b925050606061153887828801611490565b91505092959194509250565b6000806040838503121561155b5761155a61131f565b5b600083013567ffffffffffffffff81111561157957611578611324565b5b61158585828601611441565b925050602061159685828601611490565b9150509250929050565b6000602082840312156115b6576115b561131f565b5b600082013567ffffffffffffffff8111156115d4576115d3611324565b5b6115e084828501611441565b91505092915050565b6115f28161146f565b82525050565b600060208201905061160d60008301846115e9565b92915050565b6000806000806080858703121561162d5761162c61131f565b5b600085013567ffffffffffffffff81111561164b5761164a611324565b5b61165787828801611441565b945050602085013567ffffffffffffffff81111561167857611677611324565b5b61168487828801611441565b935050604061169587828801611490565b92505060606116a687828801611490565b91505092959194509250565b600080604083850312156116c9576116c861131f565b5b600083013567ffffffffffffffff8111156116e7576116e6611324565b5b6116f385828601611441565b925050602083013567ffffffffffffffff81111561171457611713611324565b5b61172085828601611441565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611790578082015181840152602081019050611775565b60008484015250505050565b60006117a782611756565b6117b18185611761565b93506117c1818560208601611772565b6117ca81611333565b840191505092915050565b60006117e1838361179c565b905092915050565b6000602082019050919050565b60006118018261172a565b61180b8185611735565b93508360208202850161181d85611746565b8060005b85811015611859578484038952815161183a85826117d5565b9450611845836117e9565b925060208a01995050600181019050611821565b50829750879550505050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118a08161146f565b82525050565b60006118b28383611897565b60208301905092915050565b6000602082019050919050565b60006118d68261186b565b6118e08185611876565b93506118eb83611887565b8060005b8381101561191c57815161190388826118a6565b975061190e836118be565b9250506001810190506118ef565b5085935050505092915050565b6000604082019050818103600083015261194381856117f6565b9050818103602083015261195781846118cb565b90509392505050565b600081905092915050565b600061197682611756565b6119808185611960565b9350611990818560208601611772565b80840191505092915050565b60006119a8828461196b565b915081905092915050565b600082825260208201905092915050565b7f5573657220646f6e277420657869737473000000000000000000000000000000600082015250565b60006119fa6011836119b3565b9150611a05826119c4565b602082019050919050565b60006020820190508181036000830152611a29816119ed565b9050919050565b7f446f6e2774206861766520656e6f7567682062616c616e636500000000000000600082015250565b6000611a666019836119b3565b9150611a7182611a30565b602082019050919050565b60006020820190508181036000830152611a9581611a59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ad68261146f565b9150611ae18361146f565b9250828203905081811115611af957611af8611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4657607f821691505b602082108103611b5957611b58611aff565b5b50919050565b60008190508160005260206000209050919050565b60008154611b8181611b2e565b611b8b8186611960565b94506001821660008114611ba65760018114611bbb57611bee565b60ff1983168652811515820286019350611bee565b611bc485611b5f565b60005b83811015611be657815481890152600182019150602081019050611bc7565b838801955050505b50505092915050565b6000611c038284611b74565b915081905092915050565b6000611c198261146f565b9150611c248361146f565b9250828201905080821115611c3c57611c3b611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f557365722073686f756c642068617665207468617420636f696e000000000000600082015250565b6000611ca7601a836119b3565b9150611cb282611c71565b602082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000611d136013836119b3565b9150611d1e82611cdd565b602082019050919050565b60006020820190508181036000830152611d4281611d06565b9050919050565b6000611d548261146f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8657611d85611a9c565b5b600182019050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611dde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611da1565b611de88683611da1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e25611e20611e1b8461146f565b611e00565b61146f565b9050919050565b6000819050919050565b611e3f83611e0a565b611e53611e4b82611e2c565b848454611dae565b825550505050565b600090565b611e68611e5b565b611e73818484611e36565b505050565b5b81811015611e9757611e8c600082611e60565b600181019050611e79565b5050565b601f821115611edc57611ead81611b5f565b611eb684611d91565b81016020851015611ec5578190505b611ed9611ed185611d91565b830182611e78565b50505b505050565b600082821c905092915050565b6000611eff60001984600802611ee1565b1980831691505092915050565b6000611f188383611eee565b9150826002028217905092915050565b611f3182611756565b67ffffffffffffffff811115611f4a57611f49611344565b5b611f548254611b2e565b611f5f828285611e9b565b600060209050601f831160018114611f925760008415611f80578287015190505b611f8a8582611f0c565b865550611ff2565b601f198416611fa086611b5f565b60005b82811015611fc857848901518255600182019150602085019450602081019050611fa3565b86831015611fe55784890151611fe1601f891682611eee565b8355505b6001600288020188555050505b505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612030601f836119b3565b915061203b82611ffa565b602082019050919050565b6000602082019050818103600083015261205f81612023565b905091905056fea2646970667358221220af223b8c15adcd94c6988a4fb74e0a8b832916cd236e81e307fcda55bf5d798864736f6c63430008180033", - "deployedBytecode": "0x6080604052600436106100705760003560e01c8063516b6d071161004e578063516b6d07146100f757806387b162b5146101135780638e27d7191461013c578063e24e83161461016557610070565b8063018533a81461007557806330b39a62146100915780633a51d246146100ba575b600080fd5b61008f600480360381019061008a91906114a5565b6101a3565b005b34801561009d57600080fd5b506100b860048036038101906100b39190611544565b61068e565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906115a0565b61076a565b6040516100ee91906115f8565b60405180910390f35b610111600480360381019061010c9190611613565b610807565b005b34801561011f57600080fd5b5061013a600480360381019061013591906116b2565b610cb6565b005b34801561014857600080fd5b50610163600480360381019061015e9190611544565b610e78565b005b34801561017157600080fd5b5061018c600480360381019061018791906115a0565b610f26565b60405161019a929190611929565b60405180910390f35b6101ab6111e2565b600115156005856040516101bf919061199c565b908152602001604051809103902060009054906101000a900460ff1615151461021d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021490611a10565b60405180910390fd5b8260048560405161022e919061199c565b9081526020016040518091039020600301541015610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027890611a7c565b60405180910390fd5b82600485604051610292919061199c565b908152602001604051809103902060030160008282546102b29190611acb565b9250508190555082600460036040516102cb9190611bf7565b908152602001604051809103902060030160008282546102eb9190611c0e565b925050819055506000600485604051610304919061199c565b90815260200160405180910390206004018054905090506000805b8281101561041d5784604051602001610338919061199c565b6040516020818303038152906040528051906020012060048860405161035e919061199c565b9081526020016040518091039020600401828154811061038157610380611c42565b5b9060005260206000200160405160200161039b9190611bf7565b60405160208183030381529060405280519060200120036104105760019150836006886040516103cb919061199c565b9081526020016040518091039020866040516103e7919061199c565b908152602001604051809103902060008282546104049190611c0e565b9250508190555061041d565b808060010191505061031f565b50806106265760006001836104329190611c0e565b67ffffffffffffffff81111561044b5761044a611344565b5b60405190808252806020026020018201604052801561047e57816020015b60608152602001906001900390816104695790505b50905060005b8381101561057d5760048860405161049c919061199c565b908152602001604051809103902060040181815481106104bf576104be611c42565b5b9060005260206000200180546104d490611b2e565b80601f016020809104026020016040519081016040528092919081815260200182805461050090611b2e565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b505050505082828151811061056557610564611c42565b5b60200260200101819052508080600101915050610484565b508481848151811061059257610591611c42565b5b6020026020010181905250836006886040516105ae919061199c565b9081526020016040518091039020866040516105ca919061199c565b908152602001604051809103902060008282546105e79190611c0e565b92505081905550806004886040516105ff919061199c565b9081526020016040518091039020600401908051906020019061062392919061123b565b50505b85604051610634919061199c565b60405180910390208460405161064a919061199c565b60405180910390207f9a8355253d14b2e278c55c8a768aa8cc07687bab63144bbea0f2c7b3786157d260405160405180910390a35050610688611231565b50505050565b600115156005836040516106a2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611a10565b60405180910390fd5b80600483604051610711919061199c565b908152602001604051809103902060030154101561072e57600080fd5b8060048360405161073f919061199c565b9081526020016040518091039020600301600082825461075f9190611acb565b925050819055505050565b600060011515600583604051610780919061199c565b908152602001604051809103902060009054906101000a900460ff161515146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590611a10565b60405180910390fd5b6004826040516107ee919061199c565b9081526020016040518091039020600301549050919050565b61080f6111e2565b60011515600585604051610823919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087890611a10565b60405180910390fd5b81600685604051610892919061199c565b9081526020016040518091039020846040516108ae919061199c565b90815260200160405180910390205410156108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f590611cbd565b60405180910390fd5b80600460036040516109109190611bf7565b908152602001604051809103902060030160008282546109309190611acb565b9250508190555080600485604051610948919061199c565b908152602001604051809103902060030160008282546109689190611c0e565b9250508190555081600685604051610980919061199c565b90815260200160405180910390208460405161099c919061199c565b908152602001604051809103902060008282546109b99190611acb565b9250508190555060006006856040516109d2919061199c565b9081526020016040518091039020846040516109ee919061199c565b90815260200160405180910390205403610c50576000600485604051610a14919061199c565b90815260200160405180910390206004018054905090506000600182610a3a9190611acb565b67ffffffffffffffff811115610a5357610a52611344565b5b604051908082528060200260200182016040528015610a8657816020015b6060815260200190600190039081610a715790505b50905060005b82811015610c165785604051602001610aa5919061199c565b60405160208183030381529060405280519060200120600488604051610acb919061199c565b90815260200160405180910390206004018281548110610aee57610aed611c42565b5b90600052602060002001604051602001610b089190611bf7565b604051602081830303815290604052805190602001200315610c0957600487604051610b34919061199c565b90815260200160405180910390206004018181548110610b5757610b56611c42565b5b906000526020600020018054610b6c90611b2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9890611b2e565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b5050505050828281518110610bfd57610bfc611c42565b5b60200260200101819052505b8080600101915050610a8c565b5080600487604051610c28919061199c565b90815260200160405180910390206004019080519060200190610c4c92919061123b565b5050505b83604051610c5e919061199c565b604051809103902083604051610c74919061199c565b60405180910390207fdeb732255cff3c9836501088ec7462c5ba57ec30674ba8e3bbd21f02642a648e60405160405180910390a3610cb0611231565b50505050565b610cbe6111e2565b60001515600582604051610cd2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790611d29565b60405180910390fd5b60016000815480929190610d4390611d49565b919050555060606040518060a0016040528060015481526020018481526020018381526020016000815260200182815250600483604051610d84919061199c565b9081526020016040518091039020600082015181600001556020820151816001019081610db19190611f28565b506040820151816002019081610dc79190611f28565b50606082015181600301556080820151816004019080519060200190610dee92919061123b565b509050506001600583604051610e04919061199c565b908152602001604051809103902060006101000a81548160ff02191690831515021790555081604051610e37919061199c565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a250610e74611231565b5050565b60011515600583604051610e8c919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190611a10565b60405180910390fd5b80600483604051610efb919061199c565b90815260200160405180910390206003016000828254610f1b9190611c0e565b925050819055505050565b60608060011515600584604051610f3d919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9290611a10565b60405180910390fd5b6000600484604051610fad919061199c565b908152602001604051809103902060040180549050905060008167ffffffffffffffff811115610fe057610fdf611344565b5b60405190808252806020026020018201604052801561101357816020015b6060815260200190600190039081610ffe5790505b50905060008267ffffffffffffffff81111561103257611031611344565b5b6040519080825280602002602001820160405280156110605781602001602082028036833780820191505090505b50905060005b838110156111d35760048760405161107e919061199c565b908152602001604051809103902060040181815481106110a1576110a0611c42565b5b9060005260206000200180546110b690611b2e565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290611b2e565b801561112f5780601f106111045761010080835404028352916020019161112f565b820191906000526020600020905b81548152906001019060200180831161111257829003601f168201915b505050505083828151811061114757611146611c42565b5b6020026020010181905250600687604051611162919061199c565b908152602001604051809103902083828151811061118357611182611c42565b5b6020026020010151604051611198919061199c565b9081526020016040518091039020548282815181106111ba576111b9611c42565b5b6020026020010181815250508080600101915050611066565b50818194509450505050915091565b600260005403611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90612046565b60405180910390fd5b6002600081905550565b6001600081905550565b828054828255906000526020600020908101928215611283579160200282015b828111156112825782518290816112729190611f28565b509160200191906001019061125b565b5b5090506112909190611294565b5090565b5b808211156112b457600081816112ab91906112b8565b50600101611295565b5090565b5080546112c490611b2e565b6000825580601f106112d657506112f5565b601f0160209004906000526020600020908101906112f491906112f8565b5b50565b5b808211156113115760008160009055506001016112f9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61137c82611333565b810181811067ffffffffffffffff8211171561139b5761139a611344565b5b80604052505050565b60006113ae611315565b90506113ba8282611373565b919050565b600067ffffffffffffffff8211156113da576113d9611344565b5b6113e382611333565b9050602081019050919050565b82818337600083830152505050565b600061141261140d846113bf565b6113a4565b90508281526020810184848401111561142e5761142d61132e565b5b6114398482856113f0565b509392505050565b600082601f83011261145657611455611329565b5b81356114668482602086016113ff565b91505092915050565b6000819050919050565b6114828161146f565b811461148d57600080fd5b50565b60008135905061149f81611479565b92915050565b600080600080608085870312156114bf576114be61131f565b5b600085013567ffffffffffffffff8111156114dd576114dc611324565b5b6114e987828801611441565b94505060206114fa87828801611490565b935050604085013567ffffffffffffffff81111561151b5761151a611324565b5b61152787828801611441565b925050606061153887828801611490565b91505092959194509250565b6000806040838503121561155b5761155a61131f565b5b600083013567ffffffffffffffff81111561157957611578611324565b5b61158585828601611441565b925050602061159685828601611490565b9150509250929050565b6000602082840312156115b6576115b561131f565b5b600082013567ffffffffffffffff8111156115d4576115d3611324565b5b6115e084828501611441565b91505092915050565b6115f28161146f565b82525050565b600060208201905061160d60008301846115e9565b92915050565b6000806000806080858703121561162d5761162c61131f565b5b600085013567ffffffffffffffff81111561164b5761164a611324565b5b61165787828801611441565b945050602085013567ffffffffffffffff81111561167857611677611324565b5b61168487828801611441565b935050604061169587828801611490565b92505060606116a687828801611490565b91505092959194509250565b600080604083850312156116c9576116c861131f565b5b600083013567ffffffffffffffff8111156116e7576116e6611324565b5b6116f385828601611441565b925050602083013567ffffffffffffffff81111561171457611713611324565b5b61172085828601611441565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611790578082015181840152602081019050611775565b60008484015250505050565b60006117a782611756565b6117b18185611761565b93506117c1818560208601611772565b6117ca81611333565b840191505092915050565b60006117e1838361179c565b905092915050565b6000602082019050919050565b60006118018261172a565b61180b8185611735565b93508360208202850161181d85611746565b8060005b85811015611859578484038952815161183a85826117d5565b9450611845836117e9565b925060208a01995050600181019050611821565b50829750879550505050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118a08161146f565b82525050565b60006118b28383611897565b60208301905092915050565b6000602082019050919050565b60006118d68261186b565b6118e08185611876565b93506118eb83611887565b8060005b8381101561191c57815161190388826118a6565b975061190e836118be565b9250506001810190506118ef565b5085935050505092915050565b6000604082019050818103600083015261194381856117f6565b9050818103602083015261195781846118cb565b90509392505050565b600081905092915050565b600061197682611756565b6119808185611960565b9350611990818560208601611772565b80840191505092915050565b60006119a8828461196b565b915081905092915050565b600082825260208201905092915050565b7f5573657220646f6e277420657869737473000000000000000000000000000000600082015250565b60006119fa6011836119b3565b9150611a05826119c4565b602082019050919050565b60006020820190508181036000830152611a29816119ed565b9050919050565b7f446f6e2774206861766520656e6f7567682062616c616e636500000000000000600082015250565b6000611a666019836119b3565b9150611a7182611a30565b602082019050919050565b60006020820190508181036000830152611a9581611a59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ad68261146f565b9150611ae18361146f565b9250828203905081811115611af957611af8611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4657607f821691505b602082108103611b5957611b58611aff565b5b50919050565b60008190508160005260206000209050919050565b60008154611b8181611b2e565b611b8b8186611960565b94506001821660008114611ba65760018114611bbb57611bee565b60ff1983168652811515820286019350611bee565b611bc485611b5f565b60005b83811015611be657815481890152600182019150602081019050611bc7565b838801955050505b50505092915050565b6000611c038284611b74565b915081905092915050565b6000611c198261146f565b9150611c248361146f565b9250828201905080821115611c3c57611c3b611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f557365722073686f756c642068617665207468617420636f696e000000000000600082015250565b6000611ca7601a836119b3565b9150611cb282611c71565b602082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000611d136013836119b3565b9150611d1e82611cdd565b602082019050919050565b60006020820190508181036000830152611d4281611d06565b9050919050565b6000611d548261146f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8657611d85611a9c565b5b600182019050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611dde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611da1565b611de88683611da1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e25611e20611e1b8461146f565b611e00565b61146f565b9050919050565b6000819050919050565b611e3f83611e0a565b611e53611e4b82611e2c565b848454611dae565b825550505050565b600090565b611e68611e5b565b611e73818484611e36565b505050565b5b81811015611e9757611e8c600082611e60565b600181019050611e79565b5050565b601f821115611edc57611ead81611b5f565b611eb684611d91565b81016020851015611ec5578190505b611ed9611ed185611d91565b830182611e78565b50505b505050565b600082821c905092915050565b6000611eff60001984600802611ee1565b1980831691505092915050565b6000611f188383611eee565b9150826002028217905092915050565b611f3182611756565b67ffffffffffffffff811115611f4a57611f49611344565b5b611f548254611b2e565b611f5f828285611e9b565b600060209050601f831160018114611f925760008415611f80578287015190505b611f8a8582611f0c565b865550611ff2565b601f198416611fa086611b5f565b60005b82811015611fc857848901518255600182019150602085019450602081019050611fa3565b86831015611fe55784890151611fe1601f891682611eee565b8355505b6001600288020188555050505b505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612030601f836119b3565b915061203b82611ffa565b602082019050919050565b6000602082019050818103600083015261205f81612023565b905091905056fea2646970667358221220af223b8c15adcd94c6988a4fb74e0a8b832916cd236e81e307fcda55bf5d798864736f6c63430008180033", - "linkReferences": {}, - "deployedLinkReferences": {} -} \ No newline at end of file diff --git a/blockchain/ignition/deployments/chain-1337/build-info/d186c977926b47146660883ff7aa6a82.json b/blockchain/ignition/deployments/chain-1337/build-info/d186c977926b47146660883ff7aa6a82.json deleted file mode 100644 index cd1d59f..0000000 --- a/blockchain/ignition/deployments/chain-1337/build-info/d186c977926b47146660883ff7aa6a82.json +++ /dev/null @@ -1,29189 +0,0 @@ -{ - "id": "d186c977926b47146660883ff7aa6a82", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.24", - "solcLongVersion": "0.8.24+commit.e11b9ed9", - "input": { - "language": "Solidity", - "sources": { - "contracts/account.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport \"./ReentrancyGuard.sol\";\n\ncontract Account is ReentrancyGuard{\n uint256 private usersid;\n address payable private owner;\n string private ownermail = \"hackbrokers@gmail.com\";\n struct user {\n uint256 userid;\n string name;\n string email;\n uint256 balance;\n string[] coins;\n }\n\n mapping (string => user) private users;\n mapping (string => bool) private userexists;\n mapping (string => mapping (string => uint)) private usercoins;\n\n function createUser(string memory name,string memory email) public nonReentrant{\n require(userexists[email] == false,\"User Already Exists\");\n usersid++;\n string [] memory coins;\n users[email] = user(\n usersid,\n name,\n email,\n 0,\n coins\n );\n userexists[email] = true;\n emit userCreated(email);\n }\n\n event userCreated(\n string indexed email\n );\n\n constructor(){\n owner = payable (msg.sender);\n createUser(\"owner\",ownermail);\n usersid = 0;\n }\n\n event bought(\n string indexed coin,\n string indexed email\n );\n\n event sold(\n string indexed coin,\n string indexed email\n );\n\n function buy(string memory fromEmail,uint256 amount,string memory coin,uint256 noofcoin) public payable nonReentrant{\n require(userexists[fromEmail] == true,\"User don't exists\");\n require(users[fromEmail].balance >= amount,\"Don't have enough balance\");\n users[fromEmail].balance -= amount;\n users[ownermail].balance += amount;\n uint256 size = users[fromEmail].coins.length;\n bool found = false; \n for(uint i = 0;i < size;i++){\n if(keccak256(abi.encodePacked(users[fromEmail].coins[i])) == keccak256(abi.encodePacked(coin))){\n found = true;\n usercoins[fromEmail][coin] += noofcoin;\n break;\n }\n }\n if(!found){\n string [] memory coins = new string [](size+1);\n for(uint i = 0;i < size;i++){\n coins[i] = users[fromEmail].coins[i]; \n }\n coins[size] = coin;\n usercoins[fromEmail][coin] += noofcoin;\n users[fromEmail].coins = coins;\n }\n\n emit bought(coin, fromEmail);\n }\n\n function sell(string memory fromEmail,string memory coin,uint256 noofcoin,uint256 amount)public payable nonReentrant{\n require(userexists[fromEmail] == true,\"User don't exists\");\n require(usercoins[fromEmail][coin] >= noofcoin,\"User should have that coin\");\n users[ownermail].balance -= amount;\n users[fromEmail].balance += amount;\n usercoins[fromEmail][coin] -= noofcoin;\n if(usercoins[fromEmail][coin] == 0){\n uint256 size = users[fromEmail].coins.length;\n string [] memory coins = new string [](size-1);\n for(uint i = 0;i < size;i++){\n if(keccak256(abi.encodePacked(users[fromEmail].coins[i])) == keccak256(abi.encodePacked(coin)))continue;\n coins[i] = users[fromEmail].coins[i];\n }\n users[fromEmail].coins = coins;\n }\n emit sold(coin, fromEmail);\n }\n\n function getCoins(string memory email)public view returns(string [] memory,uint256 [] memory){\n require(userexists[email] == true,\"User don't exists\");\n uint256 size = users[email].coins.length; \n string [] memory coinname = new string [](size);\n uint [] memory nocoins = new uint [](size);\n for(uint i = 0;i < size;i++){\n coinname[i] = users[email].coins[i];\n nocoins[i] = usercoins[email][coinname[i]];\n }\n return (coinname,nocoins);\n }\n\n function getBalance(string memory email)public view returns(uint256){\n require(userexists[email] == true,\"User don't exists\");\n return users[email].balance;\n } \n\n function deposit(string memory email,uint256 balance)public {\n require(userexists[email] == true,\"User don't exists\");\n users[email].balance += balance;\n } \n\n function withdraw(string memory email,uint256 balance)public {\n require(userexists[email] == true,\"User don't exists\");\n require(users[email].balance >= balance);\n users[email].balance -= balance;\n } \n}" - }, - "contracts/ReentrancyGuard.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Contract module that helps prevent reentrant calls to a function.\n *\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n * available, which can be applied to functions to make sure there are no nested\n * (reentrant) calls to them.\n *\n * Note that because there is a single `nonReentrant` guard, functions marked as\n * `nonReentrant` may not call one another. This can be worked around by making\n * those functions `private`, and then adding `external` `nonReentrant` entry\n * points to them.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n */\nabstract contract ReentrancyGuard {\n // Booleans are more expensive than uint256 or any type that takes up a full\n // word because each write operation emits an extra SLOAD to first read the\n // slot's contents, replace the bits taken up by the boolean, and then write\n // back. This is the compiler's defense against contract upgrades and\n // pointer aliasing, and it cannot be disabled.\n\n // The values being non-zero value makes deployment a bit more expensive,\n // but in exchange the refund on every call to nonReentrant will be lower in\n // amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to\n // increase the likelihood of the full refund coming into effect.\n uint256 private constant _NOT_ENTERED = 1;\n uint256 private constant _ENTERED = 2;\n\n uint256 private _status;\n\n constructor() {\n _status = _NOT_ENTERED;\n }\n\n /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant`\n * function is not supported. It is possible to prevent this from happening\n * by making the `nonReentrant` function external, and making it call a\n * `private` function that does the actual work.\n */\n modifier nonReentrant() {\n _nonReentrantBefore();\n _;\n _nonReentrantAfter();\n }\n\n function _nonReentrantBefore() private {\n // On the first call to nonReentrant, _status will be _NOT_ENTERED\n require(_status != _ENTERED, \"ReentrancyGuard: reentrant call\");\n\n // Any calls to nonReentrant after this point will fail\n _status = _ENTERED;\n }\n\n function _nonReentrantAfter() private {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _status = _NOT_ENTERED;\n }\n\n /**\n * @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n * `nonReentrant` function in the call stack.\n */\n function _reentrancyGuardEntered() internal view returns (bool) {\n return _status == _ENTERED;\n }\n}\n" - } - }, - "settings": { - "evmVersion": "paris", - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "output": { - "sources": { - "contracts/ReentrancyGuard.sol": { - "ast": { - "absolutePath": "contracts/ReentrancyGuard.sol", - "exportedSymbols": { - "ReentrancyGuard": [ - 64 - ] - }, - "id": 65, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "112:23:0" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "ReentrancyGuard", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2, - "nodeType": "StructuredDocumentation", - "src": "137:750:0", - "text": " @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]." - }, - "fullyImplemented": true, - "id": 64, - "linearizedBaseContracts": [ - 64 - ], - "name": "ReentrancyGuard", - "nameLocation": "906:15:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 5, - "mutability": "constant", - "name": "_NOT_ENTERED", - "nameLocation": "1701:12:0", - "nodeType": "VariableDeclaration", - "scope": 64, - "src": "1676:41:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 4, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1716:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8, - "mutability": "constant", - "name": "_ENTERED", - "nameLocation": "1748:8:0", - "nodeType": "VariableDeclaration", - "scope": 64, - "src": "1723:37:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1723:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 7, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1759:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 10, - "mutability": "mutable", - "name": "_status", - "nameLocation": "1783:7:0", - "nodeType": "VariableDeclaration", - "scope": 64, - "src": "1767:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1767:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 17, - "nodeType": "Block", - "src": "1811:39:0", - "statements": [ - { - "expression": { - "id": 15, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 13, - "name": "_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "1821:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 14, - "name": "_NOT_ENTERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "1831:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1821:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 16, - "nodeType": "ExpressionStatement", - "src": "1821:22:0" - } - ] - }, - "id": 18, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11, - "nodeType": "ParameterList", - "parameters": [], - "src": "1808:2:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [], - "src": "1811:0:0" - }, - "scope": 64, - "src": "1797:53:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 28, - "nodeType": "Block", - "src": "2251:79:0", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 21, - "name": "_nonReentrantBefore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44, - "src": "2261:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 22, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2261:21:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 23, - "nodeType": "ExpressionStatement", - "src": "2261:21:0" - }, - { - "id": 24, - "nodeType": "PlaceholderStatement", - "src": "2292:1:0" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 25, - "name": "_nonReentrantAfter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "2303:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2303:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27, - "nodeType": "ExpressionStatement", - "src": "2303:20:0" - } - ] - }, - "documentation": { - "id": 19, - "nodeType": "StructuredDocumentation", - "src": "1856:366:0", - "text": " @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work." - }, - "id": 29, - "name": "nonReentrant", - "nameLocation": "2236:12:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 20, - "nodeType": "ParameterList", - "parameters": [], - "src": "2248:2:0" - }, - "src": "2227:103:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 43, - "nodeType": "Block", - "src": "2375:248:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 35, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 33, - "name": "_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "2468:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 34, - "name": "_ENTERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "2479:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2468:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c", - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2489:33:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", - "typeString": "literal_string \"ReentrancyGuard: reentrant call\"" - }, - "value": "ReentrancyGuard: reentrant call" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", - "typeString": "literal_string \"ReentrancyGuard: reentrant call\"" - } - ], - "id": 32, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2460:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2460:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 38, - "nodeType": "ExpressionStatement", - "src": "2460:63:0" - }, - { - "expression": { - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 39, - "name": "_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "2598:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 40, - "name": "_ENTERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "2608:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2598:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 42, - "nodeType": "ExpressionStatement", - "src": "2598:18:0" - } - ] - }, - "id": 44, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_nonReentrantBefore", - "nameLocation": "2345:19:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 30, - "nodeType": "ParameterList", - "parameters": [], - "src": "2364:2:0" - }, - "returnParameters": { - "id": 31, - "nodeType": "ParameterList", - "parameters": [], - "src": "2375:0:0" - }, - "scope": 64, - "src": "2336:287:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 51, - "nodeType": "Block", - "src": "2667:171:0", - "statements": [ - { - "expression": { - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 47, - "name": "_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "2809:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 48, - "name": "_NOT_ENTERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "2819:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2809:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 50, - "nodeType": "ExpressionStatement", - "src": "2809:22:0" - } - ] - }, - "id": 52, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_nonReentrantAfter", - "nameLocation": "2638:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 45, - "nodeType": "ParameterList", - "parameters": [], - "src": "2656:2:0" - }, - "returnParameters": { - "id": 46, - "nodeType": "ParameterList", - "parameters": [], - "src": "2667:0:0" - }, - "scope": 64, - "src": "2629:209:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 62, - "nodeType": "Block", - "src": "3081:43:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 60, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 58, - "name": "_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "3098:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 59, - "name": "_ENTERED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "3109:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3098:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 57, - "id": 61, - "nodeType": "Return", - "src": "3091:26:0" - } - ] - }, - "documentation": { - "id": 53, - "nodeType": "StructuredDocumentation", - "src": "2844:168:0", - "text": " @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n `nonReentrant` function in the call stack." - }, - "id": 63, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_reentrancyGuardEntered", - "nameLocation": "3026:23:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 54, - "nodeType": "ParameterList", - "parameters": [], - "src": "3049:2:0" - }, - "returnParameters": { - "id": 57, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 63, - "src": "3075:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 55, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3075:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3074:6:0" - }, - "scope": 64, - "src": "3017:107:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 65, - "src": "888:2238:0", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "112:3015:0" - }, - "id": 0 - }, - "contracts/account.sol": { - "ast": { - "absolutePath": "contracts/account.sol", - "exportedSymbols": { - "Account": [ - 671 - ], - "ReentrancyGuard": [ - 64 - ] - }, - "id": 672, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 66, - "literals": [ - "solidity", - "^", - "0.8", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "32:24:1" - }, - { - "absolutePath": "contracts/ReentrancyGuard.sol", - "file": "./ReentrancyGuard.sol", - "id": 67, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 672, - "sourceUnit": 65, - "src": "58:31:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 68, - "name": "ReentrancyGuard", - "nameLocations": [ - "111:15:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 64, - "src": "111:15:1" - }, - "id": 69, - "nodeType": "InheritanceSpecifier", - "src": "111:15:1" - } - ], - "canonicalName": "Account", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 671, - "linearizedBaseContracts": [ - 671, - 64 - ], - "name": "Account", - "nameLocation": "100:7:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 71, - "mutability": "mutable", - "name": "usersid", - "nameLocation": "148:7:1", - "nodeType": "VariableDeclaration", - "scope": 671, - "src": "132:23:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 70, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "132:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 73, - "mutability": "mutable", - "name": "owner", - "nameLocation": "185:5:1", - "nodeType": "VariableDeclaration", - "scope": 671, - "src": "161:29:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 72, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "161:15:1", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 76, - "mutability": "mutable", - "name": "ownermail", - "nameLocation": "211:9:1", - "nodeType": "VariableDeclaration", - "scope": 671, - "src": "196:50:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 74, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "196:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "6861636b62726f6b65727340676d61696c2e636f6d", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "223:23:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd7e06c5fa7e642d0743b579bf6635d9f457d4782f524eef49c92f7fe05ce169", - "typeString": "literal_string \"hackbrokers@gmail.com\"" - }, - "value": "hackbrokers@gmail.com" - }, - "visibility": "private" - }, - { - "canonicalName": "Account.user", - "id": 88, - "members": [ - { - "constant": false, - "id": 78, - "mutability": "mutable", - "name": "userid", - "nameLocation": "282:6:1", - "nodeType": "VariableDeclaration", - "scope": 88, - "src": "274:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80, - "mutability": "mutable", - "name": "name", - "nameLocation": "305:4:1", - "nodeType": "VariableDeclaration", - "scope": 88, - "src": "298:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 79, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "298:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 82, - "mutability": "mutable", - "name": "email", - "nameLocation": "326:5:1", - "nodeType": "VariableDeclaration", - "scope": 88, - "src": "319:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 81, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "319:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 84, - "mutability": "mutable", - "name": "balance", - "nameLocation": "349:7:1", - "nodeType": "VariableDeclaration", - "scope": 88, - "src": "341:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 83, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "341:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87, - "mutability": "mutable", - "name": "coins", - "nameLocation": "375:5:1", - "nodeType": "VariableDeclaration", - "scope": 88, - "src": "366:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 85, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "366:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 86, - "nodeType": "ArrayTypeName", - "src": "366:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - } - ], - "name": "user", - "nameLocation": "259:4:1", - "nodeType": "StructDefinition", - "scope": 671, - "src": "252:135:1", - "visibility": "public" - }, - { - "constant": false, - "id": 93, - "mutability": "mutable", - "name": "users", - "nameLocation": "426:5:1", - "nodeType": "VariableDeclaration", - "scope": 671, - "src": "393:38:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string => struct Account.user)" - }, - "typeName": { - "id": 92, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 89, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "402:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "393:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string => struct Account.user)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 91, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 90, - "name": "user", - "nameLocations": [ - "412:4:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 88, - "src": "412:4:1" - }, - "referencedDeclaration": 88, - "src": "412:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage_ptr", - "typeString": "struct Account.user" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 97, - "mutability": "mutable", - "name": "userexists", - "nameLocation": "470:10:1", - "nodeType": "VariableDeclaration", - "scope": 671, - "src": "437:43:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string => bool)" - }, - "typeName": { - "id": 96, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 94, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "446:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "437:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string => bool)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 95, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "456:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 103, - "mutability": "mutable", - "name": "usercoins", - "nameLocation": "540:9:1", - "nodeType": "VariableDeclaration", - "scope": 671, - "src": "486:63:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string => mapping(string => uint256))" - }, - "typeName": { - "id": 102, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 98, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "495:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "486:44:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string => mapping(string => uint256))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 101, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 99, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "514:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "505:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 100, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "524:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "body": { - "id": 152, - "nodeType": "Block", - "src": "636:323:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 113, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "654:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 115, - "indexExpression": { - "id": 114, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "665:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "654:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "66616c7365", - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "675:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "654:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5573657220416c726561647920457869737473", - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "681:21:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e", - "typeString": "literal_string \"User Already Exists\"" - }, - "value": "User Already Exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e", - "typeString": "literal_string \"User Already Exists\"" - } - ], - "id": 112, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "646:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "646:57:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 120, - "nodeType": "ExpressionStatement", - "src": "646:57:1" - }, - { - "expression": { - "id": 122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "713:9:1", - "subExpression": { - "id": 121, - "name": "usersid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "713:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "nodeType": "ExpressionStatement", - "src": "713:9:1" - }, - { - "assignments": [ - 128 - ], - "declarations": [ - { - "constant": false, - "id": 128, - "mutability": "mutable", - "name": "coins", - "nameLocation": "749:5:1", - "nodeType": "VariableDeclaration", - "scope": 152, - "src": "732:22:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 126, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "732:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 127, - "nodeType": "ArrayTypeName", - "src": "732:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - } - ], - "id": 129, - "nodeType": "VariableDeclarationStatement", - "src": "732:22:1" - }, - { - "expression": { - "id": 140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 130, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "764:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 132, - "indexExpression": { - "id": 131, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "770:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "764:12:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 134, - "name": "usersid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "797:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 135, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "818:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 136, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "836:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "30", - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "855:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 138, - "name": "coins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "870:5:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - ], - "id": 133, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "779:4:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_user_$88_storage_ptr_$", - "typeString": "type(struct Account.user storage pointer)" - } - }, - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "779:106:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_memory_ptr", - "typeString": "struct Account.user memory" - } - }, - "src": "764:121:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 141, - "nodeType": "ExpressionStatement", - "src": "764:121:1" - }, - { - "expression": { - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 142, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "895:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 144, - "indexExpression": { - "id": 143, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "906:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "895:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "915:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "895:24:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 147, - "nodeType": "ExpressionStatement", - "src": "895:24:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 149, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107, - "src": "946:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 148, - "name": "userCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "934:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "934:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 151, - "nodeType": "EmitStatement", - "src": "929:23:1" - } - ] - }, - "functionSelector": "87b162b5", - "id": 153, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 110, - "kind": "modifierInvocation", - "modifierName": { - "id": 109, - "name": "nonReentrant", - "nameLocations": [ - "624:12:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 29, - "src": "624:12:1" - }, - "nodeType": "ModifierInvocation", - "src": "624:12:1" - } - ], - "name": "createUser", - "nameLocation": "565:10:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 105, - "mutability": "mutable", - "name": "name", - "nameLocation": "590:4:1", - "nodeType": "VariableDeclaration", - "scope": 153, - "src": "576:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "576:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107, - "mutability": "mutable", - "name": "email", - "nameLocation": "610:5:1", - "nodeType": "VariableDeclaration", - "scope": 153, - "src": "595:20:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 106, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "595:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "575:41:1" - }, - "returnParameters": { - "id": 111, - "nodeType": "ParameterList", - "parameters": [], - "src": "636:0:1" - }, - "scope": 671, - "src": "556:403:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "anonymous": false, - "eventSelector": "6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e06555097", - "id": 157, - "name": "userCreated", - "nameLocation": "971:11:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 155, - "indexed": true, - "mutability": "mutable", - "name": "email", - "nameLocation": "1007:5:1", - "nodeType": "VariableDeclaration", - "scope": 157, - "src": "992:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 154, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "992:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "982:36:1" - }, - "src": "965:54:1" - }, - { - "body": { - "id": 177, - "nodeType": "Block", - "src": "1038:105:1", - "statements": [ - { - "expression": { - "id": 166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 160, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "1048:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 163, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1065:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1069:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1065:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1056:9:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 161, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1056:9:1", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1056:20:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1048:28:1", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 167, - "nodeType": "ExpressionStatement", - "src": "1048:28:1" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "6f776e6572", - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1097:7:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0", - "typeString": "literal_string \"owner\"" - }, - "value": "owner" - }, - { - "id": 170, - "name": "ownermail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "1105:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0", - "typeString": "literal_string \"owner\"" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 168, - "name": "createUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "1086:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory,string memory)" - } - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1086:29:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 172, - "nodeType": "ExpressionStatement", - "src": "1086:29:1" - }, - { - "expression": { - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 173, - "name": "usersid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "1125:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1135:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1125:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1125:11:1" - } - ] - }, - "id": 178, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 158, - "nodeType": "ParameterList", - "parameters": [], - "src": "1036:2:1" - }, - "returnParameters": { - "id": 159, - "nodeType": "ParameterList", - "parameters": [], - "src": "1038:0:1" - }, - "scope": 671, - "src": "1025:118:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "anonymous": false, - "eventSelector": "9a8355253d14b2e278c55c8a768aa8cc07687bab63144bbea0f2c7b3786157d2", - "id": 184, - "name": "bought", - "nameLocation": "1155:6:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 180, - "indexed": true, - "mutability": "mutable", - "name": "coin", - "nameLocation": "1186:4:1", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1171:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 179, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1171:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 182, - "indexed": true, - "mutability": "mutable", - "name": "email", - "nameLocation": "1215:5:1", - "nodeType": "VariableDeclaration", - "scope": 184, - "src": "1200:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 181, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1200:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1161:65:1" - }, - "src": "1149:78:1" - }, - { - "anonymous": false, - "eventSelector": "deb732255cff3c9836501088ec7462c5ba57ec30674ba8e3bbd21f02642a648e", - "id": 190, - "name": "sold", - "nameLocation": "1239:4:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 186, - "indexed": true, - "mutability": "mutable", - "name": "coin", - "nameLocation": "1268:4:1", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1253:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 185, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1253:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 188, - "indexed": true, - "mutability": "mutable", - "name": "email", - "nameLocation": "1297:5:1", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1282:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 187, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1282:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1243:65:1" - }, - "src": "1233:76:1" - }, - { - "body": { - "id": 359, - "nodeType": "Block", - "src": "1432:975:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 204, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "1450:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 206, - "indexExpression": { - "id": 205, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1461:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1450:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "74727565", - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1475:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1450:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5573657220646f6e277420657869737473", - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1480:19:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - }, - "value": "User don't exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - } - ], - "id": 203, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1442:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1442:58:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 211, - "nodeType": "ExpressionStatement", - "src": "1442:58:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 213, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1518:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 215, - "indexExpression": { - "id": 214, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1524:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1518:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1535:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "1518:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 217, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "1546:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1518:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "446f6e2774206861766520656e6f7567682062616c616e6365", - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1553:27:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72", - "typeString": "literal_string \"Don't have enough balance\"" - }, - "value": "Don't have enough balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72", - "typeString": "literal_string \"Don't have enough balance\"" - } - ], - "id": 212, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1510:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1510:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 221, - "nodeType": "ExpressionStatement", - "src": "1510:71:1" - }, - { - "expression": { - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 222, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1591:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 224, - "indexExpression": { - "id": 223, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1597:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1591:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1608:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "1591:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 226, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "1619:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1591:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 228, - "nodeType": "ExpressionStatement", - "src": "1591:34:1" - }, - { - "expression": { - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 229, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1635:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 231, - "indexExpression": { - "id": 230, - "name": "ownermail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "1641:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1635:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 232, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1652:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "1635:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 233, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "1663:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1635:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "1635:34:1" - }, - { - "assignments": [ - 237 - ], - "declarations": [ - { - "constant": false, - "id": 237, - "mutability": "mutable", - "name": "size", - "nameLocation": "1687:4:1", - "nodeType": "VariableDeclaration", - "scope": 359, - "src": "1679:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1679:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 243, - "initialValue": { - "expression": { - "expression": { - "baseExpression": { - "id": 238, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1694:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 240, - "indexExpression": { - "id": 239, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1700:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1694:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 241, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1711:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "1694:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1717:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1694:29:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1679:44:1" - }, - { - "assignments": [ - 245 - ], - "declarations": [ - { - "constant": false, - "id": 245, - "mutability": "mutable", - "name": "found", - "nameLocation": "1738:5:1", - "nodeType": "VariableDeclaration", - "scope": 359, - "src": "1733:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 244, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1733:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 247, - "initialValue": { - "hexValue": "66616c7365", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1746:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1733:18:1" - }, - { - "body": { - "id": 291, - "nodeType": "Block", - "src": "1790:243:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 261, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1834:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 263, - "indexExpression": { - "id": 262, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1840:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1834:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 264, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1851:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "1834:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 266, - "indexExpression": { - "id": 265, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "1857:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1834:25:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "expression": { - "id": 259, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1817:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1821:12:1", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1817:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1817:43:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 258, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1807:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1807:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 272, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "1892:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 270, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1875:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1879:12:1", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1875:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1875:22:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 269, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1865:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1865:33:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1807:91:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 290, - "nodeType": "IfStatement", - "src": "1804:219:1", - "trueBody": { - "id": 289, - "nodeType": "Block", - "src": "1899:124:1", - "statements": [ - { - "expression": { - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 276, - "name": "found", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 245, - "src": "1917:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1925:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1917:12:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "1917:12:1" - }, - { - "expression": { - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 280, - "name": "usercoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1947:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string memory => mapping(string memory => uint256))" - } - }, - "id": 283, - "indexExpression": { - "id": 281, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1957:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1947:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 284, - "indexExpression": { - "id": 282, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "1968:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1947:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 285, - "name": "noofcoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "1977:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1947:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 287, - "nodeType": "ExpressionStatement", - "src": "1947:38:1" - }, - { - "id": 288, - "nodeType": "Break", - "src": "2003:5:1" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 252, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "1777:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 253, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "1781:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1777:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 292, - "initializationExpression": { - "assignments": [ - 249 - ], - "declarations": [ - { - "constant": false, - "id": 249, - "mutability": "mutable", - "name": "i", - "nameLocation": "1771:1:1", - "nodeType": "VariableDeclaration", - "scope": 292, - "src": "1766:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 248, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1766:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 251, - "initialValue": { - "hexValue": "30", - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1775:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1766:10:1" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "expression": { - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1786:3:1", - "subExpression": { - "id": 255, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "1786:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 257, - "nodeType": "ExpressionStatement", - "src": "1786:3:1" - }, - "nodeType": "ForStatement", - "src": "1762:271:1" - }, - { - "condition": { - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2045:6:1", - "subExpression": { - "id": 293, - "name": "found", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 245, - "src": "2046:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 353, - "nodeType": "IfStatement", - "src": "2042:320:1", - "trueBody": { - "id": 352, - "nodeType": "Block", - "src": "2052:310:1", - "statements": [ - { - "assignments": [ - 299 - ], - "declarations": [ - { - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "coins", - "nameLocation": "2083:5:1", - "nodeType": "VariableDeclaration", - "scope": 352, - "src": "2066:22:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 297, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2066:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 298, - "nodeType": "ArrayTypeName", - "src": "2066:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - } - ], - "id": 307, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 303, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "2105:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2110:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2105:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2091:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory[] memory)" - }, - "typeName": { - "baseType": { - "id": 300, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2095:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 301, - "nodeType": "ArrayTypeName", - "src": "2095:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2091:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2066:46:1" - }, - { - "body": { - "id": 329, - "nodeType": "Block", - "src": "2154:70:1", - "statements": [ - { - "expression": { - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 318, - "name": "coins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "2172:5:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 320, - "indexExpression": { - "id": 319, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "2178:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2172:8:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 321, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2183:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 323, - "indexExpression": { - "id": 322, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2189:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2183:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2200:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "2183:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 326, - "indexExpression": { - "id": 325, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "2206:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2183:25:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "2172:36:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 328, - "nodeType": "ExpressionStatement", - "src": "2172:36:1" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 312, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "2141:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 313, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "2145:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2141:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 330, - "initializationExpression": { - "assignments": [ - 309 - ], - "declarations": [ - { - "constant": false, - "id": 309, - "mutability": "mutable", - "name": "i", - "nameLocation": "2135:1:1", - "nodeType": "VariableDeclaration", - "scope": 330, - "src": "2130:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 308, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2130:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 311, - "initialValue": { - "hexValue": "30", - "id": 310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2139:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2130:10:1" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "expression": { - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2150:3:1", - "subExpression": { - "id": 315, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "2150:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "2150:3:1" - }, - "nodeType": "ForStatement", - "src": "2126:98:1" - }, - { - "expression": { - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 331, - "name": "coins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "2237:5:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 333, - "indexExpression": { - "id": 332, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 237, - "src": "2243:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2237:11:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 334, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "2251:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2237:18:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 336, - "nodeType": "ExpressionStatement", - "src": "2237:18:1" - }, - { - "expression": { - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 337, - "name": "usercoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2269:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string memory => mapping(string memory => uint256))" - } - }, - "id": 340, - "indexExpression": { - "id": 338, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2279:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2269:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 341, - "indexExpression": { - "id": 339, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "2290:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2269:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 342, - "name": "noofcoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "2299:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2269:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 344, - "nodeType": "ExpressionStatement", - "src": "2269:38:1" - }, - { - "expression": { - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 345, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2321:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 347, - "indexExpression": { - "id": 346, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2327:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2321:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2338:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "2321:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 349, - "name": "coins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "2346:5:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "src": "2321:30:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "2321:30:1" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 355, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "2384:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 356, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2390:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 354, - "name": "bought", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "2377:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory,string memory)" - } - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2377:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 358, - "nodeType": "EmitStatement", - "src": "2372:28:1" - } - ] - }, - "functionSelector": "018533a8", - "id": 360, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 201, - "kind": "modifierInvocation", - "modifierName": { - "id": 200, - "name": "nonReentrant", - "nameLocations": [ - "1420:12:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 29, - "src": "1420:12:1" - }, - "nodeType": "ModifierInvocation", - "src": "1420:12:1" - } - ], - "name": "buy", - "nameLocation": "1324:3:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 192, - "mutability": "mutable", - "name": "fromEmail", - "nameLocation": "1342:9:1", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "1328:23:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 191, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1328:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 194, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1360:6:1", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "1352:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 196, - "mutability": "mutable", - "name": "coin", - "nameLocation": "1381:4:1", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "1367:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 195, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1367:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 198, - "mutability": "mutable", - "name": "noofcoin", - "nameLocation": "1394:8:1", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "1386:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1386:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1327:76:1" - }, - "returnParameters": { - "id": 202, - "nodeType": "ParameterList", - "parameters": [], - "src": "1432:0:1" - }, - "scope": 671, - "src": "1315:1092:1", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 500, - "nodeType": "Block", - "src": "2530:781:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 374, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "2548:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 376, - "indexExpression": { - "id": 375, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "2559:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2548:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "74727565", - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2573:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2548:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5573657220646f6e277420657869737473", - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2578:19:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - }, - "value": "User don't exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - } - ], - "id": 373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2540:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2540:58:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 381, - "nodeType": "ExpressionStatement", - "src": "2540:58:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 383, - "name": "usercoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2616:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string memory => mapping(string memory => uint256))" - } - }, - "id": 385, - "indexExpression": { - "id": 384, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "2626:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2616:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 387, - "indexExpression": { - "id": 386, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "2637:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2616:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 388, - "name": "noofcoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "2646:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2616:38:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "557365722073686f756c642068617665207468617420636f696e", - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2655:28:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9", - "typeString": "literal_string \"User should have that coin\"" - }, - "value": "User should have that coin" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9", - "typeString": "literal_string \"User should have that coin\"" - } - ], - "id": 382, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2608:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2608:76:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 392, - "nodeType": "ExpressionStatement", - "src": "2608:76:1" - }, - { - "expression": { - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 393, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2694:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 395, - "indexExpression": { - "id": 394, - "name": "ownermail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "2700:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2694:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2711:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "2694:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 397, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 368, - "src": "2722:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2694:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 399, - "nodeType": "ExpressionStatement", - "src": "2694:34:1" - }, - { - "expression": { - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 400, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2738:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 402, - "indexExpression": { - "id": 401, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "2744:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2738:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2755:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "2738:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 404, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 368, - "src": "2766:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2738:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 406, - "nodeType": "ExpressionStatement", - "src": "2738:34:1" - }, - { - "expression": { - "id": 413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 407, - "name": "usercoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2782:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string memory => mapping(string memory => uint256))" - } - }, - "id": 410, - "indexExpression": { - "id": 408, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "2792:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2782:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 411, - "indexExpression": { - "id": 409, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "2803:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2782:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 412, - "name": "noofcoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "2812:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2782:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 414, - "nodeType": "ExpressionStatement", - "src": "2782:38:1" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 415, - "name": "usercoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2833:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string memory => mapping(string memory => uint256))" - } - }, - "id": 417, - "indexExpression": { - "id": 416, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "2843:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2833:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 419, - "indexExpression": { - "id": 418, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "2854:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2833:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2863:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2833:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 494, - "nodeType": "IfStatement", - "src": "2830:439:1", - "trueBody": { - "id": 493, - "nodeType": "Block", - "src": "2865:404:1", - "statements": [ - { - "assignments": [ - 423 - ], - "declarations": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "size", - "nameLocation": "2887:4:1", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2879:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2879:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 429, - "initialValue": { - "expression": { - "expression": { - "baseExpression": { - "id": 424, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2894:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 426, - "indexExpression": { - "id": 425, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "2900:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2894:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2911:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "2894:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2917:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2894:29:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2879:44:1" - }, - { - "assignments": [ - 434 - ], - "declarations": [ - { - "constant": false, - "id": 434, - "mutability": "mutable", - "name": "coins", - "nameLocation": "2954:5:1", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2937:22:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 432, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2937:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 433, - "nodeType": "ArrayTypeName", - "src": "2937:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - } - ], - "id": 442, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 438, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "2976:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2981:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2976:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2962:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory[] memory)" - }, - "typeName": { - "baseType": { - "id": 435, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2966:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 436, - "nodeType": "ArrayTypeName", - "src": "2966:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2962:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2937:46:1" - }, - { - "body": { - "id": 484, - "nodeType": "Block", - "src": "3025:190:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 456, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3073:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 458, - "indexExpression": { - "id": 457, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "3079:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3073:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3090:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "3073:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 461, - "indexExpression": { - "id": 460, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 444, - "src": "3096:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3073:25:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "expression": { - "id": 454, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3056:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3060:12:1", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3056:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3056:43:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 453, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3046:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3046:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 467, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "3131:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 465, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3114:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 466, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3118:12:1", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3114:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3114:22:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 464, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3104:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3104:33:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3046:91:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 472, - "nodeType": "IfStatement", - "src": "3043:103:1", - "trueBody": { - "id": 471, - "nodeType": "Continue", - "src": "3138:8:1" - } - }, - { - "expression": { - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 473, - "name": "coins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "3164:5:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 475, - "indexExpression": { - "id": 474, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 444, - "src": "3170:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3164:8:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 476, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3175:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 478, - "indexExpression": { - "id": 477, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "3181:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3175:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3192:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "3175:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 481, - "indexExpression": { - "id": 480, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 444, - "src": "3198:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3175:25:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "3164:36:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 483, - "nodeType": "ExpressionStatement", - "src": "3164:36:1" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 447, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 444, - "src": "3012:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 448, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "3016:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3012:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 485, - "initializationExpression": { - "assignments": [ - 444 - ], - "declarations": [ - { - "constant": false, - "id": 444, - "mutability": "mutable", - "name": "i", - "nameLocation": "3006:1:1", - "nodeType": "VariableDeclaration", - "scope": 485, - "src": "3001:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 443, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3001:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 446, - "initialValue": { - "hexValue": "30", - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3010:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3001:10:1" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "expression": { - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3021:3:1", - "subExpression": { - "id": 450, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 444, - "src": "3021:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 452, - "nodeType": "ExpressionStatement", - "src": "3021:3:1" - }, - "nodeType": "ForStatement", - "src": "2997:218:1" - }, - { - "expression": { - "id": 491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 486, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3228:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 488, - "indexExpression": { - "id": 487, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "3234:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3228:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 489, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3245:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "3228:22:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 490, - "name": "coins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 434, - "src": "3253:5:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "src": "3228:30:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 492, - "nodeType": "ExpressionStatement", - "src": "3228:30:1" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 496, - "name": "coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "3288:4:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 497, - "name": "fromEmail", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "3294:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 495, - "name": "sold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 190, - "src": "3283:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory,string memory)" - } - }, - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3283:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 499, - "nodeType": "EmitStatement", - "src": "3278:26:1" - } - ] - }, - "functionSelector": "516b6d07", - "id": 501, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 371, - "kind": "modifierInvocation", - "modifierName": { - "id": 370, - "name": "nonReentrant", - "nameLocations": [ - "2518:12:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 29, - "src": "2518:12:1" - }, - "nodeType": "ModifierInvocation", - "src": "2518:12:1" - } - ], - "name": "sell", - "nameLocation": "2422:4:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 362, - "mutability": "mutable", - "name": "fromEmail", - "nameLocation": "2441:9:1", - "nodeType": "VariableDeclaration", - "scope": 501, - "src": "2427:23:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 361, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2427:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 364, - "mutability": "mutable", - "name": "coin", - "nameLocation": "2465:4:1", - "nodeType": "VariableDeclaration", - "scope": 501, - "src": "2451:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 363, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2451:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 366, - "mutability": "mutable", - "name": "noofcoin", - "nameLocation": "2478:8:1", - "nodeType": "VariableDeclaration", - "scope": 501, - "src": "2470:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2470:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 368, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2495:6:1", - "nodeType": "VariableDeclaration", - "scope": 501, - "src": "2487:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2487:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2426:76:1" - }, - "returnParameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "2530:0:1" - }, - "scope": 671, - "src": "2413:898:1", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 590, - "nodeType": "Block", - "src": "3410:419:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 513, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "3428:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 515, - "indexExpression": { - "id": 514, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "3439:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3428:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "74727565", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3449:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3428:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5573657220646f6e277420657869737473", - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3454:19:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - }, - "value": "User don't exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - } - ], - "id": 512, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3420:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3420:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 520, - "nodeType": "ExpressionStatement", - "src": "3420:54:1" - }, - { - "assignments": [ - 522 - ], - "declarations": [ - { - "constant": false, - "id": 522, - "mutability": "mutable", - "name": "size", - "nameLocation": "3492:4:1", - "nodeType": "VariableDeclaration", - "scope": 590, - "src": "3484:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3484:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 528, - "initialValue": { - "expression": { - "expression": { - "baseExpression": { - "id": 523, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3499:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 525, - "indexExpression": { - "id": 524, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "3505:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3499:12:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3512:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "3499:18:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3518:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3499:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3484:40:1" - }, - { - "assignments": [ - 533 - ], - "declarations": [ - { - "constant": false, - "id": 533, - "mutability": "mutable", - "name": "coinname", - "nameLocation": "3552:8:1", - "nodeType": "VariableDeclaration", - "scope": 590, - "src": "3535:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 531, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3535:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 532, - "nodeType": "ArrayTypeName", - "src": "3535:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - } - ], - "id": 539, - "initialValue": { - "arguments": [ - { - "id": 537, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 522, - "src": "3577:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3563:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory[] memory)" - }, - "typeName": { - "baseType": { - "id": 534, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3567:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 535, - "nodeType": "ArrayTypeName", - "src": "3567:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - } - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3563:19:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3535:47:1" - }, - { - "assignments": [ - 544 - ], - "declarations": [ - { - "constant": false, - "id": 544, - "mutability": "mutable", - "name": "nocoins", - "nameLocation": "3607:7:1", - "nodeType": "VariableDeclaration", - "scope": 590, - "src": "3592:22:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 542, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3592:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 543, - "nodeType": "ArrayTypeName", - "src": "3592:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 550, - "initialValue": { - "arguments": [ - { - "id": 548, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 522, - "src": "3629:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3617:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 545, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3621:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 546, - "nodeType": "ArrayTypeName", - "src": "3621:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3617:17:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3592:42:1" - }, - { - "body": { - "id": 584, - "nodeType": "Block", - "src": "3672:116:1", - "statements": [ - { - "expression": { - "id": 570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 561, - "name": "coinname", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3686:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 563, - "indexExpression": { - "id": 562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "3695:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3686:11:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 564, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3700:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 566, - "indexExpression": { - "id": 565, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "3706:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3700:12:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 567, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3713:5:1", - "memberName": "coins", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "3700:18:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", - "typeString": "string storage ref[] storage ref" - } - }, - "id": 569, - "indexExpression": { - "id": 568, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "3719:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3700:21:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "3686:35:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 571, - "nodeType": "ExpressionStatement", - "src": "3686:35:1" - }, - { - "expression": { - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 572, - "name": "nocoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 544, - "src": "3735:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 574, - "indexExpression": { - "id": 573, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "3743:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3735:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "baseExpression": { - "id": 575, - "name": "usercoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3748:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_mapping$_t_string_memory_ptr_$_t_uint256_$_$", - "typeString": "mapping(string memory => mapping(string memory => uint256))" - } - }, - "id": 577, - "indexExpression": { - "id": 576, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "3758:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3748:16:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 581, - "indexExpression": { - "baseExpression": { - "id": 578, - "name": "coinname", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3765:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 580, - "indexExpression": { - "id": 579, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "3774:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3765:11:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3748:29:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3735:42:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 583, - "nodeType": "ExpressionStatement", - "src": "3735:42:1" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 555, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "3659:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 556, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 522, - "src": "3663:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3659:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 585, - "initializationExpression": { - "assignments": [ - 552 - ], - "declarations": [ - { - "constant": false, - "id": 552, - "mutability": "mutable", - "name": "i", - "nameLocation": "3653:1:1", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "3648:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 551, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3648:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 554, - "initialValue": { - "hexValue": "30", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3657:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3648:10:1" - }, - "isSimpleCounterLoop": true, - "loopExpression": { - "expression": { - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3668:3:1", - "subExpression": { - "id": 558, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "3668:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3668:3:1" - }, - "nodeType": "ForStatement", - "src": "3644:144:1" - }, - { - "expression": { - "components": [ - { - "id": 586, - "name": "coinname", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3805:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - { - "id": 587, - "name": "nocoins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 544, - "src": "3814:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 588, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3804:18:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(string memory[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 511, - "id": 589, - "nodeType": "Return", - "src": "3797:25:1" - } - ] - }, - "functionSelector": "e24e8316", - "id": 591, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getCoins", - "nameLocation": "3326:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 503, - "mutability": "mutable", - "name": "email", - "nameLocation": "3349:5:1", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3335:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 502, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3335:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3334:21:1" - }, - "returnParameters": { - "id": 511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3375:16:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 505, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3375:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 506, - "nodeType": "ArrayTypeName", - "src": "3375:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3392:17:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3392:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 509, - "nodeType": "ArrayTypeName", - "src": "3392:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "3374:36:1" - }, - "scope": 671, - "src": "3317:512:1", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 612, - "nodeType": "Block", - "src": "3903:108:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 599, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "3921:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 601, - "indexExpression": { - "id": 600, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "3932:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3921:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "74727565", - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3942:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3921:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5573657220646f6e277420657869737473", - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3947:19:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - }, - "value": "User don't exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - } - ], - "id": 598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3913:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3913:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 606, - "nodeType": "ExpressionStatement", - "src": "3913:54:1" - }, - { - "expression": { - "expression": { - "baseExpression": { - "id": 607, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3984:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 609, - "indexExpression": { - "id": 608, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "3990:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3984:12:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3997:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "3984:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 597, - "id": 611, - "nodeType": "Return", - "src": "3977:27:1" - } - ] - }, - "functionSelector": "3a51d246", - "id": 613, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBalance", - "nameLocation": "3844:10:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 593, - "mutability": "mutable", - "name": "email", - "nameLocation": "3869:5:1", - "nodeType": "VariableDeclaration", - "scope": 613, - "src": "3855:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 592, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3855:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3854:21:1" - }, - "returnParameters": { - "id": 597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 596, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 613, - "src": "3895:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3895:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3894:9:1" - }, - "scope": 671, - "src": "3835:176:1", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 636, - "nodeType": "Block", - "src": "4080:112:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 621, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "4098:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 623, - "indexExpression": { - "id": 622, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "4109:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4098:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "74727565", - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4119:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4098:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5573657220646f6e277420657869737473", - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4124:19:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - }, - "value": "User don't exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - } - ], - "id": 620, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4090:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4090:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 628, - "nodeType": "ExpressionStatement", - "src": "4090:54:1" - }, - { - "expression": { - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 629, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "4154:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 631, - "indexExpression": { - "id": 630, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "4160:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4154:12:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "4167:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "4154:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 633, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 617, - "src": "4178:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4154:31:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 635, - "nodeType": "ExpressionStatement", - "src": "4154:31:1" - } - ] - }, - "functionSelector": "8e27d719", - "id": 637, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nameLocation": "4029:7:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 615, - "mutability": "mutable", - "name": "email", - "nameLocation": "4051:5:1", - "nodeType": "VariableDeclaration", - "scope": 637, - "src": "4037:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 614, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4037:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 617, - "mutability": "mutable", - "name": "balance", - "nameLocation": "4065:7:1", - "nodeType": "VariableDeclaration", - "scope": 637, - "src": "4057:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4057:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4036:37:1" - }, - "returnParameters": { - "id": 619, - "nodeType": "ParameterList", - "parameters": [], - "src": "4080:0:1" - }, - "scope": 671, - "src": "4020:172:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 669, - "nodeType": "Block", - "src": "4260:162:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 645, - "name": "userexists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 97, - "src": "4278:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", - "typeString": "mapping(string memory => bool)" - } - }, - "id": 647, - "indexExpression": { - "id": 646, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4289:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4278:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "74727565", - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4299:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4278:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5573657220646f6e277420657869737473", - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4304:19:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - }, - "value": "User don't exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "typeString": "literal_string \"User don't exists\"" - } - ], - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4270:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4270:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 652, - "nodeType": "ExpressionStatement", - "src": "4270:54:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 654, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "4342:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 656, - "indexExpression": { - "id": 655, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4348:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4342:12:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4355:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "4342:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 658, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4366:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4342:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 653, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4334:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4334:40:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "ExpressionStatement", - "src": "4334:40:1" - }, - { - "expression": { - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 662, - "name": "users", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "4384:5:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_user_$88_storage_$", - "typeString": "mapping(string memory => struct Account.user storage ref)" - } - }, - "id": 664, - "indexExpression": { - "id": 663, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4390:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4384:12:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_user_$88_storage", - "typeString": "struct Account.user storage ref" - } - }, - "id": 665, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "4397:7:1", - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": 84, - "src": "4384:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 666, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4408:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4384:31:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 668, - "nodeType": "ExpressionStatement", - "src": "4384:31:1" - } - ] - }, - "functionSelector": "30b39a62", - "id": 670, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nameLocation": "4208:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 639, - "mutability": "mutable", - "name": "email", - "nameLocation": "4231:5:1", - "nodeType": "VariableDeclaration", - "scope": 670, - "src": "4217:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 638, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4217:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "mutability": "mutable", - "name": "balance", - "nameLocation": "4245:7:1", - "nodeType": "VariableDeclaration", - "scope": 670, - "src": "4237:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4237:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4216:37:1" - }, - "returnParameters": { - "id": 643, - "nodeType": "ParameterList", - "parameters": [], - "src": "4260:0:1" - }, - "scope": 671, - "src": "4199:223:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 672, - "src": "91:4334:1", - "usedErrors": [], - "usedEvents": [ - 157, - 184, - 190 - ] - } - ], - "src": "32:4393:1" - }, - "id": 1 - } - }, - "contracts": { - "contracts/ReentrancyGuard.sol": { - "ReentrancyGuard": { - "abi": [], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]}},\"version\":1}" - } - }, - "contracts/account.sol": { - "Account": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "bought", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "sold", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "userCreated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "fromEmail", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "internalType": "uint256", - "name": "noofcoin", - "type": "uint256" - } - ], - "name": "buy", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "createUser", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - }, - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "getBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - } - ], - "name": "getCoins", - "outputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "fromEmail", - "type": "string" - }, - { - "internalType": "string", - "name": "coin", - "type": "string" - }, - { - "internalType": "uint256", - "name": "noofcoin", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "sell", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "email", - "type": "string" - }, - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_178": { - "entryPoint": null, - "id": 178, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_18": { - "entryPoint": null, - "id": 18, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_nonReentrantAfter_52": { - "entryPoint": 960, - "id": 52, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_nonReentrantBefore_44": { - "entryPoint": 878, - "id": 44, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@createUser_153": { - "entryPoint": 393, - "id": 153, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 2127, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack": { - "entryPoint": 2265, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack": { - "entryPoint": 2503, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 2182, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2304, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2542, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_dataslot_t_string_storage": { - "entryPoint": 1365, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_length_t_string_memory_ptr": { - "entryPoint": 1207, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { - "entryPoint": 2207, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 2072, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_t_string_storage": { - "entryPoint": 1686, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "cleanup_t_uint256": { - "entryPoint": 1501, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "clear_storage_range_t_bytes1": { - "entryPoint": 1647, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "convert_t_uint256_to_t_uint256": { - "entryPoint": 1521, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 1841, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "copy_memory_to_memory_with_cleanup": { - "entryPoint": 2083, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "divide_by_32_ceil": { - "entryPoint": 1386, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 1312, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": 1811, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "identity": { - "entryPoint": 1511, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "increment_t_uint256": { - "entryPoint": 2385, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "mask_bytes_dynamic": { - "entryPoint": 1779, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 2338, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x22": { - "entryPoint": 1265, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 1218, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "prepare_store_t_uint256": { - "entryPoint": 1561, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "shift_left_dynamic": { - "entryPoint": 1402, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "shift_right_unsigned_dynamic": { - "entryPoint": 1766, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "storage_set_to_zero_t_uint256": { - "entryPoint": 1619, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e": { - "entryPoint": 2224, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619": { - "entryPoint": 2462, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "update_byte_slice_dynamic32": { - "entryPoint": 1415, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "update_storage_value_t_uint256_to_t_uint256": { - "entryPoint": 1571, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "zero_value_for_split_t_uint256": { - "entryPoint": 1614, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:8870:2", - "nodeType": "YulBlock", - "src": "0:8870:2", - "statements": [ - { - "body": { - "nativeSrc": "66:40:2", - "nodeType": "YulBlock", - "src": "66:40:2", - "statements": [ - { - "nativeSrc": "77:22:2", - "nodeType": "YulAssignment", - "src": "77:22:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "93:5:2", - "nodeType": "YulIdentifier", - "src": "93:5:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "87:5:2", - "nodeType": "YulIdentifier", - "src": "87:5:2" - }, - "nativeSrc": "87:12:2", - "nodeType": "YulFunctionCall", - "src": "87:12:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "77:6:2", - "nodeType": "YulIdentifier", - "src": "77:6:2" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "7:99:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "49:5:2", - "nodeType": "YulTypedName", - "src": "49:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "59:6:2", - "nodeType": "YulTypedName", - "src": "59:6:2", - "type": "" - } - ], - "src": "7:99:2" - }, - { - "body": { - "nativeSrc": "140:152:2", - "nodeType": "YulBlock", - "src": "140:152:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "157:1:2", - "nodeType": "YulLiteral", - "src": "157:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "160:77:2", - "nodeType": "YulLiteral", - "src": "160:77:2", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "150:6:2", - "nodeType": "YulIdentifier", - "src": "150:6:2" - }, - "nativeSrc": "150:88:2", - "nodeType": "YulFunctionCall", - "src": "150:88:2" - }, - "nativeSrc": "150:88:2", - "nodeType": "YulExpressionStatement", - "src": "150:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "254:1:2", - "nodeType": "YulLiteral", - "src": "254:1:2", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "257:4:2", - "nodeType": "YulLiteral", - "src": "257:4:2", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "247:6:2", - "nodeType": "YulIdentifier", - "src": "247:6:2" - }, - "nativeSrc": "247:15:2", - "nodeType": "YulFunctionCall", - "src": "247:15:2" - }, - "nativeSrc": "247:15:2", - "nodeType": "YulExpressionStatement", - "src": "247:15:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "278:1:2", - "nodeType": "YulLiteral", - "src": "278:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "281:4:2", - "nodeType": "YulLiteral", - "src": "281:4:2", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "271:6:2", - "nodeType": "YulIdentifier", - "src": "271:6:2" - }, - "nativeSrc": "271:15:2", - "nodeType": "YulFunctionCall", - "src": "271:15:2" - }, - "nativeSrc": "271:15:2", - "nodeType": "YulExpressionStatement", - "src": "271:15:2" - } - ] - }, - "name": "panic_error_0x41", - "nativeSrc": "112:180:2", - "nodeType": "YulFunctionDefinition", - "src": "112:180:2" - }, - { - "body": { - "nativeSrc": "326:152:2", - "nodeType": "YulBlock", - "src": "326:152:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "343:1:2", - "nodeType": "YulLiteral", - "src": "343:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "346:77:2", - "nodeType": "YulLiteral", - "src": "346:77:2", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "336:6:2", - "nodeType": "YulIdentifier", - "src": "336:6:2" - }, - "nativeSrc": "336:88:2", - "nodeType": "YulFunctionCall", - "src": "336:88:2" - }, - "nativeSrc": "336:88:2", - "nodeType": "YulExpressionStatement", - "src": "336:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "440:1:2", - "nodeType": "YulLiteral", - "src": "440:1:2", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "443:4:2", - "nodeType": "YulLiteral", - "src": "443:4:2", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "433:6:2", - "nodeType": "YulIdentifier", - "src": "433:6:2" - }, - "nativeSrc": "433:15:2", - "nodeType": "YulFunctionCall", - "src": "433:15:2" - }, - "nativeSrc": "433:15:2", - "nodeType": "YulExpressionStatement", - "src": "433:15:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "464:1:2", - "nodeType": "YulLiteral", - "src": "464:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "467:4:2", - "nodeType": "YulLiteral", - "src": "467:4:2", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "457:6:2", - "nodeType": "YulIdentifier", - "src": "457:6:2" - }, - "nativeSrc": "457:15:2", - "nodeType": "YulFunctionCall", - "src": "457:15:2" - }, - "nativeSrc": "457:15:2", - "nodeType": "YulExpressionStatement", - "src": "457:15:2" - } - ] - }, - "name": "panic_error_0x22", - "nativeSrc": "298:180:2", - "nodeType": "YulFunctionDefinition", - "src": "298:180:2" - }, - { - "body": { - "nativeSrc": "535:269:2", - "nodeType": "YulBlock", - "src": "535:269:2", - "statements": [ - { - "nativeSrc": "545:22:2", - "nodeType": "YulAssignment", - "src": "545:22:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "559:4:2", - "nodeType": "YulIdentifier", - "src": "559:4:2" - }, - { - "kind": "number", - "nativeSrc": "565:1:2", - "nodeType": "YulLiteral", - "src": "565:1:2", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nativeSrc": "555:3:2", - "nodeType": "YulIdentifier", - "src": "555:3:2" - }, - "nativeSrc": "555:12:2", - "nodeType": "YulFunctionCall", - "src": "555:12:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "545:6:2", - "nodeType": "YulIdentifier", - "src": "545:6:2" - } - ] - }, - { - "nativeSrc": "576:38:2", - "nodeType": "YulVariableDeclaration", - "src": "576:38:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "606:4:2", - "nodeType": "YulIdentifier", - "src": "606:4:2" - }, - { - "kind": "number", - "nativeSrc": "612:1:2", - "nodeType": "YulLiteral", - "src": "612:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "602:3:2", - "nodeType": "YulIdentifier", - "src": "602:3:2" - }, - "nativeSrc": "602:12:2", - "nodeType": "YulFunctionCall", - "src": "602:12:2" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nativeSrc": "580:18:2", - "nodeType": "YulTypedName", - "src": "580:18:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "653:51:2", - "nodeType": "YulBlock", - "src": "653:51:2", - "statements": [ - { - "nativeSrc": "667:27:2", - "nodeType": "YulAssignment", - "src": "667:27:2", - "value": { - "arguments": [ - { - "name": "length", - "nativeSrc": "681:6:2", - "nodeType": "YulIdentifier", - "src": "681:6:2" - }, - { - "kind": "number", - "nativeSrc": "689:4:2", - "nodeType": "YulLiteral", - "src": "689:4:2", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "677:3:2", - "nodeType": "YulIdentifier", - "src": "677:3:2" - }, - "nativeSrc": "677:17:2", - "nodeType": "YulFunctionCall", - "src": "677:17:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "667:6:2", - "nodeType": "YulIdentifier", - "src": "667:6:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nativeSrc": "633:18:2", - "nodeType": "YulIdentifier", - "src": "633:18:2" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "626:6:2", - "nodeType": "YulIdentifier", - "src": "626:6:2" - }, - "nativeSrc": "626:26:2", - "nodeType": "YulFunctionCall", - "src": "626:26:2" - }, - "nativeSrc": "623:81:2", - "nodeType": "YulIf", - "src": "623:81:2" - }, - { - "body": { - "nativeSrc": "756:42:2", - "nodeType": "YulBlock", - "src": "756:42:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nativeSrc": "770:16:2", - "nodeType": "YulIdentifier", - "src": "770:16:2" - }, - "nativeSrc": "770:18:2", - "nodeType": "YulFunctionCall", - "src": "770:18:2" - }, - "nativeSrc": "770:18:2", - "nodeType": "YulExpressionStatement", - "src": "770:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nativeSrc": "720:18:2", - "nodeType": "YulIdentifier", - "src": "720:18:2" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "743:6:2", - "nodeType": "YulIdentifier", - "src": "743:6:2" - }, - { - "kind": "number", - "nativeSrc": "751:2:2", - "nodeType": "YulLiteral", - "src": "751:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "740:2:2", - "nodeType": "YulIdentifier", - "src": "740:2:2" - }, - "nativeSrc": "740:14:2", - "nodeType": "YulFunctionCall", - "src": "740:14:2" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "717:2:2", - "nodeType": "YulIdentifier", - "src": "717:2:2" - }, - "nativeSrc": "717:38:2", - "nodeType": "YulFunctionCall", - "src": "717:38:2" - }, - "nativeSrc": "714:84:2", - "nodeType": "YulIf", - "src": "714:84:2" - } - ] - }, - "name": "extract_byte_array_length", - "nativeSrc": "484:320:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nativeSrc": "519:4:2", - "nodeType": "YulTypedName", - "src": "519:4:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "528:6:2", - "nodeType": "YulTypedName", - "src": "528:6:2", - "type": "" - } - ], - "src": "484:320:2" - }, - { - "body": { - "nativeSrc": "864:87:2", - "nodeType": "YulBlock", - "src": "864:87:2", - "statements": [ - { - "nativeSrc": "874:11:2", - "nodeType": "YulAssignment", - "src": "874:11:2", - "value": { - "name": "ptr", - "nativeSrc": "882:3:2", - "nodeType": "YulIdentifier", - "src": "882:3:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "874:4:2", - "nodeType": "YulIdentifier", - "src": "874:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "902:1:2", - "nodeType": "YulLiteral", - "src": "902:1:2", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nativeSrc": "905:3:2", - "nodeType": "YulIdentifier", - "src": "905:3:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "895:6:2", - "nodeType": "YulIdentifier", - "src": "895:6:2" - }, - "nativeSrc": "895:14:2", - "nodeType": "YulFunctionCall", - "src": "895:14:2" - }, - "nativeSrc": "895:14:2", - "nodeType": "YulExpressionStatement", - "src": "895:14:2" - }, - { - "nativeSrc": "918:26:2", - "nodeType": "YulAssignment", - "src": "918:26:2", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "936:1:2", - "nodeType": "YulLiteral", - "src": "936:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "939:4:2", - "nodeType": "YulLiteral", - "src": "939:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nativeSrc": "926:9:2", - "nodeType": "YulIdentifier", - "src": "926:9:2" - }, - "nativeSrc": "926:18:2", - "nodeType": "YulFunctionCall", - "src": "926:18:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "918:4:2", - "nodeType": "YulIdentifier", - "src": "918:4:2" - } - ] - } - ] - }, - "name": "array_dataslot_t_string_storage", - "nativeSrc": "810:141:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nativeSrc": "851:3:2", - "nodeType": "YulTypedName", - "src": "851:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nativeSrc": "859:4:2", - "nodeType": "YulTypedName", - "src": "859:4:2", - "type": "" - } - ], - "src": "810:141:2" - }, - { - "body": { - "nativeSrc": "1001:49:2", - "nodeType": "YulBlock", - "src": "1001:49:2", - "statements": [ - { - "nativeSrc": "1011:33:2", - "nodeType": "YulAssignment", - "src": "1011:33:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "1029:5:2", - "nodeType": "YulIdentifier", - "src": "1029:5:2" - }, - { - "kind": "number", - "nativeSrc": "1036:2:2", - "nodeType": "YulLiteral", - "src": "1036:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1025:3:2", - "nodeType": "YulIdentifier", - "src": "1025:3:2" - }, - "nativeSrc": "1025:14:2", - "nodeType": "YulFunctionCall", - "src": "1025:14:2" - }, - { - "kind": "number", - "nativeSrc": "1041:2:2", - "nodeType": "YulLiteral", - "src": "1041:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "div", - "nativeSrc": "1021:3:2", - "nodeType": "YulIdentifier", - "src": "1021:3:2" - }, - "nativeSrc": "1021:23:2", - "nodeType": "YulFunctionCall", - "src": "1021:23:2" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "1011:6:2", - "nodeType": "YulIdentifier", - "src": "1011:6:2" - } - ] - } - ] - }, - "name": "divide_by_32_ceil", - "nativeSrc": "957:93:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "984:5:2", - "nodeType": "YulTypedName", - "src": "984:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "994:6:2", - "nodeType": "YulTypedName", - "src": "994:6:2", - "type": "" - } - ], - "src": "957:93:2" - }, - { - "body": { - "nativeSrc": "1109:54:2", - "nodeType": "YulBlock", - "src": "1109:54:2", - "statements": [ - { - "nativeSrc": "1119:37:2", - "nodeType": "YulAssignment", - "src": "1119:37:2", - "value": { - "arguments": [ - { - "name": "bits", - "nativeSrc": "1144:4:2", - "nodeType": "YulIdentifier", - "src": "1144:4:2" - }, - { - "name": "value", - "nativeSrc": "1150:5:2", - "nodeType": "YulIdentifier", - "src": "1150:5:2" - } - ], - "functionName": { - "name": "shl", - "nativeSrc": "1140:3:2", - "nodeType": "YulIdentifier", - "src": "1140:3:2" - }, - "nativeSrc": "1140:16:2", - "nodeType": "YulFunctionCall", - "src": "1140:16:2" - }, - "variableNames": [ - { - "name": "newValue", - "nativeSrc": "1119:8:2", - "nodeType": "YulIdentifier", - "src": "1119:8:2" - } - ] - } - ] - }, - "name": "shift_left_dynamic", - "nativeSrc": "1056:107:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nativeSrc": "1084:4:2", - "nodeType": "YulTypedName", - "src": "1084:4:2", - "type": "" - }, - { - "name": "value", - "nativeSrc": "1090:5:2", - "nodeType": "YulTypedName", - "src": "1090:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nativeSrc": "1100:8:2", - "nodeType": "YulTypedName", - "src": "1100:8:2", - "type": "" - } - ], - "src": "1056:107:2" - }, - { - "body": { - "nativeSrc": "1245:317:2", - "nodeType": "YulBlock", - "src": "1245:317:2", - "statements": [ - { - "nativeSrc": "1255:35:2", - "nodeType": "YulVariableDeclaration", - "src": "1255:35:2", - "value": { - "arguments": [ - { - "name": "shiftBytes", - "nativeSrc": "1276:10:2", - "nodeType": "YulIdentifier", - "src": "1276:10:2" - }, - { - "kind": "number", - "nativeSrc": "1288:1:2", - "nodeType": "YulLiteral", - "src": "1288:1:2", - "type": "", - "value": "8" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "1272:3:2", - "nodeType": "YulIdentifier", - "src": "1272:3:2" - }, - "nativeSrc": "1272:18:2", - "nodeType": "YulFunctionCall", - "src": "1272:18:2" - }, - "variables": [ - { - "name": "shiftBits", - "nativeSrc": "1259:9:2", - "nodeType": "YulTypedName", - "src": "1259:9:2", - "type": "" - } - ] - }, - { - "nativeSrc": "1299:109:2", - "nodeType": "YulVariableDeclaration", - "src": "1299:109:2", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nativeSrc": "1330:9:2", - "nodeType": "YulIdentifier", - "src": "1330:9:2" - }, - { - "kind": "number", - "nativeSrc": "1341:66:2", - "nodeType": "YulLiteral", - "src": "1341:66:2", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nativeSrc": "1311:18:2", - "nodeType": "YulIdentifier", - "src": "1311:18:2" - }, - "nativeSrc": "1311:97:2", - "nodeType": "YulFunctionCall", - "src": "1311:97:2" - }, - "variables": [ - { - "name": "mask", - "nativeSrc": "1303:4:2", - "nodeType": "YulTypedName", - "src": "1303:4:2", - "type": "" - } - ] - }, - { - "nativeSrc": "1417:51:2", - "nodeType": "YulAssignment", - "src": "1417:51:2", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nativeSrc": "1448:9:2", - "nodeType": "YulIdentifier", - "src": "1448:9:2" - }, - { - "name": "toInsert", - "nativeSrc": "1459:8:2", - "nodeType": "YulIdentifier", - "src": "1459:8:2" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nativeSrc": "1429:18:2", - "nodeType": "YulIdentifier", - "src": "1429:18:2" - }, - "nativeSrc": "1429:39:2", - "nodeType": "YulFunctionCall", - "src": "1429:39:2" - }, - "variableNames": [ - { - "name": "toInsert", - "nativeSrc": "1417:8:2", - "nodeType": "YulIdentifier", - "src": "1417:8:2" - } - ] - }, - { - "nativeSrc": "1477:30:2", - "nodeType": "YulAssignment", - "src": "1477:30:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "1490:5:2", - "nodeType": "YulIdentifier", - "src": "1490:5:2" - }, - { - "arguments": [ - { - "name": "mask", - "nativeSrc": "1501:4:2", - "nodeType": "YulIdentifier", - "src": "1501:4:2" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "1497:3:2", - "nodeType": "YulIdentifier", - "src": "1497:3:2" - }, - "nativeSrc": "1497:9:2", - "nodeType": "YulFunctionCall", - "src": "1497:9:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "1486:3:2", - "nodeType": "YulIdentifier", - "src": "1486:3:2" - }, - "nativeSrc": "1486:21:2", - "nodeType": "YulFunctionCall", - "src": "1486:21:2" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "1477:5:2", - "nodeType": "YulIdentifier", - "src": "1477:5:2" - } - ] - }, - { - "nativeSrc": "1516:40:2", - "nodeType": "YulAssignment", - "src": "1516:40:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "1529:5:2", - "nodeType": "YulIdentifier", - "src": "1529:5:2" - }, - { - "arguments": [ - { - "name": "toInsert", - "nativeSrc": "1540:8:2", - "nodeType": "YulIdentifier", - "src": "1540:8:2" - }, - { - "name": "mask", - "nativeSrc": "1550:4:2", - "nodeType": "YulIdentifier", - "src": "1550:4:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "1536:3:2", - "nodeType": "YulIdentifier", - "src": "1536:3:2" - }, - "nativeSrc": "1536:19:2", - "nodeType": "YulFunctionCall", - "src": "1536:19:2" - } - ], - "functionName": { - "name": "or", - "nativeSrc": "1526:2:2", - "nodeType": "YulIdentifier", - "src": "1526:2:2" - }, - "nativeSrc": "1526:30:2", - "nodeType": "YulFunctionCall", - "src": "1526:30:2" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "1516:6:2", - "nodeType": "YulIdentifier", - "src": "1516:6:2" - } - ] - } - ] - }, - "name": "update_byte_slice_dynamic32", - "nativeSrc": "1169:393:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "1206:5:2", - "nodeType": "YulTypedName", - "src": "1206:5:2", - "type": "" - }, - { - "name": "shiftBytes", - "nativeSrc": "1213:10:2", - "nodeType": "YulTypedName", - "src": "1213:10:2", - "type": "" - }, - { - "name": "toInsert", - "nativeSrc": "1225:8:2", - "nodeType": "YulTypedName", - "src": "1225:8:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "1238:6:2", - "nodeType": "YulTypedName", - "src": "1238:6:2", - "type": "" - } - ], - "src": "1169:393:2" - }, - { - "body": { - "nativeSrc": "1613:32:2", - "nodeType": "YulBlock", - "src": "1613:32:2", - "statements": [ - { - "nativeSrc": "1623:16:2", - "nodeType": "YulAssignment", - "src": "1623:16:2", - "value": { - "name": "value", - "nativeSrc": "1634:5:2", - "nodeType": "YulIdentifier", - "src": "1634:5:2" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "1623:7:2", - "nodeType": "YulIdentifier", - "src": "1623:7:2" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nativeSrc": "1568:77:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "1595:5:2", - "nodeType": "YulTypedName", - "src": "1595:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "1605:7:2", - "nodeType": "YulTypedName", - "src": "1605:7:2", - "type": "" - } - ], - "src": "1568:77:2" - }, - { - "body": { - "nativeSrc": "1683:28:2", - "nodeType": "YulBlock", - "src": "1683:28:2", - "statements": [ - { - "nativeSrc": "1693:12:2", - "nodeType": "YulAssignment", - "src": "1693:12:2", - "value": { - "name": "value", - "nativeSrc": "1700:5:2", - "nodeType": "YulIdentifier", - "src": "1700:5:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "1693:3:2", - "nodeType": "YulIdentifier", - "src": "1693:3:2" - } - ] - } - ] - }, - "name": "identity", - "nativeSrc": "1651:60:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "1669:5:2", - "nodeType": "YulTypedName", - "src": "1669:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "1679:3:2", - "nodeType": "YulTypedName", - "src": "1679:3:2", - "type": "" - } - ], - "src": "1651:60:2" - }, - { - "body": { - "nativeSrc": "1777:82:2", - "nodeType": "YulBlock", - "src": "1777:82:2", - "statements": [ - { - "nativeSrc": "1787:66:2", - "nodeType": "YulAssignment", - "src": "1787:66:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "1845:5:2", - "nodeType": "YulIdentifier", - "src": "1845:5:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "1827:17:2", - "nodeType": "YulIdentifier", - "src": "1827:17:2" - }, - "nativeSrc": "1827:24:2", - "nodeType": "YulFunctionCall", - "src": "1827:24:2" - } - ], - "functionName": { - "name": "identity", - "nativeSrc": "1818:8:2", - "nodeType": "YulIdentifier", - "src": "1818:8:2" - }, - "nativeSrc": "1818:34:2", - "nodeType": "YulFunctionCall", - "src": "1818:34:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "1800:17:2", - "nodeType": "YulIdentifier", - "src": "1800:17:2" - }, - "nativeSrc": "1800:53:2", - "nodeType": "YulFunctionCall", - "src": "1800:53:2" - }, - "variableNames": [ - { - "name": "converted", - "nativeSrc": "1787:9:2", - "nodeType": "YulIdentifier", - "src": "1787:9:2" - } - ] - } - ] - }, - "name": "convert_t_uint256_to_t_uint256", - "nativeSrc": "1717:142:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "1757:5:2", - "nodeType": "YulTypedName", - "src": "1757:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nativeSrc": "1767:9:2", - "nodeType": "YulTypedName", - "src": "1767:9:2", - "type": "" - } - ], - "src": "1717:142:2" - }, - { - "body": { - "nativeSrc": "1912:28:2", - "nodeType": "YulBlock", - "src": "1912:28:2", - "statements": [ - { - "nativeSrc": "1922:12:2", - "nodeType": "YulAssignment", - "src": "1922:12:2", - "value": { - "name": "value", - "nativeSrc": "1929:5:2", - "nodeType": "YulIdentifier", - "src": "1929:5:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "1922:3:2", - "nodeType": "YulIdentifier", - "src": "1922:3:2" - } - ] - } - ] - }, - "name": "prepare_store_t_uint256", - "nativeSrc": "1865:75:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "1898:5:2", - "nodeType": "YulTypedName", - "src": "1898:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "1908:3:2", - "nodeType": "YulTypedName", - "src": "1908:3:2", - "type": "" - } - ], - "src": "1865:75:2" - }, - { - "body": { - "nativeSrc": "2022:193:2", - "nodeType": "YulBlock", - "src": "2022:193:2", - "statements": [ - { - "nativeSrc": "2032:63:2", - "nodeType": "YulVariableDeclaration", - "src": "2032:63:2", - "value": { - "arguments": [ - { - "name": "value_0", - "nativeSrc": "2087:7:2", - "nodeType": "YulIdentifier", - "src": "2087:7:2" - } - ], - "functionName": { - "name": "convert_t_uint256_to_t_uint256", - "nativeSrc": "2056:30:2", - "nodeType": "YulIdentifier", - "src": "2056:30:2" - }, - "nativeSrc": "2056:39:2", - "nodeType": "YulFunctionCall", - "src": "2056:39:2" - }, - "variables": [ - { - "name": "convertedValue_0", - "nativeSrc": "2036:16:2", - "nodeType": "YulTypedName", - "src": "2036:16:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "2111:4:2", - "nodeType": "YulIdentifier", - "src": "2111:4:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nativeSrc": "2151:4:2", - "nodeType": "YulIdentifier", - "src": "2151:4:2" - } - ], - "functionName": { - "name": "sload", - "nativeSrc": "2145:5:2", - "nodeType": "YulIdentifier", - "src": "2145:5:2" - }, - "nativeSrc": "2145:11:2", - "nodeType": "YulFunctionCall", - "src": "2145:11:2" - }, - { - "name": "offset", - "nativeSrc": "2158:6:2", - "nodeType": "YulIdentifier", - "src": "2158:6:2" - }, - { - "arguments": [ - { - "name": "convertedValue_0", - "nativeSrc": "2190:16:2", - "nodeType": "YulIdentifier", - "src": "2190:16:2" - } - ], - "functionName": { - "name": "prepare_store_t_uint256", - "nativeSrc": "2166:23:2", - "nodeType": "YulIdentifier", - "src": "2166:23:2" - }, - "nativeSrc": "2166:41:2", - "nodeType": "YulFunctionCall", - "src": "2166:41:2" - } - ], - "functionName": { - "name": "update_byte_slice_dynamic32", - "nativeSrc": "2117:27:2", - "nodeType": "YulIdentifier", - "src": "2117:27:2" - }, - "nativeSrc": "2117:91:2", - "nodeType": "YulFunctionCall", - "src": "2117:91:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "2104:6:2", - "nodeType": "YulIdentifier", - "src": "2104:6:2" - }, - "nativeSrc": "2104:105:2", - "nodeType": "YulFunctionCall", - "src": "2104:105:2" - }, - "nativeSrc": "2104:105:2", - "nodeType": "YulExpressionStatement", - "src": "2104:105:2" - } - ] - }, - "name": "update_storage_value_t_uint256_to_t_uint256", - "nativeSrc": "1946:269:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nativeSrc": "1999:4:2", - "nodeType": "YulTypedName", - "src": "1999:4:2", - "type": "" - }, - { - "name": "offset", - "nativeSrc": "2005:6:2", - "nodeType": "YulTypedName", - "src": "2005:6:2", - "type": "" - }, - { - "name": "value_0", - "nativeSrc": "2013:7:2", - "nodeType": "YulTypedName", - "src": "2013:7:2", - "type": "" - } - ], - "src": "1946:269:2" - }, - { - "body": { - "nativeSrc": "2270:24:2", - "nodeType": "YulBlock", - "src": "2270:24:2", - "statements": [ - { - "nativeSrc": "2280:8:2", - "nodeType": "YulAssignment", - "src": "2280:8:2", - "value": { - "kind": "number", - "nativeSrc": "2287:1:2", - "nodeType": "YulLiteral", - "src": "2287:1:2", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "2280:3:2", - "nodeType": "YulIdentifier", - "src": "2280:3:2" - } - ] - } - ] - }, - "name": "zero_value_for_split_t_uint256", - "nativeSrc": "2221:73:2", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "2266:3:2", - "nodeType": "YulTypedName", - "src": "2266:3:2", - "type": "" - } - ], - "src": "2221:73:2" - }, - { - "body": { - "nativeSrc": "2353:136:2", - "nodeType": "YulBlock", - "src": "2353:136:2", - "statements": [ - { - "nativeSrc": "2363:46:2", - "nodeType": "YulVariableDeclaration", - "src": "2363:46:2", - "value": { - "arguments": [], - "functionName": { - "name": "zero_value_for_split_t_uint256", - "nativeSrc": "2377:30:2", - "nodeType": "YulIdentifier", - "src": "2377:30:2" - }, - "nativeSrc": "2377:32:2", - "nodeType": "YulFunctionCall", - "src": "2377:32:2" - }, - "variables": [ - { - "name": "zero_0", - "nativeSrc": "2367:6:2", - "nodeType": "YulTypedName", - "src": "2367:6:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "2462:4:2", - "nodeType": "YulIdentifier", - "src": "2462:4:2" - }, - { - "name": "offset", - "nativeSrc": "2468:6:2", - "nodeType": "YulIdentifier", - "src": "2468:6:2" - }, - { - "name": "zero_0", - "nativeSrc": "2476:6:2", - "nodeType": "YulIdentifier", - "src": "2476:6:2" - } - ], - "functionName": { - "name": "update_storage_value_t_uint256_to_t_uint256", - "nativeSrc": "2418:43:2", - "nodeType": "YulIdentifier", - "src": "2418:43:2" - }, - "nativeSrc": "2418:65:2", - "nodeType": "YulFunctionCall", - "src": "2418:65:2" - }, - "nativeSrc": "2418:65:2", - "nodeType": "YulExpressionStatement", - "src": "2418:65:2" - } - ] - }, - "name": "storage_set_to_zero_t_uint256", - "nativeSrc": "2300:189:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nativeSrc": "2339:4:2", - "nodeType": "YulTypedName", - "src": "2339:4:2", - "type": "" - }, - { - "name": "offset", - "nativeSrc": "2345:6:2", - "nodeType": "YulTypedName", - "src": "2345:6:2", - "type": "" - } - ], - "src": "2300:189:2" - }, - { - "body": { - "nativeSrc": "2545:136:2", - "nodeType": "YulBlock", - "src": "2545:136:2", - "statements": [ - { - "body": { - "nativeSrc": "2612:63:2", - "nodeType": "YulBlock", - "src": "2612:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nativeSrc": "2656:5:2", - "nodeType": "YulIdentifier", - "src": "2656:5:2" - }, - { - "kind": "number", - "nativeSrc": "2663:1:2", - "nodeType": "YulLiteral", - "src": "2663:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "storage_set_to_zero_t_uint256", - "nativeSrc": "2626:29:2", - "nodeType": "YulIdentifier", - "src": "2626:29:2" - }, - "nativeSrc": "2626:39:2", - "nodeType": "YulFunctionCall", - "src": "2626:39:2" - }, - "nativeSrc": "2626:39:2", - "nodeType": "YulExpressionStatement", - "src": "2626:39:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nativeSrc": "2565:5:2", - "nodeType": "YulIdentifier", - "src": "2565:5:2" - }, - { - "name": "end", - "nativeSrc": "2572:3:2", - "nodeType": "YulIdentifier", - "src": "2572:3:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "2562:2:2", - "nodeType": "YulIdentifier", - "src": "2562:2:2" - }, - "nativeSrc": "2562:14:2", - "nodeType": "YulFunctionCall", - "src": "2562:14:2" - }, - "nativeSrc": "2555:120:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "2577:26:2", - "nodeType": "YulBlock", - "src": "2577:26:2", - "statements": [ - { - "nativeSrc": "2579:22:2", - "nodeType": "YulAssignment", - "src": "2579:22:2", - "value": { - "arguments": [ - { - "name": "start", - "nativeSrc": "2592:5:2", - "nodeType": "YulIdentifier", - "src": "2592:5:2" - }, - { - "kind": "number", - "nativeSrc": "2599:1:2", - "nodeType": "YulLiteral", - "src": "2599:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2588:3:2", - "nodeType": "YulIdentifier", - "src": "2588:3:2" - }, - "nativeSrc": "2588:13:2", - "nodeType": "YulFunctionCall", - "src": "2588:13:2" - }, - "variableNames": [ - { - "name": "start", - "nativeSrc": "2579:5:2", - "nodeType": "YulIdentifier", - "src": "2579:5:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "2559:2:2", - "nodeType": "YulBlock", - "src": "2559:2:2", - "statements": [] - }, - "src": "2555:120:2" - } - ] - }, - "name": "clear_storage_range_t_bytes1", - "nativeSrc": "2495:186:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nativeSrc": "2533:5:2", - "nodeType": "YulTypedName", - "src": "2533:5:2", - "type": "" - }, - { - "name": "end", - "nativeSrc": "2540:3:2", - "nodeType": "YulTypedName", - "src": "2540:3:2", - "type": "" - } - ], - "src": "2495:186:2" - }, - { - "body": { - "nativeSrc": "2766:464:2", - "nodeType": "YulBlock", - "src": "2766:464:2", - "statements": [ - { - "body": { - "nativeSrc": "2792:431:2", - "nodeType": "YulBlock", - "src": "2792:431:2", - "statements": [ - { - "nativeSrc": "2806:54:2", - "nodeType": "YulVariableDeclaration", - "src": "2806:54:2", - "value": { - "arguments": [ - { - "name": "array", - "nativeSrc": "2854:5:2", - "nodeType": "YulIdentifier", - "src": "2854:5:2" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nativeSrc": "2822:31:2", - "nodeType": "YulIdentifier", - "src": "2822:31:2" - }, - "nativeSrc": "2822:38:2", - "nodeType": "YulFunctionCall", - "src": "2822:38:2" - }, - "variables": [ - { - "name": "dataArea", - "nativeSrc": "2810:8:2", - "nodeType": "YulTypedName", - "src": "2810:8:2", - "type": "" - } - ] - }, - { - "nativeSrc": "2873:63:2", - "nodeType": "YulVariableDeclaration", - "src": "2873:63:2", - "value": { - "arguments": [ - { - "name": "dataArea", - "nativeSrc": "2896:8:2", - "nodeType": "YulIdentifier", - "src": "2896:8:2" - }, - { - "arguments": [ - { - "name": "startIndex", - "nativeSrc": "2924:10:2", - "nodeType": "YulIdentifier", - "src": "2924:10:2" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nativeSrc": "2906:17:2", - "nodeType": "YulIdentifier", - "src": "2906:17:2" - }, - "nativeSrc": "2906:29:2", - "nodeType": "YulFunctionCall", - "src": "2906:29:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2892:3:2", - "nodeType": "YulIdentifier", - "src": "2892:3:2" - }, - "nativeSrc": "2892:44:2", - "nodeType": "YulFunctionCall", - "src": "2892:44:2" - }, - "variables": [ - { - "name": "deleteStart", - "nativeSrc": "2877:11:2", - "nodeType": "YulTypedName", - "src": "2877:11:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "3093:27:2", - "nodeType": "YulBlock", - "src": "3093:27:2", - "statements": [ - { - "nativeSrc": "3095:23:2", - "nodeType": "YulAssignment", - "src": "3095:23:2", - "value": { - "name": "dataArea", - "nativeSrc": "3110:8:2", - "nodeType": "YulIdentifier", - "src": "3110:8:2" - }, - "variableNames": [ - { - "name": "deleteStart", - "nativeSrc": "3095:11:2", - "nodeType": "YulIdentifier", - "src": "3095:11:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nativeSrc": "3077:10:2", - "nodeType": "YulIdentifier", - "src": "3077:10:2" - }, - { - "kind": "number", - "nativeSrc": "3089:2:2", - "nodeType": "YulLiteral", - "src": "3089:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "3074:2:2", - "nodeType": "YulIdentifier", - "src": "3074:2:2" - }, - "nativeSrc": "3074:18:2", - "nodeType": "YulFunctionCall", - "src": "3074:18:2" - }, - "nativeSrc": "3071:49:2", - "nodeType": "YulIf", - "src": "3071:49:2" - }, - { - "expression": { - "arguments": [ - { - "name": "deleteStart", - "nativeSrc": "3162:11:2", - "nodeType": "YulIdentifier", - "src": "3162:11:2" - }, - { - "arguments": [ - { - "name": "dataArea", - "nativeSrc": "3179:8:2", - "nodeType": "YulIdentifier", - "src": "3179:8:2" - }, - { - "arguments": [ - { - "name": "len", - "nativeSrc": "3207:3:2", - "nodeType": "YulIdentifier", - "src": "3207:3:2" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nativeSrc": "3189:17:2", - "nodeType": "YulIdentifier", - "src": "3189:17:2" - }, - "nativeSrc": "3189:22:2", - "nodeType": "YulFunctionCall", - "src": "3189:22:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3175:3:2", - "nodeType": "YulIdentifier", - "src": "3175:3:2" - }, - "nativeSrc": "3175:37:2", - "nodeType": "YulFunctionCall", - "src": "3175:37:2" - } - ], - "functionName": { - "name": "clear_storage_range_t_bytes1", - "nativeSrc": "3133:28:2", - "nodeType": "YulIdentifier", - "src": "3133:28:2" - }, - "nativeSrc": "3133:80:2", - "nodeType": "YulFunctionCall", - "src": "3133:80:2" - }, - "nativeSrc": "3133:80:2", - "nodeType": "YulExpressionStatement", - "src": "3133:80:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nativeSrc": "2783:3:2", - "nodeType": "YulIdentifier", - "src": "2783:3:2" - }, - { - "kind": "number", - "nativeSrc": "2788:2:2", - "nodeType": "YulLiteral", - "src": "2788:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2780:2:2", - "nodeType": "YulIdentifier", - "src": "2780:2:2" - }, - "nativeSrc": "2780:11:2", - "nodeType": "YulFunctionCall", - "src": "2780:11:2" - }, - "nativeSrc": "2777:446:2", - "nodeType": "YulIf", - "src": "2777:446:2" - } - ] - }, - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nativeSrc": "2687:543:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nativeSrc": "2742:5:2", - "nodeType": "YulTypedName", - "src": "2742:5:2", - "type": "" - }, - { - "name": "len", - "nativeSrc": "2749:3:2", - "nodeType": "YulTypedName", - "src": "2749:3:2", - "type": "" - }, - { - "name": "startIndex", - "nativeSrc": "2754:10:2", - "nodeType": "YulTypedName", - "src": "2754:10:2", - "type": "" - } - ], - "src": "2687:543:2" - }, - { - "body": { - "nativeSrc": "3299:54:2", - "nodeType": "YulBlock", - "src": "3299:54:2", - "statements": [ - { - "nativeSrc": "3309:37:2", - "nodeType": "YulAssignment", - "src": "3309:37:2", - "value": { - "arguments": [ - { - "name": "bits", - "nativeSrc": "3334:4:2", - "nodeType": "YulIdentifier", - "src": "3334:4:2" - }, - { - "name": "value", - "nativeSrc": "3340:5:2", - "nodeType": "YulIdentifier", - "src": "3340:5:2" - } - ], - "functionName": { - "name": "shr", - "nativeSrc": "3330:3:2", - "nodeType": "YulIdentifier", - "src": "3330:3:2" - }, - "nativeSrc": "3330:16:2", - "nodeType": "YulFunctionCall", - "src": "3330:16:2" - }, - "variableNames": [ - { - "name": "newValue", - "nativeSrc": "3309:8:2", - "nodeType": "YulIdentifier", - "src": "3309:8:2" - } - ] - } - ] - }, - "name": "shift_right_unsigned_dynamic", - "nativeSrc": "3236:117:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nativeSrc": "3274:4:2", - "nodeType": "YulTypedName", - "src": "3274:4:2", - "type": "" - }, - { - "name": "value", - "nativeSrc": "3280:5:2", - "nodeType": "YulTypedName", - "src": "3280:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nativeSrc": "3290:8:2", - "nodeType": "YulTypedName", - "src": "3290:8:2", - "type": "" - } - ], - "src": "3236:117:2" - }, - { - "body": { - "nativeSrc": "3410:118:2", - "nodeType": "YulBlock", - "src": "3410:118:2", - "statements": [ - { - "nativeSrc": "3420:68:2", - "nodeType": "YulVariableDeclaration", - "src": "3420:68:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3469:1:2", - "nodeType": "YulLiteral", - "src": "3469:1:2", - "type": "", - "value": "8" - }, - { - "name": "bytes", - "nativeSrc": "3472:5:2", - "nodeType": "YulIdentifier", - "src": "3472:5:2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "3465:3:2", - "nodeType": "YulIdentifier", - "src": "3465:3:2" - }, - "nativeSrc": "3465:13:2", - "nodeType": "YulFunctionCall", - "src": "3465:13:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3484:1:2", - "nodeType": "YulLiteral", - "src": "3484:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "3480:3:2", - "nodeType": "YulIdentifier", - "src": "3480:3:2" - }, - "nativeSrc": "3480:6:2", - "nodeType": "YulFunctionCall", - "src": "3480:6:2" - } - ], - "functionName": { - "name": "shift_right_unsigned_dynamic", - "nativeSrc": "3436:28:2", - "nodeType": "YulIdentifier", - "src": "3436:28:2" - }, - "nativeSrc": "3436:51:2", - "nodeType": "YulFunctionCall", - "src": "3436:51:2" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "3432:3:2", - "nodeType": "YulIdentifier", - "src": "3432:3:2" - }, - "nativeSrc": "3432:56:2", - "nodeType": "YulFunctionCall", - "src": "3432:56:2" - }, - "variables": [ - { - "name": "mask", - "nativeSrc": "3424:4:2", - "nodeType": "YulTypedName", - "src": "3424:4:2", - "type": "" - } - ] - }, - { - "nativeSrc": "3497:25:2", - "nodeType": "YulAssignment", - "src": "3497:25:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "3511:4:2", - "nodeType": "YulIdentifier", - "src": "3511:4:2" - }, - { - "name": "mask", - "nativeSrc": "3517:4:2", - "nodeType": "YulIdentifier", - "src": "3517:4:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "3507:3:2", - "nodeType": "YulIdentifier", - "src": "3507:3:2" - }, - "nativeSrc": "3507:15:2", - "nodeType": "YulFunctionCall", - "src": "3507:15:2" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "3497:6:2", - "nodeType": "YulIdentifier", - "src": "3497:6:2" - } - ] - } - ] - }, - "name": "mask_bytes_dynamic", - "nativeSrc": "3359:169:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nativeSrc": "3387:4:2", - "nodeType": "YulTypedName", - "src": "3387:4:2", - "type": "" - }, - { - "name": "bytes", - "nativeSrc": "3393:5:2", - "nodeType": "YulTypedName", - "src": "3393:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "3403:6:2", - "nodeType": "YulTypedName", - "src": "3403:6:2", - "type": "" - } - ], - "src": "3359:169:2" - }, - { - "body": { - "nativeSrc": "3614:214:2", - "nodeType": "YulBlock", - "src": "3614:214:2", - "statements": [ - { - "nativeSrc": "3747:37:2", - "nodeType": "YulAssignment", - "src": "3747:37:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "3774:4:2", - "nodeType": "YulIdentifier", - "src": "3774:4:2" - }, - { - "name": "len", - "nativeSrc": "3780:3:2", - "nodeType": "YulIdentifier", - "src": "3780:3:2" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nativeSrc": "3755:18:2", - "nodeType": "YulIdentifier", - "src": "3755:18:2" - }, - "nativeSrc": "3755:29:2", - "nodeType": "YulFunctionCall", - "src": "3755:29:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "3747:4:2", - "nodeType": "YulIdentifier", - "src": "3747:4:2" - } - ] - }, - { - "nativeSrc": "3793:29:2", - "nodeType": "YulAssignment", - "src": "3793:29:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "3804:4:2", - "nodeType": "YulIdentifier", - "src": "3804:4:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3814:1:2", - "nodeType": "YulLiteral", - "src": "3814:1:2", - "type": "", - "value": "2" - }, - { - "name": "len", - "nativeSrc": "3817:3:2", - "nodeType": "YulIdentifier", - "src": "3817:3:2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "3810:3:2", - "nodeType": "YulIdentifier", - "src": "3810:3:2" - }, - "nativeSrc": "3810:11:2", - "nodeType": "YulFunctionCall", - "src": "3810:11:2" - } - ], - "functionName": { - "name": "or", - "nativeSrc": "3801:2:2", - "nodeType": "YulIdentifier", - "src": "3801:2:2" - }, - "nativeSrc": "3801:21:2", - "nodeType": "YulFunctionCall", - "src": "3801:21:2" - }, - "variableNames": [ - { - "name": "used", - "nativeSrc": "3793:4:2", - "nodeType": "YulIdentifier", - "src": "3793:4:2" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "3533:295:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nativeSrc": "3595:4:2", - "nodeType": "YulTypedName", - "src": "3595:4:2", - "type": "" - }, - { - "name": "len", - "nativeSrc": "3601:3:2", - "nodeType": "YulTypedName", - "src": "3601:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nativeSrc": "3609:4:2", - "nodeType": "YulTypedName", - "src": "3609:4:2", - "type": "" - } - ], - "src": "3533:295:2" - }, - { - "body": { - "nativeSrc": "3925:1303:2", - "nodeType": "YulBlock", - "src": "3925:1303:2", - "statements": [ - { - "nativeSrc": "3936:51:2", - "nodeType": "YulVariableDeclaration", - "src": "3936:51:2", - "value": { - "arguments": [ - { - "name": "src", - "nativeSrc": "3983:3:2", - "nodeType": "YulIdentifier", - "src": "3983:3:2" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "3950:32:2", - "nodeType": "YulIdentifier", - "src": "3950:32:2" - }, - "nativeSrc": "3950:37:2", - "nodeType": "YulFunctionCall", - "src": "3950:37:2" - }, - "variables": [ - { - "name": "newLen", - "nativeSrc": "3940:6:2", - "nodeType": "YulTypedName", - "src": "3940:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "4072:22:2", - "nodeType": "YulBlock", - "src": "4072:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nativeSrc": "4074:16:2", - "nodeType": "YulIdentifier", - "src": "4074:16:2" - }, - "nativeSrc": "4074:18:2", - "nodeType": "YulFunctionCall", - "src": "4074:18:2" - }, - "nativeSrc": "4074:18:2", - "nodeType": "YulExpressionStatement", - "src": "4074:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "4044:6:2", - "nodeType": "YulIdentifier", - "src": "4044:6:2" - }, - { - "kind": "number", - "nativeSrc": "4052:18:2", - "nodeType": "YulLiteral", - "src": "4052:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "4041:2:2", - "nodeType": "YulIdentifier", - "src": "4041:2:2" - }, - "nativeSrc": "4041:30:2", - "nodeType": "YulFunctionCall", - "src": "4041:30:2" - }, - "nativeSrc": "4038:56:2", - "nodeType": "YulIf", - "src": "4038:56:2" - }, - { - "nativeSrc": "4104:52:2", - "nodeType": "YulVariableDeclaration", - "src": "4104:52:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nativeSrc": "4150:4:2", - "nodeType": "YulIdentifier", - "src": "4150:4:2" - } - ], - "functionName": { - "name": "sload", - "nativeSrc": "4144:5:2", - "nodeType": "YulIdentifier", - "src": "4144:5:2" - }, - "nativeSrc": "4144:11:2", - "nodeType": "YulFunctionCall", - "src": "4144:11:2" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nativeSrc": "4118:25:2", - "nodeType": "YulIdentifier", - "src": "4118:25:2" - }, - "nativeSrc": "4118:38:2", - "nodeType": "YulFunctionCall", - "src": "4118:38:2" - }, - "variables": [ - { - "name": "oldLen", - "nativeSrc": "4108:6:2", - "nodeType": "YulTypedName", - "src": "4108:6:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "4249:4:2", - "nodeType": "YulIdentifier", - "src": "4249:4:2" - }, - { - "name": "oldLen", - "nativeSrc": "4255:6:2", - "nodeType": "YulIdentifier", - "src": "4255:6:2" - }, - { - "name": "newLen", - "nativeSrc": "4263:6:2", - "nodeType": "YulIdentifier", - "src": "4263:6:2" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nativeSrc": "4203:45:2", - "nodeType": "YulIdentifier", - "src": "4203:45:2" - }, - "nativeSrc": "4203:67:2", - "nodeType": "YulFunctionCall", - "src": "4203:67:2" - }, - "nativeSrc": "4203:67:2", - "nodeType": "YulExpressionStatement", - "src": "4203:67:2" - }, - { - "nativeSrc": "4280:18:2", - "nodeType": "YulVariableDeclaration", - "src": "4280:18:2", - "value": { - "kind": "number", - "nativeSrc": "4297:1:2", - "nodeType": "YulLiteral", - "src": "4297:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nativeSrc": "4284:9:2", - "nodeType": "YulTypedName", - "src": "4284:9:2", - "type": "" - } - ] - }, - { - "nativeSrc": "4308:17:2", - "nodeType": "YulAssignment", - "src": "4308:17:2", - "value": { - "kind": "number", - "nativeSrc": "4321:4:2", - "nodeType": "YulLiteral", - "src": "4321:4:2", - "type": "", - "value": "0x20" - }, - "variableNames": [ - { - "name": "srcOffset", - "nativeSrc": "4308:9:2", - "nodeType": "YulIdentifier", - "src": "4308:9:2" - } - ] - }, - { - "cases": [ - { - "body": { - "nativeSrc": "4372:611:2", - "nodeType": "YulBlock", - "src": "4372:611:2", - "statements": [ - { - "nativeSrc": "4386:37:2", - "nodeType": "YulVariableDeclaration", - "src": "4386:37:2", - "value": { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "4405:6:2", - "nodeType": "YulIdentifier", - "src": "4405:6:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4417:4:2", - "nodeType": "YulLiteral", - "src": "4417:4:2", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "4413:3:2", - "nodeType": "YulIdentifier", - "src": "4413:3:2" - }, - "nativeSrc": "4413:9:2", - "nodeType": "YulFunctionCall", - "src": "4413:9:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "4401:3:2", - "nodeType": "YulIdentifier", - "src": "4401:3:2" - }, - "nativeSrc": "4401:22:2", - "nodeType": "YulFunctionCall", - "src": "4401:22:2" - }, - "variables": [ - { - "name": "loopEnd", - "nativeSrc": "4390:7:2", - "nodeType": "YulTypedName", - "src": "4390:7:2", - "type": "" - } - ] - }, - { - "nativeSrc": "4437:51:2", - "nodeType": "YulVariableDeclaration", - "src": "4437:51:2", - "value": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "4483:4:2", - "nodeType": "YulIdentifier", - "src": "4483:4:2" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nativeSrc": "4451:31:2", - "nodeType": "YulIdentifier", - "src": "4451:31:2" - }, - "nativeSrc": "4451:37:2", - "nodeType": "YulFunctionCall", - "src": "4451:37:2" - }, - "variables": [ - { - "name": "dstPtr", - "nativeSrc": "4441:6:2", - "nodeType": "YulTypedName", - "src": "4441:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "4501:10:2", - "nodeType": "YulVariableDeclaration", - "src": "4501:10:2", - "value": { - "kind": "number", - "nativeSrc": "4510:1:2", - "nodeType": "YulLiteral", - "src": "4510:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "4505:1:2", - "nodeType": "YulTypedName", - "src": "4505:1:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "4569:163:2", - "nodeType": "YulBlock", - "src": "4569:163:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nativeSrc": "4594:6:2", - "nodeType": "YulIdentifier", - "src": "4594:6:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "4612:3:2", - "nodeType": "YulIdentifier", - "src": "4612:3:2" - }, - { - "name": "srcOffset", - "nativeSrc": "4617:9:2", - "nodeType": "YulIdentifier", - "src": "4617:9:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4608:3:2", - "nodeType": "YulIdentifier", - "src": "4608:3:2" - }, - "nativeSrc": "4608:19:2", - "nodeType": "YulFunctionCall", - "src": "4608:19:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "4602:5:2", - "nodeType": "YulIdentifier", - "src": "4602:5:2" - }, - "nativeSrc": "4602:26:2", - "nodeType": "YulFunctionCall", - "src": "4602:26:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "4587:6:2", - "nodeType": "YulIdentifier", - "src": "4587:6:2" - }, - "nativeSrc": "4587:42:2", - "nodeType": "YulFunctionCall", - "src": "4587:42:2" - }, - "nativeSrc": "4587:42:2", - "nodeType": "YulExpressionStatement", - "src": "4587:42:2" - }, - { - "nativeSrc": "4646:24:2", - "nodeType": "YulAssignment", - "src": "4646:24:2", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nativeSrc": "4660:6:2", - "nodeType": "YulIdentifier", - "src": "4660:6:2" - }, - { - "kind": "number", - "nativeSrc": "4668:1:2", - "nodeType": "YulLiteral", - "src": "4668:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4656:3:2", - "nodeType": "YulIdentifier", - "src": "4656:3:2" - }, - "nativeSrc": "4656:14:2", - "nodeType": "YulFunctionCall", - "src": "4656:14:2" - }, - "variableNames": [ - { - "name": "dstPtr", - "nativeSrc": "4646:6:2", - "nodeType": "YulIdentifier", - "src": "4646:6:2" - } - ] - }, - { - "nativeSrc": "4687:31:2", - "nodeType": "YulAssignment", - "src": "4687:31:2", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nativeSrc": "4704:9:2", - "nodeType": "YulIdentifier", - "src": "4704:9:2" - }, - { - "kind": "number", - "nativeSrc": "4715:2:2", - "nodeType": "YulLiteral", - "src": "4715:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4700:3:2", - "nodeType": "YulIdentifier", - "src": "4700:3:2" - }, - "nativeSrc": "4700:18:2", - "nodeType": "YulFunctionCall", - "src": "4700:18:2" - }, - "variableNames": [ - { - "name": "srcOffset", - "nativeSrc": "4687:9:2", - "nodeType": "YulIdentifier", - "src": "4687:9:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "4535:1:2", - "nodeType": "YulIdentifier", - "src": "4535:1:2" - }, - { - "name": "loopEnd", - "nativeSrc": "4538:7:2", - "nodeType": "YulIdentifier", - "src": "4538:7:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "4532:2:2", - "nodeType": "YulIdentifier", - "src": "4532:2:2" - }, - "nativeSrc": "4532:14:2", - "nodeType": "YulFunctionCall", - "src": "4532:14:2" - }, - "nativeSrc": "4524:208:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "4547:21:2", - "nodeType": "YulBlock", - "src": "4547:21:2", - "statements": [ - { - "nativeSrc": "4549:17:2", - "nodeType": "YulAssignment", - "src": "4549:17:2", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "4558:1:2", - "nodeType": "YulIdentifier", - "src": "4558:1:2" - }, - { - "kind": "number", - "nativeSrc": "4561:4:2", - "nodeType": "YulLiteral", - "src": "4561:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4554:3:2", - "nodeType": "YulIdentifier", - "src": "4554:3:2" - }, - "nativeSrc": "4554:12:2", - "nodeType": "YulFunctionCall", - "src": "4554:12:2" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "4549:1:2", - "nodeType": "YulIdentifier", - "src": "4549:1:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "4528:3:2", - "nodeType": "YulBlock", - "src": "4528:3:2", - "statements": [] - }, - "src": "4524:208:2" - }, - { - "body": { - "nativeSrc": "4768:156:2", - "nodeType": "YulBlock", - "src": "4768:156:2", - "statements": [ - { - "nativeSrc": "4786:43:2", - "nodeType": "YulVariableDeclaration", - "src": "4786:43:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "4813:3:2", - "nodeType": "YulIdentifier", - "src": "4813:3:2" - }, - { - "name": "srcOffset", - "nativeSrc": "4818:9:2", - "nodeType": "YulIdentifier", - "src": "4818:9:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4809:3:2", - "nodeType": "YulIdentifier", - "src": "4809:3:2" - }, - "nativeSrc": "4809:19:2", - "nodeType": "YulFunctionCall", - "src": "4809:19:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "4803:5:2", - "nodeType": "YulIdentifier", - "src": "4803:5:2" - }, - "nativeSrc": "4803:26:2", - "nodeType": "YulFunctionCall", - "src": "4803:26:2" - }, - "variables": [ - { - "name": "lastValue", - "nativeSrc": "4790:9:2", - "nodeType": "YulTypedName", - "src": "4790:9:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nativeSrc": "4853:6:2", - "nodeType": "YulIdentifier", - "src": "4853:6:2" - }, - { - "arguments": [ - { - "name": "lastValue", - "nativeSrc": "4880:9:2", - "nodeType": "YulIdentifier", - "src": "4880:9:2" - }, - { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "4895:6:2", - "nodeType": "YulIdentifier", - "src": "4895:6:2" - }, - { - "kind": "number", - "nativeSrc": "4903:4:2", - "nodeType": "YulLiteral", - "src": "4903:4:2", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "4891:3:2", - "nodeType": "YulIdentifier", - "src": "4891:3:2" - }, - "nativeSrc": "4891:17:2", - "nodeType": "YulFunctionCall", - "src": "4891:17:2" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nativeSrc": "4861:18:2", - "nodeType": "YulIdentifier", - "src": "4861:18:2" - }, - "nativeSrc": "4861:48:2", - "nodeType": "YulFunctionCall", - "src": "4861:48:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "4846:6:2", - "nodeType": "YulIdentifier", - "src": "4846:6:2" - }, - "nativeSrc": "4846:64:2", - "nodeType": "YulFunctionCall", - "src": "4846:64:2" - }, - "nativeSrc": "4846:64:2", - "nodeType": "YulExpressionStatement", - "src": "4846:64:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nativeSrc": "4751:7:2", - "nodeType": "YulIdentifier", - "src": "4751:7:2" - }, - { - "name": "newLen", - "nativeSrc": "4760:6:2", - "nodeType": "YulIdentifier", - "src": "4760:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "4748:2:2", - "nodeType": "YulIdentifier", - "src": "4748:2:2" - }, - "nativeSrc": "4748:19:2", - "nodeType": "YulFunctionCall", - "src": "4748:19:2" - }, - "nativeSrc": "4745:179:2", - "nodeType": "YulIf", - "src": "4745:179:2" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "4944:4:2", - "nodeType": "YulIdentifier", - "src": "4944:4:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "4958:6:2", - "nodeType": "YulIdentifier", - "src": "4958:6:2" - }, - { - "kind": "number", - "nativeSrc": "4966:1:2", - "nodeType": "YulLiteral", - "src": "4966:1:2", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "4954:3:2", - "nodeType": "YulIdentifier", - "src": "4954:3:2" - }, - "nativeSrc": "4954:14:2", - "nodeType": "YulFunctionCall", - "src": "4954:14:2" - }, - { - "kind": "number", - "nativeSrc": "4970:1:2", - "nodeType": "YulLiteral", - "src": "4970:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4950:3:2", - "nodeType": "YulIdentifier", - "src": "4950:3:2" - }, - "nativeSrc": "4950:22:2", - "nodeType": "YulFunctionCall", - "src": "4950:22:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "4937:6:2", - "nodeType": "YulIdentifier", - "src": "4937:6:2" - }, - "nativeSrc": "4937:36:2", - "nodeType": "YulFunctionCall", - "src": "4937:36:2" - }, - "nativeSrc": "4937:36:2", - "nodeType": "YulExpressionStatement", - "src": "4937:36:2" - } - ] - }, - "nativeSrc": "4365:618:2", - "nodeType": "YulCase", - "src": "4365:618:2", - "value": { - "kind": "number", - "nativeSrc": "4370:1:2", - "nodeType": "YulLiteral", - "src": "4370:1:2", - "type": "", - "value": "1" - } - }, - { - "body": { - "nativeSrc": "5000:222:2", - "nodeType": "YulBlock", - "src": "5000:222:2", - "statements": [ - { - "nativeSrc": "5014:14:2", - "nodeType": "YulVariableDeclaration", - "src": "5014:14:2", - "value": { - "kind": "number", - "nativeSrc": "5027:1:2", - "nodeType": "YulLiteral", - "src": "5027:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nativeSrc": "5018:5:2", - "nodeType": "YulTypedName", - "src": "5018:5:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5051:67:2", - "nodeType": "YulBlock", - "src": "5051:67:2", - "statements": [ - { - "nativeSrc": "5069:35:2", - "nodeType": "YulAssignment", - "src": "5069:35:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "5088:3:2", - "nodeType": "YulIdentifier", - "src": "5088:3:2" - }, - { - "name": "srcOffset", - "nativeSrc": "5093:9:2", - "nodeType": "YulIdentifier", - "src": "5093:9:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5084:3:2", - "nodeType": "YulIdentifier", - "src": "5084:3:2" - }, - "nativeSrc": "5084:19:2", - "nodeType": "YulFunctionCall", - "src": "5084:19:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "5078:5:2", - "nodeType": "YulIdentifier", - "src": "5078:5:2" - }, - "nativeSrc": "5078:26:2", - "nodeType": "YulFunctionCall", - "src": "5078:26:2" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "5069:5:2", - "nodeType": "YulIdentifier", - "src": "5069:5:2" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nativeSrc": "5044:6:2", - "nodeType": "YulIdentifier", - "src": "5044:6:2" - }, - "nativeSrc": "5041:77:2", - "nodeType": "YulIf", - "src": "5041:77:2" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "5138:4:2", - "nodeType": "YulIdentifier", - "src": "5138:4:2" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "5197:5:2", - "nodeType": "YulIdentifier", - "src": "5197:5:2" - }, - { - "name": "newLen", - "nativeSrc": "5204:6:2", - "nodeType": "YulIdentifier", - "src": "5204:6:2" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "5144:52:2", - "nodeType": "YulIdentifier", - "src": "5144:52:2" - }, - "nativeSrc": "5144:67:2", - "nodeType": "YulFunctionCall", - "src": "5144:67:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "5131:6:2", - "nodeType": "YulIdentifier", - "src": "5131:6:2" - }, - "nativeSrc": "5131:81:2", - "nodeType": "YulFunctionCall", - "src": "5131:81:2" - }, - "nativeSrc": "5131:81:2", - "nodeType": "YulExpressionStatement", - "src": "5131:81:2" - } - ] - }, - "nativeSrc": "4992:230:2", - "nodeType": "YulCase", - "src": "4992:230:2", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "4345:6:2", - "nodeType": "YulIdentifier", - "src": "4345:6:2" - }, - { - "kind": "number", - "nativeSrc": "4353:2:2", - "nodeType": "YulLiteral", - "src": "4353:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "4342:2:2", - "nodeType": "YulIdentifier", - "src": "4342:2:2" - }, - "nativeSrc": "4342:14:2", - "nodeType": "YulFunctionCall", - "src": "4342:14:2" - }, - "nativeSrc": "4335:887:2", - "nodeType": "YulSwitch", - "src": "4335:887:2" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nativeSrc": "3833:1395:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nativeSrc": "3914:4:2", - "nodeType": "YulTypedName", - "src": "3914:4:2", - "type": "" - }, - { - "name": "src", - "nativeSrc": "3920:3:2", - "nodeType": "YulTypedName", - "src": "3920:3:2", - "type": "" - } - ], - "src": "3833:1395:2" - }, - { - "body": { - "nativeSrc": "5348:34:2", - "nodeType": "YulBlock", - "src": "5348:34:2", - "statements": [ - { - "nativeSrc": "5358:18:2", - "nodeType": "YulAssignment", - "src": "5358:18:2", - "value": { - "name": "pos", - "nativeSrc": "5373:3:2", - "nodeType": "YulIdentifier", - "src": "5373:3:2" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "5358:11:2", - "nodeType": "YulIdentifier", - "src": "5358:11:2" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5234:148:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "5320:3:2", - "nodeType": "YulTypedName", - "src": "5320:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "5325:6:2", - "nodeType": "YulTypedName", - "src": "5325:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "5336:11:2", - "nodeType": "YulTypedName", - "src": "5336:11:2", - "type": "" - } - ], - "src": "5234:148:2" - }, - { - "body": { - "nativeSrc": "5450:184:2", - "nodeType": "YulBlock", - "src": "5450:184:2", - "statements": [ - { - "nativeSrc": "5460:10:2", - "nodeType": "YulVariableDeclaration", - "src": "5460:10:2", - "value": { - "kind": "number", - "nativeSrc": "5469:1:2", - "nodeType": "YulLiteral", - "src": "5469:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "5464:1:2", - "nodeType": "YulTypedName", - "src": "5464:1:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5529:63:2", - "nodeType": "YulBlock", - "src": "5529:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "5554:3:2", - "nodeType": "YulIdentifier", - "src": "5554:3:2" - }, - { - "name": "i", - "nativeSrc": "5559:1:2", - "nodeType": "YulIdentifier", - "src": "5559:1:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5550:3:2", - "nodeType": "YulIdentifier", - "src": "5550:3:2" - }, - "nativeSrc": "5550:11:2", - "nodeType": "YulFunctionCall", - "src": "5550:11:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "5573:3:2", - "nodeType": "YulIdentifier", - "src": "5573:3:2" - }, - { - "name": "i", - "nativeSrc": "5578:1:2", - "nodeType": "YulIdentifier", - "src": "5578:1:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5569:3:2", - "nodeType": "YulIdentifier", - "src": "5569:3:2" - }, - "nativeSrc": "5569:11:2", - "nodeType": "YulFunctionCall", - "src": "5569:11:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "5563:5:2", - "nodeType": "YulIdentifier", - "src": "5563:5:2" - }, - "nativeSrc": "5563:18:2", - "nodeType": "YulFunctionCall", - "src": "5563:18:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "5543:6:2", - "nodeType": "YulIdentifier", - "src": "5543:6:2" - }, - "nativeSrc": "5543:39:2", - "nodeType": "YulFunctionCall", - "src": "5543:39:2" - }, - "nativeSrc": "5543:39:2", - "nodeType": "YulExpressionStatement", - "src": "5543:39:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5490:1:2", - "nodeType": "YulIdentifier", - "src": "5490:1:2" - }, - { - "name": "length", - "nativeSrc": "5493:6:2", - "nodeType": "YulIdentifier", - "src": "5493:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "5487:2:2", - "nodeType": "YulIdentifier", - "src": "5487:2:2" - }, - "nativeSrc": "5487:13:2", - "nodeType": "YulFunctionCall", - "src": "5487:13:2" - }, - "nativeSrc": "5479:113:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "5501:19:2", - "nodeType": "YulBlock", - "src": "5501:19:2", - "statements": [ - { - "nativeSrc": "5503:15:2", - "nodeType": "YulAssignment", - "src": "5503:15:2", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "5512:1:2", - "nodeType": "YulIdentifier", - "src": "5512:1:2" - }, - { - "kind": "number", - "nativeSrc": "5515:2:2", - "nodeType": "YulLiteral", - "src": "5515:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5508:3:2", - "nodeType": "YulIdentifier", - "src": "5508:3:2" - }, - "nativeSrc": "5508:10:2", - "nodeType": "YulFunctionCall", - "src": "5508:10:2" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "5503:1:2", - "nodeType": "YulIdentifier", - "src": "5503:1:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "5483:3:2", - "nodeType": "YulBlock", - "src": "5483:3:2", - "statements": [] - }, - "src": "5479:113:2" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "5612:3:2", - "nodeType": "YulIdentifier", - "src": "5612:3:2" - }, - { - "name": "length", - "nativeSrc": "5617:6:2", - "nodeType": "YulIdentifier", - "src": "5617:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5608:3:2", - "nodeType": "YulIdentifier", - "src": "5608:3:2" - }, - "nativeSrc": "5608:16:2", - "nodeType": "YulFunctionCall", - "src": "5608:16:2" - }, - { - "kind": "number", - "nativeSrc": "5626:1:2", - "nodeType": "YulLiteral", - "src": "5626:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "5601:6:2", - "nodeType": "YulIdentifier", - "src": "5601:6:2" - }, - "nativeSrc": "5601:27:2", - "nodeType": "YulFunctionCall", - "src": "5601:27:2" - }, - "nativeSrc": "5601:27:2", - "nodeType": "YulExpressionStatement", - "src": "5601:27:2" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "5388:246:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nativeSrc": "5432:3:2", - "nodeType": "YulTypedName", - "src": "5432:3:2", - "type": "" - }, - { - "name": "dst", - "nativeSrc": "5437:3:2", - "nodeType": "YulTypedName", - "src": "5437:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "5442:6:2", - "nodeType": "YulTypedName", - "src": "5442:6:2", - "type": "" - } - ], - "src": "5388:246:2" - }, - { - "body": { - "nativeSrc": "5750:280:2", - "nodeType": "YulBlock", - "src": "5750:280:2", - "statements": [ - { - "nativeSrc": "5760:53:2", - "nodeType": "YulVariableDeclaration", - "src": "5760:53:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "5807:5:2", - "nodeType": "YulIdentifier", - "src": "5807:5:2" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "5774:32:2", - "nodeType": "YulIdentifier", - "src": "5774:32:2" - }, - "nativeSrc": "5774:39:2", - "nodeType": "YulFunctionCall", - "src": "5774:39:2" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "5764:6:2", - "nodeType": "YulTypedName", - "src": "5764:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "5822:96:2", - "nodeType": "YulAssignment", - "src": "5822:96:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "5906:3:2", - "nodeType": "YulIdentifier", - "src": "5906:3:2" - }, - { - "name": "length", - "nativeSrc": "5911:6:2", - "nodeType": "YulIdentifier", - "src": "5911:6:2" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5829:76:2", - "nodeType": "YulIdentifier", - "src": "5829:76:2" - }, - "nativeSrc": "5829:89:2", - "nodeType": "YulFunctionCall", - "src": "5829:89:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "5822:3:2", - "nodeType": "YulIdentifier", - "src": "5822:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "5966:5:2", - "nodeType": "YulIdentifier", - "src": "5966:5:2" - }, - { - "kind": "number", - "nativeSrc": "5973:4:2", - "nodeType": "YulLiteral", - "src": "5973:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5962:3:2", - "nodeType": "YulIdentifier", - "src": "5962:3:2" - }, - "nativeSrc": "5962:16:2", - "nodeType": "YulFunctionCall", - "src": "5962:16:2" - }, - { - "name": "pos", - "nativeSrc": "5980:3:2", - "nodeType": "YulIdentifier", - "src": "5980:3:2" - }, - { - "name": "length", - "nativeSrc": "5985:6:2", - "nodeType": "YulIdentifier", - "src": "5985:6:2" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "5927:34:2", - "nodeType": "YulIdentifier", - "src": "5927:34:2" - }, - "nativeSrc": "5927:65:2", - "nodeType": "YulFunctionCall", - "src": "5927:65:2" - }, - "nativeSrc": "5927:65:2", - "nodeType": "YulExpressionStatement", - "src": "5927:65:2" - }, - { - "nativeSrc": "6001:23:2", - "nodeType": "YulAssignment", - "src": "6001:23:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6012:3:2", - "nodeType": "YulIdentifier", - "src": "6012:3:2" - }, - { - "name": "length", - "nativeSrc": "6017:6:2", - "nodeType": "YulIdentifier", - "src": "6017:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6008:3:2", - "nodeType": "YulIdentifier", - "src": "6008:3:2" - }, - "nativeSrc": "6008:16:2", - "nodeType": "YulFunctionCall", - "src": "6008:16:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "6001:3:2", - "nodeType": "YulIdentifier", - "src": "6001:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5640:390:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "5731:5:2", - "nodeType": "YulTypedName", - "src": "5731:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "5738:3:2", - "nodeType": "YulTypedName", - "src": "5738:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "5746:3:2", - "nodeType": "YulTypedName", - "src": "5746:3:2", - "type": "" - } - ], - "src": "5640:390:2" - }, - { - "body": { - "nativeSrc": "6172:139:2", - "nodeType": "YulBlock", - "src": "6172:139:2", - "statements": [ - { - "nativeSrc": "6183:102:2", - "nodeType": "YulAssignment", - "src": "6183:102:2", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "6272:6:2", - "nodeType": "YulIdentifier", - "src": "6272:6:2" - }, - { - "name": "pos", - "nativeSrc": "6281:3:2", - "nodeType": "YulIdentifier", - "src": "6281:3:2" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "6190:81:2", - "nodeType": "YulIdentifier", - "src": "6190:81:2" - }, - "nativeSrc": "6190:95:2", - "nodeType": "YulFunctionCall", - "src": "6190:95:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "6183:3:2", - "nodeType": "YulIdentifier", - "src": "6183:3:2" - } - ] - }, - { - "nativeSrc": "6295:10:2", - "nodeType": "YulAssignment", - "src": "6295:10:2", - "value": { - "name": "pos", - "nativeSrc": "6302:3:2", - "nodeType": "YulIdentifier", - "src": "6302:3:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "6295:3:2", - "nodeType": "YulIdentifier", - "src": "6295:3:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "6036:275:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "6151:3:2", - "nodeType": "YulTypedName", - "src": "6151:3:2", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "6157:6:2", - "nodeType": "YulTypedName", - "src": "6157:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "6168:3:2", - "nodeType": "YulTypedName", - "src": "6168:3:2", - "type": "" - } - ], - "src": "6036:275:2" - }, - { - "body": { - "nativeSrc": "6413:73:2", - "nodeType": "YulBlock", - "src": "6413:73:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6430:3:2", - "nodeType": "YulIdentifier", - "src": "6430:3:2" - }, - { - "name": "length", - "nativeSrc": "6435:6:2", - "nodeType": "YulIdentifier", - "src": "6435:6:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "6423:6:2", - "nodeType": "YulIdentifier", - "src": "6423:6:2" - }, - "nativeSrc": "6423:19:2", - "nodeType": "YulFunctionCall", - "src": "6423:19:2" - }, - "nativeSrc": "6423:19:2", - "nodeType": "YulExpressionStatement", - "src": "6423:19:2" - }, - { - "nativeSrc": "6451:29:2", - "nodeType": "YulAssignment", - "src": "6451:29:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6470:3:2", - "nodeType": "YulIdentifier", - "src": "6470:3:2" - }, - { - "kind": "number", - "nativeSrc": "6475:4:2", - "nodeType": "YulLiteral", - "src": "6475:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6466:3:2", - "nodeType": "YulIdentifier", - "src": "6466:3:2" - }, - "nativeSrc": "6466:14:2", - "nodeType": "YulFunctionCall", - "src": "6466:14:2" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "6451:11:2", - "nodeType": "YulIdentifier", - "src": "6451:11:2" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "6317:169:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "6385:3:2", - "nodeType": "YulTypedName", - "src": "6385:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "6390:6:2", - "nodeType": "YulTypedName", - "src": "6390:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "6401:11:2", - "nodeType": "YulTypedName", - "src": "6401:11:2", - "type": "" - } - ], - "src": "6317:169:2" - }, - { - "body": { - "nativeSrc": "6598:63:2", - "nodeType": "YulBlock", - "src": "6598:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "6620:6:2", - "nodeType": "YulIdentifier", - "src": "6620:6:2" - }, - { - "kind": "number", - "nativeSrc": "6628:1:2", - "nodeType": "YulLiteral", - "src": "6628:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6616:3:2", - "nodeType": "YulIdentifier", - "src": "6616:3:2" - }, - "nativeSrc": "6616:14:2", - "nodeType": "YulFunctionCall", - "src": "6616:14:2" - }, - { - "hexValue": "5573657220416c726561647920457869737473", - "kind": "string", - "nativeSrc": "6632:21:2", - "nodeType": "YulLiteral", - "src": "6632:21:2", - "type": "", - "value": "User Already Exists" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "6609:6:2", - "nodeType": "YulIdentifier", - "src": "6609:6:2" - }, - "nativeSrc": "6609:45:2", - "nodeType": "YulFunctionCall", - "src": "6609:45:2" - }, - "nativeSrc": "6609:45:2", - "nodeType": "YulExpressionStatement", - "src": "6609:45:2" - } - ] - }, - "name": "store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e", - "nativeSrc": "6492:169:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "6590:6:2", - "nodeType": "YulTypedName", - "src": "6590:6:2", - "type": "" - } - ], - "src": "6492:169:2" - }, - { - "body": { - "nativeSrc": "6813:220:2", - "nodeType": "YulBlock", - "src": "6813:220:2", - "statements": [ - { - "nativeSrc": "6823:74:2", - "nodeType": "YulAssignment", - "src": "6823:74:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6889:3:2", - "nodeType": "YulIdentifier", - "src": "6889:3:2" - }, - { - "kind": "number", - "nativeSrc": "6894:2:2", - "nodeType": "YulLiteral", - "src": "6894:2:2", - "type": "", - "value": "19" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "6830:58:2", - "nodeType": "YulIdentifier", - "src": "6830:58:2" - }, - "nativeSrc": "6830:67:2", - "nodeType": "YulFunctionCall", - "src": "6830:67:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "6823:3:2", - "nodeType": "YulIdentifier", - "src": "6823:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6995:3:2", - "nodeType": "YulIdentifier", - "src": "6995:3:2" - } - ], - "functionName": { - "name": "store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e", - "nativeSrc": "6906:88:2", - "nodeType": "YulIdentifier", - "src": "6906:88:2" - }, - "nativeSrc": "6906:93:2", - "nodeType": "YulFunctionCall", - "src": "6906:93:2" - }, - "nativeSrc": "6906:93:2", - "nodeType": "YulExpressionStatement", - "src": "6906:93:2" - }, - { - "nativeSrc": "7008:19:2", - "nodeType": "YulAssignment", - "src": "7008:19:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "7019:3:2", - "nodeType": "YulIdentifier", - "src": "7019:3:2" - }, - { - "kind": "number", - "nativeSrc": "7024:2:2", - "nodeType": "YulLiteral", - "src": "7024:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7015:3:2", - "nodeType": "YulIdentifier", - "src": "7015:3:2" - }, - "nativeSrc": "7015:12:2", - "nodeType": "YulFunctionCall", - "src": "7015:12:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "7008:3:2", - "nodeType": "YulIdentifier", - "src": "7008:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack", - "nativeSrc": "6667:366:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "6801:3:2", - "nodeType": "YulTypedName", - "src": "6801:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "6809:3:2", - "nodeType": "YulTypedName", - "src": "6809:3:2", - "type": "" - } - ], - "src": "6667:366:2" - }, - { - "body": { - "nativeSrc": "7210:248:2", - "nodeType": "YulBlock", - "src": "7210:248:2", - "statements": [ - { - "nativeSrc": "7220:26:2", - "nodeType": "YulAssignment", - "src": "7220:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "7232:9:2", - "nodeType": "YulIdentifier", - "src": "7232:9:2" - }, - { - "kind": "number", - "nativeSrc": "7243:2:2", - "nodeType": "YulLiteral", - "src": "7243:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7228:3:2", - "nodeType": "YulIdentifier", - "src": "7228:3:2" - }, - "nativeSrc": "7228:18:2", - "nodeType": "YulFunctionCall", - "src": "7228:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "7220:4:2", - "nodeType": "YulIdentifier", - "src": "7220:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "7267:9:2", - "nodeType": "YulIdentifier", - "src": "7267:9:2" - }, - { - "kind": "number", - "nativeSrc": "7278:1:2", - "nodeType": "YulLiteral", - "src": "7278:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7263:3:2", - "nodeType": "YulIdentifier", - "src": "7263:3:2" - }, - "nativeSrc": "7263:17:2", - "nodeType": "YulFunctionCall", - "src": "7263:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "7286:4:2", - "nodeType": "YulIdentifier", - "src": "7286:4:2" - }, - { - "name": "headStart", - "nativeSrc": "7292:9:2", - "nodeType": "YulIdentifier", - "src": "7292:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "7282:3:2", - "nodeType": "YulIdentifier", - "src": "7282:3:2" - }, - "nativeSrc": "7282:20:2", - "nodeType": "YulFunctionCall", - "src": "7282:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7256:6:2", - "nodeType": "YulIdentifier", - "src": "7256:6:2" - }, - "nativeSrc": "7256:47:2", - "nodeType": "YulFunctionCall", - "src": "7256:47:2" - }, - "nativeSrc": "7256:47:2", - "nodeType": "YulExpressionStatement", - "src": "7256:47:2" - }, - { - "nativeSrc": "7312:139:2", - "nodeType": "YulAssignment", - "src": "7312:139:2", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "7446:4:2", - "nodeType": "YulIdentifier", - "src": "7446:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack", - "nativeSrc": "7320:124:2", - "nodeType": "YulIdentifier", - "src": "7320:124:2" - }, - "nativeSrc": "7320:131:2", - "nodeType": "YulFunctionCall", - "src": "7320:131:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "7312:4:2", - "nodeType": "YulIdentifier", - "src": "7312:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "7039:419:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "7190:9:2", - "nodeType": "YulTypedName", - "src": "7190:9:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "7205:4:2", - "nodeType": "YulTypedName", - "src": "7205:4:2", - "type": "" - } - ], - "src": "7039:419:2" - }, - { - "body": { - "nativeSrc": "7492:152:2", - "nodeType": "YulBlock", - "src": "7492:152:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7509:1:2", - "nodeType": "YulLiteral", - "src": "7509:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "7512:77:2", - "nodeType": "YulLiteral", - "src": "7512:77:2", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7502:6:2", - "nodeType": "YulIdentifier", - "src": "7502:6:2" - }, - "nativeSrc": "7502:88:2", - "nodeType": "YulFunctionCall", - "src": "7502:88:2" - }, - "nativeSrc": "7502:88:2", - "nodeType": "YulExpressionStatement", - "src": "7502:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7606:1:2", - "nodeType": "YulLiteral", - "src": "7606:1:2", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "7609:4:2", - "nodeType": "YulLiteral", - "src": "7609:4:2", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7599:6:2", - "nodeType": "YulIdentifier", - "src": "7599:6:2" - }, - "nativeSrc": "7599:15:2", - "nodeType": "YulFunctionCall", - "src": "7599:15:2" - }, - "nativeSrc": "7599:15:2", - "nodeType": "YulExpressionStatement", - "src": "7599:15:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7630:1:2", - "nodeType": "YulLiteral", - "src": "7630:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "7633:4:2", - "nodeType": "YulLiteral", - "src": "7633:4:2", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "7623:6:2", - "nodeType": "YulIdentifier", - "src": "7623:6:2" - }, - "nativeSrc": "7623:15:2", - "nodeType": "YulFunctionCall", - "src": "7623:15:2" - }, - "nativeSrc": "7623:15:2", - "nodeType": "YulExpressionStatement", - "src": "7623:15:2" - } - ] - }, - "name": "panic_error_0x11", - "nativeSrc": "7464:180:2", - "nodeType": "YulFunctionDefinition", - "src": "7464:180:2" - }, - { - "body": { - "nativeSrc": "7693:190:2", - "nodeType": "YulBlock", - "src": "7693:190:2", - "statements": [ - { - "nativeSrc": "7703:33:2", - "nodeType": "YulAssignment", - "src": "7703:33:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "7730:5:2", - "nodeType": "YulIdentifier", - "src": "7730:5:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "7712:17:2", - "nodeType": "YulIdentifier", - "src": "7712:17:2" - }, - "nativeSrc": "7712:24:2", - "nodeType": "YulFunctionCall", - "src": "7712:24:2" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "7703:5:2", - "nodeType": "YulIdentifier", - "src": "7703:5:2" - } - ] - }, - { - "body": { - "nativeSrc": "7826:22:2", - "nodeType": "YulBlock", - "src": "7826:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nativeSrc": "7828:16:2", - "nodeType": "YulIdentifier", - "src": "7828:16:2" - }, - "nativeSrc": "7828:18:2", - "nodeType": "YulFunctionCall", - "src": "7828:18:2" - }, - "nativeSrc": "7828:18:2", - "nodeType": "YulExpressionStatement", - "src": "7828:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nativeSrc": "7751:5:2", - "nodeType": "YulIdentifier", - "src": "7751:5:2" - }, - { - "kind": "number", - "nativeSrc": "7758:66:2", - "nodeType": "YulLiteral", - "src": "7758:66:2", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "7748:2:2", - "nodeType": "YulIdentifier", - "src": "7748:2:2" - }, - "nativeSrc": "7748:77:2", - "nodeType": "YulFunctionCall", - "src": "7748:77:2" - }, - "nativeSrc": "7745:103:2", - "nodeType": "YulIf", - "src": "7745:103:2" - }, - { - "nativeSrc": "7857:20:2", - "nodeType": "YulAssignment", - "src": "7857:20:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "7868:5:2", - "nodeType": "YulIdentifier", - "src": "7868:5:2" - }, - { - "kind": "number", - "nativeSrc": "7875:1:2", - "nodeType": "YulLiteral", - "src": "7875:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7864:3:2", - "nodeType": "YulIdentifier", - "src": "7864:3:2" - }, - "nativeSrc": "7864:13:2", - "nodeType": "YulFunctionCall", - "src": "7864:13:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "7857:3:2", - "nodeType": "YulIdentifier", - "src": "7857:3:2" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nativeSrc": "7650:233:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "7679:5:2", - "nodeType": "YulTypedName", - "src": "7679:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "7689:3:2", - "nodeType": "YulTypedName", - "src": "7689:3:2", - "type": "" - } - ], - "src": "7650:233:2" - }, - { - "body": { - "nativeSrc": "7995:75:2", - "nodeType": "YulBlock", - "src": "7995:75:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "8017:6:2", - "nodeType": "YulIdentifier", - "src": "8017:6:2" - }, - { - "kind": "number", - "nativeSrc": "8025:1:2", - "nodeType": "YulLiteral", - "src": "8025:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8013:3:2", - "nodeType": "YulIdentifier", - "src": "8013:3:2" - }, - "nativeSrc": "8013:14:2", - "nodeType": "YulFunctionCall", - "src": "8013:14:2" - }, - { - "hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c", - "kind": "string", - "nativeSrc": "8029:33:2", - "nodeType": "YulLiteral", - "src": "8029:33:2", - "type": "", - "value": "ReentrancyGuard: reentrant call" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8006:6:2", - "nodeType": "YulIdentifier", - "src": "8006:6:2" - }, - "nativeSrc": "8006:57:2", - "nodeType": "YulFunctionCall", - "src": "8006:57:2" - }, - "nativeSrc": "8006:57:2", - "nodeType": "YulExpressionStatement", - "src": "8006:57:2" - } - ] - }, - "name": "store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", - "nativeSrc": "7889:181:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "7987:6:2", - "nodeType": "YulTypedName", - "src": "7987:6:2", - "type": "" - } - ], - "src": "7889:181:2" - }, - { - "body": { - "nativeSrc": "8222:220:2", - "nodeType": "YulBlock", - "src": "8222:220:2", - "statements": [ - { - "nativeSrc": "8232:74:2", - "nodeType": "YulAssignment", - "src": "8232:74:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "8298:3:2", - "nodeType": "YulIdentifier", - "src": "8298:3:2" - }, - { - "kind": "number", - "nativeSrc": "8303:2:2", - "nodeType": "YulLiteral", - "src": "8303:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "8239:58:2", - "nodeType": "YulIdentifier", - "src": "8239:58:2" - }, - "nativeSrc": "8239:67:2", - "nodeType": "YulFunctionCall", - "src": "8239:67:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "8232:3:2", - "nodeType": "YulIdentifier", - "src": "8232:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "8404:3:2", - "nodeType": "YulIdentifier", - "src": "8404:3:2" - } - ], - "functionName": { - "name": "store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", - "nativeSrc": "8315:88:2", - "nodeType": "YulIdentifier", - "src": "8315:88:2" - }, - "nativeSrc": "8315:93:2", - "nodeType": "YulFunctionCall", - "src": "8315:93:2" - }, - "nativeSrc": "8315:93:2", - "nodeType": "YulExpressionStatement", - "src": "8315:93:2" - }, - { - "nativeSrc": "8417:19:2", - "nodeType": "YulAssignment", - "src": "8417:19:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "8428:3:2", - "nodeType": "YulIdentifier", - "src": "8428:3:2" - }, - { - "kind": "number", - "nativeSrc": "8433:2:2", - "nodeType": "YulLiteral", - "src": "8433:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8424:3:2", - "nodeType": "YulIdentifier", - "src": "8424:3:2" - }, - "nativeSrc": "8424:12:2", - "nodeType": "YulFunctionCall", - "src": "8424:12:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "8417:3:2", - "nodeType": "YulIdentifier", - "src": "8417:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", - "nativeSrc": "8076:366:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "8210:3:2", - "nodeType": "YulTypedName", - "src": "8210:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "8218:3:2", - "nodeType": "YulTypedName", - "src": "8218:3:2", - "type": "" - } - ], - "src": "8076:366:2" - }, - { - "body": { - "nativeSrc": "8619:248:2", - "nodeType": "YulBlock", - "src": "8619:248:2", - "statements": [ - { - "nativeSrc": "8629:26:2", - "nodeType": "YulAssignment", - "src": "8629:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "8641:9:2", - "nodeType": "YulIdentifier", - "src": "8641:9:2" - }, - { - "kind": "number", - "nativeSrc": "8652:2:2", - "nodeType": "YulLiteral", - "src": "8652:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8637:3:2", - "nodeType": "YulIdentifier", - "src": "8637:3:2" - }, - "nativeSrc": "8637:18:2", - "nodeType": "YulFunctionCall", - "src": "8637:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "8629:4:2", - "nodeType": "YulIdentifier", - "src": "8629:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "8676:9:2", - "nodeType": "YulIdentifier", - "src": "8676:9:2" - }, - { - "kind": "number", - "nativeSrc": "8687:1:2", - "nodeType": "YulLiteral", - "src": "8687:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8672:3:2", - "nodeType": "YulIdentifier", - "src": "8672:3:2" - }, - "nativeSrc": "8672:17:2", - "nodeType": "YulFunctionCall", - "src": "8672:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "8695:4:2", - "nodeType": "YulIdentifier", - "src": "8695:4:2" - }, - { - "name": "headStart", - "nativeSrc": "8701:9:2", - "nodeType": "YulIdentifier", - "src": "8701:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "8691:3:2", - "nodeType": "YulIdentifier", - "src": "8691:3:2" - }, - "nativeSrc": "8691:20:2", - "nodeType": "YulFunctionCall", - "src": "8691:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8665:6:2", - "nodeType": "YulIdentifier", - "src": "8665:6:2" - }, - "nativeSrc": "8665:47:2", - "nodeType": "YulFunctionCall", - "src": "8665:47:2" - }, - "nativeSrc": "8665:47:2", - "nodeType": "YulExpressionStatement", - "src": "8665:47:2" - }, - { - "nativeSrc": "8721:139:2", - "nodeType": "YulAssignment", - "src": "8721:139:2", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "8855:4:2", - "nodeType": "YulIdentifier", - "src": "8855:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", - "nativeSrc": "8729:124:2", - "nodeType": "YulIdentifier", - "src": "8729:124:2" - }, - "nativeSrc": "8729:131:2", - "nodeType": "YulFunctionCall", - "src": "8729:131:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "8721:4:2", - "nodeType": "YulIdentifier", - "src": "8721:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "8448:419:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "8599:9:2", - "nodeType": "YulTypedName", - "src": "8599:9:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "8614:4:2", - "nodeType": "YulTypedName", - "src": "8614:4:2", - "type": "" - } - ], - "src": "8448:419:2" - } - ] - }, - "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\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 store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e(memPtr) {\n\n mstore(add(memPtr, 0), \"User Already Exists\")\n\n }\n\n function abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(memPtr) {\n\n mstore(add(memPtr, 0), \"ReentrancyGuard: reentrant call\")\n\n }\n\n function abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", - "id": 2, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040526040518060400160405280601581526020017f6861636b62726f6b65727340676d61696c2e636f6d0000000000000000000000815250600390816200004a919062000731565b503480156200005857600080fd5b50600160008190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200017b6040518060400160405280600581526020017f6f776e657200000000000000000000000000000000000000000000000000000081525060038054620000eb9062000520565b80601f0160208091040260200160405190810160405280929190818152602001828054620001199062000520565b80156200016a5780601f106200013e576101008083540402835291602001916200016a565b820191906000526020600020905b8154815290600101906020018083116200014c57829003601f168201915b50505050506200018960201b60201c565b600060018190555062000a10565b620001996200036e60201b60201c565b60001515600582604051620001af919062000886565b908152602001604051809103902060009054906101000a900460ff1615151462000210576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002079062000900565b60405180910390fd5b60016000815480929190620002259062000951565b919050555060606040518060a001604052806001548152602001848152602001838152602001600081526020018281525060048360405162000268919062000886565b908152602001604051809103902060008201518160000155602082015181600101908162000297919062000731565b506040820151816002019081620002af919062000731565b50606082015181600301556080820151816004019080519060200190620002d8929190620003ca565b509050506001600583604051620002f0919062000886565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508160405162000325919062000886565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a2506200036a620003c060201b60201c565b5050565b600260005403620003b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003ad90620009ee565b60405180910390fd5b6002600081905550565b6001600081905550565b82805482825590600052602060002090810192821562000417579160200282015b828111156200041657825182908162000405919062000731565b5091602001919060010190620003eb565b5b5090506200042691906200042a565b5090565b5b808211156200044e576000818162000444919062000452565b506001016200042b565b5090565b508054620004609062000520565b6000825580601f1062000474575062000495565b601f01602090049060005260206000209081019062000494919062000498565b5b50565b5b80821115620004b357600081600090555060010162000499565b5090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200053957607f821691505b6020821081036200054f576200054e620004f1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200057a565b620005c586836200057a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006126200060c6200060684620005dd565b620005e7565b620005dd565b9050919050565b6000819050919050565b6200062e83620005f1565b620006466200063d8262000619565b84845462000587565b825550505050565b600090565b6200065d6200064e565b6200066a81848462000623565b505050565b5b8181101562000692576200068660008262000653565b60018101905062000670565b5050565b601f821115620006e157620006ab8162000555565b620006b6846200056a565b81016020851015620006c6578190505b620006de620006d5856200056a565b8301826200066f565b50505b505050565b600082821c905092915050565b60006200070660001984600802620006e6565b1980831691505092915050565b6000620007218383620006f3565b9150826002028217905092915050565b6200073c82620004b7565b67ffffffffffffffff811115620007585762000757620004c2565b5b62000764825462000520565b6200077182828562000696565b600060209050601f831160018114620007a9576000841562000794578287015190505b620007a0858262000713565b86555062000810565b601f198416620007b98662000555565b60005b82811015620007e357848901518255600182019150602085019450602081019050620007bc565b86831015620008035784890151620007ff601f891682620006f3565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60005b838110156200084357808201518184015260208101905062000826565b60008484015250505050565b60006200085c82620004b7565b62000868818562000818565b93506200087a81856020860162000823565b80840191505092915050565b60006200089482846200084f565b915081905092915050565b600082825260208201905092915050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000620008e86013836200089f565b9150620008f582620008b0565b602082019050919050565b600060208201905081810360008301526200091b81620008d9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200095e82620005dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000993576200099262000922565b5b600182019050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000620009d6601f836200089f565b9150620009e3826200099e565b602082019050919050565b6000602082019050818103600083015262000a0981620009c7565b9050919050565b61209c8062000a206000396000f3fe6080604052600436106100705760003560e01c8063516b6d071161004e578063516b6d07146100f757806387b162b5146101135780638e27d7191461013c578063e24e83161461016557610070565b8063018533a81461007557806330b39a62146100915780633a51d246146100ba575b600080fd5b61008f600480360381019061008a91906114a5565b6101a3565b005b34801561009d57600080fd5b506100b860048036038101906100b39190611544565b61068e565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906115a0565b61076a565b6040516100ee91906115f8565b60405180910390f35b610111600480360381019061010c9190611613565b610807565b005b34801561011f57600080fd5b5061013a600480360381019061013591906116b2565b610cb6565b005b34801561014857600080fd5b50610163600480360381019061015e9190611544565b610e78565b005b34801561017157600080fd5b5061018c600480360381019061018791906115a0565b610f26565b60405161019a929190611929565b60405180910390f35b6101ab6111e2565b600115156005856040516101bf919061199c565b908152602001604051809103902060009054906101000a900460ff1615151461021d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021490611a10565b60405180910390fd5b8260048560405161022e919061199c565b9081526020016040518091039020600301541015610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027890611a7c565b60405180910390fd5b82600485604051610292919061199c565b908152602001604051809103902060030160008282546102b29190611acb565b9250508190555082600460036040516102cb9190611bf7565b908152602001604051809103902060030160008282546102eb9190611c0e565b925050819055506000600485604051610304919061199c565b90815260200160405180910390206004018054905090506000805b8281101561041d5784604051602001610338919061199c565b6040516020818303038152906040528051906020012060048860405161035e919061199c565b9081526020016040518091039020600401828154811061038157610380611c42565b5b9060005260206000200160405160200161039b9190611bf7565b60405160208183030381529060405280519060200120036104105760019150836006886040516103cb919061199c565b9081526020016040518091039020866040516103e7919061199c565b908152602001604051809103902060008282546104049190611c0e565b9250508190555061041d565b808060010191505061031f565b50806106265760006001836104329190611c0e565b67ffffffffffffffff81111561044b5761044a611344565b5b60405190808252806020026020018201604052801561047e57816020015b60608152602001906001900390816104695790505b50905060005b8381101561057d5760048860405161049c919061199c565b908152602001604051809103902060040181815481106104bf576104be611c42565b5b9060005260206000200180546104d490611b2e565b80601f016020809104026020016040519081016040528092919081815260200182805461050090611b2e565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b505050505082828151811061056557610564611c42565b5b60200260200101819052508080600101915050610484565b508481848151811061059257610591611c42565b5b6020026020010181905250836006886040516105ae919061199c565b9081526020016040518091039020866040516105ca919061199c565b908152602001604051809103902060008282546105e79190611c0e565b92505081905550806004886040516105ff919061199c565b9081526020016040518091039020600401908051906020019061062392919061123b565b50505b85604051610634919061199c565b60405180910390208460405161064a919061199c565b60405180910390207f9a8355253d14b2e278c55c8a768aa8cc07687bab63144bbea0f2c7b3786157d260405160405180910390a35050610688611231565b50505050565b600115156005836040516106a2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611a10565b60405180910390fd5b80600483604051610711919061199c565b908152602001604051809103902060030154101561072e57600080fd5b8060048360405161073f919061199c565b9081526020016040518091039020600301600082825461075f9190611acb565b925050819055505050565b600060011515600583604051610780919061199c565b908152602001604051809103902060009054906101000a900460ff161515146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590611a10565b60405180910390fd5b6004826040516107ee919061199c565b9081526020016040518091039020600301549050919050565b61080f6111e2565b60011515600585604051610823919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087890611a10565b60405180910390fd5b81600685604051610892919061199c565b9081526020016040518091039020846040516108ae919061199c565b90815260200160405180910390205410156108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f590611cbd565b60405180910390fd5b80600460036040516109109190611bf7565b908152602001604051809103902060030160008282546109309190611acb565b9250508190555080600485604051610948919061199c565b908152602001604051809103902060030160008282546109689190611c0e565b9250508190555081600685604051610980919061199c565b90815260200160405180910390208460405161099c919061199c565b908152602001604051809103902060008282546109b99190611acb565b9250508190555060006006856040516109d2919061199c565b9081526020016040518091039020846040516109ee919061199c565b90815260200160405180910390205403610c50576000600485604051610a14919061199c565b90815260200160405180910390206004018054905090506000600182610a3a9190611acb565b67ffffffffffffffff811115610a5357610a52611344565b5b604051908082528060200260200182016040528015610a8657816020015b6060815260200190600190039081610a715790505b50905060005b82811015610c165785604051602001610aa5919061199c565b60405160208183030381529060405280519060200120600488604051610acb919061199c565b90815260200160405180910390206004018281548110610aee57610aed611c42565b5b90600052602060002001604051602001610b089190611bf7565b604051602081830303815290604052805190602001200315610c0957600487604051610b34919061199c565b90815260200160405180910390206004018181548110610b5757610b56611c42565b5b906000526020600020018054610b6c90611b2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9890611b2e565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b5050505050828281518110610bfd57610bfc611c42565b5b60200260200101819052505b8080600101915050610a8c565b5080600487604051610c28919061199c565b90815260200160405180910390206004019080519060200190610c4c92919061123b565b5050505b83604051610c5e919061199c565b604051809103902083604051610c74919061199c565b60405180910390207fdeb732255cff3c9836501088ec7462c5ba57ec30674ba8e3bbd21f02642a648e60405160405180910390a3610cb0611231565b50505050565b610cbe6111e2565b60001515600582604051610cd2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790611d29565b60405180910390fd5b60016000815480929190610d4390611d49565b919050555060606040518060a0016040528060015481526020018481526020018381526020016000815260200182815250600483604051610d84919061199c565b9081526020016040518091039020600082015181600001556020820151816001019081610db19190611f28565b506040820151816002019081610dc79190611f28565b50606082015181600301556080820151816004019080519060200190610dee92919061123b565b509050506001600583604051610e04919061199c565b908152602001604051809103902060006101000a81548160ff02191690831515021790555081604051610e37919061199c565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a250610e74611231565b5050565b60011515600583604051610e8c919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190611a10565b60405180910390fd5b80600483604051610efb919061199c565b90815260200160405180910390206003016000828254610f1b9190611c0e565b925050819055505050565b60608060011515600584604051610f3d919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9290611a10565b60405180910390fd5b6000600484604051610fad919061199c565b908152602001604051809103902060040180549050905060008167ffffffffffffffff811115610fe057610fdf611344565b5b60405190808252806020026020018201604052801561101357816020015b6060815260200190600190039081610ffe5790505b50905060008267ffffffffffffffff81111561103257611031611344565b5b6040519080825280602002602001820160405280156110605781602001602082028036833780820191505090505b50905060005b838110156111d35760048760405161107e919061199c565b908152602001604051809103902060040181815481106110a1576110a0611c42565b5b9060005260206000200180546110b690611b2e565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290611b2e565b801561112f5780601f106111045761010080835404028352916020019161112f565b820191906000526020600020905b81548152906001019060200180831161111257829003601f168201915b505050505083828151811061114757611146611c42565b5b6020026020010181905250600687604051611162919061199c565b908152602001604051809103902083828151811061118357611182611c42565b5b6020026020010151604051611198919061199c565b9081526020016040518091039020548282815181106111ba576111b9611c42565b5b6020026020010181815250508080600101915050611066565b50818194509450505050915091565b600260005403611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90612046565b60405180910390fd5b6002600081905550565b6001600081905550565b828054828255906000526020600020908101928215611283579160200282015b828111156112825782518290816112729190611f28565b509160200191906001019061125b565b5b5090506112909190611294565b5090565b5b808211156112b457600081816112ab91906112b8565b50600101611295565b5090565b5080546112c490611b2e565b6000825580601f106112d657506112f5565b601f0160209004906000526020600020908101906112f491906112f8565b5b50565b5b808211156113115760008160009055506001016112f9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61137c82611333565b810181811067ffffffffffffffff8211171561139b5761139a611344565b5b80604052505050565b60006113ae611315565b90506113ba8282611373565b919050565b600067ffffffffffffffff8211156113da576113d9611344565b5b6113e382611333565b9050602081019050919050565b82818337600083830152505050565b600061141261140d846113bf565b6113a4565b90508281526020810184848401111561142e5761142d61132e565b5b6114398482856113f0565b509392505050565b600082601f83011261145657611455611329565b5b81356114668482602086016113ff565b91505092915050565b6000819050919050565b6114828161146f565b811461148d57600080fd5b50565b60008135905061149f81611479565b92915050565b600080600080608085870312156114bf576114be61131f565b5b600085013567ffffffffffffffff8111156114dd576114dc611324565b5b6114e987828801611441565b94505060206114fa87828801611490565b935050604085013567ffffffffffffffff81111561151b5761151a611324565b5b61152787828801611441565b925050606061153887828801611490565b91505092959194509250565b6000806040838503121561155b5761155a61131f565b5b600083013567ffffffffffffffff81111561157957611578611324565b5b61158585828601611441565b925050602061159685828601611490565b9150509250929050565b6000602082840312156115b6576115b561131f565b5b600082013567ffffffffffffffff8111156115d4576115d3611324565b5b6115e084828501611441565b91505092915050565b6115f28161146f565b82525050565b600060208201905061160d60008301846115e9565b92915050565b6000806000806080858703121561162d5761162c61131f565b5b600085013567ffffffffffffffff81111561164b5761164a611324565b5b61165787828801611441565b945050602085013567ffffffffffffffff81111561167857611677611324565b5b61168487828801611441565b935050604061169587828801611490565b92505060606116a687828801611490565b91505092959194509250565b600080604083850312156116c9576116c861131f565b5b600083013567ffffffffffffffff8111156116e7576116e6611324565b5b6116f385828601611441565b925050602083013567ffffffffffffffff81111561171457611713611324565b5b61172085828601611441565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611790578082015181840152602081019050611775565b60008484015250505050565b60006117a782611756565b6117b18185611761565b93506117c1818560208601611772565b6117ca81611333565b840191505092915050565b60006117e1838361179c565b905092915050565b6000602082019050919050565b60006118018261172a565b61180b8185611735565b93508360208202850161181d85611746565b8060005b85811015611859578484038952815161183a85826117d5565b9450611845836117e9565b925060208a01995050600181019050611821565b50829750879550505050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118a08161146f565b82525050565b60006118b28383611897565b60208301905092915050565b6000602082019050919050565b60006118d68261186b565b6118e08185611876565b93506118eb83611887565b8060005b8381101561191c57815161190388826118a6565b975061190e836118be565b9250506001810190506118ef565b5085935050505092915050565b6000604082019050818103600083015261194381856117f6565b9050818103602083015261195781846118cb565b90509392505050565b600081905092915050565b600061197682611756565b6119808185611960565b9350611990818560208601611772565b80840191505092915050565b60006119a8828461196b565b915081905092915050565b600082825260208201905092915050565b7f5573657220646f6e277420657869737473000000000000000000000000000000600082015250565b60006119fa6011836119b3565b9150611a05826119c4565b602082019050919050565b60006020820190508181036000830152611a29816119ed565b9050919050565b7f446f6e2774206861766520656e6f7567682062616c616e636500000000000000600082015250565b6000611a666019836119b3565b9150611a7182611a30565b602082019050919050565b60006020820190508181036000830152611a9581611a59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ad68261146f565b9150611ae18361146f565b9250828203905081811115611af957611af8611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4657607f821691505b602082108103611b5957611b58611aff565b5b50919050565b60008190508160005260206000209050919050565b60008154611b8181611b2e565b611b8b8186611960565b94506001821660008114611ba65760018114611bbb57611bee565b60ff1983168652811515820286019350611bee565b611bc485611b5f565b60005b83811015611be657815481890152600182019150602081019050611bc7565b838801955050505b50505092915050565b6000611c038284611b74565b915081905092915050565b6000611c198261146f565b9150611c248361146f565b9250828201905080821115611c3c57611c3b611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f557365722073686f756c642068617665207468617420636f696e000000000000600082015250565b6000611ca7601a836119b3565b9150611cb282611c71565b602082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000611d136013836119b3565b9150611d1e82611cdd565b602082019050919050565b60006020820190508181036000830152611d4281611d06565b9050919050565b6000611d548261146f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8657611d85611a9c565b5b600182019050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611dde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611da1565b611de88683611da1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e25611e20611e1b8461146f565b611e00565b61146f565b9050919050565b6000819050919050565b611e3f83611e0a565b611e53611e4b82611e2c565b848454611dae565b825550505050565b600090565b611e68611e5b565b611e73818484611e36565b505050565b5b81811015611e9757611e8c600082611e60565b600181019050611e79565b5050565b601f821115611edc57611ead81611b5f565b611eb684611d91565b81016020851015611ec5578190505b611ed9611ed185611d91565b830182611e78565b50505b505050565b600082821c905092915050565b6000611eff60001984600802611ee1565b1980831691505092915050565b6000611f188383611eee565b9150826002028217905092915050565b611f3182611756565b67ffffffffffffffff811115611f4a57611f49611344565b5b611f548254611b2e565b611f5f828285611e9b565b600060209050601f831160018114611f925760008415611f80578287015190505b611f8a8582611f0c565b865550611ff2565b601f198416611fa086611b5f565b60005b82811015611fc857848901518255600182019150602085019450602081019050611fa3565b86831015611fe55784890151611fe1601f891682611eee565b8355505b6001600288020188555050505b505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612030601f836119b3565b915061203b82611ffa565b602082019050919050565b6000602082019050818103600083015261205f81612023565b905091905056fea2646970667358221220af223b8c15adcd94c6988a4fb74e0a8b832916cd236e81e307fcda55bf5d798864736f6c63430008180033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6861636B62726F6B65727340676D61696C2E636F6D0000000000000000000000 DUP2 MSTORE POP PUSH1 0x3 SWAP1 DUP2 PUSH3 0x4A SWAP2 SWAP1 PUSH3 0x731 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH3 0x58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP CALLER PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x17B PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6F776E6572000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x3 DUP1 SLOAD PUSH3 0xEB SWAP1 PUSH3 0x520 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH3 0x119 SWAP1 PUSH3 0x520 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x16A JUMPI DUP1 PUSH1 0x1F LT PUSH3 0x13E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH3 0x16A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH3 0x14C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH3 0x189 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH3 0xA10 JUMP JUMPDEST PUSH3 0x199 PUSH3 0x36E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ISZERO ISZERO PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH3 0x1AF SWAP2 SWAP1 PUSH3 0x886 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH3 0x210 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x207 SWAP1 PUSH3 0x900 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH3 0x225 SWAP1 PUSH3 0x951 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH3 0x268 SWAP2 SWAP1 PUSH3 0x886 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0x297 SWAP2 SWAP1 PUSH3 0x731 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP2 PUSH3 0x2AF SWAP2 SWAP1 PUSH3 0x731 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x2D8 SWAP3 SWAP2 SWAP1 PUSH3 0x3CA JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x1 PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH3 0x2F0 SWAP2 SWAP1 PUSH3 0x886 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x40 MLOAD PUSH3 0x325 SWAP2 SWAP1 PUSH3 0x886 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x6C266022D98427DA88464399D212927D5C4A1ECB555CEE32781D5C9E06555097 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH3 0x36A PUSH3 0x3C0 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD SUB PUSH3 0x3B6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x3AD SWAP1 PUSH3 0x9EE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x417 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x416 JUMPI DUP3 MLOAD DUP3 SWAP1 DUP2 PUSH3 0x405 SWAP2 SWAP1 PUSH3 0x731 JUMP JUMPDEST POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x3EB JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x426 SWAP2 SWAP1 PUSH3 0x42A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x44E JUMPI PUSH1 0x0 DUP2 DUP2 PUSH3 0x444 SWAP2 SWAP1 PUSH3 0x452 JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH3 0x42B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH3 0x460 SWAP1 PUSH3 0x520 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH3 0x474 JUMPI POP PUSH3 0x495 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH3 0x494 SWAP2 SWAP1 PUSH3 0x498 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x4B3 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x499 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x539 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x54F JUMPI PUSH3 0x54E PUSH3 0x4F1 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x5B9 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x57A JUMP JUMPDEST PUSH3 0x5C5 DUP7 DUP4 PUSH3 0x57A JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x612 PUSH3 0x60C PUSH3 0x606 DUP5 PUSH3 0x5DD JUMP JUMPDEST PUSH3 0x5E7 JUMP JUMPDEST PUSH3 0x5DD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x62E DUP4 PUSH3 0x5F1 JUMP JUMPDEST PUSH3 0x646 PUSH3 0x63D DUP3 PUSH3 0x619 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x587 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x65D PUSH3 0x64E JUMP JUMPDEST PUSH3 0x66A DUP2 DUP5 DUP5 PUSH3 0x623 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x692 JUMPI PUSH3 0x686 PUSH1 0x0 DUP3 PUSH3 0x653 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x670 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x6E1 JUMPI PUSH3 0x6AB DUP2 PUSH3 0x555 JUMP JUMPDEST PUSH3 0x6B6 DUP5 PUSH3 0x56A JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x6C6 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x6DE PUSH3 0x6D5 DUP6 PUSH3 0x56A JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x66F JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x706 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x6E6 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x721 DUP4 DUP4 PUSH3 0x6F3 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x73C DUP3 PUSH3 0x4B7 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x758 JUMPI PUSH3 0x757 PUSH3 0x4C2 JUMP JUMPDEST JUMPDEST PUSH3 0x764 DUP3 SLOAD PUSH3 0x520 JUMP JUMPDEST PUSH3 0x771 DUP3 DUP3 DUP6 PUSH3 0x696 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x7A9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x794 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x7A0 DUP6 DUP3 PUSH3 0x713 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x810 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x7B9 DUP7 PUSH3 0x555 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x7E3 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x7BC JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x803 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x7FF PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x6F3 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x843 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x826 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x85C DUP3 PUSH3 0x4B7 JUMP JUMPDEST PUSH3 0x868 DUP2 DUP6 PUSH3 0x818 JUMP JUMPDEST SWAP4 POP PUSH3 0x87A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x823 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x894 DUP3 DUP5 PUSH3 0x84F JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x5573657220416C72656164792045786973747300000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x8E8 PUSH1 0x13 DUP4 PUSH3 0x89F JUMP JUMPDEST SWAP2 POP PUSH3 0x8F5 DUP3 PUSH3 0x8B0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x91B DUP2 PUSH3 0x8D9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH3 0x95E DUP3 PUSH3 0x5DD JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH3 0x993 JUMPI PUSH3 0x992 PUSH3 0x922 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5265656E7472616E637947756172643A207265656E7472616E742063616C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x9D6 PUSH1 0x1F DUP4 PUSH3 0x89F JUMP JUMPDEST SWAP2 POP PUSH3 0x9E3 DUP3 PUSH3 0x99E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xA09 DUP2 PUSH3 0x9C7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x209C DUP1 PUSH3 0xA20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x516B6D07 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x516B6D07 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x87B162B5 EQ PUSH2 0x113 JUMPI DUP1 PUSH4 0x8E27D719 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xE24E8316 EQ PUSH2 0x165 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0x18533A8 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x30B39A62 EQ PUSH2 0x91 JUMPI DUP1 PUSH4 0x3A51D246 EQ PUSH2 0xBA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x14A5 JUMP JUMPDEST PUSH2 0x1A3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB3 SWAP2 SWAP1 PUSH2 0x1544 JUMP JUMPDEST PUSH2 0x68E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDC SWAP2 SWAP1 PUSH2 0x15A0 JUMP JUMPDEST PUSH2 0x76A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEE SWAP2 SWAP1 PUSH2 0x15F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x111 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10C SWAP2 SWAP1 PUSH2 0x1613 JUMP JUMPDEST PUSH2 0x807 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x16B2 JUMP JUMPDEST PUSH2 0xCB6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x163 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15E SWAP2 SWAP1 PUSH2 0x1544 JUMP JUMPDEST PUSH2 0xE78 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x171 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x187 SWAP2 SWAP1 PUSH2 0x15A0 JUMP JUMPDEST PUSH2 0xF26 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19A SWAP3 SWAP2 SWAP1 PUSH2 0x1929 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AB PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1BF SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x21D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x214 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x22E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD LT ISZERO PUSH2 0x281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x278 SWAP1 PUSH2 0x1A7C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x292 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2B2 SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 PUSH1 0x3 PUSH1 0x40 MLOAD PUSH2 0x2CB SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x304 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP1 POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x41D JUMPI DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x338 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0x35E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x381 JUMPI PUSH2 0x380 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x39B SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SUB PUSH2 0x410 JUMPI PUSH1 0x1 SWAP2 POP DUP4 PUSH1 0x6 DUP9 PUSH1 0x40 MLOAD PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3E7 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x404 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x41D JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x31F JUMP JUMPDEST POP DUP1 PUSH2 0x626 JUMPI PUSH1 0x0 PUSH1 0x1 DUP4 PUSH2 0x432 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44B JUMPI PUSH2 0x44A PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x47E JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x469 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x57D JUMPI PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x4BF JUMPI PUSH2 0x4BE PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x4D4 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x500 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x54D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x522 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x54D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x530 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x565 JUMPI PUSH2 0x564 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x484 JUMP JUMPDEST POP DUP5 DUP2 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x592 JUMPI PUSH2 0x591 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP4 PUSH1 0x6 DUP9 PUSH1 0x40 MLOAD PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP7 PUSH1 0x40 MLOAD PUSH2 0x5CA SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5E7 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0x5FF SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x623 SWAP3 SWAP2 SWAP1 PUSH2 0x123B JUMP JUMPDEST POP POP JUMPDEST DUP6 PUSH1 0x40 MLOAD PUSH2 0x634 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x64A SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x9A8355253D14B2E278C55C8A768AA8CC07687BAB63144BBEA0F2C7B3786157D2 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0x688 PUSH2 0x1231 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6A2 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x700 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F7 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x711 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD LT ISZERO PUSH2 0x72E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x73F SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x75F SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x780 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x7DE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7D5 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP3 PUSH1 0x40 MLOAD PUSH2 0x7EE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x80F PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP6 PUSH1 0x40 MLOAD PUSH2 0x823 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x881 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x878 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x892 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x8AE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD LT ISZERO PUSH2 0x8FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8F5 SWAP1 PUSH2 0x1CBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 PUSH1 0x3 PUSH1 0x40 MLOAD PUSH2 0x910 SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x930 SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x948 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x968 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x980 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x99C SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9B9 SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x9D2 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x9EE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD SUB PUSH2 0xC50 JUMPI PUSH1 0x0 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA14 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP1 POP SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH2 0xA3A SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA53 JUMPI PUSH2 0xA52 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA86 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xA71 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xC16 JUMPI DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAA5 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0xACB SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xAEE JUMPI PUSH2 0xAED PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB08 SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SUB ISZERO PUSH2 0xC09 JUMPI PUSH1 0x4 DUP8 PUSH1 0x40 MLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xB57 JUMPI PUSH2 0xB56 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xB6C SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB98 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBE5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBBA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBE5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBC8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBFD JUMPI PUSH2 0xBFC PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xA8C JUMP JUMPDEST POP DUP1 PUSH1 0x4 DUP8 PUSH1 0x40 MLOAD PUSH2 0xC28 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xC4C SWAP3 SWAP2 SWAP1 PUSH2 0x123B JUMP JUMPDEST POP POP POP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH2 0xC5E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0xC74 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0xDEB732255CFF3C9836501088EC7462C5BA57EC30674BA8E3BBD21F02642A648E PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xCB0 PUSH2 0x1231 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xCBE PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x0 ISZERO ISZERO PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0xCD2 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xD30 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD27 SWAP1 PUSH2 0x1D29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xD43 SWAP1 PUSH2 0x1D49 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0xD84 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0xDB1 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP2 PUSH2 0xDC7 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xDEE SWAP3 SWAP2 SWAP1 PUSH2 0x123B JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x1 PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE04 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x40 MLOAD PUSH2 0xE37 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x6C266022D98427DA88464399D212927D5C4A1ECB555CEE32781D5C9E06555097 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH2 0xE74 PUSH2 0x1231 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE8C SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xEEA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEE1 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0xEFB SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xF1B SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xF3D SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xF9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF92 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFAD SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP1 POP SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFE0 JUMPI PUSH2 0xFDF PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1013 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xFFE JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1032 JUMPI PUSH2 0x1031 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1060 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x11D3 JUMPI PUSH1 0x4 DUP8 PUSH1 0x40 MLOAD PUSH2 0x107E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x10B6 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E2 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x112F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1104 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x112F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1112 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1147 JUMPI PUSH2 0x1146 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP PUSH1 0x6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x1162 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1183 JUMPI PUSH2 0x1182 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1198 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x11BA JUMPI PUSH2 0x11B9 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x1066 JUMP JUMPDEST POP DUP2 DUP2 SWAP5 POP SWAP5 POP POP POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD SUB PUSH2 0x1227 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x121E SWAP1 PUSH2 0x2046 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x1283 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1282 JUMPI DUP3 MLOAD DUP3 SWAP1 DUP2 PUSH2 0x1272 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x125B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1290 SWAP2 SWAP1 PUSH2 0x1294 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x12B4 JUMPI PUSH1 0x0 DUP2 DUP2 PUSH2 0x12AB SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x1295 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x12C4 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x12D6 JUMPI POP PUSH2 0x12F5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x12F4 SWAP2 SWAP1 PUSH2 0x12F8 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1311 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x12F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x137C DUP3 PUSH2 0x1333 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x139B JUMPI PUSH2 0x139A PUSH2 0x1344 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AE PUSH2 0x1315 JUMP JUMPDEST SWAP1 POP PUSH2 0x13BA DUP3 DUP3 PUSH2 0x1373 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x13DA JUMPI PUSH2 0x13D9 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH2 0x13E3 DUP3 PUSH2 0x1333 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1412 PUSH2 0x140D DUP5 PUSH2 0x13BF JUMP JUMPDEST PUSH2 0x13A4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x142E JUMPI PUSH2 0x142D PUSH2 0x132E JUMP JUMPDEST JUMPDEST PUSH2 0x1439 DUP5 DUP3 DUP6 PUSH2 0x13F0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1329 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1466 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x13FF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1482 DUP2 PUSH2 0x146F JUMP JUMPDEST DUP2 EQ PUSH2 0x148D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x149F DUP2 PUSH2 0x1479 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x14BF JUMPI PUSH2 0x14BE PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14DD JUMPI PUSH2 0x14DC PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x14E9 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x14FA DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x151B JUMPI PUSH2 0x151A PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1527 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x1538 DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x155B JUMPI PUSH2 0x155A PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1579 JUMPI PUSH2 0x1578 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1585 DUP6 DUP3 DUP7 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1596 DUP6 DUP3 DUP7 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15B6 JUMPI PUSH2 0x15B5 PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x15D4 JUMPI PUSH2 0x15D3 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x15E0 DUP5 DUP3 DUP6 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15F2 DUP2 PUSH2 0x146F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x160D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15E9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x162D JUMPI PUSH2 0x162C PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x164B JUMPI PUSH2 0x164A PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1657 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1678 JUMPI PUSH2 0x1677 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1684 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x1695 DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x16A6 DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16C9 JUMPI PUSH2 0x16C8 PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x16E7 JUMPI PUSH2 0x16E6 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x16F3 DUP6 DUP3 DUP7 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1714 JUMPI PUSH2 0x1713 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1720 DUP6 DUP3 DUP7 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1790 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1775 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A7 DUP3 PUSH2 0x1756 JUMP JUMPDEST PUSH2 0x17B1 DUP2 DUP6 PUSH2 0x1761 JUMP JUMPDEST SWAP4 POP PUSH2 0x17C1 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1772 JUMP JUMPDEST PUSH2 0x17CA DUP2 PUSH2 0x1333 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17E1 DUP4 DUP4 PUSH2 0x179C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1801 DUP3 PUSH2 0x172A JUMP JUMPDEST PUSH2 0x180B DUP2 DUP6 PUSH2 0x1735 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x181D DUP6 PUSH2 0x1746 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1859 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x183A DUP6 DUP3 PUSH2 0x17D5 JUMP JUMPDEST SWAP5 POP PUSH2 0x1845 DUP4 PUSH2 0x17E9 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1821 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18A0 DUP2 PUSH2 0x146F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B2 DUP4 DUP4 PUSH2 0x1897 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18D6 DUP3 PUSH2 0x186B JUMP JUMPDEST PUSH2 0x18E0 DUP2 DUP6 PUSH2 0x1876 JUMP JUMPDEST SWAP4 POP PUSH2 0x18EB DUP4 PUSH2 0x1887 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x191C JUMPI DUP2 MLOAD PUSH2 0x1903 DUP9 DUP3 PUSH2 0x18A6 JUMP JUMPDEST SWAP8 POP PUSH2 0x190E DUP4 PUSH2 0x18BE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x18EF JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1943 DUP2 DUP6 PUSH2 0x17F6 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1957 DUP2 DUP5 PUSH2 0x18CB JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1976 DUP3 PUSH2 0x1756 JUMP JUMPDEST PUSH2 0x1980 DUP2 DUP6 PUSH2 0x1960 JUMP JUMPDEST SWAP4 POP PUSH2 0x1990 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1772 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19A8 DUP3 DUP5 PUSH2 0x196B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x5573657220646F6E277420657869737473000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19FA PUSH1 0x11 DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A05 DUP3 PUSH2 0x19C4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A29 DUP2 PUSH2 0x19ED JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446F6E2774206861766520656E6F7567682062616C616E636500000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A66 PUSH1 0x19 DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A71 DUP3 PUSH2 0x1A30 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A95 DUP2 PUSH2 0x1A59 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1AD6 DUP3 PUSH2 0x146F JUMP JUMPDEST SWAP2 POP PUSH2 0x1AE1 DUP4 PUSH2 0x146F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1AF9 JUMPI PUSH2 0x1AF8 PUSH2 0x1A9C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1B46 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1B59 JUMPI PUSH2 0x1B58 PUSH2 0x1AFF JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1B81 DUP2 PUSH2 0x1B2E JUMP JUMPDEST PUSH2 0x1B8B DUP2 DUP7 PUSH2 0x1960 JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1BA6 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1BBB JUMPI PUSH2 0x1BEE JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 ISZERO ISZERO DUP3 MUL DUP7 ADD SWAP4 POP PUSH2 0x1BEE JUMP JUMPDEST PUSH2 0x1BC4 DUP6 PUSH2 0x1B5F JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1BE6 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1BC7 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C03 DUP3 DUP5 PUSH2 0x1B74 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C19 DUP3 PUSH2 0x146F JUMP JUMPDEST SWAP2 POP PUSH2 0x1C24 DUP4 PUSH2 0x146F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1C3C JUMPI PUSH2 0x1C3B PUSH2 0x1A9C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x557365722073686F756C642068617665207468617420636F696E000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CA7 PUSH1 0x1A DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1CB2 DUP3 PUSH2 0x1C71 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1CD6 DUP2 PUSH2 0x1C9A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5573657220416C72656164792045786973747300000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D13 PUSH1 0x13 DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D1E DUP3 PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D42 DUP2 PUSH2 0x1D06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D54 DUP3 PUSH2 0x146F JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1D86 JUMPI PUSH2 0x1D85 PUSH2 0x1A9C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x1DDE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1DA1 JUMP JUMPDEST PUSH2 0x1DE8 DUP7 DUP4 PUSH2 0x1DA1 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E25 PUSH2 0x1E20 PUSH2 0x1E1B DUP5 PUSH2 0x146F JUMP JUMPDEST PUSH2 0x1E00 JUMP JUMPDEST PUSH2 0x146F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E3F DUP4 PUSH2 0x1E0A JUMP JUMPDEST PUSH2 0x1E53 PUSH2 0x1E4B DUP3 PUSH2 0x1E2C JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1DAE JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1E68 PUSH2 0x1E5B JUMP JUMPDEST PUSH2 0x1E73 DUP2 DUP5 DUP5 PUSH2 0x1E36 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1E97 JUMPI PUSH2 0x1E8C PUSH1 0x0 DUP3 PUSH2 0x1E60 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1E79 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1EDC JUMPI PUSH2 0x1EAD DUP2 PUSH2 0x1B5F JUMP JUMPDEST PUSH2 0x1EB6 DUP5 PUSH2 0x1D91 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1EC5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x1ED9 PUSH2 0x1ED1 DUP6 PUSH2 0x1D91 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x1E78 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EFF PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1EE1 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F18 DUP4 DUP4 PUSH2 0x1EEE JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1F31 DUP3 PUSH2 0x1756 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F4A JUMPI PUSH2 0x1F49 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH2 0x1F54 DUP3 SLOAD PUSH2 0x1B2E JUMP JUMPDEST PUSH2 0x1F5F DUP3 DUP3 DUP6 PUSH2 0x1E9B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1F92 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1F80 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1F8A DUP6 DUP3 PUSH2 0x1F0C JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1FF2 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1FA0 DUP7 PUSH2 0x1B5F JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1FC8 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1FA3 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1FE5 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1FE1 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1EEE JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x5265656E7472616E637947756172643A207265656E7472616E742063616C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2030 PUSH1 0x1F DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x203B DUP3 PUSH2 0x1FFA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x205F DUP2 PUSH2 0x2023 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAF 0x22 EXTCODESIZE DUP13 ISZERO 0xAD 0xCD SWAP5 0xC6 SWAP9 DUP11 0x4F 0xB7 0x4E EXP DUP12 DUP4 0x29 AND 0xCD 0x23 PUSH15 0x81E307FCDA55BF5D798864736F6C63 NUMBER STOP ADDMOD XOR STOP CALLER ", - "sourceMap": "91:4334:1:-:0;;;196:50;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1025:118;;;;;;;;;;1716:1:0;1821:7;:22;;;;1065:10:1;1048:5;;:28;;;;;;;;;;;;;;;;;;1086:29;;;;;;;;;;;;;;;;;;1105:9;1086:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:10;;;:29;;:::i;:::-;1135:1;1125:7;:11;;;;91:4334;;556:403;2261:21:0;:19;;;:21;;:::i;:::-;675:5:1::1;654:26;;:10;665:5;654:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:26;;;646:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;713:7;;:9;;;;;;;;;:::i;:::-;;;;;;732:22;779:106;;;;;;;;797:7;;779:106;;;;818:4;779:106;;;;836:5;779:106;;;;855:1;779:106;;;;870:5;779:106;;::::0;764:5:::1;770;764:12;;;;;;:::i;:::-;;;;;;;;;;;;;:121;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;915:4;895:10;906:5;895:17;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;946:5;934:18;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;636:323;2303:20:0::0;:18;;;:20;;:::i;:::-;556:403:1;;:::o;2336:287:0:-;1759:1;2468:7;;:19;2460:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1759:1;2598:7;:18;;;;2336:287::o;2629:209::-;1716:1;2809:7;:22;;;;2629:209::o;91:4334:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:2:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;5234:148::-;5336:11;5373:3;5358:18;;5234:148;;;;:::o;5388:246::-;5469:1;5479:113;5493:6;5490:1;5487:13;5479:113;;;5578:1;5573:3;5569:11;5563:18;5559:1;5554:3;5550:11;5543:39;5515:2;5512:1;5508:10;5503:15;;5479:113;;;5626:1;5617:6;5612:3;5608:16;5601:27;5450:184;5388:246;;;:::o;5640:390::-;5746:3;5774:39;5807:5;5774:39;:::i;:::-;5829:89;5911:6;5906:3;5829:89;:::i;:::-;5822:96;;5927:65;5985:6;5980:3;5973:4;5966:5;5962:16;5927:65;:::i;:::-;6017:6;6012:3;6008:16;6001:23;;5750:280;5640:390;;;;:::o;6036:275::-;6168:3;6190:95;6281:3;6272:6;6190:95;:::i;:::-;6183:102;;6302:3;6295:10;;6036:275;;;;:::o;6317:169::-;6401:11;6435:6;6430:3;6423:19;6475:4;6470:3;6466:14;6451:29;;6317:169;;;;:::o;6492:::-;6632:21;6628:1;6620:6;6616:14;6609:45;6492:169;:::o;6667:366::-;6809:3;6830:67;6894:2;6889:3;6830:67;:::i;:::-;6823:74;;6906:93;6995:3;6906:93;:::i;:::-;7024:2;7019:3;7015:12;7008:19;;6667:366;;;:::o;7039:419::-;7205:4;7243:2;7232:9;7228:18;7220:26;;7292:9;7286:4;7282:20;7278:1;7267:9;7263:17;7256:47;7320:131;7446:4;7320:131;:::i;:::-;7312:139;;7039:419;;;:::o;7464:180::-;7512:77;7509:1;7502:88;7609:4;7606:1;7599:15;7633:4;7630:1;7623:15;7650:233;7689:3;7712:24;7730:5;7712:24;:::i;:::-;7703:33;;7758:66;7751:5;7748:77;7745:103;;7828:18;;:::i;:::-;7745:103;7875:1;7868:5;7864:13;7857:20;;7650:233;;;:::o;7889:181::-;8029:33;8025:1;8017:6;8013:14;8006:57;7889:181;:::o;8076:366::-;8218:3;8239:67;8303:2;8298:3;8239:67;:::i;:::-;8232:74;;8315:93;8404:3;8315:93;:::i;:::-;8433:2;8428:3;8424:12;8417:19;;8076:366;;;:::o;8448:419::-;8614:4;8652:2;8641:9;8637:18;8629:26;;8701:9;8695:4;8691:20;8687:1;8676:9;8672:17;8665:47;8729:131;8855:4;8729:131;:::i;:::-;8721:139;;8448:419;;;:::o;91:4334:1:-;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_nonReentrantAfter_52": { - "entryPoint": 4657, - "id": 52, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_nonReentrantBefore_44": { - "entryPoint": 4578, - "id": 44, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@buy_360": { - "entryPoint": 419, - "id": 360, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@createUser_153": { - "entryPoint": 3254, - "id": 153, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@deposit_637": { - "entryPoint": 3704, - "id": 637, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@getBalance_613": { - "entryPoint": 1898, - "id": 613, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getCoins_591": { - "entryPoint": 3878, - "id": 591, - "parameterSlots": 1, - "returnSlots": 2 - }, - "@sell_501": { - "entryPoint": 2055, - "id": 501, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@withdraw_670": { - "entryPoint": 1678, - "id": 670, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_available_length_t_string_memory_ptr": { - "entryPoint": 5119, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_decode_t_string_memory_ptr": { - "entryPoint": 5185, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_t_uint256": { - "entryPoint": 5264, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptr": { - "entryPoint": 5536, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr": { - "entryPoint": 5810, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_uint256": { - "entryPoint": 5651, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_string_memory_ptrt_uint256": { - "entryPoint": 5444, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_string_memory_ptrt_uint256t_string_memory_ptrt_uint256": { - "entryPoint": 5285, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": { - "entryPoint": 6101, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encodeUpdatedPos_t_uint256_to_t_uint256": { - "entryPoint": 6310, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": { - "entryPoint": 6134, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { - "entryPoint": 6347, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { - "entryPoint": 6044, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 6507, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 7028, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9_to_t_string_memory_ptr_fromStack": { - "entryPoint": 7322, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72_to_t_string_memory_ptr_fromStack": { - "entryPoint": 6745, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a_to_t_string_memory_ptr_fromStack": { - "entryPoint": 6637, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack": { - "entryPoint": 7430, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack": { - "entryPoint": 8227, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_uint256_to_t_uint256": { - "entryPoint": 6295, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_encode_t_uint256_to_t_uint256_fromStack": { - "entryPoint": 5609, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 6556, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 7159, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { - "entryPoint": 6441, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 7357, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 6780, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 6672, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 7465, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 8262, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": 5624, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "allocate_memory": { - "entryPoint": 5028, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "allocate_unbounded": { - "entryPoint": 4885, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - }, - "array_allocation_size_t_string_memory_ptr": { - "entryPoint": 5055, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 5958, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 6279, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_dataslot_t_string_storage": { - "entryPoint": 7007, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 5930, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_length_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 6251, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_length_t_string_memory_ptr": { - "entryPoint": 5974, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 6121, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 6334, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": { - "entryPoint": 5941, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { - "entryPoint": 6262, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr": { - "entryPoint": 5985, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { - "entryPoint": 6579, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 6496, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 7182, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 6859, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_t_string_storage": { - "entryPoint": 7835, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "cleanup_t_uint256": { - "entryPoint": 5231, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "clear_storage_range_t_bytes1": { - "entryPoint": 7800, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "convert_t_uint256_to_t_uint256": { - "entryPoint": 7690, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 7976, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "copy_calldata_to_memory_with_cleanup": { - "entryPoint": 5104, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "copy_memory_to_memory_with_cleanup": { - "entryPoint": 6002, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "divide_by_32_ceil": { - "entryPoint": 7569, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 6958, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": 7948, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "finalize_allocation": { - "entryPoint": 4979, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "identity": { - "entryPoint": 7680, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "increment_t_uint256": { - "entryPoint": 7497, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "mask_bytes_dynamic": { - "entryPoint": 7918, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 6812, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x22": { - "entryPoint": 6911, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x32": { - "entryPoint": 7234, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 4932, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "prepare_store_t_uint256": { - "entryPoint": 7724, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { - "entryPoint": 4905, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { - "entryPoint": 4910, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": 4900, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 4895, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "round_up_to_mul_of_32": { - "entryPoint": 4915, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "shift_left_dynamic": { - "entryPoint": 7585, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "shift_right_unsigned_dynamic": { - "entryPoint": 7905, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "storage_set_to_zero_t_uint256": { - "entryPoint": 7776, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "store_literal_in_memory_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9": { - "entryPoint": 7281, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "store_literal_in_memory_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72": { - "entryPoint": 6704, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "store_literal_in_memory_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a": { - "entryPoint": 6596, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e": { - "entryPoint": 7389, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619": { - "entryPoint": 8186, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "update_byte_slice_dynamic32": { - "entryPoint": 7598, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "update_storage_value_t_uint256_to_t_uint256": { - "entryPoint": 7734, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "validator_revert_t_uint256": { - "entryPoint": 5241, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "zero_value_for_split_t_uint256": { - "entryPoint": 7771, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:25497:2", - "nodeType": "YulBlock", - "src": "0:25497:2", - "statements": [ - { - "body": { - "nativeSrc": "47:35:2", - "nodeType": "YulBlock", - "src": "47:35:2", - "statements": [ - { - "nativeSrc": "57:19:2", - "nodeType": "YulAssignment", - "src": "57:19:2", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "73:2:2", - "nodeType": "YulLiteral", - "src": "73:2:2", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "67:5:2", - "nodeType": "YulIdentifier", - "src": "67:5:2" - }, - "nativeSrc": "67:9:2", - "nodeType": "YulFunctionCall", - "src": "67:9:2" - }, - "variableNames": [ - { - "name": "memPtr", - "nativeSrc": "57:6:2", - "nodeType": "YulIdentifier", - "src": "57:6:2" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nativeSrc": "7:75:2", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nativeSrc": "40:6:2", - "nodeType": "YulTypedName", - "src": "40:6:2", - "type": "" - } - ], - "src": "7:75:2" - }, - { - "body": { - "nativeSrc": "177:28:2", - "nodeType": "YulBlock", - "src": "177:28:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "194:1:2", - "nodeType": "YulLiteral", - "src": "194:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "197:1:2", - "nodeType": "YulLiteral", - "src": "197:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "187:6:2", - "nodeType": "YulIdentifier", - "src": "187:6:2" - }, - "nativeSrc": "187:12:2", - "nodeType": "YulFunctionCall", - "src": "187:12:2" - }, - "nativeSrc": "187:12:2", - "nodeType": "YulExpressionStatement", - "src": "187:12:2" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "88:117:2", - "nodeType": "YulFunctionDefinition", - "src": "88:117:2" - }, - { - "body": { - "nativeSrc": "300:28:2", - "nodeType": "YulBlock", - "src": "300:28:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "317:1:2", - "nodeType": "YulLiteral", - "src": "317:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "320:1:2", - "nodeType": "YulLiteral", - "src": "320:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "310:6:2", - "nodeType": "YulIdentifier", - "src": "310:6:2" - }, - "nativeSrc": "310:12:2", - "nodeType": "YulFunctionCall", - "src": "310:12:2" - }, - "nativeSrc": "310:12:2", - "nodeType": "YulExpressionStatement", - "src": "310:12:2" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "211:117:2", - "nodeType": "YulFunctionDefinition", - "src": "211:117:2" - }, - { - "body": { - "nativeSrc": "423:28:2", - "nodeType": "YulBlock", - "src": "423:28:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "440:1:2", - "nodeType": "YulLiteral", - "src": "440:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "443:1:2", - "nodeType": "YulLiteral", - "src": "443:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "433:6:2", - "nodeType": "YulIdentifier", - "src": "433:6:2" - }, - "nativeSrc": "433:12:2", - "nodeType": "YulFunctionCall", - "src": "433:12:2" - }, - "nativeSrc": "433:12:2", - "nodeType": "YulExpressionStatement", - "src": "433:12:2" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "334:117:2", - "nodeType": "YulFunctionDefinition", - "src": "334:117:2" - }, - { - "body": { - "nativeSrc": "546:28:2", - "nodeType": "YulBlock", - "src": "546:28:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "563:1:2", - "nodeType": "YulLiteral", - "src": "563:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "566:1:2", - "nodeType": "YulLiteral", - "src": "566:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "556:6:2", - "nodeType": "YulIdentifier", - "src": "556:6:2" - }, - "nativeSrc": "556:12:2", - "nodeType": "YulFunctionCall", - "src": "556:12:2" - }, - "nativeSrc": "556:12:2", - "nodeType": "YulExpressionStatement", - "src": "556:12:2" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nativeSrc": "457:117:2", - "nodeType": "YulFunctionDefinition", - "src": "457:117:2" - }, - { - "body": { - "nativeSrc": "628:54:2", - "nodeType": "YulBlock", - "src": "628:54:2", - "statements": [ - { - "nativeSrc": "638:38:2", - "nodeType": "YulAssignment", - "src": "638:38:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "656:5:2", - "nodeType": "YulIdentifier", - "src": "656:5:2" - }, - { - "kind": "number", - "nativeSrc": "663:2:2", - "nodeType": "YulLiteral", - "src": "663:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "652:3:2", - "nodeType": "YulIdentifier", - "src": "652:3:2" - }, - "nativeSrc": "652:14:2", - "nodeType": "YulFunctionCall", - "src": "652:14:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "672:2:2", - "nodeType": "YulLiteral", - "src": "672:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "668:3:2", - "nodeType": "YulIdentifier", - "src": "668:3:2" - }, - "nativeSrc": "668:7:2", - "nodeType": "YulFunctionCall", - "src": "668:7:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "648:3:2", - "nodeType": "YulIdentifier", - "src": "648:3:2" - }, - "nativeSrc": "648:28:2", - "nodeType": "YulFunctionCall", - "src": "648:28:2" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "638:6:2", - "nodeType": "YulIdentifier", - "src": "638:6:2" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nativeSrc": "580:102:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "611:5:2", - "nodeType": "YulTypedName", - "src": "611:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "621:6:2", - "nodeType": "YulTypedName", - "src": "621:6:2", - "type": "" - } - ], - "src": "580:102:2" - }, - { - "body": { - "nativeSrc": "716:152:2", - "nodeType": "YulBlock", - "src": "716:152:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "733:1:2", - "nodeType": "YulLiteral", - "src": "733:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "736:77:2", - "nodeType": "YulLiteral", - "src": "736:77:2", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "726:6:2", - "nodeType": "YulIdentifier", - "src": "726:6:2" - }, - "nativeSrc": "726:88:2", - "nodeType": "YulFunctionCall", - "src": "726:88:2" - }, - "nativeSrc": "726:88:2", - "nodeType": "YulExpressionStatement", - "src": "726:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "830:1:2", - "nodeType": "YulLiteral", - "src": "830:1:2", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "833:4:2", - "nodeType": "YulLiteral", - "src": "833:4:2", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "823:6:2", - "nodeType": "YulIdentifier", - "src": "823:6:2" - }, - "nativeSrc": "823:15:2", - "nodeType": "YulFunctionCall", - "src": "823:15:2" - }, - "nativeSrc": "823:15:2", - "nodeType": "YulExpressionStatement", - "src": "823:15:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "854:1:2", - "nodeType": "YulLiteral", - "src": "854:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "857:4:2", - "nodeType": "YulLiteral", - "src": "857:4:2", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "847:6:2", - "nodeType": "YulIdentifier", - "src": "847:6:2" - }, - "nativeSrc": "847:15:2", - "nodeType": "YulFunctionCall", - "src": "847:15:2" - }, - "nativeSrc": "847:15:2", - "nodeType": "YulExpressionStatement", - "src": "847:15:2" - } - ] - }, - "name": "panic_error_0x41", - "nativeSrc": "688:180:2", - "nodeType": "YulFunctionDefinition", - "src": "688:180:2" - }, - { - "body": { - "nativeSrc": "917:238:2", - "nodeType": "YulBlock", - "src": "917:238:2", - "statements": [ - { - "nativeSrc": "927:58:2", - "nodeType": "YulVariableDeclaration", - "src": "927:58:2", - "value": { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "949:6:2", - "nodeType": "YulIdentifier", - "src": "949:6:2" - }, - { - "arguments": [ - { - "name": "size", - "nativeSrc": "979:4:2", - "nodeType": "YulIdentifier", - "src": "979:4:2" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "957:21:2", - "nodeType": "YulIdentifier", - "src": "957:21:2" - }, - "nativeSrc": "957:27:2", - "nodeType": "YulFunctionCall", - "src": "957:27:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "945:3:2", - "nodeType": "YulIdentifier", - "src": "945:3:2" - }, - "nativeSrc": "945:40:2", - "nodeType": "YulFunctionCall", - "src": "945:40:2" - }, - "variables": [ - { - "name": "newFreePtr", - "nativeSrc": "931:10:2", - "nodeType": "YulTypedName", - "src": "931:10:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "1096:22:2", - "nodeType": "YulBlock", - "src": "1096:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nativeSrc": "1098:16:2", - "nodeType": "YulIdentifier", - "src": "1098:16:2" - }, - "nativeSrc": "1098:18:2", - "nodeType": "YulFunctionCall", - "src": "1098:18:2" - }, - "nativeSrc": "1098:18:2", - "nodeType": "YulExpressionStatement", - "src": "1098:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nativeSrc": "1039:10:2", - "nodeType": "YulIdentifier", - "src": "1039:10:2" - }, - { - "kind": "number", - "nativeSrc": "1051:18:2", - "nodeType": "YulLiteral", - "src": "1051:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "1036:2:2", - "nodeType": "YulIdentifier", - "src": "1036:2:2" - }, - "nativeSrc": "1036:34:2", - "nodeType": "YulFunctionCall", - "src": "1036:34:2" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nativeSrc": "1075:10:2", - "nodeType": "YulIdentifier", - "src": "1075:10:2" - }, - { - "name": "memPtr", - "nativeSrc": "1087:6:2", - "nodeType": "YulIdentifier", - "src": "1087:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "1072:2:2", - "nodeType": "YulIdentifier", - "src": "1072:2:2" - }, - "nativeSrc": "1072:22:2", - "nodeType": "YulFunctionCall", - "src": "1072:22:2" - } - ], - "functionName": { - "name": "or", - "nativeSrc": "1033:2:2", - "nodeType": "YulIdentifier", - "src": "1033:2:2" - }, - "nativeSrc": "1033:62:2", - "nodeType": "YulFunctionCall", - "src": "1033:62:2" - }, - "nativeSrc": "1030:88:2", - "nodeType": "YulIf", - "src": "1030:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1134:2:2", - "nodeType": "YulLiteral", - "src": "1134:2:2", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nativeSrc": "1138:10:2", - "nodeType": "YulIdentifier", - "src": "1138:10:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "1127:6:2", - "nodeType": "YulIdentifier", - "src": "1127:6:2" - }, - "nativeSrc": "1127:22:2", - "nodeType": "YulFunctionCall", - "src": "1127:22:2" - }, - "nativeSrc": "1127:22:2", - "nodeType": "YulExpressionStatement", - "src": "1127:22:2" - } - ] - }, - "name": "finalize_allocation", - "nativeSrc": "874:281:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "903:6:2", - "nodeType": "YulTypedName", - "src": "903:6:2", - "type": "" - }, - { - "name": "size", - "nativeSrc": "911:4:2", - "nodeType": "YulTypedName", - "src": "911:4:2", - "type": "" - } - ], - "src": "874:281:2" - }, - { - "body": { - "nativeSrc": "1202:88:2", - "nodeType": "YulBlock", - "src": "1202:88:2", - "statements": [ - { - "nativeSrc": "1212:30:2", - "nodeType": "YulAssignment", - "src": "1212:30:2", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nativeSrc": "1222:18:2", - "nodeType": "YulIdentifier", - "src": "1222:18:2" - }, - "nativeSrc": "1222:20:2", - "nodeType": "YulFunctionCall", - "src": "1222:20:2" - }, - "variableNames": [ - { - "name": "memPtr", - "nativeSrc": "1212:6:2", - "nodeType": "YulIdentifier", - "src": "1212:6:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "1271:6:2", - "nodeType": "YulIdentifier", - "src": "1271:6:2" - }, - { - "name": "size", - "nativeSrc": "1279:4:2", - "nodeType": "YulIdentifier", - "src": "1279:4:2" - } - ], - "functionName": { - "name": "finalize_allocation", - "nativeSrc": "1251:19:2", - "nodeType": "YulIdentifier", - "src": "1251:19:2" - }, - "nativeSrc": "1251:33:2", - "nodeType": "YulFunctionCall", - "src": "1251:33:2" - }, - "nativeSrc": "1251:33:2", - "nodeType": "YulExpressionStatement", - "src": "1251:33:2" - } - ] - }, - "name": "allocate_memory", - "nativeSrc": "1161:129:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nativeSrc": "1186:4:2", - "nodeType": "YulTypedName", - "src": "1186:4:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nativeSrc": "1195:6:2", - "nodeType": "YulTypedName", - "src": "1195:6:2", - "type": "" - } - ], - "src": "1161:129:2" - }, - { - "body": { - "nativeSrc": "1363:241:2", - "nodeType": "YulBlock", - "src": "1363:241:2", - "statements": [ - { - "body": { - "nativeSrc": "1468:22:2", - "nodeType": "YulBlock", - "src": "1468:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nativeSrc": "1470:16:2", - "nodeType": "YulIdentifier", - "src": "1470:16:2" - }, - "nativeSrc": "1470:18:2", - "nodeType": "YulFunctionCall", - "src": "1470:18:2" - }, - "nativeSrc": "1470:18:2", - "nodeType": "YulExpressionStatement", - "src": "1470:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nativeSrc": "1440:6:2", - "nodeType": "YulIdentifier", - "src": "1440:6:2" - }, - { - "kind": "number", - "nativeSrc": "1448:18:2", - "nodeType": "YulLiteral", - "src": "1448:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "1437:2:2", - "nodeType": "YulIdentifier", - "src": "1437:2:2" - }, - "nativeSrc": "1437:30:2", - "nodeType": "YulFunctionCall", - "src": "1437:30:2" - }, - "nativeSrc": "1434:56:2", - "nodeType": "YulIf", - "src": "1434:56:2" - }, - { - "nativeSrc": "1500:37:2", - "nodeType": "YulAssignment", - "src": "1500:37:2", - "value": { - "arguments": [ - { - "name": "length", - "nativeSrc": "1530:6:2", - "nodeType": "YulIdentifier", - "src": "1530:6:2" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "1508:21:2", - "nodeType": "YulIdentifier", - "src": "1508:21:2" - }, - "nativeSrc": "1508:29:2", - "nodeType": "YulFunctionCall", - "src": "1508:29:2" - }, - "variableNames": [ - { - "name": "size", - "nativeSrc": "1500:4:2", - "nodeType": "YulIdentifier", - "src": "1500:4:2" - } - ] - }, - { - "nativeSrc": "1574:23:2", - "nodeType": "YulAssignment", - "src": "1574:23:2", - "value": { - "arguments": [ - { - "name": "size", - "nativeSrc": "1586:4:2", - "nodeType": "YulIdentifier", - "src": "1586:4:2" - }, - { - "kind": "number", - "nativeSrc": "1592:4:2", - "nodeType": "YulLiteral", - "src": "1592:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1582:3:2", - "nodeType": "YulIdentifier", - "src": "1582:3:2" - }, - "nativeSrc": "1582:15:2", - "nodeType": "YulFunctionCall", - "src": "1582:15:2" - }, - "variableNames": [ - { - "name": "size", - "nativeSrc": "1574:4:2", - "nodeType": "YulIdentifier", - "src": "1574:4:2" - } - ] - } - ] - }, - "name": "array_allocation_size_t_string_memory_ptr", - "nativeSrc": "1296:308:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nativeSrc": "1347:6:2", - "nodeType": "YulTypedName", - "src": "1347:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nativeSrc": "1358:4:2", - "nodeType": "YulTypedName", - "src": "1358:4:2", - "type": "" - } - ], - "src": "1296:308:2" - }, - { - "body": { - "nativeSrc": "1674:82:2", - "nodeType": "YulBlock", - "src": "1674:82:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nativeSrc": "1697:3:2", - "nodeType": "YulIdentifier", - "src": "1697:3:2" - }, - { - "name": "src", - "nativeSrc": "1702:3:2", - "nodeType": "YulIdentifier", - "src": "1702:3:2" - }, - { - "name": "length", - "nativeSrc": "1707:6:2", - "nodeType": "YulIdentifier", - "src": "1707:6:2" - } - ], - "functionName": { - "name": "calldatacopy", - "nativeSrc": "1684:12:2", - "nodeType": "YulIdentifier", - "src": "1684:12:2" - }, - "nativeSrc": "1684:30:2", - "nodeType": "YulFunctionCall", - "src": "1684:30:2" - }, - "nativeSrc": "1684:30:2", - "nodeType": "YulExpressionStatement", - "src": "1684:30:2" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "1734:3:2", - "nodeType": "YulIdentifier", - "src": "1734:3:2" - }, - { - "name": "length", - "nativeSrc": "1739:6:2", - "nodeType": "YulIdentifier", - "src": "1739:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1730:3:2", - "nodeType": "YulIdentifier", - "src": "1730:3:2" - }, - "nativeSrc": "1730:16:2", - "nodeType": "YulFunctionCall", - "src": "1730:16:2" - }, - { - "kind": "number", - "nativeSrc": "1748:1:2", - "nodeType": "YulLiteral", - "src": "1748:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "1723:6:2", - "nodeType": "YulIdentifier", - "src": "1723:6:2" - }, - "nativeSrc": "1723:27:2", - "nodeType": "YulFunctionCall", - "src": "1723:27:2" - }, - "nativeSrc": "1723:27:2", - "nodeType": "YulExpressionStatement", - "src": "1723:27:2" - } - ] - }, - "name": "copy_calldata_to_memory_with_cleanup", - "nativeSrc": "1610:146:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nativeSrc": "1656:3:2", - "nodeType": "YulTypedName", - "src": "1656:3:2", - "type": "" - }, - { - "name": "dst", - "nativeSrc": "1661:3:2", - "nodeType": "YulTypedName", - "src": "1661:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "1666:6:2", - "nodeType": "YulTypedName", - "src": "1666:6:2", - "type": "" - } - ], - "src": "1610:146:2" - }, - { - "body": { - "nativeSrc": "1846:341:2", - "nodeType": "YulBlock", - "src": "1846:341:2", - "statements": [ - { - "nativeSrc": "1856:75:2", - "nodeType": "YulAssignment", - "src": "1856:75:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nativeSrc": "1923:6:2", - "nodeType": "YulIdentifier", - "src": "1923:6:2" - } - ], - "functionName": { - "name": "array_allocation_size_t_string_memory_ptr", - "nativeSrc": "1881:41:2", - "nodeType": "YulIdentifier", - "src": "1881:41:2" - }, - "nativeSrc": "1881:49:2", - "nodeType": "YulFunctionCall", - "src": "1881:49:2" - } - ], - "functionName": { - "name": "allocate_memory", - "nativeSrc": "1865:15:2", - "nodeType": "YulIdentifier", - "src": "1865:15:2" - }, - "nativeSrc": "1865:66:2", - "nodeType": "YulFunctionCall", - "src": "1865:66:2" - }, - "variableNames": [ - { - "name": "array", - "nativeSrc": "1856:5:2", - "nodeType": "YulIdentifier", - "src": "1856:5:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nativeSrc": "1947:5:2", - "nodeType": "YulIdentifier", - "src": "1947:5:2" - }, - { - "name": "length", - "nativeSrc": "1954:6:2", - "nodeType": "YulIdentifier", - "src": "1954:6:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "1940:6:2", - "nodeType": "YulIdentifier", - "src": "1940:6:2" - }, - "nativeSrc": "1940:21:2", - "nodeType": "YulFunctionCall", - "src": "1940:21:2" - }, - "nativeSrc": "1940:21:2", - "nodeType": "YulExpressionStatement", - "src": "1940:21:2" - }, - { - "nativeSrc": "1970:27:2", - "nodeType": "YulVariableDeclaration", - "src": "1970:27:2", - "value": { - "arguments": [ - { - "name": "array", - "nativeSrc": "1985:5:2", - "nodeType": "YulIdentifier", - "src": "1985:5:2" - }, - { - "kind": "number", - "nativeSrc": "1992:4:2", - "nodeType": "YulLiteral", - "src": "1992:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1981:3:2", - "nodeType": "YulIdentifier", - "src": "1981:3:2" - }, - "nativeSrc": "1981:16:2", - "nodeType": "YulFunctionCall", - "src": "1981:16:2" - }, - "variables": [ - { - "name": "dst", - "nativeSrc": "1974:3:2", - "nodeType": "YulTypedName", - "src": "1974:3:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "2035:83:2", - "nodeType": "YulBlock", - "src": "2035:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nativeSrc": "2037:77:2", - "nodeType": "YulIdentifier", - "src": "2037:77:2" - }, - "nativeSrc": "2037:79:2", - "nodeType": "YulFunctionCall", - "src": "2037:79:2" - }, - "nativeSrc": "2037:79:2", - "nodeType": "YulExpressionStatement", - "src": "2037:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "2016:3:2", - "nodeType": "YulIdentifier", - "src": "2016:3:2" - }, - { - "name": "length", - "nativeSrc": "2021:6:2", - "nodeType": "YulIdentifier", - "src": "2021:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2012:3:2", - "nodeType": "YulIdentifier", - "src": "2012:3:2" - }, - "nativeSrc": "2012:16:2", - "nodeType": "YulFunctionCall", - "src": "2012:16:2" - }, - { - "name": "end", - "nativeSrc": "2030:3:2", - "nodeType": "YulIdentifier", - "src": "2030:3:2" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2009:2:2", - "nodeType": "YulIdentifier", - "src": "2009:2:2" - }, - "nativeSrc": "2009:25:2", - "nodeType": "YulFunctionCall", - "src": "2009:25:2" - }, - "nativeSrc": "2006:112:2", - "nodeType": "YulIf", - "src": "2006:112:2" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nativeSrc": "2164:3:2", - "nodeType": "YulIdentifier", - "src": "2164:3:2" - }, - { - "name": "dst", - "nativeSrc": "2169:3:2", - "nodeType": "YulIdentifier", - "src": "2169:3:2" - }, - { - "name": "length", - "nativeSrc": "2174:6:2", - "nodeType": "YulIdentifier", - "src": "2174:6:2" - } - ], - "functionName": { - "name": "copy_calldata_to_memory_with_cleanup", - "nativeSrc": "2127:36:2", - "nodeType": "YulIdentifier", - "src": "2127:36:2" - }, - "nativeSrc": "2127:54:2", - "nodeType": "YulFunctionCall", - "src": "2127:54:2" - }, - "nativeSrc": "2127:54:2", - "nodeType": "YulExpressionStatement", - "src": "2127:54:2" - } - ] - }, - "name": "abi_decode_available_length_t_string_memory_ptr", - "nativeSrc": "1762:425:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nativeSrc": "1819:3:2", - "nodeType": "YulTypedName", - "src": "1819:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "1824:6:2", - "nodeType": "YulTypedName", - "src": "1824:6:2", - "type": "" - }, - { - "name": "end", - "nativeSrc": "1832:3:2", - "nodeType": "YulTypedName", - "src": "1832:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nativeSrc": "1840:5:2", - "nodeType": "YulTypedName", - "src": "1840:5:2", - "type": "" - } - ], - "src": "1762:425:2" - }, - { - "body": { - "nativeSrc": "2269:278:2", - "nodeType": "YulBlock", - "src": "2269:278:2", - "statements": [ - { - "body": { - "nativeSrc": "2318:83:2", - "nodeType": "YulBlock", - "src": "2318:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "2320:77:2", - "nodeType": "YulIdentifier", - "src": "2320:77:2" - }, - "nativeSrc": "2320:79:2", - "nodeType": "YulFunctionCall", - "src": "2320:79:2" - }, - "nativeSrc": "2320:79:2", - "nodeType": "YulExpressionStatement", - "src": "2320:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2297:6:2", - "nodeType": "YulIdentifier", - "src": "2297:6:2" - }, - { - "kind": "number", - "nativeSrc": "2305:4:2", - "nodeType": "YulLiteral", - "src": "2305:4:2", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2293:3:2", - "nodeType": "YulIdentifier", - "src": "2293:3:2" - }, - "nativeSrc": "2293:17:2", - "nodeType": "YulFunctionCall", - "src": "2293:17:2" - }, - { - "name": "end", - "nativeSrc": "2312:3:2", - "nodeType": "YulIdentifier", - "src": "2312:3:2" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "2289:3:2", - "nodeType": "YulIdentifier", - "src": "2289:3:2" - }, - "nativeSrc": "2289:27:2", - "nodeType": "YulFunctionCall", - "src": "2289:27:2" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "2282:6:2", - "nodeType": "YulIdentifier", - "src": "2282:6:2" - }, - "nativeSrc": "2282:35:2", - "nodeType": "YulFunctionCall", - "src": "2282:35:2" - }, - "nativeSrc": "2279:122:2", - "nodeType": "YulIf", - "src": "2279:122:2" - }, - { - "nativeSrc": "2410:34:2", - "nodeType": "YulVariableDeclaration", - "src": "2410:34:2", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2437:6:2", - "nodeType": "YulIdentifier", - "src": "2437:6:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "2424:12:2", - "nodeType": "YulIdentifier", - "src": "2424:12:2" - }, - "nativeSrc": "2424:20:2", - "nodeType": "YulFunctionCall", - "src": "2424:20:2" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "2414:6:2", - "nodeType": "YulTypedName", - "src": "2414:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "2453:88:2", - "nodeType": "YulAssignment", - "src": "2453:88:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2514:6:2", - "nodeType": "YulIdentifier", - "src": "2514:6:2" - }, - { - "kind": "number", - "nativeSrc": "2522:4:2", - "nodeType": "YulLiteral", - "src": "2522:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2510:3:2", - "nodeType": "YulIdentifier", - "src": "2510:3:2" - }, - "nativeSrc": "2510:17:2", - "nodeType": "YulFunctionCall", - "src": "2510:17:2" - }, - { - "name": "length", - "nativeSrc": "2529:6:2", - "nodeType": "YulIdentifier", - "src": "2529:6:2" - }, - { - "name": "end", - "nativeSrc": "2537:3:2", - "nodeType": "YulIdentifier", - "src": "2537:3:2" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_string_memory_ptr", - "nativeSrc": "2462:47:2", - "nodeType": "YulIdentifier", - "src": "2462:47:2" - }, - "nativeSrc": "2462:79:2", - "nodeType": "YulFunctionCall", - "src": "2462:79:2" - }, - "variableNames": [ - { - "name": "array", - "nativeSrc": "2453:5:2", - "nodeType": "YulIdentifier", - "src": "2453:5:2" - } - ] - } - ] - }, - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "2207:340:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "2247:6:2", - "nodeType": "YulTypedName", - "src": "2247:6:2", - "type": "" - }, - { - "name": "end", - "nativeSrc": "2255:3:2", - "nodeType": "YulTypedName", - "src": "2255:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nativeSrc": "2263:5:2", - "nodeType": "YulTypedName", - "src": "2263:5:2", - "type": "" - } - ], - "src": "2207:340:2" - }, - { - "body": { - "nativeSrc": "2598:32:2", - "nodeType": "YulBlock", - "src": "2598:32:2", - "statements": [ - { - "nativeSrc": "2608:16:2", - "nodeType": "YulAssignment", - "src": "2608:16:2", - "value": { - "name": "value", - "nativeSrc": "2619:5:2", - "nodeType": "YulIdentifier", - "src": "2619:5:2" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "2608:7:2", - "nodeType": "YulIdentifier", - "src": "2608:7:2" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nativeSrc": "2553:77:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "2580:5:2", - "nodeType": "YulTypedName", - "src": "2580:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "2590:7:2", - "nodeType": "YulTypedName", - "src": "2590:7:2", - "type": "" - } - ], - "src": "2553:77:2" - }, - { - "body": { - "nativeSrc": "2679:79:2", - "nodeType": "YulBlock", - "src": "2679:79:2", - "statements": [ - { - "body": { - "nativeSrc": "2736:16:2", - "nodeType": "YulBlock", - "src": "2736:16:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "2745:1:2", - "nodeType": "YulLiteral", - "src": "2745:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "2748:1:2", - "nodeType": "YulLiteral", - "src": "2748:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "2738:6:2", - "nodeType": "YulIdentifier", - "src": "2738:6:2" - }, - "nativeSrc": "2738:12:2", - "nodeType": "YulFunctionCall", - "src": "2738:12:2" - }, - "nativeSrc": "2738:12:2", - "nodeType": "YulExpressionStatement", - "src": "2738:12:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "2702:5:2", - "nodeType": "YulIdentifier", - "src": "2702:5:2" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "2727:5:2", - "nodeType": "YulIdentifier", - "src": "2727:5:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "2709:17:2", - "nodeType": "YulIdentifier", - "src": "2709:17:2" - }, - "nativeSrc": "2709:24:2", - "nodeType": "YulFunctionCall", - "src": "2709:24:2" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "2699:2:2", - "nodeType": "YulIdentifier", - "src": "2699:2:2" - }, - "nativeSrc": "2699:35:2", - "nodeType": "YulFunctionCall", - "src": "2699:35:2" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "2692:6:2", - "nodeType": "YulIdentifier", - "src": "2692:6:2" - }, - "nativeSrc": "2692:43:2", - "nodeType": "YulFunctionCall", - "src": "2692:43:2" - }, - "nativeSrc": "2689:63:2", - "nodeType": "YulIf", - "src": "2689:63:2" - } - ] - }, - "name": "validator_revert_t_uint256", - "nativeSrc": "2636:122:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "2672:5:2", - "nodeType": "YulTypedName", - "src": "2672:5:2", - "type": "" - } - ], - "src": "2636:122:2" - }, - { - "body": { - "nativeSrc": "2816:87:2", - "nodeType": "YulBlock", - "src": "2816:87:2", - "statements": [ - { - "nativeSrc": "2826:29:2", - "nodeType": "YulAssignment", - "src": "2826:29:2", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2848:6:2", - "nodeType": "YulIdentifier", - "src": "2848:6:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "2835:12:2", - "nodeType": "YulIdentifier", - "src": "2835:12:2" - }, - "nativeSrc": "2835:20:2", - "nodeType": "YulFunctionCall", - "src": "2835:20:2" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "2826:5:2", - "nodeType": "YulIdentifier", - "src": "2826:5:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "2891:5:2", - "nodeType": "YulIdentifier", - "src": "2891:5:2" - } - ], - "functionName": { - "name": "validator_revert_t_uint256", - "nativeSrc": "2864:26:2", - "nodeType": "YulIdentifier", - "src": "2864:26:2" - }, - "nativeSrc": "2864:33:2", - "nodeType": "YulFunctionCall", - "src": "2864:33:2" - }, - "nativeSrc": "2864:33:2", - "nodeType": "YulExpressionStatement", - "src": "2864:33:2" - } - ] - }, - "name": "abi_decode_t_uint256", - "nativeSrc": "2764:139:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "2794:6:2", - "nodeType": "YulTypedName", - "src": "2794:6:2", - "type": "" - }, - { - "name": "end", - "nativeSrc": "2802:3:2", - "nodeType": "YulTypedName", - "src": "2802:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "2810:5:2", - "nodeType": "YulTypedName", - "src": "2810:5:2", - "type": "" - } - ], - "src": "2764:139:2" - }, - { - "body": { - "nativeSrc": "3046:988:2", - "nodeType": "YulBlock", - "src": "3046:988:2", - "statements": [ - { - "body": { - "nativeSrc": "3093:83:2", - "nodeType": "YulBlock", - "src": "3093:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "3095:77:2", - "nodeType": "YulIdentifier", - "src": "3095:77:2" - }, - "nativeSrc": "3095:79:2", - "nodeType": "YulFunctionCall", - "src": "3095:79:2" - }, - "nativeSrc": "3095:79:2", - "nodeType": "YulExpressionStatement", - "src": "3095:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "3067:7:2", - "nodeType": "YulIdentifier", - "src": "3067:7:2" - }, - { - "name": "headStart", - "nativeSrc": "3076:9:2", - "nodeType": "YulIdentifier", - "src": "3076:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "3063:3:2", - "nodeType": "YulIdentifier", - "src": "3063:3:2" - }, - "nativeSrc": "3063:23:2", - "nodeType": "YulFunctionCall", - "src": "3063:23:2" - }, - { - "kind": "number", - "nativeSrc": "3088:3:2", - "nodeType": "YulLiteral", - "src": "3088:3:2", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "3059:3:2", - "nodeType": "YulIdentifier", - "src": "3059:3:2" - }, - "nativeSrc": "3059:33:2", - "nodeType": "YulFunctionCall", - "src": "3059:33:2" - }, - "nativeSrc": "3056:120:2", - "nodeType": "YulIf", - "src": "3056:120:2" - }, - { - "nativeSrc": "3186:287:2", - "nodeType": "YulBlock", - "src": "3186:287:2", - "statements": [ - { - "nativeSrc": "3201:45:2", - "nodeType": "YulVariableDeclaration", - "src": "3201:45:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3232:9:2", - "nodeType": "YulIdentifier", - "src": "3232:9:2" - }, - { - "kind": "number", - "nativeSrc": "3243:1:2", - "nodeType": "YulLiteral", - "src": "3243:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3228:3:2", - "nodeType": "YulIdentifier", - "src": "3228:3:2" - }, - "nativeSrc": "3228:17:2", - "nodeType": "YulFunctionCall", - "src": "3228:17:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "3215:12:2", - "nodeType": "YulIdentifier", - "src": "3215:12:2" - }, - "nativeSrc": "3215:31:2", - "nodeType": "YulFunctionCall", - "src": "3215:31:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3205:6:2", - "nodeType": "YulTypedName", - "src": "3205:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "3293:83:2", - "nodeType": "YulBlock", - "src": "3293:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "3295:77:2", - "nodeType": "YulIdentifier", - "src": "3295:77:2" - }, - "nativeSrc": "3295:79:2", - "nodeType": "YulFunctionCall", - "src": "3295:79:2" - }, - "nativeSrc": "3295:79:2", - "nodeType": "YulExpressionStatement", - "src": "3295:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3265:6:2", - "nodeType": "YulIdentifier", - "src": "3265:6:2" - }, - { - "kind": "number", - "nativeSrc": "3273:18:2", - "nodeType": "YulLiteral", - "src": "3273:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3262:2:2", - "nodeType": "YulIdentifier", - "src": "3262:2:2" - }, - "nativeSrc": "3262:30:2", - "nodeType": "YulFunctionCall", - "src": "3262:30:2" - }, - "nativeSrc": "3259:117:2", - "nodeType": "YulIf", - "src": "3259:117:2" - }, - { - "nativeSrc": "3390:73:2", - "nodeType": "YulAssignment", - "src": "3390:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3435:9:2", - "nodeType": "YulIdentifier", - "src": "3435:9:2" - }, - { - "name": "offset", - "nativeSrc": "3446:6:2", - "nodeType": "YulIdentifier", - "src": "3446:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3431:3:2", - "nodeType": "YulIdentifier", - "src": "3431:3:2" - }, - "nativeSrc": "3431:22:2", - "nodeType": "YulFunctionCall", - "src": "3431:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "3455:7:2", - "nodeType": "YulIdentifier", - "src": "3455:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "3400:30:2", - "nodeType": "YulIdentifier", - "src": "3400:30:2" - }, - "nativeSrc": "3400:63:2", - "nodeType": "YulFunctionCall", - "src": "3400:63:2" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "3390:6:2", - "nodeType": "YulIdentifier", - "src": "3390:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "3483:118:2", - "nodeType": "YulBlock", - "src": "3483:118:2", - "statements": [ - { - "nativeSrc": "3498:16:2", - "nodeType": "YulVariableDeclaration", - "src": "3498:16:2", - "value": { - "kind": "number", - "nativeSrc": "3512:2:2", - "nodeType": "YulLiteral", - "src": "3512:2:2", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3502:6:2", - "nodeType": "YulTypedName", - "src": "3502:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "3528:63:2", - "nodeType": "YulAssignment", - "src": "3528:63:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3563:9:2", - "nodeType": "YulIdentifier", - "src": "3563:9:2" - }, - { - "name": "offset", - "nativeSrc": "3574:6:2", - "nodeType": "YulIdentifier", - "src": "3574:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3559:3:2", - "nodeType": "YulIdentifier", - "src": "3559:3:2" - }, - "nativeSrc": "3559:22:2", - "nodeType": "YulFunctionCall", - "src": "3559:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "3583:7:2", - "nodeType": "YulIdentifier", - "src": "3583:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nativeSrc": "3538:20:2", - "nodeType": "YulIdentifier", - "src": "3538:20:2" - }, - "nativeSrc": "3538:53:2", - "nodeType": "YulFunctionCall", - "src": "3538:53:2" - }, - "variableNames": [ - { - "name": "value1", - "nativeSrc": "3528:6:2", - "nodeType": "YulIdentifier", - "src": "3528:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "3611:288:2", - "nodeType": "YulBlock", - "src": "3611:288:2", - "statements": [ - { - "nativeSrc": "3626:46:2", - "nodeType": "YulVariableDeclaration", - "src": "3626:46:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3657:9:2", - "nodeType": "YulIdentifier", - "src": "3657:9:2" - }, - { - "kind": "number", - "nativeSrc": "3668:2:2", - "nodeType": "YulLiteral", - "src": "3668:2:2", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3653:3:2", - "nodeType": "YulIdentifier", - "src": "3653:3:2" - }, - "nativeSrc": "3653:18:2", - "nodeType": "YulFunctionCall", - "src": "3653:18:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "3640:12:2", - "nodeType": "YulIdentifier", - "src": "3640:12:2" - }, - "nativeSrc": "3640:32:2", - "nodeType": "YulFunctionCall", - "src": "3640:32:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3630:6:2", - "nodeType": "YulTypedName", - "src": "3630:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "3719:83:2", - "nodeType": "YulBlock", - "src": "3719:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "3721:77:2", - "nodeType": "YulIdentifier", - "src": "3721:77:2" - }, - "nativeSrc": "3721:79:2", - "nodeType": "YulFunctionCall", - "src": "3721:79:2" - }, - "nativeSrc": "3721:79:2", - "nodeType": "YulExpressionStatement", - "src": "3721:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3691:6:2", - "nodeType": "YulIdentifier", - "src": "3691:6:2" - }, - { - "kind": "number", - "nativeSrc": "3699:18:2", - "nodeType": "YulLiteral", - "src": "3699:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3688:2:2", - "nodeType": "YulIdentifier", - "src": "3688:2:2" - }, - "nativeSrc": "3688:30:2", - "nodeType": "YulFunctionCall", - "src": "3688:30:2" - }, - "nativeSrc": "3685:117:2", - "nodeType": "YulIf", - "src": "3685:117:2" - }, - { - "nativeSrc": "3816:73:2", - "nodeType": "YulAssignment", - "src": "3816:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3861:9:2", - "nodeType": "YulIdentifier", - "src": "3861:9:2" - }, - { - "name": "offset", - "nativeSrc": "3872:6:2", - "nodeType": "YulIdentifier", - "src": "3872:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3857:3:2", - "nodeType": "YulIdentifier", - "src": "3857:3:2" - }, - "nativeSrc": "3857:22:2", - "nodeType": "YulFunctionCall", - "src": "3857:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "3881:7:2", - "nodeType": "YulIdentifier", - "src": "3881:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "3826:30:2", - "nodeType": "YulIdentifier", - "src": "3826:30:2" - }, - "nativeSrc": "3826:63:2", - "nodeType": "YulFunctionCall", - "src": "3826:63:2" - }, - "variableNames": [ - { - "name": "value2", - "nativeSrc": "3816:6:2", - "nodeType": "YulIdentifier", - "src": "3816:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "3909:118:2", - "nodeType": "YulBlock", - "src": "3909:118:2", - "statements": [ - { - "nativeSrc": "3924:16:2", - "nodeType": "YulVariableDeclaration", - "src": "3924:16:2", - "value": { - "kind": "number", - "nativeSrc": "3938:2:2", - "nodeType": "YulLiteral", - "src": "3938:2:2", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3928:6:2", - "nodeType": "YulTypedName", - "src": "3928:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "3954:63:2", - "nodeType": "YulAssignment", - "src": "3954:63:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3989:9:2", - "nodeType": "YulIdentifier", - "src": "3989:9:2" - }, - { - "name": "offset", - "nativeSrc": "4000:6:2", - "nodeType": "YulIdentifier", - "src": "4000:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3985:3:2", - "nodeType": "YulIdentifier", - "src": "3985:3:2" - }, - "nativeSrc": "3985:22:2", - "nodeType": "YulFunctionCall", - "src": "3985:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "4009:7:2", - "nodeType": "YulIdentifier", - "src": "4009:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nativeSrc": "3964:20:2", - "nodeType": "YulIdentifier", - "src": "3964:20:2" - }, - "nativeSrc": "3964:53:2", - "nodeType": "YulFunctionCall", - "src": "3964:53:2" - }, - "variableNames": [ - { - "name": "value3", - "nativeSrc": "3954:6:2", - "nodeType": "YulIdentifier", - "src": "3954:6:2" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_uint256t_string_memory_ptrt_uint256", - "nativeSrc": "2909:1125:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "2992:9:2", - "nodeType": "YulTypedName", - "src": "2992:9:2", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "3003:7:2", - "nodeType": "YulTypedName", - "src": "3003:7:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "3015:6:2", - "nodeType": "YulTypedName", - "src": "3015:6:2", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "3023:6:2", - "nodeType": "YulTypedName", - "src": "3023:6:2", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "3031:6:2", - "nodeType": "YulTypedName", - "src": "3031:6:2", - "type": "" - }, - { - "name": "value3", - "nativeSrc": "3039:6:2", - "nodeType": "YulTypedName", - "src": "3039:6:2", - "type": "" - } - ], - "src": "2909:1125:2" - }, - { - "body": { - "nativeSrc": "4133:561:2", - "nodeType": "YulBlock", - "src": "4133:561:2", - "statements": [ - { - "body": { - "nativeSrc": "4179:83:2", - "nodeType": "YulBlock", - "src": "4179:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "4181:77:2", - "nodeType": "YulIdentifier", - "src": "4181:77:2" - }, - "nativeSrc": "4181:79:2", - "nodeType": "YulFunctionCall", - "src": "4181:79:2" - }, - "nativeSrc": "4181:79:2", - "nodeType": "YulExpressionStatement", - "src": "4181:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "4154:7:2", - "nodeType": "YulIdentifier", - "src": "4154:7:2" - }, - { - "name": "headStart", - "nativeSrc": "4163:9:2", - "nodeType": "YulIdentifier", - "src": "4163:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "4150:3:2", - "nodeType": "YulIdentifier", - "src": "4150:3:2" - }, - "nativeSrc": "4150:23:2", - "nodeType": "YulFunctionCall", - "src": "4150:23:2" - }, - { - "kind": "number", - "nativeSrc": "4175:2:2", - "nodeType": "YulLiteral", - "src": "4175:2:2", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "4146:3:2", - "nodeType": "YulIdentifier", - "src": "4146:3:2" - }, - "nativeSrc": "4146:32:2", - "nodeType": "YulFunctionCall", - "src": "4146:32:2" - }, - "nativeSrc": "4143:119:2", - "nodeType": "YulIf", - "src": "4143:119:2" - }, - { - "nativeSrc": "4272:287:2", - "nodeType": "YulBlock", - "src": "4272:287:2", - "statements": [ - { - "nativeSrc": "4287:45:2", - "nodeType": "YulVariableDeclaration", - "src": "4287:45:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4318:9:2", - "nodeType": "YulIdentifier", - "src": "4318:9:2" - }, - { - "kind": "number", - "nativeSrc": "4329:1:2", - "nodeType": "YulLiteral", - "src": "4329:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4314:3:2", - "nodeType": "YulIdentifier", - "src": "4314:3:2" - }, - "nativeSrc": "4314:17:2", - "nodeType": "YulFunctionCall", - "src": "4314:17:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "4301:12:2", - "nodeType": "YulIdentifier", - "src": "4301:12:2" - }, - "nativeSrc": "4301:31:2", - "nodeType": "YulFunctionCall", - "src": "4301:31:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "4291:6:2", - "nodeType": "YulTypedName", - "src": "4291:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "4379:83:2", - "nodeType": "YulBlock", - "src": "4379:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "4381:77:2", - "nodeType": "YulIdentifier", - "src": "4381:77:2" - }, - "nativeSrc": "4381:79:2", - "nodeType": "YulFunctionCall", - "src": "4381:79:2" - }, - "nativeSrc": "4381:79:2", - "nodeType": "YulExpressionStatement", - "src": "4381:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "4351:6:2", - "nodeType": "YulIdentifier", - "src": "4351:6:2" - }, - { - "kind": "number", - "nativeSrc": "4359:18:2", - "nodeType": "YulLiteral", - "src": "4359:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "4348:2:2", - "nodeType": "YulIdentifier", - "src": "4348:2:2" - }, - "nativeSrc": "4348:30:2", - "nodeType": "YulFunctionCall", - "src": "4348:30:2" - }, - "nativeSrc": "4345:117:2", - "nodeType": "YulIf", - "src": "4345:117:2" - }, - { - "nativeSrc": "4476:73:2", - "nodeType": "YulAssignment", - "src": "4476:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4521:9:2", - "nodeType": "YulIdentifier", - "src": "4521:9:2" - }, - { - "name": "offset", - "nativeSrc": "4532:6:2", - "nodeType": "YulIdentifier", - "src": "4532:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4517:3:2", - "nodeType": "YulIdentifier", - "src": "4517:3:2" - }, - "nativeSrc": "4517:22:2", - "nodeType": "YulFunctionCall", - "src": "4517:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "4541:7:2", - "nodeType": "YulIdentifier", - "src": "4541:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "4486:30:2", - "nodeType": "YulIdentifier", - "src": "4486:30:2" - }, - "nativeSrc": "4486:63:2", - "nodeType": "YulFunctionCall", - "src": "4486:63:2" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "4476:6:2", - "nodeType": "YulIdentifier", - "src": "4476:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "4569:118:2", - "nodeType": "YulBlock", - "src": "4569:118:2", - "statements": [ - { - "nativeSrc": "4584:16:2", - "nodeType": "YulVariableDeclaration", - "src": "4584:16:2", - "value": { - "kind": "number", - "nativeSrc": "4598:2:2", - "nodeType": "YulLiteral", - "src": "4598:2:2", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "4588:6:2", - "nodeType": "YulTypedName", - "src": "4588:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "4614:63:2", - "nodeType": "YulAssignment", - "src": "4614:63:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4649:9:2", - "nodeType": "YulIdentifier", - "src": "4649:9:2" - }, - { - "name": "offset", - "nativeSrc": "4660:6:2", - "nodeType": "YulIdentifier", - "src": "4660:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4645:3:2", - "nodeType": "YulIdentifier", - "src": "4645:3:2" - }, - "nativeSrc": "4645:22:2", - "nodeType": "YulFunctionCall", - "src": "4645:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "4669:7:2", - "nodeType": "YulIdentifier", - "src": "4669:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nativeSrc": "4624:20:2", - "nodeType": "YulIdentifier", - "src": "4624:20:2" - }, - "nativeSrc": "4624:53:2", - "nodeType": "YulFunctionCall", - "src": "4624:53:2" - }, - "variableNames": [ - { - "name": "value1", - "nativeSrc": "4614:6:2", - "nodeType": "YulIdentifier", - "src": "4614:6:2" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_uint256", - "nativeSrc": "4040:654:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "4095:9:2", - "nodeType": "YulTypedName", - "src": "4095:9:2", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "4106:7:2", - "nodeType": "YulTypedName", - "src": "4106:7:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "4118:6:2", - "nodeType": "YulTypedName", - "src": "4118:6:2", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "4126:6:2", - "nodeType": "YulTypedName", - "src": "4126:6:2", - "type": "" - } - ], - "src": "4040:654:2" - }, - { - "body": { - "nativeSrc": "4776:433:2", - "nodeType": "YulBlock", - "src": "4776:433:2", - "statements": [ - { - "body": { - "nativeSrc": "4822:83:2", - "nodeType": "YulBlock", - "src": "4822:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "4824:77:2", - "nodeType": "YulIdentifier", - "src": "4824:77:2" - }, - "nativeSrc": "4824:79:2", - "nodeType": "YulFunctionCall", - "src": "4824:79:2" - }, - "nativeSrc": "4824:79:2", - "nodeType": "YulExpressionStatement", - "src": "4824:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "4797:7:2", - "nodeType": "YulIdentifier", - "src": "4797:7:2" - }, - { - "name": "headStart", - "nativeSrc": "4806:9:2", - "nodeType": "YulIdentifier", - "src": "4806:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "4793:3:2", - "nodeType": "YulIdentifier", - "src": "4793:3:2" - }, - "nativeSrc": "4793:23:2", - "nodeType": "YulFunctionCall", - "src": "4793:23:2" - }, - { - "kind": "number", - "nativeSrc": "4818:2:2", - "nodeType": "YulLiteral", - "src": "4818:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "4789:3:2", - "nodeType": "YulIdentifier", - "src": "4789:3:2" - }, - "nativeSrc": "4789:32:2", - "nodeType": "YulFunctionCall", - "src": "4789:32:2" - }, - "nativeSrc": "4786:119:2", - "nodeType": "YulIf", - "src": "4786:119:2" - }, - { - "nativeSrc": "4915:287:2", - "nodeType": "YulBlock", - "src": "4915:287:2", - "statements": [ - { - "nativeSrc": "4930:45:2", - "nodeType": "YulVariableDeclaration", - "src": "4930:45:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4961:9:2", - "nodeType": "YulIdentifier", - "src": "4961:9:2" - }, - { - "kind": "number", - "nativeSrc": "4972:1:2", - "nodeType": "YulLiteral", - "src": "4972:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4957:3:2", - "nodeType": "YulIdentifier", - "src": "4957:3:2" - }, - "nativeSrc": "4957:17:2", - "nodeType": "YulFunctionCall", - "src": "4957:17:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "4944:12:2", - "nodeType": "YulIdentifier", - "src": "4944:12:2" - }, - "nativeSrc": "4944:31:2", - "nodeType": "YulFunctionCall", - "src": "4944:31:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "4934:6:2", - "nodeType": "YulTypedName", - "src": "4934:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5022:83:2", - "nodeType": "YulBlock", - "src": "5022:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "5024:77:2", - "nodeType": "YulIdentifier", - "src": "5024:77:2" - }, - "nativeSrc": "5024:79:2", - "nodeType": "YulFunctionCall", - "src": "5024:79:2" - }, - "nativeSrc": "5024:79:2", - "nodeType": "YulExpressionStatement", - "src": "5024:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "4994:6:2", - "nodeType": "YulIdentifier", - "src": "4994:6:2" - }, - { - "kind": "number", - "nativeSrc": "5002:18:2", - "nodeType": "YulLiteral", - "src": "5002:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "4991:2:2", - "nodeType": "YulIdentifier", - "src": "4991:2:2" - }, - "nativeSrc": "4991:30:2", - "nodeType": "YulFunctionCall", - "src": "4991:30:2" - }, - "nativeSrc": "4988:117:2", - "nodeType": "YulIf", - "src": "4988:117:2" - }, - { - "nativeSrc": "5119:73:2", - "nodeType": "YulAssignment", - "src": "5119:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5164:9:2", - "nodeType": "YulIdentifier", - "src": "5164:9:2" - }, - { - "name": "offset", - "nativeSrc": "5175:6:2", - "nodeType": "YulIdentifier", - "src": "5175:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5160:3:2", - "nodeType": "YulIdentifier", - "src": "5160:3:2" - }, - "nativeSrc": "5160:22:2", - "nodeType": "YulFunctionCall", - "src": "5160:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "5184:7:2", - "nodeType": "YulIdentifier", - "src": "5184:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "5129:30:2", - "nodeType": "YulIdentifier", - "src": "5129:30:2" - }, - "nativeSrc": "5129:63:2", - "nodeType": "YulFunctionCall", - "src": "5129:63:2" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "5119:6:2", - "nodeType": "YulIdentifier", - "src": "5119:6:2" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nativeSrc": "4700:509:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "4746:9:2", - "nodeType": "YulTypedName", - "src": "4746:9:2", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "4757:7:2", - "nodeType": "YulTypedName", - "src": "4757:7:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "4769:6:2", - "nodeType": "YulTypedName", - "src": "4769:6:2", - "type": "" - } - ], - "src": "4700:509:2" - }, - { - "body": { - "nativeSrc": "5280:53:2", - "nodeType": "YulBlock", - "src": "5280:53:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "5297:3:2", - "nodeType": "YulIdentifier", - "src": "5297:3:2" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "5320:5:2", - "nodeType": "YulIdentifier", - "src": "5320:5:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "5302:17:2", - "nodeType": "YulIdentifier", - "src": "5302:17:2" - }, - "nativeSrc": "5302:24:2", - "nodeType": "YulFunctionCall", - "src": "5302:24:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "5290:6:2", - "nodeType": "YulIdentifier", - "src": "5290:6:2" - }, - "nativeSrc": "5290:37:2", - "nodeType": "YulFunctionCall", - "src": "5290:37:2" - }, - "nativeSrc": "5290:37:2", - "nodeType": "YulExpressionStatement", - "src": "5290:37:2" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nativeSrc": "5215:118:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "5268:5:2", - "nodeType": "YulTypedName", - "src": "5268:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "5275:3:2", - "nodeType": "YulTypedName", - "src": "5275:3:2", - "type": "" - } - ], - "src": "5215:118:2" - }, - { - "body": { - "nativeSrc": "5437:124:2", - "nodeType": "YulBlock", - "src": "5437:124:2", - "statements": [ - { - "nativeSrc": "5447:26:2", - "nodeType": "YulAssignment", - "src": "5447:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5459:9:2", - "nodeType": "YulIdentifier", - "src": "5459:9:2" - }, - { - "kind": "number", - "nativeSrc": "5470:2:2", - "nodeType": "YulLiteral", - "src": "5470:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5455:3:2", - "nodeType": "YulIdentifier", - "src": "5455:3:2" - }, - "nativeSrc": "5455:18:2", - "nodeType": "YulFunctionCall", - "src": "5455:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "5447:4:2", - "nodeType": "YulIdentifier", - "src": "5447:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "5527:6:2", - "nodeType": "YulIdentifier", - "src": "5527:6:2" - }, - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5540:9:2", - "nodeType": "YulIdentifier", - "src": "5540:9:2" - }, - { - "kind": "number", - "nativeSrc": "5551:1:2", - "nodeType": "YulLiteral", - "src": "5551:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5536:3:2", - "nodeType": "YulIdentifier", - "src": "5536:3:2" - }, - "nativeSrc": "5536:17:2", - "nodeType": "YulFunctionCall", - "src": "5536:17:2" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nativeSrc": "5483:43:2", - "nodeType": "YulIdentifier", - "src": "5483:43:2" - }, - "nativeSrc": "5483:71:2", - "nodeType": "YulFunctionCall", - "src": "5483:71:2" - }, - "nativeSrc": "5483:71:2", - "nodeType": "YulExpressionStatement", - "src": "5483:71:2" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nativeSrc": "5339:222:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "5409:9:2", - "nodeType": "YulTypedName", - "src": "5409:9:2", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "5421:6:2", - "nodeType": "YulTypedName", - "src": "5421:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "5432:4:2", - "nodeType": "YulTypedName", - "src": "5432:4:2", - "type": "" - } - ], - "src": "5339:222:2" - }, - { - "body": { - "nativeSrc": "5704:988:2", - "nodeType": "YulBlock", - "src": "5704:988:2", - "statements": [ - { - "body": { - "nativeSrc": "5751:83:2", - "nodeType": "YulBlock", - "src": "5751:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "5753:77:2", - "nodeType": "YulIdentifier", - "src": "5753:77:2" - }, - "nativeSrc": "5753:79:2", - "nodeType": "YulFunctionCall", - "src": "5753:79:2" - }, - "nativeSrc": "5753:79:2", - "nodeType": "YulExpressionStatement", - "src": "5753:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "5725:7:2", - "nodeType": "YulIdentifier", - "src": "5725:7:2" - }, - { - "name": "headStart", - "nativeSrc": "5734:9:2", - "nodeType": "YulIdentifier", - "src": "5734:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "5721:3:2", - "nodeType": "YulIdentifier", - "src": "5721:3:2" - }, - "nativeSrc": "5721:23:2", - "nodeType": "YulFunctionCall", - "src": "5721:23:2" - }, - { - "kind": "number", - "nativeSrc": "5746:3:2", - "nodeType": "YulLiteral", - "src": "5746:3:2", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "5717:3:2", - "nodeType": "YulIdentifier", - "src": "5717:3:2" - }, - "nativeSrc": "5717:33:2", - "nodeType": "YulFunctionCall", - "src": "5717:33:2" - }, - "nativeSrc": "5714:120:2", - "nodeType": "YulIf", - "src": "5714:120:2" - }, - { - "nativeSrc": "5844:287:2", - "nodeType": "YulBlock", - "src": "5844:287:2", - "statements": [ - { - "nativeSrc": "5859:45:2", - "nodeType": "YulVariableDeclaration", - "src": "5859:45:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5890:9:2", - "nodeType": "YulIdentifier", - "src": "5890:9:2" - }, - { - "kind": "number", - "nativeSrc": "5901:1:2", - "nodeType": "YulLiteral", - "src": "5901:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5886:3:2", - "nodeType": "YulIdentifier", - "src": "5886:3:2" - }, - "nativeSrc": "5886:17:2", - "nodeType": "YulFunctionCall", - "src": "5886:17:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "5873:12:2", - "nodeType": "YulIdentifier", - "src": "5873:12:2" - }, - "nativeSrc": "5873:31:2", - "nodeType": "YulFunctionCall", - "src": "5873:31:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "5863:6:2", - "nodeType": "YulTypedName", - "src": "5863:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5951:83:2", - "nodeType": "YulBlock", - "src": "5951:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "5953:77:2", - "nodeType": "YulIdentifier", - "src": "5953:77:2" - }, - "nativeSrc": "5953:79:2", - "nodeType": "YulFunctionCall", - "src": "5953:79:2" - }, - "nativeSrc": "5953:79:2", - "nodeType": "YulExpressionStatement", - "src": "5953:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "5923:6:2", - "nodeType": "YulIdentifier", - "src": "5923:6:2" - }, - { - "kind": "number", - "nativeSrc": "5931:18:2", - "nodeType": "YulLiteral", - "src": "5931:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "5920:2:2", - "nodeType": "YulIdentifier", - "src": "5920:2:2" - }, - "nativeSrc": "5920:30:2", - "nodeType": "YulFunctionCall", - "src": "5920:30:2" - }, - "nativeSrc": "5917:117:2", - "nodeType": "YulIf", - "src": "5917:117:2" - }, - { - "nativeSrc": "6048:73:2", - "nodeType": "YulAssignment", - "src": "6048:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "6093:9:2", - "nodeType": "YulIdentifier", - "src": "6093:9:2" - }, - { - "name": "offset", - "nativeSrc": "6104:6:2", - "nodeType": "YulIdentifier", - "src": "6104:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6089:3:2", - "nodeType": "YulIdentifier", - "src": "6089:3:2" - }, - "nativeSrc": "6089:22:2", - "nodeType": "YulFunctionCall", - "src": "6089:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "6113:7:2", - "nodeType": "YulIdentifier", - "src": "6113:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "6058:30:2", - "nodeType": "YulIdentifier", - "src": "6058:30:2" - }, - "nativeSrc": "6058:63:2", - "nodeType": "YulFunctionCall", - "src": "6058:63:2" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "6048:6:2", - "nodeType": "YulIdentifier", - "src": "6048:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "6141:288:2", - "nodeType": "YulBlock", - "src": "6141:288:2", - "statements": [ - { - "nativeSrc": "6156:46:2", - "nodeType": "YulVariableDeclaration", - "src": "6156:46:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "6187:9:2", - "nodeType": "YulIdentifier", - "src": "6187:9:2" - }, - { - "kind": "number", - "nativeSrc": "6198:2:2", - "nodeType": "YulLiteral", - "src": "6198:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6183:3:2", - "nodeType": "YulIdentifier", - "src": "6183:3:2" - }, - "nativeSrc": "6183:18:2", - "nodeType": "YulFunctionCall", - "src": "6183:18:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "6170:12:2", - "nodeType": "YulIdentifier", - "src": "6170:12:2" - }, - "nativeSrc": "6170:32:2", - "nodeType": "YulFunctionCall", - "src": "6170:32:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "6160:6:2", - "nodeType": "YulTypedName", - "src": "6160:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "6249:83:2", - "nodeType": "YulBlock", - "src": "6249:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "6251:77:2", - "nodeType": "YulIdentifier", - "src": "6251:77:2" - }, - "nativeSrc": "6251:79:2", - "nodeType": "YulFunctionCall", - "src": "6251:79:2" - }, - "nativeSrc": "6251:79:2", - "nodeType": "YulExpressionStatement", - "src": "6251:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "6221:6:2", - "nodeType": "YulIdentifier", - "src": "6221:6:2" - }, - { - "kind": "number", - "nativeSrc": "6229:18:2", - "nodeType": "YulLiteral", - "src": "6229:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "6218:2:2", - "nodeType": "YulIdentifier", - "src": "6218:2:2" - }, - "nativeSrc": "6218:30:2", - "nodeType": "YulFunctionCall", - "src": "6218:30:2" - }, - "nativeSrc": "6215:117:2", - "nodeType": "YulIf", - "src": "6215:117:2" - }, - { - "nativeSrc": "6346:73:2", - "nodeType": "YulAssignment", - "src": "6346:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "6391:9:2", - "nodeType": "YulIdentifier", - "src": "6391:9:2" - }, - { - "name": "offset", - "nativeSrc": "6402:6:2", - "nodeType": "YulIdentifier", - "src": "6402:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6387:3:2", - "nodeType": "YulIdentifier", - "src": "6387:3:2" - }, - "nativeSrc": "6387:22:2", - "nodeType": "YulFunctionCall", - "src": "6387:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "6411:7:2", - "nodeType": "YulIdentifier", - "src": "6411:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "6356:30:2", - "nodeType": "YulIdentifier", - "src": "6356:30:2" - }, - "nativeSrc": "6356:63:2", - "nodeType": "YulFunctionCall", - "src": "6356:63:2" - }, - "variableNames": [ - { - "name": "value1", - "nativeSrc": "6346:6:2", - "nodeType": "YulIdentifier", - "src": "6346:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "6439:118:2", - "nodeType": "YulBlock", - "src": "6439:118:2", - "statements": [ - { - "nativeSrc": "6454:16:2", - "nodeType": "YulVariableDeclaration", - "src": "6454:16:2", - "value": { - "kind": "number", - "nativeSrc": "6468:2:2", - "nodeType": "YulLiteral", - "src": "6468:2:2", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "6458:6:2", - "nodeType": "YulTypedName", - "src": "6458:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "6484:63:2", - "nodeType": "YulAssignment", - "src": "6484:63:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "6519:9:2", - "nodeType": "YulIdentifier", - "src": "6519:9:2" - }, - { - "name": "offset", - "nativeSrc": "6530:6:2", - "nodeType": "YulIdentifier", - "src": "6530:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6515:3:2", - "nodeType": "YulIdentifier", - "src": "6515:3:2" - }, - "nativeSrc": "6515:22:2", - "nodeType": "YulFunctionCall", - "src": "6515:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "6539:7:2", - "nodeType": "YulIdentifier", - "src": "6539:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nativeSrc": "6494:20:2", - "nodeType": "YulIdentifier", - "src": "6494:20:2" - }, - "nativeSrc": "6494:53:2", - "nodeType": "YulFunctionCall", - "src": "6494:53:2" - }, - "variableNames": [ - { - "name": "value2", - "nativeSrc": "6484:6:2", - "nodeType": "YulIdentifier", - "src": "6484:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "6567:118:2", - "nodeType": "YulBlock", - "src": "6567:118:2", - "statements": [ - { - "nativeSrc": "6582:16:2", - "nodeType": "YulVariableDeclaration", - "src": "6582:16:2", - "value": { - "kind": "number", - "nativeSrc": "6596:2:2", - "nodeType": "YulLiteral", - "src": "6596:2:2", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "6586:6:2", - "nodeType": "YulTypedName", - "src": "6586:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "6612:63:2", - "nodeType": "YulAssignment", - "src": "6612:63:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "6647:9:2", - "nodeType": "YulIdentifier", - "src": "6647:9:2" - }, - { - "name": "offset", - "nativeSrc": "6658:6:2", - "nodeType": "YulIdentifier", - "src": "6658:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6643:3:2", - "nodeType": "YulIdentifier", - "src": "6643:3:2" - }, - "nativeSrc": "6643:22:2", - "nodeType": "YulFunctionCall", - "src": "6643:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "6667:7:2", - "nodeType": "YulIdentifier", - "src": "6667:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nativeSrc": "6622:20:2", - "nodeType": "YulIdentifier", - "src": "6622:20:2" - }, - "nativeSrc": "6622:53:2", - "nodeType": "YulFunctionCall", - "src": "6622:53:2" - }, - "variableNames": [ - { - "name": "value3", - "nativeSrc": "6612:6:2", - "nodeType": "YulIdentifier", - "src": "6612:6:2" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_uint256", - "nativeSrc": "5567:1125:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "5650:9:2", - "nodeType": "YulTypedName", - "src": "5650:9:2", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "5661:7:2", - "nodeType": "YulTypedName", - "src": "5661:7:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "5673:6:2", - "nodeType": "YulTypedName", - "src": "5673:6:2", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "5681:6:2", - "nodeType": "YulTypedName", - "src": "5681:6:2", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "5689:6:2", - "nodeType": "YulTypedName", - "src": "5689:6:2", - "type": "" - }, - { - "name": "value3", - "nativeSrc": "5697:6:2", - "nodeType": "YulTypedName", - "src": "5697:6:2", - "type": "" - } - ], - "src": "5567:1125:2" - }, - { - "body": { - "nativeSrc": "6801:731:2", - "nodeType": "YulBlock", - "src": "6801:731:2", - "statements": [ - { - "body": { - "nativeSrc": "6847:83:2", - "nodeType": "YulBlock", - "src": "6847:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "6849:77:2", - "nodeType": "YulIdentifier", - "src": "6849:77:2" - }, - "nativeSrc": "6849:79:2", - "nodeType": "YulFunctionCall", - "src": "6849:79:2" - }, - "nativeSrc": "6849:79:2", - "nodeType": "YulExpressionStatement", - "src": "6849:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "6822:7:2", - "nodeType": "YulIdentifier", - "src": "6822:7:2" - }, - { - "name": "headStart", - "nativeSrc": "6831:9:2", - "nodeType": "YulIdentifier", - "src": "6831:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "6818:3:2", - "nodeType": "YulIdentifier", - "src": "6818:3:2" - }, - "nativeSrc": "6818:23:2", - "nodeType": "YulFunctionCall", - "src": "6818:23:2" - }, - { - "kind": "number", - "nativeSrc": "6843:2:2", - "nodeType": "YulLiteral", - "src": "6843:2:2", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "6814:3:2", - "nodeType": "YulIdentifier", - "src": "6814:3:2" - }, - "nativeSrc": "6814:32:2", - "nodeType": "YulFunctionCall", - "src": "6814:32:2" - }, - "nativeSrc": "6811:119:2", - "nodeType": "YulIf", - "src": "6811:119:2" - }, - { - "nativeSrc": "6940:287:2", - "nodeType": "YulBlock", - "src": "6940:287:2", - "statements": [ - { - "nativeSrc": "6955:45:2", - "nodeType": "YulVariableDeclaration", - "src": "6955:45:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "6986:9:2", - "nodeType": "YulIdentifier", - "src": "6986:9:2" - }, - { - "kind": "number", - "nativeSrc": "6997:1:2", - "nodeType": "YulLiteral", - "src": "6997:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6982:3:2", - "nodeType": "YulIdentifier", - "src": "6982:3:2" - }, - "nativeSrc": "6982:17:2", - "nodeType": "YulFunctionCall", - "src": "6982:17:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "6969:12:2", - "nodeType": "YulIdentifier", - "src": "6969:12:2" - }, - "nativeSrc": "6969:31:2", - "nodeType": "YulFunctionCall", - "src": "6969:31:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "6959:6:2", - "nodeType": "YulTypedName", - "src": "6959:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "7047:83:2", - "nodeType": "YulBlock", - "src": "7047:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "7049:77:2", - "nodeType": "YulIdentifier", - "src": "7049:77:2" - }, - "nativeSrc": "7049:79:2", - "nodeType": "YulFunctionCall", - "src": "7049:79:2" - }, - "nativeSrc": "7049:79:2", - "nodeType": "YulExpressionStatement", - "src": "7049:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "7019:6:2", - "nodeType": "YulIdentifier", - "src": "7019:6:2" - }, - { - "kind": "number", - "nativeSrc": "7027:18:2", - "nodeType": "YulLiteral", - "src": "7027:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "7016:2:2", - "nodeType": "YulIdentifier", - "src": "7016:2:2" - }, - "nativeSrc": "7016:30:2", - "nodeType": "YulFunctionCall", - "src": "7016:30:2" - }, - "nativeSrc": "7013:117:2", - "nodeType": "YulIf", - "src": "7013:117:2" - }, - { - "nativeSrc": "7144:73:2", - "nodeType": "YulAssignment", - "src": "7144:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "7189:9:2", - "nodeType": "YulIdentifier", - "src": "7189:9:2" - }, - { - "name": "offset", - "nativeSrc": "7200:6:2", - "nodeType": "YulIdentifier", - "src": "7200:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7185:3:2", - "nodeType": "YulIdentifier", - "src": "7185:3:2" - }, - "nativeSrc": "7185:22:2", - "nodeType": "YulFunctionCall", - "src": "7185:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "7209:7:2", - "nodeType": "YulIdentifier", - "src": "7209:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "7154:30:2", - "nodeType": "YulIdentifier", - "src": "7154:30:2" - }, - "nativeSrc": "7154:63:2", - "nodeType": "YulFunctionCall", - "src": "7154:63:2" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "7144:6:2", - "nodeType": "YulIdentifier", - "src": "7144:6:2" - } - ] - } - ] - }, - { - "nativeSrc": "7237:288:2", - "nodeType": "YulBlock", - "src": "7237:288:2", - "statements": [ - { - "nativeSrc": "7252:46:2", - "nodeType": "YulVariableDeclaration", - "src": "7252:46:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "7283:9:2", - "nodeType": "YulIdentifier", - "src": "7283:9:2" - }, - { - "kind": "number", - "nativeSrc": "7294:2:2", - "nodeType": "YulLiteral", - "src": "7294:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7279:3:2", - "nodeType": "YulIdentifier", - "src": "7279:3:2" - }, - "nativeSrc": "7279:18:2", - "nodeType": "YulFunctionCall", - "src": "7279:18:2" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "7266:12:2", - "nodeType": "YulIdentifier", - "src": "7266:12:2" - }, - "nativeSrc": "7266:32:2", - "nodeType": "YulFunctionCall", - "src": "7266:32:2" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "7256:6:2", - "nodeType": "YulTypedName", - "src": "7256:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "7345:83:2", - "nodeType": "YulBlock", - "src": "7345:83:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "7347:77:2", - "nodeType": "YulIdentifier", - "src": "7347:77:2" - }, - "nativeSrc": "7347:79:2", - "nodeType": "YulFunctionCall", - "src": "7347:79:2" - }, - "nativeSrc": "7347:79:2", - "nodeType": "YulExpressionStatement", - "src": "7347:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "7317:6:2", - "nodeType": "YulIdentifier", - "src": "7317:6:2" - }, - { - "kind": "number", - "nativeSrc": "7325:18:2", - "nodeType": "YulLiteral", - "src": "7325:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "7314:2:2", - "nodeType": "YulIdentifier", - "src": "7314:2:2" - }, - "nativeSrc": "7314:30:2", - "nodeType": "YulFunctionCall", - "src": "7314:30:2" - }, - "nativeSrc": "7311:117:2", - "nodeType": "YulIf", - "src": "7311:117:2" - }, - { - "nativeSrc": "7442:73:2", - "nodeType": "YulAssignment", - "src": "7442:73:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "7487:9:2", - "nodeType": "YulIdentifier", - "src": "7487:9:2" - }, - { - "name": "offset", - "nativeSrc": "7498:6:2", - "nodeType": "YulIdentifier", - "src": "7498:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7483:3:2", - "nodeType": "YulIdentifier", - "src": "7483:3:2" - }, - "nativeSrc": "7483:22:2", - "nodeType": "YulFunctionCall", - "src": "7483:22:2" - }, - { - "name": "dataEnd", - "nativeSrc": "7507:7:2", - "nodeType": "YulIdentifier", - "src": "7507:7:2" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nativeSrc": "7452:30:2", - "nodeType": "YulIdentifier", - "src": "7452:30:2" - }, - "nativeSrc": "7452:63:2", - "nodeType": "YulFunctionCall", - "src": "7452:63:2" - }, - "variableNames": [ - { - "name": "value1", - "nativeSrc": "7442:6:2", - "nodeType": "YulIdentifier", - "src": "7442:6:2" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr", - "nativeSrc": "6698:834:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "6763:9:2", - "nodeType": "YulTypedName", - "src": "6763:9:2", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "6774:7:2", - "nodeType": "YulTypedName", - "src": "6774:7:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "6786:6:2", - "nodeType": "YulTypedName", - "src": "6786:6:2", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "6794:6:2", - "nodeType": "YulTypedName", - "src": "6794:6:2", - "type": "" - } - ], - "src": "6698:834:2" - }, - { - "body": { - "nativeSrc": "7622:40:2", - "nodeType": "YulBlock", - "src": "7622:40:2", - "statements": [ - { - "nativeSrc": "7633:22:2", - "nodeType": "YulAssignment", - "src": "7633:22:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "7649:5:2", - "nodeType": "YulIdentifier", - "src": "7649:5:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "7643:5:2", - "nodeType": "YulIdentifier", - "src": "7643:5:2" - }, - "nativeSrc": "7643:12:2", - "nodeType": "YulFunctionCall", - "src": "7643:12:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "7633:6:2", - "nodeType": "YulIdentifier", - "src": "7633:6:2" - } - ] - } - ] - }, - "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "nativeSrc": "7538:124:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "7605:5:2", - "nodeType": "YulTypedName", - "src": "7605:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "7615:6:2", - "nodeType": "YulTypedName", - "src": "7615:6:2", - "type": "" - } - ], - "src": "7538:124:2" - }, - { - "body": { - "nativeSrc": "7789:73:2", - "nodeType": "YulBlock", - "src": "7789:73:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "7806:3:2", - "nodeType": "YulIdentifier", - "src": "7806:3:2" - }, - { - "name": "length", - "nativeSrc": "7811:6:2", - "nodeType": "YulIdentifier", - "src": "7811:6:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7799:6:2", - "nodeType": "YulIdentifier", - "src": "7799:6:2" - }, - "nativeSrc": "7799:19:2", - "nodeType": "YulFunctionCall", - "src": "7799:19:2" - }, - "nativeSrc": "7799:19:2", - "nodeType": "YulExpressionStatement", - "src": "7799:19:2" - }, - { - "nativeSrc": "7827:29:2", - "nodeType": "YulAssignment", - "src": "7827:29:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "7846:3:2", - "nodeType": "YulIdentifier", - "src": "7846:3:2" - }, - { - "kind": "number", - "nativeSrc": "7851:4:2", - "nodeType": "YulLiteral", - "src": "7851:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7842:3:2", - "nodeType": "YulIdentifier", - "src": "7842:3:2" - }, - "nativeSrc": "7842:14:2", - "nodeType": "YulFunctionCall", - "src": "7842:14:2" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "7827:11:2", - "nodeType": "YulIdentifier", - "src": "7827:11:2" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", - "nativeSrc": "7668:194:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "7761:3:2", - "nodeType": "YulTypedName", - "src": "7761:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "7766:6:2", - "nodeType": "YulTypedName", - "src": "7766:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "7777:11:2", - "nodeType": "YulTypedName", - "src": "7777:11:2", - "type": "" - } - ], - "src": "7668:194:2" - }, - { - "body": { - "nativeSrc": "7950:60:2", - "nodeType": "YulBlock", - "src": "7950:60:2", - "statements": [ - { - "nativeSrc": "7960:11:2", - "nodeType": "YulAssignment", - "src": "7960:11:2", - "value": { - "name": "ptr", - "nativeSrc": "7968:3:2", - "nodeType": "YulIdentifier", - "src": "7968:3:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "7960:4:2", - "nodeType": "YulIdentifier", - "src": "7960:4:2" - } - ] - }, - { - "nativeSrc": "7981:22:2", - "nodeType": "YulAssignment", - "src": "7981:22:2", - "value": { - "arguments": [ - { - "name": "ptr", - "nativeSrc": "7993:3:2", - "nodeType": "YulIdentifier", - "src": "7993:3:2" - }, - { - "kind": "number", - "nativeSrc": "7998:4:2", - "nodeType": "YulLiteral", - "src": "7998:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7989:3:2", - "nodeType": "YulIdentifier", - "src": "7989:3:2" - }, - "nativeSrc": "7989:14:2", - "nodeType": "YulFunctionCall", - "src": "7989:14:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "7981:4:2", - "nodeType": "YulIdentifier", - "src": "7981:4:2" - } - ] - } - ] - }, - "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "nativeSrc": "7868:142:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nativeSrc": "7937:3:2", - "nodeType": "YulTypedName", - "src": "7937:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nativeSrc": "7945:4:2", - "nodeType": "YulTypedName", - "src": "7945:4:2", - "type": "" - } - ], - "src": "7868:142:2" - }, - { - "body": { - "nativeSrc": "8075:40:2", - "nodeType": "YulBlock", - "src": "8075:40:2", - "statements": [ - { - "nativeSrc": "8086:22:2", - "nodeType": "YulAssignment", - "src": "8086:22:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "8102:5:2", - "nodeType": "YulIdentifier", - "src": "8102:5:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "8096:5:2", - "nodeType": "YulIdentifier", - "src": "8096:5:2" - }, - "nativeSrc": "8096:12:2", - "nodeType": "YulFunctionCall", - "src": "8096:12:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "8086:6:2", - "nodeType": "YulIdentifier", - "src": "8086:6:2" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "8016:99:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "8058:5:2", - "nodeType": "YulTypedName", - "src": "8058:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "8068:6:2", - "nodeType": "YulTypedName", - "src": "8068:6:2", - "type": "" - } - ], - "src": "8016:99:2" - }, - { - "body": { - "nativeSrc": "8207:73:2", - "nodeType": "YulBlock", - "src": "8207:73:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "8224:3:2", - "nodeType": "YulIdentifier", - "src": "8224:3:2" - }, - { - "name": "length", - "nativeSrc": "8229:6:2", - "nodeType": "YulIdentifier", - "src": "8229:6:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8217:6:2", - "nodeType": "YulIdentifier", - "src": "8217:6:2" - }, - "nativeSrc": "8217:19:2", - "nodeType": "YulFunctionCall", - "src": "8217:19:2" - }, - "nativeSrc": "8217:19:2", - "nodeType": "YulExpressionStatement", - "src": "8217:19:2" - }, - { - "nativeSrc": "8245:29:2", - "nodeType": "YulAssignment", - "src": "8245:29:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "8264:3:2", - "nodeType": "YulIdentifier", - "src": "8264:3:2" - }, - { - "kind": "number", - "nativeSrc": "8269:4:2", - "nodeType": "YulLiteral", - "src": "8269:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8260:3:2", - "nodeType": "YulIdentifier", - "src": "8260:3:2" - }, - "nativeSrc": "8260:14:2", - "nodeType": "YulFunctionCall", - "src": "8260:14:2" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "8245:11:2", - "nodeType": "YulIdentifier", - "src": "8245:11:2" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr", - "nativeSrc": "8121:159:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "8179:3:2", - "nodeType": "YulTypedName", - "src": "8179:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "8184:6:2", - "nodeType": "YulTypedName", - "src": "8184:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "8195:11:2", - "nodeType": "YulTypedName", - "src": "8195:11:2", - "type": "" - } - ], - "src": "8121:159:2" - }, - { - "body": { - "nativeSrc": "8348:184:2", - "nodeType": "YulBlock", - "src": "8348:184:2", - "statements": [ - { - "nativeSrc": "8358:10:2", - "nodeType": "YulVariableDeclaration", - "src": "8358:10:2", - "value": { - "kind": "number", - "nativeSrc": "8367:1:2", - "nodeType": "YulLiteral", - "src": "8367:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "8362:1:2", - "nodeType": "YulTypedName", - "src": "8362:1:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "8427:63:2", - "nodeType": "YulBlock", - "src": "8427:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "8452:3:2", - "nodeType": "YulIdentifier", - "src": "8452:3:2" - }, - { - "name": "i", - "nativeSrc": "8457:1:2", - "nodeType": "YulIdentifier", - "src": "8457:1:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8448:3:2", - "nodeType": "YulIdentifier", - "src": "8448:3:2" - }, - "nativeSrc": "8448:11:2", - "nodeType": "YulFunctionCall", - "src": "8448:11:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "8471:3:2", - "nodeType": "YulIdentifier", - "src": "8471:3:2" - }, - { - "name": "i", - "nativeSrc": "8476:1:2", - "nodeType": "YulIdentifier", - "src": "8476:1:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8467:3:2", - "nodeType": "YulIdentifier", - "src": "8467:3:2" - }, - "nativeSrc": "8467:11:2", - "nodeType": "YulFunctionCall", - "src": "8467:11:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "8461:5:2", - "nodeType": "YulIdentifier", - "src": "8461:5:2" - }, - "nativeSrc": "8461:18:2", - "nodeType": "YulFunctionCall", - "src": "8461:18:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8441:6:2", - "nodeType": "YulIdentifier", - "src": "8441:6:2" - }, - "nativeSrc": "8441:39:2", - "nodeType": "YulFunctionCall", - "src": "8441:39:2" - }, - "nativeSrc": "8441:39:2", - "nodeType": "YulExpressionStatement", - "src": "8441:39:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "8388:1:2", - "nodeType": "YulIdentifier", - "src": "8388:1:2" - }, - { - "name": "length", - "nativeSrc": "8391:6:2", - "nodeType": "YulIdentifier", - "src": "8391:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "8385:2:2", - "nodeType": "YulIdentifier", - "src": "8385:2:2" - }, - "nativeSrc": "8385:13:2", - "nodeType": "YulFunctionCall", - "src": "8385:13:2" - }, - "nativeSrc": "8377:113:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "8399:19:2", - "nodeType": "YulBlock", - "src": "8399:19:2", - "statements": [ - { - "nativeSrc": "8401:15:2", - "nodeType": "YulAssignment", - "src": "8401:15:2", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "8410:1:2", - "nodeType": "YulIdentifier", - "src": "8410:1:2" - }, - { - "kind": "number", - "nativeSrc": "8413:2:2", - "nodeType": "YulLiteral", - "src": "8413:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8406:3:2", - "nodeType": "YulIdentifier", - "src": "8406:3:2" - }, - "nativeSrc": "8406:10:2", - "nodeType": "YulFunctionCall", - "src": "8406:10:2" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "8401:1:2", - "nodeType": "YulIdentifier", - "src": "8401:1:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "8381:3:2", - "nodeType": "YulBlock", - "src": "8381:3:2", - "statements": [] - }, - "src": "8377:113:2" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "8510:3:2", - "nodeType": "YulIdentifier", - "src": "8510:3:2" - }, - { - "name": "length", - "nativeSrc": "8515:6:2", - "nodeType": "YulIdentifier", - "src": "8515:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8506:3:2", - "nodeType": "YulIdentifier", - "src": "8506:3:2" - }, - "nativeSrc": "8506:16:2", - "nodeType": "YulFunctionCall", - "src": "8506:16:2" - }, - { - "kind": "number", - "nativeSrc": "8524:1:2", - "nodeType": "YulLiteral", - "src": "8524:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8499:6:2", - "nodeType": "YulIdentifier", - "src": "8499:6:2" - }, - "nativeSrc": "8499:27:2", - "nodeType": "YulFunctionCall", - "src": "8499:27:2" - }, - "nativeSrc": "8499:27:2", - "nodeType": "YulExpressionStatement", - "src": "8499:27:2" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "8286:246:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nativeSrc": "8330:3:2", - "nodeType": "YulTypedName", - "src": "8330:3:2", - "type": "" - }, - { - "name": "dst", - "nativeSrc": "8335:3:2", - "nodeType": "YulTypedName", - "src": "8335:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "8340:6:2", - "nodeType": "YulTypedName", - "src": "8340:6:2", - "type": "" - } - ], - "src": "8286:246:2" - }, - { - "body": { - "nativeSrc": "8620:275:2", - "nodeType": "YulBlock", - "src": "8620:275:2", - "statements": [ - { - "nativeSrc": "8630:53:2", - "nodeType": "YulVariableDeclaration", - "src": "8630:53:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "8677:5:2", - "nodeType": "YulIdentifier", - "src": "8677:5:2" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "8644:32:2", - "nodeType": "YulIdentifier", - "src": "8644:32:2" - }, - "nativeSrc": "8644:39:2", - "nodeType": "YulFunctionCall", - "src": "8644:39:2" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "8634:6:2", - "nodeType": "YulTypedName", - "src": "8634:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "8692:68:2", - "nodeType": "YulAssignment", - "src": "8692:68:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "8748:3:2", - "nodeType": "YulIdentifier", - "src": "8748:3:2" - }, - { - "name": "length", - "nativeSrc": "8753:6:2", - "nodeType": "YulIdentifier", - "src": "8753:6:2" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr", - "nativeSrc": "8699:48:2", - "nodeType": "YulIdentifier", - "src": "8699:48:2" - }, - "nativeSrc": "8699:61:2", - "nodeType": "YulFunctionCall", - "src": "8699:61:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "8692:3:2", - "nodeType": "YulIdentifier", - "src": "8692:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "8808:5:2", - "nodeType": "YulIdentifier", - "src": "8808:5:2" - }, - { - "kind": "number", - "nativeSrc": "8815:4:2", - "nodeType": "YulLiteral", - "src": "8815:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8804:3:2", - "nodeType": "YulIdentifier", - "src": "8804:3:2" - }, - "nativeSrc": "8804:16:2", - "nodeType": "YulFunctionCall", - "src": "8804:16:2" - }, - { - "name": "pos", - "nativeSrc": "8822:3:2", - "nodeType": "YulIdentifier", - "src": "8822:3:2" - }, - { - "name": "length", - "nativeSrc": "8827:6:2", - "nodeType": "YulIdentifier", - "src": "8827:6:2" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "8769:34:2", - "nodeType": "YulIdentifier", - "src": "8769:34:2" - }, - "nativeSrc": "8769:65:2", - "nodeType": "YulFunctionCall", - "src": "8769:65:2" - }, - "nativeSrc": "8769:65:2", - "nodeType": "YulExpressionStatement", - "src": "8769:65:2" - }, - { - "nativeSrc": "8843:46:2", - "nodeType": "YulAssignment", - "src": "8843:46:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "8854:3:2", - "nodeType": "YulIdentifier", - "src": "8854:3:2" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "8881:6:2", - "nodeType": "YulIdentifier", - "src": "8881:6:2" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "8859:21:2", - "nodeType": "YulIdentifier", - "src": "8859:21:2" - }, - "nativeSrc": "8859:29:2", - "nodeType": "YulFunctionCall", - "src": "8859:29:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8850:3:2", - "nodeType": "YulIdentifier", - "src": "8850:3:2" - }, - "nativeSrc": "8850:39:2", - "nodeType": "YulFunctionCall", - "src": "8850:39:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "8843:3:2", - "nodeType": "YulIdentifier", - "src": "8843:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", - "nativeSrc": "8538:357:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "8601:5:2", - "nodeType": "YulTypedName", - "src": "8601:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "8608:3:2", - "nodeType": "YulTypedName", - "src": "8608:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "8616:3:2", - "nodeType": "YulTypedName", - "src": "8616:3:2", - "type": "" - } - ], - "src": "8538:357:2" - }, - { - "body": { - "nativeSrc": "9001:96:2", - "nodeType": "YulBlock", - "src": "9001:96:2", - "statements": [ - { - "nativeSrc": "9011:80:2", - "nodeType": "YulAssignment", - "src": "9011:80:2", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "9079:6:2", - "nodeType": "YulIdentifier", - "src": "9079:6:2" - }, - { - "name": "pos", - "nativeSrc": "9087:3:2", - "nodeType": "YulIdentifier", - "src": "9087:3:2" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", - "nativeSrc": "9025:53:2", - "nodeType": "YulIdentifier", - "src": "9025:53:2" - }, - "nativeSrc": "9025:66:2", - "nodeType": "YulFunctionCall", - "src": "9025:66:2" - }, - "variableNames": [ - { - "name": "updatedPos", - "nativeSrc": "9011:10:2", - "nodeType": "YulIdentifier", - "src": "9011:10:2" - } - ] - } - ] - }, - "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", - "nativeSrc": "8901:196:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value0", - "nativeSrc": "8974:6:2", - "nodeType": "YulTypedName", - "src": "8974:6:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "8982:3:2", - "nodeType": "YulTypedName", - "src": "8982:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updatedPos", - "nativeSrc": "8990:10:2", - "nodeType": "YulTypedName", - "src": "8990:10:2", - "type": "" - } - ], - "src": "8901:196:2" - }, - { - "body": { - "nativeSrc": "9188:38:2", - "nodeType": "YulBlock", - "src": "9188:38:2", - "statements": [ - { - "nativeSrc": "9198:22:2", - "nodeType": "YulAssignment", - "src": "9198:22:2", - "value": { - "arguments": [ - { - "name": "ptr", - "nativeSrc": "9210:3:2", - "nodeType": "YulIdentifier", - "src": "9210:3:2" - }, - { - "kind": "number", - "nativeSrc": "9215:4:2", - "nodeType": "YulLiteral", - "src": "9215:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "9206:3:2", - "nodeType": "YulIdentifier", - "src": "9206:3:2" - }, - "nativeSrc": "9206:14:2", - "nodeType": "YulFunctionCall", - "src": "9206:14:2" - }, - "variableNames": [ - { - "name": "next", - "nativeSrc": "9198:4:2", - "nodeType": "YulIdentifier", - "src": "9198:4:2" - } - ] - } - ] - }, - "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "nativeSrc": "9103:123:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nativeSrc": "9175:3:2", - "nodeType": "YulTypedName", - "src": "9175:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "next", - "nativeSrc": "9183:4:2", - "nodeType": "YulTypedName", - "src": "9183:4:2", - "type": "" - } - ], - "src": "9103:123:2" - }, - { - "body": { - "nativeSrc": "9404:847:2", - "nodeType": "YulBlock", - "src": "9404:847:2", - "statements": [ - { - "nativeSrc": "9414:78:2", - "nodeType": "YulVariableDeclaration", - "src": "9414:78:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9486:5:2", - "nodeType": "YulIdentifier", - "src": "9486:5:2" - } - ], - "functionName": { - "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "nativeSrc": "9428:57:2", - "nodeType": "YulIdentifier", - "src": "9428:57:2" - }, - "nativeSrc": "9428:64:2", - "nodeType": "YulFunctionCall", - "src": "9428:64:2" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "9418:6:2", - "nodeType": "YulTypedName", - "src": "9418:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "9501:103:2", - "nodeType": "YulAssignment", - "src": "9501:103:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "9592:3:2", - "nodeType": "YulIdentifier", - "src": "9592:3:2" - }, - { - "name": "length", - "nativeSrc": "9597:6:2", - "nodeType": "YulIdentifier", - "src": "9597:6:2" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", - "nativeSrc": "9508:83:2", - "nodeType": "YulIdentifier", - "src": "9508:83:2" - }, - "nativeSrc": "9508:96:2", - "nodeType": "YulFunctionCall", - "src": "9508:96:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "9501:3:2", - "nodeType": "YulIdentifier", - "src": "9501:3:2" - } - ] - }, - { - "nativeSrc": "9613:20:2", - "nodeType": "YulVariableDeclaration", - "src": "9613:20:2", - "value": { - "name": "pos", - "nativeSrc": "9630:3:2", - "nodeType": "YulIdentifier", - "src": "9630:3:2" - }, - "variables": [ - { - "name": "headStart", - "nativeSrc": "9617:9:2", - "nodeType": "YulTypedName", - "src": "9617:9:2", - "type": "" - } - ] - }, - { - "nativeSrc": "9642:39:2", - "nodeType": "YulVariableDeclaration", - "src": "9642:39:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "9658:3:2", - "nodeType": "YulIdentifier", - "src": "9658:3:2" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "9667:6:2", - "nodeType": "YulIdentifier", - "src": "9667:6:2" - }, - { - "kind": "number", - "nativeSrc": "9675:4:2", - "nodeType": "YulLiteral", - "src": "9675:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "9663:3:2", - "nodeType": "YulIdentifier", - "src": "9663:3:2" - }, - "nativeSrc": "9663:17:2", - "nodeType": "YulFunctionCall", - "src": "9663:17:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "9654:3:2", - "nodeType": "YulIdentifier", - "src": "9654:3:2" - }, - "nativeSrc": "9654:27:2", - "nodeType": "YulFunctionCall", - "src": "9654:27:2" - }, - "variables": [ - { - "name": "tail", - "nativeSrc": "9646:4:2", - "nodeType": "YulTypedName", - "src": "9646:4:2", - "type": "" - } - ] - }, - { - "nativeSrc": "9690:81:2", - "nodeType": "YulVariableDeclaration", - "src": "9690:81:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9765:5:2", - "nodeType": "YulIdentifier", - "src": "9765:5:2" - } - ], - "functionName": { - "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "nativeSrc": "9705:59:2", - "nodeType": "YulIdentifier", - "src": "9705:59:2" - }, - "nativeSrc": "9705:66:2", - "nodeType": "YulFunctionCall", - "src": "9705:66:2" - }, - "variables": [ - { - "name": "baseRef", - "nativeSrc": "9694:7:2", - "nodeType": "YulTypedName", - "src": "9694:7:2", - "type": "" - } - ] - }, - { - "nativeSrc": "9780:21:2", - "nodeType": "YulVariableDeclaration", - "src": "9780:21:2", - "value": { - "name": "baseRef", - "nativeSrc": "9794:7:2", - "nodeType": "YulIdentifier", - "src": "9794:7:2" - }, - "variables": [ - { - "name": "srcPtr", - "nativeSrc": "9784:6:2", - "nodeType": "YulTypedName", - "src": "9784:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "9870:336:2", - "nodeType": "YulBlock", - "src": "9870:336:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "9891:3:2", - "nodeType": "YulIdentifier", - "src": "9891:3:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "9900:4:2", - "nodeType": "YulIdentifier", - "src": "9900:4:2" - }, - { - "name": "headStart", - "nativeSrc": "9906:9:2", - "nodeType": "YulIdentifier", - "src": "9906:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "9896:3:2", - "nodeType": "YulIdentifier", - "src": "9896:3:2" - }, - "nativeSrc": "9896:20:2", - "nodeType": "YulFunctionCall", - "src": "9896:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "9884:6:2", - "nodeType": "YulIdentifier", - "src": "9884:6:2" - }, - "nativeSrc": "9884:33:2", - "nodeType": "YulFunctionCall", - "src": "9884:33:2" - }, - "nativeSrc": "9884:33:2", - "nodeType": "YulExpressionStatement", - "src": "9884:33:2" - }, - { - "nativeSrc": "9930:34:2", - "nodeType": "YulVariableDeclaration", - "src": "9930:34:2", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nativeSrc": "9957:6:2", - "nodeType": "YulIdentifier", - "src": "9957:6:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "9951:5:2", - "nodeType": "YulIdentifier", - "src": "9951:5:2" - }, - "nativeSrc": "9951:13:2", - "nodeType": "YulFunctionCall", - "src": "9951:13:2" - }, - "variables": [ - { - "name": "elementValue0", - "nativeSrc": "9934:13:2", - "nodeType": "YulTypedName", - "src": "9934:13:2", - "type": "" - } - ] - }, - { - "nativeSrc": "9977:92:2", - "nodeType": "YulAssignment", - "src": "9977:92:2", - "value": { - "arguments": [ - { - "name": "elementValue0", - "nativeSrc": "10049:13:2", - "nodeType": "YulIdentifier", - "src": "10049:13:2" - }, - { - "name": "tail", - "nativeSrc": "10064:4:2", - "nodeType": "YulIdentifier", - "src": "10064:4:2" - } - ], - "functionName": { - "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", - "nativeSrc": "9985:63:2", - "nodeType": "YulIdentifier", - "src": "9985:63:2" - }, - "nativeSrc": "9985:84:2", - "nodeType": "YulFunctionCall", - "src": "9985:84:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "9977:4:2", - "nodeType": "YulIdentifier", - "src": "9977:4:2" - } - ] - }, - { - "nativeSrc": "10082:80:2", - "nodeType": "YulAssignment", - "src": "10082:80:2", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nativeSrc": "10155:6:2", - "nodeType": "YulIdentifier", - "src": "10155:6:2" - } - ], - "functionName": { - "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "nativeSrc": "10092:62:2", - "nodeType": "YulIdentifier", - "src": "10092:62:2" - }, - "nativeSrc": "10092:70:2", - "nodeType": "YulFunctionCall", - "src": "10092:70:2" - }, - "variableNames": [ - { - "name": "srcPtr", - "nativeSrc": "10082:6:2", - "nodeType": "YulIdentifier", - "src": "10082:6:2" - } - ] - }, - { - "nativeSrc": "10175:21:2", - "nodeType": "YulAssignment", - "src": "10175:21:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "10186:3:2", - "nodeType": "YulIdentifier", - "src": "10186:3:2" - }, - { - "kind": "number", - "nativeSrc": "10191:4:2", - "nodeType": "YulLiteral", - "src": "10191:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10182:3:2", - "nodeType": "YulIdentifier", - "src": "10182:3:2" - }, - "nativeSrc": "10182:14:2", - "nodeType": "YulFunctionCall", - "src": "10182:14:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "10175:3:2", - "nodeType": "YulIdentifier", - "src": "10175:3:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "9832:1:2", - "nodeType": "YulIdentifier", - "src": "9832:1:2" - }, - { - "name": "length", - "nativeSrc": "9835:6:2", - "nodeType": "YulIdentifier", - "src": "9835:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "9829:2:2", - "nodeType": "YulIdentifier", - "src": "9829:2:2" - }, - "nativeSrc": "9829:13:2", - "nodeType": "YulFunctionCall", - "src": "9829:13:2" - }, - "nativeSrc": "9810:396:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "9843:18:2", - "nodeType": "YulBlock", - "src": "9843:18:2", - "statements": [ - { - "nativeSrc": "9845:14:2", - "nodeType": "YulAssignment", - "src": "9845:14:2", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "9854:1:2", - "nodeType": "YulIdentifier", - "src": "9854:1:2" - }, - { - "kind": "number", - "nativeSrc": "9857:1:2", - "nodeType": "YulLiteral", - "src": "9857:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "9850:3:2", - "nodeType": "YulIdentifier", - "src": "9850:3:2" - }, - "nativeSrc": "9850:9:2", - "nodeType": "YulFunctionCall", - "src": "9850:9:2" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "9845:1:2", - "nodeType": "YulIdentifier", - "src": "9845:1:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "9814:14:2", - "nodeType": "YulBlock", - "src": "9814:14:2", - "statements": [ - { - "nativeSrc": "9816:10:2", - "nodeType": "YulVariableDeclaration", - "src": "9816:10:2", - "value": { - "kind": "number", - "nativeSrc": "9825:1:2", - "nodeType": "YulLiteral", - "src": "9825:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "9820:1:2", - "nodeType": "YulTypedName", - "src": "9820:1:2", - "type": "" - } - ] - } - ] - }, - "src": "9810:396:2" - }, - { - "nativeSrc": "10215:11:2", - "nodeType": "YulAssignment", - "src": "10215:11:2", - "value": { - "name": "tail", - "nativeSrc": "10222:4:2", - "nodeType": "YulIdentifier", - "src": "10222:4:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "10215:3:2", - "nodeType": "YulIdentifier", - "src": "10215:3:2" - } - ] - }, - { - "nativeSrc": "10235:10:2", - "nodeType": "YulAssignment", - "src": "10235:10:2", - "value": { - "name": "pos", - "nativeSrc": "10242:3:2", - "nodeType": "YulIdentifier", - "src": "10242:3:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "10235:3:2", - "nodeType": "YulIdentifier", - "src": "10235:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", - "nativeSrc": "9260:991:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "9383:5:2", - "nodeType": "YulTypedName", - "src": "9383:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "9390:3:2", - "nodeType": "YulTypedName", - "src": "9390:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "9399:3:2", - "nodeType": "YulTypedName", - "src": "9399:3:2", - "type": "" - } - ], - "src": "9260:991:2" - }, - { - "body": { - "nativeSrc": "10331:40:2", - "nodeType": "YulBlock", - "src": "10331:40:2", - "statements": [ - { - "nativeSrc": "10342:22:2", - "nodeType": "YulAssignment", - "src": "10342:22:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "10358:5:2", - "nodeType": "YulIdentifier", - "src": "10358:5:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "10352:5:2", - "nodeType": "YulIdentifier", - "src": "10352:5:2" - }, - "nativeSrc": "10352:12:2", - "nodeType": "YulFunctionCall", - "src": "10352:12:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "10342:6:2", - "nodeType": "YulIdentifier", - "src": "10342:6:2" - } - ] - } - ] - }, - "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", - "nativeSrc": "10257:114:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "10314:5:2", - "nodeType": "YulTypedName", - "src": "10314:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "10324:6:2", - "nodeType": "YulTypedName", - "src": "10324:6:2", - "type": "" - } - ], - "src": "10257:114:2" - }, - { - "body": { - "nativeSrc": "10488:73:2", - "nodeType": "YulBlock", - "src": "10488:73:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "10505:3:2", - "nodeType": "YulIdentifier", - "src": "10505:3:2" - }, - { - "name": "length", - "nativeSrc": "10510:6:2", - "nodeType": "YulIdentifier", - "src": "10510:6:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "10498:6:2", - "nodeType": "YulIdentifier", - "src": "10498:6:2" - }, - "nativeSrc": "10498:19:2", - "nodeType": "YulFunctionCall", - "src": "10498:19:2" - }, - "nativeSrc": "10498:19:2", - "nodeType": "YulExpressionStatement", - "src": "10498:19:2" - }, - { - "nativeSrc": "10526:29:2", - "nodeType": "YulAssignment", - "src": "10526:29:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "10545:3:2", - "nodeType": "YulIdentifier", - "src": "10545:3:2" - }, - { - "kind": "number", - "nativeSrc": "10550:4:2", - "nodeType": "YulLiteral", - "src": "10550:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10541:3:2", - "nodeType": "YulIdentifier", - "src": "10541:3:2" - }, - "nativeSrc": "10541:14:2", - "nodeType": "YulFunctionCall", - "src": "10541:14:2" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "10526:11:2", - "nodeType": "YulIdentifier", - "src": "10526:11:2" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nativeSrc": "10377:184:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "10460:3:2", - "nodeType": "YulTypedName", - "src": "10460:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "10465:6:2", - "nodeType": "YulTypedName", - "src": "10465:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "10476:11:2", - "nodeType": "YulTypedName", - "src": "10476:11:2", - "type": "" - } - ], - "src": "10377:184:2" - }, - { - "body": { - "nativeSrc": "10639:60:2", - "nodeType": "YulBlock", - "src": "10639:60:2", - "statements": [ - { - "nativeSrc": "10649:11:2", - "nodeType": "YulAssignment", - "src": "10649:11:2", - "value": { - "name": "ptr", - "nativeSrc": "10657:3:2", - "nodeType": "YulIdentifier", - "src": "10657:3:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "10649:4:2", - "nodeType": "YulIdentifier", - "src": "10649:4:2" - } - ] - }, - { - "nativeSrc": "10670:22:2", - "nodeType": "YulAssignment", - "src": "10670:22:2", - "value": { - "arguments": [ - { - "name": "ptr", - "nativeSrc": "10682:3:2", - "nodeType": "YulIdentifier", - "src": "10682:3:2" - }, - { - "kind": "number", - "nativeSrc": "10687:4:2", - "nodeType": "YulLiteral", - "src": "10687:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10678:3:2", - "nodeType": "YulIdentifier", - "src": "10678:3:2" - }, - "nativeSrc": "10678:14:2", - "nodeType": "YulFunctionCall", - "src": "10678:14:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "10670:4:2", - "nodeType": "YulIdentifier", - "src": "10670:4:2" - } - ] - } - ] - }, - "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", - "nativeSrc": "10567:132:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nativeSrc": "10626:3:2", - "nodeType": "YulTypedName", - "src": "10626:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nativeSrc": "10634:4:2", - "nodeType": "YulTypedName", - "src": "10634:4:2", - "type": "" - } - ], - "src": "10567:132:2" - }, - { - "body": { - "nativeSrc": "10760:53:2", - "nodeType": "YulBlock", - "src": "10760:53:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "10777:3:2", - "nodeType": "YulIdentifier", - "src": "10777:3:2" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "10800:5:2", - "nodeType": "YulIdentifier", - "src": "10800:5:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "10782:17:2", - "nodeType": "YulIdentifier", - "src": "10782:17:2" - }, - "nativeSrc": "10782:24:2", - "nodeType": "YulFunctionCall", - "src": "10782:24:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "10770:6:2", - "nodeType": "YulIdentifier", - "src": "10770:6:2" - }, - "nativeSrc": "10770:37:2", - "nodeType": "YulFunctionCall", - "src": "10770:37:2" - }, - "nativeSrc": "10770:37:2", - "nodeType": "YulExpressionStatement", - "src": "10770:37:2" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256", - "nativeSrc": "10705:108:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "10748:5:2", - "nodeType": "YulTypedName", - "src": "10748:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "10755:3:2", - "nodeType": "YulTypedName", - "src": "10755:3:2", - "type": "" - } - ], - "src": "10705:108:2" - }, - { - "body": { - "nativeSrc": "10899:99:2", - "nodeType": "YulBlock", - "src": "10899:99:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "10943:6:2", - "nodeType": "YulIdentifier", - "src": "10943:6:2" - }, - { - "name": "pos", - "nativeSrc": "10951:3:2", - "nodeType": "YulIdentifier", - "src": "10951:3:2" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256", - "nativeSrc": "10909:33:2", - "nodeType": "YulIdentifier", - "src": "10909:33:2" - }, - "nativeSrc": "10909:46:2", - "nodeType": "YulFunctionCall", - "src": "10909:46:2" - }, - "nativeSrc": "10909:46:2", - "nodeType": "YulExpressionStatement", - "src": "10909:46:2" - }, - { - "nativeSrc": "10964:28:2", - "nodeType": "YulAssignment", - "src": "10964:28:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "10982:3:2", - "nodeType": "YulIdentifier", - "src": "10982:3:2" - }, - { - "kind": "number", - "nativeSrc": "10987:4:2", - "nodeType": "YulLiteral", - "src": "10987:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10978:3:2", - "nodeType": "YulIdentifier", - "src": "10978:3:2" - }, - "nativeSrc": "10978:14:2", - "nodeType": "YulFunctionCall", - "src": "10978:14:2" - }, - "variableNames": [ - { - "name": "updatedPos", - "nativeSrc": "10964:10:2", - "nodeType": "YulIdentifier", - "src": "10964:10:2" - } - ] - } - ] - }, - "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", - "nativeSrc": "10819:179:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value0", - "nativeSrc": "10872:6:2", - "nodeType": "YulTypedName", - "src": "10872:6:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "10880:3:2", - "nodeType": "YulTypedName", - "src": "10880:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updatedPos", - "nativeSrc": "10888:10:2", - "nodeType": "YulTypedName", - "src": "10888:10:2", - "type": "" - } - ], - "src": "10819:179:2" - }, - { - "body": { - "nativeSrc": "11079:38:2", - "nodeType": "YulBlock", - "src": "11079:38:2", - "statements": [ - { - "nativeSrc": "11089:22:2", - "nodeType": "YulAssignment", - "src": "11089:22:2", - "value": { - "arguments": [ - { - "name": "ptr", - "nativeSrc": "11101:3:2", - "nodeType": "YulIdentifier", - "src": "11101:3:2" - }, - { - "kind": "number", - "nativeSrc": "11106:4:2", - "nodeType": "YulLiteral", - "src": "11106:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11097:3:2", - "nodeType": "YulIdentifier", - "src": "11097:3:2" - }, - "nativeSrc": "11097:14:2", - "nodeType": "YulFunctionCall", - "src": "11097:14:2" - }, - "variableNames": [ - { - "name": "next", - "nativeSrc": "11089:4:2", - "nodeType": "YulIdentifier", - "src": "11089:4:2" - } - ] - } - ] - }, - "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", - "nativeSrc": "11004:113:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nativeSrc": "11066:3:2", - "nodeType": "YulTypedName", - "src": "11066:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "next", - "nativeSrc": "11074:4:2", - "nodeType": "YulTypedName", - "src": "11074:4:2", - "type": "" - } - ], - "src": "11004:113:2" - }, - { - "body": { - "nativeSrc": "11277:608:2", - "nodeType": "YulBlock", - "src": "11277:608:2", - "statements": [ - { - "nativeSrc": "11287:68:2", - "nodeType": "YulVariableDeclaration", - "src": "11287:68:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "11349:5:2", - "nodeType": "YulIdentifier", - "src": "11349:5:2" - } - ], - "functionName": { - "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", - "nativeSrc": "11301:47:2", - "nodeType": "YulIdentifier", - "src": "11301:47:2" - }, - "nativeSrc": "11301:54:2", - "nodeType": "YulFunctionCall", - "src": "11301:54:2" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "11291:6:2", - "nodeType": "YulTypedName", - "src": "11291:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "11364:93:2", - "nodeType": "YulAssignment", - "src": "11364:93:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "11445:3:2", - "nodeType": "YulIdentifier", - "src": "11445:3:2" - }, - { - "name": "length", - "nativeSrc": "11450:6:2", - "nodeType": "YulIdentifier", - "src": "11450:6:2" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nativeSrc": "11371:73:2", - "nodeType": "YulIdentifier", - "src": "11371:73:2" - }, - "nativeSrc": "11371:86:2", - "nodeType": "YulFunctionCall", - "src": "11371:86:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "11364:3:2", - "nodeType": "YulIdentifier", - "src": "11364:3:2" - } - ] - }, - { - "nativeSrc": "11466:71:2", - "nodeType": "YulVariableDeclaration", - "src": "11466:71:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "11531:5:2", - "nodeType": "YulIdentifier", - "src": "11531:5:2" - } - ], - "functionName": { - "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", - "nativeSrc": "11481:49:2", - "nodeType": "YulIdentifier", - "src": "11481:49:2" - }, - "nativeSrc": "11481:56:2", - "nodeType": "YulFunctionCall", - "src": "11481:56:2" - }, - "variables": [ - { - "name": "baseRef", - "nativeSrc": "11470:7:2", - "nodeType": "YulTypedName", - "src": "11470:7:2", - "type": "" - } - ] - }, - { - "nativeSrc": "11546:21:2", - "nodeType": "YulVariableDeclaration", - "src": "11546:21:2", - "value": { - "name": "baseRef", - "nativeSrc": "11560:7:2", - "nodeType": "YulIdentifier", - "src": "11560:7:2" - }, - "variables": [ - { - "name": "srcPtr", - "nativeSrc": "11550:6:2", - "nodeType": "YulTypedName", - "src": "11550:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "11636:224:2", - "nodeType": "YulBlock", - "src": "11636:224:2", - "statements": [ - { - "nativeSrc": "11650:34:2", - "nodeType": "YulVariableDeclaration", - "src": "11650:34:2", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nativeSrc": "11677:6:2", - "nodeType": "YulIdentifier", - "src": "11677:6:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "11671:5:2", - "nodeType": "YulIdentifier", - "src": "11671:5:2" - }, - "nativeSrc": "11671:13:2", - "nodeType": "YulFunctionCall", - "src": "11671:13:2" - }, - "variables": [ - { - "name": "elementValue0", - "nativeSrc": "11654:13:2", - "nodeType": "YulTypedName", - "src": "11654:13:2", - "type": "" - } - ] - }, - { - "nativeSrc": "11697:70:2", - "nodeType": "YulAssignment", - "src": "11697:70:2", - "value": { - "arguments": [ - { - "name": "elementValue0", - "nativeSrc": "11748:13:2", - "nodeType": "YulIdentifier", - "src": "11748:13:2" - }, - { - "name": "pos", - "nativeSrc": "11763:3:2", - "nodeType": "YulIdentifier", - "src": "11763:3:2" - } - ], - "functionName": { - "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", - "nativeSrc": "11704:43:2", - "nodeType": "YulIdentifier", - "src": "11704:43:2" - }, - "nativeSrc": "11704:63:2", - "nodeType": "YulFunctionCall", - "src": "11704:63:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "11697:3:2", - "nodeType": "YulIdentifier", - "src": "11697:3:2" - } - ] - }, - { - "nativeSrc": "11780:70:2", - "nodeType": "YulAssignment", - "src": "11780:70:2", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nativeSrc": "11843:6:2", - "nodeType": "YulIdentifier", - "src": "11843:6:2" - } - ], - "functionName": { - "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", - "nativeSrc": "11790:52:2", - "nodeType": "YulIdentifier", - "src": "11790:52:2" - }, - "nativeSrc": "11790:60:2", - "nodeType": "YulFunctionCall", - "src": "11790:60:2" - }, - "variableNames": [ - { - "name": "srcPtr", - "nativeSrc": "11780:6:2", - "nodeType": "YulIdentifier", - "src": "11780:6:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "11598:1:2", - "nodeType": "YulIdentifier", - "src": "11598:1:2" - }, - { - "name": "length", - "nativeSrc": "11601:6:2", - "nodeType": "YulIdentifier", - "src": "11601:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "11595:2:2", - "nodeType": "YulIdentifier", - "src": "11595:2:2" - }, - "nativeSrc": "11595:13:2", - "nodeType": "YulFunctionCall", - "src": "11595:13:2" - }, - "nativeSrc": "11576:284:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "11609:18:2", - "nodeType": "YulBlock", - "src": "11609:18:2", - "statements": [ - { - "nativeSrc": "11611:14:2", - "nodeType": "YulAssignment", - "src": "11611:14:2", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "11620:1:2", - "nodeType": "YulIdentifier", - "src": "11620:1:2" - }, - { - "kind": "number", - "nativeSrc": "11623:1:2", - "nodeType": "YulLiteral", - "src": "11623:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11616:3:2", - "nodeType": "YulIdentifier", - "src": "11616:3:2" - }, - "nativeSrc": "11616:9:2", - "nodeType": "YulFunctionCall", - "src": "11616:9:2" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "11611:1:2", - "nodeType": "YulIdentifier", - "src": "11611:1:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "11580:14:2", - "nodeType": "YulBlock", - "src": "11580:14:2", - "statements": [ - { - "nativeSrc": "11582:10:2", - "nodeType": "YulVariableDeclaration", - "src": "11582:10:2", - "value": { - "kind": "number", - "nativeSrc": "11591:1:2", - "nodeType": "YulLiteral", - "src": "11591:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "11586:1:2", - "nodeType": "YulTypedName", - "src": "11586:1:2", - "type": "" - } - ] - } - ] - }, - "src": "11576:284:2" - }, - { - "nativeSrc": "11869:10:2", - "nodeType": "YulAssignment", - "src": "11869:10:2", - "value": { - "name": "pos", - "nativeSrc": "11876:3:2", - "nodeType": "YulIdentifier", - "src": "11876:3:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "11869:3:2", - "nodeType": "YulIdentifier", - "src": "11869:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nativeSrc": "11153:732:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "11256:5:2", - "nodeType": "YulTypedName", - "src": "11256:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "11263:3:2", - "nodeType": "YulTypedName", - "src": "11263:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "11272:3:2", - "nodeType": "YulTypedName", - "src": "11272:3:2", - "type": "" - } - ], - "src": "11153:732:2" - }, - { - "body": { - "nativeSrc": "12137:428:2", - "nodeType": "YulBlock", - "src": "12137:428:2", - "statements": [ - { - "nativeSrc": "12147:26:2", - "nodeType": "YulAssignment", - "src": "12147:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "12159:9:2", - "nodeType": "YulIdentifier", - "src": "12159:9:2" - }, - { - "kind": "number", - "nativeSrc": "12170:2:2", - "nodeType": "YulLiteral", - "src": "12170:2:2", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "12155:3:2", - "nodeType": "YulIdentifier", - "src": "12155:3:2" - }, - "nativeSrc": "12155:18:2", - "nodeType": "YulFunctionCall", - "src": "12155:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "12147:4:2", - "nodeType": "YulIdentifier", - "src": "12147:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "12194:9:2", - "nodeType": "YulIdentifier", - "src": "12194:9:2" - }, - { - "kind": "number", - "nativeSrc": "12205:1:2", - "nodeType": "YulLiteral", - "src": "12205:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "12190:3:2", - "nodeType": "YulIdentifier", - "src": "12190:3:2" - }, - "nativeSrc": "12190:17:2", - "nodeType": "YulFunctionCall", - "src": "12190:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "12213:4:2", - "nodeType": "YulIdentifier", - "src": "12213:4:2" - }, - { - "name": "headStart", - "nativeSrc": "12219:9:2", - "nodeType": "YulIdentifier", - "src": "12219:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "12209:3:2", - "nodeType": "YulIdentifier", - "src": "12209:3:2" - }, - "nativeSrc": "12209:20:2", - "nodeType": "YulFunctionCall", - "src": "12209:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "12183:6:2", - "nodeType": "YulIdentifier", - "src": "12183:6:2" - }, - "nativeSrc": "12183:47:2", - "nodeType": "YulFunctionCall", - "src": "12183:47:2" - }, - "nativeSrc": "12183:47:2", - "nodeType": "YulExpressionStatement", - "src": "12183:47:2" - }, - { - "nativeSrc": "12239:136:2", - "nodeType": "YulAssignment", - "src": "12239:136:2", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "12361:6:2", - "nodeType": "YulIdentifier", - "src": "12361:6:2" - }, - { - "name": "tail", - "nativeSrc": "12370:4:2", - "nodeType": "YulIdentifier", - "src": "12370:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", - "nativeSrc": "12247:113:2", - "nodeType": "YulIdentifier", - "src": "12247:113:2" - }, - "nativeSrc": "12247:128:2", - "nodeType": "YulFunctionCall", - "src": "12247:128:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "12239:4:2", - "nodeType": "YulIdentifier", - "src": "12239:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "12396:9:2", - "nodeType": "YulIdentifier", - "src": "12396:9:2" - }, - { - "kind": "number", - "nativeSrc": "12407:2:2", - "nodeType": "YulLiteral", - "src": "12407:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "12392:3:2", - "nodeType": "YulIdentifier", - "src": "12392:3:2" - }, - "nativeSrc": "12392:18:2", - "nodeType": "YulFunctionCall", - "src": "12392:18:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "12416:4:2", - "nodeType": "YulIdentifier", - "src": "12416:4:2" - }, - { - "name": "headStart", - "nativeSrc": "12422:9:2", - "nodeType": "YulIdentifier", - "src": "12422:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "12412:3:2", - "nodeType": "YulIdentifier", - "src": "12412:3:2" - }, - "nativeSrc": "12412:20:2", - "nodeType": "YulFunctionCall", - "src": "12412:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "12385:6:2", - "nodeType": "YulIdentifier", - "src": "12385:6:2" - }, - "nativeSrc": "12385:48:2", - "nodeType": "YulFunctionCall", - "src": "12385:48:2" - }, - "nativeSrc": "12385:48:2", - "nodeType": "YulExpressionStatement", - "src": "12385:48:2" - }, - { - "nativeSrc": "12442:116:2", - "nodeType": "YulAssignment", - "src": "12442:116:2", - "value": { - "arguments": [ - { - "name": "value1", - "nativeSrc": "12544:6:2", - "nodeType": "YulIdentifier", - "src": "12544:6:2" - }, - { - "name": "tail", - "nativeSrc": "12553:4:2", - "nodeType": "YulIdentifier", - "src": "12553:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nativeSrc": "12450:93:2", - "nodeType": "YulIdentifier", - "src": "12450:93:2" - }, - "nativeSrc": "12450:108:2", - "nodeType": "YulFunctionCall", - "src": "12450:108:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "12442:4:2", - "nodeType": "YulIdentifier", - "src": "12442:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", - "nativeSrc": "11891:674:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "12101:9:2", - "nodeType": "YulTypedName", - "src": "12101:9:2", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "12113:6:2", - "nodeType": "YulTypedName", - "src": "12113:6:2", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "12121:6:2", - "nodeType": "YulTypedName", - "src": "12121:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "12132:4:2", - "nodeType": "YulTypedName", - "src": "12132:4:2", - "type": "" - } - ], - "src": "11891:674:2" - }, - { - "body": { - "nativeSrc": "12685:34:2", - "nodeType": "YulBlock", - "src": "12685:34:2", - "statements": [ - { - "nativeSrc": "12695:18:2", - "nodeType": "YulAssignment", - "src": "12695:18:2", - "value": { - "name": "pos", - "nativeSrc": "12710:3:2", - "nodeType": "YulIdentifier", - "src": "12710:3:2" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "12695:11:2", - "nodeType": "YulIdentifier", - "src": "12695:11:2" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "12571:148:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "12657:3:2", - "nodeType": "YulTypedName", - "src": "12657:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "12662:6:2", - "nodeType": "YulTypedName", - "src": "12662:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "12673:11:2", - "nodeType": "YulTypedName", - "src": "12673:11:2", - "type": "" - } - ], - "src": "12571:148:2" - }, - { - "body": { - "nativeSrc": "12835:280:2", - "nodeType": "YulBlock", - "src": "12835:280:2", - "statements": [ - { - "nativeSrc": "12845:53:2", - "nodeType": "YulVariableDeclaration", - "src": "12845:53:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "12892:5:2", - "nodeType": "YulIdentifier", - "src": "12892:5:2" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "12859:32:2", - "nodeType": "YulIdentifier", - "src": "12859:32:2" - }, - "nativeSrc": "12859:39:2", - "nodeType": "YulFunctionCall", - "src": "12859:39:2" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "12849:6:2", - "nodeType": "YulTypedName", - "src": "12849:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "12907:96:2", - "nodeType": "YulAssignment", - "src": "12907:96:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "12991:3:2", - "nodeType": "YulIdentifier", - "src": "12991:3:2" - }, - { - "name": "length", - "nativeSrc": "12996:6:2", - "nodeType": "YulIdentifier", - "src": "12996:6:2" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "12914:76:2", - "nodeType": "YulIdentifier", - "src": "12914:76:2" - }, - "nativeSrc": "12914:89:2", - "nodeType": "YulFunctionCall", - "src": "12914:89:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "12907:3:2", - "nodeType": "YulIdentifier", - "src": "12907:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "13051:5:2", - "nodeType": "YulIdentifier", - "src": "13051:5:2" - }, - { - "kind": "number", - "nativeSrc": "13058:4:2", - "nodeType": "YulLiteral", - "src": "13058:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "13047:3:2", - "nodeType": "YulIdentifier", - "src": "13047:3:2" - }, - "nativeSrc": "13047:16:2", - "nodeType": "YulFunctionCall", - "src": "13047:16:2" - }, - { - "name": "pos", - "nativeSrc": "13065:3:2", - "nodeType": "YulIdentifier", - "src": "13065:3:2" - }, - { - "name": "length", - "nativeSrc": "13070:6:2", - "nodeType": "YulIdentifier", - "src": "13070:6:2" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "13012:34:2", - "nodeType": "YulIdentifier", - "src": "13012:34:2" - }, - "nativeSrc": "13012:65:2", - "nodeType": "YulFunctionCall", - "src": "13012:65:2" - }, - "nativeSrc": "13012:65:2", - "nodeType": "YulExpressionStatement", - "src": "13012:65:2" - }, - { - "nativeSrc": "13086:23:2", - "nodeType": "YulAssignment", - "src": "13086:23:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "13097:3:2", - "nodeType": "YulIdentifier", - "src": "13097:3:2" - }, - { - "name": "length", - "nativeSrc": "13102:6:2", - "nodeType": "YulIdentifier", - "src": "13102:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "13093:3:2", - "nodeType": "YulIdentifier", - "src": "13093:3:2" - }, - "nativeSrc": "13093:16:2", - "nodeType": "YulFunctionCall", - "src": "13093:16:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "13086:3:2", - "nodeType": "YulIdentifier", - "src": "13086:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "12725:390:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "12816:5:2", - "nodeType": "YulTypedName", - "src": "12816:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "12823:3:2", - "nodeType": "YulTypedName", - "src": "12823:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "12831:3:2", - "nodeType": "YulTypedName", - "src": "12831:3:2", - "type": "" - } - ], - "src": "12725:390:2" - }, - { - "body": { - "nativeSrc": "13257:139:2", - "nodeType": "YulBlock", - "src": "13257:139:2", - "statements": [ - { - "nativeSrc": "13268:102:2", - "nodeType": "YulAssignment", - "src": "13268:102:2", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "13357:6:2", - "nodeType": "YulIdentifier", - "src": "13357:6:2" - }, - { - "name": "pos", - "nativeSrc": "13366:3:2", - "nodeType": "YulIdentifier", - "src": "13366:3:2" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "13275:81:2", - "nodeType": "YulIdentifier", - "src": "13275:81:2" - }, - "nativeSrc": "13275:95:2", - "nodeType": "YulFunctionCall", - "src": "13275:95:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "13268:3:2", - "nodeType": "YulIdentifier", - "src": "13268:3:2" - } - ] - }, - { - "nativeSrc": "13380:10:2", - "nodeType": "YulAssignment", - "src": "13380:10:2", - "value": { - "name": "pos", - "nativeSrc": "13387:3:2", - "nodeType": "YulIdentifier", - "src": "13387:3:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "13380:3:2", - "nodeType": "YulIdentifier", - "src": "13380:3:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "13121:275:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "13236:3:2", - "nodeType": "YulTypedName", - "src": "13236:3:2", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "13242:6:2", - "nodeType": "YulTypedName", - "src": "13242:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "13253:3:2", - "nodeType": "YulTypedName", - "src": "13253:3:2", - "type": "" - } - ], - "src": "13121:275:2" - }, - { - "body": { - "nativeSrc": "13498:73:2", - "nodeType": "YulBlock", - "src": "13498:73:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "13515:3:2", - "nodeType": "YulIdentifier", - "src": "13515:3:2" - }, - { - "name": "length", - "nativeSrc": "13520:6:2", - "nodeType": "YulIdentifier", - "src": "13520:6:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "13508:6:2", - "nodeType": "YulIdentifier", - "src": "13508:6:2" - }, - "nativeSrc": "13508:19:2", - "nodeType": "YulFunctionCall", - "src": "13508:19:2" - }, - "nativeSrc": "13508:19:2", - "nodeType": "YulExpressionStatement", - "src": "13508:19:2" - }, - { - "nativeSrc": "13536:29:2", - "nodeType": "YulAssignment", - "src": "13536:29:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "13555:3:2", - "nodeType": "YulIdentifier", - "src": "13555:3:2" - }, - { - "kind": "number", - "nativeSrc": "13560:4:2", - "nodeType": "YulLiteral", - "src": "13560:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "13551:3:2", - "nodeType": "YulIdentifier", - "src": "13551:3:2" - }, - "nativeSrc": "13551:14:2", - "nodeType": "YulFunctionCall", - "src": "13551:14:2" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "13536:11:2", - "nodeType": "YulIdentifier", - "src": "13536:11:2" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "13402:169:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "13470:3:2", - "nodeType": "YulTypedName", - "src": "13470:3:2", - "type": "" - }, - { - "name": "length", - "nativeSrc": "13475:6:2", - "nodeType": "YulTypedName", - "src": "13475:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "13486:11:2", - "nodeType": "YulTypedName", - "src": "13486:11:2", - "type": "" - } - ], - "src": "13402:169:2" - }, - { - "body": { - "nativeSrc": "13683:61:2", - "nodeType": "YulBlock", - "src": "13683:61:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "13705:6:2", - "nodeType": "YulIdentifier", - "src": "13705:6:2" - }, - { - "kind": "number", - "nativeSrc": "13713:1:2", - "nodeType": "YulLiteral", - "src": "13713:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "13701:3:2", - "nodeType": "YulIdentifier", - "src": "13701:3:2" - }, - "nativeSrc": "13701:14:2", - "nodeType": "YulFunctionCall", - "src": "13701:14:2" - }, - { - "hexValue": "5573657220646f6e277420657869737473", - "kind": "string", - "nativeSrc": "13717:19:2", - "nodeType": "YulLiteral", - "src": "13717:19:2", - "type": "", - "value": "User don't exists" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "13694:6:2", - "nodeType": "YulIdentifier", - "src": "13694:6:2" - }, - "nativeSrc": "13694:43:2", - "nodeType": "YulFunctionCall", - "src": "13694:43:2" - }, - "nativeSrc": "13694:43:2", - "nodeType": "YulExpressionStatement", - "src": "13694:43:2" - } - ] - }, - "name": "store_literal_in_memory_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "nativeSrc": "13577:167:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "13675:6:2", - "nodeType": "YulTypedName", - "src": "13675:6:2", - "type": "" - } - ], - "src": "13577:167:2" - }, - { - "body": { - "nativeSrc": "13896:220:2", - "nodeType": "YulBlock", - "src": "13896:220:2", - "statements": [ - { - "nativeSrc": "13906:74:2", - "nodeType": "YulAssignment", - "src": "13906:74:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "13972:3:2", - "nodeType": "YulIdentifier", - "src": "13972:3:2" - }, - { - "kind": "number", - "nativeSrc": "13977:2:2", - "nodeType": "YulLiteral", - "src": "13977:2:2", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "13913:58:2", - "nodeType": "YulIdentifier", - "src": "13913:58:2" - }, - "nativeSrc": "13913:67:2", - "nodeType": "YulFunctionCall", - "src": "13913:67:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "13906:3:2", - "nodeType": "YulIdentifier", - "src": "13906:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "14078:3:2", - "nodeType": "YulIdentifier", - "src": "14078:3:2" - } - ], - "functionName": { - "name": "store_literal_in_memory_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a", - "nativeSrc": "13989:88:2", - "nodeType": "YulIdentifier", - "src": "13989:88:2" - }, - "nativeSrc": "13989:93:2", - "nodeType": "YulFunctionCall", - "src": "13989:93:2" - }, - "nativeSrc": "13989:93:2", - "nodeType": "YulExpressionStatement", - "src": "13989:93:2" - }, - { - "nativeSrc": "14091:19:2", - "nodeType": "YulAssignment", - "src": "14091:19:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "14102:3:2", - "nodeType": "YulIdentifier", - "src": "14102:3:2" - }, - { - "kind": "number", - "nativeSrc": "14107:2:2", - "nodeType": "YulLiteral", - "src": "14107:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "14098:3:2", - "nodeType": "YulIdentifier", - "src": "14098:3:2" - }, - "nativeSrc": "14098:12:2", - "nodeType": "YulFunctionCall", - "src": "14098:12:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "14091:3:2", - "nodeType": "YulIdentifier", - "src": "14091:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a_to_t_string_memory_ptr_fromStack", - "nativeSrc": "13750:366:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "13884:3:2", - "nodeType": "YulTypedName", - "src": "13884:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "13892:3:2", - "nodeType": "YulTypedName", - "src": "13892:3:2", - "type": "" - } - ], - "src": "13750:366:2" - }, - { - "body": { - "nativeSrc": "14293:248:2", - "nodeType": "YulBlock", - "src": "14293:248:2", - "statements": [ - { - "nativeSrc": "14303:26:2", - "nodeType": "YulAssignment", - "src": "14303:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "14315:9:2", - "nodeType": "YulIdentifier", - "src": "14315:9:2" - }, - { - "kind": "number", - "nativeSrc": "14326:2:2", - "nodeType": "YulLiteral", - "src": "14326:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "14311:3:2", - "nodeType": "YulIdentifier", - "src": "14311:3:2" - }, - "nativeSrc": "14311:18:2", - "nodeType": "YulFunctionCall", - "src": "14311:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "14303:4:2", - "nodeType": "YulIdentifier", - "src": "14303:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "14350:9:2", - "nodeType": "YulIdentifier", - "src": "14350:9:2" - }, - { - "kind": "number", - "nativeSrc": "14361:1:2", - "nodeType": "YulLiteral", - "src": "14361:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "14346:3:2", - "nodeType": "YulIdentifier", - "src": "14346:3:2" - }, - "nativeSrc": "14346:17:2", - "nodeType": "YulFunctionCall", - "src": "14346:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "14369:4:2", - "nodeType": "YulIdentifier", - "src": "14369:4:2" - }, - { - "name": "headStart", - "nativeSrc": "14375:9:2", - "nodeType": "YulIdentifier", - "src": "14375:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "14365:3:2", - "nodeType": "YulIdentifier", - "src": "14365:3:2" - }, - "nativeSrc": "14365:20:2", - "nodeType": "YulFunctionCall", - "src": "14365:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "14339:6:2", - "nodeType": "YulIdentifier", - "src": "14339:6:2" - }, - "nativeSrc": "14339:47:2", - "nodeType": "YulFunctionCall", - "src": "14339:47:2" - }, - "nativeSrc": "14339:47:2", - "nodeType": "YulExpressionStatement", - "src": "14339:47:2" - }, - { - "nativeSrc": "14395:139:2", - "nodeType": "YulAssignment", - "src": "14395:139:2", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "14529:4:2", - "nodeType": "YulIdentifier", - "src": "14529:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a_to_t_string_memory_ptr_fromStack", - "nativeSrc": "14403:124:2", - "nodeType": "YulIdentifier", - "src": "14403:124:2" - }, - "nativeSrc": "14403:131:2", - "nodeType": "YulFunctionCall", - "src": "14403:131:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "14395:4:2", - "nodeType": "YulIdentifier", - "src": "14395:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "14122:419:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "14273:9:2", - "nodeType": "YulTypedName", - "src": "14273:9:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "14288:4:2", - "nodeType": "YulTypedName", - "src": "14288:4:2", - "type": "" - } - ], - "src": "14122:419:2" - }, - { - "body": { - "nativeSrc": "14653:69:2", - "nodeType": "YulBlock", - "src": "14653:69:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "14675:6:2", - "nodeType": "YulIdentifier", - "src": "14675:6:2" - }, - { - "kind": "number", - "nativeSrc": "14683:1:2", - "nodeType": "YulLiteral", - "src": "14683:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "14671:3:2", - "nodeType": "YulIdentifier", - "src": "14671:3:2" - }, - "nativeSrc": "14671:14:2", - "nodeType": "YulFunctionCall", - "src": "14671:14:2" - }, - { - "hexValue": "446f6e2774206861766520656e6f7567682062616c616e6365", - "kind": "string", - "nativeSrc": "14687:27:2", - "nodeType": "YulLiteral", - "src": "14687:27:2", - "type": "", - "value": "Don't have enough balance" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "14664:6:2", - "nodeType": "YulIdentifier", - "src": "14664:6:2" - }, - "nativeSrc": "14664:51:2", - "nodeType": "YulFunctionCall", - "src": "14664:51:2" - }, - "nativeSrc": "14664:51:2", - "nodeType": "YulExpressionStatement", - "src": "14664:51:2" - } - ] - }, - "name": "store_literal_in_memory_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72", - "nativeSrc": "14547:175:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "14645:6:2", - "nodeType": "YulTypedName", - "src": "14645:6:2", - "type": "" - } - ], - "src": "14547:175:2" - }, - { - "body": { - "nativeSrc": "14874:220:2", - "nodeType": "YulBlock", - "src": "14874:220:2", - "statements": [ - { - "nativeSrc": "14884:74:2", - "nodeType": "YulAssignment", - "src": "14884:74:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "14950:3:2", - "nodeType": "YulIdentifier", - "src": "14950:3:2" - }, - { - "kind": "number", - "nativeSrc": "14955:2:2", - "nodeType": "YulLiteral", - "src": "14955:2:2", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "14891:58:2", - "nodeType": "YulIdentifier", - "src": "14891:58:2" - }, - "nativeSrc": "14891:67:2", - "nodeType": "YulFunctionCall", - "src": "14891:67:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "14884:3:2", - "nodeType": "YulIdentifier", - "src": "14884:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "15056:3:2", - "nodeType": "YulIdentifier", - "src": "15056:3:2" - } - ], - "functionName": { - "name": "store_literal_in_memory_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72", - "nativeSrc": "14967:88:2", - "nodeType": "YulIdentifier", - "src": "14967:88:2" - }, - "nativeSrc": "14967:93:2", - "nodeType": "YulFunctionCall", - "src": "14967:93:2" - }, - "nativeSrc": "14967:93:2", - "nodeType": "YulExpressionStatement", - "src": "14967:93:2" - }, - { - "nativeSrc": "15069:19:2", - "nodeType": "YulAssignment", - "src": "15069:19:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "15080:3:2", - "nodeType": "YulIdentifier", - "src": "15080:3:2" - }, - { - "kind": "number", - "nativeSrc": "15085:2:2", - "nodeType": "YulLiteral", - "src": "15085:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "15076:3:2", - "nodeType": "YulIdentifier", - "src": "15076:3:2" - }, - "nativeSrc": "15076:12:2", - "nodeType": "YulFunctionCall", - "src": "15076:12:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "15069:3:2", - "nodeType": "YulIdentifier", - "src": "15069:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72_to_t_string_memory_ptr_fromStack", - "nativeSrc": "14728:366:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "14862:3:2", - "nodeType": "YulTypedName", - "src": "14862:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "14870:3:2", - "nodeType": "YulTypedName", - "src": "14870:3:2", - "type": "" - } - ], - "src": "14728:366:2" - }, - { - "body": { - "nativeSrc": "15271:248:2", - "nodeType": "YulBlock", - "src": "15271:248:2", - "statements": [ - { - "nativeSrc": "15281:26:2", - "nodeType": "YulAssignment", - "src": "15281:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "15293:9:2", - "nodeType": "YulIdentifier", - "src": "15293:9:2" - }, - { - "kind": "number", - "nativeSrc": "15304:2:2", - "nodeType": "YulLiteral", - "src": "15304:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "15289:3:2", - "nodeType": "YulIdentifier", - "src": "15289:3:2" - }, - "nativeSrc": "15289:18:2", - "nodeType": "YulFunctionCall", - "src": "15289:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "15281:4:2", - "nodeType": "YulIdentifier", - "src": "15281:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "15328:9:2", - "nodeType": "YulIdentifier", - "src": "15328:9:2" - }, - { - "kind": "number", - "nativeSrc": "15339:1:2", - "nodeType": "YulLiteral", - "src": "15339:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "15324:3:2", - "nodeType": "YulIdentifier", - "src": "15324:3:2" - }, - "nativeSrc": "15324:17:2", - "nodeType": "YulFunctionCall", - "src": "15324:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "15347:4:2", - "nodeType": "YulIdentifier", - "src": "15347:4:2" - }, - { - "name": "headStart", - "nativeSrc": "15353:9:2", - "nodeType": "YulIdentifier", - "src": "15353:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "15343:3:2", - "nodeType": "YulIdentifier", - "src": "15343:3:2" - }, - "nativeSrc": "15343:20:2", - "nodeType": "YulFunctionCall", - "src": "15343:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "15317:6:2", - "nodeType": "YulIdentifier", - "src": "15317:6:2" - }, - "nativeSrc": "15317:47:2", - "nodeType": "YulFunctionCall", - "src": "15317:47:2" - }, - "nativeSrc": "15317:47:2", - "nodeType": "YulExpressionStatement", - "src": "15317:47:2" - }, - { - "nativeSrc": "15373:139:2", - "nodeType": "YulAssignment", - "src": "15373:139:2", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "15507:4:2", - "nodeType": "YulIdentifier", - "src": "15507:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72_to_t_string_memory_ptr_fromStack", - "nativeSrc": "15381:124:2", - "nodeType": "YulIdentifier", - "src": "15381:124:2" - }, - "nativeSrc": "15381:131:2", - "nodeType": "YulFunctionCall", - "src": "15381:131:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "15373:4:2", - "nodeType": "YulIdentifier", - "src": "15373:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "15100:419:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "15251:9:2", - "nodeType": "YulTypedName", - "src": "15251:9:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "15266:4:2", - "nodeType": "YulTypedName", - "src": "15266:4:2", - "type": "" - } - ], - "src": "15100:419:2" - }, - { - "body": { - "nativeSrc": "15553:152:2", - "nodeType": "YulBlock", - "src": "15553:152:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "15570:1:2", - "nodeType": "YulLiteral", - "src": "15570:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "15573:77:2", - "nodeType": "YulLiteral", - "src": "15573:77:2", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "15563:6:2", - "nodeType": "YulIdentifier", - "src": "15563:6:2" - }, - "nativeSrc": "15563:88:2", - "nodeType": "YulFunctionCall", - "src": "15563:88:2" - }, - "nativeSrc": "15563:88:2", - "nodeType": "YulExpressionStatement", - "src": "15563:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "15667:1:2", - "nodeType": "YulLiteral", - "src": "15667:1:2", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "15670:4:2", - "nodeType": "YulLiteral", - "src": "15670:4:2", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "15660:6:2", - "nodeType": "YulIdentifier", - "src": "15660:6:2" - }, - "nativeSrc": "15660:15:2", - "nodeType": "YulFunctionCall", - "src": "15660:15:2" - }, - "nativeSrc": "15660:15:2", - "nodeType": "YulExpressionStatement", - "src": "15660:15:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "15691:1:2", - "nodeType": "YulLiteral", - "src": "15691:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "15694:4:2", - "nodeType": "YulLiteral", - "src": "15694:4:2", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "15684:6:2", - "nodeType": "YulIdentifier", - "src": "15684:6:2" - }, - "nativeSrc": "15684:15:2", - "nodeType": "YulFunctionCall", - "src": "15684:15:2" - }, - "nativeSrc": "15684:15:2", - "nodeType": "YulExpressionStatement", - "src": "15684:15:2" - } - ] - }, - "name": "panic_error_0x11", - "nativeSrc": "15525:180:2", - "nodeType": "YulFunctionDefinition", - "src": "15525:180:2" - }, - { - "body": { - "nativeSrc": "15756:149:2", - "nodeType": "YulBlock", - "src": "15756:149:2", - "statements": [ - { - "nativeSrc": "15766:25:2", - "nodeType": "YulAssignment", - "src": "15766:25:2", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "15789:1:2", - "nodeType": "YulIdentifier", - "src": "15789:1:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "15771:17:2", - "nodeType": "YulIdentifier", - "src": "15771:17:2" - }, - "nativeSrc": "15771:20:2", - "nodeType": "YulFunctionCall", - "src": "15771:20:2" - }, - "variableNames": [ - { - "name": "x", - "nativeSrc": "15766:1:2", - "nodeType": "YulIdentifier", - "src": "15766:1:2" - } - ] - }, - { - "nativeSrc": "15800:25:2", - "nodeType": "YulAssignment", - "src": "15800:25:2", - "value": { - "arguments": [ - { - "name": "y", - "nativeSrc": "15823:1:2", - "nodeType": "YulIdentifier", - "src": "15823:1:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "15805:17:2", - "nodeType": "YulIdentifier", - "src": "15805:17:2" - }, - "nativeSrc": "15805:20:2", - "nodeType": "YulFunctionCall", - "src": "15805:20:2" - }, - "variableNames": [ - { - "name": "y", - "nativeSrc": "15800:1:2", - "nodeType": "YulIdentifier", - "src": "15800:1:2" - } - ] - }, - { - "nativeSrc": "15834:17:2", - "nodeType": "YulAssignment", - "src": "15834:17:2", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "15846:1:2", - "nodeType": "YulIdentifier", - "src": "15846:1:2" - }, - { - "name": "y", - "nativeSrc": "15849:1:2", - "nodeType": "YulIdentifier", - "src": "15849:1:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "15842:3:2", - "nodeType": "YulIdentifier", - "src": "15842:3:2" - }, - "nativeSrc": "15842:9:2", - "nodeType": "YulFunctionCall", - "src": "15842:9:2" - }, - "variableNames": [ - { - "name": "diff", - "nativeSrc": "15834:4:2", - "nodeType": "YulIdentifier", - "src": "15834:4:2" - } - ] - }, - { - "body": { - "nativeSrc": "15876:22:2", - "nodeType": "YulBlock", - "src": "15876:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nativeSrc": "15878:16:2", - "nodeType": "YulIdentifier", - "src": "15878:16:2" - }, - "nativeSrc": "15878:18:2", - "nodeType": "YulFunctionCall", - "src": "15878:18:2" - }, - "nativeSrc": "15878:18:2", - "nodeType": "YulExpressionStatement", - "src": "15878:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "diff", - "nativeSrc": "15867:4:2", - "nodeType": "YulIdentifier", - "src": "15867:4:2" - }, - { - "name": "x", - "nativeSrc": "15873:1:2", - "nodeType": "YulIdentifier", - "src": "15873:1:2" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "15864:2:2", - "nodeType": "YulIdentifier", - "src": "15864:2:2" - }, - "nativeSrc": "15864:11:2", - "nodeType": "YulFunctionCall", - "src": "15864:11:2" - }, - "nativeSrc": "15861:37:2", - "nodeType": "YulIf", - "src": "15861:37:2" - } - ] - }, - "name": "checked_sub_t_uint256", - "nativeSrc": "15711:194:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nativeSrc": "15742:1:2", - "nodeType": "YulTypedName", - "src": "15742:1:2", - "type": "" - }, - { - "name": "y", - "nativeSrc": "15745:1:2", - "nodeType": "YulTypedName", - "src": "15745:1:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nativeSrc": "15751:4:2", - "nodeType": "YulTypedName", - "src": "15751:4:2", - "type": "" - } - ], - "src": "15711:194:2" - }, - { - "body": { - "nativeSrc": "15939:152:2", - "nodeType": "YulBlock", - "src": "15939:152:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "15956:1:2", - "nodeType": "YulLiteral", - "src": "15956:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "15959:77:2", - "nodeType": "YulLiteral", - "src": "15959:77:2", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "15949:6:2", - "nodeType": "YulIdentifier", - "src": "15949:6:2" - }, - "nativeSrc": "15949:88:2", - "nodeType": "YulFunctionCall", - "src": "15949:88:2" - }, - "nativeSrc": "15949:88:2", - "nodeType": "YulExpressionStatement", - "src": "15949:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "16053:1:2", - "nodeType": "YulLiteral", - "src": "16053:1:2", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "16056:4:2", - "nodeType": "YulLiteral", - "src": "16056:4:2", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "16046:6:2", - "nodeType": "YulIdentifier", - "src": "16046:6:2" - }, - "nativeSrc": "16046:15:2", - "nodeType": "YulFunctionCall", - "src": "16046:15:2" - }, - "nativeSrc": "16046:15:2", - "nodeType": "YulExpressionStatement", - "src": "16046:15:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "16077:1:2", - "nodeType": "YulLiteral", - "src": "16077:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "16080:4:2", - "nodeType": "YulLiteral", - "src": "16080:4:2", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "16070:6:2", - "nodeType": "YulIdentifier", - "src": "16070:6:2" - }, - "nativeSrc": "16070:15:2", - "nodeType": "YulFunctionCall", - "src": "16070:15:2" - }, - "nativeSrc": "16070:15:2", - "nodeType": "YulExpressionStatement", - "src": "16070:15:2" - } - ] - }, - "name": "panic_error_0x22", - "nativeSrc": "15911:180:2", - "nodeType": "YulFunctionDefinition", - "src": "15911:180:2" - }, - { - "body": { - "nativeSrc": "16148:269:2", - "nodeType": "YulBlock", - "src": "16148:269:2", - "statements": [ - { - "nativeSrc": "16158:22:2", - "nodeType": "YulAssignment", - "src": "16158:22:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "16172:4:2", - "nodeType": "YulIdentifier", - "src": "16172:4:2" - }, - { - "kind": "number", - "nativeSrc": "16178:1:2", - "nodeType": "YulLiteral", - "src": "16178:1:2", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nativeSrc": "16168:3:2", - "nodeType": "YulIdentifier", - "src": "16168:3:2" - }, - "nativeSrc": "16168:12:2", - "nodeType": "YulFunctionCall", - "src": "16168:12:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "16158:6:2", - "nodeType": "YulIdentifier", - "src": "16158:6:2" - } - ] - }, - { - "nativeSrc": "16189:38:2", - "nodeType": "YulVariableDeclaration", - "src": "16189:38:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "16219:4:2", - "nodeType": "YulIdentifier", - "src": "16219:4:2" - }, - { - "kind": "number", - "nativeSrc": "16225:1:2", - "nodeType": "YulLiteral", - "src": "16225:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "16215:3:2", - "nodeType": "YulIdentifier", - "src": "16215:3:2" - }, - "nativeSrc": "16215:12:2", - "nodeType": "YulFunctionCall", - "src": "16215:12:2" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nativeSrc": "16193:18:2", - "nodeType": "YulTypedName", - "src": "16193:18:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "16266:51:2", - "nodeType": "YulBlock", - "src": "16266:51:2", - "statements": [ - { - "nativeSrc": "16280:27:2", - "nodeType": "YulAssignment", - "src": "16280:27:2", - "value": { - "arguments": [ - { - "name": "length", - "nativeSrc": "16294:6:2", - "nodeType": "YulIdentifier", - "src": "16294:6:2" - }, - { - "kind": "number", - "nativeSrc": "16302:4:2", - "nodeType": "YulLiteral", - "src": "16302:4:2", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "16290:3:2", - "nodeType": "YulIdentifier", - "src": "16290:3:2" - }, - "nativeSrc": "16290:17:2", - "nodeType": "YulFunctionCall", - "src": "16290:17:2" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "16280:6:2", - "nodeType": "YulIdentifier", - "src": "16280:6:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nativeSrc": "16246:18:2", - "nodeType": "YulIdentifier", - "src": "16246:18:2" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "16239:6:2", - "nodeType": "YulIdentifier", - "src": "16239:6:2" - }, - "nativeSrc": "16239:26:2", - "nodeType": "YulFunctionCall", - "src": "16239:26:2" - }, - "nativeSrc": "16236:81:2", - "nodeType": "YulIf", - "src": "16236:81:2" - }, - { - "body": { - "nativeSrc": "16369:42:2", - "nodeType": "YulBlock", - "src": "16369:42:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nativeSrc": "16383:16:2", - "nodeType": "YulIdentifier", - "src": "16383:16:2" - }, - "nativeSrc": "16383:18:2", - "nodeType": "YulFunctionCall", - "src": "16383:18:2" - }, - "nativeSrc": "16383:18:2", - "nodeType": "YulExpressionStatement", - "src": "16383:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nativeSrc": "16333:18:2", - "nodeType": "YulIdentifier", - "src": "16333:18:2" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "16356:6:2", - "nodeType": "YulIdentifier", - "src": "16356:6:2" - }, - { - "kind": "number", - "nativeSrc": "16364:2:2", - "nodeType": "YulLiteral", - "src": "16364:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "16353:2:2", - "nodeType": "YulIdentifier", - "src": "16353:2:2" - }, - "nativeSrc": "16353:14:2", - "nodeType": "YulFunctionCall", - "src": "16353:14:2" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "16330:2:2", - "nodeType": "YulIdentifier", - "src": "16330:2:2" - }, - "nativeSrc": "16330:38:2", - "nodeType": "YulFunctionCall", - "src": "16330:38:2" - }, - "nativeSrc": "16327:84:2", - "nodeType": "YulIf", - "src": "16327:84:2" - } - ] - }, - "name": "extract_byte_array_length", - "nativeSrc": "16097:320:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nativeSrc": "16132:4:2", - "nodeType": "YulTypedName", - "src": "16132:4:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "16141:6:2", - "nodeType": "YulTypedName", - "src": "16141:6:2", - "type": "" - } - ], - "src": "16097:320:2" - }, - { - "body": { - "nativeSrc": "16477:87:2", - "nodeType": "YulBlock", - "src": "16477:87:2", - "statements": [ - { - "nativeSrc": "16487:11:2", - "nodeType": "YulAssignment", - "src": "16487:11:2", - "value": { - "name": "ptr", - "nativeSrc": "16495:3:2", - "nodeType": "YulIdentifier", - "src": "16495:3:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "16487:4:2", - "nodeType": "YulIdentifier", - "src": "16487:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "16515:1:2", - "nodeType": "YulLiteral", - "src": "16515:1:2", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nativeSrc": "16518:3:2", - "nodeType": "YulIdentifier", - "src": "16518:3:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "16508:6:2", - "nodeType": "YulIdentifier", - "src": "16508:6:2" - }, - "nativeSrc": "16508:14:2", - "nodeType": "YulFunctionCall", - "src": "16508:14:2" - }, - "nativeSrc": "16508:14:2", - "nodeType": "YulExpressionStatement", - "src": "16508:14:2" - }, - { - "nativeSrc": "16531:26:2", - "nodeType": "YulAssignment", - "src": "16531:26:2", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "16549:1:2", - "nodeType": "YulLiteral", - "src": "16549:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "16552:4:2", - "nodeType": "YulLiteral", - "src": "16552:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nativeSrc": "16539:9:2", - "nodeType": "YulIdentifier", - "src": "16539:9:2" - }, - "nativeSrc": "16539:18:2", - "nodeType": "YulFunctionCall", - "src": "16539:18:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "16531:4:2", - "nodeType": "YulIdentifier", - "src": "16531:4:2" - } - ] - } - ] - }, - "name": "array_dataslot_t_string_storage", - "nativeSrc": "16423:141:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nativeSrc": "16464:3:2", - "nodeType": "YulTypedName", - "src": "16464:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nativeSrc": "16472:4:2", - "nodeType": "YulTypedName", - "src": "16472:4:2", - "type": "" - } - ], - "src": "16423:141:2" - }, - { - "body": { - "nativeSrc": "16701:767:2", - "nodeType": "YulBlock", - "src": "16701:767:2", - "statements": [ - { - "nativeSrc": "16711:29:2", - "nodeType": "YulVariableDeclaration", - "src": "16711:29:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "16734:5:2", - "nodeType": "YulIdentifier", - "src": "16734:5:2" - } - ], - "functionName": { - "name": "sload", - "nativeSrc": "16728:5:2", - "nodeType": "YulIdentifier", - "src": "16728:5:2" - }, - "nativeSrc": "16728:12:2", - "nodeType": "YulFunctionCall", - "src": "16728:12:2" - }, - "variables": [ - { - "name": "slotValue", - "nativeSrc": "16715:9:2", - "nodeType": "YulTypedName", - "src": "16715:9:2", - "type": "" - } - ] - }, - { - "nativeSrc": "16749:50:2", - "nodeType": "YulVariableDeclaration", - "src": "16749:50:2", - "value": { - "arguments": [ - { - "name": "slotValue", - "nativeSrc": "16789:9:2", - "nodeType": "YulIdentifier", - "src": "16789:9:2" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nativeSrc": "16763:25:2", - "nodeType": "YulIdentifier", - "src": "16763:25:2" - }, - "nativeSrc": "16763:36:2", - "nodeType": "YulFunctionCall", - "src": "16763:36:2" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "16753:6:2", - "nodeType": "YulTypedName", - "src": "16753:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "16808:96:2", - "nodeType": "YulAssignment", - "src": "16808:96:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "16892:3:2", - "nodeType": "YulIdentifier", - "src": "16892:3:2" - }, - { - "name": "length", - "nativeSrc": "16897:6:2", - "nodeType": "YulIdentifier", - "src": "16897:6:2" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "16815:76:2", - "nodeType": "YulIdentifier", - "src": "16815:76:2" - }, - "nativeSrc": "16815:89:2", - "nodeType": "YulFunctionCall", - "src": "16815:89:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "16808:3:2", - "nodeType": "YulIdentifier", - "src": "16808:3:2" - } - ] - }, - { - "cases": [ - { - "body": { - "nativeSrc": "16953:159:2", - "nodeType": "YulBlock", - "src": "16953:159:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "17006:3:2", - "nodeType": "YulIdentifier", - "src": "17006:3:2" - }, - { - "arguments": [ - { - "name": "slotValue", - "nativeSrc": "17015:9:2", - "nodeType": "YulIdentifier", - "src": "17015:9:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "17030:4:2", - "nodeType": "YulLiteral", - "src": "17030:4:2", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "17026:3:2", - "nodeType": "YulIdentifier", - "src": "17026:3:2" - }, - "nativeSrc": "17026:9:2", - "nodeType": "YulFunctionCall", - "src": "17026:9:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "17011:3:2", - "nodeType": "YulIdentifier", - "src": "17011:3:2" - }, - "nativeSrc": "17011:25:2", - "nodeType": "YulFunctionCall", - "src": "17011:25:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "16999:6:2", - "nodeType": "YulIdentifier", - "src": "16999:6:2" - }, - "nativeSrc": "16999:38:2", - "nodeType": "YulFunctionCall", - "src": "16999:38:2" - }, - "nativeSrc": "16999:38:2", - "nodeType": "YulExpressionStatement", - "src": "16999:38:2" - }, - { - "nativeSrc": "17050:52:2", - "nodeType": "YulAssignment", - "src": "17050:52:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "17061:3:2", - "nodeType": "YulIdentifier", - "src": "17061:3:2" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "17070:6:2", - "nodeType": "YulIdentifier", - "src": "17070:6:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nativeSrc": "17092:6:2", - "nodeType": "YulIdentifier", - "src": "17092:6:2" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "17085:6:2", - "nodeType": "YulIdentifier", - "src": "17085:6:2" - }, - "nativeSrc": "17085:14:2", - "nodeType": "YulFunctionCall", - "src": "17085:14:2" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "17078:6:2", - "nodeType": "YulIdentifier", - "src": "17078:6:2" - }, - "nativeSrc": "17078:22:2", - "nodeType": "YulFunctionCall", - "src": "17078:22:2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "17066:3:2", - "nodeType": "YulIdentifier", - "src": "17066:3:2" - }, - "nativeSrc": "17066:35:2", - "nodeType": "YulFunctionCall", - "src": "17066:35:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "17057:3:2", - "nodeType": "YulIdentifier", - "src": "17057:3:2" - }, - "nativeSrc": "17057:45:2", - "nodeType": "YulFunctionCall", - "src": "17057:45:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "17050:3:2", - "nodeType": "YulIdentifier", - "src": "17050:3:2" - } - ] - } - ] - }, - "nativeSrc": "16946:166:2", - "nodeType": "YulCase", - "src": "16946:166:2", - "value": { - "kind": "number", - "nativeSrc": "16951:1:2", - "nodeType": "YulLiteral", - "src": "16951:1:2", - "type": "", - "value": "0" - } - }, - { - "body": { - "nativeSrc": "17128:334:2", - "nodeType": "YulBlock", - "src": "17128:334:2", - "statements": [ - { - "nativeSrc": "17173:53:2", - "nodeType": "YulVariableDeclaration", - "src": "17173:53:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "17220:5:2", - "nodeType": "YulIdentifier", - "src": "17220:5:2" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nativeSrc": "17188:31:2", - "nodeType": "YulIdentifier", - "src": "17188:31:2" - }, - "nativeSrc": "17188:38:2", - "nodeType": "YulFunctionCall", - "src": "17188:38:2" - }, - "variables": [ - { - "name": "dataPos", - "nativeSrc": "17177:7:2", - "nodeType": "YulTypedName", - "src": "17177:7:2", - "type": "" - } - ] - }, - { - "nativeSrc": "17239:10:2", - "nodeType": "YulVariableDeclaration", - "src": "17239:10:2", - "value": { - "kind": "number", - "nativeSrc": "17248:1:2", - "nodeType": "YulLiteral", - "src": "17248:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "17243:1:2", - "nodeType": "YulTypedName", - "src": "17243:1:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "17306:110:2", - "nodeType": "YulBlock", - "src": "17306:110:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nativeSrc": "17335:3:2", - "nodeType": "YulIdentifier", - "src": "17335:3:2" - }, - { - "name": "i", - "nativeSrc": "17340:1:2", - "nodeType": "YulIdentifier", - "src": "17340:1:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "17331:3:2", - "nodeType": "YulIdentifier", - "src": "17331:3:2" - }, - "nativeSrc": "17331:11:2", - "nodeType": "YulFunctionCall", - "src": "17331:11:2" - }, - { - "arguments": [ - { - "name": "dataPos", - "nativeSrc": "17350:7:2", - "nodeType": "YulIdentifier", - "src": "17350:7:2" - } - ], - "functionName": { - "name": "sload", - "nativeSrc": "17344:5:2", - "nodeType": "YulIdentifier", - "src": "17344:5:2" - }, - "nativeSrc": "17344:14:2", - "nodeType": "YulFunctionCall", - "src": "17344:14:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "17324:6:2", - "nodeType": "YulIdentifier", - "src": "17324:6:2" - }, - "nativeSrc": "17324:35:2", - "nodeType": "YulFunctionCall", - "src": "17324:35:2" - }, - "nativeSrc": "17324:35:2", - "nodeType": "YulExpressionStatement", - "src": "17324:35:2" - }, - { - "nativeSrc": "17376:26:2", - "nodeType": "YulAssignment", - "src": "17376:26:2", - "value": { - "arguments": [ - { - "name": "dataPos", - "nativeSrc": "17391:7:2", - "nodeType": "YulIdentifier", - "src": "17391:7:2" - }, - { - "kind": "number", - "nativeSrc": "17400:1:2", - "nodeType": "YulLiteral", - "src": "17400:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "17387:3:2", - "nodeType": "YulIdentifier", - "src": "17387:3:2" - }, - "nativeSrc": "17387:15:2", - "nodeType": "YulFunctionCall", - "src": "17387:15:2" - }, - "variableNames": [ - { - "name": "dataPos", - "nativeSrc": "17376:7:2", - "nodeType": "YulIdentifier", - "src": "17376:7:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "17273:1:2", - "nodeType": "YulIdentifier", - "src": "17273:1:2" - }, - { - "name": "length", - "nativeSrc": "17276:6:2", - "nodeType": "YulIdentifier", - "src": "17276:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "17270:2:2", - "nodeType": "YulIdentifier", - "src": "17270:2:2" - }, - "nativeSrc": "17270:13:2", - "nodeType": "YulFunctionCall", - "src": "17270:13:2" - }, - "nativeSrc": "17262:154:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "17284:21:2", - "nodeType": "YulBlock", - "src": "17284:21:2", - "statements": [ - { - "nativeSrc": "17286:17:2", - "nodeType": "YulAssignment", - "src": "17286:17:2", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "17295:1:2", - "nodeType": "YulIdentifier", - "src": "17295:1:2" - }, - { - "kind": "number", - "nativeSrc": "17298:4:2", - "nodeType": "YulLiteral", - "src": "17298:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "17291:3:2", - "nodeType": "YulIdentifier", - "src": "17291:3:2" - }, - "nativeSrc": "17291:12:2", - "nodeType": "YulFunctionCall", - "src": "17291:12:2" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "17286:1:2", - "nodeType": "YulIdentifier", - "src": "17286:1:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "17266:3:2", - "nodeType": "YulBlock", - "src": "17266:3:2", - "statements": [] - }, - "src": "17262:154:2" - }, - { - "nativeSrc": "17429:23:2", - "nodeType": "YulAssignment", - "src": "17429:23:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "17440:3:2", - "nodeType": "YulIdentifier", - "src": "17440:3:2" - }, - { - "name": "length", - "nativeSrc": "17445:6:2", - "nodeType": "YulIdentifier", - "src": "17445:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "17436:3:2", - "nodeType": "YulIdentifier", - "src": "17436:3:2" - }, - "nativeSrc": "17436:16:2", - "nodeType": "YulFunctionCall", - "src": "17436:16:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "17429:3:2", - "nodeType": "YulIdentifier", - "src": "17429:3:2" - } - ] - } - ] - }, - "nativeSrc": "17121:341:2", - "nodeType": "YulCase", - "src": "17121:341:2", - "value": { - "kind": "number", - "nativeSrc": "17126:1:2", - "nodeType": "YulLiteral", - "src": "17126:1:2", - "type": "", - "value": "1" - } - } - ], - "expression": { - "arguments": [ - { - "name": "slotValue", - "nativeSrc": "16924:9:2", - "nodeType": "YulIdentifier", - "src": "16924:9:2" - }, - { - "kind": "number", - "nativeSrc": "16935:1:2", - "nodeType": "YulLiteral", - "src": "16935:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "16920:3:2", - "nodeType": "YulIdentifier", - "src": "16920:3:2" - }, - "nativeSrc": "16920:17:2", - "nodeType": "YulFunctionCall", - "src": "16920:17:2" - }, - "nativeSrc": "16913:549:2", - "nodeType": "YulSwitch", - "src": "16913:549:2" - } - ] - }, - "name": "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "16594:874:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "16682:5:2", - "nodeType": "YulTypedName", - "src": "16682:5:2", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "16689:3:2", - "nodeType": "YulTypedName", - "src": "16689:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "16697:3:2", - "nodeType": "YulTypedName", - "src": "16697:3:2", - "type": "" - } - ], - "src": "16594:874:2" - }, - { - "body": { - "nativeSrc": "17607:136:2", - "nodeType": "YulBlock", - "src": "17607:136:2", - "statements": [ - { - "nativeSrc": "17618:99:2", - "nodeType": "YulAssignment", - "src": "17618:99:2", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "17704:6:2", - "nodeType": "YulIdentifier", - "src": "17704:6:2" - }, - { - "name": "pos", - "nativeSrc": "17713:3:2", - "nodeType": "YulIdentifier", - "src": "17713:3:2" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "17625:78:2", - "nodeType": "YulIdentifier", - "src": "17625:78:2" - }, - "nativeSrc": "17625:92:2", - "nodeType": "YulFunctionCall", - "src": "17625:92:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "17618:3:2", - "nodeType": "YulIdentifier", - "src": "17618:3:2" - } - ] - }, - { - "nativeSrc": "17727:10:2", - "nodeType": "YulAssignment", - "src": "17727:10:2", - "value": { - "name": "pos", - "nativeSrc": "17734:3:2", - "nodeType": "YulIdentifier", - "src": "17734:3:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "17727:3:2", - "nodeType": "YulIdentifier", - "src": "17727:3:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "17474:269:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "17586:3:2", - "nodeType": "YulTypedName", - "src": "17586:3:2", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "17592:6:2", - "nodeType": "YulTypedName", - "src": "17592:6:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "17603:3:2", - "nodeType": "YulTypedName", - "src": "17603:3:2", - "type": "" - } - ], - "src": "17474:269:2" - }, - { - "body": { - "nativeSrc": "17793:147:2", - "nodeType": "YulBlock", - "src": "17793:147:2", - "statements": [ - { - "nativeSrc": "17803:25:2", - "nodeType": "YulAssignment", - "src": "17803:25:2", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "17826:1:2", - "nodeType": "YulIdentifier", - "src": "17826:1:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "17808:17:2", - "nodeType": "YulIdentifier", - "src": "17808:17:2" - }, - "nativeSrc": "17808:20:2", - "nodeType": "YulFunctionCall", - "src": "17808:20:2" - }, - "variableNames": [ - { - "name": "x", - "nativeSrc": "17803:1:2", - "nodeType": "YulIdentifier", - "src": "17803:1:2" - } - ] - }, - { - "nativeSrc": "17837:25:2", - "nodeType": "YulAssignment", - "src": "17837:25:2", - "value": { - "arguments": [ - { - "name": "y", - "nativeSrc": "17860:1:2", - "nodeType": "YulIdentifier", - "src": "17860:1:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "17842:17:2", - "nodeType": "YulIdentifier", - "src": "17842:17:2" - }, - "nativeSrc": "17842:20:2", - "nodeType": "YulFunctionCall", - "src": "17842:20:2" - }, - "variableNames": [ - { - "name": "y", - "nativeSrc": "17837:1:2", - "nodeType": "YulIdentifier", - "src": "17837:1:2" - } - ] - }, - { - "nativeSrc": "17871:16:2", - "nodeType": "YulAssignment", - "src": "17871:16:2", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "17882:1:2", - "nodeType": "YulIdentifier", - "src": "17882:1:2" - }, - { - "name": "y", - "nativeSrc": "17885:1:2", - "nodeType": "YulIdentifier", - "src": "17885:1:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "17878:3:2", - "nodeType": "YulIdentifier", - "src": "17878:3:2" - }, - "nativeSrc": "17878:9:2", - "nodeType": "YulFunctionCall", - "src": "17878:9:2" - }, - "variableNames": [ - { - "name": "sum", - "nativeSrc": "17871:3:2", - "nodeType": "YulIdentifier", - "src": "17871:3:2" - } - ] - }, - { - "body": { - "nativeSrc": "17911:22:2", - "nodeType": "YulBlock", - "src": "17911:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nativeSrc": "17913:16:2", - "nodeType": "YulIdentifier", - "src": "17913:16:2" - }, - "nativeSrc": "17913:18:2", - "nodeType": "YulFunctionCall", - "src": "17913:18:2" - }, - "nativeSrc": "17913:18:2", - "nodeType": "YulExpressionStatement", - "src": "17913:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nativeSrc": "17903:1:2", - "nodeType": "YulIdentifier", - "src": "17903:1:2" - }, - { - "name": "sum", - "nativeSrc": "17906:3:2", - "nodeType": "YulIdentifier", - "src": "17906:3:2" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "17900:2:2", - "nodeType": "YulIdentifier", - "src": "17900:2:2" - }, - "nativeSrc": "17900:10:2", - "nodeType": "YulFunctionCall", - "src": "17900:10:2" - }, - "nativeSrc": "17897:36:2", - "nodeType": "YulIf", - "src": "17897:36:2" - } - ] - }, - "name": "checked_add_t_uint256", - "nativeSrc": "17749:191:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nativeSrc": "17780:1:2", - "nodeType": "YulTypedName", - "src": "17780:1:2", - "type": "" - }, - { - "name": "y", - "nativeSrc": "17783:1:2", - "nodeType": "YulTypedName", - "src": "17783:1:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nativeSrc": "17789:3:2", - "nodeType": "YulTypedName", - "src": "17789:3:2", - "type": "" - } - ], - "src": "17749:191:2" - }, - { - "body": { - "nativeSrc": "17974:152:2", - "nodeType": "YulBlock", - "src": "17974:152:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "17991:1:2", - "nodeType": "YulLiteral", - "src": "17991:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "17994:77:2", - "nodeType": "YulLiteral", - "src": "17994:77:2", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "17984:6:2", - "nodeType": "YulIdentifier", - "src": "17984:6:2" - }, - "nativeSrc": "17984:88:2", - "nodeType": "YulFunctionCall", - "src": "17984:88:2" - }, - "nativeSrc": "17984:88:2", - "nodeType": "YulExpressionStatement", - "src": "17984:88:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "18088:1:2", - "nodeType": "YulLiteral", - "src": "18088:1:2", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "18091:4:2", - "nodeType": "YulLiteral", - "src": "18091:4:2", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "18081:6:2", - "nodeType": "YulIdentifier", - "src": "18081:6:2" - }, - "nativeSrc": "18081:15:2", - "nodeType": "YulFunctionCall", - "src": "18081:15:2" - }, - "nativeSrc": "18081:15:2", - "nodeType": "YulExpressionStatement", - "src": "18081:15:2" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "18112:1:2", - "nodeType": "YulLiteral", - "src": "18112:1:2", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "18115:4:2", - "nodeType": "YulLiteral", - "src": "18115:4:2", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "18105:6:2", - "nodeType": "YulIdentifier", - "src": "18105:6:2" - }, - "nativeSrc": "18105:15:2", - "nodeType": "YulFunctionCall", - "src": "18105:15:2" - }, - "nativeSrc": "18105:15:2", - "nodeType": "YulExpressionStatement", - "src": "18105:15:2" - } - ] - }, - "name": "panic_error_0x32", - "nativeSrc": "17946:180:2", - "nodeType": "YulFunctionDefinition", - "src": "17946:180:2" - }, - { - "body": { - "nativeSrc": "18238:70:2", - "nodeType": "YulBlock", - "src": "18238:70:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "18260:6:2", - "nodeType": "YulIdentifier", - "src": "18260:6:2" - }, - { - "kind": "number", - "nativeSrc": "18268:1:2", - "nodeType": "YulLiteral", - "src": "18268:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "18256:3:2", - "nodeType": "YulIdentifier", - "src": "18256:3:2" - }, - "nativeSrc": "18256:14:2", - "nodeType": "YulFunctionCall", - "src": "18256:14:2" - }, - { - "hexValue": "557365722073686f756c642068617665207468617420636f696e", - "kind": "string", - "nativeSrc": "18272:28:2", - "nodeType": "YulLiteral", - "src": "18272:28:2", - "type": "", - "value": "User should have that coin" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "18249:6:2", - "nodeType": "YulIdentifier", - "src": "18249:6:2" - }, - "nativeSrc": "18249:52:2", - "nodeType": "YulFunctionCall", - "src": "18249:52:2" - }, - "nativeSrc": "18249:52:2", - "nodeType": "YulExpressionStatement", - "src": "18249:52:2" - } - ] - }, - "name": "store_literal_in_memory_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9", - "nativeSrc": "18132:176:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "18230:6:2", - "nodeType": "YulTypedName", - "src": "18230:6:2", - "type": "" - } - ], - "src": "18132:176:2" - }, - { - "body": { - "nativeSrc": "18460:220:2", - "nodeType": "YulBlock", - "src": "18460:220:2", - "statements": [ - { - "nativeSrc": "18470:74:2", - "nodeType": "YulAssignment", - "src": "18470:74:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "18536:3:2", - "nodeType": "YulIdentifier", - "src": "18536:3:2" - }, - { - "kind": "number", - "nativeSrc": "18541:2:2", - "nodeType": "YulLiteral", - "src": "18541:2:2", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "18477:58:2", - "nodeType": "YulIdentifier", - "src": "18477:58:2" - }, - "nativeSrc": "18477:67:2", - "nodeType": "YulFunctionCall", - "src": "18477:67:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "18470:3:2", - "nodeType": "YulIdentifier", - "src": "18470:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "18642:3:2", - "nodeType": "YulIdentifier", - "src": "18642:3:2" - } - ], - "functionName": { - "name": "store_literal_in_memory_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9", - "nativeSrc": "18553:88:2", - "nodeType": "YulIdentifier", - "src": "18553:88:2" - }, - "nativeSrc": "18553:93:2", - "nodeType": "YulFunctionCall", - "src": "18553:93:2" - }, - "nativeSrc": "18553:93:2", - "nodeType": "YulExpressionStatement", - "src": "18553:93:2" - }, - { - "nativeSrc": "18655:19:2", - "nodeType": "YulAssignment", - "src": "18655:19:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "18666:3:2", - "nodeType": "YulIdentifier", - "src": "18666:3:2" - }, - { - "kind": "number", - "nativeSrc": "18671:2:2", - "nodeType": "YulLiteral", - "src": "18671:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "18662:3:2", - "nodeType": "YulIdentifier", - "src": "18662:3:2" - }, - "nativeSrc": "18662:12:2", - "nodeType": "YulFunctionCall", - "src": "18662:12:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "18655:3:2", - "nodeType": "YulIdentifier", - "src": "18655:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9_to_t_string_memory_ptr_fromStack", - "nativeSrc": "18314:366:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "18448:3:2", - "nodeType": "YulTypedName", - "src": "18448:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "18456:3:2", - "nodeType": "YulTypedName", - "src": "18456:3:2", - "type": "" - } - ], - "src": "18314:366:2" - }, - { - "body": { - "nativeSrc": "18857:248:2", - "nodeType": "YulBlock", - "src": "18857:248:2", - "statements": [ - { - "nativeSrc": "18867:26:2", - "nodeType": "YulAssignment", - "src": "18867:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "18879:9:2", - "nodeType": "YulIdentifier", - "src": "18879:9:2" - }, - { - "kind": "number", - "nativeSrc": "18890:2:2", - "nodeType": "YulLiteral", - "src": "18890:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "18875:3:2", - "nodeType": "YulIdentifier", - "src": "18875:3:2" - }, - "nativeSrc": "18875:18:2", - "nodeType": "YulFunctionCall", - "src": "18875:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "18867:4:2", - "nodeType": "YulIdentifier", - "src": "18867:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "18914:9:2", - "nodeType": "YulIdentifier", - "src": "18914:9:2" - }, - { - "kind": "number", - "nativeSrc": "18925:1:2", - "nodeType": "YulLiteral", - "src": "18925:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "18910:3:2", - "nodeType": "YulIdentifier", - "src": "18910:3:2" - }, - "nativeSrc": "18910:17:2", - "nodeType": "YulFunctionCall", - "src": "18910:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "18933:4:2", - "nodeType": "YulIdentifier", - "src": "18933:4:2" - }, - { - "name": "headStart", - "nativeSrc": "18939:9:2", - "nodeType": "YulIdentifier", - "src": "18939:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "18929:3:2", - "nodeType": "YulIdentifier", - "src": "18929:3:2" - }, - "nativeSrc": "18929:20:2", - "nodeType": "YulFunctionCall", - "src": "18929:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "18903:6:2", - "nodeType": "YulIdentifier", - "src": "18903:6:2" - }, - "nativeSrc": "18903:47:2", - "nodeType": "YulFunctionCall", - "src": "18903:47:2" - }, - "nativeSrc": "18903:47:2", - "nodeType": "YulExpressionStatement", - "src": "18903:47:2" - }, - { - "nativeSrc": "18959:139:2", - "nodeType": "YulAssignment", - "src": "18959:139:2", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "19093:4:2", - "nodeType": "YulIdentifier", - "src": "19093:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9_to_t_string_memory_ptr_fromStack", - "nativeSrc": "18967:124:2", - "nodeType": "YulIdentifier", - "src": "18967:124:2" - }, - "nativeSrc": "18967:131:2", - "nodeType": "YulFunctionCall", - "src": "18967:131:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "18959:4:2", - "nodeType": "YulIdentifier", - "src": "18959:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "18686:419:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "18837:9:2", - "nodeType": "YulTypedName", - "src": "18837:9:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "18852:4:2", - "nodeType": "YulTypedName", - "src": "18852:4:2", - "type": "" - } - ], - "src": "18686:419:2" - }, - { - "body": { - "nativeSrc": "19217:63:2", - "nodeType": "YulBlock", - "src": "19217:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "19239:6:2", - "nodeType": "YulIdentifier", - "src": "19239:6:2" - }, - { - "kind": "number", - "nativeSrc": "19247:1:2", - "nodeType": "YulLiteral", - "src": "19247:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "19235:3:2", - "nodeType": "YulIdentifier", - "src": "19235:3:2" - }, - "nativeSrc": "19235:14:2", - "nodeType": "YulFunctionCall", - "src": "19235:14:2" - }, - { - "hexValue": "5573657220416c726561647920457869737473", - "kind": "string", - "nativeSrc": "19251:21:2", - "nodeType": "YulLiteral", - "src": "19251:21:2", - "type": "", - "value": "User Already Exists" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "19228:6:2", - "nodeType": "YulIdentifier", - "src": "19228:6:2" - }, - "nativeSrc": "19228:45:2", - "nodeType": "YulFunctionCall", - "src": "19228:45:2" - }, - "nativeSrc": "19228:45:2", - "nodeType": "YulExpressionStatement", - "src": "19228:45:2" - } - ] - }, - "name": "store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e", - "nativeSrc": "19111:169:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "19209:6:2", - "nodeType": "YulTypedName", - "src": "19209:6:2", - "type": "" - } - ], - "src": "19111:169:2" - }, - { - "body": { - "nativeSrc": "19432:220:2", - "nodeType": "YulBlock", - "src": "19432:220:2", - "statements": [ - { - "nativeSrc": "19442:74:2", - "nodeType": "YulAssignment", - "src": "19442:74:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "19508:3:2", - "nodeType": "YulIdentifier", - "src": "19508:3:2" - }, - { - "kind": "number", - "nativeSrc": "19513:2:2", - "nodeType": "YulLiteral", - "src": "19513:2:2", - "type": "", - "value": "19" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "19449:58:2", - "nodeType": "YulIdentifier", - "src": "19449:58:2" - }, - "nativeSrc": "19449:67:2", - "nodeType": "YulFunctionCall", - "src": "19449:67:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "19442:3:2", - "nodeType": "YulIdentifier", - "src": "19442:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "19614:3:2", - "nodeType": "YulIdentifier", - "src": "19614:3:2" - } - ], - "functionName": { - "name": "store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e", - "nativeSrc": "19525:88:2", - "nodeType": "YulIdentifier", - "src": "19525:88:2" - }, - "nativeSrc": "19525:93:2", - "nodeType": "YulFunctionCall", - "src": "19525:93:2" - }, - "nativeSrc": "19525:93:2", - "nodeType": "YulExpressionStatement", - "src": "19525:93:2" - }, - { - "nativeSrc": "19627:19:2", - "nodeType": "YulAssignment", - "src": "19627:19:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "19638:3:2", - "nodeType": "YulIdentifier", - "src": "19638:3:2" - }, - { - "kind": "number", - "nativeSrc": "19643:2:2", - "nodeType": "YulLiteral", - "src": "19643:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "19634:3:2", - "nodeType": "YulIdentifier", - "src": "19634:3:2" - }, - "nativeSrc": "19634:12:2", - "nodeType": "YulFunctionCall", - "src": "19634:12:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "19627:3:2", - "nodeType": "YulIdentifier", - "src": "19627:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack", - "nativeSrc": "19286:366:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "19420:3:2", - "nodeType": "YulTypedName", - "src": "19420:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "19428:3:2", - "nodeType": "YulTypedName", - "src": "19428:3:2", - "type": "" - } - ], - "src": "19286:366:2" - }, - { - "body": { - "nativeSrc": "19829:248:2", - "nodeType": "YulBlock", - "src": "19829:248:2", - "statements": [ - { - "nativeSrc": "19839:26:2", - "nodeType": "YulAssignment", - "src": "19839:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "19851:9:2", - "nodeType": "YulIdentifier", - "src": "19851:9:2" - }, - { - "kind": "number", - "nativeSrc": "19862:2:2", - "nodeType": "YulLiteral", - "src": "19862:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "19847:3:2", - "nodeType": "YulIdentifier", - "src": "19847:3:2" - }, - "nativeSrc": "19847:18:2", - "nodeType": "YulFunctionCall", - "src": "19847:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "19839:4:2", - "nodeType": "YulIdentifier", - "src": "19839:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "19886:9:2", - "nodeType": "YulIdentifier", - "src": "19886:9:2" - }, - { - "kind": "number", - "nativeSrc": "19897:1:2", - "nodeType": "YulLiteral", - "src": "19897:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "19882:3:2", - "nodeType": "YulIdentifier", - "src": "19882:3:2" - }, - "nativeSrc": "19882:17:2", - "nodeType": "YulFunctionCall", - "src": "19882:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "19905:4:2", - "nodeType": "YulIdentifier", - "src": "19905:4:2" - }, - { - "name": "headStart", - "nativeSrc": "19911:9:2", - "nodeType": "YulIdentifier", - "src": "19911:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "19901:3:2", - "nodeType": "YulIdentifier", - "src": "19901:3:2" - }, - "nativeSrc": "19901:20:2", - "nodeType": "YulFunctionCall", - "src": "19901:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "19875:6:2", - "nodeType": "YulIdentifier", - "src": "19875:6:2" - }, - "nativeSrc": "19875:47:2", - "nodeType": "YulFunctionCall", - "src": "19875:47:2" - }, - "nativeSrc": "19875:47:2", - "nodeType": "YulExpressionStatement", - "src": "19875:47:2" - }, - { - "nativeSrc": "19931:139:2", - "nodeType": "YulAssignment", - "src": "19931:139:2", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "20065:4:2", - "nodeType": "YulIdentifier", - "src": "20065:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack", - "nativeSrc": "19939:124:2", - "nodeType": "YulIdentifier", - "src": "19939:124:2" - }, - "nativeSrc": "19939:131:2", - "nodeType": "YulFunctionCall", - "src": "19939:131:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "19931:4:2", - "nodeType": "YulIdentifier", - "src": "19931:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "19658:419:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "19809:9:2", - "nodeType": "YulTypedName", - "src": "19809:9:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "19824:4:2", - "nodeType": "YulTypedName", - "src": "19824:4:2", - "type": "" - } - ], - "src": "19658:419:2" - }, - { - "body": { - "nativeSrc": "20126:190:2", - "nodeType": "YulBlock", - "src": "20126:190:2", - "statements": [ - { - "nativeSrc": "20136:33:2", - "nodeType": "YulAssignment", - "src": "20136:33:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "20163:5:2", - "nodeType": "YulIdentifier", - "src": "20163:5:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "20145:17:2", - "nodeType": "YulIdentifier", - "src": "20145:17:2" - }, - "nativeSrc": "20145:24:2", - "nodeType": "YulFunctionCall", - "src": "20145:24:2" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "20136:5:2", - "nodeType": "YulIdentifier", - "src": "20136:5:2" - } - ] - }, - { - "body": { - "nativeSrc": "20259:22:2", - "nodeType": "YulBlock", - "src": "20259:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nativeSrc": "20261:16:2", - "nodeType": "YulIdentifier", - "src": "20261:16:2" - }, - "nativeSrc": "20261:18:2", - "nodeType": "YulFunctionCall", - "src": "20261:18:2" - }, - "nativeSrc": "20261:18:2", - "nodeType": "YulExpressionStatement", - "src": "20261:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nativeSrc": "20184:5:2", - "nodeType": "YulIdentifier", - "src": "20184:5:2" - }, - { - "kind": "number", - "nativeSrc": "20191:66:2", - "nodeType": "YulLiteral", - "src": "20191:66:2", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "20181:2:2", - "nodeType": "YulIdentifier", - "src": "20181:2:2" - }, - "nativeSrc": "20181:77:2", - "nodeType": "YulFunctionCall", - "src": "20181:77:2" - }, - "nativeSrc": "20178:103:2", - "nodeType": "YulIf", - "src": "20178:103:2" - }, - { - "nativeSrc": "20290:20:2", - "nodeType": "YulAssignment", - "src": "20290:20:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "20301:5:2", - "nodeType": "YulIdentifier", - "src": "20301:5:2" - }, - { - "kind": "number", - "nativeSrc": "20308:1:2", - "nodeType": "YulLiteral", - "src": "20308:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "20297:3:2", - "nodeType": "YulIdentifier", - "src": "20297:3:2" - }, - "nativeSrc": "20297:13:2", - "nodeType": "YulFunctionCall", - "src": "20297:13:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "20290:3:2", - "nodeType": "YulIdentifier", - "src": "20290:3:2" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nativeSrc": "20083:233:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "20112:5:2", - "nodeType": "YulTypedName", - "src": "20112:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "20122:3:2", - "nodeType": "YulTypedName", - "src": "20122:3:2", - "type": "" - } - ], - "src": "20083:233:2" - }, - { - "body": { - "nativeSrc": "20366:49:2", - "nodeType": "YulBlock", - "src": "20366:49:2", - "statements": [ - { - "nativeSrc": "20376:33:2", - "nodeType": "YulAssignment", - "src": "20376:33:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "20394:5:2", - "nodeType": "YulIdentifier", - "src": "20394:5:2" - }, - { - "kind": "number", - "nativeSrc": "20401:2:2", - "nodeType": "YulLiteral", - "src": "20401:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "20390:3:2", - "nodeType": "YulIdentifier", - "src": "20390:3:2" - }, - "nativeSrc": "20390:14:2", - "nodeType": "YulFunctionCall", - "src": "20390:14:2" - }, - { - "kind": "number", - "nativeSrc": "20406:2:2", - "nodeType": "YulLiteral", - "src": "20406:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "div", - "nativeSrc": "20386:3:2", - "nodeType": "YulIdentifier", - "src": "20386:3:2" - }, - "nativeSrc": "20386:23:2", - "nodeType": "YulFunctionCall", - "src": "20386:23:2" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "20376:6:2", - "nodeType": "YulIdentifier", - "src": "20376:6:2" - } - ] - } - ] - }, - "name": "divide_by_32_ceil", - "nativeSrc": "20322:93:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "20349:5:2", - "nodeType": "YulTypedName", - "src": "20349:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "20359:6:2", - "nodeType": "YulTypedName", - "src": "20359:6:2", - "type": "" - } - ], - "src": "20322:93:2" - }, - { - "body": { - "nativeSrc": "20474:54:2", - "nodeType": "YulBlock", - "src": "20474:54:2", - "statements": [ - { - "nativeSrc": "20484:37:2", - "nodeType": "YulAssignment", - "src": "20484:37:2", - "value": { - "arguments": [ - { - "name": "bits", - "nativeSrc": "20509:4:2", - "nodeType": "YulIdentifier", - "src": "20509:4:2" - }, - { - "name": "value", - "nativeSrc": "20515:5:2", - "nodeType": "YulIdentifier", - "src": "20515:5:2" - } - ], - "functionName": { - "name": "shl", - "nativeSrc": "20505:3:2", - "nodeType": "YulIdentifier", - "src": "20505:3:2" - }, - "nativeSrc": "20505:16:2", - "nodeType": "YulFunctionCall", - "src": "20505:16:2" - }, - "variableNames": [ - { - "name": "newValue", - "nativeSrc": "20484:8:2", - "nodeType": "YulIdentifier", - "src": "20484:8:2" - } - ] - } - ] - }, - "name": "shift_left_dynamic", - "nativeSrc": "20421:107:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nativeSrc": "20449:4:2", - "nodeType": "YulTypedName", - "src": "20449:4:2", - "type": "" - }, - { - "name": "value", - "nativeSrc": "20455:5:2", - "nodeType": "YulTypedName", - "src": "20455:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nativeSrc": "20465:8:2", - "nodeType": "YulTypedName", - "src": "20465:8:2", - "type": "" - } - ], - "src": "20421:107:2" - }, - { - "body": { - "nativeSrc": "20610:317:2", - "nodeType": "YulBlock", - "src": "20610:317:2", - "statements": [ - { - "nativeSrc": "20620:35:2", - "nodeType": "YulVariableDeclaration", - "src": "20620:35:2", - "value": { - "arguments": [ - { - "name": "shiftBytes", - "nativeSrc": "20641:10:2", - "nodeType": "YulIdentifier", - "src": "20641:10:2" - }, - { - "kind": "number", - "nativeSrc": "20653:1:2", - "nodeType": "YulLiteral", - "src": "20653:1:2", - "type": "", - "value": "8" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "20637:3:2", - "nodeType": "YulIdentifier", - "src": "20637:3:2" - }, - "nativeSrc": "20637:18:2", - "nodeType": "YulFunctionCall", - "src": "20637:18:2" - }, - "variables": [ - { - "name": "shiftBits", - "nativeSrc": "20624:9:2", - "nodeType": "YulTypedName", - "src": "20624:9:2", - "type": "" - } - ] - }, - { - "nativeSrc": "20664:109:2", - "nodeType": "YulVariableDeclaration", - "src": "20664:109:2", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nativeSrc": "20695:9:2", - "nodeType": "YulIdentifier", - "src": "20695:9:2" - }, - { - "kind": "number", - "nativeSrc": "20706:66:2", - "nodeType": "YulLiteral", - "src": "20706:66:2", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nativeSrc": "20676:18:2", - "nodeType": "YulIdentifier", - "src": "20676:18:2" - }, - "nativeSrc": "20676:97:2", - "nodeType": "YulFunctionCall", - "src": "20676:97:2" - }, - "variables": [ - { - "name": "mask", - "nativeSrc": "20668:4:2", - "nodeType": "YulTypedName", - "src": "20668:4:2", - "type": "" - } - ] - }, - { - "nativeSrc": "20782:51:2", - "nodeType": "YulAssignment", - "src": "20782:51:2", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nativeSrc": "20813:9:2", - "nodeType": "YulIdentifier", - "src": "20813:9:2" - }, - { - "name": "toInsert", - "nativeSrc": "20824:8:2", - "nodeType": "YulIdentifier", - "src": "20824:8:2" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nativeSrc": "20794:18:2", - "nodeType": "YulIdentifier", - "src": "20794:18:2" - }, - "nativeSrc": "20794:39:2", - "nodeType": "YulFunctionCall", - "src": "20794:39:2" - }, - "variableNames": [ - { - "name": "toInsert", - "nativeSrc": "20782:8:2", - "nodeType": "YulIdentifier", - "src": "20782:8:2" - } - ] - }, - { - "nativeSrc": "20842:30:2", - "nodeType": "YulAssignment", - "src": "20842:30:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "20855:5:2", - "nodeType": "YulIdentifier", - "src": "20855:5:2" - }, - { - "arguments": [ - { - "name": "mask", - "nativeSrc": "20866:4:2", - "nodeType": "YulIdentifier", - "src": "20866:4:2" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "20862:3:2", - "nodeType": "YulIdentifier", - "src": "20862:3:2" - }, - "nativeSrc": "20862:9:2", - "nodeType": "YulFunctionCall", - "src": "20862:9:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "20851:3:2", - "nodeType": "YulIdentifier", - "src": "20851:3:2" - }, - "nativeSrc": "20851:21:2", - "nodeType": "YulFunctionCall", - "src": "20851:21:2" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "20842:5:2", - "nodeType": "YulIdentifier", - "src": "20842:5:2" - } - ] - }, - { - "nativeSrc": "20881:40:2", - "nodeType": "YulAssignment", - "src": "20881:40:2", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "20894:5:2", - "nodeType": "YulIdentifier", - "src": "20894:5:2" - }, - { - "arguments": [ - { - "name": "toInsert", - "nativeSrc": "20905:8:2", - "nodeType": "YulIdentifier", - "src": "20905:8:2" - }, - { - "name": "mask", - "nativeSrc": "20915:4:2", - "nodeType": "YulIdentifier", - "src": "20915:4:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "20901:3:2", - "nodeType": "YulIdentifier", - "src": "20901:3:2" - }, - "nativeSrc": "20901:19:2", - "nodeType": "YulFunctionCall", - "src": "20901:19:2" - } - ], - "functionName": { - "name": "or", - "nativeSrc": "20891:2:2", - "nodeType": "YulIdentifier", - "src": "20891:2:2" - }, - "nativeSrc": "20891:30:2", - "nodeType": "YulFunctionCall", - "src": "20891:30:2" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "20881:6:2", - "nodeType": "YulIdentifier", - "src": "20881:6:2" - } - ] - } - ] - }, - "name": "update_byte_slice_dynamic32", - "nativeSrc": "20534:393:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "20571:5:2", - "nodeType": "YulTypedName", - "src": "20571:5:2", - "type": "" - }, - { - "name": "shiftBytes", - "nativeSrc": "20578:10:2", - "nodeType": "YulTypedName", - "src": "20578:10:2", - "type": "" - }, - { - "name": "toInsert", - "nativeSrc": "20590:8:2", - "nodeType": "YulTypedName", - "src": "20590:8:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "20603:6:2", - "nodeType": "YulTypedName", - "src": "20603:6:2", - "type": "" - } - ], - "src": "20534:393:2" - }, - { - "body": { - "nativeSrc": "20965:28:2", - "nodeType": "YulBlock", - "src": "20965:28:2", - "statements": [ - { - "nativeSrc": "20975:12:2", - "nodeType": "YulAssignment", - "src": "20975:12:2", - "value": { - "name": "value", - "nativeSrc": "20982:5:2", - "nodeType": "YulIdentifier", - "src": "20982:5:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "20975:3:2", - "nodeType": "YulIdentifier", - "src": "20975:3:2" - } - ] - } - ] - }, - "name": "identity", - "nativeSrc": "20933:60:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "20951:5:2", - "nodeType": "YulTypedName", - "src": "20951:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "20961:3:2", - "nodeType": "YulTypedName", - "src": "20961:3:2", - "type": "" - } - ], - "src": "20933:60:2" - }, - { - "body": { - "nativeSrc": "21059:82:2", - "nodeType": "YulBlock", - "src": "21059:82:2", - "statements": [ - { - "nativeSrc": "21069:66:2", - "nodeType": "YulAssignment", - "src": "21069:66:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "21127:5:2", - "nodeType": "YulIdentifier", - "src": "21127:5:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "21109:17:2", - "nodeType": "YulIdentifier", - "src": "21109:17:2" - }, - "nativeSrc": "21109:24:2", - "nodeType": "YulFunctionCall", - "src": "21109:24:2" - } - ], - "functionName": { - "name": "identity", - "nativeSrc": "21100:8:2", - "nodeType": "YulIdentifier", - "src": "21100:8:2" - }, - "nativeSrc": "21100:34:2", - "nodeType": "YulFunctionCall", - "src": "21100:34:2" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "21082:17:2", - "nodeType": "YulIdentifier", - "src": "21082:17:2" - }, - "nativeSrc": "21082:53:2", - "nodeType": "YulFunctionCall", - "src": "21082:53:2" - }, - "variableNames": [ - { - "name": "converted", - "nativeSrc": "21069:9:2", - "nodeType": "YulIdentifier", - "src": "21069:9:2" - } - ] - } - ] - }, - "name": "convert_t_uint256_to_t_uint256", - "nativeSrc": "20999:142:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "21039:5:2", - "nodeType": "YulTypedName", - "src": "21039:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nativeSrc": "21049:9:2", - "nodeType": "YulTypedName", - "src": "21049:9:2", - "type": "" - } - ], - "src": "20999:142:2" - }, - { - "body": { - "nativeSrc": "21194:28:2", - "nodeType": "YulBlock", - "src": "21194:28:2", - "statements": [ - { - "nativeSrc": "21204:12:2", - "nodeType": "YulAssignment", - "src": "21204:12:2", - "value": { - "name": "value", - "nativeSrc": "21211:5:2", - "nodeType": "YulIdentifier", - "src": "21211:5:2" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "21204:3:2", - "nodeType": "YulIdentifier", - "src": "21204:3:2" - } - ] - } - ] - }, - "name": "prepare_store_t_uint256", - "nativeSrc": "21147:75:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "21180:5:2", - "nodeType": "YulTypedName", - "src": "21180:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "21190:3:2", - "nodeType": "YulTypedName", - "src": "21190:3:2", - "type": "" - } - ], - "src": "21147:75:2" - }, - { - "body": { - "nativeSrc": "21304:193:2", - "nodeType": "YulBlock", - "src": "21304:193:2", - "statements": [ - { - "nativeSrc": "21314:63:2", - "nodeType": "YulVariableDeclaration", - "src": "21314:63:2", - "value": { - "arguments": [ - { - "name": "value_0", - "nativeSrc": "21369:7:2", - "nodeType": "YulIdentifier", - "src": "21369:7:2" - } - ], - "functionName": { - "name": "convert_t_uint256_to_t_uint256", - "nativeSrc": "21338:30:2", - "nodeType": "YulIdentifier", - "src": "21338:30:2" - }, - "nativeSrc": "21338:39:2", - "nodeType": "YulFunctionCall", - "src": "21338:39:2" - }, - "variables": [ - { - "name": "convertedValue_0", - "nativeSrc": "21318:16:2", - "nodeType": "YulTypedName", - "src": "21318:16:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "21393:4:2", - "nodeType": "YulIdentifier", - "src": "21393:4:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nativeSrc": "21433:4:2", - "nodeType": "YulIdentifier", - "src": "21433:4:2" - } - ], - "functionName": { - "name": "sload", - "nativeSrc": "21427:5:2", - "nodeType": "YulIdentifier", - "src": "21427:5:2" - }, - "nativeSrc": "21427:11:2", - "nodeType": "YulFunctionCall", - "src": "21427:11:2" - }, - { - "name": "offset", - "nativeSrc": "21440:6:2", - "nodeType": "YulIdentifier", - "src": "21440:6:2" - }, - { - "arguments": [ - { - "name": "convertedValue_0", - "nativeSrc": "21472:16:2", - "nodeType": "YulIdentifier", - "src": "21472:16:2" - } - ], - "functionName": { - "name": "prepare_store_t_uint256", - "nativeSrc": "21448:23:2", - "nodeType": "YulIdentifier", - "src": "21448:23:2" - }, - "nativeSrc": "21448:41:2", - "nodeType": "YulFunctionCall", - "src": "21448:41:2" - } - ], - "functionName": { - "name": "update_byte_slice_dynamic32", - "nativeSrc": "21399:27:2", - "nodeType": "YulIdentifier", - "src": "21399:27:2" - }, - "nativeSrc": "21399:91:2", - "nodeType": "YulFunctionCall", - "src": "21399:91:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "21386:6:2", - "nodeType": "YulIdentifier", - "src": "21386:6:2" - }, - "nativeSrc": "21386:105:2", - "nodeType": "YulFunctionCall", - "src": "21386:105:2" - }, - "nativeSrc": "21386:105:2", - "nodeType": "YulExpressionStatement", - "src": "21386:105:2" - } - ] - }, - "name": "update_storage_value_t_uint256_to_t_uint256", - "nativeSrc": "21228:269:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nativeSrc": "21281:4:2", - "nodeType": "YulTypedName", - "src": "21281:4:2", - "type": "" - }, - { - "name": "offset", - "nativeSrc": "21287:6:2", - "nodeType": "YulTypedName", - "src": "21287:6:2", - "type": "" - }, - { - "name": "value_0", - "nativeSrc": "21295:7:2", - "nodeType": "YulTypedName", - "src": "21295:7:2", - "type": "" - } - ], - "src": "21228:269:2" - }, - { - "body": { - "nativeSrc": "21552:24:2", - "nodeType": "YulBlock", - "src": "21552:24:2", - "statements": [ - { - "nativeSrc": "21562:8:2", - "nodeType": "YulAssignment", - "src": "21562:8:2", - "value": { - "kind": "number", - "nativeSrc": "21569:1:2", - "nodeType": "YulLiteral", - "src": "21569:1:2", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "21562:3:2", - "nodeType": "YulIdentifier", - "src": "21562:3:2" - } - ] - } - ] - }, - "name": "zero_value_for_split_t_uint256", - "nativeSrc": "21503:73:2", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "ret", - "nativeSrc": "21548:3:2", - "nodeType": "YulTypedName", - "src": "21548:3:2", - "type": "" - } - ], - "src": "21503:73:2" - }, - { - "body": { - "nativeSrc": "21635:136:2", - "nodeType": "YulBlock", - "src": "21635:136:2", - "statements": [ - { - "nativeSrc": "21645:46:2", - "nodeType": "YulVariableDeclaration", - "src": "21645:46:2", - "value": { - "arguments": [], - "functionName": { - "name": "zero_value_for_split_t_uint256", - "nativeSrc": "21659:30:2", - "nodeType": "YulIdentifier", - "src": "21659:30:2" - }, - "nativeSrc": "21659:32:2", - "nodeType": "YulFunctionCall", - "src": "21659:32:2" - }, - "variables": [ - { - "name": "zero_0", - "nativeSrc": "21649:6:2", - "nodeType": "YulTypedName", - "src": "21649:6:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "21744:4:2", - "nodeType": "YulIdentifier", - "src": "21744:4:2" - }, - { - "name": "offset", - "nativeSrc": "21750:6:2", - "nodeType": "YulIdentifier", - "src": "21750:6:2" - }, - { - "name": "zero_0", - "nativeSrc": "21758:6:2", - "nodeType": "YulIdentifier", - "src": "21758:6:2" - } - ], - "functionName": { - "name": "update_storage_value_t_uint256_to_t_uint256", - "nativeSrc": "21700:43:2", - "nodeType": "YulIdentifier", - "src": "21700:43:2" - }, - "nativeSrc": "21700:65:2", - "nodeType": "YulFunctionCall", - "src": "21700:65:2" - }, - "nativeSrc": "21700:65:2", - "nodeType": "YulExpressionStatement", - "src": "21700:65:2" - } - ] - }, - "name": "storage_set_to_zero_t_uint256", - "nativeSrc": "21582:189:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nativeSrc": "21621:4:2", - "nodeType": "YulTypedName", - "src": "21621:4:2", - "type": "" - }, - { - "name": "offset", - "nativeSrc": "21627:6:2", - "nodeType": "YulTypedName", - "src": "21627:6:2", - "type": "" - } - ], - "src": "21582:189:2" - }, - { - "body": { - "nativeSrc": "21827:136:2", - "nodeType": "YulBlock", - "src": "21827:136:2", - "statements": [ - { - "body": { - "nativeSrc": "21894:63:2", - "nodeType": "YulBlock", - "src": "21894:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nativeSrc": "21938:5:2", - "nodeType": "YulIdentifier", - "src": "21938:5:2" - }, - { - "kind": "number", - "nativeSrc": "21945:1:2", - "nodeType": "YulLiteral", - "src": "21945:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "storage_set_to_zero_t_uint256", - "nativeSrc": "21908:29:2", - "nodeType": "YulIdentifier", - "src": "21908:29:2" - }, - "nativeSrc": "21908:39:2", - "nodeType": "YulFunctionCall", - "src": "21908:39:2" - }, - "nativeSrc": "21908:39:2", - "nodeType": "YulExpressionStatement", - "src": "21908:39:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nativeSrc": "21847:5:2", - "nodeType": "YulIdentifier", - "src": "21847:5:2" - }, - { - "name": "end", - "nativeSrc": "21854:3:2", - "nodeType": "YulIdentifier", - "src": "21854:3:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "21844:2:2", - "nodeType": "YulIdentifier", - "src": "21844:2:2" - }, - "nativeSrc": "21844:14:2", - "nodeType": "YulFunctionCall", - "src": "21844:14:2" - }, - "nativeSrc": "21837:120:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "21859:26:2", - "nodeType": "YulBlock", - "src": "21859:26:2", - "statements": [ - { - "nativeSrc": "21861:22:2", - "nodeType": "YulAssignment", - "src": "21861:22:2", - "value": { - "arguments": [ - { - "name": "start", - "nativeSrc": "21874:5:2", - "nodeType": "YulIdentifier", - "src": "21874:5:2" - }, - { - "kind": "number", - "nativeSrc": "21881:1:2", - "nodeType": "YulLiteral", - "src": "21881:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "21870:3:2", - "nodeType": "YulIdentifier", - "src": "21870:3:2" - }, - "nativeSrc": "21870:13:2", - "nodeType": "YulFunctionCall", - "src": "21870:13:2" - }, - "variableNames": [ - { - "name": "start", - "nativeSrc": "21861:5:2", - "nodeType": "YulIdentifier", - "src": "21861:5:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "21841:2:2", - "nodeType": "YulBlock", - "src": "21841:2:2", - "statements": [] - }, - "src": "21837:120:2" - } - ] - }, - "name": "clear_storage_range_t_bytes1", - "nativeSrc": "21777:186:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nativeSrc": "21815:5:2", - "nodeType": "YulTypedName", - "src": "21815:5:2", - "type": "" - }, - { - "name": "end", - "nativeSrc": "21822:3:2", - "nodeType": "YulTypedName", - "src": "21822:3:2", - "type": "" - } - ], - "src": "21777:186:2" - }, - { - "body": { - "nativeSrc": "22048:464:2", - "nodeType": "YulBlock", - "src": "22048:464:2", - "statements": [ - { - "body": { - "nativeSrc": "22074:431:2", - "nodeType": "YulBlock", - "src": "22074:431:2", - "statements": [ - { - "nativeSrc": "22088:54:2", - "nodeType": "YulVariableDeclaration", - "src": "22088:54:2", - "value": { - "arguments": [ - { - "name": "array", - "nativeSrc": "22136:5:2", - "nodeType": "YulIdentifier", - "src": "22136:5:2" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nativeSrc": "22104:31:2", - "nodeType": "YulIdentifier", - "src": "22104:31:2" - }, - "nativeSrc": "22104:38:2", - "nodeType": "YulFunctionCall", - "src": "22104:38:2" - }, - "variables": [ - { - "name": "dataArea", - "nativeSrc": "22092:8:2", - "nodeType": "YulTypedName", - "src": "22092:8:2", - "type": "" - } - ] - }, - { - "nativeSrc": "22155:63:2", - "nodeType": "YulVariableDeclaration", - "src": "22155:63:2", - "value": { - "arguments": [ - { - "name": "dataArea", - "nativeSrc": "22178:8:2", - "nodeType": "YulIdentifier", - "src": "22178:8:2" - }, - { - "arguments": [ - { - "name": "startIndex", - "nativeSrc": "22206:10:2", - "nodeType": "YulIdentifier", - "src": "22206:10:2" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nativeSrc": "22188:17:2", - "nodeType": "YulIdentifier", - "src": "22188:17:2" - }, - "nativeSrc": "22188:29:2", - "nodeType": "YulFunctionCall", - "src": "22188:29:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "22174:3:2", - "nodeType": "YulIdentifier", - "src": "22174:3:2" - }, - "nativeSrc": "22174:44:2", - "nodeType": "YulFunctionCall", - "src": "22174:44:2" - }, - "variables": [ - { - "name": "deleteStart", - "nativeSrc": "22159:11:2", - "nodeType": "YulTypedName", - "src": "22159:11:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "22375:27:2", - "nodeType": "YulBlock", - "src": "22375:27:2", - "statements": [ - { - "nativeSrc": "22377:23:2", - "nodeType": "YulAssignment", - "src": "22377:23:2", - "value": { - "name": "dataArea", - "nativeSrc": "22392:8:2", - "nodeType": "YulIdentifier", - "src": "22392:8:2" - }, - "variableNames": [ - { - "name": "deleteStart", - "nativeSrc": "22377:11:2", - "nodeType": "YulIdentifier", - "src": "22377:11:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nativeSrc": "22359:10:2", - "nodeType": "YulIdentifier", - "src": "22359:10:2" - }, - { - "kind": "number", - "nativeSrc": "22371:2:2", - "nodeType": "YulLiteral", - "src": "22371:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "22356:2:2", - "nodeType": "YulIdentifier", - "src": "22356:2:2" - }, - "nativeSrc": "22356:18:2", - "nodeType": "YulFunctionCall", - "src": "22356:18:2" - }, - "nativeSrc": "22353:49:2", - "nodeType": "YulIf", - "src": "22353:49:2" - }, - { - "expression": { - "arguments": [ - { - "name": "deleteStart", - "nativeSrc": "22444:11:2", - "nodeType": "YulIdentifier", - "src": "22444:11:2" - }, - { - "arguments": [ - { - "name": "dataArea", - "nativeSrc": "22461:8:2", - "nodeType": "YulIdentifier", - "src": "22461:8:2" - }, - { - "arguments": [ - { - "name": "len", - "nativeSrc": "22489:3:2", - "nodeType": "YulIdentifier", - "src": "22489:3:2" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nativeSrc": "22471:17:2", - "nodeType": "YulIdentifier", - "src": "22471:17:2" - }, - "nativeSrc": "22471:22:2", - "nodeType": "YulFunctionCall", - "src": "22471:22:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "22457:3:2", - "nodeType": "YulIdentifier", - "src": "22457:3:2" - }, - "nativeSrc": "22457:37:2", - "nodeType": "YulFunctionCall", - "src": "22457:37:2" - } - ], - "functionName": { - "name": "clear_storage_range_t_bytes1", - "nativeSrc": "22415:28:2", - "nodeType": "YulIdentifier", - "src": "22415:28:2" - }, - "nativeSrc": "22415:80:2", - "nodeType": "YulFunctionCall", - "src": "22415:80:2" - }, - "nativeSrc": "22415:80:2", - "nodeType": "YulExpressionStatement", - "src": "22415:80:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nativeSrc": "22065:3:2", - "nodeType": "YulIdentifier", - "src": "22065:3:2" - }, - { - "kind": "number", - "nativeSrc": "22070:2:2", - "nodeType": "YulLiteral", - "src": "22070:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "22062:2:2", - "nodeType": "YulIdentifier", - "src": "22062:2:2" - }, - "nativeSrc": "22062:11:2", - "nodeType": "YulFunctionCall", - "src": "22062:11:2" - }, - "nativeSrc": "22059:446:2", - "nodeType": "YulIf", - "src": "22059:446:2" - } - ] - }, - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nativeSrc": "21969:543:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nativeSrc": "22024:5:2", - "nodeType": "YulTypedName", - "src": "22024:5:2", - "type": "" - }, - { - "name": "len", - "nativeSrc": "22031:3:2", - "nodeType": "YulTypedName", - "src": "22031:3:2", - "type": "" - }, - { - "name": "startIndex", - "nativeSrc": "22036:10:2", - "nodeType": "YulTypedName", - "src": "22036:10:2", - "type": "" - } - ], - "src": "21969:543:2" - }, - { - "body": { - "nativeSrc": "22581:54:2", - "nodeType": "YulBlock", - "src": "22581:54:2", - "statements": [ - { - "nativeSrc": "22591:37:2", - "nodeType": "YulAssignment", - "src": "22591:37:2", - "value": { - "arguments": [ - { - "name": "bits", - "nativeSrc": "22616:4:2", - "nodeType": "YulIdentifier", - "src": "22616:4:2" - }, - { - "name": "value", - "nativeSrc": "22622:5:2", - "nodeType": "YulIdentifier", - "src": "22622:5:2" - } - ], - "functionName": { - "name": "shr", - "nativeSrc": "22612:3:2", - "nodeType": "YulIdentifier", - "src": "22612:3:2" - }, - "nativeSrc": "22612:16:2", - "nodeType": "YulFunctionCall", - "src": "22612:16:2" - }, - "variableNames": [ - { - "name": "newValue", - "nativeSrc": "22591:8:2", - "nodeType": "YulIdentifier", - "src": "22591:8:2" - } - ] - } - ] - }, - "name": "shift_right_unsigned_dynamic", - "nativeSrc": "22518:117:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nativeSrc": "22556:4:2", - "nodeType": "YulTypedName", - "src": "22556:4:2", - "type": "" - }, - { - "name": "value", - "nativeSrc": "22562:5:2", - "nodeType": "YulTypedName", - "src": "22562:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nativeSrc": "22572:8:2", - "nodeType": "YulTypedName", - "src": "22572:8:2", - "type": "" - } - ], - "src": "22518:117:2" - }, - { - "body": { - "nativeSrc": "22692:118:2", - "nodeType": "YulBlock", - "src": "22692:118:2", - "statements": [ - { - "nativeSrc": "22702:68:2", - "nodeType": "YulVariableDeclaration", - "src": "22702:68:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "22751:1:2", - "nodeType": "YulLiteral", - "src": "22751:1:2", - "type": "", - "value": "8" - }, - { - "name": "bytes", - "nativeSrc": "22754:5:2", - "nodeType": "YulIdentifier", - "src": "22754:5:2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "22747:3:2", - "nodeType": "YulIdentifier", - "src": "22747:3:2" - }, - "nativeSrc": "22747:13:2", - "nodeType": "YulFunctionCall", - "src": "22747:13:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "22766:1:2", - "nodeType": "YulLiteral", - "src": "22766:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "22762:3:2", - "nodeType": "YulIdentifier", - "src": "22762:3:2" - }, - "nativeSrc": "22762:6:2", - "nodeType": "YulFunctionCall", - "src": "22762:6:2" - } - ], - "functionName": { - "name": "shift_right_unsigned_dynamic", - "nativeSrc": "22718:28:2", - "nodeType": "YulIdentifier", - "src": "22718:28:2" - }, - "nativeSrc": "22718:51:2", - "nodeType": "YulFunctionCall", - "src": "22718:51:2" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "22714:3:2", - "nodeType": "YulIdentifier", - "src": "22714:3:2" - }, - "nativeSrc": "22714:56:2", - "nodeType": "YulFunctionCall", - "src": "22714:56:2" - }, - "variables": [ - { - "name": "mask", - "nativeSrc": "22706:4:2", - "nodeType": "YulTypedName", - "src": "22706:4:2", - "type": "" - } - ] - }, - { - "nativeSrc": "22779:25:2", - "nodeType": "YulAssignment", - "src": "22779:25:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "22793:4:2", - "nodeType": "YulIdentifier", - "src": "22793:4:2" - }, - { - "name": "mask", - "nativeSrc": "22799:4:2", - "nodeType": "YulIdentifier", - "src": "22799:4:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "22789:3:2", - "nodeType": "YulIdentifier", - "src": "22789:3:2" - }, - "nativeSrc": "22789:15:2", - "nodeType": "YulFunctionCall", - "src": "22789:15:2" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "22779:6:2", - "nodeType": "YulIdentifier", - "src": "22779:6:2" - } - ] - } - ] - }, - "name": "mask_bytes_dynamic", - "nativeSrc": "22641:169:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nativeSrc": "22669:4:2", - "nodeType": "YulTypedName", - "src": "22669:4:2", - "type": "" - }, - { - "name": "bytes", - "nativeSrc": "22675:5:2", - "nodeType": "YulTypedName", - "src": "22675:5:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "22685:6:2", - "nodeType": "YulTypedName", - "src": "22685:6:2", - "type": "" - } - ], - "src": "22641:169:2" - }, - { - "body": { - "nativeSrc": "22896:214:2", - "nodeType": "YulBlock", - "src": "22896:214:2", - "statements": [ - { - "nativeSrc": "23029:37:2", - "nodeType": "YulAssignment", - "src": "23029:37:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "23056:4:2", - "nodeType": "YulIdentifier", - "src": "23056:4:2" - }, - { - "name": "len", - "nativeSrc": "23062:3:2", - "nodeType": "YulIdentifier", - "src": "23062:3:2" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nativeSrc": "23037:18:2", - "nodeType": "YulIdentifier", - "src": "23037:18:2" - }, - "nativeSrc": "23037:29:2", - "nodeType": "YulFunctionCall", - "src": "23037:29:2" - }, - "variableNames": [ - { - "name": "data", - "nativeSrc": "23029:4:2", - "nodeType": "YulIdentifier", - "src": "23029:4:2" - } - ] - }, - { - "nativeSrc": "23075:29:2", - "nodeType": "YulAssignment", - "src": "23075:29:2", - "value": { - "arguments": [ - { - "name": "data", - "nativeSrc": "23086:4:2", - "nodeType": "YulIdentifier", - "src": "23086:4:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "23096:1:2", - "nodeType": "YulLiteral", - "src": "23096:1:2", - "type": "", - "value": "2" - }, - { - "name": "len", - "nativeSrc": "23099:3:2", - "nodeType": "YulIdentifier", - "src": "23099:3:2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "23092:3:2", - "nodeType": "YulIdentifier", - "src": "23092:3:2" - }, - "nativeSrc": "23092:11:2", - "nodeType": "YulFunctionCall", - "src": "23092:11:2" - } - ], - "functionName": { - "name": "or", - "nativeSrc": "23083:2:2", - "nodeType": "YulIdentifier", - "src": "23083:2:2" - }, - "nativeSrc": "23083:21:2", - "nodeType": "YulFunctionCall", - "src": "23083:21:2" - }, - "variableNames": [ - { - "name": "used", - "nativeSrc": "23075:4:2", - "nodeType": "YulIdentifier", - "src": "23075:4:2" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "22815:295:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nativeSrc": "22877:4:2", - "nodeType": "YulTypedName", - "src": "22877:4:2", - "type": "" - }, - { - "name": "len", - "nativeSrc": "22883:3:2", - "nodeType": "YulTypedName", - "src": "22883:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nativeSrc": "22891:4:2", - "nodeType": "YulTypedName", - "src": "22891:4:2", - "type": "" - } - ], - "src": "22815:295:2" - }, - { - "body": { - "nativeSrc": "23207:1303:2", - "nodeType": "YulBlock", - "src": "23207:1303:2", - "statements": [ - { - "nativeSrc": "23218:51:2", - "nodeType": "YulVariableDeclaration", - "src": "23218:51:2", - "value": { - "arguments": [ - { - "name": "src", - "nativeSrc": "23265:3:2", - "nodeType": "YulIdentifier", - "src": "23265:3:2" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "23232:32:2", - "nodeType": "YulIdentifier", - "src": "23232:32:2" - }, - "nativeSrc": "23232:37:2", - "nodeType": "YulFunctionCall", - "src": "23232:37:2" - }, - "variables": [ - { - "name": "newLen", - "nativeSrc": "23222:6:2", - "nodeType": "YulTypedName", - "src": "23222:6:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "23354:22:2", - "nodeType": "YulBlock", - "src": "23354:22:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nativeSrc": "23356:16:2", - "nodeType": "YulIdentifier", - "src": "23356:16:2" - }, - "nativeSrc": "23356:18:2", - "nodeType": "YulFunctionCall", - "src": "23356:18:2" - }, - "nativeSrc": "23356:18:2", - "nodeType": "YulExpressionStatement", - "src": "23356:18:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "23326:6:2", - "nodeType": "YulIdentifier", - "src": "23326:6:2" - }, - { - "kind": "number", - "nativeSrc": "23334:18:2", - "nodeType": "YulLiteral", - "src": "23334:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "23323:2:2", - "nodeType": "YulIdentifier", - "src": "23323:2:2" - }, - "nativeSrc": "23323:30:2", - "nodeType": "YulFunctionCall", - "src": "23323:30:2" - }, - "nativeSrc": "23320:56:2", - "nodeType": "YulIf", - "src": "23320:56:2" - }, - { - "nativeSrc": "23386:52:2", - "nodeType": "YulVariableDeclaration", - "src": "23386:52:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nativeSrc": "23432:4:2", - "nodeType": "YulIdentifier", - "src": "23432:4:2" - } - ], - "functionName": { - "name": "sload", - "nativeSrc": "23426:5:2", - "nodeType": "YulIdentifier", - "src": "23426:5:2" - }, - "nativeSrc": "23426:11:2", - "nodeType": "YulFunctionCall", - "src": "23426:11:2" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nativeSrc": "23400:25:2", - "nodeType": "YulIdentifier", - "src": "23400:25:2" - }, - "nativeSrc": "23400:38:2", - "nodeType": "YulFunctionCall", - "src": "23400:38:2" - }, - "variables": [ - { - "name": "oldLen", - "nativeSrc": "23390:6:2", - "nodeType": "YulTypedName", - "src": "23390:6:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "23531:4:2", - "nodeType": "YulIdentifier", - "src": "23531:4:2" - }, - { - "name": "oldLen", - "nativeSrc": "23537:6:2", - "nodeType": "YulIdentifier", - "src": "23537:6:2" - }, - { - "name": "newLen", - "nativeSrc": "23545:6:2", - "nodeType": "YulIdentifier", - "src": "23545:6:2" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nativeSrc": "23485:45:2", - "nodeType": "YulIdentifier", - "src": "23485:45:2" - }, - "nativeSrc": "23485:67:2", - "nodeType": "YulFunctionCall", - "src": "23485:67:2" - }, - "nativeSrc": "23485:67:2", - "nodeType": "YulExpressionStatement", - "src": "23485:67:2" - }, - { - "nativeSrc": "23562:18:2", - "nodeType": "YulVariableDeclaration", - "src": "23562:18:2", - "value": { - "kind": "number", - "nativeSrc": "23579:1:2", - "nodeType": "YulLiteral", - "src": "23579:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nativeSrc": "23566:9:2", - "nodeType": "YulTypedName", - "src": "23566:9:2", - "type": "" - } - ] - }, - { - "nativeSrc": "23590:17:2", - "nodeType": "YulAssignment", - "src": "23590:17:2", - "value": { - "kind": "number", - "nativeSrc": "23603:4:2", - "nodeType": "YulLiteral", - "src": "23603:4:2", - "type": "", - "value": "0x20" - }, - "variableNames": [ - { - "name": "srcOffset", - "nativeSrc": "23590:9:2", - "nodeType": "YulIdentifier", - "src": "23590:9:2" - } - ] - }, - { - "cases": [ - { - "body": { - "nativeSrc": "23654:611:2", - "nodeType": "YulBlock", - "src": "23654:611:2", - "statements": [ - { - "nativeSrc": "23668:37:2", - "nodeType": "YulVariableDeclaration", - "src": "23668:37:2", - "value": { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "23687:6:2", - "nodeType": "YulIdentifier", - "src": "23687:6:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "23699:4:2", - "nodeType": "YulLiteral", - "src": "23699:4:2", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "23695:3:2", - "nodeType": "YulIdentifier", - "src": "23695:3:2" - }, - "nativeSrc": "23695:9:2", - "nodeType": "YulFunctionCall", - "src": "23695:9:2" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "23683:3:2", - "nodeType": "YulIdentifier", - "src": "23683:3:2" - }, - "nativeSrc": "23683:22:2", - "nodeType": "YulFunctionCall", - "src": "23683:22:2" - }, - "variables": [ - { - "name": "loopEnd", - "nativeSrc": "23672:7:2", - "nodeType": "YulTypedName", - "src": "23672:7:2", - "type": "" - } - ] - }, - { - "nativeSrc": "23719:51:2", - "nodeType": "YulVariableDeclaration", - "src": "23719:51:2", - "value": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "23765:4:2", - "nodeType": "YulIdentifier", - "src": "23765:4:2" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nativeSrc": "23733:31:2", - "nodeType": "YulIdentifier", - "src": "23733:31:2" - }, - "nativeSrc": "23733:37:2", - "nodeType": "YulFunctionCall", - "src": "23733:37:2" - }, - "variables": [ - { - "name": "dstPtr", - "nativeSrc": "23723:6:2", - "nodeType": "YulTypedName", - "src": "23723:6:2", - "type": "" - } - ] - }, - { - "nativeSrc": "23783:10:2", - "nodeType": "YulVariableDeclaration", - "src": "23783:10:2", - "value": { - "kind": "number", - "nativeSrc": "23792:1:2", - "nodeType": "YulLiteral", - "src": "23792:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nativeSrc": "23787:1:2", - "nodeType": "YulTypedName", - "src": "23787:1:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "23851:163:2", - "nodeType": "YulBlock", - "src": "23851:163:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nativeSrc": "23876:6:2", - "nodeType": "YulIdentifier", - "src": "23876:6:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "23894:3:2", - "nodeType": "YulIdentifier", - "src": "23894:3:2" - }, - { - "name": "srcOffset", - "nativeSrc": "23899:9:2", - "nodeType": "YulIdentifier", - "src": "23899:9:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "23890:3:2", - "nodeType": "YulIdentifier", - "src": "23890:3:2" - }, - "nativeSrc": "23890:19:2", - "nodeType": "YulFunctionCall", - "src": "23890:19:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "23884:5:2", - "nodeType": "YulIdentifier", - "src": "23884:5:2" - }, - "nativeSrc": "23884:26:2", - "nodeType": "YulFunctionCall", - "src": "23884:26:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "23869:6:2", - "nodeType": "YulIdentifier", - "src": "23869:6:2" - }, - "nativeSrc": "23869:42:2", - "nodeType": "YulFunctionCall", - "src": "23869:42:2" - }, - "nativeSrc": "23869:42:2", - "nodeType": "YulExpressionStatement", - "src": "23869:42:2" - }, - { - "nativeSrc": "23928:24:2", - "nodeType": "YulAssignment", - "src": "23928:24:2", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nativeSrc": "23942:6:2", - "nodeType": "YulIdentifier", - "src": "23942:6:2" - }, - { - "kind": "number", - "nativeSrc": "23950:1:2", - "nodeType": "YulLiteral", - "src": "23950:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "23938:3:2", - "nodeType": "YulIdentifier", - "src": "23938:3:2" - }, - "nativeSrc": "23938:14:2", - "nodeType": "YulFunctionCall", - "src": "23938:14:2" - }, - "variableNames": [ - { - "name": "dstPtr", - "nativeSrc": "23928:6:2", - "nodeType": "YulIdentifier", - "src": "23928:6:2" - } - ] - }, - { - "nativeSrc": "23969:31:2", - "nodeType": "YulAssignment", - "src": "23969:31:2", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nativeSrc": "23986:9:2", - "nodeType": "YulIdentifier", - "src": "23986:9:2" - }, - { - "kind": "number", - "nativeSrc": "23997:2:2", - "nodeType": "YulLiteral", - "src": "23997:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "23982:3:2", - "nodeType": "YulIdentifier", - "src": "23982:3:2" - }, - "nativeSrc": "23982:18:2", - "nodeType": "YulFunctionCall", - "src": "23982:18:2" - }, - "variableNames": [ - { - "name": "srcOffset", - "nativeSrc": "23969:9:2", - "nodeType": "YulIdentifier", - "src": "23969:9:2" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nativeSrc": "23817:1:2", - "nodeType": "YulIdentifier", - "src": "23817:1:2" - }, - { - "name": "loopEnd", - "nativeSrc": "23820:7:2", - "nodeType": "YulIdentifier", - "src": "23820:7:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "23814:2:2", - "nodeType": "YulIdentifier", - "src": "23814:2:2" - }, - "nativeSrc": "23814:14:2", - "nodeType": "YulFunctionCall", - "src": "23814:14:2" - }, - "nativeSrc": "23806:208:2", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "23829:21:2", - "nodeType": "YulBlock", - "src": "23829:21:2", - "statements": [ - { - "nativeSrc": "23831:17:2", - "nodeType": "YulAssignment", - "src": "23831:17:2", - "value": { - "arguments": [ - { - "name": "i", - "nativeSrc": "23840:1:2", - "nodeType": "YulIdentifier", - "src": "23840:1:2" - }, - { - "kind": "number", - "nativeSrc": "23843:4:2", - "nodeType": "YulLiteral", - "src": "23843:4:2", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "23836:3:2", - "nodeType": "YulIdentifier", - "src": "23836:3:2" - }, - "nativeSrc": "23836:12:2", - "nodeType": "YulFunctionCall", - "src": "23836:12:2" - }, - "variableNames": [ - { - "name": "i", - "nativeSrc": "23831:1:2", - "nodeType": "YulIdentifier", - "src": "23831:1:2" - } - ] - } - ] - }, - "pre": { - "nativeSrc": "23810:3:2", - "nodeType": "YulBlock", - "src": "23810:3:2", - "statements": [] - }, - "src": "23806:208:2" - }, - { - "body": { - "nativeSrc": "24050:156:2", - "nodeType": "YulBlock", - "src": "24050:156:2", - "statements": [ - { - "nativeSrc": "24068:43:2", - "nodeType": "YulVariableDeclaration", - "src": "24068:43:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "24095:3:2", - "nodeType": "YulIdentifier", - "src": "24095:3:2" - }, - { - "name": "srcOffset", - "nativeSrc": "24100:9:2", - "nodeType": "YulIdentifier", - "src": "24100:9:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "24091:3:2", - "nodeType": "YulIdentifier", - "src": "24091:3:2" - }, - "nativeSrc": "24091:19:2", - "nodeType": "YulFunctionCall", - "src": "24091:19:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "24085:5:2", - "nodeType": "YulIdentifier", - "src": "24085:5:2" - }, - "nativeSrc": "24085:26:2", - "nodeType": "YulFunctionCall", - "src": "24085:26:2" - }, - "variables": [ - { - "name": "lastValue", - "nativeSrc": "24072:9:2", - "nodeType": "YulTypedName", - "src": "24072:9:2", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nativeSrc": "24135:6:2", - "nodeType": "YulIdentifier", - "src": "24135:6:2" - }, - { - "arguments": [ - { - "name": "lastValue", - "nativeSrc": "24162:9:2", - "nodeType": "YulIdentifier", - "src": "24162:9:2" - }, - { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "24177:6:2", - "nodeType": "YulIdentifier", - "src": "24177:6:2" - }, - { - "kind": "number", - "nativeSrc": "24185:4:2", - "nodeType": "YulLiteral", - "src": "24185:4:2", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "24173:3:2", - "nodeType": "YulIdentifier", - "src": "24173:3:2" - }, - "nativeSrc": "24173:17:2", - "nodeType": "YulFunctionCall", - "src": "24173:17:2" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nativeSrc": "24143:18:2", - "nodeType": "YulIdentifier", - "src": "24143:18:2" - }, - "nativeSrc": "24143:48:2", - "nodeType": "YulFunctionCall", - "src": "24143:48:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "24128:6:2", - "nodeType": "YulIdentifier", - "src": "24128:6:2" - }, - "nativeSrc": "24128:64:2", - "nodeType": "YulFunctionCall", - "src": "24128:64:2" - }, - "nativeSrc": "24128:64:2", - "nodeType": "YulExpressionStatement", - "src": "24128:64:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nativeSrc": "24033:7:2", - "nodeType": "YulIdentifier", - "src": "24033:7:2" - }, - { - "name": "newLen", - "nativeSrc": "24042:6:2", - "nodeType": "YulIdentifier", - "src": "24042:6:2" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "24030:2:2", - "nodeType": "YulIdentifier", - "src": "24030:2:2" - }, - "nativeSrc": "24030:19:2", - "nodeType": "YulFunctionCall", - "src": "24030:19:2" - }, - "nativeSrc": "24027:179:2", - "nodeType": "YulIf", - "src": "24027:179:2" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "24226:4:2", - "nodeType": "YulIdentifier", - "src": "24226:4:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "24240:6:2", - "nodeType": "YulIdentifier", - "src": "24240:6:2" - }, - { - "kind": "number", - "nativeSrc": "24248:1:2", - "nodeType": "YulLiteral", - "src": "24248:1:2", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "24236:3:2", - "nodeType": "YulIdentifier", - "src": "24236:3:2" - }, - "nativeSrc": "24236:14:2", - "nodeType": "YulFunctionCall", - "src": "24236:14:2" - }, - { - "kind": "number", - "nativeSrc": "24252:1:2", - "nodeType": "YulLiteral", - "src": "24252:1:2", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "24232:3:2", - "nodeType": "YulIdentifier", - "src": "24232:3:2" - }, - "nativeSrc": "24232:22:2", - "nodeType": "YulFunctionCall", - "src": "24232:22:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "24219:6:2", - "nodeType": "YulIdentifier", - "src": "24219:6:2" - }, - "nativeSrc": "24219:36:2", - "nodeType": "YulFunctionCall", - "src": "24219:36:2" - }, - "nativeSrc": "24219:36:2", - "nodeType": "YulExpressionStatement", - "src": "24219:36:2" - } - ] - }, - "nativeSrc": "23647:618:2", - "nodeType": "YulCase", - "src": "23647:618:2", - "value": { - "kind": "number", - "nativeSrc": "23652:1:2", - "nodeType": "YulLiteral", - "src": "23652:1:2", - "type": "", - "value": "1" - } - }, - { - "body": { - "nativeSrc": "24282:222:2", - "nodeType": "YulBlock", - "src": "24282:222:2", - "statements": [ - { - "nativeSrc": "24296:14:2", - "nodeType": "YulVariableDeclaration", - "src": "24296:14:2", - "value": { - "kind": "number", - "nativeSrc": "24309:1:2", - "nodeType": "YulLiteral", - "src": "24309:1:2", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nativeSrc": "24300:5:2", - "nodeType": "YulTypedName", - "src": "24300:5:2", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "24333:67:2", - "nodeType": "YulBlock", - "src": "24333:67:2", - "statements": [ - { - "nativeSrc": "24351:35:2", - "nodeType": "YulAssignment", - "src": "24351:35:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nativeSrc": "24370:3:2", - "nodeType": "YulIdentifier", - "src": "24370:3:2" - }, - { - "name": "srcOffset", - "nativeSrc": "24375:9:2", - "nodeType": "YulIdentifier", - "src": "24375:9:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "24366:3:2", - "nodeType": "YulIdentifier", - "src": "24366:3:2" - }, - "nativeSrc": "24366:19:2", - "nodeType": "YulFunctionCall", - "src": "24366:19:2" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "24360:5:2", - "nodeType": "YulIdentifier", - "src": "24360:5:2" - }, - "nativeSrc": "24360:26:2", - "nodeType": "YulFunctionCall", - "src": "24360:26:2" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "24351:5:2", - "nodeType": "YulIdentifier", - "src": "24351:5:2" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nativeSrc": "24326:6:2", - "nodeType": "YulIdentifier", - "src": "24326:6:2" - }, - "nativeSrc": "24323:77:2", - "nodeType": "YulIf", - "src": "24323:77:2" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nativeSrc": "24420:4:2", - "nodeType": "YulIdentifier", - "src": "24420:4:2" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "24479:5:2", - "nodeType": "YulIdentifier", - "src": "24479:5:2" - }, - { - "name": "newLen", - "nativeSrc": "24486:6:2", - "nodeType": "YulIdentifier", - "src": "24486:6:2" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "24426:52:2", - "nodeType": "YulIdentifier", - "src": "24426:52:2" - }, - "nativeSrc": "24426:67:2", - "nodeType": "YulFunctionCall", - "src": "24426:67:2" - } - ], - "functionName": { - "name": "sstore", - "nativeSrc": "24413:6:2", - "nodeType": "YulIdentifier", - "src": "24413:6:2" - }, - "nativeSrc": "24413:81:2", - "nodeType": "YulFunctionCall", - "src": "24413:81:2" - }, - "nativeSrc": "24413:81:2", - "nodeType": "YulExpressionStatement", - "src": "24413:81:2" - } - ] - }, - "nativeSrc": "24274:230:2", - "nodeType": "YulCase", - "src": "24274:230:2", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nativeSrc": "23627:6:2", - "nodeType": "YulIdentifier", - "src": "23627:6:2" - }, - { - "kind": "number", - "nativeSrc": "23635:2:2", - "nodeType": "YulLiteral", - "src": "23635:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "23624:2:2", - "nodeType": "YulIdentifier", - "src": "23624:2:2" - }, - "nativeSrc": "23624:14:2", - "nodeType": "YulFunctionCall", - "src": "23624:14:2" - }, - "nativeSrc": "23617:887:2", - "nodeType": "YulSwitch", - "src": "23617:887:2" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nativeSrc": "23115:1395:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nativeSrc": "23196:4:2", - "nodeType": "YulTypedName", - "src": "23196:4:2", - "type": "" - }, - { - "name": "src", - "nativeSrc": "23202:3:2", - "nodeType": "YulTypedName", - "src": "23202:3:2", - "type": "" - } - ], - "src": "23115:1395:2" - }, - { - "body": { - "nativeSrc": "24622:75:2", - "nodeType": "YulBlock", - "src": "24622:75:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "24644:6:2", - "nodeType": "YulIdentifier", - "src": "24644:6:2" - }, - { - "kind": "number", - "nativeSrc": "24652:1:2", - "nodeType": "YulLiteral", - "src": "24652:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "24640:3:2", - "nodeType": "YulIdentifier", - "src": "24640:3:2" - }, - "nativeSrc": "24640:14:2", - "nodeType": "YulFunctionCall", - "src": "24640:14:2" - }, - { - "hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c", - "kind": "string", - "nativeSrc": "24656:33:2", - "nodeType": "YulLiteral", - "src": "24656:33:2", - "type": "", - "value": "ReentrancyGuard: reentrant call" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "24633:6:2", - "nodeType": "YulIdentifier", - "src": "24633:6:2" - }, - "nativeSrc": "24633:57:2", - "nodeType": "YulFunctionCall", - "src": "24633:57:2" - }, - "nativeSrc": "24633:57:2", - "nodeType": "YulExpressionStatement", - "src": "24633:57:2" - } - ] - }, - "name": "store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", - "nativeSrc": "24516:181:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "24614:6:2", - "nodeType": "YulTypedName", - "src": "24614:6:2", - "type": "" - } - ], - "src": "24516:181:2" - }, - { - "body": { - "nativeSrc": "24849:220:2", - "nodeType": "YulBlock", - "src": "24849:220:2", - "statements": [ - { - "nativeSrc": "24859:74:2", - "nodeType": "YulAssignment", - "src": "24859:74:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "24925:3:2", - "nodeType": "YulIdentifier", - "src": "24925:3:2" - }, - { - "kind": "number", - "nativeSrc": "24930:2:2", - "nodeType": "YulLiteral", - "src": "24930:2:2", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "24866:58:2", - "nodeType": "YulIdentifier", - "src": "24866:58:2" - }, - "nativeSrc": "24866:67:2", - "nodeType": "YulFunctionCall", - "src": "24866:67:2" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "24859:3:2", - "nodeType": "YulIdentifier", - "src": "24859:3:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "25031:3:2", - "nodeType": "YulIdentifier", - "src": "25031:3:2" - } - ], - "functionName": { - "name": "store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", - "nativeSrc": "24942:88:2", - "nodeType": "YulIdentifier", - "src": "24942:88:2" - }, - "nativeSrc": "24942:93:2", - "nodeType": "YulFunctionCall", - "src": "24942:93:2" - }, - "nativeSrc": "24942:93:2", - "nodeType": "YulExpressionStatement", - "src": "24942:93:2" - }, - { - "nativeSrc": "25044:19:2", - "nodeType": "YulAssignment", - "src": "25044:19:2", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "25055:3:2", - "nodeType": "YulIdentifier", - "src": "25055:3:2" - }, - { - "kind": "number", - "nativeSrc": "25060:2:2", - "nodeType": "YulLiteral", - "src": "25060:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "25051:3:2", - "nodeType": "YulIdentifier", - "src": "25051:3:2" - }, - "nativeSrc": "25051:12:2", - "nodeType": "YulFunctionCall", - "src": "25051:12:2" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "25044:3:2", - "nodeType": "YulIdentifier", - "src": "25044:3:2" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", - "nativeSrc": "24703:366:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "24837:3:2", - "nodeType": "YulTypedName", - "src": "24837:3:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "24845:3:2", - "nodeType": "YulTypedName", - "src": "24845:3:2", - "type": "" - } - ], - "src": "24703:366:2" - }, - { - "body": { - "nativeSrc": "25246:248:2", - "nodeType": "YulBlock", - "src": "25246:248:2", - "statements": [ - { - "nativeSrc": "25256:26:2", - "nodeType": "YulAssignment", - "src": "25256:26:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "25268:9:2", - "nodeType": "YulIdentifier", - "src": "25268:9:2" - }, - { - "kind": "number", - "nativeSrc": "25279:2:2", - "nodeType": "YulLiteral", - "src": "25279:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "25264:3:2", - "nodeType": "YulIdentifier", - "src": "25264:3:2" - }, - "nativeSrc": "25264:18:2", - "nodeType": "YulFunctionCall", - "src": "25264:18:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "25256:4:2", - "nodeType": "YulIdentifier", - "src": "25256:4:2" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "25303:9:2", - "nodeType": "YulIdentifier", - "src": "25303:9:2" - }, - { - "kind": "number", - "nativeSrc": "25314:1:2", - "nodeType": "YulLiteral", - "src": "25314:1:2", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "25299:3:2", - "nodeType": "YulIdentifier", - "src": "25299:3:2" - }, - "nativeSrc": "25299:17:2", - "nodeType": "YulFunctionCall", - "src": "25299:17:2" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "25322:4:2", - "nodeType": "YulIdentifier", - "src": "25322:4:2" - }, - { - "name": "headStart", - "nativeSrc": "25328:9:2", - "nodeType": "YulIdentifier", - "src": "25328:9:2" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "25318:3:2", - "nodeType": "YulIdentifier", - "src": "25318:3:2" - }, - "nativeSrc": "25318:20:2", - "nodeType": "YulFunctionCall", - "src": "25318:20:2" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "25292:6:2", - "nodeType": "YulIdentifier", - "src": "25292:6:2" - }, - "nativeSrc": "25292:47:2", - "nodeType": "YulFunctionCall", - "src": "25292:47:2" - }, - "nativeSrc": "25292:47:2", - "nodeType": "YulExpressionStatement", - "src": "25292:47:2" - }, - { - "nativeSrc": "25348:139:2", - "nodeType": "YulAssignment", - "src": "25348:139:2", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "25482:4:2", - "nodeType": "YulIdentifier", - "src": "25482:4:2" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", - "nativeSrc": "25356:124:2", - "nodeType": "YulIdentifier", - "src": "25356:124:2" - }, - "nativeSrc": "25356:131:2", - "nodeType": "YulFunctionCall", - "src": "25356:131:2" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "25348:4:2", - "nodeType": "YulIdentifier", - "src": "25348:4:2" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "25075:419:2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "25226:9:2", - "nodeType": "YulTypedName", - "src": "25226:9:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "25241:4:2", - "nodeType": "YulTypedName", - "src": "25241:4:2", - "type": "" - } - ], - "src": "25075:419:2" - } - ] - }, - "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_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_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_uint256t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\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(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 let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(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_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // string[] -> string[]\n function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\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 store_literal_in_memory_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a(memPtr) {\n\n mstore(add(memPtr, 0), \"User don't exists\")\n\n }\n\n function abi_encode_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e93fd3d9259fceda582500343f216e6d557dc8d45050fa54d583db754f10995a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72(memPtr) {\n\n mstore(add(memPtr, 0), \"Don't have enough balance\")\n\n }\n\n function abi_encode_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b7a2ddb5047f28b04d8774f642302fa9b0bf5ed4efd389b17890799bdb8e1a72_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n // string -> string\n function abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> ret {\n let slotValue := sload(value)\n let length := extract_byte_array_length(slotValue)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n switch and(slotValue, 1)\n case 0 {\n // short byte array\n mstore(pos, and(slotValue, not(0xff)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n // long byte array\n let dataPos := array_dataslot_t_string_storage(value)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) } {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, 1)\n }\n ret := add(pos, length)\n }\n }\n\n function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9(memPtr) {\n\n mstore(add(memPtr, 0), \"User should have that coin\")\n\n }\n\n function abi_encode_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0de65a3f0a378f413087a0eec30a6bdb57b8eec8fc81227231037a2d3bb55fe9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e(memPtr) {\n\n mstore(add(memPtr, 0), \"User Already Exists\")\n\n }\n\n function abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ea9e41d2e6685d832057173ce1ffa715b04419f2365fe1f0b60345f71bbb8d8e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(memPtr) {\n\n mstore(add(memPtr, 0), \"ReentrancyGuard: reentrant call\")\n\n }\n\n function abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", - "id": 2, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "6080604052600436106100705760003560e01c8063516b6d071161004e578063516b6d07146100f757806387b162b5146101135780638e27d7191461013c578063e24e83161461016557610070565b8063018533a81461007557806330b39a62146100915780633a51d246146100ba575b600080fd5b61008f600480360381019061008a91906114a5565b6101a3565b005b34801561009d57600080fd5b506100b860048036038101906100b39190611544565b61068e565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906115a0565b61076a565b6040516100ee91906115f8565b60405180910390f35b610111600480360381019061010c9190611613565b610807565b005b34801561011f57600080fd5b5061013a600480360381019061013591906116b2565b610cb6565b005b34801561014857600080fd5b50610163600480360381019061015e9190611544565b610e78565b005b34801561017157600080fd5b5061018c600480360381019061018791906115a0565b610f26565b60405161019a929190611929565b60405180910390f35b6101ab6111e2565b600115156005856040516101bf919061199c565b908152602001604051809103902060009054906101000a900460ff1615151461021d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021490611a10565b60405180910390fd5b8260048560405161022e919061199c565b9081526020016040518091039020600301541015610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027890611a7c565b60405180910390fd5b82600485604051610292919061199c565b908152602001604051809103902060030160008282546102b29190611acb565b9250508190555082600460036040516102cb9190611bf7565b908152602001604051809103902060030160008282546102eb9190611c0e565b925050819055506000600485604051610304919061199c565b90815260200160405180910390206004018054905090506000805b8281101561041d5784604051602001610338919061199c565b6040516020818303038152906040528051906020012060048860405161035e919061199c565b9081526020016040518091039020600401828154811061038157610380611c42565b5b9060005260206000200160405160200161039b9190611bf7565b60405160208183030381529060405280519060200120036104105760019150836006886040516103cb919061199c565b9081526020016040518091039020866040516103e7919061199c565b908152602001604051809103902060008282546104049190611c0e565b9250508190555061041d565b808060010191505061031f565b50806106265760006001836104329190611c0e565b67ffffffffffffffff81111561044b5761044a611344565b5b60405190808252806020026020018201604052801561047e57816020015b60608152602001906001900390816104695790505b50905060005b8381101561057d5760048860405161049c919061199c565b908152602001604051809103902060040181815481106104bf576104be611c42565b5b9060005260206000200180546104d490611b2e565b80601f016020809104026020016040519081016040528092919081815260200182805461050090611b2e565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b505050505082828151811061056557610564611c42565b5b60200260200101819052508080600101915050610484565b508481848151811061059257610591611c42565b5b6020026020010181905250836006886040516105ae919061199c565b9081526020016040518091039020866040516105ca919061199c565b908152602001604051809103902060008282546105e79190611c0e565b92505081905550806004886040516105ff919061199c565b9081526020016040518091039020600401908051906020019061062392919061123b565b50505b85604051610634919061199c565b60405180910390208460405161064a919061199c565b60405180910390207f9a8355253d14b2e278c55c8a768aa8cc07687bab63144bbea0f2c7b3786157d260405160405180910390a35050610688611231565b50505050565b600115156005836040516106a2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611a10565b60405180910390fd5b80600483604051610711919061199c565b908152602001604051809103902060030154101561072e57600080fd5b8060048360405161073f919061199c565b9081526020016040518091039020600301600082825461075f9190611acb565b925050819055505050565b600060011515600583604051610780919061199c565b908152602001604051809103902060009054906101000a900460ff161515146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590611a10565b60405180910390fd5b6004826040516107ee919061199c565b9081526020016040518091039020600301549050919050565b61080f6111e2565b60011515600585604051610823919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087890611a10565b60405180910390fd5b81600685604051610892919061199c565b9081526020016040518091039020846040516108ae919061199c565b90815260200160405180910390205410156108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f590611cbd565b60405180910390fd5b80600460036040516109109190611bf7565b908152602001604051809103902060030160008282546109309190611acb565b9250508190555080600485604051610948919061199c565b908152602001604051809103902060030160008282546109689190611c0e565b9250508190555081600685604051610980919061199c565b90815260200160405180910390208460405161099c919061199c565b908152602001604051809103902060008282546109b99190611acb565b9250508190555060006006856040516109d2919061199c565b9081526020016040518091039020846040516109ee919061199c565b90815260200160405180910390205403610c50576000600485604051610a14919061199c565b90815260200160405180910390206004018054905090506000600182610a3a9190611acb565b67ffffffffffffffff811115610a5357610a52611344565b5b604051908082528060200260200182016040528015610a8657816020015b6060815260200190600190039081610a715790505b50905060005b82811015610c165785604051602001610aa5919061199c565b60405160208183030381529060405280519060200120600488604051610acb919061199c565b90815260200160405180910390206004018281548110610aee57610aed611c42565b5b90600052602060002001604051602001610b089190611bf7565b604051602081830303815290604052805190602001200315610c0957600487604051610b34919061199c565b90815260200160405180910390206004018181548110610b5757610b56611c42565b5b906000526020600020018054610b6c90611b2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9890611b2e565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b5050505050828281518110610bfd57610bfc611c42565b5b60200260200101819052505b8080600101915050610a8c565b5080600487604051610c28919061199c565b90815260200160405180910390206004019080519060200190610c4c92919061123b565b5050505b83604051610c5e919061199c565b604051809103902083604051610c74919061199c565b60405180910390207fdeb732255cff3c9836501088ec7462c5ba57ec30674ba8e3bbd21f02642a648e60405160405180910390a3610cb0611231565b50505050565b610cbe6111e2565b60001515600582604051610cd2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790611d29565b60405180910390fd5b60016000815480929190610d4390611d49565b919050555060606040518060a0016040528060015481526020018481526020018381526020016000815260200182815250600483604051610d84919061199c565b9081526020016040518091039020600082015181600001556020820151816001019081610db19190611f28565b506040820151816002019081610dc79190611f28565b50606082015181600301556080820151816004019080519060200190610dee92919061123b565b509050506001600583604051610e04919061199c565b908152602001604051809103902060006101000a81548160ff02191690831515021790555081604051610e37919061199c565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a250610e74611231565b5050565b60011515600583604051610e8c919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190611a10565b60405180910390fd5b80600483604051610efb919061199c565b90815260200160405180910390206003016000828254610f1b9190611c0e565b925050819055505050565b60608060011515600584604051610f3d919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9290611a10565b60405180910390fd5b6000600484604051610fad919061199c565b908152602001604051809103902060040180549050905060008167ffffffffffffffff811115610fe057610fdf611344565b5b60405190808252806020026020018201604052801561101357816020015b6060815260200190600190039081610ffe5790505b50905060008267ffffffffffffffff81111561103257611031611344565b5b6040519080825280602002602001820160405280156110605781602001602082028036833780820191505090505b50905060005b838110156111d35760048760405161107e919061199c565b908152602001604051809103902060040181815481106110a1576110a0611c42565b5b9060005260206000200180546110b690611b2e565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290611b2e565b801561112f5780601f106111045761010080835404028352916020019161112f565b820191906000526020600020905b81548152906001019060200180831161111257829003601f168201915b505050505083828151811061114757611146611c42565b5b6020026020010181905250600687604051611162919061199c565b908152602001604051809103902083828151811061118357611182611c42565b5b6020026020010151604051611198919061199c565b9081526020016040518091039020548282815181106111ba576111b9611c42565b5b6020026020010181815250508080600101915050611066565b50818194509450505050915091565b600260005403611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90612046565b60405180910390fd5b6002600081905550565b6001600081905550565b828054828255906000526020600020908101928215611283579160200282015b828111156112825782518290816112729190611f28565b509160200191906001019061125b565b5b5090506112909190611294565b5090565b5b808211156112b457600081816112ab91906112b8565b50600101611295565b5090565b5080546112c490611b2e565b6000825580601f106112d657506112f5565b601f0160209004906000526020600020908101906112f491906112f8565b5b50565b5b808211156113115760008160009055506001016112f9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61137c82611333565b810181811067ffffffffffffffff8211171561139b5761139a611344565b5b80604052505050565b60006113ae611315565b90506113ba8282611373565b919050565b600067ffffffffffffffff8211156113da576113d9611344565b5b6113e382611333565b9050602081019050919050565b82818337600083830152505050565b600061141261140d846113bf565b6113a4565b90508281526020810184848401111561142e5761142d61132e565b5b6114398482856113f0565b509392505050565b600082601f83011261145657611455611329565b5b81356114668482602086016113ff565b91505092915050565b6000819050919050565b6114828161146f565b811461148d57600080fd5b50565b60008135905061149f81611479565b92915050565b600080600080608085870312156114bf576114be61131f565b5b600085013567ffffffffffffffff8111156114dd576114dc611324565b5b6114e987828801611441565b94505060206114fa87828801611490565b935050604085013567ffffffffffffffff81111561151b5761151a611324565b5b61152787828801611441565b925050606061153887828801611490565b91505092959194509250565b6000806040838503121561155b5761155a61131f565b5b600083013567ffffffffffffffff81111561157957611578611324565b5b61158585828601611441565b925050602061159685828601611490565b9150509250929050565b6000602082840312156115b6576115b561131f565b5b600082013567ffffffffffffffff8111156115d4576115d3611324565b5b6115e084828501611441565b91505092915050565b6115f28161146f565b82525050565b600060208201905061160d60008301846115e9565b92915050565b6000806000806080858703121561162d5761162c61131f565b5b600085013567ffffffffffffffff81111561164b5761164a611324565b5b61165787828801611441565b945050602085013567ffffffffffffffff81111561167857611677611324565b5b61168487828801611441565b935050604061169587828801611490565b92505060606116a687828801611490565b91505092959194509250565b600080604083850312156116c9576116c861131f565b5b600083013567ffffffffffffffff8111156116e7576116e6611324565b5b6116f385828601611441565b925050602083013567ffffffffffffffff81111561171457611713611324565b5b61172085828601611441565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611790578082015181840152602081019050611775565b60008484015250505050565b60006117a782611756565b6117b18185611761565b93506117c1818560208601611772565b6117ca81611333565b840191505092915050565b60006117e1838361179c565b905092915050565b6000602082019050919050565b60006118018261172a565b61180b8185611735565b93508360208202850161181d85611746565b8060005b85811015611859578484038952815161183a85826117d5565b9450611845836117e9565b925060208a01995050600181019050611821565b50829750879550505050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118a08161146f565b82525050565b60006118b28383611897565b60208301905092915050565b6000602082019050919050565b60006118d68261186b565b6118e08185611876565b93506118eb83611887565b8060005b8381101561191c57815161190388826118a6565b975061190e836118be565b9250506001810190506118ef565b5085935050505092915050565b6000604082019050818103600083015261194381856117f6565b9050818103602083015261195781846118cb565b90509392505050565b600081905092915050565b600061197682611756565b6119808185611960565b9350611990818560208601611772565b80840191505092915050565b60006119a8828461196b565b915081905092915050565b600082825260208201905092915050565b7f5573657220646f6e277420657869737473000000000000000000000000000000600082015250565b60006119fa6011836119b3565b9150611a05826119c4565b602082019050919050565b60006020820190508181036000830152611a29816119ed565b9050919050565b7f446f6e2774206861766520656e6f7567682062616c616e636500000000000000600082015250565b6000611a666019836119b3565b9150611a7182611a30565b602082019050919050565b60006020820190508181036000830152611a9581611a59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ad68261146f565b9150611ae18361146f565b9250828203905081811115611af957611af8611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4657607f821691505b602082108103611b5957611b58611aff565b5b50919050565b60008190508160005260206000209050919050565b60008154611b8181611b2e565b611b8b8186611960565b94506001821660008114611ba65760018114611bbb57611bee565b60ff1983168652811515820286019350611bee565b611bc485611b5f565b60005b83811015611be657815481890152600182019150602081019050611bc7565b838801955050505b50505092915050565b6000611c038284611b74565b915081905092915050565b6000611c198261146f565b9150611c248361146f565b9250828201905080821115611c3c57611c3b611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f557365722073686f756c642068617665207468617420636f696e000000000000600082015250565b6000611ca7601a836119b3565b9150611cb282611c71565b602082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000611d136013836119b3565b9150611d1e82611cdd565b602082019050919050565b60006020820190508181036000830152611d4281611d06565b9050919050565b6000611d548261146f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8657611d85611a9c565b5b600182019050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611dde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611da1565b611de88683611da1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e25611e20611e1b8461146f565b611e00565b61146f565b9050919050565b6000819050919050565b611e3f83611e0a565b611e53611e4b82611e2c565b848454611dae565b825550505050565b600090565b611e68611e5b565b611e73818484611e36565b505050565b5b81811015611e9757611e8c600082611e60565b600181019050611e79565b5050565b601f821115611edc57611ead81611b5f565b611eb684611d91565b81016020851015611ec5578190505b611ed9611ed185611d91565b830182611e78565b50505b505050565b600082821c905092915050565b6000611eff60001984600802611ee1565b1980831691505092915050565b6000611f188383611eee565b9150826002028217905092915050565b611f3182611756565b67ffffffffffffffff811115611f4a57611f49611344565b5b611f548254611b2e565b611f5f828285611e9b565b600060209050601f831160018114611f925760008415611f80578287015190505b611f8a8582611f0c565b865550611ff2565b601f198416611fa086611b5f565b60005b82811015611fc857848901518255600182019150602085019450602081019050611fa3565b86831015611fe55784890151611fe1601f891682611eee565b8355505b6001600288020188555050505b505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612030601f836119b3565b915061203b82611ffa565b602082019050919050565b6000602082019050818103600083015261205f81612023565b905091905056fea2646970667358221220af223b8c15adcd94c6988a4fb74e0a8b832916cd236e81e307fcda55bf5d798864736f6c63430008180033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x516B6D07 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x516B6D07 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x87B162B5 EQ PUSH2 0x113 JUMPI DUP1 PUSH4 0x8E27D719 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xE24E8316 EQ PUSH2 0x165 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0x18533A8 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x30B39A62 EQ PUSH2 0x91 JUMPI DUP1 PUSH4 0x3A51D246 EQ PUSH2 0xBA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x14A5 JUMP JUMPDEST PUSH2 0x1A3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB3 SWAP2 SWAP1 PUSH2 0x1544 JUMP JUMPDEST PUSH2 0x68E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDC SWAP2 SWAP1 PUSH2 0x15A0 JUMP JUMPDEST PUSH2 0x76A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEE SWAP2 SWAP1 PUSH2 0x15F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x111 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10C SWAP2 SWAP1 PUSH2 0x1613 JUMP JUMPDEST PUSH2 0x807 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x16B2 JUMP JUMPDEST PUSH2 0xCB6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x163 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15E SWAP2 SWAP1 PUSH2 0x1544 JUMP JUMPDEST PUSH2 0xE78 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x171 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x187 SWAP2 SWAP1 PUSH2 0x15A0 JUMP JUMPDEST PUSH2 0xF26 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19A SWAP3 SWAP2 SWAP1 PUSH2 0x1929 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AB PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1BF SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x21D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x214 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x22E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD LT ISZERO PUSH2 0x281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x278 SWAP1 PUSH2 0x1A7C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x292 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2B2 SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 PUSH1 0x3 PUSH1 0x40 MLOAD PUSH2 0x2CB SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x304 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP1 POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x41D JUMPI DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x338 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0x35E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x381 JUMPI PUSH2 0x380 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x39B SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SUB PUSH2 0x410 JUMPI PUSH1 0x1 SWAP2 POP DUP4 PUSH1 0x6 DUP9 PUSH1 0x40 MLOAD PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3E7 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x404 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x41D JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x31F JUMP JUMPDEST POP DUP1 PUSH2 0x626 JUMPI PUSH1 0x0 PUSH1 0x1 DUP4 PUSH2 0x432 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44B JUMPI PUSH2 0x44A PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x47E JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x469 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x57D JUMPI PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x4BF JUMPI PUSH2 0x4BE PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x4D4 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x500 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x54D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x522 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x54D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x530 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x565 JUMPI PUSH2 0x564 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x484 JUMP JUMPDEST POP DUP5 DUP2 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x592 JUMPI PUSH2 0x591 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP4 PUSH1 0x6 DUP9 PUSH1 0x40 MLOAD PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP7 PUSH1 0x40 MLOAD PUSH2 0x5CA SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5E7 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0x5FF SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x623 SWAP3 SWAP2 SWAP1 PUSH2 0x123B JUMP JUMPDEST POP POP JUMPDEST DUP6 PUSH1 0x40 MLOAD PUSH2 0x634 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x64A SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x9A8355253D14B2E278C55C8A768AA8CC07687BAB63144BBEA0F2C7B3786157D2 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0x688 PUSH2 0x1231 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6A2 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x700 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F7 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x711 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD LT ISZERO PUSH2 0x72E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x73F SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x75F SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x780 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x7DE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7D5 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP3 PUSH1 0x40 MLOAD PUSH2 0x7EE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x80F PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP6 PUSH1 0x40 MLOAD PUSH2 0x823 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x881 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x878 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x892 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x8AE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD LT ISZERO PUSH2 0x8FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8F5 SWAP1 PUSH2 0x1CBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 PUSH1 0x3 PUSH1 0x40 MLOAD PUSH2 0x910 SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x930 SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x948 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x968 SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x980 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x99C SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9B9 SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x9D2 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x9EE SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD SUB PUSH2 0xC50 JUMPI PUSH1 0x0 PUSH1 0x4 DUP6 PUSH1 0x40 MLOAD PUSH2 0xA14 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP1 POP SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH2 0xA3A SWAP2 SWAP1 PUSH2 0x1ACB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA53 JUMPI PUSH2 0xA52 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA86 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xA71 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xC16 JUMPI DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAA5 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x4 DUP9 PUSH1 0x40 MLOAD PUSH2 0xACB SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xAEE JUMPI PUSH2 0xAED PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB08 SWAP2 SWAP1 PUSH2 0x1BF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SUB ISZERO PUSH2 0xC09 JUMPI PUSH1 0x4 DUP8 PUSH1 0x40 MLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xB57 JUMPI PUSH2 0xB56 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xB6C SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB98 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBE5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBBA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBE5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBC8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBFD JUMPI PUSH2 0xBFC PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xA8C JUMP JUMPDEST POP DUP1 PUSH1 0x4 DUP8 PUSH1 0x40 MLOAD PUSH2 0xC28 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xC4C SWAP3 SWAP2 SWAP1 PUSH2 0x123B JUMP JUMPDEST POP POP POP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH2 0xC5E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0xC74 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0xDEB732255CFF3C9836501088EC7462C5BA57EC30674BA8E3BBD21F02642A648E PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xCB0 PUSH2 0x1231 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xCBE PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x0 ISZERO ISZERO PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0xCD2 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xD30 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD27 SWAP1 PUSH2 0x1D29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xD43 SWAP1 PUSH2 0x1D49 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0xD84 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0xDB1 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP2 PUSH2 0xDC7 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xDEE SWAP3 SWAP2 SWAP1 PUSH2 0x123B JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x1 PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE04 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x40 MLOAD PUSH2 0xE37 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x6C266022D98427DA88464399D212927D5C4A1ECB555CEE32781D5C9E06555097 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH2 0xE74 PUSH2 0x1231 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE8C SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xEEA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEE1 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x4 DUP4 PUSH1 0x40 MLOAD PUSH2 0xEFB SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xF1B SWAP2 SWAP1 PUSH2 0x1C0E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x1 ISZERO ISZERO PUSH1 0x5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xF3D SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xF9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF92 SWAP1 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFAD SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP1 POP SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFE0 JUMPI PUSH2 0xFDF PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1013 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xFFE JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1032 JUMPI PUSH2 0x1031 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1060 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x11D3 JUMPI PUSH1 0x4 DUP8 PUSH1 0x40 MLOAD PUSH2 0x107E SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x10B6 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E2 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x112F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1104 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x112F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1112 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1147 JUMPI PUSH2 0x1146 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP PUSH1 0x6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x1162 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1183 JUMPI PUSH2 0x1182 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1198 SWAP2 SWAP1 PUSH2 0x199C JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x11BA JUMPI PUSH2 0x11B9 PUSH2 0x1C42 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x1066 JUMP JUMPDEST POP DUP2 DUP2 SWAP5 POP SWAP5 POP POP POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD SUB PUSH2 0x1227 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x121E SWAP1 PUSH2 0x2046 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x1283 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1282 JUMPI DUP3 MLOAD DUP3 SWAP1 DUP2 PUSH2 0x1272 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x125B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1290 SWAP2 SWAP1 PUSH2 0x1294 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x12B4 JUMPI PUSH1 0x0 DUP2 DUP2 PUSH2 0x12AB SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x1295 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x12C4 SWAP1 PUSH2 0x1B2E JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x12D6 JUMPI POP PUSH2 0x12F5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x12F4 SWAP2 SWAP1 PUSH2 0x12F8 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1311 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x12F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x137C DUP3 PUSH2 0x1333 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x139B JUMPI PUSH2 0x139A PUSH2 0x1344 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AE PUSH2 0x1315 JUMP JUMPDEST SWAP1 POP PUSH2 0x13BA DUP3 DUP3 PUSH2 0x1373 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x13DA JUMPI PUSH2 0x13D9 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH2 0x13E3 DUP3 PUSH2 0x1333 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1412 PUSH2 0x140D DUP5 PUSH2 0x13BF JUMP JUMPDEST PUSH2 0x13A4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x142E JUMPI PUSH2 0x142D PUSH2 0x132E JUMP JUMPDEST JUMPDEST PUSH2 0x1439 DUP5 DUP3 DUP6 PUSH2 0x13F0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1456 JUMPI PUSH2 0x1455 PUSH2 0x1329 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1466 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x13FF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1482 DUP2 PUSH2 0x146F JUMP JUMPDEST DUP2 EQ PUSH2 0x148D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x149F DUP2 PUSH2 0x1479 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x14BF JUMPI PUSH2 0x14BE PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14DD JUMPI PUSH2 0x14DC PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x14E9 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x14FA DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x151B JUMPI PUSH2 0x151A PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1527 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x1538 DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x155B JUMPI PUSH2 0x155A PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1579 JUMPI PUSH2 0x1578 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1585 DUP6 DUP3 DUP7 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1596 DUP6 DUP3 DUP7 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15B6 JUMPI PUSH2 0x15B5 PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x15D4 JUMPI PUSH2 0x15D3 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x15E0 DUP5 DUP3 DUP6 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x15F2 DUP2 PUSH2 0x146F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x160D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15E9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x162D JUMPI PUSH2 0x162C PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x164B JUMPI PUSH2 0x164A PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1657 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1678 JUMPI PUSH2 0x1677 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1684 DUP8 DUP3 DUP9 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x1695 DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x16A6 DUP8 DUP3 DUP9 ADD PUSH2 0x1490 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16C9 JUMPI PUSH2 0x16C8 PUSH2 0x131F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x16E7 JUMPI PUSH2 0x16E6 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x16F3 DUP6 DUP3 DUP7 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1714 JUMPI PUSH2 0x1713 PUSH2 0x1324 JUMP JUMPDEST JUMPDEST PUSH2 0x1720 DUP6 DUP3 DUP7 ADD PUSH2 0x1441 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1790 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1775 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A7 DUP3 PUSH2 0x1756 JUMP JUMPDEST PUSH2 0x17B1 DUP2 DUP6 PUSH2 0x1761 JUMP JUMPDEST SWAP4 POP PUSH2 0x17C1 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1772 JUMP JUMPDEST PUSH2 0x17CA DUP2 PUSH2 0x1333 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17E1 DUP4 DUP4 PUSH2 0x179C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1801 DUP3 PUSH2 0x172A JUMP JUMPDEST PUSH2 0x180B DUP2 DUP6 PUSH2 0x1735 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x181D DUP6 PUSH2 0x1746 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1859 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x183A DUP6 DUP3 PUSH2 0x17D5 JUMP JUMPDEST SWAP5 POP PUSH2 0x1845 DUP4 PUSH2 0x17E9 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1821 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18A0 DUP2 PUSH2 0x146F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B2 DUP4 DUP4 PUSH2 0x1897 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18D6 DUP3 PUSH2 0x186B JUMP JUMPDEST PUSH2 0x18E0 DUP2 DUP6 PUSH2 0x1876 JUMP JUMPDEST SWAP4 POP PUSH2 0x18EB DUP4 PUSH2 0x1887 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x191C JUMPI DUP2 MLOAD PUSH2 0x1903 DUP9 DUP3 PUSH2 0x18A6 JUMP JUMPDEST SWAP8 POP PUSH2 0x190E DUP4 PUSH2 0x18BE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x18EF JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1943 DUP2 DUP6 PUSH2 0x17F6 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1957 DUP2 DUP5 PUSH2 0x18CB JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1976 DUP3 PUSH2 0x1756 JUMP JUMPDEST PUSH2 0x1980 DUP2 DUP6 PUSH2 0x1960 JUMP JUMPDEST SWAP4 POP PUSH2 0x1990 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1772 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19A8 DUP3 DUP5 PUSH2 0x196B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x5573657220646F6E277420657869737473000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19FA PUSH1 0x11 DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A05 DUP3 PUSH2 0x19C4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A29 DUP2 PUSH2 0x19ED JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446F6E2774206861766520656E6F7567682062616C616E636500000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A66 PUSH1 0x19 DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A71 DUP3 PUSH2 0x1A30 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A95 DUP2 PUSH2 0x1A59 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1AD6 DUP3 PUSH2 0x146F JUMP JUMPDEST SWAP2 POP PUSH2 0x1AE1 DUP4 PUSH2 0x146F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1AF9 JUMPI PUSH2 0x1AF8 PUSH2 0x1A9C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1B46 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1B59 JUMPI PUSH2 0x1B58 PUSH2 0x1AFF JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1B81 DUP2 PUSH2 0x1B2E JUMP JUMPDEST PUSH2 0x1B8B DUP2 DUP7 PUSH2 0x1960 JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1BA6 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1BBB JUMPI PUSH2 0x1BEE JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 ISZERO ISZERO DUP3 MUL DUP7 ADD SWAP4 POP PUSH2 0x1BEE JUMP JUMPDEST PUSH2 0x1BC4 DUP6 PUSH2 0x1B5F JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1BE6 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1BC7 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C03 DUP3 DUP5 PUSH2 0x1B74 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C19 DUP3 PUSH2 0x146F JUMP JUMPDEST SWAP2 POP PUSH2 0x1C24 DUP4 PUSH2 0x146F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1C3C JUMPI PUSH2 0x1C3B PUSH2 0x1A9C JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x557365722073686F756C642068617665207468617420636F696E000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CA7 PUSH1 0x1A DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1CB2 DUP3 PUSH2 0x1C71 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1CD6 DUP2 PUSH2 0x1C9A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5573657220416C72656164792045786973747300000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D13 PUSH1 0x13 DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D1E DUP3 PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D42 DUP2 PUSH2 0x1D06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D54 DUP3 PUSH2 0x146F JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1D86 JUMPI PUSH2 0x1D85 PUSH2 0x1A9C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x1DDE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1DA1 JUMP JUMPDEST PUSH2 0x1DE8 DUP7 DUP4 PUSH2 0x1DA1 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E25 PUSH2 0x1E20 PUSH2 0x1E1B DUP5 PUSH2 0x146F JUMP JUMPDEST PUSH2 0x1E00 JUMP JUMPDEST PUSH2 0x146F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E3F DUP4 PUSH2 0x1E0A JUMP JUMPDEST PUSH2 0x1E53 PUSH2 0x1E4B DUP3 PUSH2 0x1E2C JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1DAE JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1E68 PUSH2 0x1E5B JUMP JUMPDEST PUSH2 0x1E73 DUP2 DUP5 DUP5 PUSH2 0x1E36 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1E97 JUMPI PUSH2 0x1E8C PUSH1 0x0 DUP3 PUSH2 0x1E60 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1E79 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1EDC JUMPI PUSH2 0x1EAD DUP2 PUSH2 0x1B5F JUMP JUMPDEST PUSH2 0x1EB6 DUP5 PUSH2 0x1D91 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1EC5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x1ED9 PUSH2 0x1ED1 DUP6 PUSH2 0x1D91 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x1E78 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EFF PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1EE1 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F18 DUP4 DUP4 PUSH2 0x1EEE JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1F31 DUP3 PUSH2 0x1756 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F4A JUMPI PUSH2 0x1F49 PUSH2 0x1344 JUMP JUMPDEST JUMPDEST PUSH2 0x1F54 DUP3 SLOAD PUSH2 0x1B2E JUMP JUMPDEST PUSH2 0x1F5F DUP3 DUP3 DUP6 PUSH2 0x1E9B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1F92 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1F80 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1F8A DUP6 DUP3 PUSH2 0x1F0C JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1FF2 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1FA0 DUP7 PUSH2 0x1B5F JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1FC8 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1FA3 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1FE5 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1FE1 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1EEE JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x5265656E7472616E637947756172643A207265656E7472616E742063616C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2030 PUSH1 0x1F DUP4 PUSH2 0x19B3 JUMP JUMPDEST SWAP2 POP PUSH2 0x203B DUP3 PUSH2 0x1FFA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x205F DUP2 PUSH2 0x2023 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAF 0x22 EXTCODESIZE DUP13 ISZERO 0xAD 0xCD SWAP5 0xC6 SWAP9 DUP11 0x4F 0xB7 0x4E EXP DUP12 DUP4 0x29 AND 0xCD 0x23 PUSH15 0x81E307FCDA55BF5D798864736F6C63 NUMBER STOP ADDMOD XOR STOP CALLER ", - "sourceMap": "91:4334:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1315:1092;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4199:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3835:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2413:898;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;556:403;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4020:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3317:512;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1315:1092;2261:21:0;:19;:21::i;:::-;1475:4:1::1;1450:29;;:10;1461:9;1450:21;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:29;;;1442:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1546:6;1518:5;1524:9;1518:16;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;:34;;1510:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1619:6;1591:5;1597:9;1591:16;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;:34;;;;;;;:::i;:::-;;;;;;;;1663:6;1635:5;1641:9;1635:16;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;:34;;;;;;;:::i;:::-;;;;;;;;1679:12;1694:5;1700:9;1694:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;:29;;;;1679:44;;1733:10;1766:6:::0;1762:271:::1;1781:4;1777:1;:8;1762:271;;;1892:4;1875:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;1865:33;;;;;;1834:5;1840:9;1834:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;1857:1;1834:25;;;;;;;;:::i;:::-;;;;;;;;;1817:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;1807:54;;;;;;:91:::0;1804:219:::1;;1925:4;1917:12;;1977:8;1947:9;1957;1947:20;;;;;;:::i;:::-;;;;;;;;;;;;;1968:4;1947:26;;;;;;:::i;:::-;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;2003:5;;1804:219;1786:3;;;;;;;1762:271;;;;2046:5;2042:320;;2066:22;2110:1;2105:4;:6;;;;:::i;:::-;2091:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2066:46;;2130:6;2126:98;2145:4;2141:1;:8;2126:98;;;2183:5;2189:9;2183:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;2206:1;2183:25;;;;;;;;:::i;:::-;;;;;;;;;2172:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;2178:1;2172:8;;;;;;;;:::i;:::-;;;;;;;:36;;;;2150:3;;;;;;;2126:98;;;;2251:4;2237:5;2243:4;2237:11;;;;;;;;:::i;:::-;;;;;;;:18;;;;2299:8;2269:9;2279;2269:20;;;;;;:::i;:::-;;;;;;;;;;;;;2290:4;2269:26;;;;;;:::i;:::-;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;2346:5;2321;2327:9;2321:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;:30;;;;;;;;;;;;:::i;:::-;;2052:310;2042:320;2390:9;2377:23;;;;;;:::i;:::-;;;;;;;;2384:4;2377:23;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1432:975;;2303:20:0::0;:18;:20::i;:::-;1315:1092:1;;;;:::o;4199:223::-;4299:4;4278:25;;:10;4289:5;4278:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:25;;;4270:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;4366:7;4342:5;4348;4342:12;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;;:31;;4334:40;;;;;;4408:7;4384:5;4390;4384:12;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;;:31;;;;;;;:::i;:::-;;;;;;;;4199:223;;:::o;3835:176::-;3895:7;3942:4;3921:25;;:10;3932:5;3921:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:25;;;3913:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3984:5;3990;3984:12;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;;3977:27;;3835:176;;;:::o;2413:898::-;2261:21:0;:19;:21::i;:::-;2573:4:1::1;2548:29;;:10;2559:9;2548:21;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:29;;;2540:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;2646:8;2616:9;2626;2616:20;;;;;;:::i;:::-;;;;;;;;;;;;;2637:4;2616:26;;;;;;:::i;:::-;;;;;;;;;;;;;;:38;;2608:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;2722:6;2694:5;2700:9;2694:16;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;:34;;;;;;;:::i;:::-;;;;;;;;2766:6;2738:5;2744:9;2738:16;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;:34;;;;;;;:::i;:::-;;;;;;;;2812:8;2782:9;2792;2782:20;;;;;;:::i;:::-;;;;;;;;;;;;;2803:4;2782:26;;;;;;:::i;:::-;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;2863:1;2833:9;2843;2833:20;;;;;;:::i;:::-;;;;;;;;;;;;;2854:4;2833:26;;;;;;:::i;:::-;;;;;;;;;;;;;;:31:::0;2830:439:::1;;2879:12;2894:5;2900:9;2894:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;:29;;;;2879:44;;2937:22;2981:1;2976:4;:6;;;;:::i;:::-;2962:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2937:46;;3001:6;2997:218;3016:4;3012:1;:8;2997:218;;;3131:4;3114:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;3104:33;;;;;;3073:5;3079:9;3073:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;3096:1;3073:25;;;;;;;;:::i;:::-;;;;;;;;;3056:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;3046:54;;;;;;:91:::0;3043:103;3138:8:::1;3043:103;3175:5;3181:9;3175:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;3198:1;3175:25;;;;;;;;:::i;:::-;;;;;;;;;3164:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;3170:1;3164:8;;;;;;;;:::i;:::-;;;;;;;:36;;;;2997:218;3021:3;;;;;;;2997:218;;;;3253:5;3228;3234:9;3228:16;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;:30;;;;;;;;;;;;:::i;:::-;;2865:404;;2830:439;3294:9;3283:21;;;;;;:::i;:::-;;;;;;;;3288:4;3283:21;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2303:20:0::0;:18;:20::i;:::-;2413:898:1;;;;:::o;556:403::-;2261:21:0;:19;:21::i;:::-;675:5:1::1;654:26;;:10;665:5;654:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:26;;;646:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;713:7;;:9;;;;;;;;;:::i;:::-;;;;;;732:22;779:106;;;;;;;;797:7;;779:106;;;;818:4;779:106;;;;836:5;779:106;;;;855:1;779:106;;;;870:5;779:106;;::::0;764:5:::1;770;764:12;;;;;;:::i;:::-;;;;;;;;;;;;;:121;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;915:4;895:10;906:5;895:17;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;946:5;934:18;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;636:323;2303:20:0::0;:18;:20::i;:::-;556:403:1;;:::o;4020:172::-;4119:4;4098:25;;:10;4109:5;4098:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:25;;;4090:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;4178:7;4154:5;4160;4154:12;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;;:31;;;;;;;:::i;:::-;;;;;;;;4020:172;;:::o;3317:512::-;3375:16;3392:17;3449:4;3428:25;;:10;3439:5;3428:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:25;;;3420:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3484:12;3499:5;3505;3499:12;;;;;;:::i;:::-;;;;;;;;;;;;;:18;;:25;;;;3484:40;;3535:25;3577:4;3563:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3535:47;;3592:22;3629:4;3617:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3592:42;;3648:6;3644:144;3663:4;3659:1;:8;3644:144;;;3700:5;3706;3700:12;;;;;;:::i;:::-;;;;;;;;;;;;;:18;;3719:1;3700:21;;;;;;;;:::i;:::-;;;;;;;;;3686:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:8;3695:1;3686:11;;;;;;;;:::i;:::-;;;;;;;:35;;;;3748:9;3758:5;3748:16;;;;;;:::i;:::-;;;;;;;;;;;;;3765:8;3774:1;3765:11;;;;;;;;:::i;:::-;;;;;;;;3748:29;;;;;;:::i;:::-;;;;;;;;;;;;;;3735:7;3743:1;3735:10;;;;;;;;:::i;:::-;;;;;;;:42;;;;;3668:3;;;;;;;3644:144;;;;3805:8;3814:7;3797:25;;;;;;;3317:512;;;:::o;2336:287:0:-;1759:1;2468:7;;:19;2460:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1759:1;2598:7;:18;;;;2336:287::o;2629:209::-;1716:1;2809:7;:22;;;;2629:209::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:2:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:146::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1610:146;;;:::o;1762:425::-;1840:5;1865:66;1881:49;1923:6;1881:49;:::i;:::-;1865:66;:::i;:::-;1856:75;;1954:6;1947:5;1940:21;1992:4;1985:5;1981:16;2030:3;2021:6;2016:3;2012:16;2009:25;2006:112;;;2037:79;;:::i;:::-;2006:112;2127:54;2174:6;2169:3;2164;2127:54;:::i;:::-;1846:341;1762:425;;;;;:::o;2207:340::-;2263:5;2312:3;2305:4;2297:6;2293:17;2289:27;2279:122;;2320:79;;:::i;:::-;2279:122;2437:6;2424:20;2462:79;2537:3;2529:6;2522:4;2514:6;2510:17;2462:79;:::i;:::-;2453:88;;2269:278;2207:340;;;;:::o;2553:77::-;2590:7;2619:5;2608:16;;2553:77;;;:::o;2636:122::-;2709:24;2727:5;2709:24;:::i;:::-;2702:5;2699:35;2689:63;;2748:1;2745;2738:12;2689:63;2636:122;:::o;2764:139::-;2810:5;2848:6;2835:20;2826:29;;2864:33;2891:5;2864:33;:::i;:::-;2764:139;;;;:::o;2909:1125::-;3015:6;3023;3031;3039;3088:3;3076:9;3067:7;3063:23;3059:33;3056:120;;;3095:79;;:::i;:::-;3056:120;3243:1;3232:9;3228:17;3215:31;3273:18;3265:6;3262:30;3259:117;;;3295:79;;:::i;:::-;3259:117;3400:63;3455:7;3446:6;3435:9;3431:22;3400:63;:::i;:::-;3390:73;;3186:287;3512:2;3538:53;3583:7;3574:6;3563:9;3559:22;3538:53;:::i;:::-;3528:63;;3483:118;3668:2;3657:9;3653:18;3640:32;3699:18;3691:6;3688:30;3685:117;;;3721:79;;:::i;:::-;3685:117;3826:63;3881:7;3872:6;3861:9;3857:22;3826:63;:::i;:::-;3816:73;;3611:288;3938:2;3964:53;4009:7;4000:6;3989:9;3985:22;3964:53;:::i;:::-;3954:63;;3909:118;2909:1125;;;;;;;:::o;4040:654::-;4118:6;4126;4175:2;4163:9;4154:7;4150:23;4146:32;4143:119;;;4181:79;;:::i;:::-;4143:119;4329:1;4318:9;4314:17;4301:31;4359:18;4351:6;4348:30;4345:117;;;4381:79;;:::i;:::-;4345:117;4486:63;4541:7;4532:6;4521:9;4517:22;4486:63;:::i;:::-;4476:73;;4272:287;4598:2;4624:53;4669:7;4660:6;4649:9;4645:22;4624:53;:::i;:::-;4614:63;;4569:118;4040:654;;;;;:::o;4700:509::-;4769:6;4818:2;4806:9;4797:7;4793:23;4789:32;4786:119;;;4824:79;;:::i;:::-;4786:119;4972:1;4961:9;4957:17;4944:31;5002:18;4994:6;4991:30;4988:117;;;5024:79;;:::i;:::-;4988:117;5129:63;5184:7;5175:6;5164:9;5160:22;5129:63;:::i;:::-;5119:73;;4915:287;4700:509;;;;:::o;5215:118::-;5302:24;5320:5;5302:24;:::i;:::-;5297:3;5290:37;5215:118;;:::o;5339:222::-;5432:4;5470:2;5459:9;5455:18;5447:26;;5483:71;5551:1;5540:9;5536:17;5527:6;5483:71;:::i;:::-;5339:222;;;;:::o;5567:1125::-;5673:6;5681;5689;5697;5746:3;5734:9;5725:7;5721:23;5717:33;5714:120;;;5753:79;;:::i;:::-;5714:120;5901:1;5890:9;5886:17;5873:31;5931:18;5923:6;5920:30;5917:117;;;5953:79;;:::i;:::-;5917:117;6058:63;6113:7;6104:6;6093:9;6089:22;6058:63;:::i;:::-;6048:73;;5844:287;6198:2;6187:9;6183:18;6170:32;6229:18;6221:6;6218:30;6215:117;;;6251:79;;:::i;:::-;6215:117;6356:63;6411:7;6402:6;6391:9;6387:22;6356:63;:::i;:::-;6346:73;;6141:288;6468:2;6494:53;6539:7;6530:6;6519:9;6515:22;6494:53;:::i;:::-;6484:63;;6439:118;6596:2;6622:53;6667:7;6658:6;6647:9;6643:22;6622:53;:::i;:::-;6612:63;;6567:118;5567:1125;;;;;;;:::o;6698:834::-;6786:6;6794;6843:2;6831:9;6822:7;6818:23;6814:32;6811:119;;;6849:79;;:::i;:::-;6811:119;6997:1;6986:9;6982:17;6969:31;7027:18;7019:6;7016:30;7013:117;;;7049:79;;:::i;:::-;7013:117;7154:63;7209:7;7200:6;7189:9;7185:22;7154:63;:::i;:::-;7144:73;;6940:287;7294:2;7283:9;7279:18;7266:32;7325:18;7317:6;7314:30;7311:117;;;7347:79;;:::i;:::-;7311:117;7452:63;7507:7;7498:6;7487:9;7483:22;7452:63;:::i;:::-;7442:73;;7237:288;6698:834;;;;;:::o;7538:124::-;7615:6;7649:5;7643:12;7633:22;;7538:124;;;:::o;7668:194::-;7777:11;7811:6;7806:3;7799:19;7851:4;7846:3;7842:14;7827:29;;7668:194;;;;:::o;7868:142::-;7945:4;7968:3;7960:11;;7998:4;7993:3;7989:14;7981:22;;7868:142;;;:::o;8016:99::-;8068:6;8102:5;8096:12;8086:22;;8016:99;;;:::o;8121:159::-;8195:11;8229:6;8224:3;8217:19;8269:4;8264:3;8260:14;8245:29;;8121:159;;;;:::o;8286:246::-;8367:1;8377:113;8391:6;8388:1;8385:13;8377:113;;;8476:1;8471:3;8467:11;8461:18;8457:1;8452:3;8448:11;8441:39;8413:2;8410:1;8406:10;8401:15;;8377:113;;;8524:1;8515:6;8510:3;8506:16;8499:27;8348:184;8286:246;;;:::o;8538:357::-;8616:3;8644:39;8677:5;8644:39;:::i;:::-;8699:61;8753:6;8748:3;8699:61;:::i;:::-;8692:68;;8769:65;8827:6;8822:3;8815:4;8808:5;8804:16;8769:65;:::i;:::-;8859:29;8881:6;8859:29;:::i;:::-;8854:3;8850:39;8843:46;;8620:275;8538:357;;;;:::o;8901:196::-;8990:10;9025:66;9087:3;9079:6;9025:66;:::i;:::-;9011:80;;8901:196;;;;:::o;9103:123::-;9183:4;9215;9210:3;9206:14;9198:22;;9103:123;;;:::o;9260:991::-;9399:3;9428:64;9486:5;9428:64;:::i;:::-;9508:96;9597:6;9592:3;9508:96;:::i;:::-;9501:103;;9630:3;9675:4;9667:6;9663:17;9658:3;9654:27;9705:66;9765:5;9705:66;:::i;:::-;9794:7;9825:1;9810:396;9835:6;9832:1;9829:13;9810:396;;;9906:9;9900:4;9896:20;9891:3;9884:33;9957:6;9951:13;9985:84;10064:4;10049:13;9985:84;:::i;:::-;9977:92;;10092:70;10155:6;10092:70;:::i;:::-;10082:80;;10191:4;10186:3;10182:14;10175:21;;9870:336;9857:1;9854;9850:9;9845:14;;9810:396;;;9814:14;10222:4;10215:11;;10242:3;10235:10;;9404:847;;;;;9260:991;;;;:::o;10257:114::-;10324:6;10358:5;10352:12;10342:22;;10257:114;;;:::o;10377:184::-;10476:11;10510:6;10505:3;10498:19;10550:4;10545:3;10541:14;10526:29;;10377:184;;;;:::o;10567:132::-;10634:4;10657:3;10649:11;;10687:4;10682:3;10678:14;10670:22;;10567:132;;;:::o;10705:108::-;10782:24;10800:5;10782:24;:::i;:::-;10777:3;10770:37;10705:108;;:::o;10819:179::-;10888:10;10909:46;10951:3;10943:6;10909:46;:::i;:::-;10987:4;10982:3;10978:14;10964:28;;10819:179;;;;:::o;11004:113::-;11074:4;11106;11101:3;11097:14;11089:22;;11004:113;;;:::o;11153:732::-;11272:3;11301:54;11349:5;11301:54;:::i;:::-;11371:86;11450:6;11445:3;11371:86;:::i;:::-;11364:93;;11481:56;11531:5;11481:56;:::i;:::-;11560:7;11591:1;11576:284;11601:6;11598:1;11595:13;11576:284;;;11677:6;11671:13;11704:63;11763:3;11748:13;11704:63;:::i;:::-;11697:70;;11790:60;11843:6;11790:60;:::i;:::-;11780:70;;11636:224;11623:1;11620;11616:9;11611:14;;11576:284;;;11580:14;11876:3;11869:10;;11277:608;;;11153:732;;;;:::o;11891:674::-;12132:4;12170:2;12159:9;12155:18;12147:26;;12219:9;12213:4;12209:20;12205:1;12194:9;12190:17;12183:47;12247:128;12370:4;12361:6;12247:128;:::i;:::-;12239:136;;12422:9;12416:4;12412:20;12407:2;12396:9;12392:18;12385:48;12450:108;12553:4;12544:6;12450:108;:::i;:::-;12442:116;;11891:674;;;;;:::o;12571:148::-;12673:11;12710:3;12695:18;;12571:148;;;;:::o;12725:390::-;12831:3;12859:39;12892:5;12859:39;:::i;:::-;12914:89;12996:6;12991:3;12914:89;:::i;:::-;12907:96;;13012:65;13070:6;13065:3;13058:4;13051:5;13047:16;13012:65;:::i;:::-;13102:6;13097:3;13093:16;13086:23;;12835:280;12725:390;;;;:::o;13121:275::-;13253:3;13275:95;13366:3;13357:6;13275:95;:::i;:::-;13268:102;;13387:3;13380:10;;13121:275;;;;:::o;13402:169::-;13486:11;13520:6;13515:3;13508:19;13560:4;13555:3;13551:14;13536:29;;13402:169;;;;:::o;13577:167::-;13717:19;13713:1;13705:6;13701:14;13694:43;13577:167;:::o;13750:366::-;13892:3;13913:67;13977:2;13972:3;13913:67;:::i;:::-;13906:74;;13989:93;14078:3;13989:93;:::i;:::-;14107:2;14102:3;14098:12;14091:19;;13750:366;;;:::o;14122:419::-;14288:4;14326:2;14315:9;14311:18;14303:26;;14375:9;14369:4;14365:20;14361:1;14350:9;14346:17;14339:47;14403:131;14529:4;14403:131;:::i;:::-;14395:139;;14122:419;;;:::o;14547:175::-;14687:27;14683:1;14675:6;14671:14;14664:51;14547:175;:::o;14728:366::-;14870:3;14891:67;14955:2;14950:3;14891:67;:::i;:::-;14884:74;;14967:93;15056:3;14967:93;:::i;:::-;15085:2;15080:3;15076:12;15069:19;;14728:366;;;:::o;15100:419::-;15266:4;15304:2;15293:9;15289:18;15281:26;;15353:9;15347:4;15343:20;15339:1;15328:9;15324:17;15317:47;15381:131;15507:4;15381:131;:::i;:::-;15373:139;;15100:419;;;:::o;15525:180::-;15573:77;15570:1;15563:88;15670:4;15667:1;15660:15;15694:4;15691:1;15684:15;15711:194;15751:4;15771:20;15789:1;15771:20;:::i;:::-;15766:25;;15805:20;15823:1;15805:20;:::i;:::-;15800:25;;15849:1;15846;15842:9;15834:17;;15873:1;15867:4;15864:11;15861:37;;;15878:18;;:::i;:::-;15861:37;15711:194;;;;:::o;15911:180::-;15959:77;15956:1;15949:88;16056:4;16053:1;16046:15;16080:4;16077:1;16070:15;16097:320;16141:6;16178:1;16172:4;16168:12;16158:22;;16225:1;16219:4;16215:12;16246:18;16236:81;;16302:4;16294:6;16290:17;16280:27;;16236:81;16364:2;16356:6;16353:14;16333:18;16330:38;16327:84;;16383:18;;:::i;:::-;16327:84;16148:269;16097:320;;;:::o;16423:141::-;16472:4;16495:3;16487:11;;16518:3;16515:1;16508:14;16552:4;16549:1;16539:18;16531:26;;16423:141;;;:::o;16594:874::-;16697:3;16734:5;16728:12;16763:36;16789:9;16763:36;:::i;:::-;16815:89;16897:6;16892:3;16815:89;:::i;:::-;16808:96;;16935:1;16924:9;16920:17;16951:1;16946:166;;;;17126:1;17121:341;;;;16913:549;;16946:166;17030:4;17026:9;17015;17011:25;17006:3;16999:38;17092:6;17085:14;17078:22;17070:6;17066:35;17061:3;17057:45;17050:52;;16946:166;;17121:341;17188:38;17220:5;17188:38;:::i;:::-;17248:1;17262:154;17276:6;17273:1;17270:13;17262:154;;;17350:7;17344:14;17340:1;17335:3;17331:11;17324:35;17400:1;17391:7;17387:15;17376:26;;17298:4;17295:1;17291:12;17286:17;;17262:154;;;17445:6;17440:3;17436:16;17429:23;;17128:334;;16913:549;;16701:767;;16594:874;;;;:::o;17474:269::-;17603:3;17625:92;17713:3;17704:6;17625:92;:::i;:::-;17618:99;;17734:3;17727:10;;17474:269;;;;:::o;17749:191::-;17789:3;17808:20;17826:1;17808:20;:::i;:::-;17803:25;;17842:20;17860:1;17842:20;:::i;:::-;17837:25;;17885:1;17882;17878:9;17871:16;;17906:3;17903:1;17900:10;17897:36;;;17913:18;;:::i;:::-;17897:36;17749:191;;;;:::o;17946:180::-;17994:77;17991:1;17984:88;18091:4;18088:1;18081:15;18115:4;18112:1;18105:15;18132:176;18272:28;18268:1;18260:6;18256:14;18249:52;18132:176;:::o;18314:366::-;18456:3;18477:67;18541:2;18536:3;18477:67;:::i;:::-;18470:74;;18553:93;18642:3;18553:93;:::i;:::-;18671:2;18666:3;18662:12;18655:19;;18314:366;;;:::o;18686:419::-;18852:4;18890:2;18879:9;18875:18;18867:26;;18939:9;18933:4;18929:20;18925:1;18914:9;18910:17;18903:47;18967:131;19093:4;18967:131;:::i;:::-;18959:139;;18686:419;;;:::o;19111:169::-;19251:21;19247:1;19239:6;19235:14;19228:45;19111:169;:::o;19286:366::-;19428:3;19449:67;19513:2;19508:3;19449:67;:::i;:::-;19442:74;;19525:93;19614:3;19525:93;:::i;:::-;19643:2;19638:3;19634:12;19627:19;;19286:366;;;:::o;19658:419::-;19824:4;19862:2;19851:9;19847:18;19839:26;;19911:9;19905:4;19901:20;19897:1;19886:9;19882:17;19875:47;19939:131;20065:4;19939:131;:::i;:::-;19931:139;;19658:419;;;:::o;20083:233::-;20122:3;20145:24;20163:5;20145:24;:::i;:::-;20136:33;;20191:66;20184:5;20181:77;20178:103;;20261:18;;:::i;:::-;20178:103;20308:1;20301:5;20297:13;20290:20;;20083:233;;;:::o;20322:93::-;20359:6;20406:2;20401;20394:5;20390:14;20386:23;20376:33;;20322:93;;;:::o;20421:107::-;20465:8;20515:5;20509:4;20505:16;20484:37;;20421:107;;;;:::o;20534:393::-;20603:6;20653:1;20641:10;20637:18;20676:97;20706:66;20695:9;20676:97;:::i;:::-;20794:39;20824:8;20813:9;20794:39;:::i;:::-;20782:51;;20866:4;20862:9;20855:5;20851:21;20842:30;;20915:4;20905:8;20901:19;20894:5;20891:30;20881:40;;20610:317;;20534:393;;;;;:::o;20933:60::-;20961:3;20982:5;20975:12;;20933:60;;;:::o;20999:142::-;21049:9;21082:53;21100:34;21109:24;21127:5;21109:24;:::i;:::-;21100:34;:::i;:::-;21082:53;:::i;:::-;21069:66;;20999:142;;;:::o;21147:75::-;21190:3;21211:5;21204:12;;21147:75;;;:::o;21228:269::-;21338:39;21369:7;21338:39;:::i;:::-;21399:91;21448:41;21472:16;21448:41;:::i;:::-;21440:6;21433:4;21427:11;21399:91;:::i;:::-;21393:4;21386:105;21304:193;21228:269;;;:::o;21503:73::-;21548:3;21503:73;:::o;21582:189::-;21659:32;;:::i;:::-;21700:65;21758:6;21750;21744:4;21700:65;:::i;:::-;21635:136;21582:189;;:::o;21777:186::-;21837:120;21854:3;21847:5;21844:14;21837:120;;;21908:39;21945:1;21938:5;21908:39;:::i;:::-;21881:1;21874:5;21870:13;21861:22;;21837:120;;;21777:186;;:::o;21969:543::-;22070:2;22065:3;22062:11;22059:446;;;22104:38;22136:5;22104:38;:::i;:::-;22188:29;22206:10;22188:29;:::i;:::-;22178:8;22174:44;22371:2;22359:10;22356:18;22353:49;;;22392:8;22377:23;;22353:49;22415:80;22471:22;22489:3;22471:22;:::i;:::-;22461:8;22457:37;22444:11;22415:80;:::i;:::-;22074:431;;22059:446;21969:543;;;:::o;22518:117::-;22572:8;22622:5;22616:4;22612:16;22591:37;;22518:117;;;;:::o;22641:169::-;22685:6;22718:51;22766:1;22762:6;22754:5;22751:1;22747:13;22718:51;:::i;:::-;22714:56;22799:4;22793;22789:15;22779:25;;22692:118;22641:169;;;;:::o;22815:295::-;22891:4;23037:29;23062:3;23056:4;23037:29;:::i;:::-;23029:37;;23099:3;23096:1;23092:11;23086:4;23083:21;23075:29;;22815:295;;;;:::o;23115:1395::-;23232:37;23265:3;23232:37;:::i;:::-;23334:18;23326:6;23323:30;23320:56;;;23356:18;;:::i;:::-;23320:56;23400:38;23432:4;23426:11;23400:38;:::i;:::-;23485:67;23545:6;23537;23531:4;23485:67;:::i;:::-;23579:1;23603:4;23590:17;;23635:2;23627:6;23624:14;23652:1;23647:618;;;;24309:1;24326:6;24323:77;;;24375:9;24370:3;24366:19;24360:26;24351:35;;24323:77;24426:67;24486:6;24479:5;24426:67;:::i;:::-;24420:4;24413:81;24282:222;23617:887;;23647:618;23699:4;23695:9;23687:6;23683:22;23733:37;23765:4;23733:37;:::i;:::-;23792:1;23806:208;23820:7;23817:1;23814:14;23806:208;;;23899:9;23894:3;23890:19;23884:26;23876:6;23869:42;23950:1;23942:6;23938:14;23928:24;;23997:2;23986:9;23982:18;23969:31;;23843:4;23840:1;23836:12;23831:17;;23806:208;;;24042:6;24033:7;24030:19;24027:179;;;24100:9;24095:3;24091:19;24085:26;24143:48;24185:4;24177:6;24173:17;24162:9;24143:48;:::i;:::-;24135:6;24128:64;24050:156;24027:179;24252:1;24248;24240:6;24236:14;24232:22;24226:4;24219:36;23654:611;;;23617:887;;23207:1303;;;23115:1395;;:::o;24516:181::-;24656:33;24652:1;24644:6;24640:14;24633:57;24516:181;:::o;24703:366::-;24845:3;24866:67;24930:2;24925:3;24866:67;:::i;:::-;24859:74;;24942:93;25031:3;24942:93;:::i;:::-;25060:2;25055:3;25051:12;25044:19;;24703:366;;;:::o;25075:419::-;25241:4;25279:2;25268:9;25264:18;25256:26;;25328:9;25322:4;25318:20;25314:1;25303:9;25299:17;25292:47;25356:131;25482:4;25356:131;:::i;:::-;25348:139;;25075:419;;;:::o" - }, - "methodIdentifiers": { - "buy(string,uint256,string,uint256)": "018533a8", - "createUser(string,string)": "87b162b5", - "deposit(string,uint256)": "8e27d719", - "getBalance(string)": "3a51d246", - "getCoins(string)": "e24e8316", - "sell(string,string,uint256,uint256)": "516b6d07", - "withdraw(string,uint256)": "30b39a62" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"coin\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"}],\"name\":\"bought\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"coin\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"}],\"name\":\"sold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"}],\"name\":\"userCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fromEmail\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"coin\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"noofcoin\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"}],\"name\":\"createUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"}],\"name\":\"getCoins\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fromEmail\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"coin\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"noofcoin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sell\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"email\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/account.sol\":\"Account\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"contracts/account.sol\":{\"keccak256\":\"0xa5d5988ae4dbde86c4d7a2608753f40936eafb43ca9441b546dde5fe24eb8575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36815fe5673c7b28c889f0aa71b8e13cafad94b15b3fa7c4867bf62c78ae8ac3\",\"dweb:/ipfs/QmdjBPdcmJHKQJ4WZnHZiGpoKW3dnn2gB2zBuNJKRCbXuE\"]}},\"version\":1}" - } - } - } - } -} \ No newline at end of file diff --git a/blockchain/ignition/deployments/chain-1337/deployed_addresses.json b/blockchain/ignition/deployments/chain-1337/deployed_addresses.json deleted file mode 100644 index f29d453..0000000 --- a/blockchain/ignition/deployments/chain-1337/deployed_addresses.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "Deploy#Account": "0x5FbDB2315678afecb367f032d93F642f64180aa3" -} diff --git a/blockchain/ignition/deployments/chain-1337/journal.jsonl b/blockchain/ignition/deployments/chain-1337/journal.jsonl deleted file mode 100644 index bbe81dd..0000000 --- a/blockchain/ignition/deployments/chain-1337/journal.jsonl +++ /dev/null @@ -1,7 +0,0 @@ - -{"chainId":1337,"type":"DEPLOYMENT_INITIALIZE"} -{"artifactId":"Deploy#Account","constructorArgs":[],"contractName":"Account","dependencies":[],"from":"0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266","futureId":"Deploy#Account","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"Deploy#Account","networkInteraction":{"data":"0x60806040526040518060400160405280601581526020017f6861636b62726f6b65727340676d61696c2e636f6d0000000000000000000000815250600390816200004a919062000731565b503480156200005857600080fd5b50600160008190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200017b6040518060400160405280600581526020017f6f776e657200000000000000000000000000000000000000000000000000000081525060038054620000eb9062000520565b80601f0160208091040260200160405190810160405280929190818152602001828054620001199062000520565b80156200016a5780601f106200013e576101008083540402835291602001916200016a565b820191906000526020600020905b8154815290600101906020018083116200014c57829003601f168201915b50505050506200018960201b60201c565b600060018190555062000a10565b620001996200036e60201b60201c565b60001515600582604051620001af919062000886565b908152602001604051809103902060009054906101000a900460ff1615151462000210576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002079062000900565b60405180910390fd5b60016000815480929190620002259062000951565b919050555060606040518060a001604052806001548152602001848152602001838152602001600081526020018281525060048360405162000268919062000886565b908152602001604051809103902060008201518160000155602082015181600101908162000297919062000731565b506040820151816002019081620002af919062000731565b50606082015181600301556080820151816004019080519060200190620002d8929190620003ca565b509050506001600583604051620002f0919062000886565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508160405162000325919062000886565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a2506200036a620003c060201b60201c565b5050565b600260005403620003b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003ad90620009ee565b60405180910390fd5b6002600081905550565b6001600081905550565b82805482825590600052602060002090810192821562000417579160200282015b828111156200041657825182908162000405919062000731565b5091602001919060010190620003eb565b5b5090506200042691906200042a565b5090565b5b808211156200044e576000818162000444919062000452565b506001016200042b565b5090565b508054620004609062000520565b6000825580601f1062000474575062000495565b601f01602090049060005260206000209081019062000494919062000498565b5b50565b5b80821115620004b357600081600090555060010162000499565b5090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200053957607f821691505b6020821081036200054f576200054e620004f1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200057a565b620005c586836200057a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006126200060c6200060684620005dd565b620005e7565b620005dd565b9050919050565b6000819050919050565b6200062e83620005f1565b620006466200063d8262000619565b84845462000587565b825550505050565b600090565b6200065d6200064e565b6200066a81848462000623565b505050565b5b8181101562000692576200068660008262000653565b60018101905062000670565b5050565b601f821115620006e157620006ab8162000555565b620006b6846200056a565b81016020851015620006c6578190505b620006de620006d5856200056a565b8301826200066f565b50505b505050565b600082821c905092915050565b60006200070660001984600802620006e6565b1980831691505092915050565b6000620007218383620006f3565b9150826002028217905092915050565b6200073c82620004b7565b67ffffffffffffffff811115620007585762000757620004c2565b5b62000764825462000520565b6200077182828562000696565b600060209050601f831160018114620007a9576000841562000794578287015190505b620007a0858262000713565b86555062000810565b601f198416620007b98662000555565b60005b82811015620007e357848901518255600182019150602085019450602081019050620007bc565b86831015620008035784890151620007ff601f891682620006f3565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60005b838110156200084357808201518184015260208101905062000826565b60008484015250505050565b60006200085c82620004b7565b62000868818562000818565b93506200087a81856020860162000823565b80840191505092915050565b60006200089482846200084f565b915081905092915050565b600082825260208201905092915050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000620008e86013836200089f565b9150620008f582620008b0565b602082019050919050565b600060208201905081810360008301526200091b81620008d9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200095e82620005dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000993576200099262000922565b5b600182019050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000620009d6601f836200089f565b9150620009e3826200099e565b602082019050919050565b6000602082019050818103600083015262000a0981620009c7565b9050919050565b61209c8062000a206000396000f3fe6080604052600436106100705760003560e01c8063516b6d071161004e578063516b6d07146100f757806387b162b5146101135780638e27d7191461013c578063e24e83161461016557610070565b8063018533a81461007557806330b39a62146100915780633a51d246146100ba575b600080fd5b61008f600480360381019061008a91906114a5565b6101a3565b005b34801561009d57600080fd5b506100b860048036038101906100b39190611544565b61068e565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906115a0565b61076a565b6040516100ee91906115f8565b60405180910390f35b610111600480360381019061010c9190611613565b610807565b005b34801561011f57600080fd5b5061013a600480360381019061013591906116b2565b610cb6565b005b34801561014857600080fd5b50610163600480360381019061015e9190611544565b610e78565b005b34801561017157600080fd5b5061018c600480360381019061018791906115a0565b610f26565b60405161019a929190611929565b60405180910390f35b6101ab6111e2565b600115156005856040516101bf919061199c565b908152602001604051809103902060009054906101000a900460ff1615151461021d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021490611a10565b60405180910390fd5b8260048560405161022e919061199c565b9081526020016040518091039020600301541015610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027890611a7c565b60405180910390fd5b82600485604051610292919061199c565b908152602001604051809103902060030160008282546102b29190611acb565b9250508190555082600460036040516102cb9190611bf7565b908152602001604051809103902060030160008282546102eb9190611c0e565b925050819055506000600485604051610304919061199c565b90815260200160405180910390206004018054905090506000805b8281101561041d5784604051602001610338919061199c565b6040516020818303038152906040528051906020012060048860405161035e919061199c565b9081526020016040518091039020600401828154811061038157610380611c42565b5b9060005260206000200160405160200161039b9190611bf7565b60405160208183030381529060405280519060200120036104105760019150836006886040516103cb919061199c565b9081526020016040518091039020866040516103e7919061199c565b908152602001604051809103902060008282546104049190611c0e565b9250508190555061041d565b808060010191505061031f565b50806106265760006001836104329190611c0e565b67ffffffffffffffff81111561044b5761044a611344565b5b60405190808252806020026020018201604052801561047e57816020015b60608152602001906001900390816104695790505b50905060005b8381101561057d5760048860405161049c919061199c565b908152602001604051809103902060040181815481106104bf576104be611c42565b5b9060005260206000200180546104d490611b2e565b80601f016020809104026020016040519081016040528092919081815260200182805461050090611b2e565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b505050505082828151811061056557610564611c42565b5b60200260200101819052508080600101915050610484565b508481848151811061059257610591611c42565b5b6020026020010181905250836006886040516105ae919061199c565b9081526020016040518091039020866040516105ca919061199c565b908152602001604051809103902060008282546105e79190611c0e565b92505081905550806004886040516105ff919061199c565b9081526020016040518091039020600401908051906020019061062392919061123b565b50505b85604051610634919061199c565b60405180910390208460405161064a919061199c565b60405180910390207f9a8355253d14b2e278c55c8a768aa8cc07687bab63144bbea0f2c7b3786157d260405160405180910390a35050610688611231565b50505050565b600115156005836040516106a2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611a10565b60405180910390fd5b80600483604051610711919061199c565b908152602001604051809103902060030154101561072e57600080fd5b8060048360405161073f919061199c565b9081526020016040518091039020600301600082825461075f9190611acb565b925050819055505050565b600060011515600583604051610780919061199c565b908152602001604051809103902060009054906101000a900460ff161515146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590611a10565b60405180910390fd5b6004826040516107ee919061199c565b9081526020016040518091039020600301549050919050565b61080f6111e2565b60011515600585604051610823919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087890611a10565b60405180910390fd5b81600685604051610892919061199c565b9081526020016040518091039020846040516108ae919061199c565b90815260200160405180910390205410156108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f590611cbd565b60405180910390fd5b80600460036040516109109190611bf7565b908152602001604051809103902060030160008282546109309190611acb565b9250508190555080600485604051610948919061199c565b908152602001604051809103902060030160008282546109689190611c0e565b9250508190555081600685604051610980919061199c565b90815260200160405180910390208460405161099c919061199c565b908152602001604051809103902060008282546109b99190611acb565b9250508190555060006006856040516109d2919061199c565b9081526020016040518091039020846040516109ee919061199c565b90815260200160405180910390205403610c50576000600485604051610a14919061199c565b90815260200160405180910390206004018054905090506000600182610a3a9190611acb565b67ffffffffffffffff811115610a5357610a52611344565b5b604051908082528060200260200182016040528015610a8657816020015b6060815260200190600190039081610a715790505b50905060005b82811015610c165785604051602001610aa5919061199c565b60405160208183030381529060405280519060200120600488604051610acb919061199c565b90815260200160405180910390206004018281548110610aee57610aed611c42565b5b90600052602060002001604051602001610b089190611bf7565b604051602081830303815290604052805190602001200315610c0957600487604051610b34919061199c565b90815260200160405180910390206004018181548110610b5757610b56611c42565b5b906000526020600020018054610b6c90611b2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9890611b2e565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b5050505050828281518110610bfd57610bfc611c42565b5b60200260200101819052505b8080600101915050610a8c565b5080600487604051610c28919061199c565b90815260200160405180910390206004019080519060200190610c4c92919061123b565b5050505b83604051610c5e919061199c565b604051809103902083604051610c74919061199c565b60405180910390207fdeb732255cff3c9836501088ec7462c5ba57ec30674ba8e3bbd21f02642a648e60405160405180910390a3610cb0611231565b50505050565b610cbe6111e2565b60001515600582604051610cd2919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790611d29565b60405180910390fd5b60016000815480929190610d4390611d49565b919050555060606040518060a0016040528060015481526020018481526020018381526020016000815260200182815250600483604051610d84919061199c565b9081526020016040518091039020600082015181600001556020820151816001019081610db19190611f28565b506040820151816002019081610dc79190611f28565b50606082015181600301556080820151816004019080519060200190610dee92919061123b565b509050506001600583604051610e04919061199c565b908152602001604051809103902060006101000a81548160ff02191690831515021790555081604051610e37919061199c565b60405180910390207f6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e0655509760405160405180910390a250610e74611231565b5050565b60011515600583604051610e8c919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190611a10565b60405180910390fd5b80600483604051610efb919061199c565b90815260200160405180910390206003016000828254610f1b9190611c0e565b925050819055505050565b60608060011515600584604051610f3d919061199c565b908152602001604051809103902060009054906101000a900460ff16151514610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9290611a10565b60405180910390fd5b6000600484604051610fad919061199c565b908152602001604051809103902060040180549050905060008167ffffffffffffffff811115610fe057610fdf611344565b5b60405190808252806020026020018201604052801561101357816020015b6060815260200190600190039081610ffe5790505b50905060008267ffffffffffffffff81111561103257611031611344565b5b6040519080825280602002602001820160405280156110605781602001602082028036833780820191505090505b50905060005b838110156111d35760048760405161107e919061199c565b908152602001604051809103902060040181815481106110a1576110a0611c42565b5b9060005260206000200180546110b690611b2e565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290611b2e565b801561112f5780601f106111045761010080835404028352916020019161112f565b820191906000526020600020905b81548152906001019060200180831161111257829003601f168201915b505050505083828151811061114757611146611c42565b5b6020026020010181905250600687604051611162919061199c565b908152602001604051809103902083828151811061118357611182611c42565b5b6020026020010151604051611198919061199c565b9081526020016040518091039020548282815181106111ba576111b9611c42565b5b6020026020010181815250508080600101915050611066565b50818194509450505050915091565b600260005403611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90612046565b60405180910390fd5b6002600081905550565b6001600081905550565b828054828255906000526020600020908101928215611283579160200282015b828111156112825782518290816112729190611f28565b509160200191906001019061125b565b5b5090506112909190611294565b5090565b5b808211156112b457600081816112ab91906112b8565b50600101611295565b5090565b5080546112c490611b2e565b6000825580601f106112d657506112f5565b601f0160209004906000526020600020908101906112f491906112f8565b5b50565b5b808211156113115760008160009055506001016112f9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61137c82611333565b810181811067ffffffffffffffff8211171561139b5761139a611344565b5b80604052505050565b60006113ae611315565b90506113ba8282611373565b919050565b600067ffffffffffffffff8211156113da576113d9611344565b5b6113e382611333565b9050602081019050919050565b82818337600083830152505050565b600061141261140d846113bf565b6113a4565b90508281526020810184848401111561142e5761142d61132e565b5b6114398482856113f0565b509392505050565b600082601f83011261145657611455611329565b5b81356114668482602086016113ff565b91505092915050565b6000819050919050565b6114828161146f565b811461148d57600080fd5b50565b60008135905061149f81611479565b92915050565b600080600080608085870312156114bf576114be61131f565b5b600085013567ffffffffffffffff8111156114dd576114dc611324565b5b6114e987828801611441565b94505060206114fa87828801611490565b935050604085013567ffffffffffffffff81111561151b5761151a611324565b5b61152787828801611441565b925050606061153887828801611490565b91505092959194509250565b6000806040838503121561155b5761155a61131f565b5b600083013567ffffffffffffffff81111561157957611578611324565b5b61158585828601611441565b925050602061159685828601611490565b9150509250929050565b6000602082840312156115b6576115b561131f565b5b600082013567ffffffffffffffff8111156115d4576115d3611324565b5b6115e084828501611441565b91505092915050565b6115f28161146f565b82525050565b600060208201905061160d60008301846115e9565b92915050565b6000806000806080858703121561162d5761162c61131f565b5b600085013567ffffffffffffffff81111561164b5761164a611324565b5b61165787828801611441565b945050602085013567ffffffffffffffff81111561167857611677611324565b5b61168487828801611441565b935050604061169587828801611490565b92505060606116a687828801611490565b91505092959194509250565b600080604083850312156116c9576116c861131f565b5b600083013567ffffffffffffffff8111156116e7576116e6611324565b5b6116f385828601611441565b925050602083013567ffffffffffffffff81111561171457611713611324565b5b61172085828601611441565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611790578082015181840152602081019050611775565b60008484015250505050565b60006117a782611756565b6117b18185611761565b93506117c1818560208601611772565b6117ca81611333565b840191505092915050565b60006117e1838361179c565b905092915050565b6000602082019050919050565b60006118018261172a565b61180b8185611735565b93508360208202850161181d85611746565b8060005b85811015611859578484038952815161183a85826117d5565b9450611845836117e9565b925060208a01995050600181019050611821565b50829750879550505050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118a08161146f565b82525050565b60006118b28383611897565b60208301905092915050565b6000602082019050919050565b60006118d68261186b565b6118e08185611876565b93506118eb83611887565b8060005b8381101561191c57815161190388826118a6565b975061190e836118be565b9250506001810190506118ef565b5085935050505092915050565b6000604082019050818103600083015261194381856117f6565b9050818103602083015261195781846118cb565b90509392505050565b600081905092915050565b600061197682611756565b6119808185611960565b9350611990818560208601611772565b80840191505092915050565b60006119a8828461196b565b915081905092915050565b600082825260208201905092915050565b7f5573657220646f6e277420657869737473000000000000000000000000000000600082015250565b60006119fa6011836119b3565b9150611a05826119c4565b602082019050919050565b60006020820190508181036000830152611a29816119ed565b9050919050565b7f446f6e2774206861766520656e6f7567682062616c616e636500000000000000600082015250565b6000611a666019836119b3565b9150611a7182611a30565b602082019050919050565b60006020820190508181036000830152611a9581611a59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ad68261146f565b9150611ae18361146f565b9250828203905081811115611af957611af8611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4657607f821691505b602082108103611b5957611b58611aff565b5b50919050565b60008190508160005260206000209050919050565b60008154611b8181611b2e565b611b8b8186611960565b94506001821660008114611ba65760018114611bbb57611bee565b60ff1983168652811515820286019350611bee565b611bc485611b5f565b60005b83811015611be657815481890152600182019150602081019050611bc7565b838801955050505b50505092915050565b6000611c038284611b74565b915081905092915050565b6000611c198261146f565b9150611c248361146f565b9250828201905080821115611c3c57611c3b611a9c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f557365722073686f756c642068617665207468617420636f696e000000000000600082015250565b6000611ca7601a836119b3565b9150611cb282611c71565b602082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f5573657220416c72656164792045786973747300000000000000000000000000600082015250565b6000611d136013836119b3565b9150611d1e82611cdd565b602082019050919050565b60006020820190508181036000830152611d4281611d06565b9050919050565b6000611d548261146f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8657611d85611a9c565b5b600182019050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611dde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611da1565b611de88683611da1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e25611e20611e1b8461146f565b611e00565b61146f565b9050919050565b6000819050919050565b611e3f83611e0a565b611e53611e4b82611e2c565b848454611dae565b825550505050565b600090565b611e68611e5b565b611e73818484611e36565b505050565b5b81811015611e9757611e8c600082611e60565b600181019050611e79565b5050565b601f821115611edc57611ead81611b5f565b611eb684611d91565b81016020851015611ec5578190505b611ed9611ed185611d91565b830182611e78565b50505b505050565b600082821c905092915050565b6000611eff60001984600802611ee1565b1980831691505092915050565b6000611f188383611eee565b9150826002028217905092915050565b611f3182611756565b67ffffffffffffffff811115611f4a57611f49611344565b5b611f548254611b2e565b611f5f828285611e9b565b600060209050601f831160018114611f925760008415611f80578287015190505b611f8a8582611f0c565b865550611ff2565b601f198416611fa086611b5f565b60005b82811015611fc857848901518255600182019150602085019450602081019050611fa3565b86831015611fe55784890151611fe1601f891682611eee565b8355505b6001600288020188555050505b505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612030601f836119b3565b915061203b82611ffa565b602082019050919050565b6000602082019050818103600083015261205f81612023565b905091905056fea2646970667358221220af223b8c15adcd94c6988a4fb74e0a8b832916cd236e81e307fcda55bf5d798864736f6c63430008180033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"Deploy#Account","networkInteractionId":1,"nonce":0,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"3000000000"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000000"}},"hash":"0x036b9ca42a4b225979f2f18e88f16519a3b78d021663df64e6b80dbe85b6ebcc"},"type":"TRANSACTION_SEND"} -{"futureId":"Deploy#Account","hash":"0x036b9ca42a4b225979f2f18e88f16519a3b78d021663df64e6b80dbe85b6ebcc","networkInteractionId":1,"receipt":{"blockHash":"0x0a63550c5bf34fa74ffcc94bae319df72841b1992897bd0b3d681b1512a65be4","blockNumber":1,"contractAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","logs":[{"address":"0x5FbDB2315678afecb367f032d93F642f64180aa3","data":"0x","logIndex":0,"topics":["0x6c266022d98427da88464399d212927d5c4a1ecb555cee32781d5c9e06555097","0xbd7e06c5fa7e642d0743b579bf6635d9f457d4782f524eef49c92f7fe05ce169"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"Deploy#Account","result":{"address":"0x5FbDB2315678afecb367f032d93F642f64180aa3","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file