Skip to content

Instantly share code, notes, and snippets.

@wolfcito
Created June 3, 2023 03:11
Show Gist options
  • Save wolfcito/564dd3469897edbfab5397ec7bf512fb to your computer and use it in GitHub Desktop.
Save wolfcito/564dd3469897edbfab5397ec7bf512fb to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
{
"id": "bf388e554771aa052e8a34f95fe849e9",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"contract/etereum-cohort.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.0 <0.9.0;\n\ncontract EthereumCohortWriters {\n \n string[] ethereumWriters;\n\n function addNewWriter(string calldata writer) public {\n ethereumWriters.push(writer);\n }\n\n function getAllWriters() public view returns (string[] memory) {\n return ethereumWriters;\n }\n}\n\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contract/etereum-cohort.sol": {
"EthereumCohortWriters": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "writer",
"type": "string"
}
],
"name": "addNewWriter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getAllWriters",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contract/etereum-cohort.sol\":69:350 contract EthereumCohortWriters {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contract/etereum-cohort.sol\":69:350 contract EthereumCohortWriters {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x3066ca35\n eq\n tag_3\n jumpi\n dup1\n 0x5367c763\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contract/etereum-cohort.sol\":246:348 function getAllWriters() public view returns (string[] memory) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract/etereum-cohort.sol\":142:240 function addNewWriter(string calldata writer) public {... */\n tag_4:\n tag_9\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n tag_12\n jump\t// in\n tag_9:\n stop\n /* \"contract/etereum-cohort.sol\":246:348 function getAllWriters() public view returns (string[] memory) {... */\n tag_6:\n /* \"contract/etereum-cohort.sol\":292:307 string[] memory */\n 0x60\n /* \"contract/etereum-cohort.sol\":326:341 ethereumWriters */\n 0x00\n /* \"contract/etereum-cohort.sol\":319:341 return ethereumWriters */\n dup1\n sload\n dup1\n 0x20\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n 0x00\n swap1\n tag_14:\n dup3\n dup3\n lt\n iszero\n tag_15\n jumpi\n dup4\n dup3\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n add\n dup1\n sload\n tag_17\n swap1\n tag_18\n jump\t// in\n tag_17:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_19\n swap1\n tag_18\n jump\t// in\n tag_19:\n dup1\n iszero\n tag_20\n jumpi\n dup1\n 0x1f\n lt\n tag_21\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_20)\n tag_21:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_22:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_22\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_20:\n pop\n pop\n pop\n pop\n pop\n dup2\n mstore\n 0x20\n add\n swap1\n 0x01\n add\n swap1\n jump(tag_14)\n tag_15:\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"contract/etereum-cohort.sol\":246:348 function getAllWriters() public view returns (string[] memory) {... */\n swap1\n jump\t// out\n /* \"contract/etereum-cohort.sol\":142:240 function addNewWriter(string calldata writer) public {... */\n tag_12:\n /* \"contract/etereum-cohort.sol\":205:220 ethereumWriters */\n 0x00\n /* \"contract/etereum-cohort.sol\":226:232 writer */\n dup3\n dup3\n /* \"contract/etereum-cohort.sol\":205:233 ethereumWriters.push(writer) */\n swap1\n swap2\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n add\n 0x00\n swap1\n swap2\n swap3\n swap1\n swap2\n swap3\n swap1\n swap2\n swap3\n swap1\n swap2\n swap3\n pop\n swap2\n dup3\n tag_25\n swap3\n swap2\n swap1\n tag_26\n jump\t// in\n tag_25:\n pop\n /* \"contract/etereum-cohort.sol\":142:240 function addNewWriter(string calldata writer) public {... */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:131 */\n tag_27:\n /* \"#utility.yul\":84:90 */\n 0x00\n /* \"#utility.yul\":118:123 */\n dup2\n /* \"#utility.yul\":112:124 */\n mload\n /* \"#utility.yul\":102:124 */\n swap1\n pop\n /* \"#utility.yul\":7:131 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":137:331 */\n tag_28:\n /* \"#utility.yul\":246:257 */\n 0x00\n /* \"#utility.yul\":280:286 */\n dup3\n /* \"#utility.yul\":275:278 */\n dup3\n /* \"#utility.yul\":268:287 */\n mstore\n /* \"#utility.yul\":320:324 */\n 0x20\n /* \"#utility.yul\":315:318 */\n dup3\n /* \"#utility.yul\":311:325 */\n add\n /* \"#utility.yul\":296:325 */\n swap1\n pop\n /* \"#utility.yul\":137:331 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":337:479 */\n tag_29:\n /* \"#utility.yul\":414:418 */\n 0x00\n /* \"#utility.yul\":437:440 */\n dup2\n /* \"#utility.yul\":429:440 */\n swap1\n pop\n /* \"#utility.yul\":467:471 */\n 0x20\n /* \"#utility.yul\":462:465 */\n dup3\n /* \"#utility.yul\":458:472 */\n add\n /* \"#utility.yul\":450:472 */\n swap1\n pop\n /* \"#utility.yul\":337:479 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":485:584 */\n tag_30:\n /* \"#utility.yul\":537:543 */\n 0x00\n /* \"#utility.yul\":571:576 */\n dup2\n /* \"#utility.yul\":565:577 */\n mload\n /* \"#utility.yul\":555:577 */\n swap1\n pop\n /* \"#utility.yul\":485:584 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":590:749 */\n tag_31:\n /* \"#utility.yul\":664:675 */\n 0x00\n /* \"#utility.yul\":698:704 */\n dup3\n /* \"#utility.yul\":693:696 */\n dup3\n /* \"#utility.yul\":686:705 */\n mstore\n /* \"#utility.yul\":738:742 */\n 0x20\n /* \"#utility.yul\":733:736 */\n dup3\n /* \"#utility.yul\":729:743 */\n add\n /* \"#utility.yul\":714:743 */\n swap1\n pop\n /* \"#utility.yul\":590:749 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":755:1001 */\n tag_32:\n /* \"#utility.yul\":836:837 */\n 0x00\n /* \"#utility.yul\":846:959 */\n tag_71:\n /* \"#utility.yul\":860:866 */\n dup4\n /* \"#utility.yul\":857:858 */\n dup2\n /* \"#utility.yul\":854:867 */\n lt\n /* \"#utility.yul\":846:959 */\n iszero\n tag_73\n jumpi\n /* \"#utility.yul\":945:946 */\n dup1\n /* \"#utility.yul\":940:943 */\n dup3\n /* \"#utility.yul\":936:947 */\n add\n /* \"#utility.yul\":930:948 */\n mload\n /* \"#utility.yul\":926:927 */\n dup2\n /* \"#utility.yul\":921:924 */\n dup5\n /* \"#utility.yul\":917:928 */\n add\n /* \"#utility.yul\":910:949 */\n mstore\n /* \"#utility.yul\":882:884 */\n 0x20\n /* \"#utility.yul\":879:880 */\n dup2\n /* \"#utility.yul\":875:885 */\n add\n /* \"#utility.yul\":870:885 */\n swap1\n pop\n /* \"#utility.yul\":846:959 */\n jump(tag_71)\n tag_73:\n /* \"#utility.yul\":993:994 */\n 0x00\n /* \"#utility.yul\":984:990 */\n dup5\n /* \"#utility.yul\":979:982 */\n dup5\n /* \"#utility.yul\":975:991 */\n add\n /* \"#utility.yul\":968:995 */\n mstore\n /* \"#utility.yul\":817:1001 */\n pop\n /* \"#utility.yul\":755:1001 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1007:1109 */\n tag_33:\n /* \"#utility.yul\":1048:1054 */\n 0x00\n /* \"#utility.yul\":1099:1101 */\n 0x1f\n /* \"#utility.yul\":1095:1102 */\n not\n /* \"#utility.yul\":1090:1092 */\n 0x1f\n /* \"#utility.yul\":1083:1088 */\n dup4\n /* \"#utility.yul\":1079:1093 */\n add\n /* \"#utility.yul\":1075:1103 */\n and\n /* \"#utility.yul\":1065:1103 */\n swap1\n pop\n /* \"#utility.yul\":1007:1109 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1115:1472 */\n tag_34:\n /* \"#utility.yul\":1193:1196 */\n 0x00\n /* \"#utility.yul\":1221:1260 */\n tag_76\n /* \"#utility.yul\":1254:1259 */\n dup3\n /* \"#utility.yul\":1221:1260 */\n tag_30\n jump\t// in\n tag_76:\n /* \"#utility.yul\":1276:1337 */\n tag_77\n /* \"#utility.yul\":1330:1336 */\n dup2\n /* \"#utility.yul\":1325:1328 */\n dup6\n /* \"#utility.yul\":1276:1337 */\n tag_31\n jump\t// in\n tag_77:\n /* \"#utility.yul\":1269:1337 */\n swap4\n pop\n /* \"#utility.yul\":1346:1411 */\n tag_78\n /* \"#utility.yul\":1404:1410 */\n dup2\n /* \"#utility.yul\":1399:1402 */\n dup6\n /* \"#utility.yul\":1392:1396 */\n 0x20\n /* \"#utility.yul\":1385:1390 */\n dup7\n /* \"#utility.yul\":1381:1397 */\n add\n /* \"#utility.yul\":1346:1411 */\n tag_32\n jump\t// in\n tag_78:\n /* \"#utility.yul\":1436:1465 */\n tag_79\n /* \"#utility.yul\":1458:1464 */\n dup2\n /* \"#utility.yul\":1436:1465 */\n tag_33\n jump\t// in\n tag_79:\n /* \"#utility.yul\":1431:1434 */\n dup5\n /* \"#utility.yul\":1427:1466 */\n add\n /* \"#utility.yul\":1420:1466 */\n swap2\n pop\n /* \"#utility.yul\":1197:1472 */\n pop\n /* \"#utility.yul\":1115:1472 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1478:1674 */\n tag_35:\n /* \"#utility.yul\":1567:1577 */\n 0x00\n /* \"#utility.yul\":1602:1668 */\n tag_81\n /* \"#utility.yul\":1664:1667 */\n dup4\n /* \"#utility.yul\":1656:1662 */\n dup4\n /* \"#utility.yul\":1602:1668 */\n tag_34\n jump\t// in\n tag_81:\n /* \"#utility.yul\":1588:1668 */\n swap1\n pop\n /* \"#utility.yul\":1478:1674 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1680:1803 */\n tag_36:\n /* \"#utility.yul\":1760:1764 */\n 0x00\n /* \"#utility.yul\":1792:1796 */\n 0x20\n /* \"#utility.yul\":1787:1790 */\n dup3\n /* \"#utility.yul\":1783:1797 */\n add\n /* \"#utility.yul\":1775:1797 */\n swap1\n pop\n /* \"#utility.yul\":1680:1803 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1837:2828 */\n tag_37:\n /* \"#utility.yul\":1976:1979 */\n 0x00\n /* \"#utility.yul\":2005:2069 */\n tag_84\n /* \"#utility.yul\":2063:2068 */\n dup3\n /* \"#utility.yul\":2005:2069 */\n tag_27\n jump\t// in\n tag_84:\n /* \"#utility.yul\":2085:2181 */\n tag_85\n /* \"#utility.yul\":2174:2180 */\n dup2\n /* \"#utility.yul\":2169:2172 */\n dup6\n /* \"#utility.yul\":2085:2181 */\n tag_28\n jump\t// in\n tag_85:\n /* \"#utility.yul\":2078:2181 */\n swap4\n pop\n /* \"#utility.yul\":2207:2210 */\n dup4\n /* \"#utility.yul\":2252:2256 */\n 0x20\n /* \"#utility.yul\":2244:2250 */\n dup3\n /* \"#utility.yul\":2240:2257 */\n mul\n /* \"#utility.yul\":2235:2238 */\n dup6\n /* \"#utility.yul\":2231:2258 */\n add\n /* \"#utility.yul\":2282:2348 */\n tag_86\n /* \"#utility.yul\":2342:2347 */\n dup6\n /* \"#utility.yul\":2282:2348 */\n tag_29\n jump\t// in\n tag_86:\n /* \"#utility.yul\":2371:2378 */\n dup1\n /* \"#utility.yul\":2402:2403 */\n 0x00\n /* \"#utility.yul\":2387:2783 */\n tag_87:\n /* \"#utility.yul\":2412:2418 */\n dup6\n /* \"#utility.yul\":2409:2410 */\n dup2\n /* \"#utility.yul\":2406:2419 */\n lt\n /* \"#utility.yul\":2387:2783 */\n iszero\n tag_89\n jumpi\n /* \"#utility.yul\":2483:2492 */\n dup5\n /* \"#utility.yul\":2477:2481 */\n dup5\n /* \"#utility.yul\":2473:2493 */\n sub\n /* \"#utility.yul\":2468:2471 */\n dup10\n /* \"#utility.yul\":2461:2494 */\n mstore\n /* \"#utility.yul\":2534:2540 */\n dup2\n /* \"#utility.yul\":2528:2541 */\n mload\n /* \"#utility.yul\":2562:2646 */\n tag_90\n /* \"#utility.yul\":2641:2645 */\n dup6\n /* \"#utility.yul\":2626:2639 */\n dup3\n /* \"#utility.yul\":2562:2646 */\n tag_35\n jump\t// in\n tag_90:\n /* \"#utility.yul\":2554:2646 */\n swap5\n pop\n /* \"#utility.yul\":2669:2739 */\n tag_91\n /* \"#utility.yul\":2732:2738 */\n dup4\n /* \"#utility.yul\":2669:2739 */\n tag_36\n jump\t// in\n tag_91:\n /* \"#utility.yul\":2659:2739 */\n swap3\n pop\n /* \"#utility.yul\":2768:2772 */\n 0x20\n /* \"#utility.yul\":2763:2766 */\n dup11\n /* \"#utility.yul\":2759:2773 */\n add\n /* \"#utility.yul\":2752:2773 */\n swap10\n pop\n /* \"#utility.yul\":2447:2783 */\n pop\n /* \"#utility.yul\":2434:2435 */\n 0x01\n /* \"#utility.yul\":2431:2432 */\n dup2\n /* \"#utility.yul\":2427:2436 */\n add\n /* \"#utility.yul\":2422:2436 */\n swap1\n pop\n /* \"#utility.yul\":2387:2783 */\n jump(tag_87)\n tag_89:\n /* \"#utility.yul\":2391:2405 */\n pop\n /* \"#utility.yul\":2799:2803 */\n dup3\n /* \"#utility.yul\":2792:2803 */\n swap8\n pop\n /* \"#utility.yul\":2819:2822 */\n dup8\n /* \"#utility.yul\":2812:2822 */\n swap6\n pop\n /* \"#utility.yul\":1981:2828 */\n pop\n pop\n pop\n pop\n pop\n /* \"#utility.yul\":1837:2828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2834:3247 */\n tag_8:\n /* \"#utility.yul\":2997:3001 */\n 0x00\n /* \"#utility.yul\":3035:3037 */\n 0x20\n /* \"#utility.yul\":3024:3033 */\n dup3\n /* \"#utility.yul\":3020:3038 */\n add\n /* \"#utility.yul\":3012:3038 */\n swap1\n pop\n /* \"#utility.yul\":3084:3093 */\n dup2\n /* \"#utility.yul\":3078:3082 */\n dup2\n /* \"#utility.yul\":3074:3094 */\n sub\n /* \"#utility.yul\":3070:3071 */\n 0x00\n /* \"#utility.yul\":3059:3068 */\n dup4\n /* \"#utility.yul\":3055:3072 */\n add\n /* \"#utility.yul\":3048:3095 */\n mstore\n /* \"#utility.yul\":3112:3240 */\n tag_93\n /* \"#utility.yul\":3235:3239 */\n dup2\n /* \"#utility.yul\":3226:3232 */\n dup5\n /* \"#utility.yul\":3112:3240 */\n tag_37\n jump\t// in\n tag_93:\n /* \"#utility.yul\":3104:3240 */\n swap1\n pop\n /* \"#utility.yul\":2834:3247 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3334:3451 */\n tag_39:\n /* \"#utility.yul\":3443:3444 */\n 0x00\n /* \"#utility.yul\":3440:3441 */\n dup1\n /* \"#utility.yul\":3433:3445 */\n revert\n /* \"#utility.yul\":3457:3574 */\n tag_40:\n /* \"#utility.yul\":3566:3567 */\n 0x00\n /* \"#utility.yul\":3563:3564 */\n dup1\n /* \"#utility.yul\":3556:3568 */\n revert\n /* \"#utility.yul\":3580:3697 */\n tag_41:\n /* \"#utility.yul\":3689:3690 */\n 0x00\n /* \"#utility.yul\":3686:3687 */\n dup1\n /* \"#utility.yul\":3679:3691 */\n revert\n /* \"#utility.yul\":3703:3820 */\n tag_42:\n /* \"#utility.yul\":3812:3813 */\n 0x00\n /* \"#utility.yul\":3809:3810 */\n dup1\n /* \"#utility.yul\":3802:3814 */\n revert\n /* \"#utility.yul\":3826:3943 */\n tag_43:\n /* \"#utility.yul\":3935:3936 */\n 0x00\n /* \"#utility.yul\":3932:3933 */\n dup1\n /* \"#utility.yul\":3925:3937 */\n revert\n /* \"#utility.yul\":3963:4516 */\n tag_44:\n /* \"#utility.yul\":4021:4029 */\n 0x00\n /* \"#utility.yul\":4031:4037 */\n dup1\n /* \"#utility.yul\":4081:4084 */\n dup4\n /* \"#utility.yul\":4074:4078 */\n 0x1f\n /* \"#utility.yul\":4066:4072 */\n dup5\n /* \"#utility.yul\":4062:4079 */\n add\n /* \"#utility.yul\":4058:4085 */\n slt\n /* \"#utility.yul\":4048:4170 */\n tag_101\n jumpi\n /* \"#utility.yul\":4089:4168 */\n tag_102\n tag_41\n jump\t// in\n tag_102:\n /* \"#utility.yul\":4048:4170 */\n tag_101:\n /* \"#utility.yul\":4202:4208 */\n dup3\n /* \"#utility.yul\":4189:4209 */\n calldataload\n /* \"#utility.yul\":4179:4209 */\n swap1\n pop\n /* \"#utility.yul\":4232:4250 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4224:4230 */\n dup2\n /* \"#utility.yul\":4221:4251 */\n gt\n /* \"#utility.yul\":4218:4335 */\n iszero\n tag_103\n jumpi\n /* \"#utility.yul\":4254:4333 */\n tag_104\n tag_42\n jump\t// in\n tag_104:\n /* \"#utility.yul\":4218:4335 */\n tag_103:\n /* \"#utility.yul\":4368:4372 */\n 0x20\n /* \"#utility.yul\":4360:4366 */\n dup4\n /* \"#utility.yul\":4356:4373 */\n add\n /* \"#utility.yul\":4344:4373 */\n swap2\n pop\n /* \"#utility.yul\":4422:4425 */\n dup4\n /* \"#utility.yul\":4414:4418 */\n 0x01\n /* \"#utility.yul\":4406:4412 */\n dup3\n /* \"#utility.yul\":4402:4419 */\n mul\n /* \"#utility.yul\":4392:4400 */\n dup4\n /* \"#utility.yul\":4388:4420 */\n add\n /* \"#utility.yul\":4385:4426 */\n gt\n /* \"#utility.yul\":4382:4510 */\n iszero\n tag_105\n jumpi\n /* \"#utility.yul\":4429:4508 */\n tag_106\n tag_43\n jump\t// in\n tag_106:\n /* \"#utility.yul\":4382:4510 */\n tag_105:\n /* \"#utility.yul\":3963:4516 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4522:5051 */\n tag_11:\n /* \"#utility.yul\":4593:4599 */\n 0x00\n /* \"#utility.yul\":4601:4607 */\n dup1\n /* \"#utility.yul\":4650:4652 */\n 0x20\n /* \"#utility.yul\":4638:4647 */\n dup4\n /* \"#utility.yul\":4629:4636 */\n dup6\n /* \"#utility.yul\":4625:4648 */\n sub\n /* \"#utility.yul\":4621:4653 */\n slt\n /* \"#utility.yul\":4618:4737 */\n iszero\n tag_108\n jumpi\n /* \"#utility.yul\":4656:4735 */\n tag_109\n tag_39\n jump\t// in\n tag_109:\n /* \"#utility.yul\":4618:4737 */\n tag_108:\n /* \"#utility.yul\":4804:4805 */\n 0x00\n /* \"#utility.yul\":4793:4802 */\n dup4\n /* \"#utility.yul\":4789:4806 */\n add\n /* \"#utility.yul\":4776:4807 */\n calldataload\n /* \"#utility.yul\":4834:4852 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4826:4832 */\n dup2\n /* \"#utility.yul\":4823:4853 */\n gt\n /* \"#utility.yul\":4820:4937 */\n iszero\n tag_110\n jumpi\n /* \"#utility.yul\":4856:4935 */\n tag_111\n tag_40\n jump\t// in\n tag_111:\n /* \"#utility.yul\":4820:4937 */\n tag_110:\n /* \"#utility.yul\":4969:5034 */\n tag_112\n /* \"#utility.yul\":5026:5033 */\n dup6\n /* \"#utility.yul\":5017:5023 */\n dup3\n /* \"#utility.yul\":5006:5015 */\n dup7\n /* \"#utility.yul\":5002:5024 */\n add\n /* \"#utility.yul\":4969:5034 */\n tag_44\n jump\t// in\n tag_112:\n /* \"#utility.yul\":4951:5034 */\n swap3\n pop\n swap3\n pop\n /* \"#utility.yul\":4747:5044 */\n pop\n /* \"#utility.yul\":4522:5051 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5057:5237 */\n tag_45:\n /* \"#utility.yul\":5105:5182 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5102:5103 */\n 0x00\n /* \"#utility.yul\":5095:5183 */\n mstore\n /* \"#utility.yul\":5202:5206 */\n 0x22\n /* \"#utility.yul\":5199:5200 */\n 0x04\n /* \"#utility.yul\":5192:5207 */\n mstore\n /* \"#utility.yul\":5226:5230 */\n 0x24\n /* \"#utility.yul\":5223:5224 */\n 0x00\n /* \"#utility.yul\":5216:5231 */\n revert\n /* \"#utility.yul\":5243:5563 */\n tag_18:\n /* \"#utility.yul\":5287:5293 */\n 0x00\n /* \"#utility.yul\":5324:5325 */\n 0x02\n /* \"#utility.yul\":5318:5322 */\n dup3\n /* \"#utility.yul\":5314:5326 */\n div\n /* \"#utility.yul\":5304:5326 */\n swap1\n pop\n /* \"#utility.yul\":5371:5372 */\n 0x01\n /* \"#utility.yul\":5365:5369 */\n dup3\n /* \"#utility.yul\":5361:5373 */\n and\n /* \"#utility.yul\":5392:5410 */\n dup1\n /* \"#utility.yul\":5382:5463 */\n tag_115\n jumpi\n /* \"#utility.yul\":5448:5452 */\n 0x7f\n /* \"#utility.yul\":5440:5446 */\n dup3\n /* \"#utility.yul\":5436:5453 */\n and\n /* \"#utility.yul\":5426:5453 */\n swap2\n pop\n /* \"#utility.yul\":5382:5463 */\n tag_115:\n /* \"#utility.yul\":5510:5512 */\n 0x20\n /* \"#utility.yul\":5502:5508 */\n dup3\n /* \"#utility.yul\":5499:5513 */\n lt\n /* \"#utility.yul\":5479:5497 */\n dup2\n /* \"#utility.yul\":5476:5514 */\n sub\n /* \"#utility.yul\":5473:5557 */\n tag_116\n jumpi\n /* \"#utility.yul\":5529:5547 */\n tag_117\n tag_45\n jump\t// in\n tag_117:\n /* \"#utility.yul\":5473:5557 */\n tag_116:\n /* \"#utility.yul\":5294:5563 */\n pop\n /* \"#utility.yul\":5243:5563 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5569:5666 */\n tag_46:\n /* \"#utility.yul\":5628:5634 */\n 0x00\n /* \"#utility.yul\":5656:5659 */\n dup3\n /* \"#utility.yul\":5646:5659 */\n swap1\n pop\n /* \"#utility.yul\":5569:5666 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5672:5852 */\n tag_47:\n /* \"#utility.yul\":5720:5797 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5717:5718 */\n 0x00\n /* \"#utility.yul\":5710:5798 */\n mstore\n /* \"#utility.yul\":5817:5821 */\n 0x41\n /* \"#utility.yul\":5814:5815 */\n 0x04\n /* \"#utility.yul\":5807:5822 */\n mstore\n /* \"#utility.yul\":5841:5845 */\n 0x24\n /* \"#utility.yul\":5838:5839 */\n 0x00\n /* \"#utility.yul\":5831:5846 */\n revert\n /* \"#utility.yul\":5858:5999 */\n tag_48:\n /* \"#utility.yul\":5907:5911 */\n 0x00\n /* \"#utility.yul\":5930:5933 */\n dup2\n /* \"#utility.yul\":5922:5933 */\n swap1\n pop\n /* \"#utility.yul\":5953:5956 */\n dup2\n /* \"#utility.yul\":5950:5951 */\n 0x00\n /* \"#utility.yul\":5943:5957 */\n mstore\n /* \"#utility.yul\":5987:5991 */\n 0x20\n /* \"#utility.yul\":5984:5985 */\n 0x00\n /* \"#utility.yul\":5974:5992 */\n keccak256\n /* \"#utility.yul\":5966:5992 */\n swap1\n pop\n /* \"#utility.yul\":5858:5999 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6005:6098 */\n tag_49:\n /* \"#utility.yul\":6042:6048 */\n 0x00\n /* \"#utility.yul\":6089:6091 */\n 0x20\n /* \"#utility.yul\":6084:6086 */\n 0x1f\n /* \"#utility.yul\":6077:6082 */\n dup4\n /* \"#utility.yul\":6073:6087 */\n add\n /* \"#utility.yul\":6069:6092 */\n div\n /* \"#utility.yul\":6059:6092 */\n swap1\n pop\n /* \"#utility.yul\":6005:6098 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6104:6211 */\n tag_50:\n /* \"#utility.yul\":6148:6156 */\n 0x00\n /* \"#utility.yul\":6198:6203 */\n dup3\n /* \"#utility.yul\":6192:6196 */\n dup3\n /* \"#utility.yul\":6188:6204 */\n shl\n /* \"#utility.yul\":6167:6204 */\n swap1\n pop\n /* \"#utility.yul\":6104:6211 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6217:6610 */\n tag_51:\n /* \"#utility.yul\":6286:6292 */\n 0x00\n /* \"#utility.yul\":6336:6337 */\n 0x08\n /* \"#utility.yul\":6324:6334 */\n dup4\n /* \"#utility.yul\":6320:6338 */\n mul\n /* \"#utility.yul\":6359:6456 */\n tag_124\n /* \"#utility.yul\":6389:6455 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":6378:6387 */\n dup3\n /* \"#utility.yul\":6359:6456 */\n tag_50\n jump\t// in\n tag_124:\n /* \"#utility.yul\":6477:6516 */\n tag_125\n /* \"#utility.yul\":6507:6515 */\n dup7\n /* \"#utility.yul\":6496:6505 */\n dup4\n /* \"#utility.yul\":6477:6516 */\n tag_50\n jump\t// in\n tag_125:\n /* \"#utility.yul\":6465:6516 */\n swap6\n pop\n /* \"#utility.yul\":6549:6553 */\n dup1\n /* \"#utility.yul\":6545:6554 */\n not\n /* \"#utility.yul\":6538:6543 */\n dup5\n /* \"#utility.yul\":6534:6555 */\n and\n /* \"#utility.yul\":6525:6555 */\n swap4\n pop\n /* \"#utility.yul\":6598:6602 */\n dup1\n /* \"#utility.yul\":6588:6596 */\n dup7\n /* \"#utility.yul\":6584:6603 */\n and\n /* \"#utility.yul\":6577:6582 */\n dup5\n /* \"#utility.yul\":6574:6604 */\n or\n /* \"#utility.yul\":6564:6604 */\n swap3\n pop\n /* \"#utility.yul\":6293:6610 */\n pop\n pop\n /* \"#utility.yul\":6217:6610 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6616:6693 */\n tag_52:\n /* \"#utility.yul\":6653:6660 */\n 0x00\n /* \"#utility.yul\":6682:6687 */\n dup2\n /* \"#utility.yul\":6671:6687 */\n swap1\n pop\n /* \"#utility.yul\":6616:6693 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6699:6759 */\n tag_53:\n /* \"#utility.yul\":6727:6730 */\n 0x00\n /* \"#utility.yul\":6748:6753 */\n dup2\n /* \"#utility.yul\":6741:6753 */\n swap1\n pop\n /* \"#utility.yul\":6699:6759 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6765:6907 */\n tag_54:\n /* \"#utility.yul\":6815:6824 */\n 0x00\n /* \"#utility.yul\":6848:6901 */\n tag_129\n /* \"#utility.yul\":6866:6900 */\n tag_130\n /* \"#utility.yul\":6875:6899 */\n tag_131\n /* \"#utility.yul\":6893:6898 */\n dup5\n /* \"#utility.yul\":6875:6899 */\n tag_52\n jump\t// in\n tag_131:\n /* \"#utility.yul\":6866:6900 */\n tag_53\n jump\t// in\n tag_130:\n /* \"#utility.yul\":6848:6901 */\n tag_52\n jump\t// in\n tag_129:\n /* \"#utility.yul\":6835:6901 */\n swap1\n pop\n /* \"#utility.yul\":6765:6907 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6913:6988 */\n tag_55:\n /* \"#utility.yul\":6956:6959 */\n 0x00\n /* \"#utility.yul\":6977:6982 */\n dup2\n /* \"#utility.yul\":6970:6982 */\n swap1\n pop\n /* \"#utility.yul\":6913:6988 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6994:7263 */\n tag_56:\n /* \"#utility.yul\":7104:7143 */\n tag_134\n /* \"#utility.yul\":7135:7142 */\n dup4\n /* \"#utility.yul\":7104:7143 */\n tag_54\n jump\t// in\n tag_134:\n /* \"#utility.yul\":7165:7256 */\n tag_135\n /* \"#utility.yul\":7214:7255 */\n tag_136\n /* \"#utility.yul\":7238:7254 */\n dup3\n /* \"#utility.yul\":7214:7255 */\n tag_55\n jump\t// in\n tag_136:\n /* \"#utility.yul\":7206:7212 */\n dup5\n /* \"#utility.yul\":7199:7203 */\n dup5\n /* \"#utility.yul\":7193:7204 */\n sload\n /* \"#utility.yul\":7165:7256 */\n tag_51\n jump\t// in\n tag_135:\n /* \"#utility.yul\":7159:7163 */\n dup3\n /* \"#utility.yul\":7152:7257 */\n sstore\n /* \"#utility.yul\":7070:7263 */\n pop\n /* \"#utility.yul\":6994:7263 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7269:7342 */\n tag_57:\n /* \"#utility.yul\":7314:7317 */\n 0x00\n /* \"#utility.yul\":7269:7342 */\n swap1\n jump\t// out\n /* \"#utility.yul\":7348:7537 */\n tag_58:\n /* \"#utility.yul\":7425:7457 */\n tag_139\n tag_57\n jump\t// in\n tag_139:\n /* \"#utility.yul\":7466:7531 */\n tag_140\n /* \"#utility.yul\":7524:7530 */\n dup2\n /* \"#utility.yul\":7516:7522 */\n dup5\n /* \"#utility.yul\":7510:7514 */\n dup5\n /* \"#utility.yul\":7466:7531 */\n tag_56\n jump\t// in\n tag_140:\n /* \"#utility.yul\":7401:7537 */\n pop\n /* \"#utility.yul\":7348:7537 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7543:7729 */\n tag_59:\n /* \"#utility.yul\":7603:7723 */\n tag_142:\n /* \"#utility.yul\":7620:7623 */\n dup2\n /* \"#utility.yul\":7613:7618 */\n dup2\n /* \"#utility.yul\":7610:7624 */\n lt\n /* \"#utility.yul\":7603:7723 */\n iszero\n tag_144\n jumpi\n /* \"#utility.yul\":7674:7713 */\n tag_145\n /* \"#utility.yul\":7711:7712 */\n 0x00\n /* \"#utility.yul\":7704:7709 */\n dup3\n /* \"#utility.yul\":7674:7713 */\n tag_58\n jump\t// in\n tag_145:\n /* \"#utility.yul\":7647:7648 */\n 0x01\n /* \"#utility.yul\":7640:7645 */\n dup2\n /* \"#utility.yul\":7636:7649 */\n add\n /* \"#utility.yul\":7627:7649 */\n swap1\n pop\n /* \"#utility.yul\":7603:7723 */\n jump(tag_142)\n tag_144:\n /* \"#utility.yul\":7543:7729 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7735:8278 */\n tag_60:\n /* \"#utility.yul\":7836:7838 */\n 0x1f\n /* \"#utility.yul\":7831:7834 */\n dup3\n /* \"#utility.yul\":7828:7839 */\n gt\n /* \"#utility.yul\":7825:8271 */\n iszero\n tag_147\n jumpi\n /* \"#utility.yul\":7870:7908 */\n tag_148\n /* \"#utility.yul\":7902:7907 */\n dup2\n /* \"#utility.yul\":7870:7908 */\n tag_48\n jump\t// in\n tag_148:\n /* \"#utility.yul\":7954:7983 */\n tag_149\n /* \"#utility.yul\":7972:7982 */\n dup5\n /* \"#utility.yul\":7954:7983 */\n tag_49\n jump\t// in\n tag_149:\n /* \"#utility.yul\":7944:7952 */\n dup2\n /* \"#utility.yul\":7940:7984 */\n add\n /* \"#utility.yul\":8137:8139 */\n 0x20\n /* \"#utility.yul\":8125:8135 */\n dup6\n /* \"#utility.yul\":8122:8140 */\n lt\n /* \"#utility.yul\":8119:8168 */\n iszero\n tag_150\n jumpi\n /* \"#utility.yul\":8158:8166 */\n dup2\n /* \"#utility.yul\":8143:8166 */\n swap1\n pop\n /* \"#utility.yul\":8119:8168 */\n tag_150:\n /* \"#utility.yul\":8181:8261 */\n tag_151\n /* \"#utility.yul\":8237:8259 */\n tag_152\n /* \"#utility.yul\":8255:8258 */\n dup6\n /* \"#utility.yul\":8237:8259 */\n tag_49\n jump\t// in\n tag_152:\n /* \"#utility.yul\":8227:8235 */\n dup4\n /* \"#utility.yul\":8223:8260 */\n add\n /* \"#utility.yul\":8210:8221 */\n dup3\n /* \"#utility.yul\":8181:8261 */\n tag_59\n jump\t// in\n tag_151:\n /* \"#utility.yul\":7840:8271 */\n pop\n pop\n /* \"#utility.yul\":7825:8271 */\n tag_147:\n /* \"#utility.yul\":7735:8278 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8284:8401 */\n tag_61:\n /* \"#utility.yul\":8338:8346 */\n 0x00\n /* \"#utility.yul\":8388:8393 */\n dup3\n /* \"#utility.yul\":8382:8386 */\n dup3\n /* \"#utility.yul\":8378:8394 */\n shr\n /* \"#utility.yul\":8357:8394 */\n swap1\n pop\n /* \"#utility.yul\":8284:8401 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8407:8576 */\n tag_62:\n /* \"#utility.yul\":8451:8457 */\n 0x00\n /* \"#utility.yul\":8484:8535 */\n tag_155\n /* \"#utility.yul\":8532:8533 */\n 0x00\n /* \"#utility.yul\":8528:8534 */\n not\n /* \"#utility.yul\":8520:8525 */\n dup5\n /* \"#utility.yul\":8517:8518 */\n 0x08\n /* \"#utility.yul\":8513:8526 */\n mul\n /* \"#utility.yul\":8484:8535 */\n tag_61\n jump\t// in\n tag_155:\n /* \"#utility.yul\":8480:8536 */\n not\n /* \"#utility.yul\":8565:8569 */\n dup1\n /* \"#utility.yul\":8559:8563 */\n dup4\n /* \"#utility.yul\":8555:8570 */\n and\n /* \"#utility.yul\":8545:8570 */\n swap2\n pop\n /* \"#utility.yul\":8458:8576 */\n pop\n /* \"#utility.yul\":8407:8576 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8581:8876 */\n tag_63:\n /* \"#utility.yul\":8657:8661 */\n 0x00\n /* \"#utility.yul\":8803:8832 */\n tag_157\n /* \"#utility.yul\":8828:8831 */\n dup4\n /* \"#utility.yul\":8822:8826 */\n dup4\n /* \"#utility.yul\":8803:8832 */\n tag_62\n jump\t// in\n tag_157:\n /* \"#utility.yul\":8795:8832 */\n swap2\n pop\n /* \"#utility.yul\":8865:8868 */\n dup3\n /* \"#utility.yul\":8862:8863 */\n 0x02\n /* \"#utility.yul\":8858:8869 */\n mul\n /* \"#utility.yul\":8852:8856 */\n dup3\n /* \"#utility.yul\":8849:8870 */\n or\n /* \"#utility.yul\":8841:8870 */\n swap1\n pop\n /* \"#utility.yul\":8581:8876 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8881:10284 */\n tag_26:\n /* \"#utility.yul\":9005:9049 */\n tag_159\n /* \"#utility.yul\":9045:9048 */\n dup4\n /* \"#utility.yul\":9040:9043 */\n dup4\n /* \"#utility.yul\":9005:9049 */\n tag_46\n jump\t// in\n tag_159:\n /* \"#utility.yul\":9114:9132 */\n 0xffffffffffffffff\n /* \"#utility.yul\":9106:9112 */\n dup2\n /* \"#utility.yul\":9103:9133 */\n gt\n /* \"#utility.yul\":9100:9156 */\n iszero\n tag_160\n jumpi\n /* \"#utility.yul\":9136:9154 */\n tag_161\n tag_47\n jump\t// in\n tag_161:\n /* \"#utility.yul\":9100:9156 */\n tag_160:\n /* \"#utility.yul\":9180:9218 */\n tag_162\n /* \"#utility.yul\":9212:9216 */\n dup3\n /* \"#utility.yul\":9206:9217 */\n sload\n /* \"#utility.yul\":9180:9218 */\n tag_18\n jump\t// in\n tag_162:\n /* \"#utility.yul\":9265:9332 */\n tag_163\n /* \"#utility.yul\":9325:9331 */\n dup3\n /* \"#utility.yul\":9317:9323 */\n dup3\n /* \"#utility.yul\":9311:9315 */\n dup6\n /* \"#utility.yul\":9265:9332 */\n tag_60\n jump\t// in\n tag_163:\n /* \"#utility.yul\":9359:9360 */\n 0x00\n /* \"#utility.yul\":9388:9390 */\n 0x1f\n /* \"#utility.yul\":9380:9386 */\n dup4\n /* \"#utility.yul\":9377:9391 */\n gt\n /* \"#utility.yul\":9405:9406 */\n 0x01\n /* \"#utility.yul\":9400:10032 */\n dup2\n eq\n tag_165\n jumpi\n /* \"#utility.yul\":10076:10077 */\n 0x00\n /* \"#utility.yul\":10093:10099 */\n dup5\n /* \"#utility.yul\":10090:10174 */\n iszero\n tag_166\n jumpi\n /* \"#utility.yul\":10149:10158 */\n dup3\n /* \"#utility.yul\":10144:10147 */\n dup8\n /* \"#utility.yul\":10140:10159 */\n add\n /* \"#utility.yul\":10127:10160 */\n calldataload\n /* \"#utility.yul\":10118:10160 */\n swap1\n pop\n /* \"#utility.yul\":10090:10174 */\n tag_166:\n /* \"#utility.yul\":10200:10267 */\n tag_167\n /* \"#utility.yul\":10260:10266 */\n dup6\n /* \"#utility.yul\":10253:10258 */\n dup3\n /* \"#utility.yul\":10200:10267 */\n tag_63\n jump\t// in\n tag_167:\n /* \"#utility.yul\":10194:10198 */\n dup7\n /* \"#utility.yul\":10187:10268 */\n sstore\n /* \"#utility.yul\":10049:10278 */\n pop\n /* \"#utility.yul\":9370:10278 */\n jump(tag_164)\n /* \"#utility.yul\":9400:10032 */\n tag_165:\n /* \"#utility.yul\":9452:9456 */\n 0x1f\n /* \"#utility.yul\":9448:9457 */\n not\n /* \"#utility.yul\":9440:9446 */\n dup5\n /* \"#utility.yul\":9436:9458 */\n and\n /* \"#utility.yul\":9486:9523 */\n tag_168\n /* \"#utility.yul\":9518:9522 */\n dup7\n /* \"#utility.yul\":9486:9523 */\n tag_48\n jump\t// in\n tag_168:\n /* \"#utility.yul\":9545:9546 */\n 0x00\n /* \"#utility.yul\":9559:9774 */\n tag_169:\n /* \"#utility.yul\":9573:9580 */\n dup3\n /* \"#utility.yul\":9570:9571 */\n dup2\n /* \"#utility.yul\":9567:9581 */\n lt\n /* \"#utility.yul\":9559:9774 */\n iszero\n tag_171\n jumpi\n /* \"#utility.yul\":9659:9668 */\n dup5\n /* \"#utility.yul\":9654:9657 */\n dup10\n /* \"#utility.yul\":9650:9669 */\n add\n /* \"#utility.yul\":9637:9670 */\n calldataload\n /* \"#utility.yul\":9629:9635 */\n dup3\n /* \"#utility.yul\":9622:9671 */\n sstore\n /* \"#utility.yul\":9710:9711 */\n 0x01\n /* \"#utility.yul\":9702:9708 */\n dup3\n /* \"#utility.yul\":9698:9712 */\n add\n /* \"#utility.yul\":9688:9712 */\n swap2\n pop\n /* \"#utility.yul\":9757:9759 */\n 0x20\n /* \"#utility.yul\":9746:9755 */\n dup6\n /* \"#utility.yul\":9742:9760 */\n add\n /* \"#utility.yul\":9729:9760 */\n swap5\n pop\n /* \"#utility.yul\":9596:9600 */\n 0x20\n /* \"#utility.yul\":9593:9594 */\n dup2\n /* \"#utility.yul\":9589:9601 */\n add\n /* \"#utility.yul\":9584:9601 */\n swap1\n pop\n /* \"#utility.yul\":9559:9774 */\n jump(tag_169)\n tag_171:\n /* \"#utility.yul\":9802:9808 */\n dup7\n /* \"#utility.yul\":9793:9800 */\n dup4\n /* \"#utility.yul\":9790:9809 */\n lt\n /* \"#utility.yul\":9787:9973 */\n iszero\n tag_172\n jumpi\n /* \"#utility.yul\":9867:9876 */\n dup5\n /* \"#utility.yul\":9862:9865 */\n dup10\n /* \"#utility.yul\":9858:9877 */\n add\n /* \"#utility.yul\":9845:9878 */\n calldataload\n /* \"#utility.yul\":9910:9958 */\n tag_173\n /* \"#utility.yul\":9952:9956 */\n 0x1f\n /* \"#utility.yul\":9944:9950 */\n dup10\n /* \"#utility.yul\":9940:9957 */\n and\n /* \"#utility.yul\":9929:9938 */\n dup3\n /* \"#utility.yul\":9910:9958 */\n tag_62\n jump\t// in\n tag_173:\n /* \"#utility.yul\":9902:9908 */\n dup4\n /* \"#utility.yul\":9895:9959 */\n sstore\n /* \"#utility.yul\":9810:9973 */\n pop\n /* \"#utility.yul\":9787:9973 */\n tag_172:\n /* \"#utility.yul\":10019:10020 */\n 0x01\n /* \"#utility.yul\":10015:10016 */\n 0x02\n /* \"#utility.yul\":10007:10013 */\n dup9\n /* \"#utility.yul\":10003:10017 */\n mul\n /* \"#utility.yul\":9999:10021 */\n add\n /* \"#utility.yul\":9993:9997 */\n dup9\n /* \"#utility.yul\":9986:10022 */\n sstore\n /* \"#utility.yul\":9407:10032 */\n pop\n pop\n pop\n /* \"#utility.yul\":9370:10278 */\n tag_164:\n pop\n /* \"#utility.yul\":8980:10284 */\n pop\n pop\n pop\n /* \"#utility.yul\":8881:10284 */\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122039a45218ae3ff0f12536de52e4fb2f6869d64644b7d73d1de226187d0cce4a0f64736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610716806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633066ca351461003b5780635367c76314610059575b600080fd5b610043610075565b60405161005091906102e2565b60405180910390f35b610073600480360381019061006e9190610373565b61014e565b005b60606000805480602002602001604051908101604052809291908181526020016000905b828210156101455783829060005260206000200180546100b8906103ef565b80601f01602080910402602001604051908101604052809291908181526020018280546100e4906103ef565b80156101315780601f1061010657610100808354040283529160200191610131565b820191906000526020600020905b81548152906001019060200180831161011457829003601f168201915b505050505081526020019060010190610099565b50505050905090565b600082829091806001815401808255809150506001900390600052602060002001600090919290919290919290919250918261018b929190610610565b505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156101f65780820151818401526020810190506101db565b60008484015250505050565b6000601f19601f8301169050919050565b600061021e826101bc565b61022881856101c7565b93506102388185602086016101d8565b61024181610202565b840191505092915050565b60006102588383610213565b905092915050565b6000602082019050919050565b600061027882610190565b610282818561019b565b935083602082028501610294856101ac565b8060005b858110156102d057848403895281516102b1858261024c565b94506102bc83610260565b925060208a01995050600181019050610298565b50829750879550505050505092915050565b600060208201905081810360008301526102fc818461026d565b905092915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126103335761033261030e565b5b8235905067ffffffffffffffff8111156103505761034f610313565b5b60208301915083600182028301111561036c5761036b610318565b5b9250929050565b6000806020838503121561038a57610389610304565b5b600083013567ffffffffffffffff8111156103a8576103a7610309565b5b6103b48582860161031d565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061040757607f821691505b60208210810361041a576104196103c0565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261047f565b6104c6868361047f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061050d610508610503846104de565b6104e8565b6104de565b9050919050565b6000819050919050565b610527836104f2565b61053b61053382610514565b84845461048c565b825550505050565b600090565b610550610543565b61055b81848461051e565b505050565b5b8181101561057f57610574600082610548565b600181019050610561565b5050565b601f8211156105c4576105958161045a565b61059e8461046f565b810160208510156105ad578190505b6105c16105b98561046f565b830182610560565b50505b505050565b600082821c905092915050565b60006105e7600019846008026105c9565b1980831691505092915050565b600061060083836105d6565b9150826002028217905092915050565b61061a8383610420565b67ffffffffffffffff8111156106335761063261042b565b5b61063d82546103ef565b610648828285610583565b6000601f8311600181146106775760008415610665578287013590505b61066f85826105f4565b8655506106d7565b601f1984166106858661045a565b60005b828110156106ad57848901358255600182019150602085019450602081019050610688565b868310156106ca57848901356106c6601f8916826105d6565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122039a45218ae3ff0f12536de52e4fb2f6869d64644b7d73d1de226187d0cce4a0f64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x716 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3066CA35 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x5367C763 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x373 JUMP JUMPDEST PUSH2 0x14E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x145 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xB8 SWAP1 PUSH2 0x3EF 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 0xE4 SWAP1 PUSH2 0x3EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x106 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131 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 0x114 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x99 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 SWAP2 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 POP SWAP2 DUP3 PUSH2 0x18B SWAP3 SWAP2 SWAP1 PUSH2 0x610 JUMP JUMPDEST POP 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 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 0x1F6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E DUP3 PUSH2 0x1BC JUMP JUMPDEST PUSH2 0x228 DUP2 DUP6 PUSH2 0x1C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x238 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1D8 JUMP JUMPDEST PUSH2 0x241 DUP2 PUSH2 0x202 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x258 DUP4 DUP4 PUSH2 0x213 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 0x278 DUP3 PUSH2 0x190 JUMP JUMPDEST PUSH2 0x282 DUP2 DUP6 PUSH2 0x19B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x294 DUP6 PUSH2 0x1AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2D0 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2B1 DUP6 DUP3 PUSH2 0x24C JUMP JUMPDEST SWAP5 POP PUSH2 0x2BC DUP4 PUSH2 0x260 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x298 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FC DUP2 DUP5 PUSH2 0x26D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x333 JUMPI PUSH2 0x332 PUSH2 0x30E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x350 JUMPI PUSH2 0x34F PUSH2 0x313 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x318 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x38A JUMPI PUSH2 0x389 PUSH2 0x304 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x309 JUMP JUMPDEST JUMPDEST PUSH2 0x3B4 DUP6 DUP3 DUP7 ADD PUSH2 0x31D JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x407 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x41A JUMPI PUSH2 0x419 PUSH2 0x3C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x4BC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x47F JUMP JUMPDEST PUSH2 0x4C6 DUP7 DUP4 PUSH2 0x47F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50D PUSH2 0x508 PUSH2 0x503 DUP5 PUSH2 0x4DE JUMP JUMPDEST PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x527 DUP4 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x53B PUSH2 0x533 DUP3 PUSH2 0x514 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x48C JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x550 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x55B DUP2 DUP5 DUP5 PUSH2 0x51E JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x574 PUSH1 0x0 DUP3 PUSH2 0x548 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x561 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x595 DUP2 PUSH2 0x45A JUMP JUMPDEST PUSH2 0x59E DUP5 PUSH2 0x46F JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x5AD JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x5C1 PUSH2 0x5B9 DUP6 PUSH2 0x46F JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x560 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 0x5E7 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x5C9 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 DUP4 DUP4 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x61A DUP4 DUP4 PUSH2 0x420 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x633 JUMPI PUSH2 0x632 PUSH2 0x42B JUMP JUMPDEST JUMPDEST PUSH2 0x63D DUP3 SLOAD PUSH2 0x3EF JUMP JUMPDEST PUSH2 0x648 DUP3 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x677 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x665 JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x66F DUP6 DUP3 PUSH2 0x5F4 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x685 DUP7 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x6AD JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x688 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x6CA JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x6C6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x5D6 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 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY LOG4 MSTORE XOR 0xAE EXTCODEHASH CREATE CALL 0x25 CALLDATASIZE 0xDE MSTORE 0xE4 0xFB 0x2F PUSH9 0x69D64644B7D73D1DE2 0x26 XOR PUSH30 0xCCE4A0F64736F6C63430008120033000000000000000000000000000000 ",
"sourceMap": "69:281:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addNewWriter_16": {
"entryPoint": 334,
"id": 16,
"parameterSlots": 2,
"returnSlots": 0
},
"@getAllWriters_25": {
"entryPoint": 117,
"id": 25,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 797,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_calldata_ptr": {
"entryPoint": 883,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 588,
"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": 621,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 531,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 738,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 428,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1114,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 400,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_calldata_ptr": {
"entryPoint": 1056,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 444,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 608,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": {
"entryPoint": 411,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr": {
"entryPoint": 455,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1411,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 1246,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1376,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1266,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage": {
"entryPoint": 1552,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 472,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1135,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1007,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1524,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1256,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1494,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 960,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1067,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1300,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 787,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 782,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 792,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 777,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 772,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 514,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1151,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1481,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1352,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1164,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1310,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1347,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10287:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "102:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "118:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "112:5:1"
},
"nodeType": "YulFunctionCall",
"src": "112:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "102:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "74:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "84:6:1",
"type": ""
}
],
"src": "7:124:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "258:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "275:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "280:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "268:6:1"
},
"nodeType": "YulFunctionCall",
"src": "268:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "268:19:1"
},
{
"nodeType": "YulAssignment",
"src": "296:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "315:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "311:3:1"
},
"nodeType": "YulFunctionCall",
"src": "311:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "296:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "230:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "235:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "246:11:1",
"type": ""
}
],
"src": "137:194:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "419:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "429:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "437:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "429:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "450:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "462:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "458:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "450:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "406:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "414:4:1",
"type": ""
}
],
"src": "337:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "544:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "555:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "571:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "565:5:1"
},
"nodeType": "YulFunctionCall",
"src": "565:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "555:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "527:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "537:6:1",
"type": ""
}
],
"src": "485:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "676:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "693:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "698:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "686:6:1"
},
"nodeType": "YulFunctionCall",
"src": "686:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "686:19:1"
},
{
"nodeType": "YulAssignment",
"src": "714:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "733:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "738:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "729:3:1"
},
"nodeType": "YulFunctionCall",
"src": "729:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "714:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "648:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "653:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "664:11:1",
"type": ""
}
],
"src": "590:159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "817:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "827:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "836:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "831:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "896:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "921:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "926:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "917:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "940:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "945:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "936:3:1"
},
"nodeType": "YulFunctionCall",
"src": "936:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "930:5:1"
},
"nodeType": "YulFunctionCall",
"src": "930:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "910:6:1"
},
"nodeType": "YulFunctionCall",
"src": "910:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "910:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "857:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "860:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "854:2:1"
},
"nodeType": "YulFunctionCall",
"src": "854:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "868:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "870:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "879:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "882:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "875:3:1"
},
"nodeType": "YulFunctionCall",
"src": "875:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "870:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "850:3:1",
"statements": []
},
"src": "846:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "979:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "984:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "975:3:1"
},
"nodeType": "YulFunctionCall",
"src": "975:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "993:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "968:6:1"
},
"nodeType": "YulFunctionCall",
"src": "968:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "968:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "799:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "804:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "809:6:1",
"type": ""
}
],
"src": "755:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1055:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1065:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1083:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1079:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1079:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1099:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1095:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1095:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1075:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1075:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1065:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1038:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1048:6:1",
"type": ""
}
],
"src": "1007:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1197:275:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1207:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1254:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1221:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1221:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1211:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1269:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1325:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1330:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1276:48:1"
},
"nodeType": "YulFunctionCall",
"src": "1276:61:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1269:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1385:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1392:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1381:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1381:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1399:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1404:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "1346:34:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "1346:65:1"
},
{
"nodeType": "YulAssignment",
"src": "1420:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1431:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1458:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1436:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1436:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1427:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1427:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1420:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1178:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1185:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1193:3:1",
"type": ""
}
],
"src": "1115:357:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1578:96:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1588:80:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1656:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1664:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1602:53:1"
},
"nodeType": "YulFunctionCall",
"src": "1602:66:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "1588:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1551:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1559:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "1567:10:1",
"type": ""
}
],
"src": "1478:196:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1765:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1775:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "1787:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1792:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1783:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1783:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "1775:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "1752:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "1760:4:1",
"type": ""
}
],
"src": "1680:123:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1981:847:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1991:78:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2063:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2005:57:1"
},
"nodeType": "YulFunctionCall",
"src": "2005:64:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1995:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2078:103:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2169:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2174:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2085:83:1"
},
"nodeType": "YulFunctionCall",
"src": "2085:96:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2078:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2190:20:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2207:3:1"
},
"variables": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2194:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2219:39:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2235:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2244:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2252:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2240:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2240:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2231:27:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2223:4:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2267:81:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2342:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2282:59:1"
},
"nodeType": "YulFunctionCall",
"src": "2282:66:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "2271:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2357:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "2371:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "2361:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2447:336:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2468:3:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2477:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2483:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2473:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2473:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2461:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2461:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2461:33:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "2507:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2534:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2528:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2528:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "2511:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2554:92:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "2626:13:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2641:4:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2562:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:84:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2554:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2659:80:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2732:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2669:62:1"
},
"nodeType": "YulFunctionCall",
"src": "2669:70:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2659:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2752:21:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2763:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2768:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2759:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2759:14:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2752:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2409:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2412:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2406:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2406:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2420:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2422:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2431:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2434:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2427:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2427:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2422:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2391:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2393:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2402:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2397:1:1",
"type": ""
}
]
}
]
},
"src": "2387:396:1"
},
{
"nodeType": "YulAssignment",
"src": "2792:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2799:4:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2792:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2812:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2819:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2812:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1960:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1967:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1976:3:1",
"type": ""
}
],
"src": "1837:991:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3002:245:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3012:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3024:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3035:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3020:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3020:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3012:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3059:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3070:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3055:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3055:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3078:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3084:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3074:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3048:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3048:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3048:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3104:136:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3226:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3235:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3112:113:1"
},
"nodeType": "YulFunctionCall",
"src": "3112:128:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3104:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2974:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2986:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2997:4:1",
"type": ""
}
],
"src": "2834:413:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3293:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3303:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3319:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3313:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3313:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3303:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3286:6:1",
"type": ""
}
],
"src": "3253:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3433:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3546:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3563:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3566:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3556:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3556:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3457:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3669:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3686:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3689:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3679:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3679:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3679:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3580:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3792:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3809:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3812:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3802:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3802:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "3703:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3915:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3932:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3935:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3925:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3925:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3925:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "3826:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4038:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4087:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "4089:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4089:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4089:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4066:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4074:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4062:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4062:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4081:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4058:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4058:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4051:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4051:35:1"
},
"nodeType": "YulIf",
"src": "4048:122:1"
},
{
"nodeType": "YulAssignment",
"src": "4179:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4202:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4189:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4189:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4179:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4252:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "4254:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4254:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4254:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4224:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4232:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4221:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4221:30:1"
},
"nodeType": "YulIf",
"src": "4218:117:1"
},
{
"nodeType": "YulAssignment",
"src": "4344:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4360:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4368:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4356:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4356:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "4344:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4427:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "4429:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4429:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4429:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "4392:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4406:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4414:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4402:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4402:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4388:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4388:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4422:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4385:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4385:41:1"
},
"nodeType": "YulIf",
"src": "4382:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4005:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4013:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "4021:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4031:6:1",
"type": ""
}
],
"src": "3963:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4608:443:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4654:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4656:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4656:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4629:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4638:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4625:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4625:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4650:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4621:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4621:32:1"
},
"nodeType": "YulIf",
"src": "4618:119:1"
},
{
"nodeType": "YulBlock",
"src": "4747:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4762:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4793:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4804:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4789:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4789:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4776:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4776:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4766:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4854:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "4856:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4856:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4856:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4826:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4834:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4823:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4823:30:1"
},
"nodeType": "YulIf",
"src": "4820:117:1"
},
{
"nodeType": "YulAssignment",
"src": "4951:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5006:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5017:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5002:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5002:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5026:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "4969:32:1"
},
"nodeType": "YulFunctionCall",
"src": "4969:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4951:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4959:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4570:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4581:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4593:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4601:6:1",
"type": ""
}
],
"src": "4522:529:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5085:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5102:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5105:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5095:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5095:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5095:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5199:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5202:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5192:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5192:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5192:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5223:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5226:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5216:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5216:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5216:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "5057:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5294:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5304:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5318:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5324:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5314:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5314:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5304:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5335:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5365:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5371:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5361:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5361:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5339:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5412:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5426:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5440:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5448:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5436:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5426:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5392:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5385:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5385:26:1"
},
"nodeType": "YulIf",
"src": "5382:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5515:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5529:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5529:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5529:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5479:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5502:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5510:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5499:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5499:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5476:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5476:38:1"
},
"nodeType": "YulIf",
"src": "5473:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5278:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5287:6:1",
"type": ""
}
],
"src": "5243:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5635:31:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5646:13:1",
"value": {
"name": "len",
"nodeType": "YulIdentifier",
"src": "5656:3:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5646:6:1"
}
]
}
]
},
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5613:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "5620:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5628:6:1",
"type": ""
}
],
"src": "5569:97:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5700:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5717:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5720:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5710:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5710:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5710:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5814:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5817:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5807:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5807:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5807:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5838:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5841:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5831:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5831:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5831:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5672:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5912:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5922:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5930:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5922:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5950:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5953:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5943:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5943:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "5943:14:1"
},
{
"nodeType": "YulAssignment",
"src": "5966:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5984:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5987:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "5974:9:1"
},
"nodeType": "YulFunctionCall",
"src": "5974:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5966:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "5899:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5907:4:1",
"type": ""
}
],
"src": "5858:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6049:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6059:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6077:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6084:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6073:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6073:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6069:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6069:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6059:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6032:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6042:6:1",
"type": ""
}
],
"src": "6005:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6157:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6167:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "6192:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6198:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "6188:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6188:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "6167:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "6132:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6138:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "6148:8:1",
"type": ""
}
],
"src": "6104:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6293:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6303:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "6324:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6336:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "6320:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6320:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "6307:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6347:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6378:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6389:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6359:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6359:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "6351:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6465:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6496:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6507:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6477:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6477:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6465:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6525:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6538:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6549:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6545:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6534:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6534:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6525:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6564:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6577:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6588:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6598:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6584:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6584:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6574:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6574:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6564:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6254:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "6261:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "6273:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6286:6:1",
"type": ""
}
],
"src": "6217:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6661:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6671:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6682:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6671:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6643:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6653:7:1",
"type": ""
}
],
"src": "6616:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6731:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6741:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6748:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6741:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6717:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6727:3:1",
"type": ""
}
],
"src": "6699:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6825:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6835:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6893:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6875:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6875:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "6866:8:1"
},
"nodeType": "YulFunctionCall",
"src": "6866:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6848:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6848:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "6835:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6805:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "6815:9:1",
"type": ""
}
],
"src": "6765:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6960:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6970:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6977:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6970:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6946:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6956:3:1",
"type": ""
}
],
"src": "6913:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7070:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7080:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "7135:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7104:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7104:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "7084:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7159:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7199:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7193:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7193:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7206:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "7238:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "7214:23:1"
},
"nodeType": "YulFunctionCall",
"src": "7214:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "7165:27:1"
},
"nodeType": "YulFunctionCall",
"src": "7165:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7152:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7152:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "7152:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7047:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7053:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "7061:7:1",
"type": ""
}
],
"src": "6994:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7318:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7328:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7335:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7328:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "7314:3:1",
"type": ""
}
],
"src": "7269:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7401:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7411:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "7425:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7425:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "7415:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7510:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7516:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "7524:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7466:43:1"
},
"nodeType": "YulFunctionCall",
"src": "7466:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "7466:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7387:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7393:6:1",
"type": ""
}
],
"src": "7348:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7593:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7660:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7704:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7711:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "7674:29:1"
},
"nodeType": "YulFunctionCall",
"src": "7674:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "7674:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7613:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7620:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7610:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7610:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "7625:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7627:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7640:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7647:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7636:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7636:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7627:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "7607:2:1",
"statements": []
},
"src": "7603:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "7581:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7588:3:1",
"type": ""
}
],
"src": "7543:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7814:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7840:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7854:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "7902:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "7870:31:1"
},
"nodeType": "YulFunctionCall",
"src": "7870:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "7858:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "7921:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "7944:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "7972:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "7954:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7954:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7940:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7940:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "7925:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8141:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8143:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8158:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8143:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "8125:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8137:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8122:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8122:18:1"
},
"nodeType": "YulIf",
"src": "8119:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8210:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8227:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8255:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "8237:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8237:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8223:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8223:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "8181:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8181:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "8181:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "7831:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7836:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7828:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7828:11:1"
},
"nodeType": "YulIf",
"src": "7825:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "7790:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "7797:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "7802:10:1",
"type": ""
}
],
"src": "7735:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8347:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8357:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "8382:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8388:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "8378:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8378:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "8357:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "8322:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8328:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "8338:8:1",
"type": ""
}
],
"src": "8284:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8458:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8468:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8517:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "8520:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8513:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8513:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8532:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8528:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "8484:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8484:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8480:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "8472:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8545:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8559:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "8565:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8555:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "8545:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8435:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "8441:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "8451:6:1",
"type": ""
}
],
"src": "8407:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8662:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8795:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8822:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8828:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "8803:18:1"
},
"nodeType": "YulFunctionCall",
"src": "8803:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8795:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8841:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8852:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8862:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8865:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8858:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "8849:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8849:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "8841:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8643:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8649:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "8657:4:1",
"type": ""
}
],
"src": "8581:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8980:1304:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8991:58:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9040:3:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9045:3:1"
}
],
"functionName": {
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "9005:34:1"
},
"nodeType": "YulFunctionCall",
"src": "9005:44:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "8995:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9134:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9136:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9136:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9136:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9106:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9114:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9103:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9103:30:1"
},
"nodeType": "YulIf",
"src": "9100:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9166:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9212:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "9206:5:1"
},
"nodeType": "YulFunctionCall",
"src": "9206:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "9180:25:1"
},
"nodeType": "YulFunctionCall",
"src": "9180:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "9170:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9311:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "9317:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9325:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9265:45:1"
},
"nodeType": "YulFunctionCall",
"src": "9265:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "9265:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9342:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9359:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "9346:9:1",
"type": ""
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "9407:625:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9421:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9440:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9452:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "9448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9448:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9436:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "9425:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9472:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9518:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9486:31:1"
},
"nodeType": "YulFunctionCall",
"src": "9486:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "9476:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9536:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9545:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "9540:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9604:170:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9629:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9654:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9659:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9650:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9650:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9637:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9637:33:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9622:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "9622:49:1"
},
{
"nodeType": "YulAssignment",
"src": "9688:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9702:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9710:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9698:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9698:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9688:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9729:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9746:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9757:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9742:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9729:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9570:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9573:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9567:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9567:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "9582:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9584:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9593:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9596:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9589:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9584:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "9563:3:1",
"statements": []
},
"src": "9559:215:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9810:163:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9828:50:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9862:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9867:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9858:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9845:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9845:33:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "9832:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9902:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "9929:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9944:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9952:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9940:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9940:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "9910:18:1"
},
"nodeType": "YulFunctionCall",
"src": "9910:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9895:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "9895:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9793:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9802:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9790:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9790:19:1"
},
"nodeType": "YulIf",
"src": "9787:186:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9993:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10007:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10015:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10003:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10003:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10019:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9999:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9999:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9986:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9986:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "9986:36:1"
}
]
},
"nodeType": "YulCase",
"src": "9400:632:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9405:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "10049:229:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10063:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10076:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10067:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10100:74:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10118:42:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10144:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10149:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10140:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10127:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10127:33:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10118:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10093:6:1"
},
"nodeType": "YulIf",
"src": "10090:84:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "10194:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10253:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10260:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "10200:52:1"
},
"nodeType": "YulFunctionCall",
"src": "10200:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10187:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "10187:81:1"
}
]
},
"nodeType": "YulCase",
"src": "10041:237:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9380:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9388:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9377:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9377:14:1"
},
"nodeType": "YulSwitch",
"src": "9370:908:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "8964:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8970:3:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8975:3:1",
"type": ""
}
],
"src": "8881:1403:1"
}
]
},
"contents": "{\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(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 abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\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, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_length_t_string_calldata_ptr(value, len) -> length {\n\n length := len\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\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_calldata_ptr_to_t_string_storage(slot, src, len) {\n\n let newLen := array_length_t_string_calldata_ptr(src, len)\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 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, calldataload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := calldataload(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 := calldataload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80633066ca351461003b5780635367c76314610059575b600080fd5b610043610075565b60405161005091906102e2565b60405180910390f35b610073600480360381019061006e9190610373565b61014e565b005b60606000805480602002602001604051908101604052809291908181526020016000905b828210156101455783829060005260206000200180546100b8906103ef565b80601f01602080910402602001604051908101604052809291908181526020018280546100e4906103ef565b80156101315780601f1061010657610100808354040283529160200191610131565b820191906000526020600020905b81548152906001019060200180831161011457829003601f168201915b505050505081526020019060010190610099565b50505050905090565b600082829091806001815401808255809150506001900390600052602060002001600090919290919290919290919250918261018b929190610610565b505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156101f65780820151818401526020810190506101db565b60008484015250505050565b6000601f19601f8301169050919050565b600061021e826101bc565b61022881856101c7565b93506102388185602086016101d8565b61024181610202565b840191505092915050565b60006102588383610213565b905092915050565b6000602082019050919050565b600061027882610190565b610282818561019b565b935083602082028501610294856101ac565b8060005b858110156102d057848403895281516102b1858261024c565b94506102bc83610260565b925060208a01995050600181019050610298565b50829750879550505050505092915050565b600060208201905081810360008301526102fc818461026d565b905092915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126103335761033261030e565b5b8235905067ffffffffffffffff8111156103505761034f610313565b5b60208301915083600182028301111561036c5761036b610318565b5b9250929050565b6000806020838503121561038a57610389610304565b5b600083013567ffffffffffffffff8111156103a8576103a7610309565b5b6103b48582860161031d565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061040757607f821691505b60208210810361041a576104196103c0565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261047f565b6104c6868361047f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061050d610508610503846104de565b6104e8565b6104de565b9050919050565b6000819050919050565b610527836104f2565b61053b61053382610514565b84845461048c565b825550505050565b600090565b610550610543565b61055b81848461051e565b505050565b5b8181101561057f57610574600082610548565b600181019050610561565b5050565b601f8211156105c4576105958161045a565b61059e8461046f565b810160208510156105ad578190505b6105c16105b98561046f565b830182610560565b50505b505050565b600082821c905092915050565b60006105e7600019846008026105c9565b1980831691505092915050565b600061060083836105d6565b9150826002028217905092915050565b61061a8383610420565b67ffffffffffffffff8111156106335761063261042b565b5b61063d82546103ef565b610648828285610583565b6000601f8311600181146106775760008415610665578287013590505b61066f85826105f4565b8655506106d7565b601f1984166106858661045a565b60005b828110156106ad57848901358255600182019150602085019450602081019050610688565b868310156106ca57848901356106c6601f8916826105d6565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122039a45218ae3ff0f12536de52e4fb2f6869d64644b7d73d1de226187d0cce4a0f64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3066CA35 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x5367C763 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x373 JUMP JUMPDEST PUSH2 0x14E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x145 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xB8 SWAP1 PUSH2 0x3EF 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 0xE4 SWAP1 PUSH2 0x3EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x106 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131 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 0x114 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x99 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 SWAP2 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 POP SWAP2 DUP3 PUSH2 0x18B SWAP3 SWAP2 SWAP1 PUSH2 0x610 JUMP JUMPDEST POP 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 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 0x1F6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E DUP3 PUSH2 0x1BC JUMP JUMPDEST PUSH2 0x228 DUP2 DUP6 PUSH2 0x1C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x238 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1D8 JUMP JUMPDEST PUSH2 0x241 DUP2 PUSH2 0x202 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x258 DUP4 DUP4 PUSH2 0x213 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 0x278 DUP3 PUSH2 0x190 JUMP JUMPDEST PUSH2 0x282 DUP2 DUP6 PUSH2 0x19B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x294 DUP6 PUSH2 0x1AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2D0 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2B1 DUP6 DUP3 PUSH2 0x24C JUMP JUMPDEST SWAP5 POP PUSH2 0x2BC DUP4 PUSH2 0x260 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x298 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FC DUP2 DUP5 PUSH2 0x26D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x333 JUMPI PUSH2 0x332 PUSH2 0x30E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x350 JUMPI PUSH2 0x34F PUSH2 0x313 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x318 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x38A JUMPI PUSH2 0x389 PUSH2 0x304 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x309 JUMP JUMPDEST JUMPDEST PUSH2 0x3B4 DUP6 DUP3 DUP7 ADD PUSH2 0x31D JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x407 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x41A JUMPI PUSH2 0x419 PUSH2 0x3C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x4BC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x47F JUMP JUMPDEST PUSH2 0x4C6 DUP7 DUP4 PUSH2 0x47F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50D PUSH2 0x508 PUSH2 0x503 DUP5 PUSH2 0x4DE JUMP JUMPDEST PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x527 DUP4 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x53B PUSH2 0x533 DUP3 PUSH2 0x514 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x48C JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x550 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x55B DUP2 DUP5 DUP5 PUSH2 0x51E JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x574 PUSH1 0x0 DUP3 PUSH2 0x548 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x561 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x595 DUP2 PUSH2 0x45A JUMP JUMPDEST PUSH2 0x59E DUP5 PUSH2 0x46F JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x5AD JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x5C1 PUSH2 0x5B9 DUP6 PUSH2 0x46F JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x560 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 0x5E7 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x5C9 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 DUP4 DUP4 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x61A DUP4 DUP4 PUSH2 0x420 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x633 JUMPI PUSH2 0x632 PUSH2 0x42B JUMP JUMPDEST JUMPDEST PUSH2 0x63D DUP3 SLOAD PUSH2 0x3EF JUMP JUMPDEST PUSH2 0x648 DUP3 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x677 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x665 JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x66F DUP6 DUP3 PUSH2 0x5F4 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x685 DUP7 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x6AD JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x688 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x6CA JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x6C6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x5D6 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 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY LOG4 MSTORE XOR 0xAE EXTCODEHASH CREATE CALL 0x25 CALLDATASIZE 0xDE MSTORE 0xE4 0xFB 0x2F PUSH9 0x69D64644B7D73D1DE2 0x26 XOR PUSH30 0xCCE4A0F64736F6C63430008120033000000000000000000000000000000 ",
"sourceMap": "69:281:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;246:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;142:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;246:102;292:15;326;319:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;246:102;:::o;142:98::-;205:15;226:6;;205:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;142:98;;:::o;7:124:1:-;84:6;118:5;112:12;102:22;;7:124;;;:::o;137:194::-;246:11;280:6;275:3;268:19;320:4;315:3;311:14;296:29;;137:194;;;;:::o;337:142::-;414:4;437:3;429:11;;467:4;462:3;458:14;450:22;;337:142;;;:::o;485:99::-;537:6;571:5;565:12;555:22;;485:99;;;:::o;590:159::-;664:11;698:6;693:3;686:19;738:4;733:3;729:14;714:29;;590:159;;;;:::o;755:246::-;836:1;846:113;860:6;857:1;854:13;846:113;;;945:1;940:3;936:11;930:18;926:1;921:3;917:11;910:39;882:2;879:1;875:10;870:15;;846:113;;;993:1;984:6;979:3;975:16;968:27;817:184;755:246;;;:::o;1007:102::-;1048:6;1099:2;1095:7;1090:2;1083:5;1079:14;1075:28;1065:38;;1007:102;;;:::o;1115:357::-;1193:3;1221:39;1254:5;1221:39;:::i;:::-;1276:61;1330:6;1325:3;1276:61;:::i;:::-;1269:68;;1346:65;1404:6;1399:3;1392:4;1385:5;1381:16;1346:65;:::i;:::-;1436:29;1458:6;1436:29;:::i;:::-;1431:3;1427:39;1420:46;;1197:275;1115:357;;;;:::o;1478:196::-;1567:10;1602:66;1664:3;1656:6;1602:66;:::i;:::-;1588:80;;1478:196;;;;:::o;1680:123::-;1760:4;1792;1787:3;1783:14;1775:22;;1680:123;;;:::o;1837:991::-;1976:3;2005:64;2063:5;2005:64;:::i;:::-;2085:96;2174:6;2169:3;2085:96;:::i;:::-;2078:103;;2207:3;2252:4;2244:6;2240:17;2235:3;2231:27;2282:66;2342:5;2282:66;:::i;:::-;2371:7;2402:1;2387:396;2412:6;2409:1;2406:13;2387:396;;;2483:9;2477:4;2473:20;2468:3;2461:33;2534:6;2528:13;2562:84;2641:4;2626:13;2562:84;:::i;:::-;2554:92;;2669:70;2732:6;2669:70;:::i;:::-;2659:80;;2768:4;2763:3;2759:14;2752:21;;2447:336;2434:1;2431;2427:9;2422:14;;2387:396;;;2391:14;2799:4;2792:11;;2819:3;2812:10;;1981:847;;;;;1837:991;;;;:::o;2834:413::-;2997:4;3035:2;3024:9;3020:18;3012:26;;3084:9;3078:4;3074:20;3070:1;3059:9;3055:17;3048:47;3112:128;3235:4;3226:6;3112:128;:::i;:::-;3104:136;;2834:413;;;;:::o;3334:117::-;3443:1;3440;3433:12;3457:117;3566:1;3563;3556:12;3580:117;3689:1;3686;3679:12;3703:117;3812:1;3809;3802:12;3826:117;3935:1;3932;3925:12;3963:553;4021:8;4031:6;4081:3;4074:4;4066:6;4062:17;4058:27;4048:122;;4089:79;;:::i;:::-;4048:122;4202:6;4189:20;4179:30;;4232:18;4224:6;4221:30;4218:117;;;4254:79;;:::i;:::-;4218:117;4368:4;4360:6;4356:17;4344:29;;4422:3;4414:4;4406:6;4402:17;4392:8;4388:32;4385:41;4382:128;;;4429:79;;:::i;:::-;4382:128;3963:553;;;;;:::o;4522:529::-;4593:6;4601;4650:2;4638:9;4629:7;4625:23;4621:32;4618:119;;;4656:79;;:::i;:::-;4618:119;4804:1;4793:9;4789:17;4776:31;4834:18;4826:6;4823:30;4820:117;;;4856:79;;:::i;:::-;4820:117;4969:65;5026:7;5017:6;5006:9;5002:22;4969:65;:::i;:::-;4951:83;;;;4747:297;4522:529;;;;;:::o;5057:180::-;5105:77;5102:1;5095:88;5202:4;5199:1;5192:15;5226:4;5223:1;5216:15;5243:320;5287:6;5324:1;5318:4;5314:12;5304:22;;5371:1;5365:4;5361:12;5392:18;5382:81;;5448:4;5440:6;5436:17;5426:27;;5382:81;5510:2;5502:6;5499:14;5479:18;5476:38;5473:84;;5529:18;;:::i;:::-;5473:84;5294:269;5243:320;;;:::o;5569:97::-;5628:6;5656:3;5646:13;;5569:97;;;;:::o;5672:180::-;5720:77;5717:1;5710:88;5817:4;5814:1;5807:15;5841:4;5838:1;5831:15;5858:141;5907:4;5930:3;5922:11;;5953:3;5950:1;5943:14;5987:4;5984:1;5974:18;5966:26;;5858:141;;;:::o;6005:93::-;6042:6;6089:2;6084;6077:5;6073:14;6069:23;6059:33;;6005:93;;;:::o;6104:107::-;6148:8;6198:5;6192:4;6188:16;6167:37;;6104:107;;;;:::o;6217:393::-;6286:6;6336:1;6324:10;6320:18;6359:97;6389:66;6378:9;6359:97;:::i;:::-;6477:39;6507:8;6496:9;6477:39;:::i;:::-;6465:51;;6549:4;6545:9;6538:5;6534:21;6525:30;;6598:4;6588:8;6584:19;6577:5;6574:30;6564:40;;6293:317;;6217:393;;;;;:::o;6616:77::-;6653:7;6682:5;6671:16;;6616:77;;;:::o;6699:60::-;6727:3;6748:5;6741:12;;6699:60;;;:::o;6765:142::-;6815:9;6848:53;6866:34;6875:24;6893:5;6875:24;:::i;:::-;6866:34;:::i;:::-;6848:53;:::i;:::-;6835:66;;6765:142;;;:::o;6913:75::-;6956:3;6977:5;6970:12;;6913:75;;;:::o;6994:269::-;7104:39;7135:7;7104:39;:::i;:::-;7165:91;7214:41;7238:16;7214:41;:::i;:::-;7206:6;7199:4;7193:11;7165:91;:::i;:::-;7159:4;7152:105;7070:193;6994:269;;;:::o;7269:73::-;7314:3;7269:73;:::o;7348:189::-;7425:32;;:::i;:::-;7466:65;7524:6;7516;7510:4;7466:65;:::i;:::-;7401:136;7348:189;;:::o;7543:186::-;7603:120;7620:3;7613:5;7610:14;7603:120;;;7674:39;7711:1;7704:5;7674:39;:::i;:::-;7647:1;7640:5;7636:13;7627:22;;7603:120;;;7543:186;;:::o;7735:543::-;7836:2;7831:3;7828:11;7825:446;;;7870:38;7902:5;7870:38;:::i;:::-;7954:29;7972:10;7954:29;:::i;:::-;7944:8;7940:44;8137:2;8125:10;8122:18;8119:49;;;8158:8;8143:23;;8119:49;8181:80;8237:22;8255:3;8237:22;:::i;:::-;8227:8;8223:37;8210:11;8181:80;:::i;:::-;7840:431;;7825:446;7735:543;;;:::o;8284:117::-;8338:8;8388:5;8382:4;8378:16;8357:37;;8284:117;;;;:::o;8407:169::-;8451:6;8484:51;8532:1;8528:6;8520:5;8517:1;8513:13;8484:51;:::i;:::-;8480:56;8565:4;8559;8555:15;8545:25;;8458:118;8407:169;;;;:::o;8581:295::-;8657:4;8803:29;8828:3;8822:4;8803:29;:::i;:::-;8795:37;;8865:3;8862:1;8858:11;8852:4;8849:21;8841:29;;8581:295;;;;:::o;8881:1403::-;9005:44;9045:3;9040;9005:44;:::i;:::-;9114:18;9106:6;9103:30;9100:56;;;9136:18;;:::i;:::-;9100:56;9180:38;9212:4;9206:11;9180:38;:::i;:::-;9265:67;9325:6;9317;9311:4;9265:67;:::i;:::-;9359:1;9388:2;9380:6;9377:14;9405:1;9400:632;;;;10076:1;10093:6;10090:84;;;10149:9;10144:3;10140:19;10127:33;10118:42;;10090:84;10200:67;10260:6;10253:5;10200:67;:::i;:::-;10194:4;10187:81;10049:229;9370:908;;9400:632;9452:4;9448:9;9440:6;9436:22;9486:37;9518:4;9486:37;:::i;:::-;9545:1;9559:215;9573:7;9570:1;9567:14;9559:215;;;9659:9;9654:3;9650:19;9637:33;9629:6;9622:49;9710:1;9702:6;9698:14;9688:24;;9757:2;9746:9;9742:18;9729:31;;9596:4;9593:1;9589:12;9584:17;;9559:215;;;9802:6;9793:7;9790:19;9787:186;;;9867:9;9862:3;9858:19;9845:33;9910:48;9952:4;9944:6;9940:17;9929:9;9910:48;:::i;:::-;9902:6;9895:64;9810:163;9787:186;10019:1;10015;10007:6;10003:14;9999:22;9993:4;9986:36;9407:625;;;9370:908;;8980:1304;;;8881:1403;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "362800",
"executionCost": "399",
"totalCost": "363199"
},
"external": {
"addNewWriter(string)": "infinite",
"getAllWriters()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 69,
"end": 350,
"name": "MSTORE",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "ISZERO",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 69,
"end": 350,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "REVERT",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 69,
"end": 350,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "POP",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 350,
"name": "CODECOPY",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 350,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122039a45218ae3ff0f12536de52e4fb2f6869d64644b7d73d1de226187d0cce4a0f64736f6c63430008120033",
".code": [
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 69,
"end": 350,
"name": "MSTORE",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "ISZERO",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 69,
"end": 350,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "REVERT",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 69,
"end": 350,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "POP",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 69,
"end": 350,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "LT",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 69,
"end": 350,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 350,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 69,
"end": 350,
"name": "SHR",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "3066CA35"
},
{
"begin": 69,
"end": 350,
"name": "EQ",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 69,
"end": 350,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "5367C763"
},
{
"begin": 69,
"end": 350,
"name": "EQ",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 69,
"end": 350,
"name": "JUMPI",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 69,
"end": 350,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 69,
"end": 350,
"name": "DUP1",
"source": 0
},
{
"begin": 69,
"end": 350,
"name": "REVERT",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 246,
"end": 348,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 246,
"end": 348,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 246,
"end": 348,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 246,
"end": 348,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 246,
"end": 348,
"name": "MLOAD",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 246,
"end": 348,
"name": "SWAP2",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "SWAP1",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 246,
"end": 348,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 246,
"end": 348,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 246,
"end": 348,
"name": "MLOAD",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "DUP1",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "SWAP2",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "SUB",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "SWAP1",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "RETURN",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 142,
"end": 240,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 142,
"end": 240,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 142,
"end": 240,
"name": "DUP1",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "SUB",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "DUP2",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "ADD",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "SWAP1",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 142,
"end": 240,
"name": "SWAP2",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "SWAP1",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 142,
"end": 240,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 142,
"end": 240,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 142,
"end": 240,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 142,
"end": 240,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "STOP",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 246,
"end": 348,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 292,
"end": 307,
"name": "PUSH",
"source": 0,
"value": "60"
},
{
"begin": 326,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SLOAD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "MUL",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 319,
"end": 341,
"name": "MLOAD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 319,
"end": 341,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "LT",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "ISZERO",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 319,
"end": 341,
"name": "JUMPI",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP4",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 319,
"end": 341,
"name": "KECCAK256",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SLOAD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 319,
"end": 341,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 319,
"end": 341,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DIV",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "MUL",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 319,
"end": 341,
"name": "MLOAD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SLOAD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 319,
"end": 341,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 319,
"end": 341,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "ISZERO",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "JUMPI",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 319,
"end": 341,
"name": "LT",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 319,
"end": 341,
"name": "JUMPI",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP4",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SLOAD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DIV",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "MUL",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP4",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "JUMP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 319,
"end": 341,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 319,
"end": 341,
"name": "KECCAK256",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 319,
"end": 341,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SLOAD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP4",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "GT",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 319,
"end": 341,
"name": "JUMPI",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SUB",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 319,
"end": 341,
"name": "AND",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP3",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "DUP2",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "MSTORE",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 319,
"end": 341,
"name": "ADD",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 319,
"end": 341,
"name": "JUMP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 319,
"end": 341,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "SWAP1",
"source": 0
},
{
"begin": 319,
"end": 341,
"name": "POP",
"source": 0
},
{
"begin": 246,
"end": 348,
"name": "SWAP1",
"source": 0
},
{
"begin": 246,
"end": 348,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 142,
"end": 240,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 205,
"end": 220,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 226,
"end": 232,
"name": "DUP3",
"source": 0
},
{
"begin": 226,
"end": 232,
"name": "DUP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "DUP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 205,
"end": 233,
"name": "DUP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SLOAD",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "ADD",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "DUP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "DUP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SSTORE",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "DUP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "POP",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "POP",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SUB",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 205,
"end": 233,
"name": "MSTORE",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 205,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 205,
"end": 233,
"name": "KECCAK256",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "ADD",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "POP",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "DUP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 205,
"end": 233,
"name": "SWAP3",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 205,
"end": 233,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 205,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 205,
"end": 233,
"name": "POP",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "POP",
"source": 0
},
{
"begin": 142,
"end": 240,
"name": "POP",
"source": 0
},
{
"begin": 142,
"end": 240,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 131,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 7,
"end": 131,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 84,
"end": 90,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 118,
"end": 123,
"name": "DUP2",
"source": 1
},
{
"begin": 112,
"end": 124,
"name": "MLOAD",
"source": 1
},
{
"begin": 102,
"end": 124,
"name": "SWAP1",
"source": 1
},
{
"begin": 102,
"end": 124,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 131,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 131,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 131,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 131,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 137,
"end": 331,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 137,
"end": 331,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 246,
"end": 257,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 280,
"end": 286,
"name": "DUP3",
"source": 1
},
{
"begin": 275,
"end": 278,
"name": "DUP3",
"source": 1
},
{
"begin": 268,
"end": 287,
"name": "MSTORE",
"source": 1
},
{
"begin": 320,
"end": 324,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 315,
"end": 318,
"name": "DUP3",
"source": 1
},
{
"begin": 311,
"end": 325,
"name": "ADD",
"source": 1
},
{
"begin": 296,
"end": 325,
"name": "SWAP1",
"source": 1
},
{
"begin": 296,
"end": 325,
"name": "POP",
"source": 1
},
{
"begin": 137,
"end": 331,
"name": "SWAP3",
"source": 1
},
{
"begin": 137,
"end": 331,
"name": "SWAP2",
"source": 1
},
{
"begin": 137,
"end": 331,
"name": "POP",
"source": 1
},
{
"begin": 137,
"end": 331,
"name": "POP",
"source": 1
},
{
"begin": 137,
"end": 331,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 337,
"end": 479,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 337,
"end": 479,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 414,
"end": 418,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 437,
"end": 440,
"name": "DUP2",
"source": 1
},
{
"begin": 429,
"end": 440,
"name": "SWAP1",
"source": 1
},
{
"begin": 429,
"end": 440,
"name": "POP",
"source": 1
},
{
"begin": 467,
"end": 471,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 462,
"end": 465,
"name": "DUP3",
"source": 1
},
{
"begin": 458,
"end": 472,
"name": "ADD",
"source": 1
},
{
"begin": 450,
"end": 472,
"name": "SWAP1",
"source": 1
},
{
"begin": 450,
"end": 472,
"name": "POP",
"source": 1
},
{
"begin": 337,
"end": 479,
"name": "SWAP2",
"source": 1
},
{
"begin": 337,
"end": 479,
"name": "SWAP1",
"source": 1
},
{
"begin": 337,
"end": 479,
"name": "POP",
"source": 1
},
{
"begin": 337,
"end": 479,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 485,
"end": 584,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 485,
"end": 584,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 537,
"end": 543,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 571,
"end": 576,
"name": "DUP2",
"source": 1
},
{
"begin": 565,
"end": 577,
"name": "MLOAD",
"source": 1
},
{
"begin": 555,
"end": 577,
"name": "SWAP1",
"source": 1
},
{
"begin": 555,
"end": 577,
"name": "POP",
"source": 1
},
{
"begin": 485,
"end": 584,
"name": "SWAP2",
"source": 1
},
{
"begin": 485,
"end": 584,
"name": "SWAP1",
"source": 1
},
{
"begin": 485,
"end": 584,
"name": "POP",
"source": 1
},
{
"begin": 485,
"end": 584,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 590,
"end": 749,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 590,
"end": 749,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 664,
"end": 675,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 698,
"end": 704,
"name": "DUP3",
"source": 1
},
{
"begin": 693,
"end": 696,
"name": "DUP3",
"source": 1
},
{
"begin": 686,
"end": 705,
"name": "MSTORE",
"source": 1
},
{
"begin": 738,
"end": 742,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 733,
"end": 736,
"name": "DUP3",
"source": 1
},
{
"begin": 729,
"end": 743,
"name": "ADD",
"source": 1
},
{
"begin": 714,
"end": 743,
"name": "SWAP1",
"source": 1
},
{
"begin": 714,
"end": 743,
"name": "POP",
"source": 1
},
{
"begin": 590,
"end": 749,
"name": "SWAP3",
"source": 1
},
{
"begin": 590,
"end": 749,
"name": "SWAP2",
"source": 1
},
{
"begin": 590,
"end": 749,
"name": "POP",
"source": 1
},
{
"begin": 590,
"end": 749,
"name": "POP",
"source": 1
},
{
"begin": 590,
"end": 749,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 755,
"end": 1001,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 755,
"end": 1001,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 836,
"end": 837,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 846,
"end": 959,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 846,
"end": 959,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 860,
"end": 866,
"name": "DUP4",
"source": 1
},
{
"begin": 857,
"end": 858,
"name": "DUP2",
"source": 1
},
{
"begin": 854,
"end": 867,
"name": "LT",
"source": 1
},
{
"begin": 846,
"end": 959,
"name": "ISZERO",
"source": 1
},
{
"begin": 846,
"end": 959,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 846,
"end": 959,
"name": "JUMPI",
"source": 1
},
{
"begin": 945,
"end": 946,
"name": "DUP1",
"source": 1
},
{
"begin": 940,
"end": 943,
"name": "DUP3",
"source": 1
},
{
"begin": 936,
"end": 947,
"name": "ADD",
"source": 1
},
{
"begin": 930,
"end": 948,
"name": "MLOAD",
"source": 1
},
{
"begin": 926,
"end": 927,
"name": "DUP2",
"source": 1
},
{
"begin": 921,
"end": 924,
"name": "DUP5",
"source": 1
},
{
"begin": 917,
"end": 928,
"name": "ADD",
"source": 1
},
{
"begin": 910,
"end": 949,
"name": "MSTORE",
"source": 1
},
{
"begin": 882,
"end": 884,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 879,
"end": 880,
"name": "DUP2",
"source": 1
},
{
"begin": 875,
"end": 885,
"name": "ADD",
"source": 1
},
{
"begin": 870,
"end": 885,
"name": "SWAP1",
"source": 1
},
{
"begin": 870,
"end": 885,
"name": "POP",
"source": 1
},
{
"begin": 846,
"end": 959,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 846,
"end": 959,
"name": "JUMP",
"source": 1
},
{
"begin": 846,
"end": 959,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 846,
"end": 959,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 993,
"end": 994,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 984,
"end": 990,
"name": "DUP5",
"source": 1
},
{
"begin": 979,
"end": 982,
"name": "DUP5",
"source": 1
},
{
"begin": 975,
"end": 991,
"name": "ADD",
"source": 1
},
{
"begin": 968,
"end": 995,
"name": "MSTORE",
"source": 1
},
{
"begin": 817,
"end": 1001,
"name": "POP",
"source": 1
},
{
"begin": 755,
"end": 1001,
"name": "POP",
"source": 1
},
{
"begin": 755,
"end": 1001,
"name": "POP",
"source": 1
},
{
"begin": 755,
"end": 1001,
"name": "POP",
"source": 1
},
{
"begin": 755,
"end": 1001,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1007,
"end": 1109,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 1007,
"end": 1109,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1048,
"end": 1054,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1099,
"end": 1101,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1095,
"end": 1102,
"name": "NOT",
"source": 1
},
{
"begin": 1090,
"end": 1092,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1083,
"end": 1088,
"name": "DUP4",
"source": 1
},
{
"begin": 1079,
"end": 1093,
"name": "ADD",
"source": 1
},
{
"begin": 1075,
"end": 1103,
"name": "AND",
"source": 1
},
{
"begin": 1065,
"end": 1103,
"name": "SWAP1",
"source": 1
},
{
"begin": 1065,
"end": 1103,
"name": "POP",
"source": 1
},
{
"begin": 1007,
"end": 1109,
"name": "SWAP2",
"source": 1
},
{
"begin": 1007,
"end": 1109,
"name": "SWAP1",
"source": 1
},
{
"begin": 1007,
"end": 1109,
"name": "POP",
"source": 1
},
{
"begin": 1007,
"end": 1109,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1115,
"end": 1472,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 1115,
"end": 1472,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1193,
"end": 1196,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1221,
"end": 1260,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 1254,
"end": 1259,
"name": "DUP3",
"source": 1
},
{
"begin": 1221,
"end": 1260,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 1221,
"end": 1260,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1221,
"end": 1260,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 1221,
"end": 1260,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1276,
"end": 1337,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 1330,
"end": 1336,
"name": "DUP2",
"source": 1
},
{
"begin": 1325,
"end": 1328,
"name": "DUP6",
"source": 1
},
{
"begin": 1276,
"end": 1337,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 1276,
"end": 1337,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1276,
"end": 1337,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 1276,
"end": 1337,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1269,
"end": 1337,
"name": "SWAP4",
"source": 1
},
{
"begin": 1269,
"end": 1337,
"name": "POP",
"source": 1
},
{
"begin": 1346,
"end": 1411,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 1404,
"end": 1410,
"name": "DUP2",
"source": 1
},
{
"begin": 1399,
"end": 1402,
"name": "DUP6",
"source": 1
},
{
"begin": 1392,
"end": 1396,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1385,
"end": 1390,
"name": "DUP7",
"source": 1
},
{
"begin": 1381,
"end": 1397,
"name": "ADD",
"source": 1
},
{
"begin": 1346,
"end": 1411,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 1346,
"end": 1411,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1346,
"end": 1411,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 1346,
"end": 1411,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1436,
"end": 1465,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 1458,
"end": 1464,
"name": "DUP2",
"source": 1
},
{
"begin": 1436,
"end": 1465,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 1436,
"end": 1465,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1436,
"end": 1465,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 1436,
"end": 1465,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1431,
"end": 1434,
"name": "DUP5",
"source": 1
},
{
"begin": 1427,
"end": 1466,
"name": "ADD",
"source": 1
},
{
"begin": 1420,
"end": 1466,
"name": "SWAP2",
"source": 1
},
{
"begin": 1420,
"end": 1466,
"name": "POP",
"source": 1
},
{
"begin": 1197,
"end": 1472,
"name": "POP",
"source": 1
},
{
"begin": 1115,
"end": 1472,
"name": "SWAP3",
"source": 1
},
{
"begin": 1115,
"end": 1472,
"name": "SWAP2",
"source": 1
},
{
"begin": 1115,
"end": 1472,
"name": "POP",
"source": 1
},
{
"begin": 1115,
"end": 1472,
"name": "POP",
"source": 1
},
{
"begin": 1115,
"end": 1472,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1478,
"end": 1674,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 1478,
"end": 1674,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1567,
"end": 1577,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1602,
"end": 1668,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 1664,
"end": 1667,
"name": "DUP4",
"source": 1
},
{
"begin": 1656,
"end": 1662,
"name": "DUP4",
"source": 1
},
{
"begin": 1602,
"end": 1668,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 1602,
"end": 1668,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1602,
"end": 1668,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 1602,
"end": 1668,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1588,
"end": 1668,
"name": "SWAP1",
"source": 1
},
{
"begin": 1588,
"end": 1668,
"name": "POP",
"source": 1
},
{
"begin": 1478,
"end": 1674,
"name": "SWAP3",
"source": 1
},
{
"begin": 1478,
"end": 1674,
"name": "SWAP2",
"source": 1
},
{
"begin": 1478,
"end": 1674,
"name": "POP",
"source": 1
},
{
"begin": 1478,
"end": 1674,
"name": "POP",
"source": 1
},
{
"begin": 1478,
"end": 1674,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1680,
"end": 1803,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 1680,
"end": 1803,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1760,
"end": 1764,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1792,
"end": 1796,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1787,
"end": 1790,
"name": "DUP3",
"source": 1
},
{
"begin": 1783,
"end": 1797,
"name": "ADD",
"source": 1
},
{
"begin": 1775,
"end": 1797,
"name": "SWAP1",
"source": 1
},
{
"begin": 1775,
"end": 1797,
"name": "POP",
"source": 1
},
{
"begin": 1680,
"end": 1803,
"name": "SWAP2",
"source": 1
},
{
"begin": 1680,
"end": 1803,
"name": "SWAP1",
"source": 1
},
{
"begin": 1680,
"end": 1803,
"name": "POP",
"source": 1
},
{
"begin": 1680,
"end": 1803,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1837,
"end": 2828,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 1837,
"end": 2828,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1976,
"end": 1979,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2005,
"end": 2069,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 2063,
"end": 2068,
"name": "DUP3",
"source": 1
},
{
"begin": 2005,
"end": 2069,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 2005,
"end": 2069,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2005,
"end": 2069,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 2005,
"end": 2069,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2085,
"end": 2181,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 2174,
"end": 2180,
"name": "DUP2",
"source": 1
},
{
"begin": 2169,
"end": 2172,
"name": "DUP6",
"source": 1
},
{
"begin": 2085,
"end": 2181,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 2085,
"end": 2181,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2085,
"end": 2181,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 2085,
"end": 2181,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2078,
"end": 2181,
"name": "SWAP4",
"source": 1
},
{
"begin": 2078,
"end": 2181,
"name": "POP",
"source": 1
},
{
"begin": 2207,
"end": 2210,
"name": "DUP4",
"source": 1
},
{
"begin": 2252,
"end": 2256,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2244,
"end": 2250,
"name": "DUP3",
"source": 1
},
{
"begin": 2240,
"end": 2257,
"name": "MUL",
"source": 1
},
{
"begin": 2235,
"end": 2238,
"name": "DUP6",
"source": 1
},
{
"begin": 2231,
"end": 2258,
"name": "ADD",
"source": 1
},
{
"begin": 2282,
"end": 2348,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 2342,
"end": 2347,
"name": "DUP6",
"source": 1
},
{
"begin": 2282,
"end": 2348,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 2282,
"end": 2348,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2282,
"end": 2348,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 2282,
"end": 2348,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2371,
"end": 2378,
"name": "DUP1",
"source": 1
},
{
"begin": 2402,
"end": 2403,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2387,
"end": 2783,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 2387,
"end": 2783,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2412,
"end": 2418,
"name": "DUP6",
"source": 1
},
{
"begin": 2409,
"end": 2410,
"name": "DUP2",
"source": 1
},
{
"begin": 2406,
"end": 2419,
"name": "LT",
"source": 1
},
{
"begin": 2387,
"end": 2783,
"name": "ISZERO",
"source": 1
},
{
"begin": 2387,
"end": 2783,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 2387,
"end": 2783,
"name": "JUMPI",
"source": 1
},
{
"begin": 2483,
"end": 2492,
"name": "DUP5",
"source": 1
},
{
"begin": 2477,
"end": 2481,
"name": "DUP5",
"source": 1
},
{
"begin": 2473,
"end": 2493,
"name": "SUB",
"source": 1
},
{
"begin": 2468,
"end": 2471,
"name": "DUP10",
"source": 1
},
{
"begin": 2461,
"end": 2494,
"name": "MSTORE",
"source": 1
},
{
"begin": 2534,
"end": 2540,
"name": "DUP2",
"source": 1
},
{
"begin": 2528,
"end": 2541,
"name": "MLOAD",
"source": 1
},
{
"begin": 2562,
"end": 2646,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2641,
"end": 2645,
"name": "DUP6",
"source": 1
},
{
"begin": 2626,
"end": 2639,
"name": "DUP3",
"source": 1
},
{
"begin": 2562,
"end": 2646,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 2562,
"end": 2646,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2562,
"end": 2646,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 2562,
"end": 2646,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2554,
"end": 2646,
"name": "SWAP5",
"source": 1
},
{
"begin": 2554,
"end": 2646,
"name": "POP",
"source": 1
},
{
"begin": 2669,
"end": 2739,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 2732,
"end": 2738,
"name": "DUP4",
"source": 1
},
{
"begin": 2669,
"end": 2739,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 2669,
"end": 2739,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2669,
"end": 2739,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 2669,
"end": 2739,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2659,
"end": 2739,
"name": "SWAP3",
"source": 1
},
{
"begin": 2659,
"end": 2739,
"name": "POP",
"source": 1
},
{
"begin": 2768,
"end": 2772,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2763,
"end": 2766,
"name": "DUP11",
"source": 1
},
{
"begin": 2759,
"end": 2773,
"name": "ADD",
"source": 1
},
{
"begin": 2752,
"end": 2773,
"name": "SWAP10",
"source": 1
},
{
"begin": 2752,
"end": 2773,
"name": "POP",
"source": 1
},
{
"begin": 2447,
"end": 2783,
"name": "POP",
"source": 1
},
{
"begin": 2434,
"end": 2435,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 2431,
"end": 2432,
"name": "DUP2",
"source": 1
},
{
"begin": 2427,
"end": 2436,
"name": "ADD",
"source": 1
},
{
"begin": 2422,
"end": 2436,
"name": "SWAP1",
"source": 1
},
{
"begin": 2422,
"end": 2436,
"name": "POP",
"source": 1
},
{
"begin": 2387,
"end": 2783,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 2387,
"end": 2783,
"name": "JUMP",
"source": 1
},
{
"begin": 2387,
"end": 2783,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 2387,
"end": 2783,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2391,
"end": 2405,
"name": "POP",
"source": 1
},
{
"begin": 2799,
"end": 2803,
"name": "DUP3",
"source": 1
},
{
"begin": 2792,
"end": 2803,
"name": "SWAP8",
"source": 1
},
{
"begin": 2792,
"end": 2803,
"name": "POP",
"source": 1
},
{
"begin": 2819,
"end": 2822,
"name": "DUP8",
"source": 1
},
{
"begin": 2812,
"end": 2822,
"name": "SWAP6",
"source": 1
},
{
"begin": 2812,
"end": 2822,
"name": "POP",
"source": 1
},
{
"begin": 1981,
"end": 2828,
"name": "POP",
"source": 1
},
{
"begin": 1981,
"end": 2828,
"name": "POP",
"source": 1
},
{
"begin": 1981,
"end": 2828,
"name": "POP",
"source": 1
},
{
"begin": 1981,
"end": 2828,
"name": "POP",
"source": 1
},
{
"begin": 1981,
"end": 2828,
"name": "POP",
"source": 1
},
{
"begin": 1837,
"end": 2828,
"name": "SWAP3",
"source": 1
},
{
"begin": 1837,
"end": 2828,
"name": "SWAP2",
"source": 1
},
{
"begin": 1837,
"end": 2828,
"name": "POP",
"source": 1
},
{
"begin": 1837,
"end": 2828,
"name": "POP",
"source": 1
},
{
"begin": 1837,
"end": 2828,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2834,
"end": 3247,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 2834,
"end": 3247,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2997,
"end": 3001,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3035,
"end": 3037,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3024,
"end": 3033,
"name": "DUP3",
"source": 1
},
{
"begin": 3020,
"end": 3038,
"name": "ADD",
"source": 1
},
{
"begin": 3012,
"end": 3038,
"name": "SWAP1",
"source": 1
},
{
"begin": 3012,
"end": 3038,
"name": "POP",
"source": 1
},
{
"begin": 3084,
"end": 3093,
"name": "DUP2",
"source": 1
},
{
"begin": 3078,
"end": 3082,
"name": "DUP2",
"source": 1
},
{
"begin": 3074,
"end": 3094,
"name": "SUB",
"source": 1
},
{
"begin": 3070,
"end": 3071,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3059,
"end": 3068,
"name": "DUP4",
"source": 1
},
{
"begin": 3055,
"end": 3072,
"name": "ADD",
"source": 1
},
{
"begin": 3048,
"end": 3095,
"name": "MSTORE",
"source": 1
},
{
"begin": 3112,
"end": 3240,
"name": "PUSH [tag]",
"source": 1,
"value": "93"
},
{
"begin": 3235,
"end": 3239,
"name": "DUP2",
"source": 1
},
{
"begin": 3226,
"end": 3232,
"name": "DUP5",
"source": 1
},
{
"begin": 3112,
"end": 3240,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 3112,
"end": 3240,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3112,
"end": 3240,
"name": "tag",
"source": 1,
"value": "93"
},
{
"begin": 3112,
"end": 3240,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3104,
"end": 3240,
"name": "SWAP1",
"source": 1
},
{
"begin": 3104,
"end": 3240,
"name": "POP",
"source": 1
},
{
"begin": 2834,
"end": 3247,
"name": "SWAP3",
"source": 1
},
{
"begin": 2834,
"end": 3247,
"name": "SWAP2",
"source": 1
},
{
"begin": 2834,
"end": 3247,
"name": "POP",
"source": 1
},
{
"begin": 2834,
"end": 3247,
"name": "POP",
"source": 1
},
{
"begin": 2834,
"end": 3247,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3334,
"end": 3451,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 3334,
"end": 3451,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3443,
"end": 3444,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3440,
"end": 3441,
"name": "DUP1",
"source": 1
},
{
"begin": 3433,
"end": 3445,
"name": "REVERT",
"source": 1
},
{
"begin": 3457,
"end": 3574,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 3457,
"end": 3574,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3566,
"end": 3567,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3563,
"end": 3564,
"name": "DUP1",
"source": 1
},
{
"begin": 3556,
"end": 3568,
"name": "REVERT",
"source": 1
},
{
"begin": 3580,
"end": 3697,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 3580,
"end": 3697,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3689,
"end": 3690,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3686,
"end": 3687,
"name": "DUP1",
"source": 1
},
{
"begin": 3679,
"end": 3691,
"name": "REVERT",
"source": 1
},
{
"begin": 3703,
"end": 3820,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 3703,
"end": 3820,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3812,
"end": 3813,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3809,
"end": 3810,
"name": "DUP1",
"source": 1
},
{
"begin": 3802,
"end": 3814,
"name": "REVERT",
"source": 1
},
{
"begin": 3826,
"end": 3943,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 3826,
"end": 3943,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3935,
"end": 3936,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3932,
"end": 3933,
"name": "DUP1",
"source": 1
},
{
"begin": 3925,
"end": 3937,
"name": "REVERT",
"source": 1
},
{
"begin": 3963,
"end": 4516,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 3963,
"end": 4516,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4021,
"end": 4029,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4031,
"end": 4037,
"name": "DUP1",
"source": 1
},
{
"begin": 4081,
"end": 4084,
"name": "DUP4",
"source": 1
},
{
"begin": 4074,
"end": 4078,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4066,
"end": 4072,
"name": "DUP5",
"source": 1
},
{
"begin": 4062,
"end": 4079,
"name": "ADD",
"source": 1
},
{
"begin": 4058,
"end": 4085,
"name": "SLT",
"source": 1
},
{
"begin": 4048,
"end": 4170,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 4048,
"end": 4170,
"name": "JUMPI",
"source": 1
},
{
"begin": 4089,
"end": 4168,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 4089,
"end": 4168,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 4089,
"end": 4168,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4089,
"end": 4168,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 4089,
"end": 4168,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4048,
"end": 4170,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 4048,
"end": 4170,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4202,
"end": 4208,
"name": "DUP3",
"source": 1
},
{
"begin": 4189,
"end": 4209,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 4179,
"end": 4209,
"name": "SWAP1",
"source": 1
},
{
"begin": 4179,
"end": 4209,
"name": "POP",
"source": 1
},
{
"begin": 4232,
"end": 4250,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 4224,
"end": 4230,
"name": "DUP2",
"source": 1
},
{
"begin": 4221,
"end": 4251,
"name": "GT",
"source": 1
},
{
"begin": 4218,
"end": 4335,
"name": "ISZERO",
"source": 1
},
{
"begin": 4218,
"end": 4335,
"name": "PUSH [tag]",
"source": 1,
"value": "103"
},
{
"begin": 4218,
"end": 4335,
"name": "JUMPI",
"source": 1
},
{
"begin": 4254,
"end": 4333,
"name": "PUSH [tag]",
"source": 1,
"value": "104"
},
{
"begin": 4254,
"end": 4333,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 4254,
"end": 4333,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4254,
"end": 4333,
"name": "tag",
"source": 1,
"value": "104"
},
{
"begin": 4254,
"end": 4333,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4218,
"end": 4335,
"name": "tag",
"source": 1,
"value": "103"
},
{
"begin": 4218,
"end": 4335,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4368,
"end": 4372,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4360,
"end": 4366,
"name": "DUP4",
"source": 1
},
{
"begin": 4356,
"end": 4373,
"name": "ADD",
"source": 1
},
{
"begin": 4344,
"end": 4373,
"name": "SWAP2",
"source": 1
},
{
"begin": 4344,
"end": 4373,
"name": "POP",
"source": 1
},
{
"begin": 4422,
"end": 4425,
"name": "DUP4",
"source": 1
},
{
"begin": 4414,
"end": 4418,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4406,
"end": 4412,
"name": "DUP3",
"source": 1
},
{
"begin": 4402,
"end": 4419,
"name": "MUL",
"source": 1
},
{
"begin": 4392,
"end": 4400,
"name": "DUP4",
"source": 1
},
{
"begin": 4388,
"end": 4420,
"name": "ADD",
"source": 1
},
{
"begin": 4385,
"end": 4426,
"name": "GT",
"source": 1
},
{
"begin": 4382,
"end": 4510,
"name": "ISZERO",
"source": 1
},
{
"begin": 4382,
"end": 4510,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 4382,
"end": 4510,
"name": "JUMPI",
"source": 1
},
{
"begin": 4429,
"end": 4508,
"name": "PUSH [tag]",
"source": 1,
"value": "106"
},
{
"begin": 4429,
"end": 4508,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 4429,
"end": 4508,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4429,
"end": 4508,
"name": "tag",
"source": 1,
"value": "106"
},
{
"begin": 4429,
"end": 4508,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4382,
"end": 4510,
"name": "tag",
"source": 1,
"value": "105"
},
{
"begin": 4382,
"end": 4510,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3963,
"end": 4516,
"name": "SWAP3",
"source": 1
},
{
"begin": 3963,
"end": 4516,
"name": "POP",
"source": 1
},
{
"begin": 3963,
"end": 4516,
"name": "SWAP3",
"source": 1
},
{
"begin": 3963,
"end": 4516,
"name": "SWAP1",
"source": 1
},
{
"begin": 3963,
"end": 4516,
"name": "POP",
"source": 1
},
{
"begin": 3963,
"end": 4516,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4522,
"end": 5051,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 4522,
"end": 5051,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4593,
"end": 4599,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4601,
"end": 4607,
"name": "DUP1",
"source": 1
},
{
"begin": 4650,
"end": 4652,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4638,
"end": 4647,
"name": "DUP4",
"source": 1
},
{
"begin": 4629,
"end": 4636,
"name": "DUP6",
"source": 1
},
{
"begin": 4625,
"end": 4648,
"name": "SUB",
"source": 1
},
{
"begin": 4621,
"end": 4653,
"name": "SLT",
"source": 1
},
{
"begin": 4618,
"end": 4737,
"name": "ISZERO",
"source": 1
},
{
"begin": 4618,
"end": 4737,
"name": "PUSH [tag]",
"source": 1,
"value": "108"
},
{
"begin": 4618,
"end": 4737,
"name": "JUMPI",
"source": 1
},
{
"begin": 4656,
"end": 4735,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 4656,
"end": 4735,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 4656,
"end": 4735,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4656,
"end": 4735,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 4656,
"end": 4735,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4618,
"end": 4737,
"name": "tag",
"source": 1,
"value": "108"
},
{
"begin": 4618,
"end": 4737,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4804,
"end": 4805,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4793,
"end": 4802,
"name": "DUP4",
"source": 1
},
{
"begin": 4789,
"end": 4806,
"name": "ADD",
"source": 1
},
{
"begin": 4776,
"end": 4807,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 4834,
"end": 4852,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 4826,
"end": 4832,
"name": "DUP2",
"source": 1
},
{
"begin": 4823,
"end": 4853,
"name": "GT",
"source": 1
},
{
"begin": 4820,
"end": 4937,
"name": "ISZERO",
"source": 1
},
{
"begin": 4820,
"end": 4937,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 4820,
"end": 4937,
"name": "JUMPI",
"source": 1
},
{
"begin": 4856,
"end": 4935,
"name": "PUSH [tag]",
"source": 1,
"value": "111"
},
{
"begin": 4856,
"end": 4935,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 4856,
"end": 4935,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4856,
"end": 4935,
"name": "tag",
"source": 1,
"value": "111"
},
{
"begin": 4856,
"end": 4935,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4820,
"end": 4937,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 4820,
"end": 4937,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4969,
"end": 5034,
"name": "PUSH [tag]",
"source": 1,
"value": "112"
},
{
"begin": 5026,
"end": 5033,
"name": "DUP6",
"source": 1
},
{
"begin": 5017,
"end": 5023,
"name": "DUP3",
"source": 1
},
{
"begin": 5006,
"end": 5015,
"name": "DUP7",
"source": 1
},
{
"begin": 5002,
"end": 5024,
"name": "ADD",
"source": 1
},
{
"begin": 4969,
"end": 5034,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 4969,
"end": 5034,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4969,
"end": 5034,
"name": "tag",
"source": 1,
"value": "112"
},
{
"begin": 4969,
"end": 5034,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4951,
"end": 5034,
"name": "SWAP3",
"source": 1
},
{
"begin": 4951,
"end": 5034,
"name": "POP",
"source": 1
},
{
"begin": 4951,
"end": 5034,
"name": "SWAP3",
"source": 1
},
{
"begin": 4951,
"end": 5034,
"name": "POP",
"source": 1
},
{
"begin": 4747,
"end": 5044,
"name": "POP",
"source": 1
},
{
"begin": 4522,
"end": 5051,
"name": "SWAP3",
"source": 1
},
{
"begin": 4522,
"end": 5051,
"name": "POP",
"source": 1
},
{
"begin": 4522,
"end": 5051,
"name": "SWAP3",
"source": 1
},
{
"begin": 4522,
"end": 5051,
"name": "SWAP1",
"source": 1
},
{
"begin": 4522,
"end": 5051,
"name": "POP",
"source": 1
},
{
"begin": 4522,
"end": 5051,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5057,
"end": 5237,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 5057,
"end": 5237,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5105,
"end": 5182,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 5102,
"end": 5103,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5095,
"end": 5183,
"name": "MSTORE",
"source": 1
},
{
"begin": 5202,
"end": 5206,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 5199,
"end": 5200,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 5192,
"end": 5207,
"name": "MSTORE",
"source": 1
},
{
"begin": 5226,
"end": 5230,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 5223,
"end": 5224,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5216,
"end": 5231,
"name": "REVERT",
"source": 1
},
{
"begin": 5243,
"end": 5563,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 5243,
"end": 5563,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5287,
"end": 5293,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5324,
"end": 5325,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 5318,
"end": 5322,
"name": "DUP3",
"source": 1
},
{
"begin": 5314,
"end": 5326,
"name": "DIV",
"source": 1
},
{
"begin": 5304,
"end": 5326,
"name": "SWAP1",
"source": 1
},
{
"begin": 5304,
"end": 5326,
"name": "POP",
"source": 1
},
{
"begin": 5371,
"end": 5372,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 5365,
"end": 5369,
"name": "DUP3",
"source": 1
},
{
"begin": 5361,
"end": 5373,
"name": "AND",
"source": 1
},
{
"begin": 5392,
"end": 5410,
"name": "DUP1",
"source": 1
},
{
"begin": 5382,
"end": 5463,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 5382,
"end": 5463,
"name": "JUMPI",
"source": 1
},
{
"begin": 5448,
"end": 5452,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 5440,
"end": 5446,
"name": "DUP3",
"source": 1
},
{
"begin": 5436,
"end": 5453,
"name": "AND",
"source": 1
},
{
"begin": 5426,
"end": 5453,
"name": "SWAP2",
"source": 1
},
{
"begin": 5426,
"end": 5453,
"name": "POP",
"source": 1
},
{
"begin": 5382,
"end": 5463,
"name": "tag",
"source": 1,
"value": "115"
},
{
"begin": 5382,
"end": 5463,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5510,
"end": 5512,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5502,
"end": 5508,
"name": "DUP3",
"source": 1
},
{
"begin": 5499,
"end": 5513,
"name": "LT",
"source": 1
},
{
"begin": 5479,
"end": 5497,
"name": "DUP2",
"source": 1
},
{
"begin": 5476,
"end": 5514,
"name": "SUB",
"source": 1
},
{
"begin": 5473,
"end": 5557,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 5473,
"end": 5557,
"name": "JUMPI",
"source": 1
},
{
"begin": 5529,
"end": 5547,
"name": "PUSH [tag]",
"source": 1,
"value": "117"
},
{
"begin": 5529,
"end": 5547,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 5529,
"end": 5547,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5529,
"end": 5547,
"name": "tag",
"source": 1,
"value": "117"
},
{
"begin": 5529,
"end": 5547,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5473,
"end": 5557,
"name": "tag",
"source": 1,
"value": "116"
},
{
"begin": 5473,
"end": 5557,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5294,
"end": 5563,
"name": "POP",
"source": 1
},
{
"begin": 5243,
"end": 5563,
"name": "SWAP2",
"source": 1
},
{
"begin": 5243,
"end": 5563,
"name": "SWAP1",
"source": 1
},
{
"begin": 5243,
"end": 5563,
"name": "POP",
"source": 1
},
{
"begin": 5243,
"end": 5563,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5569,
"end": 5666,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 5569,
"end": 5666,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5628,
"end": 5634,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5656,
"end": 5659,
"name": "DUP3",
"source": 1
},
{
"begin": 5646,
"end": 5659,
"name": "SWAP1",
"source": 1
},
{
"begin": 5646,
"end": 5659,
"name": "POP",
"source": 1
},
{
"begin": 5569,
"end": 5666,
"name": "SWAP3",
"source": 1
},
{
"begin": 5569,
"end": 5666,
"name": "SWAP2",
"source": 1
},
{
"begin": 5569,
"end": 5666,
"name": "POP",
"source": 1
},
{
"begin": 5569,
"end": 5666,
"name": "POP",
"source": 1
},
{
"begin": 5569,
"end": 5666,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5672,
"end": 5852,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 5672,
"end": 5852,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5720,
"end": 5797,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 5717,
"end": 5718,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5710,
"end": 5798,
"name": "MSTORE",
"source": 1
},
{
"begin": 5817,
"end": 5821,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 5814,
"end": 5815,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 5807,
"end": 5822,
"name": "MSTORE",
"source": 1
},
{
"begin": 5841,
"end": 5845,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 5838,
"end": 5839,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5831,
"end": 5846,
"name": "REVERT",
"source": 1
},
{
"begin": 5858,
"end": 5999,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 5858,
"end": 5999,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5907,
"end": 5911,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5930,
"end": 5933,
"name": "DUP2",
"source": 1
},
{
"begin": 5922,
"end": 5933,
"name": "SWAP1",
"source": 1
},
{
"begin": 5922,
"end": 5933,
"name": "POP",
"source": 1
},
{
"begin": 5953,
"end": 5956,
"name": "DUP2",
"source": 1
},
{
"begin": 5950,
"end": 5951,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5943,
"end": 5957,
"name": "MSTORE",
"source": 1
},
{
"begin": 5987,
"end": 5991,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5984,
"end": 5985,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5974,
"end": 5992,
"name": "KECCAK256",
"source": 1
},
{
"begin": 5966,
"end": 5992,
"name": "SWAP1",
"source": 1
},
{
"begin": 5966,
"end": 5992,
"name": "POP",
"source": 1
},
{
"begin": 5858,
"end": 5999,
"name": "SWAP2",
"source": 1
},
{
"begin": 5858,
"end": 5999,
"name": "SWAP1",
"source": 1
},
{
"begin": 5858,
"end": 5999,
"name": "POP",
"source": 1
},
{
"begin": 5858,
"end": 5999,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6005,
"end": 6098,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 6005,
"end": 6098,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6042,
"end": 6048,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6089,
"end": 6091,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 6084,
"end": 6086,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 6077,
"end": 6082,
"name": "DUP4",
"source": 1
},
{
"begin": 6073,
"end": 6087,
"name": "ADD",
"source": 1
},
{
"begin": 6069,
"end": 6092,
"name": "DIV",
"source": 1
},
{
"begin": 6059,
"end": 6092,
"name": "SWAP1",
"source": 1
},
{
"begin": 6059,
"end": 6092,
"name": "POP",
"source": 1
},
{
"begin": 6005,
"end": 6098,
"name": "SWAP2",
"source": 1
},
{
"begin": 6005,
"end": 6098,
"name": "SWAP1",
"source": 1
},
{
"begin": 6005,
"end": 6098,
"name": "POP",
"source": 1
},
{
"begin": 6005,
"end": 6098,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6104,
"end": 6211,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 6104,
"end": 6211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6148,
"end": 6156,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6198,
"end": 6203,
"name": "DUP3",
"source": 1
},
{
"begin": 6192,
"end": 6196,
"name": "DUP3",
"source": 1
},
{
"begin": 6188,
"end": 6204,
"name": "SHL",
"source": 1
},
{
"begin": 6167,
"end": 6204,
"name": "SWAP1",
"source": 1
},
{
"begin": 6167,
"end": 6204,
"name": "POP",
"source": 1
},
{
"begin": 6104,
"end": 6211,
"name": "SWAP3",
"source": 1
},
{
"begin": 6104,
"end": 6211,
"name": "SWAP2",
"source": 1
},
{
"begin": 6104,
"end": 6211,
"name": "POP",
"source": 1
},
{
"begin": 6104,
"end": 6211,
"name": "POP",
"source": 1
},
{
"begin": 6104,
"end": 6211,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6217,
"end": 6610,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 6217,
"end": 6610,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6286,
"end": 6292,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6336,
"end": 6337,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 6324,
"end": 6334,
"name": "DUP4",
"source": 1
},
{
"begin": 6320,
"end": 6338,
"name": "MUL",
"source": 1
},
{
"begin": 6359,
"end": 6456,
"name": "PUSH [tag]",
"source": 1,
"value": "124"
},
{
"begin": 6389,
"end": 6455,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 6378,
"end": 6387,
"name": "DUP3",
"source": 1
},
{
"begin": 6359,
"end": 6456,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 6359,
"end": 6456,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6359,
"end": 6456,
"name": "tag",
"source": 1,
"value": "124"
},
{
"begin": 6359,
"end": 6456,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6477,
"end": 6516,
"name": "PUSH [tag]",
"source": 1,
"value": "125"
},
{
"begin": 6507,
"end": 6515,
"name": "DUP7",
"source": 1
},
{
"begin": 6496,
"end": 6505,
"name": "DUP4",
"source": 1
},
{
"begin": 6477,
"end": 6516,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 6477,
"end": 6516,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6477,
"end": 6516,
"name": "tag",
"source": 1,
"value": "125"
},
{
"begin": 6477,
"end": 6516,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6465,
"end": 6516,
"name": "SWAP6",
"source": 1
},
{
"begin": 6465,
"end": 6516,
"name": "POP",
"source": 1
},
{
"begin": 6549,
"end": 6553,
"name": "DUP1",
"source": 1
},
{
"begin": 6545,
"end": 6554,
"name": "NOT",
"source": 1
},
{
"begin": 6538,
"end": 6543,
"name": "DUP5",
"source": 1
},
{
"begin": 6534,
"end": 6555,
"name": "AND",
"source": 1
},
{
"begin": 6525,
"end": 6555,
"name": "SWAP4",
"source": 1
},
{
"begin": 6525,
"end": 6555,
"name": "POP",
"source": 1
},
{
"begin": 6598,
"end": 6602,
"name": "DUP1",
"source": 1
},
{
"begin": 6588,
"end": 6596,
"name": "DUP7",
"source": 1
},
{
"begin": 6584,
"end": 6603,
"name": "AND",
"source": 1
},
{
"begin": 6577,
"end": 6582,
"name": "DUP5",
"source": 1
},
{
"begin": 6574,
"end": 6604,
"name": "OR",
"source": 1
},
{
"begin": 6564,
"end": 6604,
"name": "SWAP3",
"source": 1
},
{
"begin": 6564,
"end": 6604,
"name": "POP",
"source": 1
},
{
"begin": 6293,
"end": 6610,
"name": "POP",
"source": 1
},
{
"begin": 6293,
"end": 6610,
"name": "POP",
"source": 1
},
{
"begin": 6217,
"end": 6610,
"name": "SWAP4",
"source": 1
},
{
"begin": 6217,
"end": 6610,
"name": "SWAP3",
"source": 1
},
{
"begin": 6217,
"end": 6610,
"name": "POP",
"source": 1
},
{
"begin": 6217,
"end": 6610,
"name": "POP",
"source": 1
},
{
"begin": 6217,
"end": 6610,
"name": "POP",
"source": 1
},
{
"begin": 6217,
"end": 6610,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6616,
"end": 6693,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 6616,
"end": 6693,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6653,
"end": 6660,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6682,
"end": 6687,
"name": "DUP2",
"source": 1
},
{
"begin": 6671,
"end": 6687,
"name": "SWAP1",
"source": 1
},
{
"begin": 6671,
"end": 6687,
"name": "POP",
"source": 1
},
{
"begin": 6616,
"end": 6693,
"name": "SWAP2",
"source": 1
},
{
"begin": 6616,
"end": 6693,
"name": "SWAP1",
"source": 1
},
{
"begin": 6616,
"end": 6693,
"name": "POP",
"source": 1
},
{
"begin": 6616,
"end": 6693,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6699,
"end": 6759,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 6699,
"end": 6759,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6727,
"end": 6730,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6748,
"end": 6753,
"name": "DUP2",
"source": 1
},
{
"begin": 6741,
"end": 6753,
"name": "SWAP1",
"source": 1
},
{
"begin": 6741,
"end": 6753,
"name": "POP",
"source": 1
},
{
"begin": 6699,
"end": 6759,
"name": "SWAP2",
"source": 1
},
{
"begin": 6699,
"end": 6759,
"name": "SWAP1",
"source": 1
},
{
"begin": 6699,
"end": 6759,
"name": "POP",
"source": 1
},
{
"begin": 6699,
"end": 6759,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6765,
"end": 6907,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 6765,
"end": 6907,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6815,
"end": 6824,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6848,
"end": 6901,
"name": "PUSH [tag]",
"source": 1,
"value": "129"
},
{
"begin": 6866,
"end": 6900,
"name": "PUSH [tag]",
"source": 1,
"value": "130"
},
{
"begin": 6875,
"end": 6899,
"name": "PUSH [tag]",
"source": 1,
"value": "131"
},
{
"begin": 6893,
"end": 6898,
"name": "DUP5",
"source": 1
},
{
"begin": 6875,
"end": 6899,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 6875,
"end": 6899,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6875,
"end": 6899,
"name": "tag",
"source": 1,
"value": "131"
},
{
"begin": 6875,
"end": 6899,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6866,
"end": 6900,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 6866,
"end": 6900,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6866,
"end": 6900,
"name": "tag",
"source": 1,
"value": "130"
},
{
"begin": 6866,
"end": 6900,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6848,
"end": 6901,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 6848,
"end": 6901,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6848,
"end": 6901,
"name": "tag",
"source": 1,
"value": "129"
},
{
"begin": 6848,
"end": 6901,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6835,
"end": 6901,
"name": "SWAP1",
"source": 1
},
{
"begin": 6835,
"end": 6901,
"name": "POP",
"source": 1
},
{
"begin": 6765,
"end": 6907,
"name": "SWAP2",
"source": 1
},
{
"begin": 6765,
"end": 6907,
"name": "SWAP1",
"source": 1
},
{
"begin": 6765,
"end": 6907,
"name": "POP",
"source": 1
},
{
"begin": 6765,
"end": 6907,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6913,
"end": 6988,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 6913,
"end": 6988,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6956,
"end": 6959,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6977,
"end": 6982,
"name": "DUP2",
"source": 1
},
{
"begin": 6970,
"end": 6982,
"name": "SWAP1",
"source": 1
},
{
"begin": 6970,
"end": 6982,
"name": "POP",
"source": 1
},
{
"begin": 6913,
"end": 6988,
"name": "SWAP2",
"source": 1
},
{
"begin": 6913,
"end": 6988,
"name": "SWAP1",
"source": 1
},
{
"begin": 6913,
"end": 6988,
"name": "POP",
"source": 1
},
{
"begin": 6913,
"end": 6988,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6994,
"end": 7263,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 6994,
"end": 7263,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7104,
"end": 7143,
"name": "PUSH [tag]",
"source": 1,
"value": "134"
},
{
"begin": 7135,
"end": 7142,
"name": "DUP4",
"source": 1
},
{
"begin": 7104,
"end": 7143,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 7104,
"end": 7143,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7104,
"end": 7143,
"name": "tag",
"source": 1,
"value": "134"
},
{
"begin": 7104,
"end": 7143,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7165,
"end": 7256,
"name": "PUSH [tag]",
"source": 1,
"value": "135"
},
{
"begin": 7214,
"end": 7255,
"name": "PUSH [tag]",
"source": 1,
"value": "136"
},
{
"begin": 7238,
"end": 7254,
"name": "DUP3",
"source": 1
},
{
"begin": 7214,
"end": 7255,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 7214,
"end": 7255,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7214,
"end": 7255,
"name": "tag",
"source": 1,
"value": "136"
},
{
"begin": 7214,
"end": 7255,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7206,
"end": 7212,
"name": "DUP5",
"source": 1
},
{
"begin": 7199,
"end": 7203,
"name": "DUP5",
"source": 1
},
{
"begin": 7193,
"end": 7204,
"name": "SLOAD",
"source": 1
},
{
"begin": 7165,
"end": 7256,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 7165,
"end": 7256,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7165,
"end": 7256,
"name": "tag",
"source": 1,
"value": "135"
},
{
"begin": 7165,
"end": 7256,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7159,
"end": 7163,
"name": "DUP3",
"source": 1
},
{
"begin": 7152,
"end": 7257,
"name": "SSTORE",
"source": 1
},
{
"begin": 7070,
"end": 7263,
"name": "POP",
"source": 1
},
{
"begin": 6994,
"end": 7263,
"name": "POP",
"source": 1
},
{
"begin": 6994,
"end": 7263,
"name": "POP",
"source": 1
},
{
"begin": 6994,
"end": 7263,
"name": "POP",
"source": 1
},
{
"begin": 6994,
"end": 7263,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 7269,
"end": 7342,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 7269,
"end": 7342,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7314,
"end": 7317,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7269,
"end": 7342,
"name": "SWAP1",
"source": 1
},
{
"begin": 7269,
"end": 7342,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 7348,
"end": 7537,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 7348,
"end": 7537,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7425,
"end": 7457,
"name": "PUSH [tag]",
"source": 1,
"value": "139"
},
{
"begin": 7425,
"end": 7457,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 7425,
"end": 7457,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7425,
"end": 7457,
"name": "tag",
"source": 1,
"value": "139"
},
{
"begin": 7425,
"end": 7457,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7466,
"end": 7531,
"name": "PUSH [tag]",
"source": 1,
"value": "140"
},
{
"begin": 7524,
"end": 7530,
"name": "DUP2",
"source": 1
},
{
"begin": 7516,
"end": 7522,
"name": "DUP5",
"source": 1
},
{
"begin": 7510,
"end": 7514,
"name": "DUP5",
"source": 1
},
{
"begin": 7466,
"end": 7531,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 7466,
"end": 7531,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7466,
"end": 7531,
"name": "tag",
"source": 1,
"value": "140"
},
{
"begin": 7466,
"end": 7531,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7401,
"end": 7537,
"name": "POP",
"source": 1
},
{
"begin": 7348,
"end": 7537,
"name": "POP",
"source": 1
},
{
"begin": 7348,
"end": 7537,
"name": "POP",
"source": 1
},
{
"begin": 7348,
"end": 7537,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 7543,
"end": 7729,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 7543,
"end": 7729,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7603,
"end": 7723,
"name": "tag",
"source": 1,
"value": "142"
},
{
"begin": 7603,
"end": 7723,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7620,
"end": 7623,
"name": "DUP2",
"source": 1
},
{
"begin": 7613,
"end": 7618,
"name": "DUP2",
"source": 1
},
{
"begin": 7610,
"end": 7624,
"name": "LT",
"source": 1
},
{
"begin": 7603,
"end": 7723,
"name": "ISZERO",
"source": 1
},
{
"begin": 7603,
"end": 7723,
"name": "PUSH [tag]",
"source": 1,
"value": "144"
},
{
"begin": 7603,
"end": 7723,
"name": "JUMPI",
"source": 1
},
{
"begin": 7674,
"end": 7713,
"name": "PUSH [tag]",
"source": 1,
"value": "145"
},
{
"begin": 7711,
"end": 7712,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7704,
"end": 7709,
"name": "DUP3",
"source": 1
},
{
"begin": 7674,
"end": 7713,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 7674,
"end": 7713,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7674,
"end": 7713,
"name": "tag",
"source": 1,
"value": "145"
},
{
"begin": 7674,
"end": 7713,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7647,
"end": 7648,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 7640,
"end": 7645,
"name": "DUP2",
"source": 1
},
{
"begin": 7636,
"end": 7649,
"name": "ADD",
"source": 1
},
{
"begin": 7627,
"end": 7649,
"name": "SWAP1",
"source": 1
},
{
"begin": 7627,
"end": 7649,
"name": "POP",
"source": 1
},
{
"begin": 7603,
"end": 7723,
"name": "PUSH [tag]",
"source": 1,
"value": "142"
},
{
"begin": 7603,
"end": 7723,
"name": "JUMP",
"source": 1
},
{
"begin": 7603,
"end": 7723,
"name": "tag",
"source": 1,
"value": "144"
},
{
"begin": 7603,
"end": 7723,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7543,
"end": 7729,
"name": "POP",
"source": 1
},
{
"begin": 7543,
"end": 7729,
"name": "POP",
"source": 1
},
{
"begin": 7543,
"end": 7729,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 7735,
"end": 8278,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 7735,
"end": 8278,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7836,
"end": 7838,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 7831,
"end": 7834,
"name": "DUP3",
"source": 1
},
{
"begin": 7828,
"end": 7839,
"name": "GT",
"source": 1
},
{
"begin": 7825,
"end": 8271,
"name": "ISZERO",
"source": 1
},
{
"begin": 7825,
"end": 8271,
"name": "PUSH [tag]",
"source": 1,
"value": "147"
},
{
"begin": 7825,
"end": 8271,
"name": "JUMPI",
"source": 1
},
{
"begin": 7870,
"end": 7908,
"name": "PUSH [tag]",
"source": 1,
"value": "148"
},
{
"begin": 7902,
"end": 7907,
"name": "DUP2",
"source": 1
},
{
"begin": 7870,
"end": 7908,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 7870,
"end": 7908,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7870,
"end": 7908,
"name": "tag",
"source": 1,
"value": "148"
},
{
"begin": 7870,
"end": 7908,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7954,
"end": 7983,
"name": "PUSH [tag]",
"source": 1,
"value": "149"
},
{
"begin": 7972,
"end": 7982,
"name": "DUP5",
"source": 1
},
{
"begin": 7954,
"end": 7983,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 7954,
"end": 7983,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 7954,
"end": 7983,
"name": "tag",
"source": 1,
"value": "149"
},
{
"begin": 7954,
"end": 7983,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7944,
"end": 7952,
"name": "DUP2",
"source": 1
},
{
"begin": 7940,
"end": 7984,
"name": "ADD",
"source": 1
},
{
"begin": 8137,
"end": 8139,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 8125,
"end": 8135,
"name": "DUP6",
"source": 1
},
{
"begin": 8122,
"end": 8140,
"name": "LT",
"source": 1
},
{
"begin": 8119,
"end": 8168,
"name": "ISZERO",
"source": 1
},
{
"begin": 8119,
"end": 8168,
"name": "PUSH [tag]",
"source": 1,
"value": "150"
},
{
"begin": 8119,
"end": 8168,
"name": "JUMPI",
"source": 1
},
{
"begin": 8158,
"end": 8166,
"name": "DUP2",
"source": 1
},
{
"begin": 8143,
"end": 8166,
"name": "SWAP1",
"source": 1
},
{
"begin": 8143,
"end": 8166,
"name": "POP",
"source": 1
},
{
"begin": 8119,
"end": 8168,
"name": "tag",
"source": 1,
"value": "150"
},
{
"begin": 8119,
"end": 8168,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 8181,
"end": 8261,
"name": "PUSH [tag]",
"source": 1,
"value": "151"
},
{
"begin": 8237,
"end": 8259,
"name": "PUSH [tag]",
"source": 1,
"value": "152"
},
{
"begin": 8255,
"end": 8258,
"name": "DUP6",
"source": 1
},
{
"begin": 8237,
"end": 8259,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 8237,
"end": 8259,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 8237,
"end": 8259,
"name": "tag",
"source": 1,
"value": "152"
},
{
"begin": 8237,
"end": 8259,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 8227,
"end": 8235,
"name": "DUP4",
"source": 1
},
{
"begin": 8223,
"end": 8260,
"name": "ADD",
"source": 1
},
{
"begin": 8210,
"end": 8221,
"name": "DUP3",
"source": 1
},
{
"begin": 8181,
"end": 8261,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 8181,
"end": 8261,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 8181,
"end": 8261,
"name": "tag",
"source": 1,
"value": "151"
},
{
"begin": 8181,
"end": 8261,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7840,
"end": 8271,
"name": "POP",
"source": 1
},
{
"begin": 7840,
"end": 8271,
"name": "POP",
"source": 1
},
{
"begin": 7825,
"end": 8271,
"name": "tag",
"source": 1,
"value": "147"
},
{
"begin": 7825,
"end": 8271,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7735,
"end": 8278,
"name": "POP",
"source": 1
},
{
"begin": 7735,
"end": 8278,
"name": "POP",
"source": 1
},
{
"begin": 7735,
"end": 8278,
"name": "POP",
"source": 1
},
{
"begin": 7735,
"end": 8278,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 8284,
"end": 8401,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 8284,
"end": 8401,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 8338,
"end": 8346,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 8388,
"end": 8393,
"name": "DUP3",
"source": 1
},
{
"begin": 8382,
"end": 8386,
"name": "DUP3",
"source": 1
},
{
"begin": 8378,
"end": 8394,
"name": "SHR",
"source": 1
},
{
"begin": 8357,
"end": 8394,
"name": "SWAP1",
"source": 1
},
{
"begin": 8357,
"end": 8394,
"name": "POP",
"source": 1
},
{
"begin": 8284,
"end": 8401,
"name": "SWAP3",
"source": 1
},
{
"begin": 8284,
"end": 8401,
"name": "SWAP2",
"source": 1
},
{
"begin": 8284,
"end": 8401,
"name": "POP",
"source": 1
},
{
"begin": 8284,
"end": 8401,
"name": "POP",
"source": 1
},
{
"begin": 8284,
"end": 8401,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 8407,
"end": 8576,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 8407,
"end": 8576,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 8451,
"end": 8457,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 8484,
"end": 8535,
"name": "PUSH [tag]",
"source": 1,
"value": "155"
},
{
"begin": 8532,
"end": 8533,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 8528,
"end": 8534,
"name": "NOT",
"source": 1
},
{
"begin": 8520,
"end": 8525,
"name": "DUP5",
"source": 1
},
{
"begin": 8517,
"end": 8518,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 8513,
"end": 8526,
"name": "MUL",
"source": 1
},
{
"begin": 8484,
"end": 8535,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 8484,
"end": 8535,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 8484,
"end": 8535,
"name": "tag",
"source": 1,
"value": "155"
},
{
"begin": 8484,
"end": 8535,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 8480,
"end": 8536,
"name": "NOT",
"source": 1
},
{
"begin": 8565,
"end": 8569,
"name": "DUP1",
"source": 1
},
{
"begin": 8559,
"end": 8563,
"name": "DUP4",
"source": 1
},
{
"begin": 8555,
"end": 8570,
"name": "AND",
"source": 1
},
{
"begin": 8545,
"end": 8570,
"name": "SWAP2",
"source": 1
},
{
"begin": 8545,
"end": 8570,
"name": "POP",
"source": 1
},
{
"begin": 8458,
"end": 8576,
"name": "POP",
"source": 1
},
{
"begin": 8407,
"end": 8576,
"name": "SWAP3",
"source": 1
},
{
"begin": 8407,
"end": 8576,
"name": "SWAP2",
"source": 1
},
{
"begin": 8407,
"end": 8576,
"name": "POP",
"source": 1
},
{
"begin": 8407,
"end": 8576,
"name": "POP",
"source": 1
},
{
"begin": 8407,
"end": 8576,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 8581,
"end": 8876,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 8581,
"end": 8876,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 8657,
"end": 8661,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 8803,
"end": 8832,
"name": "PUSH [tag]",
"source": 1,
"value": "157"
},
{
"begin": 8828,
"end": 8831,
"name": "DUP4",
"source": 1
},
{
"begin": 8822,
"end": 8826,
"name": "DUP4",
"source": 1
},
{
"begin": 8803,
"end": 8832,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 8803,
"end": 8832,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 8803,
"end": 8832,
"name": "tag",
"source": 1,
"value": "157"
},
{
"begin": 8803,
"end": 8832,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 8795,
"end": 8832,
"name": "SWAP2",
"source": 1
},
{
"begin": 8795,
"end": 8832,
"name": "POP",
"source": 1
},
{
"begin": 8865,
"end": 8868,
"name": "DUP3",
"source": 1
},
{
"begin": 8862,
"end": 8863,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 8858,
"end": 8869,
"name": "MUL",
"source": 1
},
{
"begin": 8852,
"end": 8856,
"name": "DUP3",
"source": 1
},
{
"begin": 8849,
"end": 8870,
"name": "OR",
"source": 1
},
{
"begin": 8841,
"end": 8870,
"name": "SWAP1",
"source": 1
},
{
"begin": 8841,
"end": 8870,
"name": "POP",
"source": 1
},
{
"begin": 8581,
"end": 8876,
"name": "SWAP3",
"source": 1
},
{
"begin": 8581,
"end": 8876,
"name": "SWAP2",
"source": 1
},
{
"begin": 8581,
"end": 8876,
"name": "POP",
"source": 1
},
{
"begin": 8581,
"end": 8876,
"name": "POP",
"source": 1
},
{
"begin": 8581,
"end": 8876,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 8881,
"end": 10284,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 8881,
"end": 10284,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9005,
"end": 9049,
"name": "PUSH [tag]",
"source": 1,
"value": "159"
},
{
"begin": 9045,
"end": 9048,
"name": "DUP4",
"source": 1
},
{
"begin": 9040,
"end": 9043,
"name": "DUP4",
"source": 1
},
{
"begin": 9005,
"end": 9049,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 9005,
"end": 9049,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 9005,
"end": 9049,
"name": "tag",
"source": 1,
"value": "159"
},
{
"begin": 9005,
"end": 9049,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9114,
"end": 9132,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 9106,
"end": 9112,
"name": "DUP2",
"source": 1
},
{
"begin": 9103,
"end": 9133,
"name": "GT",
"source": 1
},
{
"begin": 9100,
"end": 9156,
"name": "ISZERO",
"source": 1
},
{
"begin": 9100,
"end": 9156,
"name": "PUSH [tag]",
"source": 1,
"value": "160"
},
{
"begin": 9100,
"end": 9156,
"name": "JUMPI",
"source": 1
},
{
"begin": 9136,
"end": 9154,
"name": "PUSH [tag]",
"source": 1,
"value": "161"
},
{
"begin": 9136,
"end": 9154,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 9136,
"end": 9154,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 9136,
"end": 9154,
"name": "tag",
"source": 1,
"value": "161"
},
{
"begin": 9136,
"end": 9154,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9100,
"end": 9156,
"name": "tag",
"source": 1,
"value": "160"
},
{
"begin": 9100,
"end": 9156,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9180,
"end": 9218,
"name": "PUSH [tag]",
"source": 1,
"value": "162"
},
{
"begin": 9212,
"end": 9216,
"name": "DUP3",
"source": 1
},
{
"begin": 9206,
"end": 9217,
"name": "SLOAD",
"source": 1
},
{
"begin": 9180,
"end": 9218,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 9180,
"end": 9218,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 9180,
"end": 9218,
"name": "tag",
"source": 1,
"value": "162"
},
{
"begin": 9180,
"end": 9218,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9265,
"end": 9332,
"name": "PUSH [tag]",
"source": 1,
"value": "163"
},
{
"begin": 9325,
"end": 9331,
"name": "DUP3",
"source": 1
},
{
"begin": 9317,
"end": 9323,
"name": "DUP3",
"source": 1
},
{
"begin": 9311,
"end": 9315,
"name": "DUP6",
"source": 1
},
{
"begin": 9265,
"end": 9332,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 9265,
"end": 9332,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 9265,
"end": 9332,
"name": "tag",
"source": 1,
"value": "163"
},
{
"begin": 9265,
"end": 9332,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9359,
"end": 9360,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 9388,
"end": 9390,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 9380,
"end": 9386,
"name": "DUP4",
"source": 1
},
{
"begin": 9377,
"end": 9391,
"name": "GT",
"source": 1
},
{
"begin": 9405,
"end": 9406,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 9400,
"end": 10032,
"name": "DUP2",
"source": 1
},
{
"begin": 9400,
"end": 10032,
"name": "EQ",
"source": 1
},
{
"begin": 9400,
"end": 10032,
"name": "PUSH [tag]",
"source": 1,
"value": "165"
},
{
"begin": 9400,
"end": 10032,
"name": "JUMPI",
"source": 1
},
{
"begin": 10076,
"end": 10077,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 10093,
"end": 10099,
"name": "DUP5",
"source": 1
},
{
"begin": 10090,
"end": 10174,
"name": "ISZERO",
"source": 1
},
{
"begin": 10090,
"end": 10174,
"name": "PUSH [tag]",
"source": 1,
"value": "166"
},
{
"begin": 10090,
"end": 10174,
"name": "JUMPI",
"source": 1
},
{
"begin": 10149,
"end": 10158,
"name": "DUP3",
"source": 1
},
{
"begin": 10144,
"end": 10147,
"name": "DUP8",
"source": 1
},
{
"begin": 10140,
"end": 10159,
"name": "ADD",
"source": 1
},
{
"begin": 10127,
"end": 10160,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 10118,
"end": 10160,
"name": "SWAP1",
"source": 1
},
{
"begin": 10118,
"end": 10160,
"name": "POP",
"source": 1
},
{
"begin": 10090,
"end": 10174,
"name": "tag",
"source": 1,
"value": "166"
},
{
"begin": 10090,
"end": 10174,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 10200,
"end": 10267,
"name": "PUSH [tag]",
"source": 1,
"value": "167"
},
{
"begin": 10260,
"end": 10266,
"name": "DUP6",
"source": 1
},
{
"begin": 10253,
"end": 10258,
"name": "DUP3",
"source": 1
},
{
"begin": 10200,
"end": 10267,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 10200,
"end": 10267,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 10200,
"end": 10267,
"name": "tag",
"source": 1,
"value": "167"
},
{
"begin": 10200,
"end": 10267,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 10194,
"end": 10198,
"name": "DUP7",
"source": 1
},
{
"begin": 10187,
"end": 10268,
"name": "SSTORE",
"source": 1
},
{
"begin": 10049,
"end": 10278,
"name": "POP",
"source": 1
},
{
"begin": 9370,
"end": 10278,
"name": "PUSH [tag]",
"source": 1,
"value": "164"
},
{
"begin": 9370,
"end": 10278,
"name": "JUMP",
"source": 1
},
{
"begin": 9400,
"end": 10032,
"name": "tag",
"source": 1,
"value": "165"
},
{
"begin": 9400,
"end": 10032,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9452,
"end": 9456,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 9448,
"end": 9457,
"name": "NOT",
"source": 1
},
{
"begin": 9440,
"end": 9446,
"name": "DUP5",
"source": 1
},
{
"begin": 9436,
"end": 9458,
"name": "AND",
"source": 1
},
{
"begin": 9486,
"end": 9523,
"name": "PUSH [tag]",
"source": 1,
"value": "168"
},
{
"begin": 9518,
"end": 9522,
"name": "DUP7",
"source": 1
},
{
"begin": 9486,
"end": 9523,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 9486,
"end": 9523,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 9486,
"end": 9523,
"name": "tag",
"source": 1,
"value": "168"
},
{
"begin": 9486,
"end": 9523,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9545,
"end": 9546,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 9559,
"end": 9774,
"name": "tag",
"source": 1,
"value": "169"
},
{
"begin": 9559,
"end": 9774,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9573,
"end": 9580,
"name": "DUP3",
"source": 1
},
{
"begin": 9570,
"end": 9571,
"name": "DUP2",
"source": 1
},
{
"begin": 9567,
"end": 9581,
"name": "LT",
"source": 1
},
{
"begin": 9559,
"end": 9774,
"name": "ISZERO",
"source": 1
},
{
"begin": 9559,
"end": 9774,
"name": "PUSH [tag]",
"source": 1,
"value": "171"
},
{
"begin": 9559,
"end": 9774,
"name": "JUMPI",
"source": 1
},
{
"begin": 9659,
"end": 9668,
"name": "DUP5",
"source": 1
},
{
"begin": 9654,
"end": 9657,
"name": "DUP10",
"source": 1
},
{
"begin": 9650,
"end": 9669,
"name": "ADD",
"source": 1
},
{
"begin": 9637,
"end": 9670,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 9629,
"end": 9635,
"name": "DUP3",
"source": 1
},
{
"begin": 9622,
"end": 9671,
"name": "SSTORE",
"source": 1
},
{
"begin": 9710,
"end": 9711,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 9702,
"end": 9708,
"name": "DUP3",
"source": 1
},
{
"begin": 9698,
"end": 9712,
"name": "ADD",
"source": 1
},
{
"begin": 9688,
"end": 9712,
"name": "SWAP2",
"source": 1
},
{
"begin": 9688,
"end": 9712,
"name": "POP",
"source": 1
},
{
"begin": 9757,
"end": 9759,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 9746,
"end": 9755,
"name": "DUP6",
"source": 1
},
{
"begin": 9742,
"end": 9760,
"name": "ADD",
"source": 1
},
{
"begin": 9729,
"end": 9760,
"name": "SWAP5",
"source": 1
},
{
"begin": 9729,
"end": 9760,
"name": "POP",
"source": 1
},
{
"begin": 9596,
"end": 9600,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 9593,
"end": 9594,
"name": "DUP2",
"source": 1
},
{
"begin": 9589,
"end": 9601,
"name": "ADD",
"source": 1
},
{
"begin": 9584,
"end": 9601,
"name": "SWAP1",
"source": 1
},
{
"begin": 9584,
"end": 9601,
"name": "POP",
"source": 1
},
{
"begin": 9559,
"end": 9774,
"name": "PUSH [tag]",
"source": 1,
"value": "169"
},
{
"begin": 9559,
"end": 9774,
"name": "JUMP",
"source": 1
},
{
"begin": 9559,
"end": 9774,
"name": "tag",
"source": 1,
"value": "171"
},
{
"begin": 9559,
"end": 9774,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9802,
"end": 9808,
"name": "DUP7",
"source": 1
},
{
"begin": 9793,
"end": 9800,
"name": "DUP4",
"source": 1
},
{
"begin": 9790,
"end": 9809,
"name": "LT",
"source": 1
},
{
"begin": 9787,
"end": 9973,
"name": "ISZERO",
"source": 1
},
{
"begin": 9787,
"end": 9973,
"name": "PUSH [tag]",
"source": 1,
"value": "172"
},
{
"begin": 9787,
"end": 9973,
"name": "JUMPI",
"source": 1
},
{
"begin": 9867,
"end": 9876,
"name": "DUP5",
"source": 1
},
{
"begin": 9862,
"end": 9865,
"name": "DUP10",
"source": 1
},
{
"begin": 9858,
"end": 9877,
"name": "ADD",
"source": 1
},
{
"begin": 9845,
"end": 9878,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 9910,
"end": 9958,
"name": "PUSH [tag]",
"source": 1,
"value": "173"
},
{
"begin": 9952,
"end": 9956,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 9944,
"end": 9950,
"name": "DUP10",
"source": 1
},
{
"begin": 9940,
"end": 9957,
"name": "AND",
"source": 1
},
{
"begin": 9929,
"end": 9938,
"name": "DUP3",
"source": 1
},
{
"begin": 9910,
"end": 9958,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 9910,
"end": 9958,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 9910,
"end": 9958,
"name": "tag",
"source": 1,
"value": "173"
},
{
"begin": 9910,
"end": 9958,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9902,
"end": 9908,
"name": "DUP4",
"source": 1
},
{
"begin": 9895,
"end": 9959,
"name": "SSTORE",
"source": 1
},
{
"begin": 9810,
"end": 9973,
"name": "POP",
"source": 1
},
{
"begin": 9787,
"end": 9973,
"name": "tag",
"source": 1,
"value": "172"
},
{
"begin": 9787,
"end": 9973,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 10019,
"end": 10020,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 10015,
"end": 10016,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 10007,
"end": 10013,
"name": "DUP9",
"source": 1
},
{
"begin": 10003,
"end": 10017,
"name": "MUL",
"source": 1
},
{
"begin": 9999,
"end": 10021,
"name": "ADD",
"source": 1
},
{
"begin": 9993,
"end": 9997,
"name": "DUP9",
"source": 1
},
{
"begin": 9986,
"end": 10022,
"name": "SSTORE",
"source": 1
},
{
"begin": 9407,
"end": 10032,
"name": "POP",
"source": 1
},
{
"begin": 9407,
"end": 10032,
"name": "POP",
"source": 1
},
{
"begin": 9407,
"end": 10032,
"name": "POP",
"source": 1
},
{
"begin": 9370,
"end": 10278,
"name": "tag",
"source": 1,
"value": "164"
},
{
"begin": 9370,
"end": 10278,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 9370,
"end": 10278,
"name": "POP",
"source": 1
},
{
"begin": 8980,
"end": 10284,
"name": "POP",
"source": 1
},
{
"begin": 8980,
"end": 10284,
"name": "POP",
"source": 1
},
{
"begin": 8980,
"end": 10284,
"name": "POP",
"source": 1
},
{
"begin": 8881,
"end": 10284,
"name": "POP",
"source": 1
},
{
"begin": 8881,
"end": 10284,
"name": "POP",
"source": 1
},
{
"begin": 8881,
"end": 10284,
"name": "POP",
"source": 1
},
{
"begin": 8881,
"end": 10284,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contract/etereum-cohort.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"addNewWriter(string)": "5367c763",
"getAllWriters()": "3066ca35"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"writer\",\"type\":\"string\"}],\"name\":\"addNewWriter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllWriters\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contract/etereum-cohort.sol\":\"EthereumCohortWriters\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contract/etereum-cohort.sol\":{\"keccak256\":\"0xac885e9029214429b99453694c4325404457c9dcb21fc0fe452e2a507527fef8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b74942d7ebded3d9db50146702855fe4f9d8bc47f7c5504f9f2f11b9ad6c43c\",\"dweb:/ipfs/QmUZ9EFSzHZDZpMSKMTCc46DG2a1ygSNrFiv3tqMsHmhVn\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 4,
"contract": "contract/etereum-cohort.sol:EthereumCohortWriters",
"label": "ethereumWriters",
"offset": 0,
"slot": "0",
"type": "t_array(t_string_storage)dyn_storage"
}
],
"types": {
"t_array(t_string_storage)dyn_storage": {
"base": "t_string_storage",
"encoding": "dynamic_array",
"label": "string[]",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contract/etereum-cohort.sol": {
"ast": {
"absolutePath": "contract/etereum-cohort.sol",
"exportedSymbols": {
"EthereumCohortWriters": [
26
]
},
"id": 27,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "36:31:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "EthereumCohortWriters",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 26,
"linearizedBaseContracts": [
26
],
"name": "EthereumCohortWriters",
"nameLocation": "78:21:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 4,
"mutability": "mutable",
"name": "ethereumWriters",
"nameLocation": "120:15:0",
"nodeType": "VariableDeclaration",
"scope": 26,
"src": "111:24:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage",
"typeString": "string[]"
},
"typeName": {
"baseType": {
"id": 2,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "111:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"id": 3,
"nodeType": "ArrayTypeName",
"src": "111:8:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
"typeString": "string[]"
}
},
"visibility": "internal"
},
{
"body": {
"id": 15,
"nodeType": "Block",
"src": "195:45:0",
"statements": [
{
"expression": {
"arguments": [
{
"id": 12,
"name": "writer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6,
"src": "226:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_calldata_ptr",
"typeString": "string calldata"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_calldata_ptr",
"typeString": "string calldata"
}
],
"expression": {
"id": 9,
"name": "ethereumWriters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "205:15:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage",
"typeString": "string storage ref[] storage ref"
}
},
"id": 11,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "221:4:0",
"memberName": "push",
"nodeType": "MemberAccess",
"src": "205:20:0",
"typeDescriptions": {
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$",
"typeString": "function (string storage ref[] storage pointer,string storage ref)"
}
},
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "205:28:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 14,
"nodeType": "ExpressionStatement",
"src": "205:28:0"
}
]
},
"functionSelector": "5367c763",
"id": 16,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "addNewWriter",
"nameLocation": "151:12:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6,
"mutability": "mutable",
"name": "writer",
"nameLocation": "180:6:0",
"nodeType": "VariableDeclaration",
"scope": 16,
"src": "164:22:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_string_calldata_ptr",
"typeString": "string"
},
"typeName": {
"id": 5,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "164:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "163:24:0"
},
"returnParameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [],
"src": "195:0:0"
},
"scope": 26,
"src": "142:98:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 24,
"nodeType": "Block",
"src": "309:39:0",
"statements": [
{
"expression": {
"id": 22,
"name": "ethereumWriters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "326:15:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage",
"typeString": "string storage ref[] storage ref"
}
},
"functionReturnParameters": 21,
"id": 23,
"nodeType": "Return",
"src": "319:22:0"
}
]
},
"functionSelector": "3066ca35",
"id": 25,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getAllWriters",
"nameLocation": "255:13:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [],
"src": "268:2:0"
},
"returnParameters": {
"id": 21,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 20,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "292:15:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"typeString": "string[]"
},
"typeName": {
"baseType": {
"id": 18,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "292:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"id": 19,
"nodeType": "ArrayTypeName",
"src": "292:8:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
"typeString": "string[]"
}
},
"visibility": "internal"
}
],
"src": "291:17:0"
},
"scope": 26,
"src": "246:102:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 27,
"src": "69:281:0",
"usedErrors": []
}
],
"src": "36:316:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610716806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063117f6db81461003b578063195ec9ee14610057575b600080fd5b610055600480360381019061005091906101ff565b610075565b005b61005f6100b7565b60405161006c919061039e565b60405180910390f35b60008282909180600181540180825580915050600190039060005260206000200160009091929091929091929091925091826100b2929190610610565b505050565b60606000805480602002602001604051908101604052809291908181526020016000905b828210156101875783829060005260206000200180546100fa90610429565b80601f016020809104026020016040519081016040528092919081815260200182805461012690610429565b80156101735780601f1061014857610100808354040283529160200191610173565b820191906000526020600020905b81548152906001019060200180831161015657829003601f168201915b5050505050815260200190600101906100db565b50505050905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126101bf576101be61019a565b5b8235905067ffffffffffffffff8111156101dc576101db61019f565b5b6020830191508360018202830111156101f8576101f76101a4565b5b9250929050565b6000806020838503121561021657610215610190565b5b600083013567ffffffffffffffff81111561023457610233610195565b5b610240858286016101a9565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156102b2578082015181840152602081019050610297565b60008484015250505050565b6000601f19601f8301169050919050565b60006102da82610278565b6102e48185610283565b93506102f4818560208601610294565b6102fd816102be565b840191505092915050565b600061031483836102cf565b905092915050565b6000602082019050919050565b60006103348261024c565b61033e8185610257565b93508360208202850161035085610268565b8060005b8581101561038c578484038952815161036d8582610308565b94506103788361031c565b925060208a01995050600181019050610354565b50829750879550505050505092915050565b600060208201905081810360008301526103b88184610329565b905092915050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061044157607f821691505b602082108103610454576104536103fa565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261047f565b6104c6868361047f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061050d610508610503846104de565b6104e8565b6104de565b9050919050565b6000819050919050565b610527836104f2565b61053b61053382610514565b84845461048c565b825550505050565b600090565b610550610543565b61055b81848461051e565b505050565b5b8181101561057f57610574600082610548565b600181019050610561565b5050565b601f8211156105c4576105958161045a565b61059e8461046f565b810160208510156105ad578190505b6105c16105b98561046f565b830182610560565b50505b505050565b600082821c905092915050565b60006105e7600019846008026105c9565b1980831691505092915050565b600061060083836105d6565b9150826002028217905092915050565b61061a83836103c0565b67ffffffffffffffff811115610633576106326103cb565b5b61063d8254610429565b610648828285610583565b6000601f8311600181146106775760008415610665578287013590505b61066f85826105f4565b8655506106d7565b601f1984166106858661045a565b60005b828110156106ad57848901358255600182019150602085019450602081019050610688565b868310156106ca57848901356106c6601f8916826105d6565b8355505b6001600288020188555050505b5050505050505056fea26469706673582212200b2399e427d086af4ac8fddc712532236f4099f4fbd2989c927d8df1a070efd464736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x716 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x117F6DB8 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x195EC9EE EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x1FF JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0xB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 SWAP2 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 POP SWAP2 DUP3 PUSH2 0xB2 SWAP3 SWAP2 SWAP1 PUSH2 0x610 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x187 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xFA SWAP1 PUSH2 0x429 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 0x126 SWAP1 PUSH2 0x429 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x173 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x148 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x173 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 0x156 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xDB JUMP JUMPDEST POP POP POP POP 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 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1BF JUMPI PUSH2 0x1BE PUSH2 0x19A JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DC JUMPI PUSH2 0x1DB PUSH2 0x19F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1F8 JUMPI PUSH2 0x1F7 PUSH2 0x1A4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x216 JUMPI PUSH2 0x215 PUSH2 0x190 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x234 JUMPI PUSH2 0x233 PUSH2 0x195 JUMP JUMPDEST JUMPDEST PUSH2 0x240 DUP6 DUP3 DUP7 ADD PUSH2 0x1A9 JUMP JUMPDEST SWAP3 POP SWAP3 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 0x2B2 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x297 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DA DUP3 PUSH2 0x278 JUMP JUMPDEST PUSH2 0x2E4 DUP2 DUP6 PUSH2 0x283 JUMP JUMPDEST SWAP4 POP PUSH2 0x2F4 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x294 JUMP JUMPDEST PUSH2 0x2FD DUP2 PUSH2 0x2BE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x314 DUP4 DUP4 PUSH2 0x2CF 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 0x334 DUP3 PUSH2 0x24C JUMP JUMPDEST PUSH2 0x33E DUP2 DUP6 PUSH2 0x257 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x350 DUP6 PUSH2 0x268 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x38C JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x36D DUP6 DUP3 PUSH2 0x308 JUMP JUMPDEST SWAP5 POP PUSH2 0x378 DUP4 PUSH2 0x31C JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x354 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B8 DUP2 DUP5 PUSH2 0x329 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x441 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x454 JUMPI PUSH2 0x453 PUSH2 0x3FA JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x4BC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x47F JUMP JUMPDEST PUSH2 0x4C6 DUP7 DUP4 PUSH2 0x47F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50D PUSH2 0x508 PUSH2 0x503 DUP5 PUSH2 0x4DE JUMP JUMPDEST PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x527 DUP4 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x53B PUSH2 0x533 DUP3 PUSH2 0x514 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x48C JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x550 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x55B DUP2 DUP5 DUP5 PUSH2 0x51E JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x574 PUSH1 0x0 DUP3 PUSH2 0x548 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x561 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x595 DUP2 PUSH2 0x45A JUMP JUMPDEST PUSH2 0x59E DUP5 PUSH2 0x46F JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x5AD JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x5C1 PUSH2 0x5B9 DUP6 PUSH2 0x46F JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x560 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 0x5E7 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x5C9 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 DUP4 DUP4 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x61A DUP4 DUP4 PUSH2 0x3C0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x633 JUMPI PUSH2 0x632 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x63D DUP3 SLOAD PUSH2 0x429 JUMP JUMPDEST PUSH2 0x648 DUP3 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x677 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x665 JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x66F DUP6 DUP3 PUSH2 0x5F4 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x685 DUP7 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x6AD JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x688 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x6CA JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x6C6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x5D6 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 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND 0x23 SWAP10 0xE4 0x27 0xD0 DUP7 0xAF 0x4A 0xC8 REVERT 0xDC PUSH18 0x2532236F4099F4FBD2989C927D8DF1A070EF 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "69:315:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addNewParticipant_16": {
"entryPoint": 117,
"id": 16,
"parameterSlots": 2,
"returnSlots": 0
},
"@getAllParticipants_25": {
"entryPoint": 183,
"id": 25,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 425,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_calldata_ptr": {
"entryPoint": 511,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 776,
"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": 809,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 719,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 926,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 616,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1114,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 588,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_calldata_ptr": {
"entryPoint": 960,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 632,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 796,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": {
"entryPoint": 599,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr": {
"entryPoint": 643,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1411,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 1246,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1376,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1266,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage": {
"entryPoint": 1552,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 660,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1135,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1065,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1524,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1256,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1494,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 1018,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 971,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1300,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 415,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 410,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 420,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 405,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 400,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 702,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1151,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1481,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1352,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1164,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1310,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1347,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10287:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "546:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "563:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "566:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "556:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "556:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "457:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "669:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "686:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "679:6:1"
},
"nodeType": "YulFunctionCall",
"src": "679:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "679:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "580:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "792:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "841:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "843:77:1"
},
"nodeType": "YulFunctionCall",
"src": "843:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "843:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "820:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "828:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "816:3:1"
},
"nodeType": "YulFunctionCall",
"src": "816:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "835:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "812:3:1"
},
"nodeType": "YulFunctionCall",
"src": "812:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "805:6:1"
},
"nodeType": "YulFunctionCall",
"src": "805:35:1"
},
"nodeType": "YulIf",
"src": "802:122:1"
},
{
"nodeType": "YulAssignment",
"src": "933:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "943:12:1"
},
"nodeType": "YulFunctionCall",
"src": "943:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "933:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1006:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "1008:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1008:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1008:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "978:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "986:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "975:2:1"
},
"nodeType": "YulFunctionCall",
"src": "975:30:1"
},
"nodeType": "YulIf",
"src": "972:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1098:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1114:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1122:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1110:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1110:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "1098:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1181:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "1183:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1183:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1183:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "1146:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1160:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1168:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1156:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1142:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1142:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1176:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1139:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1139:41:1"
},
"nodeType": "YulIf",
"src": "1136:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "759:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "767:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "775:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "785:6:1",
"type": ""
}
],
"src": "717:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1362:443:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1408:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1410:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1410:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1410:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1383:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1392:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1379:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1379:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1404:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1375:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1375:32:1"
},
"nodeType": "YulIf",
"src": "1372:119:1"
},
{
"nodeType": "YulBlock",
"src": "1501:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1516:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1547:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1558:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1543:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1543:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1530:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1530:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1520:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1608:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1610:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1610:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1610:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1580:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1588:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1577:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1577:30:1"
},
"nodeType": "YulIf",
"src": "1574:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1705:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1760:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1771:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1756:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1756:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1780:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "1723:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1723:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1705:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1713:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1324:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1335:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1347:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1355:6:1",
"type": ""
}
],
"src": "1276:529:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1895:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1906:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1922:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1916:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1916:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1906:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1878:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1888:6:1",
"type": ""
}
],
"src": "1811:124:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2062:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2079:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2084:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2072:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2072:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2072:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2100:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2119:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2124:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2115:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2115:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2100:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2034:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2039:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2050:11:1",
"type": ""
}
],
"src": "1941:194:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2223:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2233:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "2241:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2233:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2254:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "2266:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2271:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2262:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2262:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2254:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "2210:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "2218:4:1",
"type": ""
}
],
"src": "2141:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2348:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2359:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2375:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2369:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2369:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2359:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2331:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2341:6:1",
"type": ""
}
],
"src": "2289:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2480:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2497:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2502:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2490:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2490:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2490:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2518:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2537:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2542:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2533:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2533:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2518:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2452:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2457:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2468:11:1",
"type": ""
}
],
"src": "2394:159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2621:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2631:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2640:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2635:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2700:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2725:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2730:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2721:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2721:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2744:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2749:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2740:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2740:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2734:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2734:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2714:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2714:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2714:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2661:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2664:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2658:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2658:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2672:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2674:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2683:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2686:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2679:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2679:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2674:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2654:3:1",
"statements": []
},
"src": "2650:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2788:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2779:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2779:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2797:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2772:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2772:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2772:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2603:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2608:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2613:6:1",
"type": ""
}
],
"src": "2559:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2859:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2869:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2887:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2894:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2883:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2883:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2903:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2899:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2899:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2879:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2879:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2869:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2842:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2852:6:1",
"type": ""
}
],
"src": "2811:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3001:275:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3011:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3058:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3025:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3025:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3015:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3073:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3129:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3134:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3080:48:1"
},
"nodeType": "YulFunctionCall",
"src": "3080:61:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3073:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3189:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3196:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3185:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3185:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3203:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3208:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "3150:34:1"
},
"nodeType": "YulFunctionCall",
"src": "3150:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3150:65:1"
},
{
"nodeType": "YulAssignment",
"src": "3224:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3235:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3262:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3240:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3240:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3231:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3224:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2982:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2989:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2997:3:1",
"type": ""
}
],
"src": "2919:357:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3382:96:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3392:80:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3460:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3468:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3406:53:1"
},
"nodeType": "YulFunctionCall",
"src": "3406:66:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "3392:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3355:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3363:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "3371:10:1",
"type": ""
}
],
"src": "3282:196:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3569:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3579:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "3591:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3596:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3587:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3587:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "3579:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "3556:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "3564:4:1",
"type": ""
}
],
"src": "3484:123:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3785:847:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3795:78:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3867:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3809:57:1"
},
"nodeType": "YulFunctionCall",
"src": "3809:64:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3799:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3882:103:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3973:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3978:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3889:83:1"
},
"nodeType": "YulFunctionCall",
"src": "3889:96:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3882:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "3994:20:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4011:3:1"
},
"variables": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3998:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4023:39:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4039:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4048:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4056:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4044:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4044:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4035:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4035:27:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4027:4:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4071:81:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4146:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4086:59:1"
},
"nodeType": "YulFunctionCall",
"src": "4086:66:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "4075:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4161:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "4175:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "4165:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4251:336:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4272:3:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4281:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4287:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4277:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4277:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4265:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4265:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4265:33:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4311:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "4338:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4332:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4332:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "4315:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4358:92:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "4430:13:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4445:4:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4366:63:1"
},
"nodeType": "YulFunctionCall",
"src": "4366:84:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4358:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4463:80:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "4536:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4473:62:1"
},
"nodeType": "YulFunctionCall",
"src": "4473:70:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "4463:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4556:21:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4567:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4572:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4563:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4563:14:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4556:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4213:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4216:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4210:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4210:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4224:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4226:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4235:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4238:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4231:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4226:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4195:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4197:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4206:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4201:1:1",
"type": ""
}
]
}
]
},
"src": "4191:396:1"
},
{
"nodeType": "YulAssignment",
"src": "4596:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4603:4:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4596:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4616:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4623:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4616:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3764:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3771:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3780:3:1",
"type": ""
}
],
"src": "3641:991:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4806:245:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4816:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4828:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4839:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4824:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4824:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4816:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4863:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4874:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4859:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4859:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4882:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4888:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4878:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4878:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4852:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4852:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4852:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4908:136:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5030:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5039:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4916:113:1"
},
"nodeType": "YulFunctionCall",
"src": "4916:128:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4908:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4778:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4790:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4801:4:1",
"type": ""
}
],
"src": "4638:413:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5123:31:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5134:13:1",
"value": {
"name": "len",
"nodeType": "YulIdentifier",
"src": "5144:3:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5134:6:1"
}
]
}
]
},
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5101:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "5108:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5116:6:1",
"type": ""
}
],
"src": "5057:97:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5188:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5205:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5208:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5198:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5198:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5198:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5302:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5305:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5295:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5295:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5295:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5326:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5329:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5319:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5319:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5319:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5160:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5374:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5391:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5394:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5384:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5384:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5384:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5488:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5491:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5481:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5481:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5481:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5512:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5515:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5505:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5505:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5505:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "5346:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5583:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5593:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5607:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5613:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5603:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5603:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5593:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5624:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5654:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5660:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5650:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5650:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5628:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5701:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5715:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5729:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5737:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5725:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5725:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5715:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5681:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5674:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5674:26:1"
},
"nodeType": "YulIf",
"src": "5671:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5804:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5818:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5818:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5818:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5768:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5791:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5799:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5788:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5788:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5765:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5765:38:1"
},
"nodeType": "YulIf",
"src": "5762:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5567:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5576:6:1",
"type": ""
}
],
"src": "5532:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5912:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5922:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5930:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5922:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5950:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5953:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5943:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5943:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "5943:14:1"
},
{
"nodeType": "YulAssignment",
"src": "5966:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5984:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5987:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "5974:9:1"
},
"nodeType": "YulFunctionCall",
"src": "5974:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5966:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "5899:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5907:4:1",
"type": ""
}
],
"src": "5858:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6049:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6059:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6077:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6084:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6073:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6073:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6069:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6069:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6059:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6032:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6042:6:1",
"type": ""
}
],
"src": "6005:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6157:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6167:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "6192:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6198:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "6188:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6188:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "6167:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "6132:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6138:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "6148:8:1",
"type": ""
}
],
"src": "6104:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6293:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6303:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "6324:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6336:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "6320:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6320:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "6307:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6347:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6378:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6389:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6359:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6359:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "6351:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6465:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6496:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6507:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6477:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6477:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6465:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6525:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6538:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6549:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6545:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6534:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6534:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6525:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6564:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6577:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6588:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6598:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6584:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6584:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6574:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6574:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6564:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6254:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "6261:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "6273:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6286:6:1",
"type": ""
}
],
"src": "6217:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6661:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6671:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6682:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6671:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6643:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6653:7:1",
"type": ""
}
],
"src": "6616:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6731:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6741:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6748:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6741:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6717:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6727:3:1",
"type": ""
}
],
"src": "6699:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6825:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6835:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6893:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6875:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6875:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "6866:8:1"
},
"nodeType": "YulFunctionCall",
"src": "6866:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6848:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6848:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "6835:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6805:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "6815:9:1",
"type": ""
}
],
"src": "6765:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6960:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6970:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6977:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6970:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6946:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6956:3:1",
"type": ""
}
],
"src": "6913:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7070:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7080:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "7135:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7104:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7104:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "7084:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7159:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7199:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7193:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7193:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7206:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "7238:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "7214:23:1"
},
"nodeType": "YulFunctionCall",
"src": "7214:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "7165:27:1"
},
"nodeType": "YulFunctionCall",
"src": "7165:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7152:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7152:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "7152:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7047:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7053:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "7061:7:1",
"type": ""
}
],
"src": "6994:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7318:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7328:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7335:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7328:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "7314:3:1",
"type": ""
}
],
"src": "7269:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7401:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7411:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "7425:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7425:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "7415:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7510:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7516:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "7524:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7466:43:1"
},
"nodeType": "YulFunctionCall",
"src": "7466:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "7466:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7387:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7393:6:1",
"type": ""
}
],
"src": "7348:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7593:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7660:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7704:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7711:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "7674:29:1"
},
"nodeType": "YulFunctionCall",
"src": "7674:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "7674:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7613:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7620:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7610:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7610:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "7625:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7627:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7640:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7647:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7636:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7636:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7627:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "7607:2:1",
"statements": []
},
"src": "7603:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "7581:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7588:3:1",
"type": ""
}
],
"src": "7543:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7814:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7840:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7854:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "7902:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "7870:31:1"
},
"nodeType": "YulFunctionCall",
"src": "7870:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "7858:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "7921:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "7944:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "7972:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "7954:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7954:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7940:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7940:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "7925:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8141:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8143:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8158:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8143:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "8125:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8137:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8122:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8122:18:1"
},
"nodeType": "YulIf",
"src": "8119:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8210:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8227:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8255:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "8237:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8237:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8223:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8223:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "8181:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8181:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "8181:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "7831:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7836:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7828:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7828:11:1"
},
"nodeType": "YulIf",
"src": "7825:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "7790:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "7797:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "7802:10:1",
"type": ""
}
],
"src": "7735:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8347:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8357:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "8382:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8388:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "8378:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8378:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "8357:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "8322:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8328:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "8338:8:1",
"type": ""
}
],
"src": "8284:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8458:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8468:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8517:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "8520:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8513:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8513:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8532:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8528:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "8484:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8484:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8480:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "8472:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8545:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8559:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "8565:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8555:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "8545:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8435:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "8441:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "8451:6:1",
"type": ""
}
],
"src": "8407:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8662:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8795:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8822:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8828:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "8803:18:1"
},
"nodeType": "YulFunctionCall",
"src": "8803:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8795:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8841:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8852:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8862:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8865:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8858:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "8849:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8849:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "8841:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8643:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8649:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "8657:4:1",
"type": ""
}
],
"src": "8581:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8980:1304:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8991:58:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9040:3:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9045:3:1"
}
],
"functionName": {
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "9005:34:1"
},
"nodeType": "YulFunctionCall",
"src": "9005:44:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "8995:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9134:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9136:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9136:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9136:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9106:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9114:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9103:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9103:30:1"
},
"nodeType": "YulIf",
"src": "9100:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9166:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9212:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "9206:5:1"
},
"nodeType": "YulFunctionCall",
"src": "9206:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "9180:25:1"
},
"nodeType": "YulFunctionCall",
"src": "9180:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "9170:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9311:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "9317:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9325:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9265:45:1"
},
"nodeType": "YulFunctionCall",
"src": "9265:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "9265:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9342:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9359:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "9346:9:1",
"type": ""
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "9407:625:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9421:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9440:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9452:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "9448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9448:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9436:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "9425:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9472:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9518:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9486:31:1"
},
"nodeType": "YulFunctionCall",
"src": "9486:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "9476:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9536:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9545:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "9540:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9604:170:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9629:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9654:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9659:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9650:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9650:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9637:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9637:33:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9622:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "9622:49:1"
},
{
"nodeType": "YulAssignment",
"src": "9688:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9702:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9710:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9698:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9698:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9688:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9729:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9746:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9757:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9742:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9729:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9570:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9573:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9567:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9567:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "9582:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9584:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9593:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9596:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9589:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9584:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "9563:3:1",
"statements": []
},
"src": "9559:215:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9810:163:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9828:50:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9862:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9867:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9858:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9845:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9845:33:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "9832:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9902:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "9929:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9944:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9952:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9940:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9940:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "9910:18:1"
},
"nodeType": "YulFunctionCall",
"src": "9910:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9895:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "9895:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9793:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9802:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9790:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9790:19:1"
},
"nodeType": "YulIf",
"src": "9787:186:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9993:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10007:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10015:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10003:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10003:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10019:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9999:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9999:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9986:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9986:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "9986:36:1"
}
]
},
"nodeType": "YulCase",
"src": "9400:632:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9405:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "10049:229:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10063:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10076:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10067:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10100:74:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10118:42:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10144:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10149:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10140:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10127:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10127:33:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10118:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10093:6:1"
},
"nodeType": "YulIf",
"src": "10090:84:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "10194:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10253:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10260:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "10200:52:1"
},
"nodeType": "YulFunctionCall",
"src": "10200:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10187:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "10187:81:1"
}
]
},
"nodeType": "YulCase",
"src": "10041:237:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9380:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9388:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9377:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9377:14:1"
},
"nodeType": "YulSwitch",
"src": "9370:908:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "8964:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8970:3:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8975:3:1",
"type": ""
}
],
"src": "8881:1403:1"
}
]
},
"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_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\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, value1 := abi_decode_t_string_calldata_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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(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 abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_string_calldata_ptr(value, len) -> length {\n\n length := len\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_calldata_ptr_to_t_string_storage(slot, src, len) {\n\n let newLen := array_length_t_string_calldata_ptr(src, len)\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 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, calldataload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := calldataload(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 := calldataload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063117f6db81461003b578063195ec9ee14610057575b600080fd5b610055600480360381019061005091906101ff565b610075565b005b61005f6100b7565b60405161006c919061039e565b60405180910390f35b60008282909180600181540180825580915050600190039060005260206000200160009091929091929091929091925091826100b2929190610610565b505050565b60606000805480602002602001604051908101604052809291908181526020016000905b828210156101875783829060005260206000200180546100fa90610429565b80601f016020809104026020016040519081016040528092919081815260200182805461012690610429565b80156101735780601f1061014857610100808354040283529160200191610173565b820191906000526020600020905b81548152906001019060200180831161015657829003601f168201915b5050505050815260200190600101906100db565b50505050905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126101bf576101be61019a565b5b8235905067ffffffffffffffff8111156101dc576101db61019f565b5b6020830191508360018202830111156101f8576101f76101a4565b5b9250929050565b6000806020838503121561021657610215610190565b5b600083013567ffffffffffffffff81111561023457610233610195565b5b610240858286016101a9565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156102b2578082015181840152602081019050610297565b60008484015250505050565b6000601f19601f8301169050919050565b60006102da82610278565b6102e48185610283565b93506102f4818560208601610294565b6102fd816102be565b840191505092915050565b600061031483836102cf565b905092915050565b6000602082019050919050565b60006103348261024c565b61033e8185610257565b93508360208202850161035085610268565b8060005b8581101561038c578484038952815161036d8582610308565b94506103788361031c565b925060208a01995050600181019050610354565b50829750879550505050505092915050565b600060208201905081810360008301526103b88184610329565b905092915050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061044157607f821691505b602082108103610454576104536103fa565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261047f565b6104c6868361047f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061050d610508610503846104de565b6104e8565b6104de565b9050919050565b6000819050919050565b610527836104f2565b61053b61053382610514565b84845461048c565b825550505050565b600090565b610550610543565b61055b81848461051e565b505050565b5b8181101561057f57610574600082610548565b600181019050610561565b5050565b601f8211156105c4576105958161045a565b61059e8461046f565b810160208510156105ad578190505b6105c16105b98561046f565b830182610560565b50505b505050565b600082821c905092915050565b60006105e7600019846008026105c9565b1980831691505092915050565b600061060083836105d6565b9150826002028217905092915050565b61061a83836103c0565b67ffffffffffffffff811115610633576106326103cb565b5b61063d8254610429565b610648828285610583565b6000601f8311600181146106775760008415610665578287013590505b61066f85826105f4565b8655506106d7565b601f1984166106858661045a565b60005b828110156106ad57848901358255600182019150602085019450602081019050610688565b868310156106ca57848901356106c6601f8916826105d6565b8355505b6001600288020188555050505b5050505050505056fea26469706673582212200b2399e427d086af4ac8fddc712532236f4099f4fbd2989c927d8df1a070efd464736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x117F6DB8 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x195EC9EE EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x1FF JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0xB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 SWAP2 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 POP SWAP2 DUP3 PUSH2 0xB2 SWAP3 SWAP2 SWAP1 PUSH2 0x610 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x187 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xFA SWAP1 PUSH2 0x429 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 0x126 SWAP1 PUSH2 0x429 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x173 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x148 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x173 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 0x156 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xDB JUMP JUMPDEST POP POP POP POP 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 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1BF JUMPI PUSH2 0x1BE PUSH2 0x19A JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DC JUMPI PUSH2 0x1DB PUSH2 0x19F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1F8 JUMPI PUSH2 0x1F7 PUSH2 0x1A4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x216 JUMPI PUSH2 0x215 PUSH2 0x190 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x234 JUMPI PUSH2 0x233 PUSH2 0x195 JUMP JUMPDEST JUMPDEST PUSH2 0x240 DUP6 DUP3 DUP7 ADD PUSH2 0x1A9 JUMP JUMPDEST SWAP3 POP SWAP3 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 0x2B2 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x297 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DA DUP3 PUSH2 0x278 JUMP JUMPDEST PUSH2 0x2E4 DUP2 DUP6 PUSH2 0x283 JUMP JUMPDEST SWAP4 POP PUSH2 0x2F4 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x294 JUMP JUMPDEST PUSH2 0x2FD DUP2 PUSH2 0x2BE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x314 DUP4 DUP4 PUSH2 0x2CF 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 0x334 DUP3 PUSH2 0x24C JUMP JUMPDEST PUSH2 0x33E DUP2 DUP6 PUSH2 0x257 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x350 DUP6 PUSH2 0x268 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x38C JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x36D DUP6 DUP3 PUSH2 0x308 JUMP JUMPDEST SWAP5 POP PUSH2 0x378 DUP4 PUSH2 0x31C JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x354 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B8 DUP2 DUP5 PUSH2 0x329 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x441 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x454 JUMPI PUSH2 0x453 PUSH2 0x3FA JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x4BC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x47F JUMP JUMPDEST PUSH2 0x4C6 DUP7 DUP4 PUSH2 0x47F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50D PUSH2 0x508 PUSH2 0x503 DUP5 PUSH2 0x4DE JUMP JUMPDEST PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x527 DUP4 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x53B PUSH2 0x533 DUP3 PUSH2 0x514 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x48C JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x550 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x55B DUP2 DUP5 DUP5 PUSH2 0x51E JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x574 PUSH1 0x0 DUP3 PUSH2 0x548 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x561 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x595 DUP2 PUSH2 0x45A JUMP JUMPDEST PUSH2 0x59E DUP5 PUSH2 0x46F JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x5AD JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x5C1 PUSH2 0x5B9 DUP6 PUSH2 0x46F JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x560 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 0x5E7 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x5C9 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 DUP4 DUP4 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x61A DUP4 DUP4 PUSH2 0x3C0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x633 JUMPI PUSH2 0x632 PUSH2 0x3CB JUMP JUMPDEST JUMPDEST PUSH2 0x63D DUP3 SLOAD PUSH2 0x429 JUMP JUMPDEST PUSH2 0x648 DUP3 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x677 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x665 JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x66F DUP6 DUP3 PUSH2 0x5F4 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x685 DUP7 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x6AD JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x688 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x6CA JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x6C6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x5D6 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 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND 0x23 SWAP10 0xE4 0x27 0xD0 DUP7 0xAF 0x4A 0xC8 REVERT 0xDC PUSH18 0x2532236F4099F4FBD2989C927D8DF1A070EF 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "69:315:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;150:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;272:110;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;150:116;223:18;247:11;;223:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;150:116;;:::o;272:110::-;323:15;357:18;350:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;272:110;:::o;88:117:1:-;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:117;689:1;686;679:12;717:553;775:8;785:6;835:3;828:4;820:6;816:17;812:27;802:122;;843:79;;:::i;:::-;802:122;956:6;943:20;933:30;;986:18;978:6;975:30;972:117;;;1008:79;;:::i;:::-;972:117;1122:4;1114:6;1110:17;1098:29;;1176:3;1168:4;1160:6;1156:17;1146:8;1142:32;1139:41;1136:128;;;1183:79;;:::i;:::-;1136:128;717:553;;;;;:::o;1276:529::-;1347:6;1355;1404:2;1392:9;1383:7;1379:23;1375:32;1372:119;;;1410:79;;:::i;:::-;1372:119;1558:1;1547:9;1543:17;1530:31;1588:18;1580:6;1577:30;1574:117;;;1610:79;;:::i;:::-;1574:117;1723:65;1780:7;1771:6;1760:9;1756:22;1723:65;:::i;:::-;1705:83;;;;1501:297;1276:529;;;;;:::o;1811:124::-;1888:6;1922:5;1916:12;1906:22;;1811:124;;;:::o;1941:194::-;2050:11;2084:6;2079:3;2072:19;2124:4;2119:3;2115:14;2100:29;;1941:194;;;;:::o;2141:142::-;2218:4;2241:3;2233:11;;2271:4;2266:3;2262:14;2254:22;;2141:142;;;:::o;2289:99::-;2341:6;2375:5;2369:12;2359:22;;2289:99;;;:::o;2394:159::-;2468:11;2502:6;2497:3;2490:19;2542:4;2537:3;2533:14;2518:29;;2394:159;;;;:::o;2559:246::-;2640:1;2650:113;2664:6;2661:1;2658:13;2650:113;;;2749:1;2744:3;2740:11;2734:18;2730:1;2725:3;2721:11;2714:39;2686:2;2683:1;2679:10;2674:15;;2650:113;;;2797:1;2788:6;2783:3;2779:16;2772:27;2621:184;2559:246;;;:::o;2811:102::-;2852:6;2903:2;2899:7;2894:2;2887:5;2883:14;2879:28;2869:38;;2811:102;;;:::o;2919:357::-;2997:3;3025:39;3058:5;3025:39;:::i;:::-;3080:61;3134:6;3129:3;3080:61;:::i;:::-;3073:68;;3150:65;3208:6;3203:3;3196:4;3189:5;3185:16;3150:65;:::i;:::-;3240:29;3262:6;3240:29;:::i;:::-;3235:3;3231:39;3224:46;;3001:275;2919:357;;;;:::o;3282:196::-;3371:10;3406:66;3468:3;3460:6;3406:66;:::i;:::-;3392:80;;3282:196;;;;:::o;3484:123::-;3564:4;3596;3591:3;3587:14;3579:22;;3484:123;;;:::o;3641:991::-;3780:3;3809:64;3867:5;3809:64;:::i;:::-;3889:96;3978:6;3973:3;3889:96;:::i;:::-;3882:103;;4011:3;4056:4;4048:6;4044:17;4039:3;4035:27;4086:66;4146:5;4086:66;:::i;:::-;4175:7;4206:1;4191:396;4216:6;4213:1;4210:13;4191:396;;;4287:9;4281:4;4277:20;4272:3;4265:33;4338:6;4332:13;4366:84;4445:4;4430:13;4366:84;:::i;:::-;4358:92;;4473:70;4536:6;4473:70;:::i;:::-;4463:80;;4572:4;4567:3;4563:14;4556:21;;4251:336;4238:1;4235;4231:9;4226:14;;4191:396;;;4195:14;4603:4;4596:11;;4623:3;4616:10;;3785:847;;;;;3641:991;;;;:::o;4638:413::-;4801:4;4839:2;4828:9;4824:18;4816:26;;4888:9;4882:4;4878:20;4874:1;4863:9;4859:17;4852:47;4916:128;5039:4;5030:6;4916:128;:::i;:::-;4908:136;;4638:413;;;;:::o;5057:97::-;5116:6;5144:3;5134:13;;5057:97;;;;:::o;5160:180::-;5208:77;5205:1;5198:88;5305:4;5302:1;5295:15;5329:4;5326:1;5319:15;5346:180;5394:77;5391:1;5384:88;5491:4;5488:1;5481:15;5515:4;5512:1;5505:15;5532:320;5576:6;5613:1;5607:4;5603:12;5593:22;;5660:1;5654:4;5650:12;5681:18;5671:81;;5737:4;5729:6;5725:17;5715:27;;5671:81;5799:2;5791:6;5788:14;5768:18;5765:38;5762:84;;5818:18;;:::i;:::-;5762:84;5583:269;5532:320;;;:::o;5858:141::-;5907:4;5930:3;5922:11;;5953:3;5950:1;5943:14;5987:4;5984:1;5974:18;5966:26;;5858:141;;;:::o;6005:93::-;6042:6;6089:2;6084;6077:5;6073:14;6069:23;6059:33;;6005:93;;;:::o;6104:107::-;6148:8;6198:5;6192:4;6188:16;6167:37;;6104:107;;;;:::o;6217:393::-;6286:6;6336:1;6324:10;6320:18;6359:97;6389:66;6378:9;6359:97;:::i;:::-;6477:39;6507:8;6496:9;6477:39;:::i;:::-;6465:51;;6549:4;6545:9;6538:5;6534:21;6525:30;;6598:4;6588:8;6584:19;6577:5;6574:30;6564:40;;6293:317;;6217:393;;;;;:::o;6616:77::-;6653:7;6682:5;6671:16;;6616:77;;;:::o;6699:60::-;6727:3;6748:5;6741:12;;6699:60;;;:::o;6765:142::-;6815:9;6848:53;6866:34;6875:24;6893:5;6875:24;:::i;:::-;6866:34;:::i;:::-;6848:53;:::i;:::-;6835:66;;6765:142;;;:::o;6913:75::-;6956:3;6977:5;6970:12;;6913:75;;;:::o;6994:269::-;7104:39;7135:7;7104:39;:::i;:::-;7165:91;7214:41;7238:16;7214:41;:::i;:::-;7206:6;7199:4;7193:11;7165:91;:::i;:::-;7159:4;7152:105;7070:193;6994:269;;;:::o;7269:73::-;7314:3;7269:73;:::o;7348:189::-;7425:32;;:::i;:::-;7466:65;7524:6;7516;7510:4;7466:65;:::i;:::-;7401:136;7348:189;;:::o;7543:186::-;7603:120;7620:3;7613:5;7610:14;7603:120;;;7674:39;7711:1;7704:5;7674:39;:::i;:::-;7647:1;7640:5;7636:13;7627:22;;7603:120;;;7543:186;;:::o;7735:543::-;7836:2;7831:3;7828:11;7825:446;;;7870:38;7902:5;7870:38;:::i;:::-;7954:29;7972:10;7954:29;:::i;:::-;7944:8;7940:44;8137:2;8125:10;8122:18;8119:49;;;8158:8;8143:23;;8119:49;8181:80;8237:22;8255:3;8237:22;:::i;:::-;8227:8;8223:37;8210:11;8181:80;:::i;:::-;7840:431;;7825:446;7735:543;;;:::o;8284:117::-;8338:8;8388:5;8382:4;8378:16;8357:37;;8284:117;;;;:::o;8407:169::-;8451:6;8484:51;8532:1;8528:6;8520:5;8517:1;8513:13;8484:51;:::i;:::-;8480:56;8565:4;8559;8555:15;8545:25;;8458:118;8407:169;;;;:::o;8581:295::-;8657:4;8803:29;8828:3;8822:4;8803:29;:::i;:::-;8795:37;;8865:3;8862:1;8858:11;8852:4;8849:21;8841:29;;8581:295;;;;:::o;8881:1403::-;9005:44;9045:3;9040;9005:44;:::i;:::-;9114:18;9106:6;9103:30;9100:56;;;9136:18;;:::i;:::-;9100:56;9180:38;9212:4;9206:11;9180:38;:::i;:::-;9265:67;9325:6;9317;9311:4;9265:67;:::i;:::-;9359:1;9388:2;9380:6;9377:14;9405:1;9400:632;;;;10076:1;10093:6;10090:84;;;10149:9;10144:3;10140:19;10127:33;10118:42;;10090:84;10200:67;10260:6;10253:5;10200:67;:::i;:::-;10194:4;10187:81;10049:229;9370:908;;9400:632;9452:4;9448:9;9440:6;9436:22;9486:37;9518:4;9486:37;:::i;:::-;9545:1;9559:215;9573:7;9570:1;9567:14;9559:215;;;9659:9;9654:3;9650:19;9637:33;9629:6;9622:49;9710:1;9702:6;9698:14;9688:24;;9757:2;9746:9;9742:18;9729:31;;9596:4;9593:1;9589:12;9584:17;;9559:215;;;9802:6;9793:7;9790:19;9787:186;;;9867:9;9862:3;9858:19;9845:33;9910:48;9952:4;9944:6;9940:17;9929:9;9910:48;:::i;:::-;9902:6;9895:64;9810:163;9787:186;10019:1;10015;10007:6;10003:14;9999:22;9993:4;9986:36;9407:625;;;9370:908;;8980:1304;;;8881:1403;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "362800",
"executionCost": "399",
"totalCost": "363199"
},
"external": {
"addNewParticipant(string)": "infinite",
"getAllParticipants()": "infinite"
}
},
"methodIdentifiers": {
"addNewParticipant(string)": "117f6db8",
"getAllParticipants()": "195ec9ee"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "participant",
"type": "string"
}
],
"name": "addNewParticipant",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getAllParticipants",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "participant",
"type": "string"
}
],
"name": "addNewParticipant",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getAllParticipants",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contract/etereum-cohort.sol": "EthereumCohortParticipants"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contract/etereum-cohort.sol": {
"keccak256": "0x5865c8449b181390d14e404c512e2600b314d504bbdbf491ce9303fcea31cc67",
"license": "GPL-3.0",
"urls": [
"bzz-raw://1198798d0b5309dcedbe935cae87e9edbf8c5c5b1201d5d0f936e69117f31cfa",
"dweb:/ipfs/QmW54zitMGPaqquhhmWZ4NF4H4XRFqvQrFERi8CzUk9nHu"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610716806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633066ca351461003b5780635367c76314610059575b600080fd5b610043610075565b60405161005091906102e2565b60405180910390f35b610073600480360381019061006e9190610373565b61014e565b005b60606000805480602002602001604051908101604052809291908181526020016000905b828210156101455783829060005260206000200180546100b8906103ef565b80601f01602080910402602001604051908101604052809291908181526020018280546100e4906103ef565b80156101315780601f1061010657610100808354040283529160200191610131565b820191906000526020600020905b81548152906001019060200180831161011457829003601f168201915b505050505081526020019060010190610099565b50505050905090565b600082829091806001815401808255809150506001900390600052602060002001600090919290919290919290919250918261018b929190610610565b505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156101f65780820151818401526020810190506101db565b60008484015250505050565b6000601f19601f8301169050919050565b600061021e826101bc565b61022881856101c7565b93506102388185602086016101d8565b61024181610202565b840191505092915050565b60006102588383610213565b905092915050565b6000602082019050919050565b600061027882610190565b610282818561019b565b935083602082028501610294856101ac565b8060005b858110156102d057848403895281516102b1858261024c565b94506102bc83610260565b925060208a01995050600181019050610298565b50829750879550505050505092915050565b600060208201905081810360008301526102fc818461026d565b905092915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126103335761033261030e565b5b8235905067ffffffffffffffff8111156103505761034f610313565b5b60208301915083600182028301111561036c5761036b610318565b5b9250929050565b6000806020838503121561038a57610389610304565b5b600083013567ffffffffffffffff8111156103a8576103a7610309565b5b6103b48582860161031d565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061040757607f821691505b60208210810361041a576104196103c0565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261047f565b6104c6868361047f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061050d610508610503846104de565b6104e8565b6104de565b9050919050565b6000819050919050565b610527836104f2565b61053b61053382610514565b84845461048c565b825550505050565b600090565b610550610543565b61055b81848461051e565b505050565b5b8181101561057f57610574600082610548565b600181019050610561565b5050565b601f8211156105c4576105958161045a565b61059e8461046f565b810160208510156105ad578190505b6105c16105b98561046f565b830182610560565b50505b505050565b600082821c905092915050565b60006105e7600019846008026105c9565b1980831691505092915050565b600061060083836105d6565b9150826002028217905092915050565b61061a8383610420565b67ffffffffffffffff8111156106335761063261042b565b5b61063d82546103ef565b610648828285610583565b6000601f8311600181146106775760008415610665578287013590505b61066f85826105f4565b8655506106d7565b601f1984166106858661045a565b60005b828110156106ad57848901358255600182019150602085019450602081019050610688565b868310156106ca57848901356106c6601f8916826105d6565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122039a45218ae3ff0f12536de52e4fb2f6869d64644b7d73d1de226187d0cce4a0f64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x716 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3066CA35 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x5367C763 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x373 JUMP JUMPDEST PUSH2 0x14E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x145 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xB8 SWAP1 PUSH2 0x3EF 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 0xE4 SWAP1 PUSH2 0x3EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x106 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131 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 0x114 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x99 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 SWAP2 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 POP SWAP2 DUP3 PUSH2 0x18B SWAP3 SWAP2 SWAP1 PUSH2 0x610 JUMP JUMPDEST POP 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 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 0x1F6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E DUP3 PUSH2 0x1BC JUMP JUMPDEST PUSH2 0x228 DUP2 DUP6 PUSH2 0x1C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x238 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1D8 JUMP JUMPDEST PUSH2 0x241 DUP2 PUSH2 0x202 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x258 DUP4 DUP4 PUSH2 0x213 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 0x278 DUP3 PUSH2 0x190 JUMP JUMPDEST PUSH2 0x282 DUP2 DUP6 PUSH2 0x19B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x294 DUP6 PUSH2 0x1AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2D0 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2B1 DUP6 DUP3 PUSH2 0x24C JUMP JUMPDEST SWAP5 POP PUSH2 0x2BC DUP4 PUSH2 0x260 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x298 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FC DUP2 DUP5 PUSH2 0x26D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x333 JUMPI PUSH2 0x332 PUSH2 0x30E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x350 JUMPI PUSH2 0x34F PUSH2 0x313 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x318 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x38A JUMPI PUSH2 0x389 PUSH2 0x304 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x309 JUMP JUMPDEST JUMPDEST PUSH2 0x3B4 DUP6 DUP3 DUP7 ADD PUSH2 0x31D JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x407 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x41A JUMPI PUSH2 0x419 PUSH2 0x3C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x4BC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x47F JUMP JUMPDEST PUSH2 0x4C6 DUP7 DUP4 PUSH2 0x47F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50D PUSH2 0x508 PUSH2 0x503 DUP5 PUSH2 0x4DE JUMP JUMPDEST PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x527 DUP4 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x53B PUSH2 0x533 DUP3 PUSH2 0x514 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x48C JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x550 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x55B DUP2 DUP5 DUP5 PUSH2 0x51E JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x574 PUSH1 0x0 DUP3 PUSH2 0x548 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x561 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x595 DUP2 PUSH2 0x45A JUMP JUMPDEST PUSH2 0x59E DUP5 PUSH2 0x46F JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x5AD JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x5C1 PUSH2 0x5B9 DUP6 PUSH2 0x46F JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x560 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 0x5E7 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x5C9 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 DUP4 DUP4 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x61A DUP4 DUP4 PUSH2 0x420 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x633 JUMPI PUSH2 0x632 PUSH2 0x42B JUMP JUMPDEST JUMPDEST PUSH2 0x63D DUP3 SLOAD PUSH2 0x3EF JUMP JUMPDEST PUSH2 0x648 DUP3 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x677 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x665 JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x66F DUP6 DUP3 PUSH2 0x5F4 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x685 DUP7 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x6AD JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x688 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x6CA JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x6C6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x5D6 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 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY LOG4 MSTORE XOR 0xAE EXTCODEHASH CREATE CALL 0x25 CALLDATASIZE 0xDE MSTORE 0xE4 0xFB 0x2F PUSH9 0x69D64644B7D73D1DE2 0x26 XOR PUSH30 0xCCE4A0F64736F6C63430008120033000000000000000000000000000000 ",
"sourceMap": "69:281:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addNewWriter_16": {
"entryPoint": 334,
"id": 16,
"parameterSlots": 2,
"returnSlots": 0
},
"@getAllWriters_25": {
"entryPoint": 117,
"id": 25,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 797,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_calldata_ptr": {
"entryPoint": 883,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 588,
"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": 621,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 531,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 738,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 428,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1114,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 400,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_calldata_ptr": {
"entryPoint": 1056,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 444,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 608,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": {
"entryPoint": 411,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr": {
"entryPoint": 455,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1411,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 1246,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1376,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1266,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage": {
"entryPoint": 1552,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 472,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1135,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1007,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1524,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1256,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1494,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 960,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1067,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1300,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 787,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 782,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 792,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 777,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 772,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 514,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1151,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1481,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1352,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1164,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1310,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1347,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10287:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "102:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "118:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "112:5:1"
},
"nodeType": "YulFunctionCall",
"src": "112:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "102:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "74:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "84:6:1",
"type": ""
}
],
"src": "7:124:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "258:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "275:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "280:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "268:6:1"
},
"nodeType": "YulFunctionCall",
"src": "268:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "268:19:1"
},
{
"nodeType": "YulAssignment",
"src": "296:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "315:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "311:3:1"
},
"nodeType": "YulFunctionCall",
"src": "311:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "296:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "230:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "235:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "246:11:1",
"type": ""
}
],
"src": "137:194:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "419:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "429:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "437:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "429:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "450:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "462:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "458:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "450:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "406:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "414:4:1",
"type": ""
}
],
"src": "337:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "544:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "555:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "571:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "565:5:1"
},
"nodeType": "YulFunctionCall",
"src": "565:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "555:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "527:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "537:6:1",
"type": ""
}
],
"src": "485:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "676:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "693:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "698:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "686:6:1"
},
"nodeType": "YulFunctionCall",
"src": "686:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "686:19:1"
},
{
"nodeType": "YulAssignment",
"src": "714:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "733:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "738:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "729:3:1"
},
"nodeType": "YulFunctionCall",
"src": "729:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "714:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "648:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "653:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "664:11:1",
"type": ""
}
],
"src": "590:159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "817:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "827:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "836:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "831:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "896:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "921:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "926:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "917:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "940:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "945:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "936:3:1"
},
"nodeType": "YulFunctionCall",
"src": "936:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "930:5:1"
},
"nodeType": "YulFunctionCall",
"src": "930:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "910:6:1"
},
"nodeType": "YulFunctionCall",
"src": "910:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "910:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "857:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "860:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "854:2:1"
},
"nodeType": "YulFunctionCall",
"src": "854:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "868:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "870:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "879:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "882:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "875:3:1"
},
"nodeType": "YulFunctionCall",
"src": "875:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "870:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "850:3:1",
"statements": []
},
"src": "846:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "979:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "984:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "975:3:1"
},
"nodeType": "YulFunctionCall",
"src": "975:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "993:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "968:6:1"
},
"nodeType": "YulFunctionCall",
"src": "968:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "968:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "799:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "804:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "809:6:1",
"type": ""
}
],
"src": "755:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1055:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1065:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1083:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1079:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1079:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1099:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1095:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1095:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1075:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1075:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1065:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1038:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1048:6:1",
"type": ""
}
],
"src": "1007:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1197:275:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1207:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1254:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1221:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1221:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1211:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1269:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1325:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1330:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1276:48:1"
},
"nodeType": "YulFunctionCall",
"src": "1276:61:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1269:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1385:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1392:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1381:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1381:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1399:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1404:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "1346:34:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "1346:65:1"
},
{
"nodeType": "YulAssignment",
"src": "1420:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1431:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1458:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1436:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1436:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1427:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1427:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1420:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1178:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1185:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1193:3:1",
"type": ""
}
],
"src": "1115:357:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1578:96:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1588:80:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1656:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1664:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1602:53:1"
},
"nodeType": "YulFunctionCall",
"src": "1602:66:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "1588:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1551:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1559:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "1567:10:1",
"type": ""
}
],
"src": "1478:196:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1765:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1775:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "1787:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1792:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1783:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1783:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "1775:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "1752:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "1760:4:1",
"type": ""
}
],
"src": "1680:123:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1981:847:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1991:78:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2063:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2005:57:1"
},
"nodeType": "YulFunctionCall",
"src": "2005:64:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1995:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2078:103:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2169:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2174:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2085:83:1"
},
"nodeType": "YulFunctionCall",
"src": "2085:96:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2078:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2190:20:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2207:3:1"
},
"variables": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2194:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2219:39:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2235:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2244:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2252:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2240:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2240:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2231:27:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2223:4:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2267:81:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2342:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2282:59:1"
},
"nodeType": "YulFunctionCall",
"src": "2282:66:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "2271:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2357:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "2371:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "2361:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2447:336:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2468:3:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2477:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2483:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2473:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2473:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2461:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2461:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2461:33:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "2507:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2534:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2528:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2528:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "2511:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2554:92:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "2626:13:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2641:4:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2562:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:84:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2554:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2659:80:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2732:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2669:62:1"
},
"nodeType": "YulFunctionCall",
"src": "2669:70:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2659:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2752:21:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2763:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2768:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2759:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2759:14:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2752:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2409:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2412:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2406:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2406:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2420:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2422:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2431:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2434:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2427:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2427:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2422:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2391:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2393:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2402:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2397:1:1",
"type": ""
}
]
}
]
},
"src": "2387:396:1"
},
{
"nodeType": "YulAssignment",
"src": "2792:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2799:4:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2792:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2812:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2819:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2812:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1960:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1967:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1976:3:1",
"type": ""
}
],
"src": "1837:991:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3002:245:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3012:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3024:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3035:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3020:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3020:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3012:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3059:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3070:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3055:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3055:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3078:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3084:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3074:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3048:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3048:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3048:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3104:136:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3226:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3235:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3112:113:1"
},
"nodeType": "YulFunctionCall",
"src": "3112:128:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3104:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2974:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2986:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2997:4:1",
"type": ""
}
],
"src": "2834:413:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3293:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3303:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3319:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3313:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3313:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3303:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3286:6:1",
"type": ""
}
],
"src": "3253:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3433:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3546:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3563:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3566:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3556:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3556:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3457:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3669:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3686:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3689:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3679:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3679:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3679:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3580:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3792:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3809:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3812:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3802:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3802:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "3703:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3915:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3932:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3935:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3925:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3925:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3925:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "3826:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4038:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4087:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "4089:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4089:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4089:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4066:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4074:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4062:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4062:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4081:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4058:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4058:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4051:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4051:35:1"
},
"nodeType": "YulIf",
"src": "4048:122:1"
},
{
"nodeType": "YulAssignment",
"src": "4179:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4202:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4189:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4189:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4179:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4252:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "4254:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4254:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4254:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4224:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4232:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4221:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4221:30:1"
},
"nodeType": "YulIf",
"src": "4218:117:1"
},
{
"nodeType": "YulAssignment",
"src": "4344:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4360:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4368:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4356:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4356:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "4344:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4427:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "4429:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4429:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4429:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "4392:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4406:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4414:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4402:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4402:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4388:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4388:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4422:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4385:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4385:41:1"
},
"nodeType": "YulIf",
"src": "4382:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4005:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4013:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "4021:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4031:6:1",
"type": ""
}
],
"src": "3963:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4608:443:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4654:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4656:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4656:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4629:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4638:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4625:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4625:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4650:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4621:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4621:32:1"
},
"nodeType": "YulIf",
"src": "4618:119:1"
},
{
"nodeType": "YulBlock",
"src": "4747:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4762:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4793:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4804:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4789:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4789:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4776:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4776:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4766:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4854:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "4856:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4856:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4856:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4826:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4834:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4823:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4823:30:1"
},
"nodeType": "YulIf",
"src": "4820:117:1"
},
{
"nodeType": "YulAssignment",
"src": "4951:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5006:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5017:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5002:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5002:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5026:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "4969:32:1"
},
"nodeType": "YulFunctionCall",
"src": "4969:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4951:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4959:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4570:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4581:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4593:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4601:6:1",
"type": ""
}
],
"src": "4522:529:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5085:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5102:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5105:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5095:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5095:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5095:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5199:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5202:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5192:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5192:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5192:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5223:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5226:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5216:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5216:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5216:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "5057:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5294:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5304:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5318:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5324:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5314:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5314:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5304:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5335:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5365:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5371:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5361:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5361:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5339:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5412:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5426:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5440:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5448:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5436:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5426:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5392:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5385:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5385:26:1"
},
"nodeType": "YulIf",
"src": "5382:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5515:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5529:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5529:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5529:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5479:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5502:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5510:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5499:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5499:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5476:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5476:38:1"
},
"nodeType": "YulIf",
"src": "5473:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5278:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5287:6:1",
"type": ""
}
],
"src": "5243:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5635:31:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5646:13:1",
"value": {
"name": "len",
"nodeType": "YulIdentifier",
"src": "5656:3:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5646:6:1"
}
]
}
]
},
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5613:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "5620:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5628:6:1",
"type": ""
}
],
"src": "5569:97:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5700:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5717:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5720:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5710:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5710:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5710:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5814:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5817:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5807:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5807:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5807:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5838:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5841:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5831:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5831:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5831:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5672:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5912:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5922:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5930:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5922:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5950:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5953:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5943:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5943:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "5943:14:1"
},
{
"nodeType": "YulAssignment",
"src": "5966:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5984:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5987:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "5974:9:1"
},
"nodeType": "YulFunctionCall",
"src": "5974:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5966:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "5899:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5907:4:1",
"type": ""
}
],
"src": "5858:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6049:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6059:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6077:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6084:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6073:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6073:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6069:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6069:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6059:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6032:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6042:6:1",
"type": ""
}
],
"src": "6005:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6157:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6167:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "6192:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6198:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "6188:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6188:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "6167:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "6132:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6138:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "6148:8:1",
"type": ""
}
],
"src": "6104:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6293:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6303:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "6324:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6336:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "6320:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6320:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "6307:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6347:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6378:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6389:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6359:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6359:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "6351:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6465:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "6496:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6507:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "6477:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6477:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6465:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6525:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6538:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6549:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6545:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6534:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6534:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6525:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6564:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6577:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "6588:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "6598:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6584:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6584:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6574:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6574:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6564:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6254:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "6261:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "6273:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6286:6:1",
"type": ""
}
],
"src": "6217:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6661:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6671:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6682:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6671:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6643:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6653:7:1",
"type": ""
}
],
"src": "6616:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6731:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6741:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6748:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6741:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6717:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6727:3:1",
"type": ""
}
],
"src": "6699:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6825:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6835:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6893:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6875:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6875:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "6866:8:1"
},
"nodeType": "YulFunctionCall",
"src": "6866:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6848:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6848:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "6835:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6805:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "6815:9:1",
"type": ""
}
],
"src": "6765:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6960:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6970:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6977:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6970:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6946:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6956:3:1",
"type": ""
}
],
"src": "6913:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7070:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7080:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "7135:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7104:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7104:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "7084:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7159:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7199:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7193:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7193:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7206:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "7238:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "7214:23:1"
},
"nodeType": "YulFunctionCall",
"src": "7214:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "7165:27:1"
},
"nodeType": "YulFunctionCall",
"src": "7165:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7152:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7152:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "7152:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7047:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7053:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "7061:7:1",
"type": ""
}
],
"src": "6994:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7318:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7328:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7335:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "7328:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "7314:3:1",
"type": ""
}
],
"src": "7269:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7401:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7411:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "7425:30:1"
},
"nodeType": "YulFunctionCall",
"src": "7425:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "7415:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7510:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7516:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "7524:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "7466:43:1"
},
"nodeType": "YulFunctionCall",
"src": "7466:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "7466:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "7387:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7393:6:1",
"type": ""
}
],
"src": "7348:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7593:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7660:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7704:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7711:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "7674:29:1"
},
"nodeType": "YulFunctionCall",
"src": "7674:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "7674:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7613:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7620:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7610:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7610:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "7625:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7627:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7640:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7647:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7636:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7636:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "7627:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "7607:2:1",
"statements": []
},
"src": "7603:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "7581:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7588:3:1",
"type": ""
}
],
"src": "7543:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7814:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7840:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7854:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "7902:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "7870:31:1"
},
"nodeType": "YulFunctionCall",
"src": "7870:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "7858:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "7921:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "7944:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "7972:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "7954:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7954:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7940:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7940:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "7925:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8141:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8143:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8158:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8143:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "8125:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8137:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8122:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8122:18:1"
},
"nodeType": "YulIf",
"src": "8119:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "8210:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8227:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8255:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "8237:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8237:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8223:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8223:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "8181:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8181:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "8181:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "7831:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7836:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7828:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7828:11:1"
},
"nodeType": "YulIf",
"src": "7825:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "7790:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "7797:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "7802:10:1",
"type": ""
}
],
"src": "7735:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8347:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8357:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "8382:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8388:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "8378:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8378:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "8357:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "8322:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8328:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "8338:8:1",
"type": ""
}
],
"src": "8284:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8458:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8468:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8517:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "8520:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8513:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8513:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8532:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8528:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "8484:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8484:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "8480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8480:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "8472:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8545:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8559:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "8565:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8555:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "8545:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8435:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "8441:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "8451:6:1",
"type": ""
}
],
"src": "8407:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8662:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8795:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8822:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8828:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "8803:18:1"
},
"nodeType": "YulFunctionCall",
"src": "8803:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8795:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8841:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "8852:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8862:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "8865:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8858:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "8849:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8849:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "8841:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "8643:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8649:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "8657:4:1",
"type": ""
}
],
"src": "8581:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8980:1304:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8991:58:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9040:3:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "9045:3:1"
}
],
"functionName": {
"name": "array_length_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "9005:34:1"
},
"nodeType": "YulFunctionCall",
"src": "9005:44:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "8995:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9134:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9136:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9136:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9136:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9106:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9114:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9103:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9103:30:1"
},
"nodeType": "YulIf",
"src": "9100:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9166:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9212:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "9206:5:1"
},
"nodeType": "YulFunctionCall",
"src": "9206:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "9180:25:1"
},
"nodeType": "YulFunctionCall",
"src": "9180:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "9170:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9311:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "9317:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9325:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9265:45:1"
},
"nodeType": "YulFunctionCall",
"src": "9265:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "9265:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9342:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9359:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "9346:9:1",
"type": ""
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "9407:625:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9421:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9440:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9452:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "9448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9448:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9436:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "9425:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9472:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9518:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "9486:31:1"
},
"nodeType": "YulFunctionCall",
"src": "9486:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "9476:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9536:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9545:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "9540:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9604:170:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9629:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9654:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9659:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9650:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9650:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9637:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9637:33:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9622:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "9622:49:1"
},
{
"nodeType": "YulAssignment",
"src": "9688:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9702:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9710:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9698:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9698:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9688:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9729:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9746:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9757:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9742:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9729:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9570:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9573:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9567:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9567:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "9582:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9584:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9593:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9596:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9589:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9584:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "9563:3:1",
"statements": []
},
"src": "9559:215:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9810:163:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9828:50:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9862:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "9867:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9858:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9845:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9845:33:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "9832:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "9902:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "9929:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9944:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9952:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9940:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9940:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "9910:18:1"
},
"nodeType": "YulFunctionCall",
"src": "9910:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9895:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "9895:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "9793:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9802:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9790:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9790:19:1"
},
"nodeType": "YulIf",
"src": "9787:186:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "9993:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10007:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10015:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10003:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10003:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10019:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9999:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9999:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "9986:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9986:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "9986:36:1"
}
]
},
"nodeType": "YulCase",
"src": "9400:632:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9405:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "10049:229:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10063:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10076:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10067:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10100:74:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10118:42:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10144:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "10149:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10140:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10127:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10127:33:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10118:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10093:6:1"
},
"nodeType": "YulIf",
"src": "10090:84:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "10194:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10253:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "10260:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "10200:52:1"
},
"nodeType": "YulFunctionCall",
"src": "10200:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "10187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10187:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "10187:81:1"
}
]
},
"nodeType": "YulCase",
"src": "10041:237:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "9380:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9388:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9377:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9377:14:1"
},
"nodeType": "YulSwitch",
"src": "9370:908:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "8964:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8970:3:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "8975:3:1",
"type": ""
}
],
"src": "8881:1403:1"
}
]
},
"contents": "{\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(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 abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\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, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_length_t_string_calldata_ptr(value, len) -> length {\n\n length := len\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\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_calldata_ptr_to_t_string_storage(slot, src, len) {\n\n let newLen := array_length_t_string_calldata_ptr(src, len)\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 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, calldataload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := calldataload(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 := calldataload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80633066ca351461003b5780635367c76314610059575b600080fd5b610043610075565b60405161005091906102e2565b60405180910390f35b610073600480360381019061006e9190610373565b61014e565b005b60606000805480602002602001604051908101604052809291908181526020016000905b828210156101455783829060005260206000200180546100b8906103ef565b80601f01602080910402602001604051908101604052809291908181526020018280546100e4906103ef565b80156101315780601f1061010657610100808354040283529160200191610131565b820191906000526020600020905b81548152906001019060200180831161011457829003601f168201915b505050505081526020019060010190610099565b50505050905090565b600082829091806001815401808255809150506001900390600052602060002001600090919290919290919290919250918261018b929190610610565b505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156101f65780820151818401526020810190506101db565b60008484015250505050565b6000601f19601f8301169050919050565b600061021e826101bc565b61022881856101c7565b93506102388185602086016101d8565b61024181610202565b840191505092915050565b60006102588383610213565b905092915050565b6000602082019050919050565b600061027882610190565b610282818561019b565b935083602082028501610294856101ac565b8060005b858110156102d057848403895281516102b1858261024c565b94506102bc83610260565b925060208a01995050600181019050610298565b50829750879550505050505092915050565b600060208201905081810360008301526102fc818461026d565b905092915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126103335761033261030e565b5b8235905067ffffffffffffffff8111156103505761034f610313565b5b60208301915083600182028301111561036c5761036b610318565b5b9250929050565b6000806020838503121561038a57610389610304565b5b600083013567ffffffffffffffff8111156103a8576103a7610309565b5b6103b48582860161031d565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061040757607f821691505b60208210810361041a576104196103c0565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261047f565b6104c6868361047f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061050d610508610503846104de565b6104e8565b6104de565b9050919050565b6000819050919050565b610527836104f2565b61053b61053382610514565b84845461048c565b825550505050565b600090565b610550610543565b61055b81848461051e565b505050565b5b8181101561057f57610574600082610548565b600181019050610561565b5050565b601f8211156105c4576105958161045a565b61059e8461046f565b810160208510156105ad578190505b6105c16105b98561046f565b830182610560565b50505b505050565b600082821c905092915050565b60006105e7600019846008026105c9565b1980831691505092915050565b600061060083836105d6565b9150826002028217905092915050565b61061a8383610420565b67ffffffffffffffff8111156106335761063261042b565b5b61063d82546103ef565b610648828285610583565b6000601f8311600181146106775760008415610665578287013590505b61066f85826105f4565b8655506106d7565b601f1984166106858661045a565b60005b828110156106ad57848901358255600182019150602085019450602081019050610688565b868310156106ca57848901356106c6601f8916826105d6565b8355505b6001600288020188555050505b5050505050505056fea264697066735822122039a45218ae3ff0f12536de52e4fb2f6869d64644b7d73d1de226187d0cce4a0f64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3066CA35 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x5367C763 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x373 JUMP JUMPDEST PUSH2 0x14E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x145 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0xB8 SWAP1 PUSH2 0x3EF 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 0xE4 SWAP1 PUSH2 0x3EF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x106 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131 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 0x114 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x99 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 SWAP2 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP3 POP SWAP2 DUP3 PUSH2 0x18B SWAP3 SWAP2 SWAP1 PUSH2 0x610 JUMP JUMPDEST POP 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 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 0x1F6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E DUP3 PUSH2 0x1BC JUMP JUMPDEST PUSH2 0x228 DUP2 DUP6 PUSH2 0x1C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x238 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1D8 JUMP JUMPDEST PUSH2 0x241 DUP2 PUSH2 0x202 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x258 DUP4 DUP4 PUSH2 0x213 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 0x278 DUP3 PUSH2 0x190 JUMP JUMPDEST PUSH2 0x282 DUP2 DUP6 PUSH2 0x19B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x294 DUP6 PUSH2 0x1AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2D0 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2B1 DUP6 DUP3 PUSH2 0x24C JUMP JUMPDEST SWAP5 POP PUSH2 0x2BC DUP4 PUSH2 0x260 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x298 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FC DUP2 DUP5 PUSH2 0x26D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x333 JUMPI PUSH2 0x332 PUSH2 0x30E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x350 JUMPI PUSH2 0x34F PUSH2 0x313 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x318 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x38A JUMPI PUSH2 0x389 PUSH2 0x304 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x309 JUMP JUMPDEST JUMPDEST PUSH2 0x3B4 DUP6 DUP3 DUP7 ADD PUSH2 0x31D JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x407 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x41A JUMPI PUSH2 0x419 PUSH2 0x3C0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x4BC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x47F JUMP JUMPDEST PUSH2 0x4C6 DUP7 DUP4 PUSH2 0x47F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50D PUSH2 0x508 PUSH2 0x503 DUP5 PUSH2 0x4DE JUMP JUMPDEST PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x527 DUP4 PUSH2 0x4F2 JUMP JUMPDEST PUSH2 0x53B PUSH2 0x533 DUP3 PUSH2 0x514 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x48C JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x550 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x55B DUP2 DUP5 DUP5 PUSH2 0x51E JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x574 PUSH1 0x0 DUP3 PUSH2 0x548 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x561 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5C4 JUMPI PUSH2 0x595 DUP2 PUSH2 0x45A JUMP JUMPDEST PUSH2 0x59E DUP5 PUSH2 0x46F JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x5AD JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x5C1 PUSH2 0x5B9 DUP6 PUSH2 0x46F JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x560 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 0x5E7 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x5C9 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 DUP4 DUP4 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x61A DUP4 DUP4 PUSH2 0x420 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x633 JUMPI PUSH2 0x632 PUSH2 0x42B JUMP JUMPDEST JUMPDEST PUSH2 0x63D DUP3 SLOAD PUSH2 0x3EF JUMP JUMPDEST PUSH2 0x648 DUP3 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x677 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x665 JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x66F DUP6 DUP3 PUSH2 0x5F4 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x685 DUP7 PUSH2 0x45A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x6AD JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x688 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x6CA JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x6C6 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x5D6 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 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY LOG4 MSTORE XOR 0xAE EXTCODEHASH CREATE CALL 0x25 CALLDATASIZE 0xDE MSTORE 0xE4 0xFB 0x2F PUSH9 0x69D64644B7D73D1DE2 0x26 XOR PUSH30 0xCCE4A0F64736F6C63430008120033000000000000000000000000000000 ",
"sourceMap": "69:281:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;246:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;142:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;246:102;292:15;326;319:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;246:102;:::o;142:98::-;205:15;226:6;;205:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;142:98;;:::o;7:124:1:-;84:6;118:5;112:12;102:22;;7:124;;;:::o;137:194::-;246:11;280:6;275:3;268:19;320:4;315:3;311:14;296:29;;137:194;;;;:::o;337:142::-;414:4;437:3;429:11;;467:4;462:3;458:14;450:22;;337:142;;;:::o;485:99::-;537:6;571:5;565:12;555:22;;485:99;;;:::o;590:159::-;664:11;698:6;693:3;686:19;738:4;733:3;729:14;714:29;;590:159;;;;:::o;755:246::-;836:1;846:113;860:6;857:1;854:13;846:113;;;945:1;940:3;936:11;930:18;926:1;921:3;917:11;910:39;882:2;879:1;875:10;870:15;;846:113;;;993:1;984:6;979:3;975:16;968:27;817:184;755:246;;;:::o;1007:102::-;1048:6;1099:2;1095:7;1090:2;1083:5;1079:14;1075:28;1065:38;;1007:102;;;:::o;1115:357::-;1193:3;1221:39;1254:5;1221:39;:::i;:::-;1276:61;1330:6;1325:3;1276:61;:::i;:::-;1269:68;;1346:65;1404:6;1399:3;1392:4;1385:5;1381:16;1346:65;:::i;:::-;1436:29;1458:6;1436:29;:::i;:::-;1431:3;1427:39;1420:46;;1197:275;1115:357;;;;:::o;1478:196::-;1567:10;1602:66;1664:3;1656:6;1602:66;:::i;:::-;1588:80;;1478:196;;;;:::o;1680:123::-;1760:4;1792;1787:3;1783:14;1775:22;;1680:123;;;:::o;1837:991::-;1976:3;2005:64;2063:5;2005:64;:::i;:::-;2085:96;2174:6;2169:3;2085:96;:::i;:::-;2078:103;;2207:3;2252:4;2244:6;2240:17;2235:3;2231:27;2282:66;2342:5;2282:66;:::i;:::-;2371:7;2402:1;2387:396;2412:6;2409:1;2406:13;2387:396;;;2483:9;2477:4;2473:20;2468:3;2461:33;2534:6;2528:13;2562:84;2641:4;2626:13;2562:84;:::i;:::-;2554:92;;2669:70;2732:6;2669:70;:::i;:::-;2659:80;;2768:4;2763:3;2759:14;2752:21;;2447:336;2434:1;2431;2427:9;2422:14;;2387:396;;;2391:14;2799:4;2792:11;;2819:3;2812:10;;1981:847;;;;;1837:991;;;;:::o;2834:413::-;2997:4;3035:2;3024:9;3020:18;3012:26;;3084:9;3078:4;3074:20;3070:1;3059:9;3055:17;3048:47;3112:128;3235:4;3226:6;3112:128;:::i;:::-;3104:136;;2834:413;;;;:::o;3334:117::-;3443:1;3440;3433:12;3457:117;3566:1;3563;3556:12;3580:117;3689:1;3686;3679:12;3703:117;3812:1;3809;3802:12;3826:117;3935:1;3932;3925:12;3963:553;4021:8;4031:6;4081:3;4074:4;4066:6;4062:17;4058:27;4048:122;;4089:79;;:::i;:::-;4048:122;4202:6;4189:20;4179:30;;4232:18;4224:6;4221:30;4218:117;;;4254:79;;:::i;:::-;4218:117;4368:4;4360:6;4356:17;4344:29;;4422:3;4414:4;4406:6;4402:17;4392:8;4388:32;4385:41;4382:128;;;4429:79;;:::i;:::-;4382:128;3963:553;;;;;:::o;4522:529::-;4593:6;4601;4650:2;4638:9;4629:7;4625:23;4621:32;4618:119;;;4656:79;;:::i;:::-;4618:119;4804:1;4793:9;4789:17;4776:31;4834:18;4826:6;4823:30;4820:117;;;4856:79;;:::i;:::-;4820:117;4969:65;5026:7;5017:6;5006:9;5002:22;4969:65;:::i;:::-;4951:83;;;;4747:297;4522:529;;;;;:::o;5057:180::-;5105:77;5102:1;5095:88;5202:4;5199:1;5192:15;5226:4;5223:1;5216:15;5243:320;5287:6;5324:1;5318:4;5314:12;5304:22;;5371:1;5365:4;5361:12;5392:18;5382:81;;5448:4;5440:6;5436:17;5426:27;;5382:81;5510:2;5502:6;5499:14;5479:18;5476:38;5473:84;;5529:18;;:::i;:::-;5473:84;5294:269;5243:320;;;:::o;5569:97::-;5628:6;5656:3;5646:13;;5569:97;;;;:::o;5672:180::-;5720:77;5717:1;5710:88;5817:4;5814:1;5807:15;5841:4;5838:1;5831:15;5858:141;5907:4;5930:3;5922:11;;5953:3;5950:1;5943:14;5987:4;5984:1;5974:18;5966:26;;5858:141;;;:::o;6005:93::-;6042:6;6089:2;6084;6077:5;6073:14;6069:23;6059:33;;6005:93;;;:::o;6104:107::-;6148:8;6198:5;6192:4;6188:16;6167:37;;6104:107;;;;:::o;6217:393::-;6286:6;6336:1;6324:10;6320:18;6359:97;6389:66;6378:9;6359:97;:::i;:::-;6477:39;6507:8;6496:9;6477:39;:::i;:::-;6465:51;;6549:4;6545:9;6538:5;6534:21;6525:30;;6598:4;6588:8;6584:19;6577:5;6574:30;6564:40;;6293:317;;6217:393;;;;;:::o;6616:77::-;6653:7;6682:5;6671:16;;6616:77;;;:::o;6699:60::-;6727:3;6748:5;6741:12;;6699:60;;;:::o;6765:142::-;6815:9;6848:53;6866:34;6875:24;6893:5;6875:24;:::i;:::-;6866:34;:::i;:::-;6848:53;:::i;:::-;6835:66;;6765:142;;;:::o;6913:75::-;6956:3;6977:5;6970:12;;6913:75;;;:::o;6994:269::-;7104:39;7135:7;7104:39;:::i;:::-;7165:91;7214:41;7238:16;7214:41;:::i;:::-;7206:6;7199:4;7193:11;7165:91;:::i;:::-;7159:4;7152:105;7070:193;6994:269;;;:::o;7269:73::-;7314:3;7269:73;:::o;7348:189::-;7425:32;;:::i;:::-;7466:65;7524:6;7516;7510:4;7466:65;:::i;:::-;7401:136;7348:189;;:::o;7543:186::-;7603:120;7620:3;7613:5;7610:14;7603:120;;;7674:39;7711:1;7704:5;7674:39;:::i;:::-;7647:1;7640:5;7636:13;7627:22;;7603:120;;;7543:186;;:::o;7735:543::-;7836:2;7831:3;7828:11;7825:446;;;7870:38;7902:5;7870:38;:::i;:::-;7954:29;7972:10;7954:29;:::i;:::-;7944:8;7940:44;8137:2;8125:10;8122:18;8119:49;;;8158:8;8143:23;;8119:49;8181:80;8237:22;8255:3;8237:22;:::i;:::-;8227:8;8223:37;8210:11;8181:80;:::i;:::-;7840:431;;7825:446;7735:543;;;:::o;8284:117::-;8338:8;8388:5;8382:4;8378:16;8357:37;;8284:117;;;;:::o;8407:169::-;8451:6;8484:51;8532:1;8528:6;8520:5;8517:1;8513:13;8484:51;:::i;:::-;8480:56;8565:4;8559;8555:15;8545:25;;8458:118;8407:169;;;;:::o;8581:295::-;8657:4;8803:29;8828:3;8822:4;8803:29;:::i;:::-;8795:37;;8865:3;8862:1;8858:11;8852:4;8849:21;8841:29;;8581:295;;;;:::o;8881:1403::-;9005:44;9045:3;9040;9005:44;:::i;:::-;9114:18;9106:6;9103:30;9100:56;;;9136:18;;:::i;:::-;9100:56;9180:38;9212:4;9206:11;9180:38;:::i;:::-;9265:67;9325:6;9317;9311:4;9265:67;:::i;:::-;9359:1;9388:2;9380:6;9377:14;9405:1;9400:632;;;;10076:1;10093:6;10090:84;;;10149:9;10144:3;10140:19;10127:33;10118:42;;10090:84;10200:67;10260:6;10253:5;10200:67;:::i;:::-;10194:4;10187:81;10049:229;9370:908;;9400:632;9452:4;9448:9;9440:6;9436:22;9486:37;9518:4;9486:37;:::i;:::-;9545:1;9559:215;9573:7;9570:1;9567:14;9559:215;;;9659:9;9654:3;9650:19;9637:33;9629:6;9622:49;9710:1;9702:6;9698:14;9688:24;;9757:2;9746:9;9742:18;9729:31;;9596:4;9593:1;9589:12;9584:17;;9559:215;;;9802:6;9793:7;9790:19;9787:186;;;9867:9;9862:3;9858:19;9845:33;9910:48;9952:4;9944:6;9940:17;9929:9;9910:48;:::i;:::-;9902:6;9895:64;9810:163;9787:186;10019:1;10015;10007:6;10003:14;9999:22;9993:4;9986:36;9407:625;;;9370:908;;8980:1304;;;8881:1403;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "362800",
"executionCost": "399",
"totalCost": "363199"
},
"external": {
"addNewWriter(string)": "infinite",
"getAllWriters()": "infinite"
}
},
"methodIdentifiers": {
"addNewWriter(string)": "5367c763",
"getAllWriters()": "3066ca35"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "writer",
"type": "string"
}
],
"name": "addNewWriter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getAllWriters",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "writer",
"type": "string"
}
],
"name": "addNewWriter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getAllWriters",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contract/etereum-cohort.sol": "EthereumCohortWriters"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contract/etereum-cohort.sol": {
"keccak256": "0xac885e9029214429b99453694c4325404457c9dcb21fc0fe452e2a507527fef8",
"license": "GPL-3.0",
"urls": [
"bzz-raw://5b74942d7ebded3d9db50146702855fe4f9d8bc47f7c5504f9f2f11b9ad6c43c",
"dweb:/ipfs/QmUZ9EFSzHZDZpMSKMTCc46DG2a1ygSNrFiv3tqMsHmhVn"
]
}
},
"version": 1
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract EthereumCohortWriters {
string[] ethereumWriters;
function addNewWriter(string calldata writer) public {
ethereumWriters.push(writer);
}
function getAllWriters() public view returns (string[] memory) {
return ethereumWriters;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment