TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

0f14b8a6-911b-4685-a9fc-e61e1077db52

complete
Chain ID
1
Address
Block Number
Created
Sun, Dec 28, 2025 7:48 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30372 report.consolidate complete 1 / 1 3 months ago
74416 artifact.fetch complete 1 / 3 1 week ago
74417 tool.cast_disasm complete 1 / 3 1 week ago
74418 analysis.bundle complete 1 / 3 1 week ago
74419 capability.graph complete 1 / 3 1 week ago
74420 detector.run complete 1 / 3 1 week ago
74421 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Identified one concrete access-control risk tied to an externally callable initializer path in the runtime bytecode.
View stderr
[codex:1365317] OpenAI Codex v0.77.0 (research preview)
[codex:1365317] --------
[codex:1365317] workdir: /tmp/codex-multi-8ahkwqc0
[codex:1365317] model: gpt-5.2-codex
[codex:1365317] provider: openai
[codex:1365317] approval: never
[codex:1365317] sandbox: read-only
[codex:1365317] reasoning effort: xhigh
[codex:1365317] reasoning summaries: auto
[codex:1365317] session id: 019b667a-4210-75e1-86fd-5567d18e621b
[codex:1365317] --------
[codex:1365317] user
[codex:1365317] You are a security auditor. You are given EVM runtime bytecode (and possibly a disassembly) for a contract with NO verified source.
[codex:1365317] This is best-effort. Do not hallucinate: only flag issues when there's a concrete, explainable angle from bytecode/disasm patterns.
[codex:1365317] 
[codex:1365317] You MUST read the full `BYTECODE_BUNDLE.txt` before concluding.
[codex:1365317] 
[codex:1365317] Output MUST be valid JSON matching the provided schema.
[codex:1365317] - If you cannot identify a concrete issue from bytecode/disasm alone: set no_findings=true and findings=[].
[codex:1365317] - Otherwise: include findings with severity/category/title/evidence and point locations to BYTECODE_BUNDLE.txt line ranges when possible.
[codex:1365317] 
[codex:1365317] Output constraints (IMPORTANT):
[codex:1365317] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1365317] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1365317] mcp startup: no servers
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Listing files and preparing to read BYTECODE_BUNDLE.txt**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc 'rg --files' in /tmp/codex-multi-8ahkwqc0 succeeded in 10ms:
[codex:1365317] codex-output-schema.json
[codex:1365317] BYTECODE_BUNDLE.txt
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Reading BYTECODE_BUNDLE.txt**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-8ahkwqc0 succeeded in 6ms:
[codex:1365317] Runtime bytecode bundle for best-effort auditing.
[codex:1365317] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1365317] 
[codex:1365317] FILE: runtime_bytecode.hex
[codex:1365317] 0x608060405260043610610116575f3560e01c80638c42f5aa11610099578063cb1eec6d11610060578063cb1eec6d14610350578063db6b524614610363578063ed24911d1461036b578063f2fde38b1461038d578063f62d1888146103ac57005b80638c42f5aa146102d95780638da5cb5b146102ec578063ac9650d814610309578063b52c14f41461031c578063c8b2feb21461033c57005b806358b8dc6c116100dd57806358b8dc6c1461023157806369328dec146102515780637106139814610270578063724033311461029157806384b0196e146102b257005b8063150b7a02146101545780631626ba7e1461019d57806339f02d6d146101bc57806346739e73146101f357806347e7ef241461021257005b366101525760405134815233907f410eba6f268aeb1b263fbec6294fd6b86a7289f0a1b4afd5dd325c89ade8565c9060200160405180910390a2005b005b34801561015f575f80fd5b5061017f61016e366004613178565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156101a8575f80fd5b5061017f6101b73660046132f6565b6103cb565b3480156101c7575f80fd5b506006546101db906001600160a01b031681565b6040516001600160a01b039091168152602001610194565b3480156101fe575f80fd5b5061015261020d36600461334c565b610449565b34801561021d575f80fd5b5061015261022c36600461338a565b6104c2565b61024461023f3660046133f4565b610588565b6040516101949190613474565b34801561025c575f80fd5b5061015261026b3660046134d7565b6106f3565b34801561027b575f80fd5b50610284610987565b604051610194919061350b565b34801561029c575f80fd5b506102a5610b71565b604051610194919061354d565b3480156102bd575f80fd5b506102c6610b80565b604051610194979695949392919061355f565b6102446102e73660046135f5565b610cf0565b3480156102f7575f80fd5b506002546001600160a01b03166101db565b610244610317366004613691565b610dab565b348015610327575f80fd5b505f5460405160ff9091168152602001610194565b348015610347575f80fd5b506102a5610efa565b6102a561035e3660046136c3565b610f04565b6101526116b1565b348015610376575f80fd5b5061037f611778565b604051908152602001610194565b348015610398575f80fd5b506101526103a736600461370a565b611782565b3480156103b7575f80fd5b506101526103c6366004613725565b6117ca565b5f805f6103d88585611912565b90925090505f8160048111156103f0576103f0613769565b1461040857506001600160e01b031991506104439050565b61041982630b135d3f60e11b611954565b61043657604051630782484160e21b815260040160405180910390fd5b50630b135d3f60e11b9150505b92915050565b610451611ad4565b6006546001600160a01b0316331461047c57604051637354232160e11b815260040160405180910390fd5b7f2efd77dd47a20bca0526b7f9831c54b02d87b6b22a91ae58c54ce68094c292cd82826040516104ad9291906137a5565b60405180910390a16104be60018055565b5050565b6104ca611ad4565b6006546001600160a01b03166104f35760405163d311bc3960e01b815260040160405180910390fd5b6002546001600160a01b0316331461053357610516336311f9fbc960e21b611954565b61053357604051630782484160e21b815260040160405180910390fd5b61053f82333084611afe565b60405181815233906001600160a01b038416907f5136d247c82e28135f2f6969f083c19ee849ea93b1e9aa54b8f2c6207c4aa7dd9060200160405180910390a36104be60018055565b6006546060906001600160a01b03166105b45760405163d311bc3960e01b815260040160405180910390fd5b5f5a90505f8490036105d95760405163175a3d1f60e31b815260040160405180910390fd5b600654604051631231560560e31b81523360048201525f60248201819052916001600160a01b03169063918ab02890604401602060405180830381865afa158015610626573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064a91906137b8565b60065460405163306999fb60e21b8152600481018390529192506001600160a01b03169063c1a667ec90602401602060405180830381865afa158015610692573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b691906137cf565b6106d357604051630782484160e21b815260040160405180910390fd5b6106dd8686610dab565b92506106e98285611b6f565b50505b9392505050565b6106fb611ad4565b6006546001600160a01b03166107245760405163d311bc3960e01b815260040160405180910390fd5b6001600160a01b03811661074b576040516303ecae4960e21b815260040160405180910390fd5b6002546001600160a01b0316331461078b5761076e33631a4ca37b60e21b611954565b61078b57604051630782484160e21b815260040160405180910390fd5b6006546040516333e14c0560e11b81523060048201526001600160a01b03909116906367c2980a90602401602060405180830381865afa1580156107d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f591906137cf565b15610813576040516306ae29cb60e11b815260040160405180910390fd5b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148061084557506001600160a01b038316155b15610916575f816001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610893576040519150601f19603f3d011682016040523d82523d5f602084013e610898565b606091505b50509050806108ba57604051633d2cec6f60e21b815260040160405180910390fd5b60405183815233906001600160a01b0384169073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee907f108ca74dd2a8cdf809a887671af83303a5ab97b8753781eb798465631652befe9060200160405180910390a450610979565b610921838284611ece565b336001600160a01b0316816001600160a01b0316846001600160a01b03167f108ca74dd2a8cdf809a887671af83303a5ab97b8753781eb798465631652befe8560405161097091815260200190565b60405180910390a45b61098260018055565b505050565b60408051600780825261010082019092526060915f91906020820160e0803683370190505090507fa1355dd41f15a95ecd1d69947cd354e0ee3548640b9d1efa558da0764d8ac88c815f815181106109e1576109e16137ee565b6020026020010181815250507f21ae39e7749abe1280ca85620d8d5ea8847209d0d2b911ce4e03e428674ba82f81600181518110610a2157610a216137ee565b6020026020010181815250507fc9a4a6cd676ac95ddb937b6c21090ec28bc76d3ad271bd20e0e812676784c90181600281518110610a6157610a616137ee565b6020026020010181815250507f7a78eeaef7adcf781217829e4cd31cd87b965e5c9d9bf6fa7d59436a4fad154081600381518110610aa157610aa16137ee565b6020026020010181815250507f79768a0bcc3b4c38462445090fcafc64b5973eb32a3f6c40343bd1a801be011881600481518110610ae157610ae16137ee565b6020026020010181815250507f063dd53a0d18545c6595156b126cfdd317625e1df30da42a17b22b8d27e596f881600581518110610b2157610b216137ee565b6020026020010181815250507f7329e9fefaa5cf03a0d45e01bdb3743d558c32418a510a46082f14bca4f69be081600681518110610b6157610b616137ee565b6020908102919091010152919050565b6060610b7b611efe565b905090565b5f606080828080836003600446308580604051908082528060200260200182016040528015610bb9578160200160208202803683370190505b50600f60f81b959493929190858054610bd190613802565b80601f0160208091040260200160405190810160405280929190818152602001828054610bfd90613802565b8015610c485780601f10610c1f57610100808354040283529160200191610c48565b820191905f5260205f20905b815481529060010190602001808311610c2b57829003601f168201915b50505050509550848054610c5b90613802565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8790613802565b8015610cd25780601f10610ca957610100808354040283529160200191610cd2565b820191905f5260205f20905b815481529060010190602001808311610cb557829003601f168201915b50505050509450965096509650965096509650965090919293949596565b6060610cfa611ad4565b6006546001600160a01b0316610d235760405163d311bc3960e01b815260040160405180910390fd5b5f610d4d7fc87965729e990b38dc13add724e6bf71c0eff34ca4b94316d8a69582421de2a9611f8e565b9050805f03610d6b57610d64888888888888612021565b9150610d97565b5f80610d756121e6565b91509150610d878a8a8a8a8a8a612021565b9350610d948282856123aa565b50505b50610da160018055565b9695505050505050565b6060816001600160401b03811115610dc557610dc56131e5565b604051908082528060200260200182016040528015610df857816020015b6060815260200190600190039081610de35790505b5090505f5b82811015610ef3575f8030868685818110610e1a57610e1a6137ee565b9050602002810190610e2c919061383a565b604051610e3a92919061387c565b5f60405180830381855af49150503d805f8114610e72576040519150601f19603f3d011682016040523d82523d5f602084013e610e77565b606091505b509150915081610ecb57604481511015610e8f575f80fd5b60048101905080806020019051810190610ea991906138c1565b60405162461bcd60e51b8152600401610ec2919061354d565b60405180910390fd5b80848481518110610ede57610ede6137ee565b60209081029190910101525050600101610dfd565b5092915050565b6060610b7b61240d565b6060610f0e611ad4565b6006546001600160a01b0316610f375760405163d311bc3960e01b815260040160405180910390fd5b610f483363833c653f60e01b611954565b610f6557604051630782484160e21b815260040160405180910390fd5b6006546040805163b4906de560e01b815290515f926001600160a01b03169163b4906de59160048083019260209291908290030181865afa158015610fac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd09190613905565b90505f80826001600160a01b03166385acd641886040518263ffffffff1660e01b815260040161100291815260200190565b6040805180830381865afa15801561101c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110409190613935565b915091508060ff1660011461106857604051631bb2296560e31b815260040160405180910390fd5b5f80836001600160a01b0316888860405161108492919061387c565b5f60405180830381855afa9150503d805f81146110bc576040519150601f19603f3d011682016040523d82523d5f602084013e6110c1565b606091505b5091509150816110e457604051636080e11b60e11b815260040160405180910390fd5b5f818060200190518101906110f99190613c2e565b90505f805f805f5b856040015151811015611657575f8660600151511180156111485750600460ff1686606001518281518110611138576111386137ee565b60200260200101515f015160ff16145b156113135773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686606001518281518110611181576111816137ee565b6020026020010151602001516001600160a01b03161461122b57856060015181815181106111b1576111b16137ee565b60209081029190910181015101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611202573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122691906137b8565b61122d565b475b945073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686606001518281518110611263576112636137ee565b6020026020010151606001516001600160a01b03161461130e5785606001518181518110611293576112936137ee565b6020908102919091010151606001516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156112e5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130991906137b8565b611310565b475b92505b85602001518181518110611329576113296137ee565b60200260200101516001600160a01b0316865f0151828151811061134f5761134f6137ee565b60200260200101518760400151838151811061136d5761136d6137ee565b60200260200101516040516113829190613d6a565b5f6040518083038185875af1925050503d805f81146113bc576040519150601f19603f3d011682016040523d82523d5f602084013e6113c1565b606091505b509098509650876113e557604051633badd6bb60e21b815260040160405180910390fd5b5f86606001515111801561141f5750600460ff168660600151828151811061140f5761140f6137ee565b60200260200101515f015160ff16145b156116365773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686606001518281518110611458576114586137ee565b6020026020010151602001516001600160a01b0316146115025785606001518181518110611488576114886137ee565b60209081029190910181015101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156114d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114fd91906137b8565b611504565b475b935073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03168660600151828151811061153a5761153a6137ee565b6020026020010151606001516001600160a01b0316146115e5578560600151818151811061156a5761156a6137ee565b6020908102919091010151606001516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156115bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e091906137b8565b6115e7565b475b91508186606001518281518110611600576116006137ee565b602002602001015160800151846116179190613d94565b111561163657604051630a85404160e11b815260040160405180910390fd5b5f6116418484613da7565b905061164e82828961241c565b50600101611101565b50336001600160a01b03168e7f1bef730252e1d194308677bda575d7611fd41e9e78b5f4fe059b852e570adf248f8f6040516116949291906137a5565b60405180910390a35093985050505050505050506106ec60018055565b6116b9611ad4565b6006546001600160a01b03166116e25760405163d311bc3960e01b815260040160405180910390fd5b6002546001600160a01b031633146117225761170533636db5a92360e11b611954565b61172257604051630782484160e21b815260040160405180910390fd5b604051348152339073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee907f5136d247c82e28135f2f6969f083c19ee849ea93b1e9aa54b8f2c6207c4aa7dd9060200160405180910390a361177660018055565b565b5f610b7b60055490565b61178a611ad4565b6002546001600160a01b031633146117b557604051635fc483c560e01b815260040160405180910390fd5b6117be8161258e565b6117c760018055565b50565b5f54610100900460ff16158080156117e857505f54600160ff909116105b806118015750303b15801561180157505f5460ff166001145b6118645760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ec2565b5f805460ff191660011790558015611885575f805461ff0019166101001790555b6118a882604051806040016040528060018152602001603160f81b8152506125df565b60068054336001600160a01b0319918216811790925560028054909116909117905580156104be575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f808251604103611946576020830151604084015160608501515f1a61193a878285856126d3565b9450945050505061194d565b505f905060025b9250929050565b600654604051631231560560e31b81523360048201523060248201525f9182916001600160a01b039091169063918ab02890604401602060405180830381865afa1580156119a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c891906137b8565b905080611a4457600654604051631231560560e31b81526001600160a01b0386811660048301525f60248301529091169063918ab02890604401602060405180830381865afa158015611a1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4191906137b8565b90505b600654604051630128732f60e11b81526004810183905230602482018190526001600160e01b03198616604483015260648201526001600160a01b0390911690630250e65e90608401602060405180830381865afa158015611aa8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acc91906137cf565b949350505050565b600260015403611af7576040516306fda65d60e31b815260040160405180910390fd5b6002600155565b6040516001600160a01b0380851660248301528316604482015260648101829052611b699085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612790565b50505050565b611b77611ad4565b6001600160a01b03811615611ec557600654604051631d7d882b60e21b81526001600160a01b0383811660048301525f9216906375f620ac90602401602060405180830381865afa158015611bce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf291906137b8565b600654604051631d7d882b60e21b815273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60048201529192505f916001600160a01b03909116906375f620ac90602401602060405180830381865afa158015611c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c7591906137b8565b90505f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601611ca557506012611d08565b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ce1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d059190613dba565b90505b5f611d11612861565b90505f611d1c61288b565b6040516338fc654360e11b81525f6004820181905263162e371b60e21b60248301529192506001600160a01b038416906371f8ca869060440161010060405180830381865afa158015611d71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d959190613e3f565b606081015190925090505f5a90505f611daf366004613e6a565b611db9838d613da7565b611dc59061b798613d94565b611dcf9190613d94565b611dd9903a613e6a565b90505f611de7886012613e81565b611df290600a613f7d565b8a611dfd8b85613e6a565b611e079190613f8b565b611e119190613f8b565b9050606481611e208683613d94565b611e2a9190613e6a565b611e349190613f8b565b60408051828152602081018590529192506001600160a01b038d16917f15fa6c211862acb452249eb3d9afc4894d9b7bbdb78c6b0d5532cf2325367ff4910160405180910390a273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038c1601611eaf57611eaa86826128b5565b611eba565b611eba8b8783611ece565b505050505050505050505b6104be60018055565b6040516001600160a01b03831660248201526044810182905261098290849063a9059cbb60e01b90606401611b32565b606060038054611f0d90613802565b80601f0160208091040260200160405190810160405280929190818152602001828054611f3990613802565b8015611f845780601f10611f5b57610100808354040283529160200191611f84565b820191905f5260205f20905b815481529060010190602001808311611f6757829003601f168201915b5050505050905090565b5f80611f98612861565b6040516338fc654360e11b81523060048201526001600160e01b0319851660248201529091505f906001600160a01b038316906371f8ca869060440161010060405180830381865afa158015611ff0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120149190613e3f565b6060015195945050505050565b60605f846001600160401b0381111561203c5761203c6131e5565b60405190808252806020026020018201604052801561206f57816020015b606081526020019060019003908161205a5790505b509050612083336346217ad560e11b611954565b6120a057604051630782484160e21b815260040160405180910390fd5b6120ad3387878787612925565b6120ca57604051630782484160e21b815260040160405180910390fd5b5f806120d888888888612a99565b915091505f5b878110156121d7576121528989838181106120fb576120fb6137ee565b9050602002016020810190612110919061370a565b8c8c84818110612122576121226137ee565b9050602002013589898581811061213b5761213b6137ee565b905060200281019061214d919061383a565b612b33565b848281518110612164576121646137ee565b60200260200101819052506121cf8b8b83818110612184576121846137ee565b905060200201358385848151811061219e5761219e6137ee565b60200260200101518a8a868181106121b8576121b86137ee565b90506020028101906121ca919061383a565b612bbc565b6001016120de565b50919998505050505050505050565b600654604051630a415d6f60e41b815230600482015260609182916001600160a01b039091169063a415d6f0906024015f60405180830381865afa158015612230573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122579190810190613faa565b915081516001600160401b03811115612272576122726131e5565b60405190808252806020026020018201604052801561229b578160200160208202803683370190505b5090505f5b82518110156123a5575f8382815181106122bc576122bc6137ee565b6020026020010151905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316816001600160a01b0316036123175747838381518110612306576123066137ee565b60200260200101818152505061239c565b6040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015612359573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237d91906137b8565b83838151811061238f5761238f6137ee565b6020026020010181815250505b506001016122a0565b509091565b5f6123b361288b565b90505f5b8451811015612406576123fe8582815181106123d5576123d56137ee565b60200260200101518583815181106123ef576123ef6137ee565b60200260200101518585612da7565b6001016123b7565b5050505050565b606060048054611f0d90613802565b5f61242561288b565b90505f8260a001515111801561248557505f8260a00151858151811061244d5761244d6137ee565b602002602001015160400151118061248557505f8260a001518581518110612477576124776137ee565b602002602001015160200151115b15611b69575f612710848460a0015187815181106124a5576124a56137ee565b6020026020010151604001516124bb9190613e6a565b6124c59190613f8b565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03168360a0015186815181106124fb576124fb6137ee565b60200260200101515f01516001600160a01b03161415801561254f57505f6001600160a01b03168360a001518681518110612538576125386137ee565b60200260200101515f01516001600160a01b031614155b156125845761257f8360a00151868151811061256d5761256d6137ee565b60200260200101515f01518383611ece565b612406565b61240682826128b5565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b600554156126245760405162461bcd60e51b8152602060048201526012602482015271111bdb585a5b88185b1c9958591e481cd95d60721b6044820152606401610ec2565b6003612630838261401f565b50600461263d828261401f565b507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600360405161266e91906140d9565b6040518091039020600460405161268591906140d9565b60408051918290038220602083019490945281019190915260608101919091524660808201523060a082015260c00160408051601f1981840301815291905280516020909101206005555050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561270857505f90506003612787565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612759573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116612781575f60019250925050612787565b91505f90505b94509492505050565b5f6127e4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612f169092919063ffffffff16565b805190915015610982578080602001905181019061280291906137cf565b6109825760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ec2565b5f610b7b7f260d2569b832f39d6cacd75d0a41567887c96dafdbf0800b3206e9fa7536d55f612f24565b5f610b7b7f84a2dc6ded10e3311455eb6dca44d897655a6973bb67b2f0f0660ad3420cdaf2612f24565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146128fe576040519150601f19603f3d011682016040523d82523d5f602084013e612903565b606091505b505090508061098257604051633d2cec6f60e21b815260040160405180910390fd5b600654604051631231560560e31b81523360048201523060248201525f9182916001600160a01b039091169063918ab02890604401602060405180830381865afa158015612975573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061299991906137b8565b905080612a1557600654604051631231560560e31b81526001600160a01b0389811660048301525f60248301529091169063918ab02890604401602060405180830381865afa1580156129ee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1291906137b8565b90505b60065460405163791cd1f560e11b81526001600160a01b039091169063f239a3ea90612a4f9084903090899089908d908d90600401614226565b602060405180830381865afa158015612a6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a8e91906137cf565b979650505050505050565b60605f80612aa5612861565b9050612aaf61288b565b6040516347cef96b60e11b81529092506001600160a01b03821690638f9df2d690612ae4908a908a908a908a90600401614270565b5f60405180830381865afa158015612afe573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b2591908101906142fb565b989297509195505050505050565b60605f856001600160a01b0316858585604051612b5192919061387c565b5f6040518083038185875af1925050503d805f8114612b8b576040519150601f19603f3d011682016040523d82523d5f602084013e612b90565b606091505b509250905080612bb35760405163cf776a5160e01b815260040160405180910390fd5b50949350505050565b606083015115612406575f83602001515f14612c065760208085015184918490612be7908390613d94565b92612bf493929190614354565b810190612c01919061370a565b612c09565b83515b90505f6001600160a01b03821615801590612c4157506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b15612c7a576040850151849084612c59826020613d94565b92612c6693929190614354565b810190612c73919061437b565b9050612cbb565b604085015115612cb6576040850151849084612c97826020613d94565b92612ca493929190614354565b810190612cb1919061437b565b612cb8565b865b90505b5f612710828760600151612ccf9190613e6a565b612cd99190613f8b565b90508015612d9d576001600160a01b03831615801590612d1657506001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b15612d2b57612d26838883611ece565b612d9d565b5f876001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612d74576040519150601f19603f3d011682016040523d82523d5f602084013e612d79565b606091505b5050905080612d9b576040516314f3becf60e21b815260040160405180910390fd5b505b5050505050505050565b5f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03861601612dd4575047612e3d565b6040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015612e16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e3a91906137b8565b90505b805f03612e4a5750611b69565b838111612e575750611b69565b5f620f424084612e678785613da7565b612e719190613e6a565b612e7b9190613f8b565b9050805f03612e8b575050611b69565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03871601612ebf57612eba83826128b5565b612eca565b612eca868483611ece565b60408051828152602081018690526001600160a01b038816917f108516ddcf5ba43cea6bb2cd5ff6d59ac196c1c86ccb9178332b9dd72d1ca561910160405180910390a2505050505050565b6060611acc84845f85612fc3565b6006546040516320d06ff960e01b8152600481018390525f602482018190529182916001600160a01b03909116906320d06ff990604401602060405180830381865afa158015612f76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f9a9190613905565b90506001600160a01b0381166104435760405163209dd69560e21b815260040160405180910390fd5b6060824710156130245760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610ec2565b5f80866001600160a01b0316858760405161303f9190613d6a565b5f6040518083038185875af1925050503d805f8114613079576040519150601f19603f3d011682016040523d82523d5f602084013e61307e565b606091505b5091509150612a8e87838387606083156130f85782515f036130f1576001600160a01b0385163b6130f15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ec2565b5081611acc565b611acc838381511561310d5781518083602001fd5b8060405162461bcd60e51b8152600401610ec2919061354d565b6001600160a01b03811681146117c7575f80fd5b5f8083601f84011261314b575f80fd5b5081356001600160401b03811115613161575f80fd5b60208301915083602082850101111561194d575f80fd5b5f805f805f6080868803121561318c575f80fd5b853561319781613127565b945060208601356131a781613127565b93506040860135925060608601356001600160401b038111156131c8575f80fd5b6131d48882890161313b565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b038111828210171561321b5761321b6131e5565b60405290565b604051606081016001600160401b038111828210171561321b5761321b6131e5565b60405160c081016001600160401b038111828210171561321b5761321b6131e5565b604051601f8201601f191681016001600160401b038111828210171561328d5761328d6131e5565b604052919050565b5f6001600160401b038211156132ad576132ad6131e5565b50601f01601f191660200190565b5f6132cd6132c884613295565b613265565b90508281528383830111156132e0575f80fd5b828260208301375f602084830101529392505050565b5f8060408385031215613307575f80fd5b8235915060208301356001600160401b03811115613323575f80fd5b8301601f81018513613333575f80fd5b613342858235602084016132bb565b9150509250929050565b5f806020838503121561335d575f80fd5b82356001600160401b03811115613372575f80fd5b61337e8582860161313b565b90969095509350505050565b5f806040838503121561339b575f80fd5b82356133a681613127565b946020939093013593505050565b5f8083601f8401126133c4575f80fd5b5081356001600160401b038111156133da575f80fd5b6020830191508360208260051b850101111561194d575f80fd5b5f805f60408486031215613406575f80fd5b83356001600160401b0381111561341b575f80fd5b613427868287016133b4565b909450925050602084013561343b81613127565b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156134cb57603f198786030184526134b6858351613446565b9450602093840193919091019060010161349a565b50929695505050505050565b5f805f606084860312156134e9575f80fd5b83356134f481613127565b925060208401359150604084013561343b81613127565b602080825282518282018190525f918401906040840190835b81811015613542578351835260209384019390920191600101613524565b509095945050505050565b602081525f6106ec6020830184613446565b60ff60f81b8816815260e060208201525f61357d60e0830189613446565b828103604084015261358f8189613446565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156135e45783518352602093840193909201916001016135c6565b50909b9a5050505050505050505050565b5f805f805f806060878903121561360a575f80fd5b86356001600160401b0381111561361f575f80fd5b61362b89828a016133b4565b90975095505060208701356001600160401b03811115613649575f80fd5b61365589828a016133b4565b90955093505060408701356001600160401b03811115613673575f80fd5b61367f89828a016133b4565b979a9699509497509295939492505050565b5f80602083850312156136a2575f80fd5b82356001600160401b038111156136b7575f80fd5b61337e858286016133b4565b5f805f604084860312156136d5575f80fd5b8335925060208401356001600160401b038111156136f1575f80fd5b6136fd8682870161313b565b9497909650939450505050565b5f6020828403121561371a575f80fd5b81356106ec81613127565b5f60208284031215613735575f80fd5b81356001600160401b0381111561374a575f80fd5b8201601f8101841361375a575f80fd5b611acc848235602084016132bb565b634e487b7160e01b5f52602160045260245ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f611acc60208301848661377d565b5f602082840312156137c8575f80fd5b5051919050565b5f602082840312156137df575f80fd5b815180151581146106ec575f80fd5b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061381657607f821691505b60208210810361383457634e487b7160e01b5f52602260045260245ffd5b50919050565b5f808335601e1984360301811261384f575f80fd5b8301803591506001600160401b03821115613868575f80fd5b60200191503681900382131561194d575f80fd5b818382375f9101908152919050565b5f6138986132c884613295565b90508281528383830111156138ab575f80fd5b8282602083015e5f602084830101529392505050565b5f602082840312156138d1575f80fd5b81516001600160401b038111156138e6575f80fd5b8201601f810184136138f6575f80fd5b611acc8482516020840161388b565b5f60208284031215613915575f80fd5b81516106ec81613127565b805160ff81168114613930575f80fd5b919050565b5f8060408385031215613946575f80fd5b825161395181613127565b915061395f60208401613920565b90509250929050565b5f6001600160401b03821115613980576139806131e5565b5060051b60200190565b5f82601f830112613999575f80fd5b81516139a76132c882613968565b8082825260208201915060208360051b8601019250858311156139c8575f80fd5b602085015b838110156139e55780518352602092830192016139cd565b5095945050505050565b5f82601f8301126139fe575f80fd5b8151613a0c6132c882613968565b8082825260208201915060208360051b860101925085831115613a2d575f80fd5b602085015b838110156139e5578051613a4581613127565b835260209283019201613a32565b5f82601f830112613a62575f80fd5b8151613a706132c882613968565b8082825260208201915060208360051b860101925085831115613a91575f80fd5b602085015b838110156139e55780516001600160401b03811115613ab3575f80fd5b8601603f81018813613ac3575f80fd5b613ad58860208301516040840161388b565b84525060209283019201613a96565b5f82601f830112613af3575f80fd5b8151613b016132c882613968565b80828252602082019150602060a08402860101925085831115613b22575f80fd5b602085015b838110156139e55760a08188031215613b3e575f80fd5b613b466131f9565b613b4f82613920565b81526020820151613b5f81613127565b6020820152604082810151908201526060820151613b7c81613127565b606082015260808281015190820152835260209092019160a001613b27565b5f82601f830112613baa575f80fd5b8151613bb86132c882613968565b80828252602082019150602060608402860101925085831115613bd9575f80fd5b602085015b838110156139e55760608188031215613bf5575f80fd5b613bfd613221565b8151613c0881613127565b815260208281015181830152604080840151908301529084529290920191606001613bde565b5f60208284031215613c3e575f80fd5b81516001600160401b03811115613c53575f80fd5b820160c08185031215613c64575f80fd5b613c6c613243565b81516001600160401b03811115613c81575f80fd5b613c8d8682850161398a565b82525060208201516001600160401b03811115613ca8575f80fd5b613cb4868285016139ef565b60208301525060408201516001600160401b03811115613cd2575f80fd5b613cde86828501613a53565b60408301525060608201516001600160401b03811115613cfc575f80fd5b613d0886828501613ae4565b60608301525060808201516001600160401b03811115613d26575f80fd5b613d3286828501613b9b565b60808301525060a08201516001600160401b03811115613d50575f80fd5b613d5c86828501613b9b565b60a083015250949350505050565b5f82518060208501845e5f920191825250919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561044357610443613d80565b8181038181111561044357610443613d80565b5f60208284031215613dca575f80fd5b6106ec82613920565b5f60808284031215613de3575f80fd5b604051608081016001600160401b0381118282101715613e0557613e056131e5565b80604052508091508251613e1881613127565b81526020838101519082015260408084015190820152606092830151920191909152919050565b5f806101008385031215613e51575f80fd5b613e5b8484613dd3565b915061395f8460808501613dd3565b808202811582820484141761044357610443613d80565b60ff828116828216039081111561044357610443613d80565b6001815b6001841115613ed557808504811115613eb957613eb9613d80565b6001841615613ec757908102905b60019390931c928002613e9e565b935093915050565b5f82613eeb57506001610443565b81613ef757505f610443565b8160018114613f0d5760028114613f1757613f33565b6001915050610443565b60ff841115613f2857613f28613d80565b50506001821b610443565b5060208310610133831016604e8410600b8410161715613f56575081810a610443565b613f625f198484613e9a565b805f1904821115613f7557613f75613d80565b029392505050565b5f6106ec60ff841683613edd565b5f82613fa557634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215613fba575f80fd5b81516001600160401b03811115613fcf575f80fd5b611acc848285016139ef565b601f82111561098257805f5260205f20601f840160051c810160208510156140005750805b601f840160051c820191505b81811015612406575f815560010161400c565b81516001600160401b03811115614038576140386131e5565b61404c816140468454613802565b84613fdb565b6020601f82116001811461407e575f83156140675750848201515b5f19600385901b1c1916600184901b178455612406565b5f84815260208120601f198516915b828110156140ad578785015182556020948501946001909201910161408d565b50848210156140ca57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f8083546140e681613802565b6001821680156140fd57600181146141125761413f565b60ff198316865281151582028601935061413f565b865f5260205f205f5b838110156141375781548882015260019091019060200161411b565b505081860193505b509195945050505050565b5f8383855260208501945060208460051b820101835f5b868110156141d257838303601f19018852813536879003601e19018112614186575f80fd5b86016020810190356001600160401b038111156141a1575f80fd5b8036038213156141af575f80fd5b6141ba85828461377d565b60209a8b019a90955093909301925050600101614161565b50909695505050505050565b8183526020830192505f815f5b8481101561421c5781356141fe81613127565b6001600160a01b0316865260209586019591909101906001016141eb565b5093949350505050565b8681526001600160a01b03861660208201526080604082018190525f90614250908301868861414a565b82810360608401526142638185876141de565b9998505050505050505050565b604081525f6142836040830186886141de565b8281036020840152612a8e81858761414a565b5f82601f8301126142a5575f80fd5b81516142b36132c882613968565b8082825260208201915060208360071b8601019250858311156142d4575f80fd5b602085015b838110156139e5576142eb8782613dd3565b83526020909201916080016142d9565b5f806040838503121561430c575f80fd5b82516001600160401b03811115614321575f80fd5b61432d85828601614296565b92505060208301516001600160401b03811115614348575f80fd5b61334285828601614296565b5f8085851115614362575f80fd5b8386111561436e575f80fd5b5050820193919092039150565b5f6020828403121561438b575f80fd5b503591905056fea26469706673582212201090fb9b554bf2c871aaddfa007d286851018bb66990ba2768ebaa6379863e5464736f6c634300081a0033
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Examining bytecode for security patterns**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] # extract hex string after 0x
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] if not m:
[codex:1365317]     print('no hex')
[codex:1365317]     raise SystemExit
[codex:1365317] h = m.group(1)
[codex:1365317] b = bytes.fromhex(h)
[codex:1365317] # find ascii strings length>=4
[codex:1365317] strings=[]
[codex:1365317] cur=b''
[codex:1365317] for c in b:
[codex:1365317]     if 32 <= c < 127:
[codex:1365317]         cur += bytes([c])
[codex:1365317]     else:
[codex:1365317]         if len(cur) >= 4:
[codex:1365317]             strings.append(cur.decode('ascii'))
[codex:1365317]         cur = b''
[codex:1365317] if len(cur)>=4:
[codex:1365317]     strings.append(cur.decode('ascii'))
[codex:1365317] # unique
[codex:1365317] for s in sorted(set(strings)):
[codex:1365317]     if 'reentr' in s.lower():
[codex:1365317]         print('found', s)
[codex:1365317] 
[codex:1365317] # print all strings maybe
[codex:1365317] print('strings count', len(strings))
[codex:1365317] for s in strings:
[codex:1365317]     if len(s) > 80:
[codex:1365317]         continue
[codex:1365317]     # print s
[codex:1365317] 
[codex:1365317] # show some relevant strings
[codex:1365317] interesting = [s for s in strings if 'Reentr' in s or 'initial' in s.lower() or 'owner' in s.lower() or 'admin' in s.lower() or 'upgrade' in s.lower() or 'pause' in s.lower()]
[codex:1365317] print('interesting', interesting)
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 42ms:
[codex:1365317] strings count 646
[codex:1365317] interesting ['Initializable: contract is alrea`D']
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing bytecode for risky opcodes**
[codex:1365317] 
[codex:1365317] I’m planning to build a simple disassembler to scan the bytecode for key instructions like DELEGATECALL, SELFDESTRUCT, and ORIGIN, which could signal security concerns or upgradeable patterns; I’ll track their positions and counts to help identify potential vulnerabilities or usage characteristics.
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] from collections import defaultdict
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] if not m:
[codex:1365317]     raise SystemExit('no hex')
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] # EVM opcode table minimal
[codex:1365317] opnames = {0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1365317] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1365317] 0x20:'SHA3',
[codex:1365317] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1365317] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1365317] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1365317] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1365317] # add PUSH op names
[codex:1365317] for i in range(1,33):
[codex:1365317]     opnames[0x5f+i] = f'PUSH{i}'
[codex:1365317] # DUP/SWAP
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x7f+i] = f'DUP{i}'
[codex:1365317]     opnames[0x8f+i] = f'SWAP{i}'
[codex:1365317] # LOG
[codex:1365317] for i in range(0,5):
[codex:1365317]     opnames[0xa0+i] = f'LOG{i}'
[codex:1365317] 
[codex:1365317] idx=0
[codex:1365317] occ=defaultdict(list)
[codex:1365317] while idx < len(code):
[codex:1365317]     op = code[idx]
[codex:1365317]     occ[op].append(idx)
[codex:1365317]     name = opnames.get(op,'OP%02x'%op)
[codex:1365317]     if 0x60 <= op <= 0x7f:  # PUSH1-32
[codex:1365317]         push_len = op - 0x5f
[codex:1365317]         idx += 1 + push_len
[codex:1365317]     else:
[codex:1365317]         idx += 1
[codex:1365317] 
[codex:1365317] for op in [0x32,0xf4,0xf2,0xff]:
[codex:1365317]     name = opnames.get(op)
[codex:1365317]     print(name, len(occ.get(op,[])))
[codex:1365317]     if occ.get(op):
[codex:1365317]         print(' offsets sample', occ[op][:10])
[codex:1365317] 
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 32ms:
[codex:1365317] ORIGIN 0
[codex:1365317] DELEGATECALL 1
[codex:1365317]  offsets sample [3653]
[codex:1365317] CALLCODE 1
[codex:1365317]  offsets sample [17315]
[codex:1365317] SELFDESTRUCT 0
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Investigating delegatecall and callcode usage**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] from collections import defaultdict
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] def disasm(start, end):
[codex:1365317]     opnames = {0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1365317]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1365317]     0x20:'SHA3',
[codex:1365317]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1365317]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1365317]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1365317]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1365317]     for i in range(1,33):
[codex:1365317]         opnames[0x5f+i] = f'PUSH{i}'
[codex:1365317]     for i in range(1,17):
[codex:1365317]         opnames[0x7f+i] = f'DUP{i}'
[codex:1365317]         opnames[0x8f+i] = f'SWAP{i}'
[codex:1365317]     for i in range(0,5):
[codex:1365317]         opnames[0xa0+i] = f'LOG{i}'
[codex:1365317]     i=start
[codex:1365317]     out=[]
[codex:1365317]     while i<end and i<len(code):
[codex:1365317]         op=code[i]
[codex:1365317]         name=opnames.get(op, f'OP{op:02x}')
[codex:1365317]         if 0x60<=op<=0x7f:
[codex:1365317]             l=op-0x5f
[codex:1365317]             data=code[i+1:i+1+l]
[codex:1365317]             out.append((i,name,data.hex()))
[codex:1365317]             i+=1+l
[codex:1365317]         else:
[codex:1365317]             out.append((i,name,''))
[codex:1365317]             i+=1
[codex:1365317]     return out
[codex:1365317] 
[codex:1365317] for target in [3653,17315]:
[codex:1365317]     start=max(0,target-50)
[codex:1365317]     end=target+50
[codex:1365317]     print('--- around', target)
[codex:1365317]     for off,name,data in disasm(start,end):
[codex:1365317]         marker='>>' if off==target else '  '
[codex:1365317]         if data:
[codex:1365317]             print(f\"{marker} {off:06d}: {name} 0x{data}\")
[codex:1365317]         else:
[codex:1365317]             print(f\"{marker} {off:06d}: {name}\")
[codex:1365317] 
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 23ms:
[codex:1365317] --- around 3653
[codex:1365317]    003603: PUSH2 0x0e1a
[codex:1365317]    003606: PUSH2 0x37ee
[codex:1365317]    003609: JUMP
[codex:1365317]    003610: JUMPDEST
[codex:1365317]    003611: SWAP1
[codex:1365317]    003612: POP
[codex:1365317]    003613: PUSH1 0x20
[codex:1365317]    003615: MUL
[codex:1365317]    003616: DUP2
[codex:1365317]    003617: ADD
[codex:1365317]    003618: SWAP1
[codex:1365317]    003619: PUSH2 0x0e2c
[codex:1365317]    003622: SWAP2
[codex:1365317]    003623: SWAP1
[codex:1365317]    003624: PUSH2 0x383a
[codex:1365317]    003627: JUMP
[codex:1365317]    003628: JUMPDEST
[codex:1365317]    003629: PUSH1 0x40
[codex:1365317]    003631: MLOAD
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing DELEGATECALL context and function mapping**
[codex:1365317] 
[codex:1365317] I'm unpacking the DELEGATECALL at offset 3653 to figure out its target address and how it fits into the contract’s functions. It looks like this call is part of the `multicall` function or a helper it uses, which delegates calls to `address(this)`. I’m checking bytecode offsets and function selectors to tie the delegatecall to the multicall implementation, ensuring it’s not a vulnerability but standard batch-call behavior.
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] opnames = {0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1365317] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1365317] 0x20:'SHA3',
[codex:1365317] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1365317] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1365317] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1365317] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1365317] for i in range(1,33):
[codex:1365317]     opnames[0x5f+i] = f'PUSH{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x7f+i] = f'DUP{i}'
[codex:1365317]     opnames[0x8f+i] = f'SWAP{i}'
[codex:1365317] for i in range(0,5):
[codex:1365317]     opnames[0xa0+i] = f'LOG{i}'
[codex:1365317] 
[codex:1365317] def disasm(start, end):
[codex:1365317]     i=start
[codex:1365317]     out=[]
[codex:1365317]     while i<end and i<len(code):
[codex:1365317]         op=code[i]
[codex:1365317]         name=opnames.get(op, f'OP{op:02x}')
[codex:1365317]         if 0x60<=op<=0x7f:
[codex:1365317]             l=op-0x5f
[codex:1365317]             data=code[i+1:i+1+l]
[codex:1365317]             out.append((i,name,data.hex()))
[codex:1365317]             i+=1+l
[codex:1365317]         else:
[codex:1365317]             out.append((i,name,''))
[codex:1365317]             i+=1
[codex:1365317]     return out
[codex:1365317] 
[codex:1365317] start=0x0ce0
[codex:1365317] end=0x0f50
[codex:1365317] for off,name,data in disasm(start,end):
[codex:1365317]     if data:
[codex:1365317]         print(f\"{off:06x}: {name} 0x{data}\")
[codex:1365317]     else:
[codex:1365317]         print(f\"{off:06x}: {name}\")
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 27ms:
[codex:1365317] 000ce0: SWAP7
[codex:1365317] 000ce1: POP
[codex:1365317] 000ce2: SWAP7
[codex:1365317] 000ce3: POP
[codex:1365317] 000ce4: SWAP7
[codex:1365317] 000ce5: POP
[codex:1365317] 000ce6: SWAP7
[codex:1365317] 000ce7: POP
[codex:1365317] 000ce8: SWAP1
[codex:1365317] 000ce9: SWAP2
[codex:1365317] 000cea: SWAP3
[codex:1365317] 000ceb: SWAP4
[codex:1365317] 000cec: SWAP5
[codex:1365317] 000ced: SWAP6
[codex:1365317] 000cee: SWAP7
[codex:1365317] 000cef: JUMP
[codex:1365317] 000cf0: JUMPDEST
[codex:1365317] 000cf1: PUSH1 0x60
[codex:1365317] 000cf3: PUSH2 0x0cfa
[codex:1365317] 000cf6: PUSH2 0x1ad4
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing bytecode for vulnerabilities**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] positions=[i for i,b in enumerate(code) if b==0x34]
[codex:1365317] print('CALLVALUE count', len(positions))
[codex:1365317] print('positions sample', positions[:20])
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 24ms:
[codex:1365317] CALLVALUE count 36
[codex:1365317] positions sample [287, 341, 414, 445, 500, 531, 590, 594, 616, 625, 658, 691, 749, 797, 829, 876, 910, 941, 2759, 5926]
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing potential access control and reentrancy risks**
[codex:1365317] 
[codex:1365317] I'm digging into the bytecode to see if critical state changes, like ownership updates, are properly protected by caller checks, and whether reentrancy guards exist around external calls, especially in the multicall function. The code suggests typical owner checks using storage slot 6, but no obvious flaws so far; however, initializer functions might be publicly callable, posing a low-severity risk if deployed incorrectly. There's a lot to unpack here, so I'll continue verifying if any concrete vulnerabilities surface.
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] needle = b'Initializable'
[codex:1365317] idx = code.find(needle)
[codex:1365317] print('idx', idx)
[codex:1365317] print(code[idx:idx+80])
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 23ms:
[codex:1365317] idx 6177
[codex:1365317] b'Initializable: contract is alrea`D\x82\x01Rm\x19\x1eH\x1a[\x9a]\x1aX[\x1a^\x99Y`\x92\x1b`d\x82\x01R`\x84\x01a\x0e\xc2V[_\x80T`\xff\x19\x16`\x01\x17\x90U'
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Examining disassembly near initializer**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] opnames = {0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1365317] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1365317] 0x20:'SHA3',
[codex:1365317] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1365317] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1365317] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1365317] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1365317] for i in range(1,33):
[codex:1365317]     opnames[0x5f+i] = f'PUSH{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x7f+i] = f'DUP{i}'
[codex:1365317]     opnames[0x8f+i] = f'SWAP{i}'
[codex:1365317] for i in range(0,5):
[codex:1365317]     opnames[0xa0+i] = f'LOG{i}'
[codex:1365317] 
[codex:1365317] def disasm(start, end):
[codex:1365317]     i=start
[codex:1365317]     while i<end and i<len(code):
[codex:1365317]         op=code[i]
[codex:1365317]         name=opnames.get(op, f'OP{op:02x}')
[codex:1365317]         if 0x60<=op<=0x7f:
[codex:1365317]             l=op-0x5f
[codex:1365317]             data=code[i+1:i+1+l]
[codex:1365317]             print(f\"{i:06x}: {name} 0x{data.hex()}\")
[codex:1365317]             i+=1+l
[codex:1365317]         else:
[codex:1365317]             print(f\"{i:06x}: {name}\")
[codex:1365317]             i+=1
[codex:1365317] 
[codex:1365317] start=0x17a0
[codex:1365317] end=0x1890
[codex:1365317] print('--- disasm ---')
[codex:1365317] disasm(start,end)
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 24ms:
[codex:1365317] --- disasm ---
[codex:1365317] 0017a0: PUSH4 0x5fc483c5
[codex:1365317] 0017a5: PUSH1 0xe0
[codex:1365317] 0017a7: SHL
[codex:1365317] 0017a8: DUP2
[codex:1365317] 0017a9: MSTORE
[codex:1365317] 0017aa: PUSH1 0x04
[codex:1365317] 0017ac: ADD
[codex:1365317] 0017ad: PUSH1 0x40
[codex:1365317] 0017af: MLOAD
[codex:1365317] 0017b0: DUP1
[codex:1365317] 0017b1: SWAP2
[codex:1365317] 0017b2: SUB
[codex:1365317] 0017b3: SWAP1
[codex:1365317] 0017b4: REVERT
[codex:1365317] 0017b5: JUMPDEST
[codex:1365317] 0017b6: PUSH2 0x17be
[codex:1365317] 0017b9: DUP2
[codex:1365317] 0017ba: PUSH2 0x258e
[codex:1365317] 0017bd: JUMP
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing initialization and call safety**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] opnames = {}
[codex:1365317] # minimal op names
[codex:1365317] for i in range(0x100):
[codex:1365317]     opnames[i] = f'OP{i:02x}'
[codex:1365317] 
[codex:1365317] # fill known names
[codex:1365317] names = {0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xfa:'STATICCALL',0x15:'ISZERO',0x50:'POP',0x57:'JUMPI',0xfd:'REVERT',0x56:'JUMP',0x52:'MSTORE',0x51:'MLOAD',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY'}
[codex:1365317] for k,v in names.items():
[codex:1365317]     opnames[k]=v
[codex:1365317] # push names
[codex:1365317] for i in range(1,33):
[codex:1365317]     opnames[0x5f+i]=f'PUSH{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x7f+i]=f'DUP{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x8f+i]=f'SWAP{i}'
[codex:1365317] for i in range(0,5):
[codex:1365317]     opnames[0xa0+i]=f'LOG{i}'
[codex:1365317] 
[codex:1365317] def disasm_at(start, nops=10):
[codex:1365317]     i=start
[codex:1365317]     out=[]
[codex:1365317]     count=0
[codex:1365317]     while i < len(code) and count < nops:
[codex:1365317]         op=code[i]
[codex:1365317]         name=opnames.get(op, f'OP{op:02x}')
[codex:1365317]         if 0x60<=op<=0x7f:
[codex:1365317]             l=op-0x5f
[codex:1365317]             data=code[i+1:i+1+l]
[codex:1365317]             out.append((i,name,data.hex()))
[codex:1365317]             i+=1+l
[codex:1365317]         else:
[codex:1365317]             out.append((i,name,''))
[codex:1365317]             i+=1
[codex:1365317]         count+=1
[codex:1365317]     return out
[codex:1365317] 
[codex:1365317] # scan for CALL
[codex:1365317] calls=[i for i,b in enumerate(code) if b==0xf1]
[codex:1365317] print('CALL count', len(calls))
[codex:1365317] # print first 10 with context
[codex:1365317] for off in calls[:10]:
[codex:1365317]     print('--- CALL at', hex(off))
[codex:1365317]     for o,name,data in disasm_at(off, nops=8):
[codex:1365317]         if data:
[codex:1365317]             print(f\" {o:06x}: {name} 0x{data}\")
[codex:1365317]         else:
[codex:1365317]             print(f\" {o:06x}: {name}\")
[codex:1365317] 
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 25ms:
[codex:1365317] CALL count 9
[codex:1365317] --- CALL at 0x865
[codex:1365317]  000865: CALL
[codex:1365317]  000866: SWAP3
[codex:1365317]  000867: POP
[codex:1365317]  000868: POP
[codex:1365317]  000869: POP
[codex:1365317]  00086a: RETURNDATASIZE
[codex:1365317]  00086b: DUP1
[codex:1365317]  00086c: OP5f
[codex:1365317] --- CALL at 0x138e
[codex:1365317]  00138e: CALL
[codex:1365317]  00138f: SWAP3
[codex:1365317]  001390: POP
[codex:1365317]  001391: POP
[codex:1365317]  001392: POP
[codex:1365317]  001393: RETURNDATASIZE
[codex:1365317]  001394: DUP1
[codex:1365317]  001395: OP5f
[codex:1365317] --- CALL at 0x28d0
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing call and delegatecall usage**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata=open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m=re.search(r'0x([0-9a-fA-F]+)',hexdata)
[codex:1365317] code=bytes.fromhex(m.group(1))
[codex:1365317] for op,name in [(0xf0,'CREATE'),(0xf5,'CREATE2')]:
[codex:1365317]     positions=[i for i,b in enumerate(code) if b==op]
[codex:1365317]     print(name,len(positions),positions[:5])
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 25ms:
[codex:1365317] CREATE 12 [247, 312, 746, 999, 1003]
[codex:1365317] CREATE2 6 [22, 101, 741, 2030, 10784]
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Reviewing bytecode analysis output format**
[codex:1365317] 
[codex:1365317] I'm organizing the findings output to a JSON schema with no_findings true and an empty findings array since no concrete issues appear in the bytecode patterns. I’m crafting a minimal summary stressing limitations of bytecode-only review and absence of obvious vulnerabilities, ensuring everything matches the expected schema.
[codex:1365317] exec
[codex:1365317] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-8ahkwqc0 succeeded in 5ms:
[codex:1365317] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Evaluating initializer exposure risks**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] # find PUSH2 0x17ca sequence
[codex:1365317] seq = bytes([0x61, 0x17, 0xca])
[codex:1365317] positions = [i for i in range(len(code)-len(seq)) if code[i:i+len(seq)]==seq]
[codex:1365317] print('positions', positions)
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 26ms:
[codex:1365317] positions [967]
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing dispatcher code segment**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] opnames = {0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1365317] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1365317] 0x20:'SHA3',
[codex:1365317] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1365317] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1365317] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1365317] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1365317] for i in range(1,33):
[codex:1365317]     opnames[0x5f+i] = f'PUSH{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x7f+i] = f'DUP{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x8f+i] = f'SWAP{i}'
[codex:1365317] for i in range(0,5):
[codex:1365317]     opnames[0xa0+i] = f'LOG{i}'
[codex:1365317] 
[codex:1365317] 
[codex:1365317] def disasm(start, end):
[codex:1365317]     i=start
[codex:1365317]     while i<end and i<len(code):
[codex:1365317]         op=code[i]
[codex:1365317]         name=opnames.get(op, f'OP{op:02x}')
[codex:1365317]         if 0x60<=op<=0x7f:
[codex:1365317]             l=op-0x5f
[codex:1365317]             data=code[i+1:i+1+l]
[codex:1365317]             print(f\"{i:06x}: {name} 0x{data.hex()}\")
[codex:1365317]             i+=1+l
[codex:1365317]         else:
[codex:1365317]             print(f\"{i:06x}: {name}\")
[codex:1365317]             i+=1
[codex:1365317] 
[codex:1365317] start=0x0380
[codex:1365317] end=0x03f0
[codex:1365317] print('--- disasm around 0x0380 ---')
[codex:1365317] disasm(start,end)
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 29ms:
[codex:1365317] --- disasm around 0x0380 ---
[codex:1365317] 000380: PUSH1 0x40
[codex:1365317] 000382: MLOAD
[codex:1365317] 000383: SWAP1
[codex:1365317] 000384: DUP2
[codex:1365317] 000385: MSTORE
[codex:1365317] 000386: PUSH1 0x20
[codex:1365317] 000388: ADD
[codex:1365317] 000389: PUSH2 0x0194
[codex:1365317] 00038c: JUMP
[codex:1365317] 00038d: JUMPDEST
[codex:1365317] 00038e: CALLVALUE
[codex:1365317] 00038f: DUP1
[codex:1365317] 000390: ISZERO
[codex:1365317] 000391: PUSH2 0x0398
[codex:1365317] 000394: JUMPI
[codex:1365317] 000395: OP5f
[codex:1365317] 000396: DUP1
[codex:1365317] 000397: REVERT
[codex:1365317] 000398: JUMPDEST
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing function dispatch and initializer exposure**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata = open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1365317] code = bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] opnames = {0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1365317] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1365317] 0x20:'SHA3',
[codex:1365317] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1365317] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1365317] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1365317] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1365317] for i in range(1,33):
[codex:1365317]     opnames[0x5f+i] = f'PUSH{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x7f+i] = f'DUP{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x8f+i] = f'SWAP{i}'
[codex:1365317] for i in range(0,5):
[codex:1365317]     opnames[0xa0+i] = f'LOG{i}'
[codex:1365317] 
[codex:1365317] def disasm(start,end):
[codex:1365317]     i=start
[codex:1365317]     while i<end and i<len(code):
[codex:1365317]         op=code[i]
[codex:1365317]         name=opnames.get(op, f'OP{op:02x}')
[codex:1365317]         if 0x60<=op<=0x7f:
[codex:1365317]             l=op-0x5f
[codex:1365317]             data=code[i+1:i+1+l]
[codex:1365317]             print(f\"{i:06x}: {name} 0x{data.hex()}\")
[codex:1365317]             i+=1+l
[codex:1365317]         else:
[codex:1365317]             print(f\"{i:06x}: {name}\")
[codex:1365317]             i+=1
[codex:1365317] 
[codex:1365317] start=0x1880
[codex:1365317] end=0x1900
[codex:1365317] print('---')
[codex:1365317] disasm(start,end)
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 23ms:
[codex:1365317] ---
[codex:1365317] 001880: ADD
[codex:1365317] 001881: STOP
[codex:1365317] 001882: OR
[codex:1365317] 001883: SWAP1
[codex:1365317] 001884: SSTORE
[codex:1365317] 001885: JUMPDEST
[codex:1365317] 001886: PUSH2 0x18a8
[codex:1365317] 001889: DUP3
[codex:1365317] 00188a: PUSH1 0x40
[codex:1365317] 00188c: MLOAD
[codex:1365317] 00188d: DUP1
[codex:1365317] 00188e: PUSH1 0x40
[codex:1365317] 001890: ADD
[codex:1365317] 001891: PUSH1 0x40
[codex:1365317] 001893: MSTORE
[codex:1365317] 001894: DUP1
[codex:1365317] 001895: PUSH1 0x01
[codex:1365317] 001897: DUP2
[codex:1365317] 001898: MSTORE
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Analyzing public initializer vulnerability**
[codex:1365317] exec
[codex:1365317] /bin/bash -lc "python - <<'PY'
[codex:1365317] import re
[codex:1365317] hexdata=open('BYTECODE_BUNDLE.txt').read()
[codex:1365317] m=re.search(r'0x([0-9a-fA-F]+)',hexdata)
[codex:1365317] code=bytes.fromhex(m.group(1))
[codex:1365317] 
[codex:1365317] opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1365317] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1365317] 0x20:'SHA3',
[codex:1365317] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1365317] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1365317] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1365317] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1365317] for i in range(1,33):
[codex:1365317]     opnames[0x5f+i]=f'PUSH{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x7f+i]=f'DUP{i}'
[codex:1365317] for i in range(1,17):
[codex:1365317]     opnames[0x8f+i]=f'SWAP{i}'
[codex:1365317] for i in range(0,5):
[codex:1365317]     opnames[0xa0+i]=f'LOG{i}'
[codex:1365317] 
[codex:1365317] def disasm(start,end):
[codex:1365317]     i=start
[codex:1365317]     while i<end and i<len(code):
[codex:1365317]         op=code[i]
[codex:1365317]         name=opnames.get(op, f'OP{op:02x}')
[codex:1365317]         if 0x60<=op<=0x7f:
[codex:1365317]             l=op-0x5f
[codex:1365317]             data=code[i+1:i+1+l]
[codex:1365317]             print(f\"{i:06x}: {name} 0x{data.hex()}\")
[codex:1365317]             i+=1+l
[codex:1365317]         else:
[codex:1365317]             print(f\"{i:06x}: {name}\")
[codex:1365317]             i+=1
[codex:1365317] 
[codex:1365317] start=0x0440
[codex:1365317] end=0x0485
[codex:1365317] print('---')
[codex:1365317] disasm(start,end)
[codex:1365317] PY" in /tmp/codex-multi-8ahkwqc0 succeeded in 24ms:
[codex:1365317] ---
[codex:1365317] 000440: SWAP2
[codex:1365317] 000441: POP
[codex:1365317] 000442: POP
[codex:1365317] 000443: JUMPDEST
[codex:1365317] 000444: SWAP3
[codex:1365317] 000445: SWAP2
[codex:1365317] 000446: POP
[codex:1365317] 000447: POP
[codex:1365317] 000448: JUMP
[codex:1365317] 000449: JUMPDEST
[codex:1365317] 00044a: PUSH2 0x0451
[codex:1365317] 00044d: PUSH2 0x1ad4
[codex:1365317] 000450: JUMP
[codex:1365317] 000451: JUMPDEST
[codex:1365317] 000452: PUSH1 0x06
[codex:1365317] 000454: SLOAD
[codex:1365317] 000455: PUSH1 0x01
[codex:1365317] 000457: PUSH1 0x01
[codex:1365317] 000459: PUSH1 0xa0
[codex:1365317] 
[codex:1365317] thinking
[codex:1365317] **Drafting access control finding and JSON output**
[codex:1365317] 
[codex:1365317] I'm working through a detailed access control issue where an unprotected initializer can let anyone become owner by setting storage slot 6. I'll include evidence with byte offsets, decide on medium severity due to conditional risk, and craft the JSON response carefully to follow the schema and instructions exactly.
[codex:1365317] codex
[codex:1365317] {"no_findings":false,"summary":"Identified one concrete access-control risk tied to an externally callable initializer path in the runtime bytecode.","findings":[{"severity":"medium","category":"access_control","title":"Initializer is publicly callable and sets privileged storage if uninitialized","exploit_scenario":"If the contract (or a proxy pointing to it) is deployed without running initialization, any external account can call the function with selector 0xf62d1888 to trigger the initializer path and set storage slot 6 to their own address, then use owner-gated functions that check against slot 6.","recommendation":"Ensure initialization is performed atomically at deployment (e.g., proxy constructor/initializer call) and/or restrict the initializer to a trusted caller or disable it on the implementation (e.g., `disableInitializers`).","evidence":"Dispatcher for selector 0xf62d1888 jumps to 0x17ca after a nonpayable check without a CALLER/owner check. The initializer path writes CALLER into slot 6 (0x18a9–0x18be SSTORE). Slot 6 is used for access control checks (0x0452–0x045f SLOAD slot6, EQ CALLER, revert on mismatch).","locations":["BYTECODE_BUNDLE.txt:5"]}]}
[codex:1365317] tokens used
[codex:1365317] 70,496
[codex:1365317] {"no_findings":false,"summary":"Identified one concrete access-control risk tied to an externally callable initializer path in the runtime bytecode.","findings":[{"severity":"medium","category":"access_control","title":"Initializer is publicly callable and sets privileged storage if uninitialized","exploit_scenario":"If the contract (or a proxy pointing to it) is deployed without running initialization, any external account can call the function with selector 0xf62d1888 to trigger the initializer path and set storage slot 6 to their own address, then use owner-gated functions that check against slot 6.","recommendation":"Ensure initialization is performed atomically at deployment (e.g., proxy constructor/initializer call) and/or restrict the initializer to a trusted caller or disable it on the implementation (e.g., `disableInitializers`).","evidence":"Dispatcher for selector 0xf62d1888 jumps to 0x17ca after a nonpayable check without a CALLER/owner check. The initializer path writes CALLER into slot 6 (0x18a9–0x18be SSTORE). Slot 6 is used for access control checks (0x0452–0x045f SLOAD slot6, EQ CALLER, revert on mismatch).","locations":["BYTECODE_BUNDLE.txt:5"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-28T19:48:13.443218+00:00",
        "returncode": 0
    },
    "summary": "Identified one concrete access-control risk tied to an externally callable initializer path in the runtime bytecode.",
    "raw_final": {
        "summary": "Identified one concrete access-control risk tied to an externally callable initializer path in the runtime bytecode.",
        "findings": [
            {
                "title": "Initializer is publicly callable and sets privileged storage if uninitialized",
                "category": "access_control",
                "evidence": "Dispatcher for selector 0xf62d1888 jumps to 0x17ca after a nonpayable check without a CALLER/owner check. The initializer path writes CALLER into slot 6 (0x18a9\u20130x18be SSTORE). Slot 6 is used for access control checks (0x0452\u20130x045f SLOAD slot6, EQ CALLER, revert on mismatch).",
                "severity": "medium",
                "locations": [
                    "BYTECODE_BUNDLE.txt:5"
                ],
                "recommendation": "Ensure initialization is performed atomically at deployment (e.g., proxy constructor/initializer call) and/or restrict the initializer to a trusted caller or disable it on the implementation (e.g., `disableInitializers`).",
                "exploit_scenario": "If the contract (or a proxy pointing to it) is deployed without running initialization, any external account can call the function with selector 0xf62d1888 to trigger the initializer path and set storage slot 6 to their own address, then use owner-gated functions that check against slot 6."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
34
EXT*/BALANCE
2
Total opcodes
11844
Flags
delegatecall_present call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0116
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x8c42f5aa
00000018: GT
00000019: PUSH2 0x0099
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xcb1eec6d
00000023: GT
00000024: PUSH2 0x0060
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xcb1eec6d
0000002e: EQ
0000002f: PUSH2 0x0350
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xdb6b5246
00000039: EQ
0000003a: PUSH2 0x0363
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xed24911d
00000044: EQ
00000045: PUSH2 0x036b
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xf2fde38b
0000004f: EQ
00000050: PUSH2 0x038d
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xf62d1888
0000005a: EQ
0000005b: PUSH2 0x03ac
0000005e: JUMPI
0000005f: STOP
00000060: JUMPDEST
00000061: DUP1
00000062: PUSH4 0x8c42f5aa
00000067: EQ
00000068: PUSH2 0x02d9
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x8da5cb5b
00000072: EQ
00000073: PUSH2 0x02ec
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xac9650d8
0000007d: EQ
0000007e: PUSH2 0x0309
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xb52c14f4
00000088: EQ
00000089: PUSH2 0x031c
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xc8b2feb2
00000093: EQ
00000094: PUSH2 0x033c
00000097: JUMPI
00000098: STOP
00000099: JUMPDEST
0000009a: DUP1
0000009b: PUSH4 0x58b8dc6c
000000a0: GT
000000a1: PUSH2 0x00dd
000000a4: JUMPI
000000a5: DUP1
000000a6: PUSH4 0x58b8dc6c
000000ab: EQ
000000ac: PUSH2 0x0231
000000af: JUMPI
000000b0: DUP1
000000b1: PUSH4 0x69328dec
000000b6: EQ
000000b7: PUSH2 0x0251
000000ba: JUMPI
000000bb: DUP1
000000bc: PUSH4 0x71061398
000000c1: EQ
000000c2: PUSH2 0x0270
000000c5: JUMPI
000000c6: DUP1
000000c7: PUSH4 0x72403331
000000cc: EQ
000000cd: PUSH2 0x0291
000000d0: JUMPI
000000d1: DUP1
000000d2: PUSH4 0x84b0196e
000000d7: EQ
000000d8: PUSH2 0x02b2
000000db: JUMPI
000000dc: STOP
000000dd: JUMPDEST
000000de: DUP1
000000df: PUSH4 0x150b7a02
000000e4: EQ
000000e5: PUSH2 0x0154
000000e8: JUMPI
000000e9: DUP1
000000ea: PUSH4 0x1626ba7e
000000ef: EQ
000000f0: PUSH2 0x019d
000000f3: JUMPI
000000f4: DUP1
000000f5: PUSH4 0x39f02d6d
000000fa: EQ
000000fb: PUSH2 0x01bc
000000fe: JUMPI
000000ff: DUP1
00000100: PUSH4 0x46739e73
00000105: EQ
00000106: PUSH2 0x01f3
00000109: JUMPI
0000010a: DUP1
0000010b: PUSH4 0x47e7ef24
00000110: EQ
00000111: PUSH2 0x0212
00000114: JUMPI
00000115: STOP
00000116: JUMPDEST
00000117: CALLDATASIZE
00000118: PUSH2 0x0152
0000011b: JUMPI
0000011c: PUSH1 0x40
0000011e: MLOAD
0000011f: CALLVALUE
00000120: DUP2
00000121: MSTORE
00000122: CALLER
00000123: SWAP1
00000124: PUSH32 0x410eba6f268aeb1b263fbec6294fd6b86a7289f0a1b4afd5dd325c89ade8565c
00000145: SWAP1
00000146: PUSH1 0x20
00000148: ADD
00000149: PUSH1 0x40
0000014b: MLOAD
0000014c: DUP1
0000014d: SWAP2
0000014e: SUB
0000014f: SWAP1
00000150: LOG2
00000151: STOP
00000152: JUMPDEST
00000153: STOP
00000154: JUMPDEST
00000155: CALLVALUE
00000156: DUP1
00000157: ISZERO
00000158: PUSH2 0x015f
0000015b: JUMPI
0000015c: PUSH0
0000015d: DUP1
0000015e: REVERT
0000015f: JUMPDEST
00000160: POP
00000161: PUSH2 0x017f
00000164: PUSH2 0x016e
00000167: CALLDATASIZE
00000168: PUSH1 0x04
0000016a: PUSH2 0x3178
0000016d: JUMP
0000016e: JUMPDEST
0000016f: PUSH4 0x0a85bd01
00000174: PUSH1 0xe1
00000176: SHL
00000177: SWAP6
00000178: SWAP5
00000179: POP
0000017a: POP
0000017b: POP
0000017c: POP
0000017d: POP
0000017e: JUMP
0000017f: JUMPDEST
00000180: PUSH1 0x40
00000182: MLOAD
00000183: PUSH1 0x01
00000185: PUSH1 0x01
00000187: PUSH1 0xe0
00000189: SHL
0000018a: SUB
0000018b: NOT
0000018c: SWAP1
0000018d: SWAP2
0000018e: AND
0000018f: DUP2
00000190: MSTORE
00000191: PUSH1 0x20
00000193: ADD
00000194: JUMPDEST
00000195: PUSH1 0x40
00000197: MLOAD
00000198: DUP1
00000199: SWAP2
0000019a: SUB
0000019b: SWAP1
0000019c: RETURN
0000019d: JUMPDEST
0000019e: CALLVALUE
0000019f: DUP1
000001a0: ISZERO
000001a1: PUSH2 0x01a8
000001a4: JUMPI
000001a5: PUSH0
000001a6: DUP1
000001a7: REVERT
000001a8: JUMPDEST
000001a9: POP
000001aa: PUSH2 0x017f
000001ad: PUSH2 0x01b7
000001b0: CALLDATASIZE
000001b1: PUSH1 0x04
000001b3: PUSH2 0x32f6
000001b6: JUMP
000001b7: JUMPDEST
000001b8: PUSH2 0x03cb
000001bb: JUMP
000001bc: JUMPDEST
000001bd: CALLVALUE
000001be: DUP1
000001bf: ISZERO
000001c0: PUSH2 0x01c7
000001c3: JUMPI
000001c4: PUSH0
000001c5: DUP1
000001c6: REVERT
000001c7: JUMPDEST
000001c8: POP
000001c9: PUSH1 0x06
000001cb: SLOAD
000001cc: PUSH2 0x01db
000001cf: SWAP1
000001d0: PUSH1 0x01
000001d2: PUSH1 0x01
000001d4: PUSH1 0xa0
000001d6: SHL
000001d7: SUB
000001d8: AND
000001d9: DUP2
000001da: JUMP
000001db: JUMPDEST
000001dc: PUSH1 0x40
000001de: MLOAD
000001df: PUSH1 0x01
000001e1: PUSH1 0x01
000001e3: PUSH1 0xa0
000001e5: SHL
000001e6: SUB
000001e7: SWAP1
000001e8: SWAP2
000001e9: AND
000001ea: DUP2
000001eb: MSTORE
000001ec: PUSH1 0x20
000001ee: ADD
000001ef: PUSH2 0x0194
000001f2: JUMP
000001f3: JUMPDEST
000001f4: CALLVALUE
000001f5: DUP1
000001f6: ISZERO
000001f7: PUSH2 0x01fe
000001fa: JUMPI
000001fb: PUSH0
000001fc: DUP1
000001fd: REVERT
000001fe: JUMPDEST
000001ff: POP
00000200: PUSH2 0x0152
00000203: PUSH2 0x020d
00000206: CALLDATASIZE
00000207: PUSH1 0x04
00000209: PUSH2 0x334c
0000020c: JUMP
0000020d: JUMPDEST
0000020e: PUSH2 0x0449
00000211: JUMP
00000212: JUMPDEST
00000213: CALLVALUE
00000214: DUP1
00000215: ISZERO
00000216: PUSH2 0x021d
00000219: JUMPI
0000021a: PUSH0
0000021b: DUP1
0000021c: REVERT
0000021d: JUMPDEST
0000021e: POP
0000021f: PUSH2 0x0152
00000222: PUSH2 0x022c
00000225: CALLDATASIZE
00000226: PUSH1 0x04
00000228: PUSH2 0x338a
0000022b: JUMP
0000022c: JUMPDEST
0000022d: PUSH2 0x04c2
00000230: JUMP
00000231: JUMPDEST
00000232: PUSH2 0x0244
00000235: PUSH2 0x023f
00000238: CALLDATASIZE
00000239: PUSH1 0x04
0000023b: PUSH2 0x33f4
0000023e: JUMP
0000023f: JUMPDEST
00000240: PUSH2 0x0588
00000243: JUMP
00000244: JUMPDEST
00000245: PUSH1 0x40
00000247: MLOAD
00000248: PUSH2 0x0194
0000024b: SWAP2
0000024c: SWAP1
0000024d: PUSH2 0x3474
00000250: JUMP
00000251: JUMPDEST
00000252: CALLVALUE
00000253: DUP1
00000254: ISZERO
00000255: PUSH2 0x025c
00000258: JUMPI
00000259: PUSH0
0000025a: DUP1
0000025b: REVERT
0000025c: JUMPDEST
0000025d: POP
0000025e: PUSH2 0x0152
00000261: PUSH2 0x026b
00000264: CALLDATASIZE
00000265: PUSH1 0x04
00000267: PUSH2 0x34d7
0000026a: JUMP
0000026b: JUMPDEST
0000026c: PUSH2 0x06f3
0000026f: JUMP
00000270: JUMPDEST
00000271: CALLVALUE
00000272: DUP1
00000273: ISZERO
00000274: PUSH2 0x027b
00000277: JUMPI
00000278: PUSH0
00000279: DUP1
0000027a: REVERT
0000027b: JUMPDEST
0000027c: POP
0000027d: PUSH2 0x0284
00000280: PUSH2 0x0987
00000283: JUMP
00000284: JUMPDEST
00000285: PUSH1 0x40
00000287: MLOAD
00000288: PUSH2 0x0194
0000028b: SWAP2
0000028c: SWAP1
0000028d: PUSH2 0x350b
00000290: JUMP
00000291: JUMPDEST
00000292: CALLVALUE
00000293: DUP1
00000294: ISZERO
00000295: PUSH2 0x029c
00000298: JUMPI
00000299: PUSH0
0000029a: DUP1
0000029b: REVERT
0000029c: JUMPDEST
0000029d: POP
0000029e: PUSH2 0x02a5
000002a1: PUSH2 0x0b71
000002a4: JUMP
000002a5: JUMPDEST
000002a6: PUSH1 0x40
000002a8: MLOAD
000002a9: PUSH2 0x0194
000002ac: SWAP2
000002ad: SWAP1
000002ae: PUSH2 0x354d
000002b1: JUMP
000002b2: JUMPDEST
000002b3: CALLVALUE
000002b4: DUP1
000002b5: ISZERO
000002b6: PUSH2 0x02bd
000002b9: JUMPI
000002ba: PUSH0
000002bb: DUP1
000002bc: REVERT
000002bd: JUMPDEST
000002be: POP
000002bf: PUSH2 0x02c6
000002c2: PUSH2 0x0b80
000002c5: JUMP
000002c6: JUMPDEST
000002c7: PUSH1 0x40
000002c9: MLOAD
000002ca: PUSH2 0x0194
000002cd: SWAP8
000002ce: SWAP7
000002cf: SWAP6
000002d0: SWAP5
000002d1: SWAP4
000002d2: SWAP3
000002d3: SWAP2
000002d4: SWAP1
000002d5: PUSH2 0x355f
000002d8: JUMP
000002d9: JUMPDEST
000002da: PUSH2 0x0244
000002dd: PUSH2 0x02e7
000002e0: CALLDATASIZE
000002e1: PUSH1 0x04
000002e3: PUSH2 0x35f5
000002e6: JUMP
000002e7: JUMPDEST
000002e8: PUSH2 0x0cf0
000002eb: JUMP
000002ec: JUMPDEST
000002ed: CALLVALUE
000002ee: DUP1
000002ef: ISZERO
000002f0: PUSH2 0x02f7
000002f3: JUMPI
000002f4: PUSH0
000002f5: DUP1
000002f6: REVERT
000002f7: JUMPDEST
000002f8: POP
000002f9: PUSH1 0x02
000002fb: SLOAD
000002fc: PUSH1 0x01
000002fe: PUSH1 0x01
00000300: PUSH1 0xa0
00000302: SHL
00000303: SUB
00000304: AND
00000305: PUSH2 0x01db
00000308: JUMP
00000309: JUMPDEST
0000030a: PUSH2 0x0244
0000030d: PUSH2 0x0317
00000310: CALLDATASIZE
00000311: PUSH1 0x04
00000313: PUSH2 0x3691
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH2 0x0dab
0000031b: JUMP
0000031c: JUMPDEST
0000031d: CALLVALUE
0000031e: DUP1
0000031f: ISZERO
00000320: PUSH2 0x0327
00000323: JUMPI
00000324: PUSH0
00000325: DUP1
00000326: REVERT
00000327: JUMPDEST
00000328: POP
00000329: PUSH0
0000032a: SLOAD
0000032b: PUSH1 0x40
0000032d: MLOAD
0000032e: PUSH1 0xff
00000330: SWAP1
00000331: SWAP2
00000332: AND
00000333: DUP2
00000334: MSTORE
00000335: PUSH1 0x20
00000337: ADD
00000338: PUSH2 0x0194
0000033b: JUMP
0000033c: JUMPDEST
0000033d: CALLVALUE
0000033e: DUP1
0000033f: ISZERO
00000340: PUSH2 0x0347
00000343: JUMPI
00000344: PUSH0
00000345: DUP1
00000346: REVERT
00000347: JUMPDEST
00000348: POP
00000349: PUSH2 0x02a5
0000034c: PUSH2 0x0efa
0000034f: JUMP
00000350: JUMPDEST
00000351: PUSH2 0x02a5
00000354: PUSH2 0x035e
00000357: CALLDATASIZE
00000358: PUSH1 0x04
0000035a: PUSH2 0x36c3
0000035d: JUMP
0000035e: JUMPDEST
0000035f: PUSH2 0x0f04
00000362: JUMP
00000363: JUMPDEST
00000364: PUSH2 0x0152
00000367: PUSH2 0x16b1
0000036a: JUMP
0000036b: JUMPDEST
0000036c: CALLVALUE
0000036d: DUP1
0000036e: ISZERO
0000036f: PUSH2 0x0376
00000372: JUMPI
00000373: PUSH0
00000374: DUP1
00000375: REVERT
00000376: JUMPDEST
00000377: POP
00000378: PUSH2 0x037f
0000037b: PUSH2 0x1778
0000037e: JUMP
0000037f: JUMPDEST
00000380: PUSH1 0x40
00000382: MLOAD
00000383: SWAP1
00000384: DUP2
00000385: MSTORE
00000386: PUSH1 0x20
00000388: ADD
00000389: PUSH2 0x0194
0000038c: JUMP
0000038d: JUMPDEST
0000038e: CALLVALUE
0000038f: DUP1
00000390: ISZERO
00000391: PUSH2 0x0398
00000394: JUMPI
00000395: PUSH0
00000396: DUP1
00000397: REVERT
00000398: JUMPDEST
00000399: POP
0000039a: PUSH2 0x0152
0000039d: PUSH2 0x03a7
000003a0: CALLDATASIZE
000003a1: PUSH1 0x04
000003a3: PUSH2 0x370a
000003a6: JUMP
000003a7: JUMPDEST
000003a8: PUSH2 0x1782
000003ab: JUMP
000003ac: JUMPDEST
000003ad: CALLVALUE
000003ae: DUP1
000003af: ISZERO
000003b0: PUSH2 0x03b7
000003b3: JUMPI
000003b4: PUSH0
000003b5: DUP1
000003b6: REVERT
000003b7: JUMPDEST
000003b8: POP
000003b9: PUSH2 0x0152
000003bc: PUSH2 0x03c6
000003bf: CALLDATASIZE
000003c0: PUSH1 0x04
000003c2: PUSH2 0x3725
000003c5: JUMP
000003c6: JUMPDEST
000003c7: PUSH2 0x17ca
000003ca: JUMP
000003cb: JUMPDEST
000003cc: PUSH0
000003cd: DUP1
000003ce: PUSH0
000003cf: PUSH2 0x03d8
000003d2: DUP6
000003d3: DUP6
000003d4: PUSH2 0x1912
000003d7: JUMP
000003d8: JUMPDEST
000003d9: SWAP1
000003da: SWAP3
000003db: POP
000003dc: SWAP1
000003dd: POP
000003de: PUSH0
000003df: DUP2
000003e0: PUSH1 0x04
000003e2: DUP2
000003e3: GT
000003e4: ISZERO
000003e5: PUSH2 0x03f0
000003e8: JUMPI
000003e9: PUSH2 0x03f0
000003ec: PUSH2 0x3769
000003ef: JUMP
000003f0: JUMPDEST
000003f1: EQ
000003f2: PUSH2 0x0408
000003f5: JUMPI
000003f6: POP
000003f7: PUSH1 0x01
000003f9: PUSH1 0x01
000003fb: PUSH1 0xe0
000003fd: SHL
000003fe: SUB
000003ff: NOT
00000400: SWAP2
00000401: POP
00000402: PUSH2 0x0443
00000405: SWAP1
00000406: POP
00000407: JUMP
00000408: JUMPDEST
00000409: PUSH2 0x0419
0000040c: DUP3
0000040d: PUSH4 0x0b135d3f
00000412: PUSH1 0xe1
00000414: SHL
00000415: PUSH2 0x1954
00000418: JUMP
00000419: JUMPDEST
0000041a: PUSH2 0x0436
0000041d: JUMPI
0000041e: PUSH1 0x40
00000420: MLOAD
00000421: PUSH4 0x07824841
00000426: PUSH1 0xe2
00000428: SHL
00000429: DUP2
0000042a: MSTORE
0000042b: PUSH1 0x04
0000042d: ADD
0000042e: PUSH1 0x40
00000430: MLOAD
00000431: DUP1
00000432: SWAP2
00000433: SUB
00000434: SWAP1
00000435: REVERT
00000436: JUMPDEST
00000437: POP
00000438: PUSH4 0x0b135d3f
0000043d: PUSH1 0xe1
0000043f: SHL
00000440: SWAP2
00000441: POP
00000442: POP
00000443: JUMPDEST
00000444: SWAP3
00000445: SWAP2
00000446: POP
00000447: POP
00000448: JUMP
00000449: JUMPDEST
0000044a: PUSH2 0x0451
0000044d: PUSH2 0x1ad4
00000450: JUMP
00000451: JUMPDEST
00000452: PUSH1 0x06
00000454: SLOAD
00000455: PUSH1 0x01
00000457: PUSH1 0x01
00000459: PUSH1 0xa0
0000045b: SHL
0000045c: SUB
0000045d: AND
0000045e: CALLER
0000045f: EQ
00000460: PUSH2 0x047c
00000463: JUMPI
00000464: PUSH1 0x40
00000466: MLOAD
00000467: PUSH4 0x73542321
0000046c: PUSH1 0xe1
0000046e: SHL
0000046f: DUP2
00000470: MSTORE
00000471: PUSH1 0x04
00000473: ADD
00000474: PUSH1 0x40
00000476: MLOAD
00000477: DUP1
00000478: SWAP2
00000479: SUB
0000047a: SWAP1
0000047b: REVERT
0000047c: JUMPDEST
0000047d: PUSH32 0x2efd77dd47a20bca0526b7f9831c54b02d87b6b22a91ae58c54ce68094c292cd
0000049e: DUP3
0000049f: DUP3
000004a0: PUSH1 0x40
000004a2: MLOAD
000004a3: PUSH2 0x04ad
000004a6: SWAP3
000004a7: SWAP2
000004a8: SWAP1
000004a9: PUSH2 0x37a5
000004ac: JUMP
000004ad: JUMPDEST
000004ae: PUSH1 0x40
000004b0: MLOAD
000004b1: DUP1
000004b2: SWAP2
000004b3: SUB
000004b4: SWAP1
000004b5: LOG1
000004b6: PUSH2 0x04be
000004b9: PUSH1 0x01
000004bb: DUP1
000004bc: SSTORE
000004bd: JUMP
000004be: JUMPDEST
000004bf: POP
000004c0: POP
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH2 0x04ca
000004c6: PUSH2 0x1ad4
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH1 0x06
000004cd: SLOAD
000004ce: PUSH1 0x01
000004d0: PUSH1 0x01
000004d2: PUSH1 0xa0
000004d4: SHL
000004d5: SUB
000004d6: AND
000004d7: PUSH2 0x04f3
000004da: JUMPI
000004db: PUSH1 0x40
000004dd: MLOAD
000004de: PUSH4 0xd311bc39
000004e3: PUSH1 0xe0
000004e5: SHL
000004e6: DUP2
000004e7: MSTORE
000004e8: PUSH1 0x04
000004ea: ADD
000004eb: PUSH1 0x40
000004ed: MLOAD
000004ee: DUP1
000004ef: SWAP2
000004f0: SUB
000004f1: SWAP1
000004f2: REVERT
000004f3: JUMPDEST
000004f4: PUSH1 0x02
000004f6: SLOAD
000004f7: PUSH1 0x01
000004f9: PUSH1 0x01
000004fb: PUSH1 0xa0
000004fd: SHL
000004fe: SUB
000004ff: AND
00000500: CALLER
00000501: EQ
00000502: PUSH2 0x0533
00000505: JUMPI
00000506: PUSH2 0x0516
00000509: CALLER
0000050a: PUSH4 0x11f9fbc9
0000050f: PUSH1 0xe2
00000511: SHL
00000512: PUSH2 0x1954
00000515: JUMP
00000516: JUMPDEST
00000517: PUSH2 0x0533
0000051a: JUMPI
0000051b: PUSH1 0x40
0000051d: MLOAD
0000051e: PUSH4 0x07824841
00000523: PUSH1 0xe2
00000525: SHL
00000526: DUP2
00000527: MSTORE
00000528: PUSH1 0x04
0000052a: ADD
0000052b: PUSH1 0x40
0000052d: MLOAD
0000052e: DUP1
0000052f: SWAP2
00000530: SUB
00000531: SWAP1
00000532: REVERT
00000533: JUMPDEST
00000534: PUSH2 0x053f
00000537: DUP3
00000538: CALLER
00000539: ADDRESS
0000053a: DUP5
0000053b: PUSH2 0x1afe
0000053e: JUMP
0000053f: JUMPDEST
00000540: PUSH1 0x40
00000542: MLOAD
00000543: DUP2
00000544: DUP2
00000545: MSTORE
00000546: CALLER
00000547: SWAP1
00000548: PUSH1 0x01
0000054a: PUSH1 0x01
0000054c: PUSH1 0xa0
0000054e: SHL
0000054f: SUB
00000550: DUP5
00000551: AND
00000552: SWAP1
00000553: PUSH32 0x5136d247c82e28135f2f6969f083c19ee849ea93b1e9aa54b8f2c6207c4aa7dd
00000574: SWAP1
00000575: PUSH1 0x20
00000577: ADD
00000578: PUSH1 0x40
0000057a: MLOAD
0000057b: DUP1
0000057c: SWAP2
0000057d: SUB
0000057e: SWAP1
0000057f: LOG3
00000580: PUSH2 0x04be
00000583: PUSH1 0x01
00000585: DUP1
00000586: SSTORE
00000587: JUMP
00000588: JUMPDEST
00000589: PUSH1 0x06
0000058b: SLOAD
0000058c: PUSH1 0x60
0000058e: SWAP1
0000058f: PUSH1 0x01
00000591: PUSH1 0x01
00000593: PUSH1 0xa0
00000595: SHL
00000596: SUB
00000597: AND
00000598: PUSH2 0x05b4
0000059b: JUMPI
0000059c: PUSH1 0x40
0000059e: MLOAD
0000059f: PUSH4 0xd311bc39
000005a4: PUSH1 0xe0
000005a6: SHL
000005a7: DUP2
000005a8: MSTORE
000005a9: PUSH1 0x04
000005ab: ADD
000005ac: PUSH1 0x40
000005ae: MLOAD
000005af: DUP1
000005b0: SWAP2
000005b1: SUB
000005b2: SWAP1
000005b3: REVERT
000005b4: JUMPDEST
000005b5: PUSH0
000005b6: GAS
000005b7: SWAP1
000005b8: POP
000005b9: PUSH0
000005ba: DUP5
000005bb: SWAP1
000005bc: SUB
000005bd: PUSH2 0x05d9
000005c0: JUMPI
000005c1: PUSH1 0x40
000005c3: MLOAD
000005c4: PUSH4 0x175a3d1f
000005c9: PUSH1 0xe3
000005cb: SHL
000005cc: DUP2
000005cd: MSTORE
000005ce: PUSH1 0x04
000005d0: ADD
000005d1: PUSH1 0x40
000005d3: MLOAD
000005d4: DUP1
000005d5: SWAP2
000005d6: SUB
000005d7: SWAP1
000005d8: REVERT
000005d9: JUMPDEST
000005da: PUSH1 0x06
000005dc: SLOAD
000005dd: PUSH1 0x40
000005df: MLOAD
000005e0: PUSH4 0x12315605
000005e5: PUSH1 0xe3
000005e7: SHL
000005e8: DUP2
000005e9: MSTORE
000005ea: CALLER
000005eb: PUSH1 0x04
000005ed: DUP3
000005ee: ADD
000005ef: MSTORE
000005f0: PUSH0
000005f1: PUSH1 0x24
000005f3: DUP3
000005f4: ADD
000005f5: DUP2
000005f6: SWAP1
000005f7: MSTORE
000005f8: SWAP2
000005f9: PUSH1 0x01
000005fb: PUSH1 0x01
000005fd: PUSH1 0xa0
000005ff: SHL
00000600: SUB
00000601: AND
00000602: SWAP1
00000603: PUSH4 0x918ab028
00000608: SWAP1
00000609: PUSH1 0x44
0000060b: ADD
0000060c: PUSH1 0x20
0000060e: PUSH1 0x40
00000610: MLOAD
00000611: DUP1
00000612: DUP4
00000613: SUB
00000614: DUP2
00000615: DUP7
00000616: GAS
00000617: STATICCALL
00000618: ISZERO
00000619: DUP1
0000061a: ISZERO
0000061b: PUSH2 0x0626
0000061e: JUMPI
0000061f: RETURNDATASIZE
00000620: PUSH0
00000621: DUP1
00000622: RETURNDATACOPY
00000623: RETURNDATASIZE
00000624: PUSH0
00000625: REVERT
00000626: JUMPDEST
00000627: POP
00000628: POP
00000629: POP
0000062a: POP
0000062b: PUSH1 0x40
0000062d: MLOAD
0000062e: RETURNDATASIZE
0000062f: PUSH1 0x1f
00000631: NOT
00000632: PUSH1 0x1f
00000634: DUP3
00000635: ADD
00000636: AND
00000637: DUP3
00000638: ADD
00000639: DUP1
0000063a: PUSH1 0x40
0000063c: MSTORE
0000063d: POP
0000063e: DUP2
0000063f: ADD
00000640: SWAP1
00000641: PUSH2 0x064a
00000644: SWAP2
00000645: SWAP1
00000646: PUSH2 0x37b8
00000649: JUMP
0000064a: JUMPDEST
0000064b: PUSH1 0x06
0000064d: SLOAD
0000064e: PUSH1 0x40
00000650: MLOAD
00000651: PUSH4 0x306999fb
00000656: PUSH1 0xe2
00000658: SHL
00000659: DUP2
0000065a: MSTORE
0000065b: PUSH1 0x04
0000065d: DUP2
0000065e: ADD
0000065f: DUP4
00000660: SWAP1
00000661: MSTORE
00000662: SWAP2
00000663: SWAP3
00000664: POP
00000665: PUSH1 0x01
00000667: PUSH1 0x01
00000669: PUSH1 0xa0
0000066b: SHL
0000066c: SUB
0000066d: AND
0000066e: SWAP1
0000066f: PUSH4 0xc1a667ec
00000674: SWAP1
00000675: PUSH1 0x24
00000677: ADD
00000678: PUSH1 0x20
0000067a: PUSH1 0x40
0000067c: MLOAD
0000067d: DUP1
0000067e: DUP4
0000067f: SUB
00000680: DUP2
00000681: DUP7
00000682: GAS
00000683: STATICCALL
00000684: ISZERO
00000685: DUP1
00000686: ISZERO
00000687: PUSH2 0x0692
0000068a: JUMPI
0000068b: RETURNDATASIZE
0000068c: PUSH0
0000068d: DUP1
0000068e: RETURNDATACOPY
0000068f: RETURNDATASIZE
00000690: PUSH0
00000691: REVERT
00000692: JUMPDEST
00000693: POP
00000694: POP
00000695: POP
00000696: POP
00000697: PUSH1 0x40
00000699: MLOAD
0000069a: RETURNDATASIZE
0000069b: PUSH1 0x1f
0000069d: NOT
0000069e: PUSH1 0x1f
000006a0: DUP3
000006a1: ADD
000006a2: AND
000006a3: DUP3
000006a4: ADD
000006a5: DUP1
000006a6: PUSH1 0x40
000006a8: MSTORE
000006a9: POP
000006aa: DUP2
000006ab: ADD
000006ac: SWAP1
000006ad: PUSH2 0x06b6
000006b0: SWAP2
000006b1: SWAP1
000006b2: PUSH2 0x37cf
000006b5: JUMP
000006b6: JUMPDEST
000006b7: PUSH2 0x06d3
000006ba: JUMPI
000006bb: PUSH1 0x40
000006bd: MLOAD
000006be: PUSH4 0x07824841
000006c3: PUSH1 0xe2
000006c5: SHL
000006c6: DUP2
000006c7: MSTORE
000006c8: PUSH1 0x04
000006ca: ADD
000006cb: PUSH1 0x40
000006cd: MLOAD
000006ce: DUP1
000006cf: SWAP2
000006d0: SUB
000006d1: SWAP1
000006d2: REVERT
000006d3: JUMPDEST
000006d4: PUSH2 0x06dd
000006d7: DUP7
000006d8: DUP7
000006d9: PUSH2 0x0dab
000006dc: JUMP
000006dd: JUMPDEST
000006de: SWAP3
000006df: POP
000006e0: PUSH2 0x06e9
000006e3: DUP3
000006e4: DUP6
000006e5: PUSH2 0x1b6f
000006e8: JUMP
000006e9: JUMPDEST
000006ea: POP
000006eb: POP
000006ec: JUMPDEST
000006ed: SWAP4
000006ee: SWAP3
000006ef: POP
000006f0: POP
000006f1: POP
000006f2: JUMP
000006f3: JUMPDEST
000006f4: PUSH2 0x06fb
000006f7: PUSH2 0x1ad4
000006fa: JUMP
000006fb: JUMPDEST
000006fc: PUSH1 0x06
000006fe: SLOAD
000006ff: PUSH1 0x01
00000701: PUSH1 0x01
00000703: PUSH1 0xa0
00000705: SHL
00000706: SUB
00000707: AND
00000708: PUSH2 0x0724
0000070b: JUMPI
0000070c: PUSH1 0x40
0000070e: MLOAD
0000070f: PUSH4 0xd311bc39
00000714: PUSH1 0xe0
00000716: SHL
00000717: DUP2
00000718: MSTORE
00000719: PUSH1 0x04
0000071b: ADD
0000071c: PUSH1 0x40
0000071e: MLOAD
0000071f: DUP1
00000720: SWAP2
00000721: SUB
00000722: SWAP1
00000723: REVERT
00000724: JUMPDEST
00000725: PUSH1 0x01
00000727: PUSH1 0x01
00000729: PUSH1 0xa0
0000072b: SHL
0000072c: SUB
0000072d: DUP2
0000072e: AND
0000072f: PUSH2 0x074b
00000732: JUMPI
00000733: PUSH1 0x40
00000735: MLOAD
00000736: PUSH4 0x03ecae49
0000073b: PUSH1 0xe2
0000073d: SHL
0000073e: DUP2
0000073f: MSTORE
00000740: PUSH1 0x04
00000742: ADD
00000743: PUSH1 0x40
00000745: MLOAD
00000746: DUP1
00000747: SWAP2
00000748: SUB
00000749: SWAP1
0000074a: REVERT
0000074b: JUMPDEST
0000074c: PUSH1 0x02
0000074e: SLOAD
0000074f: PUSH1 0x01
00000751: PUSH1 0x01
00000753: PUSH1 0xa0
00000755: SHL
00000756: SUB
00000757: AND
00000758: CALLER
00000759: EQ
0000075a: PUSH2 0x078b
0000075d: JUMPI
0000075e: PUSH2 0x076e
00000761: CALLER
00000762: PUSH4 0x1a4ca37b
00000767: PUSH1 0xe2
00000769: SHL
0000076a: PUSH2 0x1954
0000076d: JUMP
0000076e: JUMPDEST
0000076f: PUSH2 0x078b
00000772: JUMPI
00000773: PUSH1 0x40
00000775: MLOAD
00000776: PUSH4 0x07824841
0000077b: PUSH1 0xe2
0000077d: SHL
0000077e: DUP2
0000077f: MSTORE
00000780: PUSH1 0x04
00000782: ADD
00000783: PUSH1 0x40
00000785: MLOAD
00000786: DUP1
00000787: SWAP2
00000788: SUB
00000789: SWAP1
0000078a: REVERT
0000078b: JUMPDEST
0000078c: PUSH1 0x06
0000078e: SLOAD
0000078f: PUSH1 0x40
00000791: MLOAD
00000792: PUSH4 0x33e14c05
00000797: PUSH1 0xe1
00000799: SHL
0000079a: DUP2
0000079b: MSTORE
0000079c: ADDRESS
0000079d: PUSH1 0x04
0000079f: DUP3
000007a0: ADD
000007a1: MSTORE
000007a2: PUSH1 0x01
000007a4: PUSH1 0x01
000007a6: PUSH1 0xa0
000007a8: SHL
000007a9: SUB
000007aa: SWAP1
000007ab: SWAP2
000007ac: AND
000007ad: SWAP1
000007ae: PUSH4 0x67c2980a
000007b3: SWAP1
000007b4: PUSH1 0x24
000007b6: ADD
000007b7: PUSH1 0x20
000007b9: PUSH1 0x40
000007bb: MLOAD
000007bc: DUP1
000007bd: DUP4
000007be: SUB
000007bf: DUP2
000007c0: DUP7
000007c1: GAS
000007c2: STATICCALL
000007c3: ISZERO
000007c4: DUP1
000007c5: ISZERO
000007c6: PUSH2 0x07d1
000007c9: JUMPI
000007ca: RETURNDATASIZE
000007cb: PUSH0
000007cc: DUP1
000007cd: RETURNDATACOPY
000007ce: RETURNDATASIZE
000007cf: PUSH0
000007d0: REVERT
000007d1: JUMPDEST
000007d2: POP
000007d3: POP
000007d4: POP
000007d5: POP
000007d6: PUSH1 0x40
000007d8: MLOAD
000007d9: RETURNDATASIZE
000007da: PUSH1 0x1f
000007dc: NOT
000007dd: PUSH1 0x1f
000007df: DUP3
000007e0: ADD
000007e1: AND
000007e2: DUP3
000007e3: ADD
000007e4: DUP1
000007e5: PUSH1 0x40
000007e7: MSTORE
000007e8: POP
000007e9: DUP2
000007ea: ADD
000007eb: SWAP1
000007ec: PUSH2 0x07f5
000007ef: SWAP2
000007f0: SWAP1
000007f1: PUSH2 0x37cf
000007f4: JUMP
000007f5: JUMPDEST
000007f6: ISZERO
000007f7: PUSH2 0x0813
000007fa: JUMPI
000007fb: PUSH1 0x40
000007fd: MLOAD
000007fe: PUSH4 0x06ae29cb
00000803: PUSH1 0xe1
00000805: SHL
00000806: DUP2
00000807: MSTORE
00000808: PUSH1 0x04
0000080a: ADD
0000080b: PUSH1 0x40
0000080d: MLOAD
0000080e: DUP1
0000080f: SWAP2
00000810: SUB
00000811: SWAP1
00000812: REVERT
00000813: JUMPDEST
00000814: PUSH1 0x01
00000816: PUSH1 0x01
00000818: PUSH1 0xa0
0000081a: SHL
0000081b: SUB
0000081c: DUP4
0000081d: AND
0000081e: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000833: EQ
00000834: DUP1
00000835: PUSH2 0x0845
00000838: JUMPI
00000839: POP
0000083a: PUSH1 0x01
0000083c: PUSH1 0x01
0000083e: PUSH1 0xa0
00000840: SHL
00000841: SUB
00000842: DUP4
00000843: AND
00000844: ISZERO
00000845: JUMPDEST
00000846: ISZERO
00000847: PUSH2 0x0916
0000084a: JUMPI
0000084b: PUSH0
0000084c: DUP2
0000084d: PUSH1 0x01
0000084f: PUSH1 0x01
00000851: PUSH1 0xa0
00000853: SHL
00000854: SUB
00000855: AND
00000856: DUP4
00000857: PUSH1 0x40
00000859: MLOAD
0000085a: PUSH0
0000085b: PUSH1 0x40
0000085d: MLOAD
0000085e: DUP1
0000085f: DUP4
00000860: SUB
00000861: DUP2
00000862: DUP6
00000863: DUP8
00000864: GAS
00000865: CALL
00000866: SWAP3
00000867: POP
00000868: POP
00000869: POP
0000086a: RETURNDATASIZE
0000086b: DUP1
0000086c: PUSH0
0000086d: DUP2
0000086e: EQ
0000086f: PUSH2 0x0893
00000872: JUMPI
00000873: PUSH1 0x40
00000875: MLOAD
00000876: SWAP2
00000877: POP
00000878: PUSH1 0x1f
0000087a: NOT
0000087b: PUSH1 0x3f
0000087d: RETURNDATASIZE
0000087e: ADD
0000087f: AND
00000880: DUP3
00000881: ADD
00000882: PUSH1 0x40
00000884: MSTORE
00000885: RETURNDATASIZE
00000886: DUP3
00000887: MSTORE
00000888: RETURNDATASIZE
00000889: PUSH0
0000088a: PUSH1 0x20
0000088c: DUP5
0000088d: ADD
0000088e: RETURNDATACOPY
0000088f: PUSH2 0x0898
00000892: JUMP
00000893: JUMPDEST
00000894: PUSH1 0x60
00000896: SWAP2
00000897: POP
00000898: JUMPDEST
00000899: POP
0000089a: POP
0000089b: SWAP1
0000089c: POP
0000089d: DUP1
0000089e: PUSH2 0x08ba
000008a1: JUMPI
000008a2: PUSH1 0x40
000008a4: MLOAD
000008a5: PUSH4 0x3d2cec6f
000008aa: PUSH1 0xe2
000008ac: SHL
000008ad: DUP2
000008ae: MSTORE
000008af: PUSH1 0x04
000008b1: ADD
000008b2: PUSH1 0x40
000008b4: MLOAD
000008b5: DUP1
000008b6: SWAP2
000008b7: SUB
000008b8: SWAP1
000008b9: REVERT
000008ba: JUMPDEST
000008bb: PUSH1 0x40
000008bd: MLOAD
000008be: DUP4
000008bf: DUP2
000008c0: MSTORE
000008c1: CALLER
000008c2: SWAP1
000008c3: PUSH1 0x01
000008c5: PUSH1 0x01
000008c7: PUSH1 0xa0
000008c9: SHL
000008ca: SUB
000008cb: DUP5
000008cc: AND
000008cd: SWAP1
000008ce: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000008e3: SWAP1
000008e4: PUSH32 0x108ca74dd2a8cdf809a887671af83303a5ab97b8753781eb798465631652befe
00000905: SWAP1
00000906: PUSH1 0x20
00000908: ADD
00000909: PUSH1 0x40
0000090b: MLOAD
0000090c: DUP1
0000090d: SWAP2
0000090e: SUB
0000090f: SWAP1
00000910: LOG4
00000911: POP
00000912: PUSH2 0x0979
00000915: JUMP
00000916: JUMPDEST
00000917: PUSH2 0x0921
0000091a: DUP4
0000091b: DUP3
0000091c: DUP5
0000091d: PUSH2 0x1ece
00000920: JUMP
00000921: JUMPDEST
00000922: CALLER
00000923: PUSH1 0x01
00000925: PUSH1 0x01
00000927: PUSH1 0xa0
00000929: SHL
0000092a: SUB
0000092b: AND
0000092c: DUP2
0000092d: PUSH1 0x01
0000092f: PUSH1 0x01
00000931: PUSH1 0xa0
00000933: SHL
00000934: SUB
00000935: AND
00000936: DUP5
00000937: PUSH1 0x01
00000939: PUSH1 0x01
0000093b: PUSH1 0xa0
0000093d: SHL
0000093e: SUB
0000093f: AND
00000940: PUSH32 0x108ca74dd2a8cdf809a887671af83303a5ab97b8753781eb798465631652befe
00000961: DUP6
00000962: PUSH1 0x40
00000964: MLOAD
00000965: PUSH2 0x0970
00000968: SWAP2
00000969: DUP2
0000096a: MSTORE
0000096b: PUSH1 0x20
0000096d: ADD
0000096e: SWAP1
0000096f: JUMP
00000970: JUMPDEST
00000971: PUSH1 0x40
00000973: MLOAD
00000974: DUP1
00000975: SWAP2
00000976: SUB
00000977: SWAP1
00000978: LOG4
00000979: JUMPDEST
0000097a: PUSH2 0x0982
0000097d: PUSH1 0x01
0000097f: DUP1
00000980: SSTORE
00000981: JUMP
00000982: JUMPDEST
00000983: POP
00000984: POP
00000985: POP
00000986: JUMP
00000987: JUMPDEST
00000988: PUSH1 0x40
0000098a: DUP1
0000098b: MLOAD
0000098c: PUSH1 0x07
0000098e: DUP1
0000098f: DUP3
00000990: MSTORE
00000991: PUSH2 0x0100
00000994: DUP3
00000995: ADD
00000996: SWAP1
00000997: SWAP3
00000998: MSTORE
00000999: PUSH1 0x60
0000099b: SWAP2
0000099c: PUSH0
0000099d: SWAP2
0000099e: SWAP1
0000099f: PUSH1 0x20
000009a1: DUP3
000009a2: ADD
000009a3: PUSH1 0xe0
000009a5: DUP1
000009a6: CALLDATASIZE
000009a7: DUP4
000009a8: CALLDATACOPY
000009a9: ADD
000009aa: SWAP1
000009ab: POP
000009ac: POP
000009ad: SWAP1
000009ae: POP
000009af: PUSH32 0xa1355dd41f15a95ecd1d69947cd354e0ee3548640b9d1efa558da0764d8ac88c
000009d0: DUP2
000009d1: PUSH0
000009d2: DUP2
000009d3: MLOAD
000009d4: DUP2
000009d5: LT
000009d6: PUSH2 0x09e1
000009d9: JUMPI
000009da: PUSH2 0x09e1
000009dd: PUSH2 0x37ee
000009e0: JUMP
000009e1: JUMPDEST
000009e2: PUSH1 0x20
000009e4: MUL
000009e5: PUSH1 0x20
000009e7: ADD
000009e8: ADD
000009e9: DUP2
000009ea: DUP2
000009eb: MSTORE
000009ec: POP
000009ed: POP
000009ee: PUSH32 0x21ae39e7749abe1280ca85620d8d5ea8847209d0d2b911ce4e03e428674ba82f
00000a0f: DUP2
00000a10: PUSH1 0x01
00000a12: DUP2
00000a13: MLOAD
00000a14: DUP2
00000a15: LT
00000a16: PUSH2 0x0a21
00000a19: JUMPI
00000a1a: PUSH2 0x0a21
00000a1d: PUSH2 0x37ee
00000a20: JUMP
00000a21: JUMPDEST
00000a22: PUSH1 0x20
00000a24: MUL
00000a25: PUSH1 0x20
00000a27: ADD
00000a28: ADD
00000a29: DUP2
00000a2a: DUP2
00000a2b: MSTORE
00000a2c: POP
00000a2d: POP
00000a2e: PUSH32 0xc9a4a6cd676ac95ddb937b6c21090ec28bc76d3ad271bd20e0e812676784c901
00000a4f: DUP2
00000a50: PUSH1 0x02
00000a52: DUP2
00000a53: MLOAD
00000a54: DUP2
00000a55: LT
00000a56: PUSH2 0x0a61
00000a59: JUMPI
00000a5a: PUSH2 0x0a61
00000a5d: PUSH2 0x37ee
00000a60: JUMP
00000a61: JUMPDEST
00000a62: PUSH1 0x20
00000a64: MUL
00000a65: PUSH1 0x20
00000a67: ADD
00000a68: ADD
00000a69: DUP2
00000a6a: DUP2
00000a6b: MSTORE
00000a6c: POP
00000a6d: POP
00000a6e: PUSH32 0x7a78eeaef7adcf781217829e4cd31cd87b965e5c9d9bf6fa7d59436a4fad1540
00000a8f: DUP2
00000a90: PUSH1 0x03
00000a92: DUP2
00000a93: MLOAD
00000a94: DUP2
00000a95: LT
00000a96: PUSH2 0x0aa1
00000a99: JUMPI
00000a9a: PUSH2 0x0aa1
00000a9d: PUSH2 0x37ee
00000aa0: JUMP
00000aa1: JUMPDEST
00000aa2: PUSH1 0x20
00000aa4: MUL
00000aa5: PUSH1 0x20
00000aa7: ADD
00000aa8: ADD
00000aa9: DUP2
00000aaa: DUP2
00000aab: MSTORE
00000aac: POP
00000aad: POP
00000aae: PUSH32 0x79768a0bcc3b4c38462445090fcafc64b5973eb32a3f6c40343bd1a801be0118
00000acf: DUP2
00000ad0: PUSH1 0x04
00000ad2: DUP2
00000ad3: MLOAD
00000ad4: DUP2
00000ad5: LT
00000ad6: PUSH2 0x0ae1
00000ad9: JUMPI
00000ada: PUSH2 0x0ae1
00000add: PUSH2 0x37ee
00000ae0: JUMP
00000ae1: JUMPDEST
00000ae2: PUSH1 0x20
00000ae4: MUL
00000ae5: PUSH1 0x20
00000ae7: ADD
00000ae8: ADD
00000ae9: DUP2
00000aea: DUP2
00000aeb: MSTORE
00000aec: POP
00000aed: POP
00000aee: PUSH32 0x063dd53a0d18545c6595156b126cfdd317625e1df30da42a17b22b8d27e596f8
00000b0f: DUP2
00000b10: PUSH1 0x05
00000b12: DUP2
00000b13: MLOAD
00000b14: DUP2
00000b15: LT
00000b16: PUSH2 0x0b21
00000b19: JUMPI
00000b1a: PUSH2 0x0b21
00000b1d: PUSH2 0x37ee
00000b20: JUMP
00000b21: JUMPDEST
00000b22: PUSH1 0x20
00000b24: MUL
00000b25: PUSH1 0x20
00000b27: ADD
00000b28: ADD
00000b29: DUP2
00000b2a: DUP2
00000b2b: MSTORE
00000b2c: POP
00000b2d: POP
00000b2e: PUSH32 0x7329e9fefaa5cf03a0d45e01bdb3743d558c32418a510a46082f14bca4f69be0
00000b4f: DUP2
00000b50: PUSH1 0x06
00000b52: DUP2
00000b53: MLOAD
00000b54: DUP2
00000b55: LT
00000b56: PUSH2 0x0b61
00000b59: JUMPI
00000b5a: PUSH2 0x0b61
00000b5d: PUSH2 0x37ee
00000b60: JUMP
00000b61: JUMPDEST
00000b62: PUSH1 0x20
00000b64: SWAP1
00000b65: DUP2
00000b66: MUL
00000b67: SWAP2
00000b68: SWAP1
00000b69: SWAP2
00000b6a: ADD
00000b6b: ADD
00000b6c: MSTORE
00000b6d: SWAP2
00000b6e: SWAP1
00000b6f: POP
00000b70: JUMP
00000b71: JUMPDEST
00000b72: PUSH1 0x60
00000b74: PUSH2 0x0b7b
00000b77: PUSH2 0x1efe
00000b7a: JUMP
00000b7b: JUMPDEST
00000b7c: SWAP1
00000b7d: POP
00000b7e: SWAP1
00000b7f: JUMP
00000b80: JUMPDEST
00000b81: PUSH0
00000b82: PUSH1 0x60
00000b84: DUP1
00000b85: DUP3
00000b86: DUP1
00000b87: DUP1
00000b88: DUP4
00000b89: PUSH1 0x03
00000b8b: PUSH1 0x04
00000b8d: CHAINID
00000b8e: ADDRESS
00000b8f: DUP6
00000b90: DUP1
00000b91: PUSH1 0x40
00000b93: MLOAD
00000b94: SWAP1
00000b95: DUP1
00000b96: DUP3
00000b97: MSTORE
00000b98: DUP1
00000b99: PUSH1 0x20
00000b9b: MUL
00000b9c: PUSH1 0x20
00000b9e: ADD
00000b9f: DUP3
00000ba0: ADD
00000ba1: PUSH1 0x40
00000ba3: MSTORE
00000ba4: DUP1
00000ba5: ISZERO
00000ba6: PUSH2 0x0bb9
00000ba9: JUMPI
00000baa: DUP2
00000bab: PUSH1 0x20
00000bad: ADD
00000bae: PUSH1 0x20
00000bb0: DUP3
00000bb1: MUL
00000bb2: DUP1
00000bb3: CALLDATASIZE
00000bb4: DUP4
00000bb5: CALLDATACOPY
00000bb6: ADD
00000bb7: SWAP1
00000bb8: POP
00000bb9: JUMPDEST
00000bba: POP
00000bbb: PUSH1 0x0f
00000bbd: PUSH1 0xf8
00000bbf: SHL
00000bc0: SWAP6
00000bc1: SWAP5
00000bc2: SWAP4
00000bc3: SWAP3
00000bc4: SWAP2
00000bc5: SWAP1
00000bc6: DUP6
00000bc7: DUP1
00000bc8: SLOAD
00000bc9: PUSH2 0x0bd1
00000bcc: SWAP1
00000bcd: PUSH2 0x3802
00000bd0: JUMP
00000bd1: JUMPDEST
00000bd2: DUP1
00000bd3: PUSH1 0x1f
00000bd5: ADD
00000bd6: PUSH1 0x20
00000bd8: DUP1
00000bd9: SWAP2
00000bda: DIV
00000bdb: MUL
00000bdc: PUSH1 0x20
00000bde: ADD
00000bdf: PUSH1 0x40
00000be1: MLOAD
00000be2: SWAP1
00000be3: DUP2
00000be4: ADD
00000be5: PUSH1 0x40
00000be7: MSTORE
00000be8: DUP1
00000be9: SWAP3
00000bea: SWAP2
00000beb: SWAP1
00000bec: DUP2
00000bed: DUP2
00000bee: MSTORE
00000bef: PUSH1 0x20
00000bf1: ADD
00000bf2: DUP3
00000bf3: DUP1
00000bf4: SLOAD
00000bf5: PUSH2 0x0bfd
00000bf8: SWAP1
00000bf9: PUSH2 0x3802
00000bfc: JUMP
00000bfd: JUMPDEST
00000bfe: DUP1
00000bff: ISZERO
00000c00: PUSH2 0x0c48
00000c03: JUMPI
00000c04: DUP1
00000c05: PUSH1 0x1f
00000c07: LT
00000c08: PUSH2 0x0c1f
00000c0b: JUMPI
00000c0c: PUSH2 0x0100
00000c0f: DUP1
00000c10: DUP4
00000c11: SLOAD
00000c12: DIV
00000c13: MUL
00000c14: DUP4
00000c15: MSTORE
00000c16: SWAP2
00000c17: PUSH1 0x20
00000c19: ADD
00000c1a: SWAP2
00000c1b: PUSH2 0x0c48
00000c1e: JUMP
00000c1f: JUMPDEST
00000c20: DUP3
00000c21: ADD
00000c22: SWAP2
00000c23: SWAP1
00000c24: PUSH0
00000c25: MSTORE
00000c26: PUSH1 0x20
00000c28: PUSH0
00000c29: KECCAK256
00000c2a: SWAP1
00000c2b: JUMPDEST
00000c2c: DUP2
00000c2d: SLOAD
00000c2e: DUP2
00000c2f: MSTORE
00000c30: SWAP1
00000c31: PUSH1 0x01
00000c33: ADD
00000c34: SWAP1
00000c35: PUSH1 0x20
00000c37: ADD
00000c38: DUP1
00000c39: DUP4
00000c3a: GT
00000c3b: PUSH2 0x0c2b
00000c3e: JUMPI
00000c3f: DUP3
00000c40: SWAP1
00000c41: SUB
00000c42: PUSH1 0x1f
00000c44: AND
00000c45: DUP3
00000c46: ADD
00000c47: SWAP2
00000c48: JUMPDEST
00000c49: POP
00000c4a: POP
00000c4b: POP
00000c4c: POP
00000c4d: POP
00000c4e: SWAP6
00000c4f: POP
00000c50: DUP5
00000c51: DUP1
00000c52: SLOAD
00000c53: PUSH2 0x0c5b
00000c56: SWAP1
00000c57: PUSH2 0x3802
00000c5a: JUMP
00000c5b: JUMPDEST
00000c5c: DUP1
00000c5d: PUSH1 0x1f
00000c5f: ADD
00000c60: PUSH1 0x20
00000c62: DUP1
00000c63: SWAP2
00000c64: DIV
00000c65: MUL
00000c66: PUSH1 0x20
00000c68: ADD
00000c69: PUSH1 0x40
00000c6b: MLOAD
00000c6c: SWAP1
00000c6d: DUP2
00000c6e: ADD
00000c6f: PUSH1 0x40
00000c71: MSTORE
00000c72: DUP1
00000c73: SWAP3
00000c74: SWAP2
00000c75: SWAP1
00000c76: DUP2
00000c77: DUP2
00000c78: MSTORE
00000c79: PUSH1 0x20
00000c7b: ADD
00000c7c: DUP3
00000c7d: DUP1
00000c7e: SLOAD
00000c7f: PUSH2 0x0c87
00000c82: SWAP1
00000c83: PUSH2 0x3802
00000c86: JUMP
00000c87: JUMPDEST
00000c88: DUP1
00000c89: ISZERO
00000c8a: PUSH2 0x0cd2
00000c8d: JUMPI
00000c8e: DUP1
00000c8f: PUSH1 0x1f
00000c91: LT
00000c92: PUSH2 0x0ca9
00000c95: JUMPI
00000c96: PUSH2 0x0100
00000c99: DUP1
00000c9a: DUP4
00000c9b: SLOAD
00000c9c: DIV
00000c9d: MUL
00000c9e: DUP4
00000c9f: MSTORE
00000ca0: SWAP2
00000ca1: PUSH1 0x20
00000ca3: ADD
00000ca4: SWAP2
00000ca5: PUSH2 0x0cd2
00000ca8: JUMP
00000ca9: JUMPDEST
00000caa: DUP3
00000cab: ADD
00000cac: SWAP2
00000cad: SWAP1
00000cae: PUSH0
00000caf: MSTORE
00000cb0: PUSH1 0x20
00000cb2: PUSH0
00000cb3: KECCAK256
00000cb4: SWAP1
00000cb5: JUMPDEST
00000cb6: DUP2
00000cb7: SLOAD
00000cb8: DUP2
00000cb9: MSTORE
00000cba: SWAP1
00000cbb: PUSH1 0x01
00000cbd: ADD
00000cbe: SWAP1
00000cbf: PUSH1 0x20
00000cc1: ADD
00000cc2: DUP1
00000cc3: DUP4
00000cc4: GT
00000cc5: PUSH2 0x0cb5
00000cc8: JUMPI
00000cc9: DUP3
00000cca: SWAP1
00000ccb: SUB
00000ccc: PUSH1 0x1f
00000cce: AND
00000ccf: DUP3
00000cd0: ADD
00000cd1: SWAP2
00000cd2: JUMPDEST
00000cd3: POP
00000cd4: POP
00000cd5: POP
00000cd6: POP
00000cd7: POP
00000cd8: SWAP5
00000cd9: POP
00000cda: SWAP7
00000cdb: POP
00000cdc: SWAP7
00000cdd: POP
00000cde: SWAP7
00000cdf: POP
00000ce0: SWAP7
00000ce1: POP
00000ce2: SWAP7
00000ce3: POP
00000ce4: SWAP7
00000ce5: POP
00000ce6: SWAP7
00000ce7: POP
00000ce8: SWAP1
00000ce9: SWAP2
00000cea: SWAP3
00000ceb: SWAP4
00000cec: SWAP5
00000ced: SWAP6
00000cee: SWAP7
00000cef: JUMP
00000cf0: JUMPDEST
00000cf1: PUSH1 0x60
00000cf3: PUSH2 0x0cfa
00000cf6: PUSH2 0x1ad4
00000cf9: JUMP
00000cfa: JUMPDEST
00000cfb: PUSH1 0x06
00000cfd: SLOAD
00000cfe: PUSH1 0x01
00000d00: PUSH1 0x01
00000d02: PUSH1 0xa0
00000d04: SHL
00000d05: SUB
00000d06: AND
00000d07: PUSH2 0x0d23
00000d0a: JUMPI
00000d0b: PUSH1 0x40
00000d0d: MLOAD
00000d0e: PUSH4 0xd311bc39
00000d13: PUSH1 0xe0
00000d15: SHL
00000d16: DUP2
00000d17: MSTORE
00000d18: PUSH1 0x04
00000d1a: ADD
00000d1b: PUSH1 0x40
00000d1d: MLOAD
00000d1e: DUP1
00000d1f: SWAP2
00000d20: SUB
00000d21: SWAP1
00000d22: REVERT
00000d23: JUMPDEST
00000d24: PUSH0
00000d25: PUSH2 0x0d4d
00000d28: PUSH32 0xc87965729e990b38dc13add724e6bf71c0eff34ca4b94316d8a69582421de2a9
00000d49: PUSH2 0x1f8e
00000d4c: JUMP
00000d4d: JUMPDEST
00000d4e: SWAP1
00000d4f: POP
00000d50: DUP1
00000d51: PUSH0
00000d52: SUB
00000d53: PUSH2 0x0d6b
00000d56: JUMPI
00000d57: PUSH2 0x0d64
00000d5a: DUP9
00000d5b: DUP9
00000d5c: DUP9
00000d5d: DUP9
00000d5e: DUP9
00000d5f: DUP9
00000d60: PUSH2 0x2021
00000d63: JUMP
00000d64: JUMPDEST
00000d65: SWAP2
00000d66: POP
00000d67: PUSH2 0x0d97
00000d6a: JUMP
00000d6b: JUMPDEST
00000d6c: PUSH0
00000d6d: DUP1
00000d6e: PUSH2 0x0d75
00000d71: PUSH2 0x21e6
00000d74: JUMP
00000d75: JUMPDEST
00000d76: SWAP2
00000d77: POP
00000d78: SWAP2
00000d79: POP
00000d7a: PUSH2 0x0d87
00000d7d: DUP11
00000d7e: DUP11
00000d7f: DUP11
00000d80: DUP11
00000d81: DUP11
00000d82: DUP11
00000d83: PUSH2 0x2021
00000d86: JUMP
00000d87: JUMPDEST
00000d88: SWAP4
00000d89: POP
00000d8a: PUSH2 0x0d94
00000d8d: DUP3
00000d8e: DUP3
00000d8f: DUP6
00000d90: PUSH2 0x23aa
00000d93: JUMP
00000d94: JUMPDEST
00000d95: POP
00000d96: POP
00000d97: JUMPDEST
00000d98: POP
00000d99: PUSH2 0x0da1
00000d9c: PUSH1 0x01
00000d9e: DUP1
00000d9f: SSTORE
00000da0: JUMP
00000da1: JUMPDEST
00000da2: SWAP7
00000da3: SWAP6
00000da4: POP
00000da5: POP
00000da6: POP
00000da7: POP
00000da8: POP
00000da9: POP
00000daa: JUMP
00000dab: JUMPDEST
00000dac: PUSH1 0x60
00000dae: DUP2
00000daf: PUSH1 0x01
00000db1: PUSH1 0x01
00000db3: PUSH1 0x40
00000db5: SHL
00000db6: SUB
00000db7: DUP2
00000db8: GT
00000db9: ISZERO
00000dba: PUSH2 0x0dc5
00000dbd: JUMPI
00000dbe: PUSH2 0x0dc5
00000dc1: PUSH2 0x31e5
00000dc4: JUMP
00000dc5: JUMPDEST
00000dc6: PUSH1 0x40
00000dc8: MLOAD
00000dc9: SWAP1
00000dca: DUP1
00000dcb: DUP3
00000dcc: MSTORE
00000dcd: DUP1
00000dce: PUSH1 0x20
00000dd0: MUL
00000dd1: PUSH1 0x20
00000dd3: ADD
00000dd4: DUP3
00000dd5: ADD
00000dd6: PUSH1 0x40
00000dd8: MSTORE
00000dd9: DUP1
00000dda: ISZERO
00000ddb: PUSH2 0x0df8
00000dde: JUMPI
00000ddf: DUP2
00000de0: PUSH1 0x20
00000de2: ADD
00000de3: JUMPDEST
00000de4: PUSH1 0x60
00000de6: DUP2
00000de7: MSTORE
00000de8: PUSH1 0x20
00000dea: ADD
00000deb: SWAP1
00000dec: PUSH1 0x01
00000dee: SWAP1
00000def: SUB
00000df0: SWAP1
00000df1: DUP2
00000df2: PUSH2 0x0de3
00000df5: JUMPI
00000df6: SWAP1
00000df7: POP
00000df8: JUMPDEST
00000df9: POP
00000dfa: SWAP1
00000dfb: POP
00000dfc: PUSH0
00000dfd: JUMPDEST
00000dfe: DUP3
00000dff: DUP2
00000e00: LT
00000e01: ISZERO
00000e02: PUSH2 0x0ef3
00000e05: JUMPI
00000e06: PUSH0
00000e07: DUP1
00000e08: ADDRESS
00000e09: DUP7
00000e0a: DUP7
00000e0b: DUP6
00000e0c: DUP2
00000e0d: DUP2
00000e0e: LT
00000e0f: PUSH2 0x0e1a
00000e12: JUMPI
00000e13: PUSH2 0x0e1a
00000e16: PUSH2 0x37ee
00000e19: JUMP
00000e1a: JUMPDEST
00000e1b: SWAP1
00000e1c: POP
00000e1d: PUSH1 0x20
00000e1f: MUL
00000e20: DUP2
00000e21: ADD
00000e22: SWAP1
00000e23: PUSH2 0x0e2c
00000e26: SWAP2
00000e27: SWAP1
00000e28: PUSH2 0x383a
00000e2b: JUMP
00000e2c: JUMPDEST
00000e2d: PUSH1 0x40
00000e2f: MLOAD
00000e30: PUSH2 0x0e3a
00000e33: SWAP3
00000e34: SWAP2
00000e35: SWAP1
00000e36: PUSH2 0x387c
00000e39: JUMP
00000e3a: JUMPDEST
00000e3b: PUSH0
00000e3c: PUSH1 0x40
00000e3e: MLOAD
00000e3f: DUP1
00000e40: DUP4
00000e41: SUB
00000e42: DUP2
00000e43: DUP6
00000e44: GAS
00000e45: DELEGATECALL
00000e46: SWAP2
00000e47: POP
00000e48: POP
00000e49: RETURNDATASIZE
00000e4a: DUP1
00000e4b: PUSH0
00000e4c: DUP2
00000e4d: EQ
00000e4e: PUSH2 0x0e72
00000e51: JUMPI
00000e52: PUSH1 0x40
00000e54: MLOAD
00000e55: SWAP2
00000e56: POP
00000e57: PUSH1 0x1f
00000e59: NOT
00000e5a: PUSH1 0x3f
00000e5c: RETURNDATASIZE
00000e5d: ADD
00000e5e: AND
00000e5f: DUP3
00000e60: ADD
00000e61: PUSH1 0x40
00000e63: MSTORE
00000e64: RETURNDATASIZE
00000e65: DUP3
00000e66: MSTORE
00000e67: RETURNDATASIZE
00000e68: PUSH0
00000e69: PUSH1 0x20
00000e6b: DUP5
00000e6c: ADD
00000e6d: RETURNDATACOPY
00000e6e: PUSH2 0x0e77
00000e71: JUMP
00000e72: JUMPDEST
00000e73: PUSH1 0x60
00000e75: SWAP2
00000e76: POP
00000e77: JUMPDEST
00000e78: POP
00000e79: SWAP2
00000e7a: POP
00000e7b: SWAP2
00000e7c: POP
00000e7d: DUP2
00000e7e: PUSH2 0x0ecb
00000e81: JUMPI
00000e82: PUSH1 0x44
00000e84: DUP2
00000e85: MLOAD
00000e86: LT
00000e87: ISZERO
00000e88: PUSH2 0x0e8f
00000e8b: JUMPI
00000e8c: PUSH0
00000e8d: DUP1
00000e8e: REVERT
00000e8f: JUMPDEST
00000e90: PUSH1 0x04
00000e92: DUP2
00000e93: ADD
00000e94: SWAP1
00000e95: POP
00000e96: DUP1
00000e97: DUP1
00000e98: PUSH1 0x20
00000e9a: ADD
00000e9b: SWAP1
00000e9c: MLOAD
00000e9d: DUP2
00000e9e: ADD
00000e9f: SWAP1
00000ea0: PUSH2 0x0ea9
00000ea3: SWAP2
00000ea4: SWAP1
00000ea5: PUSH2 0x38c1
00000ea8: JUMP
00000ea9: JUMPDEST
00000eaa: PUSH1 0x40
00000eac: MLOAD
00000ead: PUSH3 0x461bcd
00000eb1: PUSH1 0xe5
00000eb3: SHL
00000eb4: DUP2
00000eb5: MSTORE
00000eb6: PUSH1 0x04
00000eb8: ADD
00000eb9: PUSH2 0x0ec2
00000ebc: SWAP2
00000ebd: SWAP1
00000ebe: PUSH2 0x354d
00000ec1: JUMP
00000ec2: JUMPDEST
00000ec3: PUSH1 0x40
00000ec5: MLOAD
00000ec6: DUP1
00000ec7: SWAP2
00000ec8: SUB
00000ec9: SWAP1
00000eca: REVERT
00000ecb: JUMPDEST
00000ecc: DUP1
00000ecd: DUP5
00000ece: DUP5
00000ecf: DUP2
00000ed0: MLOAD
00000ed1: DUP2
00000ed2: LT
00000ed3: PUSH2 0x0ede
00000ed6: JUMPI
00000ed7: PUSH2 0x0ede
00000eda: PUSH2 0x37ee
00000edd: JUMP
00000ede: JUMPDEST
00000edf: PUSH1 0x20
00000ee1: SWAP1
00000ee2: DUP2
00000ee3: MUL
00000ee4: SWAP2
00000ee5: SWAP1
00000ee6: SWAP2
00000ee7: ADD
00000ee8: ADD
00000ee9: MSTORE
00000eea: POP
00000eeb: POP
00000eec: PUSH1 0x01
00000eee: ADD
00000eef: PUSH2 0x0dfd
00000ef2: JUMP
00000ef3: JUMPDEST
00000ef4: POP
00000ef5: SWAP3
00000ef6: SWAP2
00000ef7: POP
00000ef8: POP
00000ef9: JUMP
00000efa: JUMPDEST
00000efb: PUSH1 0x60
00000efd: PUSH2 0x0b7b
00000f00: PUSH2 0x240d
00000f03: JUMP
00000f04: JUMPDEST
00000f05: PUSH1 0x60
00000f07: PUSH2 0x0f0e
00000f0a: PUSH2 0x1ad4
00000f0d: JUMP
00000f0e: JUMPDEST
00000f0f: PUSH1 0x06
00000f11: SLOAD
00000f12: PUSH1 0x01
00000f14: PUSH1 0x01
00000f16: PUSH1 0xa0
00000f18: SHL
00000f19: SUB
00000f1a: AND
00000f1b: PUSH2 0x0f37
00000f1e: JUMPI
00000f1f: PUSH1 0x40
00000f21: MLOAD
00000f22: PUSH4 0xd311bc39
00000f27: PUSH1 0xe0
00000f29: SHL
00000f2a: DUP2
00000f2b: MSTORE
00000f2c: PUSH1 0x04
00000f2e: ADD
00000f2f: PUSH1 0x40
00000f31: MLOAD
00000f32: DUP1
00000f33: SWAP2
00000f34: SUB
00000f35: SWAP1
00000f36: REVERT
00000f37: JUMPDEST
00000f38: PUSH2 0x0f48
00000f3b: CALLER
00000f3c: PUSH4 0x833c653f
00000f41: PUSH1 0xe0
00000f43: SHL
00000f44: PUSH2 0x1954
00000f47: JUMP
00000f48: JUMPDEST
00000f49: PUSH2 0x0f65
00000f4c: JUMPI
00000f4d: PUSH1 0x40
00000f4f: MLOAD
00000f50: PUSH4 0x07824841
00000f55: PUSH1 0xe2
00000f57: SHL
00000f58: DUP2
00000f59: MSTORE
00000f5a: PUSH1 0x04
00000f5c: ADD
00000f5d: PUSH1 0x40
00000f5f: MLOAD
00000f60: DUP1
00000f61: SWAP2
00000f62: SUB
00000f63: SWAP1
00000f64: REVERT
00000f65: JUMPDEST
00000f66: PUSH1 0x06
00000f68: SLOAD
00000f69: PUSH1 0x40
00000f6b: DUP1
00000f6c: MLOAD
00000f6d: PUSH4 0xb4906de5
00000f72: PUSH1 0xe0
00000f74: SHL
00000f75: DUP2
00000f76: MSTORE
00000f77: SWAP1
00000f78: MLOAD
00000f79: PUSH0
00000f7a: SWAP3
00000f7b: PUSH1 0x01
00000f7d: PUSH1 0x01
00000f7f: PUSH1 0xa0
00000f81: SHL
00000f82: SUB
00000f83: AND
00000f84: SWAP2
00000f85: PUSH4 0xb4906de5
00000f8a: SWAP2
00000f8b: PUSH1 0x04
00000f8d: DUP1
00000f8e: DUP4
00000f8f: ADD
00000f90: SWAP3
00000f91: PUSH1 0x20
00000f93: SWAP3
00000f94: SWAP2
00000f95: SWAP1
00000f96: DUP3
00000f97: SWAP1
00000f98: SUB
00000f99: ADD
00000f9a: DUP2
00000f9b: DUP7
00000f9c: GAS
00000f9d: STATICCALL
00000f9e: ISZERO
00000f9f: DUP1
00000fa0: ISZERO
00000fa1: PUSH2 0x0fac
00000fa4: JUMPI
00000fa5: RETURNDATASIZE
00000fa6: PUSH0
00000fa7: DUP1
00000fa8: RETURNDATACOPY
00000fa9: RETURNDATASIZE
00000faa: PUSH0
00000fab: REVERT
00000fac: JUMPDEST
00000fad: POP
00000fae: POP
00000faf: POP
00000fb0: POP
00000fb1: PUSH1 0x40
00000fb3: MLOAD
00000fb4: RETURNDATASIZE
00000fb5: PUSH1 0x1f
00000fb7: NOT
00000fb8: PUSH1 0x1f
00000fba: DUP3
00000fbb: ADD
00000fbc: AND
00000fbd: DUP3
00000fbe: ADD
00000fbf: DUP1
00000fc0: PUSH1 0x40
00000fc2: MSTORE
00000fc3: POP
00000fc4: DUP2
00000fc5: ADD
00000fc6: SWAP1
00000fc7: PUSH2 0x0fd0
00000fca: SWAP2
00000fcb: SWAP1
00000fcc: PUSH2 0x3905
00000fcf: JUMP
00000fd0: JUMPDEST
00000fd1: SWAP1
00000fd2: POP
00000fd3: PUSH0
00000fd4: DUP1
00000fd5: DUP3
00000fd6: PUSH1 0x01
00000fd8: PUSH1 0x01
00000fda: PUSH1 0xa0
00000fdc: SHL
00000fdd: SUB
00000fde: AND
00000fdf: PUSH4 0x85acd641
00000fe4: DUP9
00000fe5: PUSH1 0x40
00000fe7: MLOAD
00000fe8: DUP3
00000fe9: PUSH4 0xffffffff
00000fee: AND
00000fef: PUSH1 0xe0
00000ff1: SHL
00000ff2: DUP2
00000ff3: MSTORE
00000ff4: PUSH1 0x04
00000ff6: ADD
00000ff7: PUSH2 0x1002
00000ffa: SWAP2
00000ffb: DUP2
00000ffc: MSTORE
00000ffd: PUSH1 0x20
00000fff: ADD
00001000: SWAP1
00001001: JUMP
00001002: JUMPDEST
00001003: PUSH1 0x40
00001005: DUP1
00001006: MLOAD
00001007: DUP1
00001008: DUP4
00001009: SUB
0000100a: DUP2
0000100b: DUP7
0000100c: GAS
0000100d: STATICCALL
0000100e: ISZERO
0000100f: DUP1
00001010: ISZERO
00001011: PUSH2 0x101c
00001014: JUMPI
00001015: RETURNDATASIZE
00001016: PUSH0
00001017: DUP1
00001018: RETURNDATACOPY
00001019: RETURNDATASIZE
0000101a: PUSH0
0000101b: REVERT
0000101c: JUMPDEST
0000101d: POP
0000101e: POP
0000101f: POP
00001020: POP
00001021: PUSH1 0x40
00001023: MLOAD
00001024: RETURNDATASIZE
00001025: PUSH1 0x1f
00001027: NOT
00001028: PUSH1 0x1f
0000102a: DUP3
0000102b: ADD
0000102c: AND
0000102d: DUP3
0000102e: ADD
0000102f: DUP1
00001030: PUSH1 0x40
00001032: MSTORE
00001033: POP
00001034: DUP2
00001035: ADD
00001036: SWAP1
00001037: PUSH2 0x1040
0000103a: SWAP2
0000103b: SWAP1
0000103c: PUSH2 0x3935
0000103f: JUMP
00001040: JUMPDEST
00001041: SWAP2
00001042: POP
00001043: SWAP2
00001044: POP
00001045: DUP1
00001046: PUSH1 0xff
00001048: AND
00001049: PUSH1 0x01
0000104b: EQ
0000104c: PUSH2 0x1068
0000104f: JUMPI
00001050: PUSH1 0x40
00001052: MLOAD
00001053: PUSH4 0x1bb22965
00001058: PUSH1 0xe3
0000105a: SHL
0000105b: DUP2
0000105c: MSTORE
0000105d: PUSH1 0x04
0000105f: ADD
00001060: PUSH1 0x40
00001062: MLOAD
00001063: DUP1
00001064: SWAP2
00001065: SUB
00001066: SWAP1
00001067: REVERT
00001068: JUMPDEST
00001069: PUSH0
0000106a: DUP1
0000106b: DUP4
0000106c: PUSH1 0x01
0000106e: PUSH1 0x01
00001070: PUSH1 0xa0
00001072: SHL
00001073: SUB
00001074: AND
00001075: DUP9
00001076: DUP9
00001077: PUSH1 0x40
00001079: MLOAD
0000107a: PUSH2 0x1084
0000107d: SWAP3
0000107e: SWAP2
0000107f: SWAP1
00001080: PUSH2 0x387c
00001083: JUMP
00001084: JUMPDEST
00001085: PUSH0
00001086: PUSH1 0x40
00001088: MLOAD
00001089: DUP1
0000108a: DUP4
0000108b: SUB
0000108c: DUP2
0000108d: DUP6
0000108e: GAS
0000108f: STATICCALL
00001090: SWAP2
00001091: POP
00001092: POP
00001093: RETURNDATASIZE
00001094: DUP1
00001095: PUSH0
00001096: DUP2
00001097: EQ
00001098: PUSH2 0x10bc
0000109b: JUMPI
0000109c: PUSH1 0x40
0000109e: MLOAD
0000109f: SWAP2
000010a0: POP
000010a1: PUSH1 0x1f
000010a3: NOT
000010a4: PUSH1 0x3f
000010a6: RETURNDATASIZE
000010a7: ADD
000010a8: AND
000010a9: DUP3
000010aa: ADD
000010ab: PUSH1 0x40
000010ad: MSTORE
000010ae: RETURNDATASIZE
000010af: DUP3
000010b0: MSTORE
000010b1: RETURNDATASIZE
000010b2: PUSH0
000010b3: PUSH1 0x20
000010b5: DUP5
000010b6: ADD
000010b7: RETURNDATACOPY
000010b8: PUSH2 0x10c1
000010bb: JUMP
000010bc: JUMPDEST
000010bd: PUSH1 0x60
000010bf: SWAP2
000010c0: POP
000010c1: JUMPDEST
000010c2: POP
000010c3: SWAP2
000010c4: POP
000010c5: SWAP2
000010c6: POP
000010c7: DUP2
000010c8: PUSH2 0x10e4
000010cb: JUMPI
000010cc: PUSH1 0x40
000010ce: MLOAD
000010cf: PUSH4 0x6080e11b
000010d4: PUSH1 0xe1
000010d6: SHL
000010d7: DUP2
000010d8: MSTORE
000010d9: PUSH1 0x04
000010db: ADD
000010dc: PUSH1 0x40
000010de: MLOAD
000010df: DUP1
000010e0: SWAP2
000010e1: SUB
000010e2: SWAP1
000010e3: REVERT
000010e4: JUMPDEST
000010e5: PUSH0
000010e6: DUP2
000010e7: DUP1
000010e8: PUSH1 0x20
000010ea: ADD
000010eb: SWAP1
000010ec: MLOAD
000010ed: DUP2
000010ee: ADD
000010ef: SWAP1
000010f0: PUSH2 0x10f9
000010f3: SWAP2
000010f4: SWAP1
000010f5: PUSH2 0x3c2e
000010f8: JUMP
000010f9: JUMPDEST
000010fa: SWAP1
000010fb: POP
000010fc: PUSH0
000010fd: DUP1
000010fe: PUSH0
000010ff: DUP1
00001100: PUSH0
00001101: JUMPDEST
00001102: DUP6
00001103: PUSH1 0x40
00001105: ADD
00001106: MLOAD
00001107: MLOAD
00001108: DUP2
00001109: LT
0000110a: ISZERO
0000110b: PUSH2 0x1657
0000110e: JUMPI
0000110f: PUSH0
00001110: DUP7
00001111: PUSH1 0x60
00001113: ADD
00001114: MLOAD
00001115: MLOAD
00001116: GT
00001117: DUP1
00001118: ISZERO
00001119: PUSH2 0x1148
0000111c: JUMPI
0000111d: POP
0000111e: PUSH1 0x04
00001120: PUSH1 0xff
00001122: AND
00001123: DUP7
00001124: PUSH1 0x60
00001126: ADD
00001127: MLOAD
00001128: DUP3
00001129: DUP2
0000112a: MLOAD
0000112b: DUP2
0000112c: LT
0000112d: PUSH2 0x1138
00001130: JUMPI
00001131: PUSH2 0x1138
00001134: PUSH2 0x37ee
00001137: JUMP
00001138: JUMPDEST
00001139: PUSH1 0x20
0000113b: MUL
0000113c: PUSH1 0x20
0000113e: ADD
0000113f: ADD
00001140: MLOAD
00001141: PUSH0
00001142: ADD
00001143: MLOAD
00001144: PUSH1 0xff
00001146: AND
00001147: EQ
00001148: JUMPDEST
00001149: ISZERO
0000114a: PUSH2 0x1313
0000114d: JUMPI
0000114e: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00001163: PUSH1 0x01
00001165: PUSH1 0x01
00001167: PUSH1 0xa0
00001169: SHL
0000116a: SUB
0000116b: AND
0000116c: DUP7
0000116d: PUSH1 0x60
0000116f: ADD
00001170: MLOAD
00001171: DUP3
00001172: DUP2
00001173: MLOAD
00001174: DUP2
00001175: LT
00001176: PUSH2 0x1181
00001179: JUMPI
0000117a: PUSH2 0x1181
0000117d: PUSH2 0x37ee
00001180: JUMP
00001181: JUMPDEST
00001182: PUSH1 0x20
00001184: MUL
00001185: PUSH1 0x20
00001187: ADD
00001188: ADD
00001189: MLOAD
0000118a: PUSH1 0x20
0000118c: ADD
0000118d: MLOAD
0000118e: PUSH1 0x01
00001190: PUSH1 0x01
00001192: PUSH1 0xa0
00001194: SHL
00001195: SUB
00001196: AND
00001197: EQ
00001198: PUSH2 0x122b
0000119b: JUMPI
0000119c: DUP6
0000119d: PUSH1 0x60
0000119f: ADD
000011a0: MLOAD
000011a1: DUP2
000011a2: DUP2
000011a3: MLOAD
000011a4: DUP2
000011a5: LT
000011a6: PUSH2 0x11b1
000011a9: JUMPI
000011aa: PUSH2 0x11b1
000011ad: PUSH2 0x37ee
000011b0: JUMP
000011b1: JUMPDEST
000011b2: PUSH1 0x20
000011b4: SWAP1
000011b5: DUP2
000011b6: MUL
000011b7: SWAP2
000011b8: SWAP1
000011b9: SWAP2
000011ba: ADD
000011bb: DUP2
000011bc: ADD
000011bd: MLOAD
000011be: ADD
000011bf: MLOAD
000011c0: PUSH1 0x40
000011c2: MLOAD
000011c3: PUSH4 0x70a08231
000011c8: PUSH1 0xe0
000011ca: SHL
000011cb: DUP2
000011cc: MSTORE
000011cd: ADDRESS
000011ce: PUSH1 0x04
000011d0: DUP3
000011d1: ADD
000011d2: MSTORE
000011d3: PUSH1 0x01
000011d5: PUSH1 0x01
000011d7: PUSH1 0xa0
000011d9: SHL
000011da: SUB
000011db: SWAP1
000011dc: SWAP2
000011dd: AND
000011de: SWAP1
000011df: PUSH4 0x70a08231
000011e4: SWAP1
000011e5: PUSH1 0x24
000011e7: ADD
000011e8: PUSH1 0x20
000011ea: PUSH1 0x40
000011ec: MLOAD
000011ed: DUP1
000011ee: DUP4
000011ef: SUB
000011f0: DUP2
000011f1: DUP7
000011f2: GAS
000011f3: STATICCALL
000011f4: ISZERO
000011f5: DUP1
000011f6: ISZERO
000011f7: PUSH2 0x1202
000011fa: JUMPI
000011fb: RETURNDATASIZE
000011fc: PUSH0
000011fd: DUP1
000011fe: RETURNDATACOPY
000011ff: RETURNDATASIZE
00001200: PUSH0
00001201: REVERT
00001202: JUMPDEST
00001203: POP
00001204: POP
00001205: POP
00001206: POP
00001207: PUSH1 0x40
00001209: MLOAD
0000120a: RETURNDATASIZE
0000120b: PUSH1 0x1f
0000120d: NOT
0000120e: PUSH1 0x1f
00001210: DUP3
00001211: ADD
00001212: AND
00001213: DUP3
00001214: ADD
00001215: DUP1
00001216: PUSH1 0x40
00001218: MSTORE
00001219: POP
0000121a: DUP2
0000121b: ADD
0000121c: SWAP1
0000121d: PUSH2 0x1226
00001220: SWAP2
00001221: SWAP1
00001222: PUSH2 0x37b8
00001225: JUMP
00001226: JUMPDEST
00001227: PUSH2 0x122d
0000122a: JUMP
0000122b: JUMPDEST
0000122c: SELFBALANCE
0000122d: JUMPDEST
0000122e: SWAP5
0000122f: POP
00001230: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00001245: PUSH1 0x01
00001247: PUSH1 0x01
00001249: PUSH1 0xa0
0000124b: SHL
0000124c: SUB
0000124d: AND
0000124e: DUP7
0000124f: PUSH1 0x60
00001251: ADD
00001252: MLOAD
00001253: DUP3
00001254: DUP2
00001255: MLOAD
00001256: DUP2
00001257: LT
00001258: PUSH2 0x1263
0000125b: JUMPI
0000125c: PUSH2 0x1263
0000125f: PUSH2 0x37ee
00001262: JUMP
00001263: JUMPDEST
00001264: PUSH1 0x20
00001266: MUL
00001267: PUSH1 0x20
00001269: ADD
0000126a: ADD
0000126b: MLOAD
0000126c: PUSH1 0x60
0000126e: ADD
0000126f: MLOAD
00001270: PUSH1 0x01
00001272: PUSH1 0x01
00001274: PUSH1 0xa0
00001276: SHL
00001277: SUB
00001278: AND
00001279: EQ
0000127a: PUSH2 0x130e
0000127d: JUMPI
0000127e: DUP6
0000127f: PUSH1 0x60
00001281: ADD
00001282: MLOAD
00001283: DUP2
00001284: DUP2
00001285: MLOAD
00001286: DUP2
00001287: LT
00001288: PUSH2 0x1293
0000128b: JUMPI
0000128c: PUSH2 0x1293
0000128f: PUSH2 0x37ee
00001292: JUMP
00001293: JUMPDEST
00001294: PUSH1 0x20
00001296: SWAP1
00001297: DUP2
00001298: MUL
00001299: SWAP2
0000129a: SWAP1
0000129b: SWAP2
0000129c: ADD
0000129d: ADD
0000129e: MLOAD
0000129f: PUSH1 0x60
000012a1: ADD
000012a2: MLOAD
000012a3: PUSH1 0x40
000012a5: MLOAD
000012a6: PUSH4 0x70a08231
000012ab: PUSH1 0xe0
000012ad: SHL
000012ae: DUP2
000012af: MSTORE
000012b0: ADDRESS
000012b1: PUSH1 0x04
000012b3: DUP3
000012b4: ADD
000012b5: MSTORE
000012b6: PUSH1 0x01
000012b8: PUSH1 0x01
000012ba: PUSH1 0xa0
000012bc: SHL
000012bd: SUB
000012be: SWAP1
000012bf: SWAP2
000012c0: AND
000012c1: SWAP1
000012c2: PUSH4 0x70a08231
000012c7: SWAP1
000012c8: PUSH1 0x24
000012ca: ADD
000012cb: PUSH1 0x20
000012cd: PUSH1 0x40
000012cf: MLOAD
000012d0: DUP1
000012d1: DUP4
000012d2: SUB
000012d3: DUP2
000012d4: DUP7
000012d5: GAS
000012d6: STATICCALL
000012d7: ISZERO
000012d8: DUP1
000012d9: ISZERO
000012da: PUSH2 0x12e5
000012dd: JUMPI
000012de: RETURNDATASIZE
000012df: PUSH0
000012e0: DUP1
000012e1: RETURNDATACOPY
000012e2: RETURNDATASIZE
000012e3: PUSH0
000012e4: REVERT
000012e5: JUMPDEST
000012e6: POP
000012e7: POP
000012e8: POP
000012e9: POP
000012ea: PUSH1 0x40
000012ec: MLOAD
000012ed: RETURNDATASIZE
000012ee: PUSH1 0x1f
000012f0: NOT
000012f1: PUSH1 0x1f
000012f3: DUP3
000012f4: ADD
000012f5: AND
000012f6: DUP3
000012f7: ADD
000012f8: DUP1
000012f9: PUSH1 0x40
000012fb: MSTORE
000012fc: POP
000012fd: DUP2
000012fe: ADD
000012ff: SWAP1
00001300: PUSH2 0x1309
00001303: SWAP2
00001304: SWAP1
00001305: PUSH2 0x37b8
00001308: JUMP
00001309: JUMPDEST
0000130a: PUSH2 0x1310
0000130d: JUMP
0000130e: JUMPDEST
0000130f: SELFBALANCE
00001310: JUMPDEST
00001311: SWAP3
00001312: POP
00001313: JUMPDEST
00001314: DUP6
00001315: PUSH1 0x20
00001317: ADD
00001318: MLOAD
00001319: DUP2
0000131a: DUP2
0000131b: MLOAD
0000131c: DUP2
0000131d: LT
0000131e: PUSH2 0x1329
00001321: JUMPI
00001322: PUSH2 0x1329
00001325: PUSH2 0x37ee
00001328: JUMP
00001329: JUMPDEST
0000132a: PUSH1 0x20
0000132c: MUL
0000132d: PUSH1 0x20
0000132f: ADD
00001330: ADD
00001331: MLOAD
00001332: PUSH1 0x01
00001334: PUSH1 0x01
00001336: PUSH1 0xa0
00001338: SHL
00001339: SUB
0000133a: AND
0000133b: DUP7
0000133c: PUSH0
0000133d: ADD
0000133e: MLOAD
0000133f: DUP3
00001340: DUP2
00001341: MLOAD
00001342: DUP2
00001343: LT
00001344: PUSH2 0x134f
00001347: JUMPI
00001348: PUSH2 0x134f
0000134b: PUSH2 0x37ee
0000134e: JUMP
0000134f: JUMPDEST
00001350: PUSH1 0x20
00001352: MUL
00001353: PUSH1 0x20
00001355: ADD
00001356: ADD
00001357: MLOAD
00001358: DUP8
00001359: PUSH1 0x40
0000135b: ADD
0000135c: MLOAD
0000135d: DUP4
0000135e: DUP2
0000135f: MLOAD
00001360: DUP2
00001361: LT
00001362: PUSH2 0x136d
00001365: JUMPI
00001366: PUSH2 0x136d
00001369: PUSH2 0x37ee
0000136c: JUMP
0000136d: JUMPDEST
0000136e: PUSH1 0x20
00001370: MUL
00001371: PUSH1 0x20
00001373: ADD
00001374: ADD
00001375: MLOAD
00001376: PUSH1 0x40
00001378: MLOAD
00001379: PUSH2 0x1382
0000137c: SWAP2
0000137d: SWAP1
0000137e: PUSH2 0x3d6a
00001381: JUMP
00001382: JUMPDEST
00001383: PUSH0
00001384: PUSH1 0x40
00001386: MLOAD
00001387: DUP1
00001388: DUP4
00001389: SUB
0000138a: DUP2
0000138b: DUP6
0000138c: DUP8
0000138d: GAS
0000138e: CALL
0000138f: SWAP3
00001390: POP
00001391: POP
00001392: POP
00001393: RETURNDATASIZE
00001394: DUP1
00001395: PUSH0
00001396: DUP2
00001397: EQ
00001398: PUSH2 0x13bc
0000139b: JUMPI
0000139c: PUSH1 0x40
0000139e: MLOAD
0000139f: SWAP2
000013a0: POP
000013a1: PUSH1 0x1f
000013a3: NOT
000013a4: PUSH1 0x3f
000013a6: RETURNDATASIZE
000013a7: ADD
000013a8: AND
000013a9: DUP3
000013aa: ADD
000013ab: PUSH1 0x40
000013ad: MSTORE
000013ae: RETURNDATASIZE
000013af: DUP3
000013b0: MSTORE
000013b1: RETURNDATASIZE
000013b2: PUSH0
000013b3: PUSH1 0x20
000013b5: DUP5
000013b6: ADD
000013b7: RETURNDATACOPY
000013b8: PUSH2 0x13c1
000013bb: JUMP
000013bc: JUMPDEST
000013bd: PUSH1 0x60
000013bf: SWAP2
000013c0: POP
000013c1: JUMPDEST
000013c2: POP
000013c3: SWAP1
000013c4: SWAP9
000013c5: POP
000013c6: SWAP7
000013c7: POP
000013c8: DUP8
000013c9: PUSH2 0x13e5
000013cc: JUMPI
000013cd: PUSH1 0x40
000013cf: MLOAD
000013d0: PUSH4 0x3badd6bb
000013d5: PUSH1 0xe2
000013d7: SHL
000013d8: DUP2
000013d9: MSTORE
000013da: PUSH1 0x04
000013dc: ADD
000013dd: PUSH1 0x40
000013df: MLOAD
000013e0: DUP1
000013e1: SWAP2
000013e2: SUB
000013e3: SWAP1
000013e4: REVERT
000013e5: JUMPDEST
000013e6: PUSH0
000013e7: DUP7
000013e8: PUSH1 0x60
000013ea: ADD
000013eb: MLOAD
000013ec: MLOAD
000013ed: GT
000013ee: DUP1
000013ef: ISZERO
000013f0: PUSH2 0x141f
000013f3: JUMPI
000013f4: POP
000013f5: PUSH1 0x04
000013f7: PUSH1 0xff
000013f9: AND
000013fa: DUP7
000013fb: PUSH1 0x60
000013fd: ADD
000013fe: MLOAD
000013ff: DUP3
00001400: DUP2
00001401: MLOAD
00001402: DUP2
00001403: LT
00001404: PUSH2 0x140f
00001407: JUMPI
00001408: PUSH2 0x140f
0000140b: PUSH2 0x37ee
0000140e: JUMP
0000140f: JUMPDEST
00001410: PUSH1 0x20
00001412: MUL
00001413: PUSH1 0x20
00001415: ADD
00001416: ADD
00001417: MLOAD
00001418: PUSH0
00001419: ADD
0000141a: MLOAD
0000141b: PUSH1 0xff
0000141d: AND
0000141e: EQ
0000141f: JUMPDEST
00001420: ISZERO
00001421: PUSH2 0x1636
00001424: JUMPI
00001425: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0000143a: PUSH1 0x01
0000143c: PUSH1 0x01
0000143e: PUSH1 0xa0
00001440: SHL
00001441: SUB
00001442: AND
00001443: DUP7
00001444: PUSH1 0x60
00001446: ADD
00001447: MLOAD
00001448: DUP3
00001449: DUP2
0000144a: MLOAD
0000144b: DUP2
0000144c: LT
0000144d: PUSH2 0x1458
00001450: JUMPI
00001451: PUSH2 0x1458
00001454: PUSH2 0x37ee
00001457: JUMP
00001458: JUMPDEST
00001459: PUSH1 0x20
0000145b: MUL
0000145c: PUSH1 0x20
0000145e: ADD
0000145f: ADD
00001460: MLOAD
00001461: PUSH1 0x20
00001463: ADD
00001464: MLOAD
00001465: PUSH1 0x01
00001467: PUSH1 0x01
00001469: PUSH1 0xa0
0000146b: SHL
0000146c: SUB
0000146d: AND
0000146e: EQ
0000146f: PUSH2 0x1502
00001472: JUMPI
00001473: DUP6
00001474: PUSH1 0x60
00001476: ADD
00001477: MLOAD
00001478: DUP2
00001479: DUP2
0000147a: MLOAD
0000147b: DUP2
0000147c: LT
0000147d: PUSH2 0x1488
00001480: JUMPI
00001481: PUSH2 0x1488
00001484: PUSH2 0x37ee
00001487: JUMP
00001488: JUMPDEST
00001489: PUSH1 0x20
0000148b: SWAP1
0000148c: DUP2
0000148d: MUL
0000148e: SWAP2
0000148f: SWAP1
00001490: SWAP2
00001491: ADD
00001492: DUP2
00001493: ADD
00001494: MLOAD
00001495: ADD
00001496: MLOAD
00001497: PUSH1 0x40
00001499: MLOAD
0000149a: PUSH4 0x70a08231
0000149f: PUSH1 0xe0
000014a1: SHL
000014a2: DUP2
000014a3: MSTORE
000014a4: ADDRESS
000014a5: PUSH1 0x04
000014a7: DUP3
000014a8: ADD
000014a9: MSTORE
000014aa: PUSH1 0x01
000014ac: PUSH1 0x01
000014ae: PUSH1 0xa0
000014b0: SHL
000014b1: SUB
000014b2: SWAP1
000014b3: SWAP2
000014b4: AND
000014b5: SWAP1
000014b6: PUSH4 0x70a08231
000014bb: SWAP1
000014bc: PUSH1 0x24
000014be: ADD
000014bf: PUSH1 0x20
000014c1: PUSH1 0x40
000014c3: MLOAD
000014c4: DUP1
000014c5: DUP4
000014c6: SUB
000014c7: DUP2
000014c8: DUP7
000014c9: GAS
000014ca: STATICCALL
000014cb: ISZERO
000014cc: DUP1
000014cd: ISZERO
000014ce: PUSH2 0x14d9
000014d1: JUMPI
000014d2: RETURNDATASIZE
000014d3: PUSH0
000014d4: DUP1
000014d5: RETURNDATACOPY
000014d6: RETURNDATASIZE
000014d7: PUSH0
000014d8: REVERT
000014d9: JUMPDEST
000014da: POP
000014db: POP
000014dc: POP
000014dd: POP
000014de: PUSH1 0x40
000014e0: MLOAD
000014e1: RETURNDATASIZE
000014e2: PUSH1 0x1f
000014e4: NOT
000014e5: PUSH1 0x1f
000014e7: DUP3
000014e8: ADD
000014e9: AND
000014ea: DUP3
000014eb: ADD
000014ec: DUP1
000014ed: PUSH1 0x40
000014ef: MSTORE
000014f0: POP
000014f1: DUP2
000014f2: ADD
000014f3: SWAP1
000014f4: PUSH2 0x14fd
000014f7: SWAP2
000014f8: SWAP1
000014f9: PUSH2 0x37b8
000014fc: JUMP
000014fd: JUMPDEST
000014fe: PUSH2 0x1504
00001501: JUMP
00001502: JUMPDEST
00001503: SELFBALANCE
00001504: JUMPDEST
00001505: SWAP4
00001506: POP
00001507: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0000151c: PUSH1 0x01
0000151e: PUSH1 0x01
00001520: PUSH1 0xa0
00001522: SHL
00001523: SUB
00001524: AND
00001525: DUP7
00001526: PUSH1 0x60
00001528: ADD
00001529: MLOAD
0000152a: DUP3
0000152b: DUP2
0000152c: MLOAD
0000152d: DUP2
0000152e: LT
0000152f: PUSH2 0x153a
00001532: JUMPI
00001533: PUSH2 0x153a
00001536: PUSH2 0x37ee
00001539: JUMP
0000153a: JUMPDEST
0000153b: PUSH1 0x20
0000153d: MUL
0000153e: PUSH1 0x20
00001540: ADD
00001541: ADD
00001542: MLOAD
00001543: PUSH1 0x60
00001545: ADD
00001546: MLOAD
00001547: PUSH1 0x01
00001549: PUSH1 0x01
0000154b: PUSH1 0xa0
0000154d: SHL
0000154e: SUB
0000154f: AND
00001550: EQ
00001551: PUSH2 0x15e5
00001554: JUMPI
00001555: DUP6
00001556: PUSH1 0x60
00001558: ADD
00001559: MLOAD
0000155a: DUP2
0000155b: DUP2
0000155c: MLOAD
0000155d: DUP2
0000155e: LT
0000155f: PUSH2 0x156a
00001562: JUMPI
00001563: PUSH2 0x156a
00001566: PUSH2 0x37ee
00001569: JUMP
0000156a: JUMPDEST
0000156b: PUSH1 0x20
0000156d: SWAP1
0000156e: DUP2
0000156f: MUL
00001570: SWAP2
00001571: SWAP1
00001572: SWAP2
00001573: ADD
00001574: ADD
00001575: MLOAD
00001576: PUSH1 0x60
00001578: ADD
00001579: MLOAD
0000157a: PUSH1 0x40
0000157c: MLOAD
0000157d: PUSH4 0x70a08231
00001582: PUSH1 0xe0
00001584: SHL
00001585: DUP2
00001586: MSTORE
00001587: ADDRESS
00001588: PUSH1 0x04
0000158a: DUP3
0000158b: ADD
0000158c: MSTORE
0000158d: PUSH1 0x01
0000158f: PUSH1 0x01
00001591: PUSH1 0xa0
00001593: SHL
00001594: SUB
00001595: SWAP1
00001596: SWAP2
00001597: AND
00001598: SWAP1
00001599: PUSH4 0x70a08231
0000159e: SWAP1
0000159f: PUSH1 0x24
000015a1: ADD
000015a2: PUSH1 0x20
000015a4: PUSH1 0x40
000015a6: MLOAD
000015a7: DUP1
000015a8: DUP4
000015a9: SUB
000015aa: DUP2
000015ab: DUP7
000015ac: GAS
000015ad: STATICCALL
000015ae: ISZERO
000015af: DUP1
000015b0: ISZERO
000015b1: PUSH2 0x15bc
000015b4: JUMPI
000015b5: RETURNDATASIZE
000015b6: PUSH0
000015b7: DUP1
000015b8: RETURNDATACOPY
000015b9: RETURNDATASIZE
000015ba: PUSH0
000015bb: REVERT
000015bc: JUMPDEST
000015bd: POP
000015be: POP
000015bf: POP
000015c0: POP
000015c1: PUSH1 0x40
000015c3: MLOAD
000015c4: RETURNDATASIZE
000015c5: PUSH1 0x1f
000015c7: NOT
000015c8: PUSH1 0x1f
000015ca: DUP3
000015cb: ADD
000015cc: AND
000015cd: DUP3
000015ce: ADD
000015cf: DUP1
000015d0: PUSH1 0x40
000015d2: MSTORE
000015d3: POP
000015d4: DUP2
000015d5: ADD
000015d6: SWAP1
000015d7: PUSH2 0x15e0
000015da: SWAP2
000015db: SWAP1
000015dc: PUSH2 0x37b8
000015df: JUMP
000015e0: JUMPDEST
000015e1: PUSH2 0x15e7
000015e4: JUMP
000015e5: JUMPDEST
000015e6: SELFBALANCE
000015e7: JUMPDEST
000015e8: SWAP2
000015e9: POP
000015ea: DUP2
000015eb: DUP7
000015ec: PUSH1 0x60
000015ee: ADD
000015ef: MLOAD
000015f0: DUP3
000015f1: DUP2
000015f2: MLOAD
000015f3: DUP2
000015f4: LT
000015f5: PUSH2 0x1600
000015f8: JUMPI
000015f9: PUSH2 0x1600
000015fc: PUSH2 0x37ee
000015ff: JUMP
00001600: JUMPDEST
00001601: PUSH1 0x20
00001603: MUL
00001604: PUSH1 0x20
00001606: ADD
00001607: ADD
00001608: MLOAD
00001609: PUSH1 0x80
0000160b: ADD
0000160c: MLOAD
0000160d: DUP5
0000160e: PUSH2 0x1617
00001611: SWAP2
00001612: SWAP1
00001613: PUSH2 0x3d94
00001616: JUMP
00001617: JUMPDEST
00001618: GT
00001619: ISZERO
0000161a: PUSH2 0x1636
0000161d: JUMPI
0000161e: PUSH1 0x40
00001620: MLOAD
00001621: PUSH4 0x0a854041
00001626: PUSH1 0xe1
00001628: SHL
00001629: DUP2
0000162a: MSTORE
0000162b: PUSH1 0x04
0000162d: ADD
0000162e: PUSH1 0x40
00001630: MLOAD
00001631: DUP1
00001632: SWAP2
00001633: SUB
00001634: SWAP1
00001635: REVERT
00001636: JUMPDEST
00001637: PUSH0
00001638: PUSH2 0x1641
0000163b: DUP5
0000163c: DUP5
0000163d: PUSH2 0x3da7
00001640: JUMP
00001641: JUMPDEST
00001642: SWAP1
00001643: POP
00001644: PUSH2 0x164e
00001647: DUP3
00001648: DUP3
00001649: DUP10
0000164a: PUSH2 0x241c
0000164d: JUMP
0000164e: JUMPDEST
0000164f: POP
00001650: PUSH1 0x01
00001652: ADD
00001653: PUSH2 0x1101
00001656: JUMP
00001657: JUMPDEST
00001658: POP
00001659: CALLER
0000165a: PUSH1 0x01
0000165c: PUSH1 0x01
0000165e: PUSH1 0xa0
00001660: SHL
00001661: SUB
00001662: AND
00001663: DUP15
00001664: PUSH32 0x1bef730252e1d194308677bda575d7611fd41e9e78b5f4fe059b852e570adf24
00001685: DUP16
00001686: DUP16
00001687: PUSH1 0x40
00001689: MLOAD
0000168a: PUSH2 0x1694
0000168d: SWAP3
0000168e: SWAP2
0000168f: SWAP1
00001690: PUSH2 0x37a5
00001693: JUMP
00001694: JUMPDEST
00001695: PUSH1 0x40
00001697: MLOAD
00001698: DUP1
00001699: SWAP2
0000169a: SUB
0000169b: SWAP1
0000169c: LOG3
0000169d: POP
0000169e: SWAP4
0000169f: SWAP9
000016a0: POP
000016a1: POP
000016a2: POP
000016a3: POP
000016a4: POP
000016a5: POP
000016a6: POP
000016a7: POP
000016a8: POP
000016a9: PUSH2 0x06ec
000016ac: PUSH1 0x01
000016ae: DUP1
000016af: SSTORE
000016b0: JUMP
000016b1: JUMPDEST
000016b2: PUSH2 0x16b9
000016b5: PUSH2 0x1ad4
000016b8: JUMP
000016b9: JUMPDEST
000016ba: PUSH1 0x06
000016bc: SLOAD
000016bd: PUSH1 0x01
000016bf: PUSH1 0x01
000016c1: PUSH1 0xa0
000016c3: SHL
000016c4: SUB
000016c5: AND
000016c6: PUSH2 0x16e2
000016c9: JUMPI
000016ca: PUSH1 0x40
000016cc: MLOAD
000016cd: PUSH4 0xd311bc39
000016d2: PUSH1 0xe0
000016d4: SHL
000016d5: DUP2
000016d6: MSTORE
000016d7: PUSH1 0x04
000016d9: ADD
000016da: PUSH1 0x40
000016dc: MLOAD
000016dd: DUP1
000016de: SWAP2
000016df: SUB
000016e0: SWAP1
000016e1: REVERT
000016e2: JUMPDEST
000016e3: PUSH1 0x02
000016e5: SLOAD
000016e6: PUSH1 0x01
000016e8: PUSH1 0x01
000016ea: PUSH1 0xa0
000016ec: SHL
000016ed: SUB
000016ee: AND
000016ef: CALLER
000016f0: EQ
000016f1: PUSH2 0x1722
000016f4: JUMPI
000016f5: PUSH2 0x1705
000016f8: CALLER
000016f9: PUSH4 0x6db5a923
000016fe: PUSH1 0xe1
00001700: SHL
00001701: PUSH2 0x1954
00001704: JUMP
00001705: JUMPDEST
00001706: PUSH2 0x1722
00001709: JUMPI
0000170a: PUSH1 0x40
0000170c: MLOAD
0000170d: PUSH4 0x07824841
00001712: PUSH1 0xe2
00001714: SHL
00001715: DUP2
00001716: MSTORE
00001717: PUSH1 0x04
00001719: ADD
0000171a: PUSH1 0x40
0000171c: MLOAD
0000171d: DUP1
0000171e: SWAP2
0000171f: SUB
00001720: SWAP1
00001721: REVERT
00001722: JUMPDEST
00001723: PUSH1 0x40
00001725: MLOAD
00001726: CALLVALUE
00001727: DUP2
00001728: MSTORE
00001729: CALLER
0000172a: SWAP1
0000172b: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00001740: SWAP1
00001741: PUSH32 0x5136d247c82e28135f2f6969f083c19ee849ea93b1e9aa54b8f2c6207c4aa7dd
00001762: SWAP1
00001763: PUSH1 0x20
00001765: ADD
00001766: PUSH1 0x40
00001768: MLOAD
00001769: DUP1
0000176a: SWAP2
0000176b: SUB
0000176c: SWAP1
0000176d: LOG3
0000176e: PUSH2 0x1776
00001771: PUSH1 0x01
00001773: DUP1
00001774: SSTORE
00001775: JUMP
00001776: JUMPDEST
00001777: JUMP
00001778: JUMPDEST
00001779: PUSH0
0000177a: PUSH2 0x0b7b
0000177d: PUSH1 0x05
0000177f: SLOAD
00001780: SWAP1
00001781: JUMP
00001782: JUMPDEST
00001783: PUSH2 0x178a
00001786: PUSH2 0x1ad4
00001789: JUMP
0000178a: JUMPDEST
0000178b: PUSH1 0x02
0000178d: SLOAD
0000178e: PUSH1 0x01
00001790: PUSH1 0x01
00001792: PUSH1 0xa0
00001794: SHL
00001795: SUB
00001796: AND
00001797: CALLER
00001798: EQ
00001799: PUSH2 0x17b5
0000179c: JUMPI
0000179d: PUSH1 0x40
0000179f: MLOAD
000017a0: PUSH4 0x5fc483c5
000017a5: PUSH1 0xe0
000017a7: SHL
000017a8: DUP2
000017a9: MSTORE
000017aa: PUSH1 0x04
000017ac: ADD
000017ad: PUSH1 0x40
000017af: MLOAD
000017b0: DUP1
000017b1: SWAP2
000017b2: SUB
000017b3: SWAP1
000017b4: REVERT
000017b5: JUMPDEST
000017b6: PUSH2 0x17be
000017b9: DUP2
000017ba: PUSH2 0x258e
000017bd: JUMP
000017be: JUMPDEST
000017bf: PUSH2 0x17c7
000017c2: PUSH1 0x01
000017c4: DUP1
000017c5: SSTORE
000017c6: JUMP
000017c7: JUMPDEST
000017c8: POP
000017c9: JUMP
000017ca: JUMPDEST
000017cb: PUSH0
000017cc: SLOAD
000017cd: PUSH2 0x0100
000017d0: SWAP1
000017d1: DIV
000017d2: PUSH1 0xff
000017d4: AND
000017d5: ISZERO
000017d6: DUP1
000017d7: DUP1
000017d8: ISZERO
000017d9: PUSH2 0x17e8
000017dc: JUMPI
000017dd: POP
000017de: PUSH0
000017df: SLOAD
000017e0: PUSH1 0x01
000017e2: PUSH1 0xff
000017e4: SWAP1
000017e5: SWAP2
000017e6: AND
000017e7: LT
000017e8: JUMPDEST
000017e9: DUP1
000017ea: PUSH2 0x1801
000017ed: JUMPI
000017ee: POP
000017ef: ADDRESS
000017f0: EXTCODESIZE
000017f1: ISZERO
000017f2: DUP1
000017f3: ISZERO
000017f4: PUSH2 0x1801
000017f7: JUMPI
000017f8: POP
000017f9: PUSH0
000017fa: SLOAD
000017fb: PUSH1 0xff
000017fd: AND
000017fe: PUSH1 0x01
00001800: EQ
00001801: JUMPDEST
00001802: PUSH2 0x1864
00001805: JUMPI
00001806: PUSH1 0x40
00001808: MLOAD
00001809: PUSH3 0x461bcd
0000180d: PUSH1 0xe5
0000180f: SHL
00001810: DUP2
00001811: MSTORE
00001812: PUSH1 0x20
00001814: PUSH1 0x04
00001816: DUP3
00001817: ADD
00001818: MSTORE
00001819: PUSH1 0x2e
0000181b: PUSH1 0x24
0000181d: DUP3
0000181e: ADD
0000181f: MSTORE
00001820: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00001841: PUSH1 0x44
00001843: DUP3
00001844: ADD
00001845: MSTORE
00001846: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00001855: PUSH1 0x92
00001857: SHL
00001858: PUSH1 0x64
0000185a: DUP3
0000185b: ADD
0000185c: MSTORE
0000185d: PUSH1 0x84
0000185f: ADD
00001860: PUSH2 0x0ec2
00001863: JUMP
00001864: JUMPDEST
00001865: PUSH0
00001866: DUP1
00001867: SLOAD
00001868: PUSH1 0xff
0000186a: NOT
0000186b: AND
0000186c: PUSH1 0x01
0000186e: OR
0000186f: SWAP1
00001870: SSTORE
00001871: DUP1
00001872: ISZERO
00001873: PUSH2 0x1885
00001876: JUMPI
00001877: PUSH0
00001878: DUP1
00001879: SLOAD
0000187a: PUSH2 0xff00
0000187d: NOT
0000187e: AND
0000187f: PUSH2 0x0100
00001882: OR
00001883: SWAP1
00001884: SSTORE
00001885: JUMPDEST
00001886: PUSH2 0x18a8
00001889: DUP3
0000188a: PUSH1 0x40
0000188c: MLOAD
0000188d: DUP1
0000188e: PUSH1 0x40
00001890: ADD
00001891: PUSH1 0x40
00001893: MSTORE
00001894: DUP1
00001895: PUSH1 0x01
00001897: DUP2
00001898: MSTORE
00001899: PUSH1 0x20
0000189b: ADD
0000189c: PUSH1 0x31
0000189e: PUSH1 0xf8
000018a0: SHL
000018a1: DUP2
000018a2: MSTORE
000018a3: POP
000018a4: PUSH2 0x25df
000018a7: JUMP
000018a8: JUMPDEST
000018a9: PUSH1 0x06
000018ab: DUP1
000018ac: SLOAD
000018ad: CALLER
000018ae: PUSH1 0x01
000018b0: PUSH1 0x01
000018b2: PUSH1 0xa0
000018b4: SHL
000018b5: SUB
000018b6: NOT
000018b7: SWAP2
000018b8: DUP3
000018b9: AND
000018ba: DUP2
000018bb: OR
000018bc: SWAP1
000018bd: SWAP3
000018be: SSTORE
000018bf: PUSH1 0x02
000018c1: DUP1
000018c2: SLOAD
000018c3: SWAP1
000018c4: SWAP2
000018c5: AND
000018c6: SWAP1
000018c7: SWAP2
000018c8: OR
000018c9: SWAP1
000018ca: SSTORE
000018cb: DUP1
000018cc: ISZERO
000018cd: PUSH2 0x04be
000018d0: JUMPI
000018d1: PUSH0
000018d2: DUP1
000018d3: SLOAD
000018d4: PUSH2 0xff00
000018d7: NOT
000018d8: AND
000018d9: SWAP1
000018da: SSTORE
000018db: PUSH1 0x40
000018dd: MLOAD
000018de: PUSH1 0x01
000018e0: DUP2
000018e1: MSTORE
000018e2: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001903: SWAP1
00001904: PUSH1 0x20
00001906: ADD
00001907: PUSH1 0x40
00001909: MLOAD
0000190a: DUP1
0000190b: SWAP2
0000190c: SUB
0000190d: SWAP1
0000190e: LOG1
0000190f: POP
00001910: POP
00001911: JUMP
00001912: JUMPDEST
00001913: PUSH0
00001914: DUP1
00001915: DUP3
00001916: MLOAD
00001917: PUSH1 0x41
00001919: SUB
0000191a: PUSH2 0x1946
0000191d: JUMPI
0000191e: PUSH1 0x20
00001920: DUP4
00001921: ADD
00001922: MLOAD
00001923: PUSH1 0x40
00001925: DUP5
00001926: ADD
00001927: MLOAD
00001928: PUSH1 0x60
0000192a: DUP6
0000192b: ADD
0000192c: MLOAD
0000192d: PUSH0
0000192e: BYTE
0000192f: PUSH2 0x193a
00001932: DUP8
00001933: DUP3
00001934: DUP6
00001935: DUP6
00001936: PUSH2 0x26d3
00001939: JUMP
0000193a: JUMPDEST
0000193b: SWAP5
0000193c: POP
0000193d: SWAP5
0000193e: POP
0000193f: POP
00001940: POP
00001941: POP
00001942: PUSH2 0x194d
00001945: JUMP
00001946: JUMPDEST
00001947: POP
00001948: PUSH0
00001949: SWAP1
0000194a: POP
0000194b: PUSH1 0x02
0000194d: JUMPDEST
0000194e: SWAP3
0000194f: POP
00001950: SWAP3
00001951: SWAP1
00001952: POP
00001953: JUMP
00001954: JUMPDEST
00001955: PUSH1 0x06
00001957: SLOAD
00001958: PUSH1 0x40
0000195a: MLOAD
0000195b: PUSH4 0x12315605
00001960: PUSH1 0xe3
00001962: SHL
00001963: DUP2
00001964: MSTORE
00001965: CALLER
00001966: PUSH1 0x04
00001968: DUP3
00001969: ADD
0000196a: MSTORE
0000196b: ADDRESS
0000196c: PUSH1 0x24
0000196e: DUP3
0000196f: ADD
00001970: MSTORE
00001971: PUSH0
00001972: SWAP2
00001973: DUP3
00001974: SWAP2
00001975: PUSH1 0x01
00001977: PUSH1 0x01
00001979: PUSH1 0xa0
0000197b: SHL
0000197c: SUB
0000197d: SWAP1
0000197e: SWAP2
0000197f: AND
00001980: SWAP1
00001981: PUSH4 0x918ab028
00001986: SWAP1
00001987: PUSH1 0x44
00001989: ADD
0000198a: PUSH1 0x20
0000198c: PUSH1 0x40
0000198e: MLOAD
0000198f: DUP1
00001990: DUP4
00001991: SUB
00001992: DUP2
00001993: DUP7
00001994: GAS
00001995: STATICCALL
00001996: ISZERO
00001997: DUP1
00001998: ISZERO
00001999: PUSH2 0x19a4
0000199c: JUMPI
0000199d: RETURNDATASIZE
0000199e: PUSH0
0000199f: DUP1
000019a0: RETURNDATACOPY
000019a1: RETURNDATASIZE
000019a2: PUSH0
000019a3: REVERT
000019a4: JUMPDEST
000019a5: POP
000019a6: POP
000019a7: POP
000019a8: POP
000019a9: PUSH1 0x40
000019ab: MLOAD
000019ac: RETURNDATASIZE
000019ad: PUSH1 0x1f
000019af: NOT
000019b0: PUSH1 0x1f
000019b2: DUP3
000019b3: ADD
000019b4: AND
000019b5: DUP3
000019b6: ADD
000019b7: DUP1
000019b8: PUSH1 0x40
000019ba: MSTORE
000019bb: POP
000019bc: DUP2
000019bd: ADD
000019be: SWAP1
000019bf: PUSH2 0x19c8
000019c2: SWAP2
000019c3: SWAP1
000019c4: PUSH2 0x37b8
000019c7: JUMP
000019c8: JUMPDEST
000019c9: SWAP1
000019ca: POP
000019cb: DUP1
000019cc: PUSH2 0x1a44
000019cf: JUMPI
000019d0: PUSH1 0x06
000019d2: SLOAD
000019d3: PUSH1 0x40
000019d5: MLOAD
000019d6: PUSH4 0x12315605
000019db: PUSH1 0xe3
000019dd: SHL
000019de: DUP2
000019df: MSTORE
000019e0: PUSH1 0x01
000019e2: PUSH1 0x01
000019e4: PUSH1 0xa0
000019e6: SHL
000019e7: SUB
000019e8: DUP7
000019e9: DUP2
000019ea: AND
000019eb: PUSH1 0x04
000019ed: DUP4
000019ee: ADD
000019ef: MSTORE
000019f0: PUSH0
000019f1: PUSH1 0x24
000019f3: DUP4
000019f4: ADD
000019f5: MSTORE
000019f6: SWAP1
000019f7: SWAP2
000019f8: AND
000019f9: SWAP1
000019fa: PUSH4 0x918ab028
000019ff: SWAP1
00001a00: PUSH1 0x44
00001a02: ADD
00001a03: PUSH1 0x20
00001a05: PUSH1 0x40
00001a07: MLOAD
00001a08: DUP1
00001a09: DUP4
00001a0a: SUB
00001a0b: DUP2
00001a0c: DUP7
00001a0d: GAS
00001a0e: STATICCALL
00001a0f: ISZERO
00001a10: DUP1
00001a11: ISZERO
00001a12: PUSH2 0x1a1d
00001a15: JUMPI
00001a16: RETURNDATASIZE
00001a17: PUSH0
00001a18: DUP1
00001a19: RETURNDATACOPY
00001a1a: RETURNDATASIZE
00001a1b: PUSH0
00001a1c: REVERT
00001a1d: JUMPDEST
00001a1e: POP
00001a1f: POP
00001a20: POP
00001a21: POP
00001a22: PUSH1 0x40
00001a24: MLOAD
00001a25: RETURNDATASIZE
00001a26: PUSH1 0x1f
00001a28: NOT
00001a29: PUSH1 0x1f
00001a2b: DUP3
00001a2c: ADD
00001a2d: AND
00001a2e: DUP3
00001a2f: ADD
00001a30: DUP1
00001a31: PUSH1 0x40
00001a33: MSTORE
00001a34: POP
00001a35: DUP2
00001a36: ADD
00001a37: SWAP1
00001a38: PUSH2 0x1a41
00001a3b: SWAP2
00001a3c: SWAP1
00001a3d: PUSH2 0x37b8
00001a40: JUMP
00001a41: JUMPDEST
00001a42: SWAP1
00001a43: POP
00001a44: JUMPDEST
00001a45: PUSH1 0x06
00001a47: SLOAD
00001a48: PUSH1 0x40
00001a4a: MLOAD
00001a4b: PUSH4 0x0128732f
00001a50: PUSH1 0xe1
00001a52: SHL
00001a53: DUP2
00001a54: MSTORE
00001a55: PUSH1 0x04
00001a57: DUP2
00001a58: ADD
00001a59: DUP4
00001a5a: SWAP1
00001a5b: MSTORE
00001a5c: ADDRESS
00001a5d: PUSH1 0x24
00001a5f: DUP3
00001a60: ADD
00001a61: DUP2
00001a62: SWAP1
00001a63: MSTORE
00001a64: PUSH1 0x01
00001a66: PUSH1 0x01
00001a68: PUSH1 0xe0
00001a6a: SHL
00001a6b: SUB
00001a6c: NOT
00001a6d: DUP7
00001a6e: AND
00001a6f: PUSH1 0x44
00001a71: DUP4
00001a72: ADD
00001a73: MSTORE
00001a74: PUSH1 0x64
00001a76: DUP3
00001a77: ADD
00001a78: MSTORE
00001a79: PUSH1 0x01
00001a7b: PUSH1 0x01
00001a7d: PUSH1 0xa0
00001a7f: SHL
00001a80: SUB
00001a81: SWAP1
00001a82: SWAP2
00001a83: AND
00001a84: SWAP1
00001a85: PUSH4 0x0250e65e
00001a8a: SWAP1
00001a8b: PUSH1 0x84
00001a8d: ADD
00001a8e: PUSH1 0x20
00001a90: PUSH1 0x40
00001a92: MLOAD
00001a93: DUP1
00001a94: DUP4
00001a95: SUB
00001a96: DUP2
00001a97: DUP7
00001a98: GAS
00001a99: STATICCALL
00001a9a: ISZERO
00001a9b: DUP1
00001a9c: ISZERO
00001a9d: PUSH2 0x1aa8
00001aa0: JUMPI
00001aa1: RETURNDATASIZE
00001aa2: PUSH0
00001aa3: DUP1
00001aa4: RETURNDATACOPY
00001aa5: RETURNDATASIZE
00001aa6: PUSH0
00001aa7: REVERT
00001aa8: JUMPDEST
00001aa9: POP
00001aaa: POP
00001aab: POP
00001aac: POP
00001aad: PUSH1 0x40
00001aaf: MLOAD
00001ab0: RETURNDATASIZE
00001ab1: PUSH1 0x1f
00001ab3: NOT
00001ab4: PUSH1 0x1f
00001ab6: DUP3
00001ab7: ADD
00001ab8: AND
00001ab9: DUP3
00001aba: ADD
00001abb: DUP1
00001abc: PUSH1 0x40
00001abe: MSTORE
00001abf: POP
00001ac0: DUP2
00001ac1: ADD
00001ac2: SWAP1
00001ac3: PUSH2 0x1acc
00001ac6: SWAP2
00001ac7: SWAP1
00001ac8: PUSH2 0x37cf
00001acb: JUMP
00001acc: JUMPDEST
00001acd: SWAP5
00001ace: SWAP4
00001acf: POP
00001ad0: POP
00001ad1: POP
00001ad2: POP
00001ad3: JUMP
00001ad4: JUMPDEST
00001ad5: PUSH1 0x02
00001ad7: PUSH1 0x01
00001ad9: SLOAD
00001ada: SUB
00001adb: PUSH2 0x1af7
00001ade: JUMPI
00001adf: PUSH1 0x40
00001ae1: MLOAD
00001ae2: PUSH4 0x06fda65d
00001ae7: PUSH1 0xe3
00001ae9: SHL
00001aea: DUP2
00001aeb: MSTORE
00001aec: PUSH1 0x04
00001aee: ADD
00001aef: PUSH1 0x40
00001af1: MLOAD
00001af2: DUP1
00001af3: SWAP2
00001af4: SUB
00001af5: SWAP1
00001af6: REVERT
00001af7: JUMPDEST
00001af8: PUSH1 0x02
00001afa: PUSH1 0x01
00001afc: SSTORE
00001afd: JUMP
00001afe: JUMPDEST
00001aff: PUSH1 0x40
00001b01: MLOAD
00001b02: PUSH1 0x01
00001b04: PUSH1 0x01
00001b06: PUSH1 0xa0
00001b08: SHL
00001b09: SUB
00001b0a: DUP1
00001b0b: DUP6
00001b0c: AND
00001b0d: PUSH1 0x24
00001b0f: DUP4
00001b10: ADD
00001b11: MSTORE
00001b12: DUP4
00001b13: AND
00001b14: PUSH1 0x44
00001b16: DUP3
00001b17: ADD
00001b18: MSTORE
00001b19: PUSH1 0x64
00001b1b: DUP2
00001b1c: ADD
00001b1d: DUP3
00001b1e: SWAP1
00001b1f: MSTORE
00001b20: PUSH2 0x1b69
00001b23: SWAP1
00001b24: DUP6
00001b25: SWAP1
00001b26: PUSH4 0x23b872dd
00001b2b: PUSH1 0xe0
00001b2d: SHL
00001b2e: SWAP1
00001b2f: PUSH1 0x84
00001b31: ADD
00001b32: JUMPDEST
00001b33: PUSH1 0x40
00001b35: DUP1
00001b36: MLOAD
00001b37: PUSH1 0x1f
00001b39: NOT
00001b3a: DUP2
00001b3b: DUP5
00001b3c: SUB
00001b3d: ADD
00001b3e: DUP2
00001b3f: MSTORE
00001b40: SWAP2
00001b41: SWAP1
00001b42: MSTORE
00001b43: PUSH1 0x20
00001b45: DUP2
00001b46: ADD
00001b47: DUP1
00001b48: MLOAD
00001b49: PUSH1 0x01
00001b4b: PUSH1 0x01
00001b4d: PUSH1 0xe0
00001b4f: SHL
00001b50: SUB
00001b51: AND
00001b52: PUSH1 0x01
00001b54: PUSH1 0x01
00001b56: PUSH1 0xe0
00001b58: SHL
00001b59: SUB
00001b5a: NOT
00001b5b: SWAP1
00001b5c: SWAP4
00001b5d: AND
00001b5e: SWAP3
00001b5f: SWAP1
00001b60: SWAP3
00001b61: OR
00001b62: SWAP1
00001b63: SWAP2
00001b64: MSTORE
00001b65: PUSH2 0x2790
00001b68: JUMP
00001b69: JUMPDEST
00001b6a: POP
00001b6b: POP
00001b6c: POP
00001b6d: POP
00001b6e: JUMP
00001b6f: JUMPDEST
00001b70: PUSH2 0x1b77
00001b73: PUSH2 0x1ad4
00001b76: JUMP
00001b77: JUMPDEST
00001b78: PUSH1 0x01
00001b7a: PUSH1 0x01
00001b7c: PUSH1 0xa0
00001b7e: SHL
00001b7f: SUB
00001b80: DUP2
00001b81: AND
00001b82: ISZERO
00001b83: PUSH2 0x1ec5
00001b86: JUMPI
00001b87: PUSH1 0x06
00001b89: SLOAD
00001b8a: PUSH1 0x40
00001b8c: MLOAD
00001b8d: PUSH4 0x1d7d882b
00001b92: PUSH1 0xe2
00001b94: SHL
00001b95: DUP2
00001b96: MSTORE
00001b97: PUSH1 0x01
00001b99: PUSH1 0x01
00001b9b: PUSH1 0xa0
00001b9d: SHL
00001b9e: SUB
00001b9f: DUP4
00001ba0: DUP2
00001ba1: AND
00001ba2: PUSH1 0x04
00001ba4: DUP4
00001ba5: ADD
00001ba6: MSTORE
00001ba7: PUSH0
00001ba8: SWAP3
00001ba9: AND
00001baa: SWAP1
00001bab: PUSH4 0x75f620ac
00001bb0: SWAP1
00001bb1: PUSH1 0x24
00001bb3: ADD
00001bb4: PUSH1 0x20
00001bb6: PUSH1 0x40
00001bb8: MLOAD
00001bb9: DUP1
00001bba: DUP4
00001bbb: SUB
00001bbc: DUP2
00001bbd: DUP7
00001bbe: GAS
00001bbf: STATICCALL
00001bc0: ISZERO
00001bc1: DUP1
00001bc2: ISZERO
00001bc3: PUSH2 0x1bce
00001bc6: JUMPI
00001bc7: RETURNDATASIZE
00001bc8: PUSH0
00001bc9: DUP1
00001bca: RETURNDATACOPY
00001bcb: RETURNDATASIZE
00001bcc: PUSH0
00001bcd: REVERT
00001bce: JUMPDEST
00001bcf: POP
00001bd0: POP
00001bd1: POP
00001bd2: POP
00001bd3: PUSH1 0x40
00001bd5: MLOAD
00001bd6: RETURNDATASIZE
00001bd7: PUSH1 0x1f
00001bd9: NOT
00001bda: PUSH1 0x1f
00001bdc: DUP3
00001bdd: ADD
00001bde: AND
00001bdf: DUP3
00001be0: ADD
00001be1: DUP1
00001be2: PUSH1 0x40
00001be4: MSTORE
00001be5: POP
00001be6: DUP2
00001be7: ADD
00001be8: SWAP1
00001be9: PUSH2 0x1bf2
00001bec: SWAP2
00001bed: SWAP1
00001bee: PUSH2 0x37b8
00001bf1: JUMP
00001bf2: JUMPDEST
00001bf3: PUSH1 0x06
00001bf5: SLOAD
00001bf6: PUSH1 0x40
00001bf8: MLOAD
00001bf9: PUSH4 0x1d7d882b
00001bfe: PUSH1 0xe2
00001c00: SHL
00001c01: DUP2
00001c02: MSTORE
00001c03: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00001c18: PUSH1 0x04
00001c1a: DUP3
00001c1b: ADD
00001c1c: MSTORE
00001c1d: SWAP2
00001c1e: SWAP3
00001c1f: POP
00001c20: PUSH0
00001c21: SWAP2
00001c22: PUSH1 0x01
00001c24: PUSH1 0x01
00001c26: PUSH1 0xa0
00001c28: SHL
00001c29: SUB
00001c2a: SWAP1
00001c2b: SWAP2
00001c2c: AND
00001c2d: SWAP1
00001c2e: PUSH4 0x75f620ac
00001c33: SWAP1
00001c34: PUSH1 0x24
00001c36: ADD
00001c37: PUSH1 0x20
00001c39: PUSH1 0x40
00001c3b: MLOAD
00001c3c: DUP1
00001c3d: DUP4
00001c3e: SUB
00001c3f: DUP2
00001c40: DUP7
00001c41: GAS
00001c42: STATICCALL
00001c43: ISZERO
00001c44: DUP1
00001c45: ISZERO
00001c46: PUSH2 0x1c51
00001c49: JUMPI
00001c4a: RETURNDATASIZE
00001c4b: PUSH0
00001c4c: DUP1
00001c4d: RETURNDATACOPY
00001c4e: RETURNDATASIZE
00001c4f: PUSH0
00001c50: REVERT
00001c51: JUMPDEST
00001c52: POP
00001c53: POP
00001c54: POP
00001c55: POP
00001c56: PUSH1 0x40
00001c58: MLOAD
00001c59: RETURNDATASIZE
00001c5a: PUSH1 0x1f
00001c5c: NOT
00001c5d: PUSH1 0x1f
00001c5f: DUP3
00001c60: ADD
00001c61: AND
00001c62: DUP3
00001c63: ADD
00001c64: DUP1
00001c65: PUSH1 0x40
00001c67: MSTORE
00001c68: POP
00001c69: DUP2
00001c6a: ADD
00001c6b: SWAP1
00001c6c: PUSH2 0x1c75
00001c6f: SWAP2
00001c70: SWAP1
00001c71: PUSH2 0x37b8
00001c74: JUMP
00001c75: JUMPDEST
00001c76: SWAP1
00001c77: POP
00001c78: PUSH0
00001c79: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed
00001c8e: NOT
00001c8f: PUSH1 0x01
00001c91: PUSH1 0x01
00001c93: PUSH1 0xa0
00001c95: SHL
00001c96: SUB
00001c97: DUP6
00001c98: AND
00001c99: ADD
00001c9a: PUSH2 0x1ca5
00001c9d: JUMPI
00001c9e: POP
00001c9f: PUSH1 0x12
00001ca1: PUSH2 0x1d08
00001ca4: JUMP
00001ca5: JUMPDEST
00001ca6: DUP4
00001ca7: PUSH1 0x01
00001ca9: PUSH1 0x01
00001cab: PUSH1 0xa0
00001cad: SHL
00001cae: SUB
00001caf: AND
00001cb0: PUSH4 0x313ce567
00001cb5: PUSH1 0x40
00001cb7: MLOAD
00001cb8: DUP2
00001cb9: PUSH4 0xffffffff
00001cbe: AND
00001cbf: PUSH1 0xe0
00001cc1: SHL
00001cc2: DUP2
00001cc3: MSTORE
00001cc4: PUSH1 0x04
00001cc6: ADD
00001cc7: PUSH1 0x20
00001cc9: PUSH1 0x40
00001ccb: MLOAD
00001ccc: DUP1
00001ccd: DUP4
00001cce: SUB
00001ccf: DUP2
00001cd0: DUP7
00001cd1: GAS
00001cd2: STATICCALL
00001cd3: ISZERO
00001cd4: DUP1
00001cd5: ISZERO
00001cd6: PUSH2 0x1ce1
00001cd9: JUMPI
00001cda: RETURNDATASIZE
00001cdb: PUSH0
00001cdc: DUP1
00001cdd: RETURNDATACOPY
00001cde: RETURNDATASIZE
00001cdf: PUSH0
00001ce0: REVERT
00001ce1: JUMPDEST
00001ce2: POP
00001ce3: POP
00001ce4: POP
00001ce5: POP
00001ce6: PUSH1 0x40
00001ce8: MLOAD
00001ce9: RETURNDATASIZE
00001cea: PUSH1 0x1f
00001cec: NOT
00001ced: PUSH1 0x1f
00001cef: DUP3
00001cf0: ADD
00001cf1: AND
00001cf2: DUP3
00001cf3: ADD
00001cf4: DUP1
00001cf5: PUSH1 0x40
00001cf7: MSTORE
00001cf8: POP
00001cf9: DUP2
00001cfa: ADD
00001cfb: SWAP1
00001cfc: PUSH2 0x1d05
00001cff: SWAP2
00001d00: SWAP1
00001d01: PUSH2 0x3dba
00001d04: JUMP
00001d05: JUMPDEST
00001d06: SWAP1
00001d07: POP
00001d08: JUMPDEST
00001d09: PUSH0
00001d0a: PUSH2 0x1d11
00001d0d: PUSH2 0x2861
00001d10: JUMP
00001d11: JUMPDEST
00001d12: SWAP1
00001d13: POP
00001d14: PUSH0
00001d15: PUSH2 0x1d1c
00001d18: PUSH2 0x288b
00001d1b: JUMP
00001d1c: JUMPDEST
00001d1d: PUSH1 0x40
00001d1f: MLOAD
00001d20: PUSH4 0x38fc6543
00001d25: PUSH1 0xe1
00001d27: SHL
00001d28: DUP2
00001d29: MSTORE
00001d2a: PUSH0
00001d2b: PUSH1 0x04
00001d2d: DUP3
00001d2e: ADD
00001d2f: DUP2
00001d30: SWAP1
00001d31: MSTORE
00001d32: PUSH4 0x162e371b
00001d37: PUSH1 0xe2
00001d39: SHL
00001d3a: PUSH1 0x24
00001d3c: DUP4
00001d3d: ADD
00001d3e: MSTORE
00001d3f: SWAP2
00001d40: SWAP3
00001d41: POP
00001d42: PUSH1 0x01
00001d44: PUSH1 0x01
00001d46: PUSH1 0xa0
00001d48: SHL
00001d49: SUB
00001d4a: DUP5
00001d4b: AND
00001d4c: SWAP1
00001d4d: PUSH4 0x71f8ca86
00001d52: SWAP1
00001d53: PUSH1 0x44
00001d55: ADD
00001d56: PUSH2 0x0100
00001d59: PUSH1 0x40
00001d5b: MLOAD
00001d5c: DUP1
00001d5d: DUP4
00001d5e: SUB
00001d5f: DUP2
00001d60: DUP7
00001d61: GAS
00001d62: STATICCALL
00001d63: ISZERO
00001d64: DUP1
00001d65: ISZERO
00001d66: PUSH2 0x1d71
00001d69: JUMPI
00001d6a: RETURNDATASIZE
00001d6b: PUSH0
00001d6c: DUP1
00001d6d: RETURNDATACOPY
00001d6e: RETURNDATASIZE
00001d6f: PUSH0
00001d70: REVERT
00001d71: JUMPDEST
00001d72: POP
00001d73: POP
00001d74: POP
00001d75: POP
00001d76: PUSH1 0x40
00001d78: MLOAD
00001d79: RETURNDATASIZE
00001d7a: PUSH1 0x1f
00001d7c: NOT
00001d7d: PUSH1 0x1f
00001d7f: DUP3
00001d80: ADD
00001d81: AND
00001d82: DUP3
00001d83: ADD
00001d84: DUP1
00001d85: PUSH1 0x40
00001d87: MSTORE
00001d88: POP
00001d89: DUP2
00001d8a: ADD
00001d8b: SWAP1
00001d8c: PUSH2 0x1d95
00001d8f: SWAP2
00001d90: SWAP1
00001d91: PUSH2 0x3e3f
00001d94: JUMP
00001d95: JUMPDEST
00001d96: PUSH1 0x60
00001d98: DUP2
00001d99: ADD
00001d9a: MLOAD
00001d9b: SWAP1
00001d9c: SWAP3
00001d9d: POP
00001d9e: SWAP1
00001d9f: POP
00001da0: PUSH0
00001da1: GAS
00001da2: SWAP1
00001da3: POP
00001da4: PUSH0
00001da5: PUSH2 0x1daf
00001da8: CALLDATASIZE
00001da9: PUSH1 0x04
00001dab: PUSH2 0x3e6a
00001dae: JUMP
00001daf: JUMPDEST
00001db0: PUSH2 0x1db9
00001db3: DUP4
00001db4: DUP14
00001db5: PUSH2 0x3da7
00001db8: JUMP
00001db9: JUMPDEST
00001dba: PUSH2 0x1dc5
00001dbd: SWAP1
00001dbe: PUSH2 0xb798
00001dc1: PUSH2 0x3d94
00001dc4: JUMP
00001dc5: JUMPDEST
00001dc6: PUSH2 0x1dcf
00001dc9: SWAP2
00001dca: SWAP1
00001dcb: PUSH2 0x3d94
00001dce: JUMP
00001dcf: JUMPDEST
00001dd0: PUSH2 0x1dd9
00001dd3: SWAP1
00001dd4: GASPRICE
00001dd5: PUSH2 0x3e6a
00001dd8: JUMP
00001dd9: JUMPDEST
00001dda: SWAP1
00001ddb: POP
00001ddc: PUSH0
00001ddd: PUSH2 0x1de7
00001de0: DUP9
00001de1: PUSH1 0x12
00001de3: PUSH2 0x3e81
00001de6: JUMP
00001de7: JUMPDEST
00001de8: PUSH2 0x1df2
00001deb: SWAP1
00001dec: PUSH1 0x0a
00001dee: PUSH2 0x3f7d
00001df1: JUMP
00001df2: JUMPDEST
00001df3: DUP11
00001df4: PUSH2 0x1dfd
00001df7: DUP12
00001df8: DUP6
00001df9: PUSH2 0x3e6a
00001dfc: JUMP
00001dfd: JUMPDEST
00001dfe: PUSH2 0x1e07
00001e01: SWAP2
00001e02: SWAP1
00001e03: PUSH2 0x3f8b
00001e06: JUMP
00001e07: JUMPDEST
00001e08: PUSH2 0x1e11
00001e0b: SWAP2
00001e0c: SWAP1
00001e0d: PUSH2 0x3f8b
00001e10: JUMP
00001e11: JUMPDEST
00001e12: SWAP1
00001e13: POP
00001e14: PUSH1 0x64
00001e16: DUP2
00001e17: PUSH2 0x1e20
00001e1a: DUP7
00001e1b: DUP4
00001e1c: PUSH2 0x3d94
00001e1f: JUMP
00001e20: JUMPDEST
00001e21: PUSH2 0x1e2a
00001e24: SWAP2
00001e25: SWAP1
00001e26: PUSH2 0x3e6a
00001e29: JUMP
00001e2a: JUMPDEST
00001e2b: PUSH2 0x1e34
00001e2e: SWAP2
00001e2f: SWAP1
00001e30: PUSH2 0x3f8b
00001e33: JUMP
00001e34: JUMPDEST
00001e35: PUSH1 0x40
00001e37: DUP1
00001e38: MLOAD
00001e39: DUP3
00001e3a: DUP2
00001e3b: MSTORE
00001e3c: PUSH1 0x20
00001e3e: DUP2
00001e3f: ADD
00001e40: DUP6
00001e41: SWAP1
00001e42: MSTORE
00001e43: SWAP2
00001e44: SWAP3
00001e45: POP
00001e46: PUSH1 0x01
00001e48: PUSH1 0x01
00001e4a: PUSH1 0xa0
00001e4c: SHL
00001e4d: SUB
00001e4e: DUP14
00001e4f: AND
00001e50: SWAP2
00001e51: PUSH32 0x15fa6c211862acb452249eb3d9afc4894d9b7bbdb78c6b0d5532cf2325367ff4
00001e72: SWAP2
00001e73: ADD
00001e74: PUSH1 0x40
00001e76: MLOAD
00001e77: DUP1
00001e78: SWAP2
00001e79: SUB
00001e7a: SWAP1
00001e7b: LOG2
00001e7c: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed
00001e91: NOT
00001e92: PUSH1 0x01
00001e94: PUSH1 0x01
00001e96: PUSH1 0xa0
00001e98: SHL
00001e99: SUB
00001e9a: DUP13
00001e9b: AND
00001e9c: ADD
00001e9d: PUSH2 0x1eaf
00001ea0: JUMPI
00001ea1: PUSH2 0x1eaa
00001ea4: DUP7
00001ea5: DUP3
00001ea6: PUSH2 0x28b5
00001ea9: JUMP
00001eaa: JUMPDEST
00001eab: PUSH2 0x1eba
00001eae: JUMP
00001eaf: JUMPDEST
00001eb0: PUSH2 0x1eba
00001eb3: DUP12
00001eb4: DUP8
00001eb5: DUP4
00001eb6: PUSH2 0x1ece
00001eb9: JUMP
00001eba: JUMPDEST
00001ebb: POP
00001ebc: POP
00001ebd: POP
00001ebe: POP
00001ebf: POP
00001ec0: POP
00001ec1: POP
00001ec2: POP
00001ec3: POP
00001ec4: POP
00001ec5: JUMPDEST
00001ec6: PUSH2 0x04be
00001ec9: PUSH1 0x01
00001ecb: DUP1
00001ecc: SSTORE
00001ecd: JUMP
00001ece: JUMPDEST
00001ecf: PUSH1 0x40
00001ed1: MLOAD
00001ed2: PUSH1 0x01
00001ed4: PUSH1 0x01
00001ed6: PUSH1 0xa0
00001ed8: SHL
00001ed9: SUB
00001eda: DUP4
00001edb: AND
00001edc: PUSH1 0x24
00001ede: DUP3
00001edf: ADD
00001ee0: MSTORE
00001ee1: PUSH1 0x44
00001ee3: DUP2
00001ee4: ADD
00001ee5: DUP3
00001ee6: SWAP1
00001ee7: MSTORE
00001ee8: PUSH2 0x0982
00001eeb: SWAP1
00001eec: DUP5
00001eed: SWAP1
00001eee: PUSH4 0xa9059cbb
00001ef3: PUSH1 0xe0
00001ef5: SHL
00001ef6: SWAP1
00001ef7: PUSH1 0x64
00001ef9: ADD
00001efa: PUSH2 0x1b32
00001efd: JUMP
00001efe: JUMPDEST
00001eff: PUSH1 0x60
00001f01: PUSH1 0x03
00001f03: DUP1
00001f04: SLOAD
00001f05: PUSH2 0x1f0d
00001f08: SWAP1
00001f09: PUSH2 0x3802
00001f0c: JUMP
00001f0d: JUMPDEST
00001f0e: DUP1
00001f0f: PUSH1 0x1f
00001f11: ADD
00001f12: PUSH1 0x20
00001f14: DUP1
00001f15: SWAP2
00001f16: DIV
00001f17: MUL
00001f18: PUSH1 0x20
00001f1a: ADD
00001f1b: PUSH1 0x40
00001f1d: MLOAD
00001f1e: SWAP1
00001f1f: DUP2
00001f20: ADD
00001f21: PUSH1 0x40
00001f23: MSTORE
00001f24: DUP1
00001f25: SWAP3
00001f26: SWAP2
00001f27: SWAP1
00001f28: DUP2
00001f29: DUP2
00001f2a: MSTORE
00001f2b: PUSH1 0x20
00001f2d: ADD
00001f2e: DUP3
00001f2f: DUP1
00001f30: SLOAD
00001f31: PUSH2 0x1f39
00001f34: SWAP1
00001f35: PUSH2 0x3802
00001f38: JUMP
00001f39: JUMPDEST
00001f3a: DUP1
00001f3b: ISZERO
00001f3c: PUSH2 0x1f84
00001f3f: JUMPI
00001f40: DUP1
00001f41: PUSH1 0x1f
00001f43: LT
00001f44: PUSH2 0x1f5b
00001f47: JUMPI
00001f48: PUSH2 0x0100
00001f4b: DUP1
00001f4c: DUP4
00001f4d: SLOAD
00001f4e: DIV
00001f4f: MUL
00001f50: DUP4
00001f51: MSTORE
00001f52: SWAP2
00001f53: PUSH1 0x20
00001f55: ADD
00001f56: SWAP2
00001f57: PUSH2 0x1f84
00001f5a: JUMP
00001f5b: JUMPDEST
00001f5c: DUP3
00001f5d: ADD
00001f5e: SWAP2
00001f5f: SWAP1
00001f60: PUSH0
00001f61: MSTORE
00001f62: PUSH1 0x20
00001f64: PUSH0
00001f65: KECCAK256
00001f66: SWAP1
00001f67: JUMPDEST
00001f68: DUP2
00001f69: SLOAD
00001f6a: DUP2
00001f6b: MSTORE
00001f6c: SWAP1
00001f6d: PUSH1 0x01
00001f6f: ADD
00001f70: SWAP1
00001f71: PUSH1 0x20
00001f73: ADD
00001f74: DUP1
00001f75: DUP4
00001f76: GT
00001f77: PUSH2 0x1f67
00001f7a: JUMPI
00001f7b: DUP3
00001f7c: SWAP1
00001f7d: SUB
00001f7e: PUSH1 0x1f
00001f80: AND
00001f81: DUP3
00001f82: ADD
00001f83: SWAP2
00001f84: JUMPDEST
00001f85: POP
00001f86: POP
00001f87: POP
00001f88: POP
00001f89: POP
00001f8a: SWAP1
00001f8b: POP
00001f8c: SWAP1
00001f8d: JUMP
00001f8e: JUMPDEST
00001f8f: PUSH0
00001f90: DUP1
00001f91: PUSH2 0x1f98
00001f94: PUSH2 0x2861
00001f97: JUMP
00001f98: JUMPDEST
00001f99: PUSH1 0x40
00001f9b: MLOAD
00001f9c: PUSH4 0x38fc6543
00001fa1: PUSH1 0xe1
00001fa3: SHL
00001fa4: DUP2
00001fa5: MSTORE
00001fa6: ADDRESS
00001fa7: PUSH1 0x04
00001fa9: DUP3
00001faa: ADD
00001fab: MSTORE
00001fac: PUSH1 0x01
00001fae: PUSH1 0x01
00001fb0: PUSH1 0xe0
00001fb2: SHL
00001fb3: SUB
00001fb4: NOT
00001fb5: DUP6
00001fb6: AND
00001fb7: PUSH1 0x24
00001fb9: DUP3
00001fba: ADD
00001fbb: MSTORE
00001fbc: SWAP1
00001fbd: SWAP2
00001fbe: POP
00001fbf: PUSH0
00001fc0: SWAP1
00001fc1: PUSH1 0x01
00001fc3: PUSH1 0x01
00001fc5: PUSH1 0xa0
00001fc7: SHL
00001fc8: SUB
00001fc9: DUP4
00001fca: AND
00001fcb: SWAP1
00001fcc: PUSH4 0x71f8ca86
00001fd1: SWAP1
00001fd2: PUSH1 0x44
00001fd4: ADD
00001fd5: PUSH2 0x0100
00001fd8: PUSH1 0x40
00001fda: MLOAD
00001fdb: DUP1
00001fdc: DUP4
00001fdd: SUB
00001fde: DUP2
00001fdf: DUP7
00001fe0: GAS
00001fe1: STATICCALL
00001fe2: ISZERO
00001fe3: DUP1
00001fe4: ISZERO
00001fe5: PUSH2 0x1ff0
00001fe8: JUMPI
00001fe9: RETURNDATASIZE
00001fea: PUSH0
00001feb: DUP1
00001fec: RETURNDATACOPY
00001fed: RETURNDATASIZE
00001fee: PUSH0
00001fef: REVERT
00001ff0: JUMPDEST
00001ff1: POP
00001ff2: POP
00001ff3: POP
00001ff4: POP
00001ff5: PUSH1 0x40
00001ff7: MLOAD
00001ff8: RETURNDATASIZE
00001ff9: PUSH1 0x1f
00001ffb: NOT
00001ffc: PUSH1 0x1f
00001ffe: DUP3
00001fff: ADD
00002000: AND
00002001: DUP3
00002002: ADD
00002003: DUP1
00002004: PUSH1 0x40
00002006: MSTORE
00002007: POP
00002008: DUP2
00002009: ADD
0000200a: SWAP1
0000200b: PUSH2 0x2014
0000200e: SWAP2
0000200f: SWAP1
00002010: PUSH2 0x3e3f
00002013: JUMP
00002014: JUMPDEST
00002015: PUSH1 0x60
00002017: ADD
00002018: MLOAD
00002019: SWAP6
0000201a: SWAP5
0000201b: POP
0000201c: POP
0000201d: POP
0000201e: POP
0000201f: POP
00002020: JUMP
00002021: JUMPDEST
00002022: PUSH1 0x60
00002024: PUSH0
00002025: DUP5
00002026: PUSH1 0x01
00002028: PUSH1 0x01
0000202a: PUSH1 0x40
0000202c: SHL
0000202d: SUB
0000202e: DUP2
0000202f: GT
00002030: ISZERO
00002031: PUSH2 0x203c
00002034: JUMPI
00002035: PUSH2 0x203c
00002038: PUSH2 0x31e5
0000203b: JUMP
0000203c: JUMPDEST
0000203d: PUSH1 0x40
0000203f: MLOAD
00002040: SWAP1
00002041: DUP1
00002042: DUP3
00002043: MSTORE
00002044: DUP1
00002045: PUSH1 0x20
00002047: MUL
00002048: PUSH1 0x20
0000204a: ADD
0000204b: DUP3
0000204c: ADD
0000204d: PUSH1 0x40
0000204f: MSTORE
00002050: DUP1
00002051: ISZERO
00002052: PUSH2 0x206f
00002055: JUMPI
00002056: DUP2
00002057: PUSH1 0x20
00002059: ADD
0000205a: JUMPDEST
0000205b: PUSH1 0x60
0000205d: DUP2
0000205e: MSTORE
0000205f: PUSH1 0x20
00002061: ADD
00002062: SWAP1
00002063: PUSH1 0x01
00002065: SWAP1
00002066: SUB
00002067: SWAP1
00002068: DUP2
00002069: PUSH2 0x205a
0000206c: JUMPI
0000206d: SWAP1
0000206e: POP
0000206f: JUMPDEST
00002070: POP
00002071: SWAP1
00002072: POP
00002073: PUSH2 0x2083
00002076: CALLER
00002077: PUSH4 0x46217ad5
0000207c: PUSH1 0xe1
0000207e: SHL
0000207f: PUSH2 0x1954
00002082: JUMP
00002083: JUMPDEST
00002084: PUSH2 0x20a0
00002087: JUMPI
00002088: PUSH1 0x40
0000208a: MLOAD
0000208b: PUSH4 0x07824841
00002090: PUSH1 0xe2
00002092: SHL
00002093: DUP2
00002094: MSTORE
00002095: PUSH1 0x04
00002097: ADD
00002098: PUSH1 0x40
0000209a: MLOAD
0000209b: DUP1
0000209c: SWAP2
0000209d: SUB
0000209e: SWAP1
0000209f: REVERT
000020a0: JUMPDEST
000020a1: PUSH2 0x20ad
000020a4: CALLER
000020a5: DUP8
000020a6: DUP8
000020a7: DUP8
000020a8: DUP8
000020a9: PUSH2 0x2925
000020ac: JUMP
000020ad: JUMPDEST
000020ae: PUSH2 0x20ca
000020b1: JUMPI
000020b2: PUSH1 0x40
000020b4: MLOAD
000020b5: PUSH4 0x07824841
000020ba: PUSH1 0xe2
000020bc: SHL
000020bd: DUP2
000020be: MSTORE
000020bf: PUSH1 0x04
000020c1: ADD
000020c2: PUSH1 0x40
000020c4: MLOAD
000020c5: DUP1
000020c6: SWAP2
000020c7: SUB
000020c8: SWAP1
000020c9: REVERT
000020ca: JUMPDEST
000020cb: PUSH0
000020cc: DUP1
000020cd: PUSH2 0x20d8
000020d0: DUP9
000020d1: DUP9
000020d2: DUP9
000020d3: DUP9
000020d4: PUSH2 0x2a99
000020d7: JUMP
000020d8: JUMPDEST
000020d9: SWAP2
000020da: POP
000020db: SWAP2
000020dc: POP
000020dd: PUSH0
000020de: JUMPDEST
000020df: DUP8
000020e0: DUP2
000020e1: LT
000020e2: ISZERO
000020e3: PUSH2 0x21d7
000020e6: JUMPI
000020e7: PUSH2 0x2152
000020ea: DUP10
000020eb: DUP10
000020ec: DUP4
000020ed: DUP2
000020ee: DUP2
000020ef: LT
000020f0: PUSH2 0x20fb
000020f3: JUMPI
000020f4: PUSH2 0x20fb
000020f7: PUSH2 0x37ee
000020fa: JUMP
000020fb: JUMPDEST
000020fc: SWAP1
000020fd: POP
000020fe: PUSH1 0x20
00002100: MUL
00002101: ADD
00002102: PUSH1 0x20
00002104: DUP2
00002105: ADD
00002106: SWAP1
00002107: PUSH2 0x2110
0000210a: SWAP2
0000210b: SWAP1
0000210c: PUSH2 0x370a
0000210f: JUMP
00002110: JUMPDEST
00002111: DUP13
00002112: DUP13
00002113: DUP5
00002114: DUP2
00002115: DUP2
00002116: LT
00002117: PUSH2 0x2122
0000211a: JUMPI
0000211b: PUSH2 0x2122
0000211e: PUSH2 0x37ee
00002121: JUMP
00002122: JUMPDEST
00002123: SWAP1
00002124: POP
00002125: PUSH1 0x20
00002127: MUL
00002128: ADD
00002129: CALLDATALOAD
0000212a: DUP10
0000212b: DUP10
0000212c: DUP6
0000212d: DUP2
0000212e: DUP2
0000212f: LT
00002130: PUSH2 0x213b
00002133: JUMPI
00002134: PUSH2 0x213b
00002137: PUSH2 0x37ee
0000213a: JUMP
0000213b: JUMPDEST
0000213c: SWAP1
0000213d: POP
0000213e: PUSH1 0x20
00002140: MUL
00002141: DUP2
00002142: ADD
00002143: SWAP1
00002144: PUSH2 0x214d
00002147: SWAP2
00002148: SWAP1
00002149: PUSH2 0x383a
0000214c: JUMP
0000214d: JUMPDEST
0000214e: PUSH2 0x2b33
00002151: JUMP
00002152: JUMPDEST
00002153: DUP5
00002154: DUP3
00002155: DUP2
00002156: MLOAD
00002157: DUP2
00002158: LT
00002159: PUSH2 0x2164
0000215c: JUMPI
0000215d: PUSH2 0x2164
00002160: PUSH2 0x37ee
00002163: JUMP
00002164: JUMPDEST
00002165: PUSH1 0x20
00002167: MUL
00002168: PUSH1 0x20
0000216a: ADD
0000216b: ADD
0000216c: DUP2
0000216d: SWAP1
0000216e: MSTORE
0000216f: POP
00002170: PUSH2 0x21cf
00002173: DUP12
00002174: DUP12
00002175: DUP4
00002176: DUP2
00002177: DUP2
00002178: LT
00002179: PUSH2 0x2184
0000217c: JUMPI
0000217d: PUSH2 0x2184
00002180: PUSH2 0x37ee
00002183: JUMP
00002184: JUMPDEST
00002185: SWAP1
00002186: POP
00002187: PUSH1 0x20
00002189: MUL
0000218a: ADD
0000218b: CALLDATALOAD
0000218c: DUP4
0000218d: DUP6
0000218e: DUP5
0000218f: DUP2
00002190: MLOAD
00002191: DUP2
00002192: LT
00002193: PUSH2 0x219e
00002196: JUMPI
00002197: PUSH2 0x219e
0000219a: PUSH2 0x37ee
0000219d: JUMP
0000219e: JUMPDEST
0000219f: PUSH1 0x20
000021a1: MUL
000021a2: PUSH1 0x20
000021a4: ADD
000021a5: ADD
000021a6: MLOAD
000021a7: DUP11
000021a8: DUP11
000021a9: DUP7
000021aa: DUP2
000021ab: DUP2
000021ac: LT
000021ad: PUSH2 0x21b8
000021b0: JUMPI
000021b1: PUSH2 0x21b8
000021b4: PUSH2 0x37ee
000021b7: JUMP
000021b8: JUMPDEST
000021b9: SWAP1
000021ba: POP
000021bb: PUSH1 0x20
000021bd: MUL
000021be: DUP2
000021bf: ADD
000021c0: SWAP1
000021c1: PUSH2 0x21ca
000021c4: SWAP2
000021c5: SWAP1
000021c6: PUSH2 0x383a
000021c9: JUMP
000021ca: JUMPDEST
000021cb: PUSH2 0x2bbc
000021ce: JUMP
000021cf: JUMPDEST
000021d0: PUSH1 0x01
000021d2: ADD
000021d3: PUSH2 0x20de
000021d6: JUMP
000021d7: JUMPDEST
000021d8: POP
000021d9: SWAP2
000021da: SWAP10
000021db: SWAP9
000021dc: POP
000021dd: POP
000021de: POP
000021df: POP
000021e0: POP
000021e1: POP
000021e2: POP
000021e3: POP
000021e4: POP
000021e5: JUMP
000021e6: JUMPDEST
000021e7: PUSH1 0x06
000021e9: SLOAD
000021ea: PUSH1 0x40
000021ec: MLOAD
000021ed: PUSH4 0x0a415d6f
000021f2: PUSH1 0xe4
000021f4: SHL
000021f5: DUP2
000021f6: MSTORE
000021f7: ADDRESS
000021f8: PUSH1 0x04
000021fa: DUP3
000021fb: ADD
000021fc: MSTORE
000021fd: PUSH1 0x60
000021ff: SWAP2
00002200: DUP3
00002201: SWAP2
00002202: PUSH1 0x01
00002204: PUSH1 0x01
00002206: PUSH1 0xa0
00002208: SHL
00002209: SUB
0000220a: SWAP1
0000220b: SWAP2
0000220c: AND
0000220d: SWAP1
0000220e: PUSH4 0xa415d6f0
00002213: SWAP1
00002214: PUSH1 0x24
00002216: ADD
00002217: PUSH0
00002218: PUSH1 0x40
0000221a: MLOAD
0000221b: DUP1
0000221c: DUP4
0000221d: SUB
0000221e: DUP2
0000221f: DUP7
00002220: GAS
00002221: STATICCALL
00002222: ISZERO
00002223: DUP1
00002224: ISZERO
00002225: PUSH2 0x2230
00002228: JUMPI
00002229: RETURNDATASIZE
0000222a: PUSH0
0000222b: DUP1
0000222c: RETURNDATACOPY
0000222d: RETURNDATASIZE
0000222e: PUSH0
0000222f: REVERT
00002230: JUMPDEST
00002231: POP
00002232: POP
00002233: POP
00002234: POP
00002235: PUSH1 0x40
00002237: MLOAD
00002238: RETURNDATASIZE
00002239: PUSH0
0000223a: DUP3
0000223b: RETURNDATACOPY
0000223c: PUSH1 0x1f
0000223e: RETURNDATASIZE
0000223f: SWAP1
00002240: DUP2
00002241: ADD
00002242: PUSH1 0x1f
00002244: NOT
00002245: AND
00002246: DUP3
00002247: ADD
00002248: PUSH1 0x40
0000224a: MSTORE
0000224b: PUSH2 0x2257
0000224e: SWAP2
0000224f: SWAP1
00002250: DUP2
00002251: ADD
00002252: SWAP1
00002253: PUSH2 0x3faa
00002256: JUMP
00002257: JUMPDEST
00002258: SWAP2
00002259: POP
0000225a: DUP2
0000225b: MLOAD
0000225c: PUSH1 0x01
0000225e: PUSH1 0x01
00002260: PUSH1 0x40
00002262: SHL
00002263: SUB
00002264: DUP2
00002265: GT
00002266: ISZERO
00002267: PUSH2 0x2272
0000226a: JUMPI
0000226b: PUSH2 0x2272
0000226e: PUSH2 0x31e5
00002271: JUMP
00002272: JUMPDEST
00002273: PUSH1 0x40
00002275: MLOAD
00002276: SWAP1
00002277: DUP1
00002278: DUP3
00002279: MSTORE
0000227a: DUP1
0000227b: PUSH1 0x20
0000227d: MUL
0000227e: PUSH1 0x20
00002280: ADD
00002281: DUP3
00002282: ADD
00002283: PUSH1 0x40
00002285: MSTORE
00002286: DUP1
00002287: ISZERO
00002288: PUSH2 0x229b
0000228b: JUMPI
0000228c: DUP2
0000228d: PUSH1 0x20
0000228f: ADD
00002290: PUSH1 0x20
00002292: DUP3
00002293: MUL
00002294: DUP1
00002295: CALLDATASIZE
00002296: DUP4
00002297: CALLDATACOPY
00002298: ADD
00002299: SWAP1
0000229a: POP
0000229b: JUMPDEST
0000229c: POP
0000229d: SWAP1
0000229e: POP
0000229f: PUSH0
000022a0: JUMPDEST
000022a1: DUP3
000022a2: MLOAD
000022a3: DUP2
000022a4: LT
000022a5: ISZERO
000022a6: PUSH2 0x23a5
000022a9: JUMPI
000022aa: PUSH0
000022ab: DUP4
000022ac: DUP3
000022ad: DUP2
000022ae: MLOAD
000022af: DUP2
000022b0: LT
000022b1: PUSH2 0x22bc
000022b4: JUMPI
000022b5: PUSH2 0x22bc
000022b8: PUSH2 0x37ee
000022bb: JUMP
000022bc: JUMPDEST
000022bd: PUSH1 0x20
000022bf: MUL
000022c0: PUSH1 0x20
000022c2: ADD
000022c3: ADD
000022c4: MLOAD
000022c5: SWAP1
000022c6: POP
000022c7: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000022dc: PUSH1 0x01
000022de: PUSH1 0x01
000022e0: PUSH1 0xa0
000022e2: SHL
000022e3: SUB
000022e4: AND
000022e5: DUP2
000022e6: PUSH1 0x01
000022e8: PUSH1 0x01
000022ea: PUSH1 0xa0
000022ec: SHL
000022ed: SUB
000022ee: AND
000022ef: SUB
000022f0: PUSH2 0x2317
000022f3: JUMPI
000022f4: SELFBALANCE
000022f5: DUP4
000022f6: DUP4
000022f7: DUP2
000022f8: MLOAD
000022f9: DUP2
000022fa: LT
000022fb: PUSH2 0x2306
000022fe: JUMPI
000022ff: PUSH2 0x2306
00002302: PUSH2 0x37ee
00002305: JUMP
00002306: JUMPDEST
00002307: PUSH1 0x20
00002309: MUL
0000230a: PUSH1 0x20
0000230c: ADD
0000230d: ADD
0000230e: DUP2
0000230f: DUP2
00002310: MSTORE
00002311: POP
00002312: POP
00002313: PUSH2 0x239c
00002316: JUMP
00002317: JUMPDEST
00002318: PUSH1 0x40
0000231a: MLOAD
0000231b: PUSH4 0x70a08231
00002320: PUSH1 0xe0
00002322: SHL
00002323: DUP2
00002324: MSTORE
00002325: ADDRESS
00002326: PUSH1 0x04
00002328: DUP3
00002329: ADD
0000232a: MSTORE
0000232b: PUSH1 0x01
0000232d: PUSH1 0x01
0000232f: PUSH1 0xa0
00002331: SHL
00002332: SUB
00002333: DUP3
00002334: AND
00002335: SWAP1
00002336: PUSH4 0x70a08231
0000233b: SWAP1
0000233c: PUSH1 0x24
0000233e: ADD
0000233f: PUSH1 0x20
00002341: PUSH1 0x40
00002343: MLOAD
00002344: DUP1
00002345: DUP4
00002346: SUB
00002347: DUP2
00002348: DUP7
00002349: GAS
0000234a: STATICCALL
0000234b: ISZERO
0000234c: DUP1
0000234d: ISZERO
0000234e: PUSH2 0x2359
00002351: JUMPI
00002352: RETURNDATASIZE
00002353: PUSH0
00002354: DUP1
00002355: RETURNDATACOPY
00002356: RETURNDATASIZE
00002357: PUSH0
00002358: REVERT
00002359: JUMPDEST
0000235a: POP
0000235b: POP
0000235c: POP
0000235d: POP
0000235e: PUSH1 0x40
00002360: MLOAD
00002361: RETURNDATASIZE
00002362: PUSH1 0x1f
00002364: NOT
00002365: PUSH1 0x1f
00002367: DUP3
00002368: ADD
00002369: AND
0000236a: DUP3
0000236b: ADD
0000236c: DUP1
0000236d: PUSH1 0x40
0000236f: MSTORE
00002370: POP
00002371: DUP2
00002372: ADD
00002373: SWAP1
00002374: PUSH2 0x237d
00002377: SWAP2
00002378: SWAP1
00002379: PUSH2 0x37b8
0000237c: JUMP
0000237d: JUMPDEST
0000237e: DUP4
0000237f: DUP4
00002380: DUP2
00002381: MLOAD
00002382: DUP2
00002383: LT
00002384: PUSH2 0x238f
00002387: JUMPI
00002388: PUSH2 0x238f
0000238b: PUSH2 0x37ee
0000238e: JUMP
0000238f: JUMPDEST
00002390: PUSH1 0x20
00002392: MUL
00002393: PUSH1 0x20
00002395: ADD
00002396: ADD
00002397: DUP2
00002398: DUP2
00002399: MSTORE
0000239a: POP
0000239b: POP
0000239c: JUMPDEST
0000239d: POP
0000239e: PUSH1 0x01
000023a0: ADD
000023a1: PUSH2 0x22a0
000023a4: JUMP
000023a5: JUMPDEST
000023a6: POP
000023a7: SWAP1
000023a8: SWAP2
000023a9: JUMP
000023aa: JUMPDEST
000023ab: PUSH0
000023ac: PUSH2 0x23b3
000023af: PUSH2 0x288b
000023b2: JUMP
000023b3: JUMPDEST
000023b4: SWAP1
000023b5: POP
000023b6: PUSH0
000023b7: JUMPDEST
000023b8: DUP5
000023b9: MLOAD
000023ba: DUP2
000023bb: LT
000023bc: ISZERO
000023bd: PUSH2 0x2406
000023c0: JUMPI
000023c1: PUSH2 0x23fe
000023c4: DUP6
000023c5: DUP3
000023c6: DUP2
000023c7: MLOAD
000023c8: DUP2
000023c9: LT
000023ca: PUSH2 0x23d5
000023cd: JUMPI
000023ce: PUSH2 0x23d5
000023d1: PUSH2 0x37ee
000023d4: JUMP
000023d5: JUMPDEST
000023d6: PUSH1 0x20
000023d8: MUL
000023d9: PUSH1 0x20
000023db: ADD
000023dc: ADD
000023dd: MLOAD
000023de: DUP6
000023df: DUP4
000023e0: DUP2
000023e1: MLOAD
000023e2: DUP2
000023e3: LT
000023e4: PUSH2 0x23ef
000023e7: JUMPI
000023e8: PUSH2 0x23ef
000023eb: PUSH2 0x37ee
000023ee: JUMP
000023ef: JUMPDEST
000023f0: PUSH1 0x20
000023f2: MUL
000023f3: PUSH1 0x20
000023f5: ADD
000023f6: ADD
000023f7: MLOAD
000023f8: DUP6
000023f9: DUP6
000023fa: PUSH2 0x2da7
000023fd: JUMP
000023fe: JUMPDEST
000023ff: PUSH1 0x01
00002401: ADD
00002402: PUSH2 0x23b7
00002405: JUMP
00002406: JUMPDEST
00002407: POP
00002408: POP
00002409: POP
0000240a: POP
0000240b: POP
0000240c: JUMP
0000240d: JUMPDEST
0000240e: PUSH1 0x60
00002410: PUSH1 0x04
00002412: DUP1
00002413: SLOAD
00002414: PUSH2 0x1f0d
00002417: SWAP1
00002418: PUSH2 0x3802
0000241b: JUMP
0000241c: JUMPDEST
0000241d: PUSH0
0000241e: PUSH2 0x2425
00002421: PUSH2 0x288b
00002424: JUMP
00002425: JUMPDEST
00002426: SWAP1
00002427: POP
00002428: PUSH0
00002429: DUP3
0000242a: PUSH1 0xa0
0000242c: ADD
0000242d: MLOAD
0000242e: MLOAD
0000242f: GT
00002430: DUP1
00002431: ISZERO
00002432: PUSH2 0x2485
00002435: JUMPI
00002436: POP
00002437: PUSH0
00002438: DUP3
00002439: PUSH1 0xa0
0000243b: ADD
0000243c: MLOAD
0000243d: DUP6
0000243e: DUP2
0000243f: MLOAD
00002440: DUP2
00002441: LT
00002442: PUSH2 0x244d
00002445: JUMPI
00002446: PUSH2 0x244d
00002449: PUSH2 0x37ee
0000244c: JUMP
0000244d: JUMPDEST
0000244e: PUSH1 0x20
00002450: MUL
00002451: PUSH1 0x20
00002453: ADD
00002454: ADD
00002455: MLOAD
00002456: PUSH1 0x40
00002458: ADD
00002459: MLOAD
0000245a: GT
0000245b: DUP1
0000245c: PUSH2 0x2485
0000245f: JUMPI
00002460: POP
00002461: PUSH0
00002462: DUP3
00002463: PUSH1 0xa0
00002465: ADD
00002466: MLOAD
00002467: DUP6
00002468: DUP2
00002469: MLOAD
0000246a: DUP2
0000246b: LT
0000246c: PUSH2 0x2477
0000246f: JUMPI
00002470: PUSH2 0x2477
00002473: PUSH2 0x37ee
00002476: JUMP
00002477: JUMPDEST
00002478: PUSH1 0x20
0000247a: MUL
0000247b: PUSH1 0x20
0000247d: ADD
0000247e: ADD
0000247f: MLOAD
00002480: PUSH1 0x20
00002482: ADD
00002483: MLOAD
00002484: GT
00002485: JUMPDEST
00002486: ISZERO
00002487: PUSH2 0x1b69
0000248a: JUMPI
0000248b: PUSH0
0000248c: PUSH2 0x2710
0000248f: DUP5
00002490: DUP5
00002491: PUSH1 0xa0
00002493: ADD
00002494: MLOAD
00002495: DUP8
00002496: DUP2
00002497: MLOAD
00002498: DUP2
00002499: LT
0000249a: PUSH2 0x24a5
0000249d: JUMPI
0000249e: PUSH2 0x24a5
000024a1: PUSH2 0x37ee
000024a4: JUMP
000024a5: JUMPDEST
000024a6: PUSH1 0x20
000024a8: MUL
000024a9: PUSH1 0x20
000024ab: ADD
000024ac: ADD
000024ad: MLOAD
000024ae: PUSH1 0x40
000024b0: ADD
000024b1: MLOAD
000024b2: PUSH2 0x24bb
000024b5: SWAP2
000024b6: SWAP1
000024b7: PUSH2 0x3e6a
000024ba: JUMP
000024bb: JUMPDEST
000024bc: PUSH2 0x24c5
000024bf: SWAP2
000024c0: SWAP1
000024c1: PUSH2 0x3f8b
000024c4: JUMP
000024c5: JUMPDEST
000024c6: SWAP1
000024c7: POP
000024c8: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000024dd: PUSH1 0x01
000024df: PUSH1 0x01
000024e1: PUSH1 0xa0
000024e3: SHL
000024e4: SUB
000024e5: AND
000024e6: DUP4
000024e7: PUSH1 0xa0
000024e9: ADD
000024ea: MLOAD
000024eb: DUP7
000024ec: DUP2
000024ed: MLOAD
000024ee: DUP2
000024ef: LT
000024f0: PUSH2 0x24fb
000024f3: JUMPI
000024f4: PUSH2 0x24fb
000024f7: PUSH2 0x37ee
000024fa: JUMP
000024fb: JUMPDEST
000024fc: PUSH1 0x20
000024fe: MUL
000024ff: PUSH1 0x20
00002501: ADD
00002502: ADD
00002503: MLOAD
00002504: PUSH0
00002505: ADD
00002506: MLOAD
00002507: PUSH1 0x01
00002509: PUSH1 0x01
0000250b: PUSH1 0xa0
0000250d: SHL
0000250e: SUB
0000250f: AND
00002510: EQ
00002511: ISZERO
00002512: DUP1
00002513: ISZERO
00002514: PUSH2 0x254f
00002517: JUMPI
00002518: POP
00002519: PUSH0
0000251a: PUSH1 0x01
0000251c: PUSH1 0x01
0000251e: PUSH1 0xa0
00002520: SHL
00002521: SUB
00002522: AND
00002523: DUP4
00002524: PUSH1 0xa0
00002526: ADD
00002527: MLOAD
00002528: DUP7
00002529: DUP2
0000252a: MLOAD
0000252b: DUP2
0000252c: LT
0000252d: PUSH2 0x2538
00002530: JUMPI
00002531: PUSH2 0x2538
00002534: PUSH2 0x37ee
00002537: JUMP
00002538: JUMPDEST
00002539: PUSH1 0x20
0000253b: MUL
0000253c: PUSH1 0x20
0000253e: ADD
0000253f: ADD
00002540: MLOAD
00002541: PUSH0
00002542: ADD
00002543: MLOAD
00002544: PUSH1 0x01
00002546: PUSH1 0x01
00002548: PUSH1 0xa0
0000254a: SHL
0000254b: SUB
0000254c: AND
0000254d: EQ
0000254e: ISZERO
0000254f: JUMPDEST
00002550: ISZERO
00002551: PUSH2 0x2584
00002554: JUMPI
00002555: PUSH2 0x257f
00002558: DUP4
00002559: PUSH1 0xa0
0000255b: ADD
0000255c: MLOAD
0000255d: DUP7
0000255e: DUP2
0000255f: MLOAD
00002560: DUP2
00002561: LT
00002562: PUSH2 0x256d
00002565: JUMPI
00002566: PUSH2 0x256d
00002569: PUSH2 0x37ee
0000256c: JUMP
0000256d: JUMPDEST
0000256e: PUSH1 0x20
00002570: MUL
00002571: PUSH1 0x20
00002573: ADD
00002574: ADD
00002575: MLOAD
00002576: PUSH0
00002577: ADD
00002578: MLOAD
00002579: DUP4
0000257a: DUP4
0000257b: PUSH2 0x1ece
0000257e: JUMP
0000257f: JUMPDEST
00002580: PUSH2 0x2406
00002583: JUMP
00002584: JUMPDEST
00002585: PUSH2 0x2406
00002588: DUP3
00002589: DUP3
0000258a: PUSH2 0x28b5
0000258d: JUMP
0000258e: JUMPDEST
0000258f: PUSH1 0x02
00002591: DUP1
00002592: SLOAD
00002593: PUSH1 0x01
00002595: PUSH1 0x01
00002597: PUSH1 0xa0
00002599: SHL
0000259a: SUB
0000259b: DUP4
0000259c: DUP2
0000259d: AND
0000259e: PUSH1 0x01
000025a0: PUSH1 0x01
000025a2: PUSH1 0xa0
000025a4: SHL
000025a5: SUB
000025a6: NOT
000025a7: DUP4
000025a8: AND
000025a9: DUP2
000025aa: OR
000025ab: SWAP1
000025ac: SWAP4
000025ad: SSTORE
000025ae: PUSH1 0x40
000025b0: MLOAD
000025b1: SWAP2
000025b2: AND
000025b3: SWAP2
000025b4: SWAP1
000025b5: DUP3
000025b6: SWAP1
000025b7: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000025d8: SWAP1
000025d9: PUSH0
000025da: SWAP1
000025db: LOG3
000025dc: POP
000025dd: POP
000025de: JUMP
000025df: JUMPDEST
000025e0: PUSH1 0x05
000025e2: SLOAD
000025e3: ISZERO
000025e4: PUSH2 0x2624
000025e7: JUMPI
000025e8: PUSH1 0x40
000025ea: MLOAD
000025eb: PUSH3 0x461bcd
000025ef: PUSH1 0xe5
000025f1: SHL
000025f2: DUP2
000025f3: MSTORE
000025f4: PUSH1 0x20
000025f6: PUSH1 0x04
000025f8: DUP3
000025f9: ADD
000025fa: MSTORE
000025fb: PUSH1 0x12
000025fd: PUSH1 0x24
000025ff: DUP3
00002600: ADD
00002601: MSTORE
00002602: PUSH18 0x111bdb585a5b88185b1c9958591e481cd95d
00002615: PUSH1 0x72
00002617: SHL
00002618: PUSH1 0x44
0000261a: DUP3
0000261b: ADD
0000261c: MSTORE
0000261d: PUSH1 0x64
0000261f: ADD
00002620: PUSH2 0x0ec2
00002623: JUMP
00002624: JUMPDEST
00002625: PUSH1 0x03
00002627: PUSH2 0x2630
0000262a: DUP4
0000262b: DUP3
0000262c: PUSH2 0x401f
0000262f: JUMP
00002630: JUMPDEST
00002631: POP
00002632: PUSH1 0x04
00002634: PUSH2 0x263d
00002637: DUP3
00002638: DUP3
00002639: PUSH2 0x401f
0000263c: JUMP
0000263d: JUMPDEST
0000263e: POP
0000263f: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
00002660: PUSH1 0x03
00002662: PUSH1 0x40
00002664: MLOAD
00002665: PUSH2 0x266e
00002668: SWAP2
00002669: SWAP1
0000266a: PUSH2 0x40d9
0000266d: JUMP
0000266e: JUMPDEST
0000266f: PUSH1 0x40
00002671: MLOAD
00002672: DUP1
00002673: SWAP2
00002674: SUB
00002675: SWAP1
00002676: KECCAK256
00002677: PUSH1 0x04
00002679: PUSH1 0x40
0000267b: MLOAD
0000267c: PUSH2 0x2685
0000267f: SWAP2
00002680: SWAP1
00002681: PUSH2 0x40d9
00002684: JUMP
00002685: JUMPDEST
00002686: PUSH1 0x40
00002688: DUP1
00002689: MLOAD
0000268a: SWAP2
0000268b: DUP3
0000268c: SWAP1
0000268d: SUB
0000268e: DUP3
0000268f: KECCAK256
00002690: PUSH1 0x20
00002692: DUP4
00002693: ADD
00002694: SWAP5
00002695: SWAP1
00002696: SWAP5
00002697: MSTORE
00002698: DUP2
00002699: ADD
0000269a: SWAP2
0000269b: SWAP1
0000269c: SWAP2
0000269d: MSTORE
0000269e: PUSH1 0x60
000026a0: DUP2
000026a1: ADD
000026a2: SWAP2
000026a3: SWAP1
000026a4: SWAP2
000026a5: MSTORE
000026a6: CHAINID
000026a7: PUSH1 0x80
000026a9: DUP3
000026aa: ADD
000026ab: MSTORE
000026ac: ADDRESS
000026ad: PUSH1 0xa0
000026af: DUP3
000026b0: ADD
000026b1: MSTORE
000026b2: PUSH1 0xc0
000026b4: ADD
000026b5: PUSH1 0x40
000026b7: DUP1
000026b8: MLOAD
000026b9: PUSH1 0x1f
000026bb: NOT
000026bc: DUP2
000026bd: DUP5
000026be: SUB
000026bf: ADD
000026c0: DUP2
000026c1: MSTORE
000026c2: SWAP2
000026c3: SWAP1
000026c4: MSTORE
000026c5: DUP1
000026c6: MLOAD
000026c7: PUSH1 0x20
000026c9: SWAP1
000026ca: SWAP2
000026cb: ADD
000026cc: KECCAK256
000026cd: PUSH1 0x05
000026cf: SSTORE
000026d0: POP
000026d1: POP
000026d2: JUMP
000026d3: JUMPDEST
000026d4: PUSH0
000026d5: DUP1
000026d6: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
000026f7: DUP4
000026f8: GT
000026f9: ISZERO
000026fa: PUSH2 0x2708
000026fd: JUMPI
000026fe: POP
000026ff: PUSH0
00002700: SWAP1
00002701: POP
00002702: PUSH1 0x03
00002704: PUSH2 0x2787
00002707: JUMP
00002708: JUMPDEST
00002709: PUSH1 0x40
0000270b: DUP1
0000270c: MLOAD
0000270d: PUSH0
0000270e: DUP1
0000270f: DUP3
00002710: MSTORE
00002711: PUSH1 0x20
00002713: DUP3
00002714: ADD
00002715: DUP1
00002716: DUP5
00002717: MSTORE
00002718: DUP10
00002719: SWAP1
0000271a: MSTORE
0000271b: PUSH1 0xff
0000271d: DUP9
0000271e: AND
0000271f: SWAP3
00002720: DUP3
00002721: ADD
00002722: SWAP3
00002723: SWAP1
00002724: SWAP3
00002725: MSTORE
00002726: PUSH1 0x60
00002728: DUP2
00002729: ADD
0000272a: DUP7
0000272b: SWAP1
0000272c: MSTORE
0000272d: PUSH1 0x80
0000272f: DUP2
00002730: ADD
00002731: DUP6
00002732: SWAP1
00002733: MSTORE
00002734: PUSH1 0x01
00002736: SWAP1
00002737: PUSH1 0xa0
00002739: ADD
0000273a: PUSH1 0x20
0000273c: PUSH1 0x40
0000273e: MLOAD
0000273f: PUSH1 0x20
00002741: DUP2
00002742: SUB
00002743: SWAP1
00002744: DUP1
00002745: DUP5
00002746: SUB
00002747: SWAP1
00002748: DUP6
00002749: GAS
0000274a: STATICCALL
0000274b: ISZERO
0000274c: DUP1
0000274d: ISZERO
0000274e: PUSH2 0x2759
00002751: JUMPI
00002752: RETURNDATASIZE
00002753: PUSH0
00002754: DUP1
00002755: RETURNDATACOPY
00002756: RETURNDATASIZE
00002757: PUSH0
00002758: REVERT
00002759: JUMPDEST
0000275a: POP
0000275b: POP
0000275c: PUSH1 0x40
0000275e: MLOAD
0000275f: PUSH1 0x1f
00002761: NOT
00002762: ADD
00002763: MLOAD
00002764: SWAP2
00002765: POP
00002766: POP
00002767: PUSH1 0x01
00002769: PUSH1 0x01
0000276b: PUSH1 0xa0
0000276d: SHL
0000276e: SUB
0000276f: DUP2
00002770: AND
00002771: PUSH2 0x2781
00002774: JUMPI
00002775: PUSH0
00002776: PUSH1 0x01
00002778: SWAP3
00002779: POP
0000277a: SWAP3
0000277b: POP
0000277c: POP
0000277d: PUSH2 0x2787
00002780: JUMP
00002781: JUMPDEST
00002782: SWAP2
00002783: POP
00002784: PUSH0
00002785: SWAP1
00002786: POP
00002787: JUMPDEST
00002788: SWAP5
00002789: POP
0000278a: SWAP5
0000278b: SWAP3
0000278c: POP
0000278d: POP
0000278e: POP
0000278f: JUMP
00002790: JUMPDEST
00002791: PUSH0
00002792: PUSH2 0x27e4
00002795: DUP3
00002796: PUSH1 0x40
00002798: MLOAD
00002799: DUP1
0000279a: PUSH1 0x40
0000279c: ADD
0000279d: PUSH1 0x40
0000279f: MSTORE
000027a0: DUP1
000027a1: PUSH1 0x20
000027a3: DUP2
000027a4: MSTORE
000027a5: PUSH1 0x20
000027a7: ADD
000027a8: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000027c9: DUP2
000027ca: MSTORE
000027cb: POP
000027cc: DUP6
000027cd: PUSH1 0x01
000027cf: PUSH1 0x01
000027d1: PUSH1 0xa0
000027d3: SHL
000027d4: SUB
000027d5: AND
000027d6: PUSH2 0x2f16
000027d9: SWAP1
000027da: SWAP3
000027db: SWAP2
000027dc: SWAP1
000027dd: PUSH4 0xffffffff
000027e2: AND
000027e3: JUMP
000027e4: JUMPDEST
000027e5: DUP1
000027e6: MLOAD
000027e7: SWAP1
000027e8: SWAP2
000027e9: POP
000027ea: ISZERO
000027eb: PUSH2 0x0982
000027ee: JUMPI
000027ef: DUP1
000027f0: DUP1
000027f1: PUSH1 0x20
000027f3: ADD
000027f4: SWAP1
000027f5: MLOAD
000027f6: DUP2
000027f7: ADD
000027f8: SWAP1
000027f9: PUSH2 0x2802
000027fc: SWAP2
000027fd: SWAP1
000027fe: PUSH2 0x37cf
00002801: JUMP
00002802: JUMPDEST
00002803: PUSH2 0x0982
00002806: JUMPI
00002807: PUSH1 0x40
00002809: MLOAD
0000280a: PUSH3 0x461bcd
0000280e: PUSH1 0xe5
00002810: SHL
00002811: DUP2
00002812: MSTORE
00002813: PUSH1 0x20
00002815: PUSH1 0x04
00002817: DUP3
00002818: ADD
00002819: MSTORE
0000281a: PUSH1 0x2a
0000281c: PUSH1 0x24
0000281e: DUP3
0000281f: ADD
00002820: MSTORE
00002821: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00002842: PUSH1 0x44
00002844: DUP3
00002845: ADD
00002846: MSTORE
00002847: PUSH10 0x1bdd081cdd58d8d95959
00002852: PUSH1 0xb2
00002854: SHL
00002855: PUSH1 0x64
00002857: DUP3
00002858: ADD
00002859: MSTORE
0000285a: PUSH1 0x84
0000285c: ADD
0000285d: PUSH2 0x0ec2
00002860: JUMP
00002861: JUMPDEST
00002862: PUSH0
00002863: PUSH2 0x0b7b
00002866: PUSH32 0x260d2569b832f39d6cacd75d0a41567887c96dafdbf0800b3206e9fa7536d55f
00002887: PUSH2 0x2f24
0000288a: JUMP
0000288b: JUMPDEST
0000288c: PUSH0
0000288d: PUSH2 0x0b7b
00002890: PUSH32 0x84a2dc6ded10e3311455eb6dca44d897655a6973bb67b2f0f0660ad3420cdaf2
000028b1: PUSH2 0x2f24
000028b4: JUMP
000028b5: JUMPDEST
000028b6: PUSH0
000028b7: DUP3
000028b8: PUSH1 0x01
000028ba: PUSH1 0x01
000028bc: PUSH1 0xa0
000028be: SHL
000028bf: SUB
000028c0: AND
000028c1: DUP3
000028c2: PUSH1 0x40
000028c4: MLOAD
000028c5: PUSH0
000028c6: PUSH1 0x40
000028c8: MLOAD
000028c9: DUP1
000028ca: DUP4
000028cb: SUB
000028cc: DUP2
000028cd: DUP6
000028ce: DUP8
000028cf: GAS
000028d0: CALL
000028d1: SWAP3
000028d2: POP
000028d3: POP
000028d4: POP
000028d5: RETURNDATASIZE
000028d6: DUP1
000028d7: PUSH0
000028d8: DUP2
000028d9: EQ
000028da: PUSH2 0x28fe
000028dd: JUMPI
000028de: PUSH1 0x40
000028e0: MLOAD
000028e1: SWAP2
000028e2: POP
000028e3: PUSH1 0x1f
000028e5: NOT
000028e6: PUSH1 0x3f
000028e8: RETURNDATASIZE
000028e9: ADD
000028ea: AND
000028eb: DUP3
000028ec: ADD
000028ed: PUSH1 0x40
000028ef: MSTORE
000028f0: RETURNDATASIZE
000028f1: DUP3
000028f2: MSTORE
000028f3: RETURNDATASIZE
000028f4: PUSH0
000028f5: PUSH1 0x20
000028f7: DUP5
000028f8: ADD
000028f9: RETURNDATACOPY
000028fa: PUSH2 0x2903
000028fd: JUMP
000028fe: JUMPDEST
000028ff: PUSH1 0x60
00002901: SWAP2
00002902: POP
00002903: JUMPDEST
00002904: POP
00002905: POP
00002906: SWAP1
00002907: POP
00002908: DUP1
00002909: PUSH2 0x0982
0000290c: JUMPI
0000290d: PUSH1 0x40
0000290f: MLOAD
00002910: PUSH4 0x3d2cec6f
00002915: PUSH1 0xe2
00002917: SHL
00002918: DUP2
00002919: MSTORE
0000291a: PUSH1 0x04
0000291c: ADD
0000291d: PUSH1 0x40
0000291f: MLOAD
00002920: DUP1
00002921: SWAP2
00002922: SUB
00002923: SWAP1
00002924: REVERT
00002925: JUMPDEST
00002926: PUSH1 0x06
00002928: SLOAD
00002929: PUSH1 0x40
0000292b: MLOAD
0000292c: PUSH4 0x12315605
00002931: PUSH1 0xe3
00002933: SHL
00002934: DUP2
00002935: MSTORE
00002936: CALLER
00002937: PUSH1 0x04
00002939: DUP3
0000293a: ADD
0000293b: MSTORE
0000293c: ADDRESS
0000293d: PUSH1 0x24
0000293f: DUP3
00002940: ADD
00002941: MSTORE
00002942: PUSH0
00002943: SWAP2
00002944: DUP3
00002945: SWAP2
00002946: PUSH1 0x01
00002948: PUSH1 0x01
0000294a: PUSH1 0xa0
0000294c: SHL
0000294d: SUB
0000294e: SWAP1
0000294f: SWAP2
00002950: AND
00002951: SWAP1
00002952: PUSH4 0x918ab028
00002957: SWAP1
00002958: PUSH1 0x44
0000295a: ADD
0000295b: PUSH1 0x20
0000295d: PUSH1 0x40
0000295f: MLOAD
00002960: DUP1
00002961: DUP4
00002962: SUB
00002963: DUP2
00002964: DUP7
00002965: GAS
00002966: STATICCALL
00002967: ISZERO
00002968: DUP1
00002969: ISZERO
0000296a: PUSH2 0x2975
0000296d: JUMPI
0000296e: RETURNDATASIZE
0000296f: PUSH0
00002970: DUP1
00002971: RETURNDATACOPY
00002972: RETURNDATASIZE
00002973: PUSH0
00002974: REVERT
00002975: JUMPDEST
00002976: POP
00002977: POP
00002978: POP
00002979: POP
0000297a: PUSH1 0x40
0000297c: MLOAD
0000297d: RETURNDATASIZE
0000297e: PUSH1 0x1f
00002980: NOT
00002981: PUSH1 0x1f
00002983: DUP3
00002984: ADD
00002985: AND
00002986: DUP3
00002987: ADD
00002988: DUP1
00002989: PUSH1 0x40
0000298b: MSTORE
0000298c: POP
0000298d: DUP2
0000298e: ADD
0000298f: SWAP1
00002990: PUSH2 0x2999
00002993: SWAP2
00002994: SWAP1
00002995: PUSH2 0x37b8
00002998: JUMP
00002999: JUMPDEST
0000299a: SWAP1
0000299b: POP
0000299c: DUP1
0000299d: PUSH2 0x2a15
000029a0: JUMPI
000029a1: PUSH1 0x06
000029a3: SLOAD
000029a4: PUSH1 0x40
000029a6: MLOAD
000029a7: PUSH4 0x12315605
000029ac: PUSH1 0xe3
000029ae: SHL
000029af: DUP2
000029b0: MSTORE
000029b1: PUSH1 0x01
000029b3: PUSH1 0x01
000029b5: PUSH1 0xa0
000029b7: SHL
000029b8: SUB
000029b9: DUP10
000029ba: DUP2
000029bb: AND
000029bc: PUSH1 0x04
000029be: DUP4
000029bf: ADD
000029c0: MSTORE
000029c1: PUSH0
000029c2: PUSH1 0x24
000029c4: DUP4
000029c5: ADD
000029c6: MSTORE
000029c7: SWAP1
000029c8: SWAP2
000029c9: AND
000029ca: SWAP1
000029cb: PUSH4 0x918ab028
000029d0: SWAP1
000029d1: PUSH1 0x44
000029d3: ADD
000029d4: PUSH1 0x20
000029d6: PUSH1 0x40
000029d8: MLOAD
000029d9: DUP1
000029da: DUP4
000029db: SUB
000029dc: DUP2
000029dd: DUP7
000029de: GAS
000029df: STATICCALL
000029e0: ISZERO
000029e1: DUP1
000029e2: ISZERO
000029e3: PUSH2 0x29ee
000029e6: JUMPI
000029e7: RETURNDATASIZE
000029e8: PUSH0
000029e9: DUP1
000029ea: RETURNDATACOPY
000029eb: RETURNDATASIZE
000029ec: PUSH0
000029ed: REVERT
000029ee: JUMPDEST
000029ef: POP
000029f0: POP
000029f1: POP
000029f2: POP
000029f3: PUSH1 0x40
000029f5: MLOAD
000029f6: RETURNDATASIZE
000029f7: PUSH1 0x1f
000029f9: NOT
000029fa: PUSH1 0x1f
000029fc: DUP3
000029fd: ADD
000029fe: AND
000029ff: DUP3
00002a00: ADD
00002a01: DUP1
00002a02: PUSH1 0x40
00002a04: MSTORE
00002a05: POP
00002a06: DUP2
00002a07: ADD
00002a08: SWAP1
00002a09: PUSH2 0x2a12
00002a0c: SWAP2
00002a0d: SWAP1
00002a0e: PUSH2 0x37b8
00002a11: JUMP
00002a12: JUMPDEST
00002a13: SWAP1
00002a14: POP
00002a15: JUMPDEST
00002a16: PUSH1 0x06
00002a18: SLOAD
00002a19: PUSH1 0x40
00002a1b: MLOAD
00002a1c: PUSH4 0x791cd1f5
00002a21: PUSH1 0xe1
00002a23: SHL
00002a24: DUP2
00002a25: MSTORE
00002a26: PUSH1 0x01
00002a28: PUSH1 0x01
00002a2a: PUSH1 0xa0
00002a2c: SHL
00002a2d: SUB
00002a2e: SWAP1
00002a2f: SWAP2
00002a30: AND
00002a31: SWAP1
00002a32: PUSH4 0xf239a3ea
00002a37: SWAP1
00002a38: PUSH2 0x2a4f
00002a3b: SWAP1
00002a3c: DUP5
00002a3d: SWAP1
00002a3e: ADDRESS
00002a3f: SWAP1
00002a40: DUP10
00002a41: SWAP1
00002a42: DUP10
00002a43: SWAP1
00002a44: DUP14
00002a45: SWAP1
00002a46: DUP14
00002a47: SWAP1
00002a48: PUSH1 0x04
00002a4a: ADD
00002a4b: PUSH2 0x4226
00002a4e: JUMP
00002a4f: JUMPDEST
00002a50: PUSH1 0x20
00002a52: PUSH1 0x40
00002a54: MLOAD
00002a55: DUP1
00002a56: DUP4
00002a57: SUB
00002a58: DUP2
00002a59: DUP7
00002a5a: GAS
00002a5b: STATICCALL
00002a5c: ISZERO
00002a5d: DUP1
00002a5e: ISZERO
00002a5f: PUSH2 0x2a6a
00002a62: JUMPI
00002a63: RETURNDATASIZE
00002a64: PUSH0
00002a65: DUP1
00002a66: RETURNDATACOPY
00002a67: RETURNDATASIZE
00002a68: PUSH0
00002a69: REVERT
00002a6a: JUMPDEST
00002a6b: POP
00002a6c: POP
00002a6d: POP
00002a6e: POP
00002a6f: PUSH1 0x40
00002a71: MLOAD
00002a72: RETURNDATASIZE
00002a73: PUSH1 0x1f
00002a75: NOT
00002a76: PUSH1 0x1f
00002a78: DUP3
00002a79: ADD
00002a7a: AND
00002a7b: DUP3
00002a7c: ADD
00002a7d: DUP1
00002a7e: PUSH1 0x40
00002a80: MSTORE
00002a81: POP
00002a82: DUP2
00002a83: ADD
00002a84: SWAP1
00002a85: PUSH2 0x2a8e
00002a88: SWAP2
00002a89: SWAP1
00002a8a: PUSH2 0x37cf
00002a8d: JUMP
00002a8e: JUMPDEST
00002a8f: SWAP8
00002a90: SWAP7
00002a91: POP
00002a92: POP
00002a93: POP
00002a94: POP
00002a95: POP
00002a96: POP
00002a97: POP
00002a98: JUMP
00002a99: JUMPDEST
00002a9a: PUSH1 0x60
00002a9c: PUSH0
00002a9d: DUP1
00002a9e: PUSH2 0x2aa5
00002aa1: PUSH2 0x2861
00002aa4: JUMP
00002aa5: JUMPDEST
00002aa6: SWAP1
00002aa7: POP
00002aa8: PUSH2 0x2aaf
00002aab: PUSH2 0x288b
00002aae: JUMP
00002aaf: JUMPDEST
00002ab0: PUSH1 0x40
00002ab2: MLOAD
00002ab3: PUSH4 0x47cef96b
00002ab8: PUSH1 0xe1
00002aba: SHL
00002abb: DUP2
00002abc: MSTORE
00002abd: SWAP1
00002abe: SWAP3
00002abf: POP
00002ac0: PUSH1 0x01
00002ac2: PUSH1 0x01
00002ac4: PUSH1 0xa0
00002ac6: SHL
00002ac7: SUB
00002ac8: DUP3
00002ac9: AND
00002aca: SWAP1
00002acb: PUSH4 0x8f9df2d6
00002ad0: SWAP1
00002ad1: PUSH2 0x2ae4
00002ad4: SWAP1
00002ad5: DUP11
00002ad6: SWAP1
00002ad7: DUP11
00002ad8: SWAP1
00002ad9: DUP11
00002ada: SWAP1
00002adb: DUP11
00002adc: SWAP1
00002add: PUSH1 0x04
00002adf: ADD
00002ae0: PUSH2 0x4270
00002ae3: JUMP
00002ae4: JUMPDEST
00002ae5: PUSH0
00002ae6: PUSH1 0x40
00002ae8: MLOAD
00002ae9: DUP1
00002aea: DUP4
00002aeb: SUB
00002aec: DUP2
00002aed: DUP7
00002aee: GAS
00002aef: STATICCALL
00002af0: ISZERO
00002af1: DUP1
00002af2: ISZERO
00002af3: PUSH2 0x2afe
00002af6: JUMPI
00002af7: RETURNDATASIZE
00002af8: PUSH0
00002af9: DUP1
00002afa: RETURNDATACOPY
00002afb: RETURNDATASIZE
00002afc: PUSH0
00002afd: REVERT
00002afe: JUMPDEST
00002aff: POP
00002b00: POP
00002b01: POP
00002b02: POP
00002b03: PUSH1 0x40
00002b05: MLOAD
00002b06: RETURNDATASIZE
00002b07: PUSH0
00002b08: DUP3
00002b09: RETURNDATACOPY
00002b0a: PUSH1 0x1f
00002b0c: RETURNDATASIZE
00002b0d: SWAP1
00002b0e: DUP2
00002b0f: ADD
00002b10: PUSH1 0x1f
00002b12: NOT
00002b13: AND
00002b14: DUP3
00002b15: ADD
00002b16: PUSH1 0x40
00002b18: MSTORE
00002b19: PUSH2 0x2b25
00002b1c: SWAP2
00002b1d: SWAP1
00002b1e: DUP2
00002b1f: ADD
00002b20: SWAP1
00002b21: PUSH2 0x42fb
00002b24: JUMP
00002b25: JUMPDEST
00002b26: SWAP9
00002b27: SWAP3
00002b28: SWAP8
00002b29: POP
00002b2a: SWAP2
00002b2b: SWAP6
00002b2c: POP
00002b2d: POP
00002b2e: POP
00002b2f: POP
00002b30: POP
00002b31: POP
00002b32: JUMP
00002b33: JUMPDEST
00002b34: PUSH1 0x60
00002b36: PUSH0
00002b37: DUP6
00002b38: PUSH1 0x01
00002b3a: PUSH1 0x01
00002b3c: PUSH1 0xa0
00002b3e: SHL
00002b3f: SUB
00002b40: AND
00002b41: DUP6
00002b42: DUP6
00002b43: DUP6
00002b44: PUSH1 0x40
00002b46: MLOAD
00002b47: PUSH2 0x2b51
00002b4a: SWAP3
00002b4b: SWAP2
00002b4c: SWAP1
00002b4d: PUSH2 0x387c
00002b50: JUMP
00002b51: JUMPDEST
00002b52: PUSH0
00002b53: PUSH1 0x40
00002b55: MLOAD
00002b56: DUP1
00002b57: DUP4
00002b58: SUB
00002b59: DUP2
00002b5a: DUP6
00002b5b: DUP8
00002b5c: GAS
00002b5d: CALL
00002b5e: SWAP3
00002b5f: POP
00002b60: POP
00002b61: POP
00002b62: RETURNDATASIZE
00002b63: DUP1
00002b64: PUSH0
00002b65: DUP2
00002b66: EQ
00002b67: PUSH2 0x2b8b
00002b6a: JUMPI
00002b6b: PUSH1 0x40
00002b6d: MLOAD
00002b6e: SWAP2
00002b6f: POP
00002b70: PUSH1 0x1f
00002b72: NOT
00002b73: PUSH1 0x3f
00002b75: RETURNDATASIZE
00002b76: ADD
00002b77: AND
00002b78: DUP3
00002b79: ADD
00002b7a: PUSH1 0x40
00002b7c: MSTORE
00002b7d: RETURNDATASIZE
00002b7e: DUP3
00002b7f: MSTORE
00002b80: RETURNDATASIZE
00002b81: PUSH0
00002b82: PUSH1 0x20
00002b84: DUP5
00002b85: ADD
00002b86: RETURNDATACOPY
00002b87: PUSH2 0x2b90
00002b8a: JUMP
00002b8b: JUMPDEST
00002b8c: PUSH1 0x60
00002b8e: SWAP2
00002b8f: POP
00002b90: JUMPDEST
00002b91: POP
00002b92: SWAP3
00002b93: POP
00002b94: SWAP1
00002b95: POP
00002b96: DUP1
00002b97: PUSH2 0x2bb3
00002b9a: JUMPI
00002b9b: PUSH1 0x40
00002b9d: MLOAD
00002b9e: PUSH4 0xcf776a51
00002ba3: PUSH1 0xe0
00002ba5: SHL
00002ba6: DUP2
00002ba7: MSTORE
00002ba8: PUSH1 0x04
00002baa: ADD
00002bab: PUSH1 0x40
00002bad: MLOAD
00002bae: DUP1
00002baf: SWAP2
00002bb0: SUB
00002bb1: SWAP1
00002bb2: REVERT
00002bb3: JUMPDEST
00002bb4: POP
00002bb5: SWAP5
00002bb6: SWAP4
00002bb7: POP
00002bb8: POP
00002bb9: POP
00002bba: POP
00002bbb: JUMP
00002bbc: JUMPDEST
00002bbd: PUSH1 0x60
00002bbf: DUP4
00002bc0: ADD
00002bc1: MLOAD
00002bc2: ISZERO
00002bc3: PUSH2 0x2406
00002bc6: JUMPI
00002bc7: PUSH0
00002bc8: DUP4
00002bc9: PUSH1 0x20
00002bcb: ADD
00002bcc: MLOAD
00002bcd: PUSH0
00002bce: EQ
00002bcf: PUSH2 0x2c06
00002bd2: JUMPI
00002bd3: PUSH1 0x20
00002bd5: DUP1
00002bd6: DUP6
00002bd7: ADD
00002bd8: MLOAD
00002bd9: DUP5
00002bda: SWAP2
00002bdb: DUP5
00002bdc: SWAP1
00002bdd: PUSH2 0x2be7
00002be0: SWAP1
00002be1: DUP4
00002be2: SWAP1
00002be3: PUSH2 0x3d94
00002be6: JUMP
00002be7: JUMPDEST
00002be8: SWAP3
00002be9: PUSH2 0x2bf4
00002bec: SWAP4
00002bed: SWAP3
00002bee: SWAP2
00002bef: SWAP1
00002bf0: PUSH2 0x4354
00002bf3: JUMP
00002bf4: JUMPDEST
00002bf5: DUP2
00002bf6: ADD
00002bf7: SWAP1
00002bf8: PUSH2 0x2c01
00002bfb: SWAP2
00002bfc: SWAP1
00002bfd: PUSH2 0x370a
00002c00: JUMP
00002c01: JUMPDEST
00002c02: PUSH2 0x2c09
00002c05: JUMP
00002c06: JUMPDEST
00002c07: DUP4
00002c08: MLOAD
00002c09: JUMPDEST
00002c0a: SWAP1
00002c0b: POP
00002c0c: PUSH0
00002c0d: PUSH1 0x01
00002c0f: PUSH1 0x01
00002c11: PUSH1 0xa0
00002c13: SHL
00002c14: SUB
00002c15: DUP3
00002c16: AND
00002c17: ISZERO
00002c18: DUP1
00002c19: ISZERO
00002c1a: SWAP1
00002c1b: PUSH2 0x2c41
00002c1e: JUMPI
00002c1f: POP
00002c20: PUSH1 0x01
00002c22: PUSH1 0x01
00002c24: PUSH1 0xa0
00002c26: SHL
00002c27: SUB
00002c28: DUP3
00002c29: AND
00002c2a: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00002c3f: EQ
00002c40: ISZERO
00002c41: JUMPDEST
00002c42: ISZERO
00002c43: PUSH2 0x2c7a
00002c46: JUMPI
00002c47: PUSH1 0x40
00002c49: DUP6
00002c4a: ADD
00002c4b: MLOAD
00002c4c: DUP5
00002c4d: SWAP1
00002c4e: DUP5
00002c4f: PUSH2 0x2c59
00002c52: DUP3
00002c53: PUSH1 0x20
00002c55: PUSH2 0x3d94
00002c58: JUMP
00002c59: JUMPDEST
00002c5a: SWAP3
00002c5b: PUSH2 0x2c66
00002c5e: SWAP4
00002c5f: SWAP3
00002c60: SWAP2
00002c61: SWAP1
00002c62: PUSH2 0x4354
00002c65: JUMP
00002c66: JUMPDEST
00002c67: DUP2
00002c68: ADD
00002c69: SWAP1
00002c6a: PUSH2 0x2c73
00002c6d: SWAP2
00002c6e: SWAP1
00002c6f: PUSH2 0x437b
00002c72: JUMP
00002c73: JUMPDEST
00002c74: SWAP1
00002c75: POP
00002c76: PUSH2 0x2cbb
00002c79: JUMP
00002c7a: JUMPDEST
00002c7b: PUSH1 0x40
00002c7d: DUP6
00002c7e: ADD
00002c7f: MLOAD
00002c80: ISZERO
00002c81: PUSH2 0x2cb6
00002c84: JUMPI
00002c85: PUSH1 0x40
00002c87: DUP6
00002c88: ADD
00002c89: MLOAD
00002c8a: DUP5
00002c8b: SWAP1
00002c8c: DUP5
00002c8d: PUSH2 0x2c97
00002c90: DUP3
00002c91: PUSH1 0x20
00002c93: PUSH2 0x3d94
00002c96: JUMP
00002c97: JUMPDEST
00002c98: SWAP3
00002c99: PUSH2 0x2ca4
00002c9c: SWAP4
00002c9d: SWAP3
00002c9e: SWAP2
00002c9f: SWAP1
00002ca0: PUSH2 0x4354
00002ca3: JUMP
00002ca4: JUMPDEST
00002ca5: DUP2
00002ca6: ADD
00002ca7: SWAP1
00002ca8: PUSH2 0x2cb1
00002cab: SWAP2
00002cac: SWAP1
00002cad: PUSH2 0x437b
00002cb0: JUMP
00002cb1: JUMPDEST
00002cb2: PUSH2 0x2cb8
00002cb5: JUMP
00002cb6: JUMPDEST
00002cb7: DUP7
00002cb8: JUMPDEST
00002cb9: SWAP1
00002cba: POP
00002cbb: JUMPDEST
00002cbc: PUSH0
00002cbd: PUSH2 0x2710
00002cc0: DUP3
00002cc1: DUP8
00002cc2: PUSH1 0x60
00002cc4: ADD
00002cc5: MLOAD
00002cc6: PUSH2 0x2ccf
00002cc9: SWAP2
00002cca: SWAP1
00002ccb: PUSH2 0x3e6a
00002cce: JUMP
00002ccf: JUMPDEST
00002cd0: PUSH2 0x2cd9
00002cd3: SWAP2
00002cd4: SWAP1
00002cd5: PUSH2 0x3f8b
00002cd8: JUMP
00002cd9: JUMPDEST
00002cda: SWAP1
00002cdb: POP
00002cdc: DUP1
00002cdd: ISZERO
00002cde: PUSH2 0x2d9d
00002ce1: JUMPI
00002ce2: PUSH1 0x01
00002ce4: PUSH1 0x01
00002ce6: PUSH1 0xa0
00002ce8: SHL
00002ce9: SUB
00002cea: DUP4
00002ceb: AND
00002cec: ISZERO
00002ced: DUP1
00002cee: ISZERO
00002cef: SWAP1
00002cf0: PUSH2 0x2d16
00002cf3: JUMPI
00002cf4: POP
00002cf5: PUSH1 0x01
00002cf7: PUSH1 0x01
00002cf9: PUSH1 0xa0
00002cfb: SHL
00002cfc: SUB
00002cfd: DUP4
00002cfe: AND
00002cff: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00002d14: EQ
00002d15: ISZERO
00002d16: JUMPDEST
00002d17: ISZERO
00002d18: PUSH2 0x2d2b
00002d1b: JUMPI
00002d1c: PUSH2 0x2d26
00002d1f: DUP4
00002d20: DUP9
00002d21: DUP4
00002d22: PUSH2 0x1ece
00002d25: JUMP
00002d26: JUMPDEST
00002d27: PUSH2 0x2d9d
00002d2a: JUMP
00002d2b: JUMPDEST
00002d2c: PUSH0
00002d2d: DUP8
00002d2e: PUSH1 0x01
00002d30: PUSH1 0x01
00002d32: PUSH1 0xa0
00002d34: SHL
00002d35: SUB
00002d36: AND
00002d37: DUP3
00002d38: PUSH1 0x40
00002d3a: MLOAD
00002d3b: PUSH0
00002d3c: PUSH1 0x40
00002d3e: MLOAD
00002d3f: DUP1
00002d40: DUP4
00002d41: SUB
00002d42: DUP2
00002d43: DUP6
00002d44: DUP8
00002d45: GAS
00002d46: CALL
00002d47: SWAP3
00002d48: POP
00002d49: POP
00002d4a: POP
00002d4b: RETURNDATASIZE
00002d4c: DUP1
00002d4d: PUSH0
00002d4e: DUP2
00002d4f: EQ
00002d50: PUSH2 0x2d74
00002d53: JUMPI
00002d54: PUSH1 0x40
00002d56: MLOAD
00002d57: SWAP2
00002d58: POP
00002d59: PUSH1 0x1f
00002d5b: NOT
00002d5c: PUSH1 0x3f
00002d5e: RETURNDATASIZE
00002d5f: ADD
00002d60: AND
00002d61: DUP3
00002d62: ADD
00002d63: PUSH1 0x40
00002d65: MSTORE
00002d66: RETURNDATASIZE
00002d67: DUP3
00002d68: MSTORE
00002d69: RETURNDATASIZE
00002d6a: PUSH0
00002d6b: PUSH1 0x20
00002d6d: DUP5
00002d6e: ADD
00002d6f: RETURNDATACOPY
00002d70: PUSH2 0x2d79
00002d73: JUMP
00002d74: JUMPDEST
00002d75: PUSH1 0x60
00002d77: SWAP2
00002d78: POP
00002d79: JUMPDEST
00002d7a: POP
00002d7b: POP
00002d7c: SWAP1
00002d7d: POP
00002d7e: DUP1
00002d7f: PUSH2 0x2d9b
00002d82: JUMPI
00002d83: PUSH1 0x40
00002d85: MLOAD
00002d86: PUSH4 0x14f3becf
00002d8b: PUSH1 0xe2
00002d8d: SHL
00002d8e: DUP2
00002d8f: MSTORE
00002d90: PUSH1 0x04
00002d92: ADD
00002d93: PUSH1 0x40
00002d95: MLOAD
00002d96: DUP1
00002d97: SWAP2
00002d98: SUB
00002d99: SWAP1
00002d9a: REVERT
00002d9b: JUMPDEST
00002d9c: POP
00002d9d: JUMPDEST
00002d9e: POP
00002d9f: POP
00002da0: POP
00002da1: POP
00002da2: POP
00002da3: POP
00002da4: POP
00002da5: POP
00002da6: JUMP
00002da7: JUMPDEST
00002da8: PUSH0
00002da9: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed
00002dbe: NOT
00002dbf: PUSH1 0x01
00002dc1: PUSH1 0x01
00002dc3: PUSH1 0xa0
00002dc5: SHL
00002dc6: SUB
00002dc7: DUP7
00002dc8: AND
00002dc9: ADD
00002dca: PUSH2 0x2dd4
00002dcd: JUMPI
00002dce: POP
00002dcf: SELFBALANCE
00002dd0: PUSH2 0x2e3d
00002dd3: JUMP
00002dd4: JUMPDEST
00002dd5: PUSH1 0x40
00002dd7: MLOAD
00002dd8: PUSH4 0x70a08231
00002ddd: PUSH1 0xe0
00002ddf: SHL
00002de0: DUP2
00002de1: MSTORE
00002de2: ADDRESS
00002de3: PUSH1 0x04
00002de5: DUP3
00002de6: ADD
00002de7: MSTORE
00002de8: PUSH1 0x01
00002dea: PUSH1 0x01
00002dec: PUSH1 0xa0
00002dee: SHL
00002def: SUB
00002df0: DUP7
00002df1: AND
00002df2: SWAP1
00002df3: PUSH4 0x70a08231
00002df8: SWAP1
00002df9: PUSH1 0x24
00002dfb: ADD
00002dfc: PUSH1 0x20
00002dfe: PUSH1 0x40
00002e00: MLOAD
00002e01: DUP1
00002e02: DUP4
00002e03: SUB
00002e04: DUP2
00002e05: DUP7
00002e06: GAS
00002e07: STATICCALL
00002e08: ISZERO
00002e09: DUP1
00002e0a: ISZERO
00002e0b: PUSH2 0x2e16
00002e0e: JUMPI
00002e0f: RETURNDATASIZE
00002e10: PUSH0
00002e11: DUP1
00002e12: RETURNDATACOPY
00002e13: RETURNDATASIZE
00002e14: PUSH0
00002e15: REVERT
00002e16: JUMPDEST
00002e17: POP
00002e18: POP
00002e19: POP
00002e1a: POP
00002e1b: PUSH1 0x40
00002e1d: MLOAD
00002e1e: RETURNDATASIZE
00002e1f: PUSH1 0x1f
00002e21: NOT
00002e22: PUSH1 0x1f
00002e24: DUP3
00002e25: ADD
00002e26: AND
00002e27: DUP3
00002e28: ADD
00002e29: DUP1
00002e2a: PUSH1 0x40
00002e2c: MSTORE
00002e2d: POP
00002e2e: DUP2
00002e2f: ADD
00002e30: SWAP1
00002e31: PUSH2 0x2e3a
00002e34: SWAP2
00002e35: SWAP1
00002e36: PUSH2 0x37b8
00002e39: JUMP
00002e3a: JUMPDEST
00002e3b: SWAP1
00002e3c: POP
00002e3d: JUMPDEST
00002e3e: DUP1
00002e3f: PUSH0
00002e40: SUB
00002e41: PUSH2 0x2e4a
00002e44: JUMPI
00002e45: POP
00002e46: PUSH2 0x1b69
00002e49: JUMP
00002e4a: JUMPDEST
00002e4b: DUP4
00002e4c: DUP2
00002e4d: GT
00002e4e: PUSH2 0x2e57
00002e51: JUMPI
00002e52: POP
00002e53: PUSH2 0x1b69
00002e56: JUMP
00002e57: JUMPDEST
00002e58: PUSH0
00002e59: PUSH3 0x0f4240
00002e5d: DUP5
00002e5e: PUSH2 0x2e67
00002e61: DUP8
00002e62: DUP6
00002e63: PUSH2 0x3da7
00002e66: JUMP
00002e67: JUMPDEST
00002e68: PUSH2 0x2e71
00002e6b: SWAP2
00002e6c: SWAP1
00002e6d: PUSH2 0x3e6a
00002e70: JUMP
00002e71: JUMPDEST
00002e72: PUSH2 0x2e7b
00002e75: SWAP2
00002e76: SWAP1
00002e77: PUSH2 0x3f8b
00002e7a: JUMP
00002e7b: JUMPDEST
00002e7c: SWAP1
00002e7d: POP
00002e7e: DUP1
00002e7f: PUSH0
00002e80: SUB
00002e81: PUSH2 0x2e8b
00002e84: JUMPI
00002e85: POP
00002e86: POP
00002e87: PUSH2 0x1b69
00002e8a: JUMP
00002e8b: JUMPDEST
00002e8c: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed
00002ea1: NOT
00002ea2: PUSH1 0x01
00002ea4: PUSH1 0x01
00002ea6: PUSH1 0xa0
00002ea8: SHL
00002ea9: SUB
00002eaa: DUP8
00002eab: AND
00002eac: ADD
00002ead: PUSH2 0x2ebf
00002eb0: JUMPI
00002eb1: PUSH2 0x2eba
00002eb4: DUP4
00002eb5: DUP3
00002eb6: PUSH2 0x28b5
00002eb9: JUMP
00002eba: JUMPDEST
00002ebb: PUSH2 0x2eca
00002ebe: JUMP
00002ebf: JUMPDEST
00002ec0: PUSH2 0x2eca
00002ec3: DUP7
00002ec4: DUP5
00002ec5: DUP4
00002ec6: PUSH2 0x1ece
00002ec9: JUMP
00002eca: JUMPDEST
00002ecb: PUSH1 0x40
00002ecd: DUP1
00002ece: MLOAD
00002ecf: DUP3
00002ed0: DUP2
00002ed1: MSTORE
00002ed2: PUSH1 0x20
00002ed4: DUP2
00002ed5: ADD
00002ed6: DUP7
00002ed7: SWAP1
00002ed8: MSTORE
00002ed9: PUSH1 0x01
00002edb: PUSH1 0x01
00002edd: PUSH1 0xa0
00002edf: SHL
00002ee0: SUB
00002ee1: DUP9
00002ee2: AND
00002ee3: SWAP2
00002ee4: PUSH32 0x108516ddcf5ba43cea6bb2cd5ff6d59ac196c1c86ccb9178332b9dd72d1ca561
00002f05: SWAP2
00002f06: ADD
00002f07: PUSH1 0x40
00002f09: MLOAD
00002f0a: DUP1
00002f0b: SWAP2
00002f0c: SUB
00002f0d: SWAP1
00002f0e: LOG2
00002f0f: POP
00002f10: POP
00002f11: POP
00002f12: POP
00002f13: POP
00002f14: POP
00002f15: JUMP
00002f16: JUMPDEST
00002f17: PUSH1 0x60
00002f19: PUSH2 0x1acc
00002f1c: DUP5
00002f1d: DUP5
00002f1e: PUSH0
00002f1f: DUP6
00002f20: PUSH2 0x2fc3
00002f23: JUMP
00002f24: JUMPDEST
00002f25: PUSH1 0x06
00002f27: SLOAD
00002f28: PUSH1 0x40
00002f2a: MLOAD
00002f2b: PUSH4 0x20d06ff9
00002f30: PUSH1 0xe0
00002f32: SHL
00002f33: DUP2
00002f34: MSTORE
00002f35: PUSH1 0x04
00002f37: DUP2
00002f38: ADD
00002f39: DUP4
00002f3a: SWAP1
00002f3b: MSTORE
00002f3c: PUSH0
00002f3d: PUSH1 0x24
00002f3f: DUP3
00002f40: ADD
00002f41: DUP2
00002f42: SWAP1
00002f43: MSTORE
00002f44: SWAP2
00002f45: DUP3
00002f46: SWAP2
00002f47: PUSH1 0x01
00002f49: PUSH1 0x01
00002f4b: PUSH1 0xa0
00002f4d: SHL
00002f4e: SUB
00002f4f: SWAP1
00002f50: SWAP2
00002f51: AND
00002f52: SWAP1
00002f53: PUSH4 0x20d06ff9
00002f58: SWAP1
00002f59: PUSH1 0x44
00002f5b: ADD
00002f5c: PUSH1 0x20
00002f5e: PUSH1 0x40
00002f60: MLOAD
00002f61: DUP1
00002f62: DUP4
00002f63: SUB
00002f64: DUP2
00002f65: DUP7
00002f66: GAS
00002f67: STATICCALL
00002f68: ISZERO
00002f69: DUP1
00002f6a: ISZERO
00002f6b: PUSH2 0x2f76
00002f6e: JUMPI
00002f6f: RETURNDATASIZE
00002f70: PUSH0
00002f71: DUP1
00002f72: RETURNDATACOPY
00002f73: RETURNDATASIZE
00002f74: PUSH0
00002f75: REVERT
00002f76: JUMPDEST
00002f77: POP
00002f78: POP
00002f79: POP
00002f7a: POP
00002f7b: PUSH1 0x40
00002f7d: MLOAD
00002f7e: RETURNDATASIZE
00002f7f: PUSH1 0x1f
00002f81: NOT
00002f82: PUSH1 0x1f
00002f84: DUP3
00002f85: ADD
00002f86: AND
00002f87: DUP3
00002f88: ADD
00002f89: DUP1
00002f8a: PUSH1 0x40
00002f8c: MSTORE
00002f8d: POP
00002f8e: DUP2
00002f8f: ADD
00002f90: SWAP1
00002f91: PUSH2 0x2f9a
00002f94: SWAP2
00002f95: SWAP1
00002f96: PUSH2 0x3905
00002f99: JUMP
00002f9a: JUMPDEST
00002f9b: SWAP1
00002f9c: POP
00002f9d: PUSH1 0x01
00002f9f: PUSH1 0x01
00002fa1: PUSH1 0xa0
00002fa3: SHL
00002fa4: SUB
00002fa5: DUP2
00002fa6: AND
00002fa7: PUSH2 0x0443
00002faa: JUMPI
00002fab: PUSH1 0x40
00002fad: MLOAD
00002fae: PUSH4 0x209dd695
00002fb3: PUSH1 0xe2
00002fb5: SHL
00002fb6: DUP2
00002fb7: MSTORE
00002fb8: PUSH1 0x04
00002fba: ADD
00002fbb: PUSH1 0x40
00002fbd: MLOAD
00002fbe: DUP1
00002fbf: SWAP2
00002fc0: SUB
00002fc1: SWAP1
00002fc2: REVERT
00002fc3: JUMPDEST
00002fc4: PUSH1 0x60
00002fc6: DUP3
00002fc7: SELFBALANCE
00002fc8: LT
00002fc9: ISZERO
00002fca: PUSH2 0x3024
00002fcd: JUMPI
00002fce: PUSH1 0x40
00002fd0: MLOAD
00002fd1: PUSH3 0x461bcd
00002fd5: PUSH1 0xe5
00002fd7: SHL
00002fd8: DUP2
00002fd9: MSTORE
00002fda: PUSH1 0x20
00002fdc: PUSH1 0x04
00002fde: DUP3
00002fdf: ADD
00002fe0: MSTORE
00002fe1: PUSH1 0x26
00002fe3: PUSH1 0x24
00002fe5: DUP3
00002fe6: ADD
00002fe7: MSTORE
00002fe8: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00003009: PUSH1 0x44
0000300b: DUP3
0000300c: ADD
0000300d: MSTORE
0000300e: PUSH6 0x1c8818d85b1b
00003015: PUSH1 0xd2
00003017: SHL
00003018: PUSH1 0x64
0000301a: DUP3
0000301b: ADD
0000301c: MSTORE
0000301d: PUSH1 0x84
0000301f: ADD
00003020: PUSH2 0x0ec2
00003023: JUMP
00003024: JUMPDEST
00003025: PUSH0
00003026: DUP1
00003027: DUP7
00003028: PUSH1 0x01
0000302a: PUSH1 0x01
0000302c: PUSH1 0xa0
0000302e: SHL
0000302f: SUB
00003030: AND
00003031: DUP6
00003032: DUP8
00003033: PUSH1 0x40
00003035: MLOAD
00003036: PUSH2 0x303f
00003039: SWAP2
0000303a: SWAP1
0000303b: PUSH2 0x3d6a
0000303e: JUMP
0000303f: JUMPDEST
00003040: PUSH0
00003041: PUSH1 0x40
00003043: MLOAD
00003044: DUP1
00003045: DUP4
00003046: SUB
00003047: DUP2
00003048: DUP6
00003049: DUP8
0000304a: GAS
0000304b: CALL
0000304c: SWAP3
0000304d: POP
0000304e: POP
0000304f: POP
00003050: RETURNDATASIZE
00003051: DUP1
00003052: PUSH0
00003053: DUP2
00003054: EQ
00003055: PUSH2 0x3079
00003058: JUMPI
00003059: PUSH1 0x40
0000305b: MLOAD
0000305c: SWAP2
0000305d: POP
0000305e: PUSH1 0x1f
00003060: NOT
00003061: PUSH1 0x3f
00003063: RETURNDATASIZE
00003064: ADD
00003065: AND
00003066: DUP3
00003067: ADD
00003068: PUSH1 0x40
0000306a: MSTORE
0000306b: RETURNDATASIZE
0000306c: DUP3
0000306d: MSTORE
0000306e: RETURNDATASIZE
0000306f: PUSH0
00003070: PUSH1 0x20
00003072: DUP5
00003073: ADD
00003074: RETURNDATACOPY
00003075: PUSH2 0x307e
00003078: JUMP
00003079: JUMPDEST
0000307a: PUSH1 0x60
0000307c: SWAP2
0000307d: POP
0000307e: JUMPDEST
0000307f: POP
00003080: SWAP2
00003081: POP
00003082: SWAP2
00003083: POP
00003084: PUSH2 0x2a8e
00003087: DUP8
00003088: DUP4
00003089: DUP4
0000308a: DUP8
0000308b: PUSH1 0x60
0000308d: DUP4
0000308e: ISZERO
0000308f: PUSH2 0x30f8
00003092: JUMPI
00003093: DUP3
00003094: MLOAD
00003095: PUSH0
00003096: SUB
00003097: PUSH2 0x30f1
0000309a: JUMPI
0000309b: PUSH1 0x01
0000309d: PUSH1 0x01
0000309f: PUSH1 0xa0
000030a1: SHL
000030a2: SUB
000030a3: DUP6
000030a4: AND
000030a5: EXTCODESIZE
000030a6: PUSH2 0x30f1
000030a9: JUMPI
000030aa: PUSH1 0x40
000030ac: MLOAD
000030ad: PUSH3 0x461bcd
000030b1: PUSH1 0xe5
000030b3: SHL
000030b4: DUP2
000030b5: MSTORE
000030b6: PUSH1 0x20
000030b8: PUSH1 0x04
000030ba: DUP3
000030bb: ADD
000030bc: MSTORE
000030bd: PUSH1 0x1d
000030bf: PUSH1 0x24
000030c1: DUP3
000030c2: ADD
000030c3: MSTORE
000030c4: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000030e5: PUSH1 0x44
000030e7: DUP3
000030e8: ADD
000030e9: MSTORE
000030ea: PUSH1 0x64
000030ec: ADD
000030ed: PUSH2 0x0ec2
000030f0: JUMP
000030f1: JUMPDEST
000030f2: POP
000030f3: DUP2
000030f4: PUSH2 0x1acc
000030f7: JUMP
000030f8: JUMPDEST
000030f9: PUSH2 0x1acc
000030fc: DUP4
000030fd: DUP4
000030fe: DUP2
000030ff: MLOAD
00003100: ISZERO
00003101: PUSH2 0x310d
00003104: JUMPI
00003105: DUP2
00003106: MLOAD
00003107: DUP1
00003108: DUP4
00003109: PUSH1 0x20
0000310b: ADD
0000310c: REVERT
0000310d: JUMPDEST
0000310e: DUP1
0000310f: PUSH1 0x40
00003111: MLOAD
00003112: PUSH3 0x461bcd
00003116: PUSH1 0xe5
00003118: SHL
00003119: DUP2
0000311a: MSTORE
0000311b: PUSH1 0x04
0000311d: ADD
0000311e: PUSH2 0x0ec2
00003121: SWAP2
00003122: SWAP1
00003123: PUSH2 0x354d
00003126: JUMP
00003127: JUMPDEST
00003128: PUSH1 0x01
0000312a: PUSH1 0x01
0000312c: PUSH1 0xa0
0000312e: SHL
0000312f: SUB
00003130: DUP2
00003131: AND
00003132: DUP2
00003133: EQ
00003134: PUSH2 0x17c7
00003137: JUMPI
00003138: PUSH0
00003139: DUP1
0000313a: REVERT
0000313b: JUMPDEST
0000313c: PUSH0
0000313d: DUP1
0000313e: DUP4
0000313f: PUSH1 0x1f
00003141: DUP5
00003142: ADD
00003143: SLT
00003144: PUSH2 0x314b
00003147: JUMPI
00003148: PUSH0
00003149: DUP1
0000314a: REVERT
0000314b: JUMPDEST
0000314c: POP
0000314d: DUP2
0000314e: CALLDATALOAD
0000314f: PUSH1 0x01
00003151: PUSH1 0x01
00003153: PUSH1 0x40
00003155: SHL
00003156: SUB
00003157: DUP2
00003158: GT
00003159: ISZERO
0000315a: PUSH2 0x3161
0000315d: JUMPI
0000315e: PUSH0
0000315f: DUP1
00003160: REVERT
00003161: JUMPDEST
00003162: PUSH1 0x20
00003164: DUP4
00003165: ADD
00003166: SWAP2
00003167: POP
00003168: DUP4
00003169: PUSH1 0x20
0000316b: DUP3
0000316c: DUP6
0000316d: ADD
0000316e: ADD
0000316f: GT
00003170: ISZERO
00003171: PUSH2 0x194d
00003174: JUMPI
00003175: PUSH0
00003176: DUP1
00003177: REVERT
00003178: JUMPDEST
00003179: PUSH0
0000317a: DUP1
0000317b: PUSH0
0000317c: DUP1
0000317d: PUSH0
0000317e: PUSH1 0x80
00003180: DUP7
00003181: DUP9
00003182: SUB
00003183: SLT
00003184: ISZERO
00003185: PUSH2 0x318c
00003188: JUMPI
00003189: PUSH0
0000318a: DUP1
0000318b: REVERT
0000318c: JUMPDEST
0000318d: DUP6
0000318e: CALLDATALOAD
0000318f: PUSH2 0x3197
00003192: DUP2
00003193: PUSH2 0x3127
00003196: JUMP
00003197: JUMPDEST
00003198: SWAP5
00003199: POP
0000319a: PUSH1 0x20
0000319c: DUP7
0000319d: ADD
0000319e: CALLDATALOAD
0000319f: PUSH2 0x31a7
000031a2: DUP2
000031a3: PUSH2 0x3127
000031a6: JUMP
000031a7: JUMPDEST
000031a8: SWAP4
000031a9: POP
000031aa: PUSH1 0x40
000031ac: DUP7
000031ad: ADD
000031ae: CALLDATALOAD
000031af: SWAP3
000031b0: POP
000031b1: PUSH1 0x60
000031b3: DUP7
000031b4: ADD
000031b5: CALLDATALOAD
000031b6: PUSH1 0x01
000031b8: PUSH1 0x01
000031ba: PUSH1 0x40
000031bc: SHL
000031bd: SUB
000031be: DUP2
000031bf: GT
000031c0: ISZERO
000031c1: PUSH2 0x31c8
000031c4: JUMPI
000031c5: PUSH0
000031c6: DUP1
000031c7: REVERT
000031c8: JUMPDEST
000031c9: PUSH2 0x31d4
000031cc: DUP9
000031cd: DUP3
000031ce: DUP10
000031cf: ADD
000031d0: PUSH2 0x313b
000031d3: JUMP
000031d4: JUMPDEST
000031d5: SWAP7
000031d6: SWAP10
000031d7: SWAP6
000031d8: SWAP9
000031d9: POP
000031da: SWAP4
000031db: SWAP7
000031dc: POP
000031dd: SWAP3
000031de: SWAP5
000031df: SWAP4
000031e0: SWAP3
000031e1: POP
000031e2: POP
000031e3: POP
000031e4: JUMP
000031e5: JUMPDEST
000031e6: PUSH4 0x4e487b71
000031eb: PUSH1 0xe0
000031ed: SHL
000031ee: PUSH0
000031ef: MSTORE
000031f0: PUSH1 0x41
000031f2: PUSH1 0x04
000031f4: MSTORE
000031f5: PUSH1 0x24
000031f7: PUSH0
000031f8: REVERT
000031f9: JUMPDEST
000031fa: PUSH1 0x40
000031fc: MLOAD
000031fd: PUSH1 0xa0
000031ff: DUP2
00003200: ADD
00003201: PUSH1 0x01
00003203: PUSH1 0x01
00003205: PUSH1 0x40
00003207: SHL
00003208: SUB
00003209: DUP2
0000320a: GT
0000320b: DUP3
0000320c: DUP3
0000320d: LT
0000320e: OR
0000320f: ISZERO
00003210: PUSH2 0x321b
00003213: JUMPI
00003214: PUSH2 0x321b
00003217: PUSH2 0x31e5
0000321a: JUMP
0000321b: JUMPDEST
0000321c: PUSH1 0x40
0000321e: MSTORE
0000321f: SWAP1
00003220: JUMP
00003221: JUMPDEST
00003222: PUSH1 0x40
00003224: MLOAD
00003225: PUSH1 0x60
00003227: DUP2
00003228: ADD
00003229: PUSH1 0x01
0000322b: PUSH1 0x01
0000322d: PUSH1 0x40
0000322f: SHL
00003230: SUB
00003231: DUP2
00003232: GT
00003233: DUP3
00003234: DUP3
00003235: LT
00003236: OR
00003237: ISZERO
00003238: PUSH2 0x321b
0000323b: JUMPI
0000323c: PUSH2 0x321b
0000323f: PUSH2 0x31e5
00003242: JUMP
00003243: JUMPDEST
00003244: PUSH1 0x40
00003246: MLOAD
00003247: PUSH1 0xc0
00003249: DUP2
0000324a: ADD
0000324b: PUSH1 0x01
0000324d: PUSH1 0x01
0000324f: PUSH1 0x40
00003251: SHL
00003252: SUB
00003253: DUP2
00003254: GT
00003255: DUP3
00003256: DUP3
00003257: LT
00003258: OR
00003259: ISZERO
0000325a: PUSH2 0x321b
0000325d: JUMPI
0000325e: PUSH2 0x321b
00003261: PUSH2 0x31e5
00003264: JUMP
00003265: JUMPDEST
00003266: PUSH1 0x40
00003268: MLOAD
00003269: PUSH1 0x1f
0000326b: DUP3
0000326c: ADD
0000326d: PUSH1 0x1f
0000326f: NOT
00003270: AND
00003271: DUP2
00003272: ADD
00003273: PUSH1 0x01
00003275: PUSH1 0x01
00003277: PUSH1 0x40
00003279: SHL
0000327a: SUB
0000327b: DUP2
0000327c: GT
0000327d: DUP3
0000327e: DUP3
0000327f: LT
00003280: OR
00003281: ISZERO
00003282: PUSH2 0x328d
00003285: JUMPI
00003286: PUSH2 0x328d
00003289: PUSH2 0x31e5
0000328c: JUMP
0000328d: JUMPDEST
0000328e: PUSH1 0x40
00003290: MSTORE
00003291: SWAP2
00003292: SWAP1
00003293: POP
00003294: JUMP
00003295: JUMPDEST
00003296: PUSH0
00003297: PUSH1 0x01
00003299: PUSH1 0x01
0000329b: PUSH1 0x40
0000329d: SHL
0000329e: SUB
0000329f: DUP3
000032a0: GT
000032a1: ISZERO
000032a2: PUSH2 0x32ad
000032a5: JUMPI
000032a6: PUSH2 0x32ad
000032a9: PUSH2 0x31e5
000032ac: JUMP
000032ad: JUMPDEST
000032ae: POP
000032af: PUSH1 0x1f
000032b1: ADD
000032b2: PUSH1 0x1f
000032b4: NOT
000032b5: AND
000032b6: PUSH1 0x20
000032b8: ADD
000032b9: SWAP1
000032ba: JUMP
000032bb: JUMPDEST
000032bc: PUSH0
000032bd: PUSH2 0x32cd
000032c0: PUSH2 0x32c8
000032c3: DUP5
000032c4: PUSH2 0x3295
000032c7: JUMP
000032c8: JUMPDEST
000032c9: PUSH2 0x3265
000032cc: JUMP
000032cd: JUMPDEST
000032ce: SWAP1
000032cf: POP
000032d0: DUP3
000032d1: DUP2
000032d2: MSTORE
000032d3: DUP4
000032d4: DUP4
000032d5: DUP4
000032d6: ADD
000032d7: GT
000032d8: ISZERO
000032d9: PUSH2 0x32e0
000032dc: JUMPI
000032dd: PUSH0
000032de: DUP1
000032df: REVERT
000032e0: JUMPDEST
000032e1: DUP3
000032e2: DUP3
000032e3: PUSH1 0x20
000032e5: DUP4
000032e6: ADD
000032e7: CALLDATACOPY
000032e8: PUSH0
000032e9: PUSH1 0x20
000032eb: DUP5
000032ec: DUP4
000032ed: ADD
000032ee: ADD
000032ef: MSTORE
000032f0: SWAP4
000032f1: SWAP3
000032f2: POP
000032f3: POP
000032f4: POP
000032f5: JUMP
000032f6: JUMPDEST
000032f7: PUSH0
000032f8: DUP1
000032f9: PUSH1 0x40
000032fb: DUP4
000032fc: DUP6
000032fd: SUB
000032fe: SLT
000032ff: ISZERO
00003300: PUSH2 0x3307
00003303: JUMPI
00003304: PUSH0
00003305: DUP1
00003306: REVERT
00003307: JUMPDEST
00003308: DUP3
00003309: CALLDATALOAD
0000330a: SWAP2
0000330b: POP
0000330c: PUSH1 0x20
0000330e: DUP4
0000330f: ADD
00003310: CALLDATALOAD
00003311: PUSH1 0x01
00003313: PUSH1 0x01
00003315: PUSH1 0x40
00003317: SHL
00003318: SUB
00003319: DUP2
0000331a: GT
0000331b: ISZERO
0000331c: PUSH2 0x3323
0000331f: JUMPI
00003320: PUSH0
00003321: DUP1
00003322: REVERT
00003323: JUMPDEST
00003324: DUP4
00003325: ADD
00003326: PUSH1 0x1f
00003328: DUP2
00003329: ADD
0000332a: DUP6
0000332b: SGT
0000332c: PUSH2 0x3333
0000332f: JUMPI
00003330: PUSH0
00003331: DUP1
00003332: REVERT
00003333: JUMPDEST
00003334: PUSH2 0x3342
00003337: DUP6
00003338: DUP3
00003339: CALLDATALOAD
0000333a: PUSH1 0x20
0000333c: DUP5
0000333d: ADD
0000333e: PUSH2 0x32bb
00003341: JUMP
00003342: JUMPDEST
00003343: SWAP2
00003344: POP
00003345: POP
00003346: SWAP3
00003347: POP
00003348: SWAP3
00003349: SWAP1
0000334a: POP
0000334b: JUMP
0000334c: JUMPDEST
0000334d: PUSH0
0000334e: DUP1
0000334f: PUSH1 0x20
00003351: DUP4
00003352: DUP6
00003353: SUB
00003354: SLT
00003355: ISZERO
00003356: PUSH2 0x335d
00003359: JUMPI
0000335a: PUSH0
0000335b: DUP1
0000335c: REVERT
0000335d: JUMPDEST
0000335e: DUP3
0000335f: CALLDATALOAD
00003360: PUSH1 0x01
00003362: PUSH1 0x01
00003364: PUSH1 0x40
00003366: SHL
00003367: SUB
00003368: DUP2
00003369: GT
0000336a: ISZERO
0000336b: PUSH2 0x3372
0000336e: JUMPI
0000336f: PUSH0
00003370: DUP1
00003371: REVERT
00003372: JUMPDEST
00003373: PUSH2 0x337e
00003376: DUP6
00003377: DUP3
00003378: DUP7
00003379: ADD
0000337a: PUSH2 0x313b
0000337d: JUMP
0000337e: JUMPDEST
0000337f: SWAP1
00003380: SWAP7
00003381: SWAP1
00003382: SWAP6
00003383: POP
00003384: SWAP4
00003385: POP
00003386: POP
00003387: POP
00003388: POP
00003389: JUMP
0000338a: JUMPDEST
0000338b: PUSH0
0000338c: DUP1
0000338d: PUSH1 0x40
0000338f: DUP4
00003390: DUP6
00003391: SUB
00003392: SLT
00003393: ISZERO
00003394: PUSH2 0x339b
00003397: JUMPI
00003398: PUSH0
00003399: DUP1
0000339a: REVERT
0000339b: JUMPDEST
0000339c: DUP3
0000339d: CALLDATALOAD
0000339e: PUSH2 0x33a6
000033a1: DUP2
000033a2: PUSH2 0x3127
000033a5: JUMP
000033a6: JUMPDEST
000033a7: SWAP5
000033a8: PUSH1 0x20
000033aa: SWAP4
000033ab: SWAP1
000033ac: SWAP4
000033ad: ADD
000033ae: CALLDATALOAD
000033af: SWAP4
000033b0: POP
000033b1: POP
000033b2: POP
000033b3: JUMP
000033b4: JUMPDEST
000033b5: PUSH0
000033b6: DUP1
000033b7: DUP4
000033b8: PUSH1 0x1f
000033ba: DUP5
000033bb: ADD
000033bc: SLT
000033bd: PUSH2 0x33c4
000033c0: JUMPI
000033c1: PUSH0
000033c2: DUP1
000033c3: REVERT
000033c4: JUMPDEST
000033c5: POP
000033c6: DUP2
000033c7: CALLDATALOAD
000033c8: PUSH1 0x01
000033ca: PUSH1 0x01
000033cc: PUSH1 0x40
000033ce: SHL
000033cf: SUB
000033d0: DUP2
000033d1: GT
000033d2: ISZERO
000033d3: PUSH2 0x33da
000033d6: JUMPI
000033d7: PUSH0
000033d8: DUP1
000033d9: REVERT
000033da: JUMPDEST
000033db: PUSH1 0x20
000033dd: DUP4
000033de: ADD
000033df: SWAP2
000033e0: POP
000033e1: DUP4
000033e2: PUSH1 0x20
000033e4: DUP3
000033e5: PUSH1 0x05
000033e7: SHL
000033e8: DUP6
000033e9: ADD
000033ea: ADD
000033eb: GT
000033ec: ISZERO
000033ed: PUSH2 0x194d
000033f0: JUMPI
000033f1: PUSH0
000033f2: DUP1
000033f3: REVERT
000033f4: JUMPDEST
000033f5: PUSH0
000033f6: DUP1
000033f7: PUSH0
000033f8: PUSH1 0x40
000033fa: DUP5
000033fb: DUP7
000033fc: SUB
000033fd: SLT
000033fe: ISZERO
000033ff: PUSH2 0x3406
00003402: JUMPI
00003403: PUSH0
00003404: DUP1
00003405: REVERT
00003406: JUMPDEST
00003407: DUP4
00003408: CALLDATALOAD
00003409: PUSH1 0x01
0000340b: PUSH1 0x01
0000340d: PUSH1 0x40
0000340f: SHL
00003410: SUB
00003411: DUP2
00003412: GT
00003413: ISZERO
00003414: PUSH2 0x341b
00003417: JUMPI
00003418: PUSH0
00003419: DUP1
0000341a: REVERT
0000341b: JUMPDEST
0000341c: PUSH2 0x3427
0000341f: DUP7
00003420: DUP3
00003421: DUP8
00003422: ADD
00003423: PUSH2 0x33b4
00003426: JUMP
00003427: JUMPDEST
00003428: SWAP1
00003429: SWAP5
0000342a: POP
0000342b: SWAP3
0000342c: POP
0000342d: POP
0000342e: PUSH1 0x20
00003430: DUP5
00003431: ADD
00003432: CALLDATALOAD
00003433: PUSH2 0x343b
00003436: DUP2
00003437: PUSH2 0x3127
0000343a: JUMP
0000343b: JUMPDEST
0000343c: DUP1
0000343d: SWAP2
0000343e: POP
0000343f: POP
00003440: SWAP3
00003441: POP
00003442: SWAP3
00003443: POP
00003444: SWAP3
00003445: JUMP
00003446: JUMPDEST
00003447: PUSH0
00003448: DUP2
00003449: MLOAD
0000344a: DUP1
0000344b: DUP5
0000344c: MSTORE
0000344d: DUP1
0000344e: PUSH1 0x20
00003450: DUP5
00003451: ADD
00003452: PUSH1 0x20
00003454: DUP7
00003455: ADD
00003456: MCOPY
00003457: PUSH0
00003458: PUSH1 0x20
0000345a: DUP3
0000345b: DUP7
0000345c: ADD
0000345d: ADD
0000345e: MSTORE
0000345f: PUSH1 0x20
00003461: PUSH1 0x1f
00003463: NOT
00003464: PUSH1 0x1f
00003466: DUP4
00003467: ADD
00003468: AND
00003469: DUP6
0000346a: ADD
0000346b: ADD
0000346c: SWAP2
0000346d: POP
0000346e: POP
0000346f: SWAP3
00003470: SWAP2
00003471: POP
00003472: POP
00003473: JUMP
00003474: JUMPDEST
00003475: PUSH0
00003476: PUSH1 0x20
00003478: DUP3
00003479: ADD
0000347a: PUSH1 0x20
0000347c: DUP4
0000347d: MSTORE
0000347e: DUP1
0000347f: DUP5
00003480: MLOAD
00003481: DUP1
00003482: DUP4
00003483: MSTORE
00003484: PUSH1 0x40
00003486: DUP6
00003487: ADD
00003488: SWAP2
00003489: POP
0000348a: PUSH1 0x40
0000348c: DUP2
0000348d: PUSH1 0x05
0000348f: SHL
00003490: DUP7
00003491: ADD
00003492: ADD
00003493: SWAP3
00003494: POP
00003495: PUSH1 0x20
00003497: DUP7
00003498: ADD
00003499: PUSH0
0000349a: JUMPDEST
0000349b: DUP3
0000349c: DUP2
0000349d: LT
0000349e: ISZERO
0000349f: PUSH2 0x34cb
000034a2: JUMPI
000034a3: PUSH1 0x3f
000034a5: NOT
000034a6: DUP8
000034a7: DUP7
000034a8: SUB
000034a9: ADD
000034aa: DUP5
000034ab: MSTORE
000034ac: PUSH2 0x34b6
000034af: DUP6
000034b0: DUP4
000034b1: MLOAD
000034b2: PUSH2 0x3446
000034b5: JUMP
000034b6: JUMPDEST
000034b7: SWAP5
000034b8: POP
000034b9: PUSH1 0x20
000034bb: SWAP4
000034bc: DUP5
000034bd: ADD
000034be: SWAP4
000034bf: SWAP2
000034c0: SWAP1
000034c1: SWAP2
000034c2: ADD
000034c3: SWAP1
000034c4: PUSH1 0x01
000034c6: ADD
000034c7: PUSH2 0x349a
000034ca: JUMP
000034cb: JUMPDEST
000034cc: POP
000034cd: SWAP3
000034ce: SWAP7
000034cf: SWAP6
000034d0: POP
000034d1: POP
000034d2: POP
000034d3: POP
000034d4: POP
000034d5: POP
000034d6: JUMP
000034d7: JUMPDEST
000034d8: PUSH0
000034d9: DUP1
000034da: PUSH0
000034db: PUSH1 0x60
000034dd: DUP5
000034de: DUP7
000034df: SUB
000034e0: SLT
000034e1: ISZERO
000034e2: PUSH2 0x34e9
000034e5: JUMPI
000034e6: PUSH0
000034e7: DUP1
000034e8: REVERT
000034e9: JUMPDEST
000034ea: DUP4
000034eb: CALLDATALOAD
000034ec: PUSH2 0x34f4
000034ef: DUP2
000034f0: PUSH2 0x3127
000034f3: JUMP
000034f4: JUMPDEST
000034f5: SWAP3
000034f6: POP
000034f7: PUSH1 0x20
000034f9: DUP5
000034fa: ADD
000034fb: CALLDATALOAD
000034fc: SWAP2
000034fd: POP
000034fe: PUSH1 0x40
00003500: DUP5
00003501: ADD
00003502: CALLDATALOAD
00003503: PUSH2 0x343b
00003506: DUP2
00003507: PUSH2 0x3127
0000350a: JUMP
0000350b: JUMPDEST
0000350c: PUSH1 0x20
0000350e: DUP1
0000350f: DUP3
00003510: MSTORE
00003511: DUP3
00003512: MLOAD
00003513: DUP3
00003514: DUP3
00003515: ADD
00003516: DUP2
00003517: SWAP1
00003518: MSTORE
00003519: PUSH0
0000351a: SWAP2
0000351b: DUP5
0000351c: ADD
0000351d: SWAP1
0000351e: PUSH1 0x40
00003520: DUP5
00003521: ADD
00003522: SWAP1
00003523: DUP4
00003524: JUMPDEST
00003525: DUP2
00003526: DUP2
00003527: LT
00003528: ISZERO
00003529: PUSH2 0x3542
0000352c: JUMPI
0000352d: DUP4
0000352e: MLOAD
0000352f: DUP4
00003530: MSTORE
00003531: PUSH1 0x20
00003533: SWAP4
00003534: DUP5
00003535: ADD
00003536: SWAP4
00003537: SWAP1
00003538: SWAP3
00003539: ADD
0000353a: SWAP2
0000353b: PUSH1 0x01
0000353d: ADD
0000353e: PUSH2 0x3524
00003541: JUMP
00003542: JUMPDEST
00003543: POP
00003544: SWAP1
00003545: SWAP6
00003546: SWAP5
00003547: POP
00003548: POP
00003549: POP
0000354a: POP
0000354b: POP
0000354c: JUMP
0000354d: JUMPDEST
0000354e: PUSH1 0x20
00003550: DUP2
00003551: MSTORE
00003552: PUSH0
00003553: PUSH2 0x06ec
00003556: PUSH1 0x20
00003558: DUP4
00003559: ADD
0000355a: DUP5
0000355b: PUSH2 0x3446
0000355e: JUMP
0000355f: JUMPDEST
00003560: PUSH1 0xff
00003562: PUSH1 0xf8
00003564: SHL
00003565: DUP9
00003566: AND
00003567: DUP2
00003568: MSTORE
00003569: PUSH1 0xe0
0000356b: PUSH1 0x20
0000356d: DUP3
0000356e: ADD
0000356f: MSTORE
00003570: PUSH0
00003571: PUSH2 0x357d
00003574: PUSH1 0xe0
00003576: DUP4
00003577: ADD
00003578: DUP10
00003579: PUSH2 0x3446
0000357c: JUMP
0000357d: JUMPDEST
0000357e: DUP3
0000357f: DUP2
00003580: SUB
00003581: PUSH1 0x40
00003583: DUP5
00003584: ADD
00003585: MSTORE
00003586: PUSH2 0x358f
00003589: DUP2
0000358a: DUP10
0000358b: PUSH2 0x3446
0000358e: JUMP
0000358f: JUMPDEST
00003590: PUSH1 0x60
00003592: DUP5
00003593: ADD
00003594: DUP9
00003595: SWAP1
00003596: MSTORE
00003597: PUSH1 0x01
00003599: PUSH1 0x01
0000359b: PUSH1 0xa0
0000359d: SHL
0000359e: SUB
0000359f: DUP8
000035a0: AND
000035a1: PUSH1 0x80
000035a3: DUP6
000035a4: ADD
000035a5: MSTORE
000035a6: PUSH1 0xa0
000035a8: DUP5
000035a9: ADD
000035aa: DUP7
000035ab: SWAP1
000035ac: MSTORE
000035ad: DUP4
000035ae: DUP2
000035af: SUB
000035b0: PUSH1 0xc0
000035b2: DUP6
000035b3: ADD
000035b4: MSTORE
000035b5: DUP5
000035b6: MLOAD
000035b7: DUP1
000035b8: DUP3
000035b9: MSTORE
000035ba: PUSH1 0x20
000035bc: DUP1
000035bd: DUP8
000035be: ADD
000035bf: SWAP4
000035c0: POP
000035c1: SWAP1
000035c2: SWAP2
000035c3: ADD
000035c4: SWAP1
000035c5: PUSH0
000035c6: JUMPDEST
000035c7: DUP2
000035c8: DUP2
000035c9: LT
000035ca: ISZERO
000035cb: PUSH2 0x35e4
000035ce: JUMPI
000035cf: DUP4
000035d0: MLOAD
000035d1: DUP4
000035d2: MSTORE
000035d3: PUSH1 0x20
000035d5: SWAP4
000035d6: DUP5
000035d7: ADD
000035d8: SWAP4
000035d9: SWAP1
000035da: SWAP3
000035db: ADD
000035dc: SWAP2
000035dd: PUSH1 0x01
000035df: ADD
000035e0: PUSH2 0x35c6
000035e3: JUMP
000035e4: JUMPDEST
000035e5: POP
000035e6: SWAP1
000035e7: SWAP12
000035e8: SWAP11
000035e9: POP
000035ea: POP
000035eb: POP
000035ec: POP
000035ed: POP
000035ee: POP
000035ef: POP
000035f0: POP
000035f1: POP
000035f2: POP
000035f3: POP
000035f4: JUMP
000035f5: JUMPDEST
000035f6: PUSH0
000035f7: DUP1
000035f8: PUSH0
000035f9: DUP1
000035fa: PUSH0
000035fb: DUP1
000035fc: PUSH1 0x60
000035fe: DUP8
000035ff: DUP10
00003600: SUB
00003601: SLT
00003602: ISZERO
00003603: PUSH2 0x360a
00003606: JUMPI
00003607: PUSH0
00003608: DUP1
00003609: REVERT
0000360a: JUMPDEST
0000360b: DUP7
0000360c: CALLDATALOAD
0000360d: PUSH1 0x01
0000360f: PUSH1 0x01
00003611: PUSH1 0x40
00003613: SHL
00003614: SUB
00003615: DUP2
00003616: GT
00003617: ISZERO
00003618: PUSH2 0x361f
0000361b: JUMPI
0000361c: PUSH0
0000361d: DUP1
0000361e: REVERT
0000361f: JUMPDEST
00003620: PUSH2 0x362b
00003623: DUP10
00003624: DUP3
00003625: DUP11
00003626: ADD
00003627: PUSH2 0x33b4
0000362a: JUMP
0000362b: JUMPDEST
0000362c: SWAP1
0000362d: SWAP8
0000362e: POP
0000362f: SWAP6
00003630: POP
00003631: POP
00003632: PUSH1 0x20
00003634: DUP8
00003635: ADD
00003636: CALLDATALOAD
00003637: PUSH1 0x01
00003639: PUSH1 0x01
0000363b: PUSH1 0x40
0000363d: SHL
0000363e: SUB
0000363f: DUP2
00003640: GT
00003641: ISZERO
00003642: PUSH2 0x3649
00003645: JUMPI
00003646: PUSH0
00003647: DUP1
00003648: REVERT
00003649: JUMPDEST
0000364a: PUSH2 0x3655
0000364d: DUP10
0000364e: DUP3
0000364f: DUP11
00003650: ADD
00003651: PUSH2 0x33b4
00003654: JUMP
00003655: JUMPDEST
00003656: SWAP1
00003657: SWAP6
00003658: POP
00003659: SWAP4
0000365a: POP
0000365b: POP
0000365c: PUSH1 0x40
0000365e: DUP8
0000365f: ADD
00003660: CALLDATALOAD
00003661: PUSH1 0x01
00003663: PUSH1 0x01
00003665: PUSH1 0x40
00003667: SHL
00003668: SUB
00003669: DUP2
0000366a: GT
0000366b: ISZERO
0000366c: PUSH2 0x3673
0000366f: JUMPI
00003670: PUSH0
00003671: DUP1
00003672: REVERT
00003673: JUMPDEST
00003674: PUSH2 0x367f
00003677: DUP10
00003678: DUP3
00003679: DUP11
0000367a: ADD
0000367b: PUSH2 0x33b4
0000367e: JUMP
0000367f: JUMPDEST
00003680: SWAP8
00003681: SWAP11
00003682: SWAP7
00003683: SWAP10
00003684: POP
00003685: SWAP5
00003686: SWAP8
00003687: POP
00003688: SWAP3
00003689: SWAP6
0000368a: SWAP4
0000368b: SWAP5
0000368c: SWAP3
0000368d: POP
0000368e: POP
0000368f: POP
00003690: JUMP
00003691: JUMPDEST
00003692: PUSH0
00003693: DUP1
00003694: PUSH1 0x20
00003696: DUP4
00003697: DUP6
00003698: SUB
00003699: SLT
0000369a: ISZERO
0000369b: PUSH2 0x36a2
0000369e: JUMPI
0000369f: PUSH0
000036a0: DUP1
000036a1: REVERT
000036a2: JUMPDEST
000036a3: DUP3
000036a4: CALLDATALOAD
000036a5: PUSH1 0x01
000036a7: PUSH1 0x01
000036a9: PUSH1 0x40
000036ab: SHL
000036ac: SUB
000036ad: DUP2
000036ae: GT
000036af: ISZERO
000036b0: PUSH2 0x36b7
000036b3: JUMPI
000036b4: PUSH0
000036b5: DUP1
000036b6: REVERT
000036b7: JUMPDEST
000036b8: PUSH2 0x337e
000036bb: DUP6
000036bc: DUP3
000036bd: DUP7
000036be: ADD
000036bf: PUSH2 0x33b4
000036c2: JUMP
000036c3: JUMPDEST
000036c4: PUSH0
000036c5: DUP1
000036c6: PUSH0
000036c7: PUSH1 0x40
000036c9: DUP5
000036ca: DUP7
000036cb: SUB
000036cc: SLT
000036cd: ISZERO
000036ce: PUSH2 0x36d5
000036d1: JUMPI
000036d2: PUSH0
000036d3: DUP1
000036d4: REVERT
000036d5: JUMPDEST
000036d6: DUP4
000036d7: CALLDATALOAD
000036d8: SWAP3
000036d9: POP
000036da: PUSH1 0x20
000036dc: DUP5
000036dd: ADD
000036de: CALLDATALOAD
000036df: PUSH1 0x01
000036e1: PUSH1 0x01
000036e3: PUSH1 0x40
000036e5: SHL
000036e6: SUB
000036e7: DUP2
000036e8: GT
000036e9: ISZERO
000036ea: PUSH2 0x36f1
000036ed: JUMPI
000036ee: PUSH0
000036ef: DUP1
000036f0: REVERT
000036f1: JUMPDEST
000036f2: PUSH2 0x36fd
000036f5: DUP7
000036f6: DUP3
000036f7: DUP8
000036f8: ADD
000036f9: PUSH2 0x313b
000036fc: JUMP
000036fd: JUMPDEST
000036fe: SWAP5
000036ff: SWAP8
00003700: SWAP1
00003701: SWAP7
00003702: POP
00003703: SWAP4
00003704: SWAP5
00003705: POP
00003706: POP
00003707: POP
00003708: POP
00003709: JUMP
0000370a: JUMPDEST
0000370b: PUSH0
0000370c: PUSH1 0x20
0000370e: DUP3
0000370f: DUP5
00003710: SUB
00003711: SLT
00003712: ISZERO
00003713: PUSH2 0x371a
00003716: JUMPI
00003717: PUSH0
00003718: DUP1
00003719: REVERT
0000371a: JUMPDEST
0000371b: DUP2
0000371c: CALLDATALOAD
0000371d: PUSH2 0x06ec
00003720: DUP2
00003721: PUSH2 0x3127
00003724: JUMP
00003725: JUMPDEST
00003726: PUSH0
00003727: PUSH1 0x20
00003729: DUP3
0000372a: DUP5
0000372b: SUB
0000372c: SLT
0000372d: ISZERO
0000372e: PUSH2 0x3735
00003731: JUMPI
00003732: PUSH0
00003733: DUP1
00003734: REVERT
00003735: JUMPDEST
00003736: DUP2
00003737: CALLDATALOAD
00003738: PUSH1 0x01
0000373a: PUSH1 0x01
0000373c: PUSH1 0x40
0000373e: SHL
0000373f: SUB
00003740: DUP2
00003741: GT
00003742: ISZERO
00003743: PUSH2 0x374a
00003746: JUMPI
00003747: PUSH0
00003748: DUP1
00003749: REVERT
0000374a: JUMPDEST
0000374b: DUP3
0000374c: ADD
0000374d: PUSH1 0x1f
0000374f: DUP2
00003750: ADD
00003751: DUP5
00003752: SGT
00003753: PUSH2 0x375a
00003756: JUMPI
00003757: PUSH0
00003758: DUP1
00003759: REVERT
0000375a: JUMPDEST
0000375b: PUSH2 0x1acc
0000375e: DUP5
0000375f: DUP3
00003760: CALLDATALOAD
00003761: PUSH1 0x20
00003763: DUP5
00003764: ADD
00003765: PUSH2 0x32bb
00003768: JUMP
00003769: JUMPDEST
0000376a: PUSH4 0x4e487b71
0000376f: PUSH1 0xe0
00003771: SHL
00003772: PUSH0
00003773: MSTORE
00003774: PUSH1 0x21
00003776: PUSH1 0x04
00003778: MSTORE
00003779: PUSH1 0x24
0000377b: PUSH0
0000377c: REVERT
0000377d: JUMPDEST
0000377e: DUP2
0000377f: DUP4
00003780: MSTORE
00003781: DUP2
00003782: DUP2
00003783: PUSH1 0x20
00003785: DUP6
00003786: ADD
00003787: CALLDATACOPY
00003788: POP
00003789: PUSH0
0000378a: DUP3
0000378b: DUP3
0000378c: ADD
0000378d: PUSH1 0x20
0000378f: SWAP1
00003790: DUP2
00003791: ADD
00003792: SWAP2
00003793: SWAP1
00003794: SWAP2
00003795: MSTORE
00003796: PUSH1 0x1f
00003798: SWAP1
00003799: SWAP2
0000379a: ADD
0000379b: PUSH1 0x1f
0000379d: NOT
0000379e: AND
0000379f: SWAP1
000037a0: SWAP2
000037a1: ADD
000037a2: ADD
000037a3: SWAP1
000037a4: JUMP
000037a5: JUMPDEST
000037a6: PUSH1 0x20
000037a8: DUP2
000037a9: MSTORE
000037aa: PUSH0
000037ab: PUSH2 0x1acc
000037ae: PUSH1 0x20
000037b0: DUP4
000037b1: ADD
000037b2: DUP5
000037b3: DUP7
000037b4: PUSH2 0x377d
000037b7: JUMP
000037b8: JUMPDEST
000037b9: PUSH0
000037ba: PUSH1 0x20
000037bc: DUP3
000037bd: DUP5
000037be: SUB
000037bf: SLT
000037c0: ISZERO
000037c1: PUSH2 0x37c8
000037c4: JUMPI
000037c5: PUSH0
000037c6: DUP1
000037c7: REVERT
000037c8: JUMPDEST
000037c9: POP
000037ca: MLOAD
000037cb: SWAP2
000037cc: SWAP1
000037cd: POP
000037ce: JUMP
000037cf: JUMPDEST
000037d0: PUSH0
000037d1: PUSH1 0x20
000037d3: DUP3
000037d4: DUP5
000037d5: SUB
000037d6: SLT
000037d7: ISZERO
000037d8: PUSH2 0x37df
000037db: JUMPI
000037dc: PUSH0
000037dd: DUP1
000037de: REVERT
000037df: JUMPDEST
000037e0: DUP2
000037e1: MLOAD
000037e2: DUP1
000037e3: ISZERO
000037e4: ISZERO
000037e5: DUP2
000037e6: EQ
000037e7: PUSH2 0x06ec
000037ea: JUMPI
000037eb: PUSH0
000037ec: DUP1
000037ed: REVERT
000037ee: JUMPDEST
000037ef: PUSH4 0x4e487b71
000037f4: PUSH1 0xe0
000037f6: SHL
000037f7: PUSH0
000037f8: MSTORE
000037f9: PUSH1 0x32
000037fb: PUSH1 0x04
000037fd: MSTORE
000037fe: PUSH1 0x24
00003800: PUSH0
00003801: REVERT
00003802: JUMPDEST
00003803: PUSH1 0x01
00003805: DUP2
00003806: DUP2
00003807: SHR
00003808: SWAP1
00003809: DUP3
0000380a: AND
0000380b: DUP1
0000380c: PUSH2 0x3816
0000380f: JUMPI
00003810: PUSH1 0x7f
00003812: DUP3
00003813: AND
00003814: SWAP2
00003815: POP
00003816: JUMPDEST
00003817: PUSH1 0x20
00003819: DUP3
0000381a: LT
0000381b: DUP2
0000381c: SUB
0000381d: PUSH2 0x3834
00003820: JUMPI
00003821: PUSH4 0x4e487b71
00003826: PUSH1 0xe0
00003828: SHL
00003829: PUSH0
0000382a: MSTORE
0000382b: PUSH1 0x22
0000382d: PUSH1 0x04
0000382f: MSTORE
00003830: PUSH1 0x24
00003832: PUSH0
00003833: REVERT
00003834: JUMPDEST
00003835: POP
00003836: SWAP2
00003837: SWAP1
00003838: POP
00003839: JUMP
0000383a: JUMPDEST
0000383b: PUSH0
0000383c: DUP1
0000383d: DUP4
0000383e: CALLDATALOAD
0000383f: PUSH1 0x1e
00003841: NOT
00003842: DUP5
00003843: CALLDATASIZE
00003844: SUB
00003845: ADD
00003846: DUP2
00003847: SLT
00003848: PUSH2 0x384f
0000384b: JUMPI
0000384c: PUSH0
0000384d: DUP1
0000384e: REVERT
0000384f: JUMPDEST
00003850: DUP4
00003851: ADD
00003852: DUP1
00003853: CALLDATALOAD
00003854: SWAP2
00003855: POP
00003856: PUSH1 0x01
00003858: PUSH1 0x01
0000385a: PUSH1 0x40
0000385c: SHL
0000385d: SUB
0000385e: DUP3
0000385f: GT
00003860: ISZERO
00003861: PUSH2 0x3868
00003864: JUMPI
00003865: PUSH0
00003866: DUP1
00003867: REVERT
00003868: JUMPDEST
00003869: PUSH1 0x20
0000386b: ADD
0000386c: SWAP2
0000386d: POP
0000386e: CALLDATASIZE
0000386f: DUP2
00003870: SWAP1
00003871: SUB
00003872: DUP3
00003873: SGT
00003874: ISZERO
00003875: PUSH2 0x194d
00003878: JUMPI
00003879: PUSH0
0000387a: DUP1
0000387b: REVERT
0000387c: JUMPDEST
0000387d: DUP2
0000387e: DUP4
0000387f: DUP3
00003880: CALLDATACOPY
00003881: PUSH0
00003882: SWAP2
00003883: ADD
00003884: SWAP1
00003885: DUP2
00003886: MSTORE
00003887: SWAP2
00003888: SWAP1
00003889: POP
0000388a: JUMP
0000388b: JUMPDEST
0000388c: PUSH0
0000388d: PUSH2 0x3898
00003890: PUSH2 0x32c8
00003893: DUP5
00003894: PUSH2 0x3295
00003897: JUMP
00003898: JUMPDEST
00003899: SWAP1
0000389a: POP
0000389b: DUP3
0000389c: DUP2
0000389d: MSTORE
0000389e: DUP4
0000389f: DUP4
000038a0: DUP4
000038a1: ADD
000038a2: GT
000038a3: ISZERO
000038a4: PUSH2 0x38ab
000038a7: JUMPI
000038a8: PUSH0
000038a9: DUP1
000038aa: REVERT
000038ab: JUMPDEST
000038ac: DUP3
000038ad: DUP3
000038ae: PUSH1 0x20
000038b0: DUP4
000038b1: ADD
000038b2: MCOPY
000038b3: PUSH0
000038b4: PUSH1 0x20
000038b6: DUP5
000038b7: DUP4
000038b8: ADD
000038b9: ADD
000038ba: MSTORE
000038bb: SWAP4
000038bc: SWAP3
000038bd: POP
000038be: POP
000038bf: POP
000038c0: JUMP
000038c1: JUMPDEST
000038c2: PUSH0
000038c3: PUSH1 0x20
000038c5: DUP3
000038c6: DUP5
000038c7: SUB
000038c8: SLT
000038c9: ISZERO
000038ca: PUSH2 0x38d1
000038cd: JUMPI
000038ce: PUSH0
000038cf: DUP1
000038d0: REVERT
000038d1: JUMPDEST
000038d2: DUP2
000038d3: MLOAD
000038d4: PUSH1 0x01
000038d6: PUSH1 0x01
000038d8: PUSH1 0x40
000038da: SHL
000038db: SUB
000038dc: DUP2
000038dd: GT
000038de: ISZERO
000038df: PUSH2 0x38e6
000038e2: JUMPI
000038e3: PUSH0
000038e4: DUP1
000038e5: REVERT
000038e6: JUMPDEST
000038e7: DUP3
000038e8: ADD
000038e9: PUSH1 0x1f
000038eb: DUP2
000038ec: ADD
000038ed: DUP5
000038ee: SGT
000038ef: PUSH2 0x38f6
000038f2: JUMPI
000038f3: PUSH0
000038f4: DUP1
000038f5: REVERT
000038f6: JUMPDEST
000038f7: PUSH2 0x1acc
000038fa: DUP5
000038fb: DUP3
000038fc: MLOAD
000038fd: PUSH1 0x20
000038ff: DUP5
00003900: ADD
00003901: PUSH2 0x388b
00003904: JUMP
00003905: JUMPDEST
00003906: PUSH0
00003907: PUSH1 0x20
00003909: DUP3
0000390a: DUP5
0000390b: SUB
0000390c: SLT
0000390d: ISZERO
0000390e: PUSH2 0x3915
00003911: JUMPI
00003912: PUSH0
00003913: DUP1
00003914: REVERT
00003915: JUMPDEST
00003916: DUP2
00003917: MLOAD
00003918: PUSH2 0x06ec
0000391b: DUP2
0000391c: PUSH2 0x3127
0000391f: JUMP
00003920: JUMPDEST
00003921: DUP1
00003922: MLOAD
00003923: PUSH1 0xff
00003925: DUP2
00003926: AND
00003927: DUP2
00003928: EQ
00003929: PUSH2 0x3930
0000392c: JUMPI
0000392d: PUSH0
0000392e: DUP1
0000392f: REVERT
00003930: JUMPDEST
00003931: SWAP2
00003932: SWAP1
00003933: POP
00003934: JUMP
00003935: JUMPDEST
00003936: PUSH0
00003937: DUP1
00003938: PUSH1 0x40
0000393a: DUP4
0000393b: DUP6
0000393c: SUB
0000393d: SLT
0000393e: ISZERO
0000393f: PUSH2 0x3946
00003942: JUMPI
00003943: PUSH0
00003944: DUP1
00003945: REVERT
00003946: JUMPDEST
00003947: DUP3
00003948: MLOAD
00003949: PUSH2 0x3951
0000394c: DUP2
0000394d: PUSH2 0x3127
00003950: JUMP
00003951: JUMPDEST
00003952: SWAP2
00003953: POP
00003954: PUSH2 0x395f
00003957: PUSH1 0x20
00003959: DUP5
0000395a: ADD
0000395b: PUSH2 0x3920
0000395e: JUMP
0000395f: JUMPDEST
00003960: SWAP1
00003961: POP
00003962: SWAP3
00003963: POP
00003964: SWAP3
00003965: SWAP1
00003966: POP
00003967: JUMP
00003968: JUMPDEST
00003969: PUSH0
0000396a: PUSH1 0x01
0000396c: PUSH1 0x01
0000396e: PUSH1 0x40
00003970: SHL
00003971: SUB
00003972: DUP3
00003973: GT
00003974: ISZERO
00003975: PUSH2 0x3980
00003978: JUMPI
00003979: PUSH2 0x3980
0000397c: PUSH2 0x31e5
0000397f: JUMP
00003980: JUMPDEST
00003981: POP
00003982: PUSH1 0x05
00003984: SHL
00003985: PUSH1 0x20
00003987: ADD
00003988: SWAP1
00003989: JUMP
0000398a: JUMPDEST
0000398b: PUSH0
0000398c: DUP3
0000398d: PUSH1 0x1f
0000398f: DUP4
00003990: ADD
00003991: SLT
00003992: PUSH2 0x3999
00003995: JUMPI
00003996: PUSH0
00003997: DUP1
00003998: REVERT
00003999: JUMPDEST
0000399a: DUP2
0000399b: MLOAD
0000399c: PUSH2 0x39a7
0000399f: PUSH2 0x32c8
000039a2: DUP3
000039a3: PUSH2 0x3968
000039a6: JUMP
000039a7: JUMPDEST
000039a8: DUP1
000039a9: DUP3
000039aa: DUP3
000039ab: MSTORE
000039ac: PUSH1 0x20
000039ae: DUP3
000039af: ADD
000039b0: SWAP2
000039b1: POP
000039b2: PUSH1 0x20
000039b4: DUP4
000039b5: PUSH1 0x05
000039b7: SHL
000039b8: DUP7
000039b9: ADD
000039ba: ADD
000039bb: SWAP3
000039bc: POP
000039bd: DUP6
000039be: DUP4
000039bf: GT
000039c0: ISZERO
000039c1: PUSH2 0x39c8
000039c4: JUMPI
000039c5: PUSH0
000039c6: DUP1
000039c7: REVERT
000039c8: JUMPDEST
000039c9: PUSH1 0x20
000039cb: DUP6
000039cc: ADD
000039cd: JUMPDEST
000039ce: DUP4
000039cf: DUP2
000039d0: LT
000039d1: ISZERO
000039d2: PUSH2 0x39e5
000039d5: JUMPI
000039d6: DUP1
000039d7: MLOAD
000039d8: DUP4
000039d9: MSTORE
000039da: PUSH1 0x20
000039dc: SWAP3
000039dd: DUP4
000039de: ADD
000039df: SWAP3
000039e0: ADD
000039e1: PUSH2 0x39cd
000039e4: JUMP
000039e5: JUMPDEST
000039e6: POP
000039e7: SWAP6
000039e8: SWAP5
000039e9: POP
000039ea: POP
000039eb: POP
000039ec: POP
000039ed: POP
000039ee: JUMP
000039ef: JUMPDEST
000039f0: PUSH0
000039f1: DUP3
000039f2: PUSH1 0x1f
000039f4: DUP4
000039f5: ADD
000039f6: SLT
000039f7: PUSH2 0x39fe
000039fa: JUMPI
000039fb: PUSH0
000039fc: DUP1
000039fd: REVERT
000039fe: JUMPDEST
000039ff: DUP2
00003a00: MLOAD
00003a01: PUSH2 0x3a0c
00003a04: PUSH2 0x32c8
00003a07: DUP3
00003a08: PUSH2 0x3968
00003a0b: JUMP
00003a0c: JUMPDEST
00003a0d: DUP1
00003a0e: DUP3
00003a0f: DUP3
00003a10: MSTORE
00003a11: PUSH1 0x20
00003a13: DUP3
00003a14: ADD
00003a15: SWAP2
00003a16: POP
00003a17: PUSH1 0x20
00003a19: DUP4
00003a1a: PUSH1 0x05
00003a1c: SHL
00003a1d: DUP7
00003a1e: ADD
00003a1f: ADD
00003a20: SWAP3
00003a21: POP
00003a22: DUP6
00003a23: DUP4
00003a24: GT
00003a25: ISZERO
00003a26: PUSH2 0x3a2d
00003a29: JUMPI
00003a2a: PUSH0
00003a2b: DUP1
00003a2c: REVERT
00003a2d: JUMPDEST
00003a2e: PUSH1 0x20
00003a30: DUP6
00003a31: ADD
00003a32: JUMPDEST
00003a33: DUP4
00003a34: DUP2
00003a35: LT
00003a36: ISZERO
00003a37: PUSH2 0x39e5
00003a3a: JUMPI
00003a3b: DUP1
00003a3c: MLOAD
00003a3d: PUSH2 0x3a45
00003a40: DUP2
00003a41: PUSH2 0x3127
00003a44: JUMP
00003a45: JUMPDEST
00003a46: DUP4
00003a47: MSTORE
00003a48: PUSH1 0x20
00003a4a: SWAP3
00003a4b: DUP4
00003a4c: ADD
00003a4d: SWAP3
00003a4e: ADD
00003a4f: PUSH2 0x3a32
00003a52: JUMP
00003a53: JUMPDEST
00003a54: PUSH0
00003a55: DUP3
00003a56: PUSH1 0x1f
00003a58: DUP4
00003a59: ADD
00003a5a: SLT
00003a5b: PUSH2 0x3a62
00003a5e: JUMPI
00003a5f: PUSH0
00003a60: DUP1
00003a61: REVERT
00003a62: JUMPDEST
00003a63: DUP2
00003a64: MLOAD
00003a65: PUSH2 0x3a70
00003a68: PUSH2 0x32c8
00003a6b: DUP3
00003a6c: PUSH2 0x3968
00003a6f: JUMP
00003a70: JUMPDEST
00003a71: DUP1
00003a72: DUP3
00003a73: DUP3
00003a74: MSTORE
00003a75: PUSH1 0x20
00003a77: DUP3
00003a78: ADD
00003a79: SWAP2
00003a7a: POP
00003a7b: PUSH1 0x20
00003a7d: DUP4
00003a7e: PUSH1 0x05
00003a80: SHL
00003a81: DUP7
00003a82: ADD
00003a83: ADD
00003a84: SWAP3
00003a85: POP
00003a86: DUP6
00003a87: DUP4
00003a88: GT
00003a89: ISZERO
00003a8a: PUSH2 0x3a91
00003a8d: JUMPI
00003a8e: PUSH0
00003a8f: DUP1
00003a90: REVERT
00003a91: JUMPDEST
00003a92: PUSH1 0x20
00003a94: DUP6
00003a95: ADD
00003a96: JUMPDEST
00003a97: DUP4
00003a98: DUP2
00003a99: LT
00003a9a: ISZERO
00003a9b: PUSH2 0x39e5
00003a9e: JUMPI
00003a9f: DUP1
00003aa0: MLOAD
00003aa1: PUSH1 0x01
00003aa3: PUSH1 0x01
00003aa5: PUSH1 0x40
00003aa7: SHL
00003aa8: SUB
00003aa9: DUP2
00003aaa: GT
00003aab: ISZERO
00003aac: PUSH2 0x3ab3
00003aaf: JUMPI
00003ab0: PUSH0
00003ab1: DUP1
00003ab2: REVERT
00003ab3: JUMPDEST
00003ab4: DUP7
00003ab5: ADD
00003ab6: PUSH1 0x3f
00003ab8: DUP2
00003ab9: ADD
00003aba: DUP9
00003abb: SGT
00003abc: PUSH2 0x3ac3
00003abf: JUMPI
00003ac0: PUSH0
00003ac1: DUP1
00003ac2: REVERT
00003ac3: JUMPDEST
00003ac4: PUSH2 0x3ad5
00003ac7: DUP9
00003ac8: PUSH1 0x20
00003aca: DUP4
00003acb: ADD
00003acc: MLOAD
00003acd: PUSH1 0x40
00003acf: DUP5
00003ad0: ADD
00003ad1: PUSH2 0x388b
00003ad4: JUMP
00003ad5: JUMPDEST
00003ad6: DUP5
00003ad7: MSTORE
00003ad8: POP
00003ad9: PUSH1 0x20
00003adb: SWAP3
00003adc: DUP4
00003add: ADD
00003ade: SWAP3
00003adf: ADD
00003ae0: PUSH2 0x3a96
00003ae3: JUMP
00003ae4: JUMPDEST
00003ae5: PUSH0
00003ae6: DUP3
00003ae7: PUSH1 0x1f
00003ae9: DUP4
00003aea: ADD
00003aeb: SLT
00003aec: PUSH2 0x3af3
00003aef: JUMPI
00003af0: PUSH0
00003af1: DUP1
00003af2: REVERT
00003af3: JUMPDEST
00003af4: DUP2
00003af5: MLOAD
00003af6: PUSH2 0x3b01
00003af9: PUSH2 0x32c8
00003afc: DUP3
00003afd: PUSH2 0x3968
00003b00: JUMP
00003b01: JUMPDEST
00003b02: DUP1
00003b03: DUP3
00003b04: DUP3
00003b05: MSTORE
00003b06: PUSH1 0x20
00003b08: DUP3
00003b09: ADD
00003b0a: SWAP2
00003b0b: POP
00003b0c: PUSH1 0x20
00003b0e: PUSH1 0xa0
00003b10: DUP5
00003b11: MUL
00003b12: DUP7
00003b13: ADD
00003b14: ADD
00003b15: SWAP3
00003b16: POP
00003b17: DUP6
00003b18: DUP4
00003b19: GT
00003b1a: ISZERO
00003b1b: PUSH2 0x3b22
00003b1e: JUMPI
00003b1f: PUSH0
00003b20: DUP1
00003b21: REVERT
00003b22: JUMPDEST
00003b23: PUSH1 0x20
00003b25: DUP6
00003b26: ADD
00003b27: JUMPDEST
00003b28: DUP4
00003b29: DUP2
00003b2a: LT
00003b2b: ISZERO
00003b2c: PUSH2 0x39e5
00003b2f: JUMPI
00003b30: PUSH1 0xa0
00003b32: DUP2
00003b33: DUP9
00003b34: SUB
00003b35: SLT
00003b36: ISZERO
00003b37: PUSH2 0x3b3e
00003b3a: JUMPI
00003b3b: PUSH0
00003b3c: DUP1
00003b3d: REVERT
00003b3e: JUMPDEST
00003b3f: PUSH2 0x3b46
00003b42: PUSH2 0x31f9
00003b45: JUMP
00003b46: JUMPDEST
00003b47: PUSH2 0x3b4f
00003b4a: DUP3
00003b4b: PUSH2 0x3920
00003b4e: JUMP
00003b4f: JUMPDEST
00003b50: DUP2
00003b51: MSTORE
00003b52: PUSH1 0x20
00003b54: DUP3
00003b55: ADD
00003b56: MLOAD
00003b57: PUSH2 0x3b5f
00003b5a: DUP2
00003b5b: PUSH2 0x3127
00003b5e: JUMP
00003b5f: JUMPDEST
00003b60: PUSH1 0x20
00003b62: DUP3
00003b63: ADD
00003b64: MSTORE
00003b65: PUSH1 0x40
00003b67: DUP3
00003b68: DUP2
00003b69: ADD
00003b6a: MLOAD
00003b6b: SWAP1
00003b6c: DUP3
00003b6d: ADD
00003b6e: MSTORE
00003b6f: PUSH1 0x60
00003b71: DUP3
00003b72: ADD
00003b73: MLOAD
00003b74: PUSH2 0x3b7c
00003b77: DUP2
00003b78: PUSH2 0x3127
00003b7b: JUMP
00003b7c: JUMPDEST
00003b7d: PUSH1 0x60
00003b7f: DUP3
00003b80: ADD
00003b81: MSTORE
00003b82: PUSH1 0x80
00003b84: DUP3
00003b85: DUP2
00003b86: ADD
00003b87: MLOAD
00003b88: SWAP1
00003b89: DUP3
00003b8a: ADD
00003b8b: MSTORE
00003b8c: DUP4
00003b8d: MSTORE
00003b8e: PUSH1 0x20
00003b90: SWAP1
00003b91: SWAP3
00003b92: ADD
00003b93: SWAP2
00003b94: PUSH1 0xa0
00003b96: ADD
00003b97: PUSH2 0x3b27
00003b9a: JUMP
00003b9b: JUMPDEST
00003b9c: PUSH0
00003b9d: DUP3
00003b9e: PUSH1 0x1f
00003ba0: DUP4
00003ba1: ADD
00003ba2: SLT
00003ba3: PUSH2 0x3baa
00003ba6: JUMPI
00003ba7: PUSH0
00003ba8: DUP1
00003ba9: REVERT
00003baa: JUMPDEST
00003bab: DUP2
00003bac: MLOAD
00003bad: PUSH2 0x3bb8
00003bb0: PUSH2 0x32c8
00003bb3: DUP3
00003bb4: PUSH2 0x3968
00003bb7: JUMP
00003bb8: JUMPDEST
00003bb9: DUP1
00003bba: DUP3
00003bbb: DUP3
00003bbc: MSTORE
00003bbd: PUSH1 0x20
00003bbf: DUP3
00003bc0: ADD
00003bc1: SWAP2
00003bc2: POP
00003bc3: PUSH1 0x20
00003bc5: PUSH1 0x60
00003bc7: DUP5
00003bc8: MUL
00003bc9: DUP7
00003bca: ADD
00003bcb: ADD
00003bcc: SWAP3
00003bcd: POP
00003bce: DUP6
00003bcf: DUP4
00003bd0: GT
00003bd1: ISZERO
00003bd2: PUSH2 0x3bd9
00003bd5: JUMPI
00003bd6: PUSH0
00003bd7: DUP1
00003bd8: REVERT
00003bd9: JUMPDEST
00003bda: PUSH1 0x20
00003bdc: DUP6
00003bdd: ADD
00003bde: JUMPDEST
00003bdf: DUP4
00003be0: DUP2
00003be1: LT
00003be2: ISZERO
00003be3: PUSH2 0x39e5
00003be6: JUMPI
00003be7: PUSH1 0x60
00003be9: DUP2
00003bea: DUP9
00003beb: SUB
00003bec: SLT
00003bed: ISZERO
00003bee: PUSH2 0x3bf5
00003bf1: JUMPI
00003bf2: PUSH0
00003bf3: DUP1
00003bf4: REVERT
00003bf5: JUMPDEST
00003bf6: PUSH2 0x3bfd
00003bf9: PUSH2 0x3221
00003bfc: JUMP
00003bfd: JUMPDEST
00003bfe: DUP2
00003bff: MLOAD
00003c00: PUSH2 0x3c08
00003c03: DUP2
00003c04: PUSH2 0x3127
00003c07: JUMP
00003c08: JUMPDEST
00003c09: DUP2
00003c0a: MSTORE
00003c0b: PUSH1 0x20
00003c0d: DUP3
00003c0e: DUP2
00003c0f: ADD
00003c10: MLOAD
00003c11: DUP2
00003c12: DUP4
00003c13: ADD
00003c14: MSTORE
00003c15: PUSH1 0x40
00003c17: DUP1
00003c18: DUP5
00003c19: ADD
00003c1a: MLOAD
00003c1b: SWAP1
00003c1c: DUP4
00003c1d: ADD
00003c1e: MSTORE
00003c1f: SWAP1
00003c20: DUP5
00003c21: MSTORE
00003c22: SWAP3
00003c23: SWAP1
00003c24: SWAP3
00003c25: ADD
00003c26: SWAP2
00003c27: PUSH1 0x60
00003c29: ADD
00003c2a: PUSH2 0x3bde
00003c2d: JUMP
00003c2e: JUMPDEST
00003c2f: PUSH0
00003c30: PUSH1 0x20
00003c32: DUP3
00003c33: DUP5
00003c34: SUB
00003c35: SLT
00003c36: ISZERO
00003c37: PUSH2 0x3c3e
00003c3a: JUMPI
00003c3b: PUSH0
00003c3c: DUP1
00003c3d: REVERT
00003c3e: JUMPDEST
00003c3f: DUP2
00003c40: MLOAD
00003c41: PUSH1 0x01
00003c43: PUSH1 0x01
00003c45: PUSH1 0x40
00003c47: SHL
00003c48: SUB
00003c49: DUP2
00003c4a: GT
00003c4b: ISZERO
00003c4c: PUSH2 0x3c53
00003c4f: JUMPI
00003c50: PUSH0
00003c51: DUP1
00003c52: REVERT
00003c53: JUMPDEST
00003c54: DUP3
00003c55: ADD
00003c56: PUSH1 0xc0
00003c58: DUP2
00003c59: DUP6
00003c5a: SUB
00003c5b: SLT
00003c5c: ISZERO
00003c5d: PUSH2 0x3c64
00003c60: JUMPI
00003c61: PUSH0
00003c62: DUP1
00003c63: REVERT
00003c64: JUMPDEST
00003c65: PUSH2 0x3c6c
00003c68: PUSH2 0x3243
00003c6b: JUMP
00003c6c: JUMPDEST
00003c6d: DUP2
00003c6e: MLOAD
00003c6f: PUSH1 0x01
00003c71: PUSH1 0x01
00003c73: PUSH1 0x40
00003c75: SHL
00003c76: SUB
00003c77: DUP2
00003c78: GT
00003c79: ISZERO
00003c7a: PUSH2 0x3c81
00003c7d: JUMPI
00003c7e: PUSH0
00003c7f: DUP1
00003c80: REVERT
00003c81: JUMPDEST
00003c82: PUSH2 0x3c8d
00003c85: DUP7
00003c86: DUP3
00003c87: DUP6
00003c88: ADD
00003c89: PUSH2 0x398a
00003c8c: JUMP
00003c8d: JUMPDEST
00003c8e: DUP3
00003c8f: MSTORE
00003c90: POP
00003c91: PUSH1 0x20
00003c93: DUP3
00003c94: ADD
00003c95: MLOAD
00003c96: PUSH1 0x01
00003c98: PUSH1 0x01
00003c9a: PUSH1 0x40
00003c9c: SHL
00003c9d: SUB
00003c9e: DUP2
00003c9f: GT
00003ca0: ISZERO
00003ca1: PUSH2 0x3ca8
00003ca4: JUMPI
00003ca5: PUSH0
00003ca6: DUP1
00003ca7: REVERT
00003ca8: JUMPDEST
00003ca9: PUSH2 0x3cb4
00003cac: DUP7
00003cad: DUP3
00003cae: DUP6
00003caf: ADD
00003cb0: PUSH2 0x39ef
00003cb3: JUMP
00003cb4: JUMPDEST
00003cb5: PUSH1 0x20
00003cb7: DUP4
00003cb8: ADD
00003cb9: MSTORE
00003cba: POP
00003cbb: PUSH1 0x40
00003cbd: DUP3
00003cbe: ADD
00003cbf: MLOAD
00003cc0: PUSH1 0x01
00003cc2: PUSH1 0x01
00003cc4: PUSH1 0x40
00003cc6: SHL
00003cc7: SUB
00003cc8: DUP2
00003cc9: GT
00003cca: ISZERO
00003ccb: PUSH2 0x3cd2
00003cce: JUMPI
00003ccf: PUSH0
00003cd0: DUP1
00003cd1: REVERT
00003cd2: JUMPDEST
00003cd3: PUSH2 0x3cde
00003cd6: DUP7
00003cd7: DUP3
00003cd8: DUP6
00003cd9: ADD
00003cda: PUSH2 0x3a53
00003cdd: JUMP
00003cde: JUMPDEST
00003cdf: PUSH1 0x40
00003ce1: DUP4
00003ce2: ADD
00003ce3: MSTORE
00003ce4: POP
00003ce5: PUSH1 0x60
00003ce7: DUP3
00003ce8: ADD
00003ce9: MLOAD
00003cea: PUSH1 0x01
00003cec: PUSH1 0x01
00003cee: PUSH1 0x40
00003cf0: SHL
00003cf1: SUB
00003cf2: DUP2
00003cf3: GT
00003cf4: ISZERO
00003cf5: PUSH2 0x3cfc
00003cf8: JUMPI
00003cf9: PUSH0
00003cfa: DUP1
00003cfb: REVERT
00003cfc: JUMPDEST
00003cfd: PUSH2 0x3d08
00003d00: DUP7
00003d01: DUP3
00003d02: DUP6
00003d03: ADD
00003d04: PUSH2 0x3ae4
00003d07: JUMP
00003d08: JUMPDEST
00003d09: PUSH1 0x60
00003d0b: DUP4
00003d0c: ADD
00003d0d: MSTORE
00003d0e: POP
00003d0f: PUSH1 0x80
00003d11: DUP3
00003d12: ADD
00003d13: MLOAD
00003d14: PUSH1 0x01
00003d16: PUSH1 0x01
00003d18: PUSH1 0x40
00003d1a: SHL
00003d1b: SUB
00003d1c: DUP2
00003d1d: GT
00003d1e: ISZERO
00003d1f: PUSH2 0x3d26
00003d22: JUMPI
00003d23: PUSH0
00003d24: DUP1
00003d25: REVERT
00003d26: JUMPDEST
00003d27: PUSH2 0x3d32
00003d2a: DUP7
00003d2b: DUP3
00003d2c: DUP6
00003d2d: ADD
00003d2e: PUSH2 0x3b9b
00003d31: JUMP
00003d32: JUMPDEST
00003d33: PUSH1 0x80
00003d35: DUP4
00003d36: ADD
00003d37: MSTORE
00003d38: POP
00003d39: PUSH1 0xa0
00003d3b: DUP3
00003d3c: ADD
00003d3d: MLOAD
00003d3e: PUSH1 0x01
00003d40: PUSH1 0x01
00003d42: PUSH1 0x40
00003d44: SHL
00003d45: SUB
00003d46: DUP2
00003d47: GT
00003d48: ISZERO
00003d49: PUSH2 0x3d50
00003d4c: JUMPI
00003d4d: PUSH0
00003d4e: DUP1
00003d4f: REVERT
00003d50: JUMPDEST
00003d51: PUSH2 0x3d5c
00003d54: DUP7
00003d55: DUP3
00003d56: DUP6
00003d57: ADD
00003d58: PUSH2 0x3b9b
00003d5b: JUMP
00003d5c: JUMPDEST
00003d5d: PUSH1 0xa0
00003d5f: DUP4
00003d60: ADD
00003d61: MSTORE
00003d62: POP
00003d63: SWAP5
00003d64: SWAP4
00003d65: POP
00003d66: POP
00003d67: POP
00003d68: POP
00003d69: JUMP
00003d6a: JUMPDEST
00003d6b: PUSH0
00003d6c: DUP3
00003d6d: MLOAD
00003d6e: DUP1
00003d6f: PUSH1 0x20
00003d71: DUP6
00003d72: ADD
00003d73: DUP5
00003d74: MCOPY
00003d75: PUSH0
00003d76: SWAP3
00003d77: ADD
00003d78: SWAP2
00003d79: DUP3
00003d7a: MSTORE
00003d7b: POP
00003d7c: SWAP2
00003d7d: SWAP1
00003d7e: POP
00003d7f: JUMP
00003d80: JUMPDEST
00003d81: PUSH4 0x4e487b71
00003d86: PUSH1 0xe0
00003d88: SHL
00003d89: PUSH0
00003d8a: MSTORE
00003d8b: PUSH1 0x11
00003d8d: PUSH1 0x04
00003d8f: MSTORE
00003d90: PUSH1 0x24
00003d92: PUSH0
00003d93: REVERT
00003d94: JUMPDEST
00003d95: DUP1
00003d96: DUP3
00003d97: ADD
00003d98: DUP1
00003d99: DUP3
00003d9a: GT
00003d9b: ISZERO
00003d9c: PUSH2 0x0443
00003d9f: JUMPI
00003da0: PUSH2 0x0443
00003da3: PUSH2 0x3d80
00003da6: JUMP
00003da7: JUMPDEST
00003da8: DUP2
00003da9: DUP2
00003daa: SUB
00003dab: DUP2
00003dac: DUP2
00003dad: GT
00003dae: ISZERO
00003daf: PUSH2 0x0443
00003db2: JUMPI
00003db3: PUSH2 0x0443
00003db6: PUSH2 0x3d80
00003db9: JUMP
00003dba: JUMPDEST
00003dbb: PUSH0
00003dbc: PUSH1 0x20
00003dbe: DUP3
00003dbf: DUP5
00003dc0: SUB
00003dc1: SLT
00003dc2: ISZERO
00003dc3: PUSH2 0x3dca
00003dc6: JUMPI
00003dc7: PUSH0
00003dc8: DUP1
00003dc9: REVERT
00003dca: JUMPDEST
00003dcb: PUSH2 0x06ec
00003dce: DUP3
00003dcf: PUSH2 0x3920
00003dd2: JUMP
00003dd3: JUMPDEST
00003dd4: PUSH0
00003dd5: PUSH1 0x80
00003dd7: DUP3
00003dd8: DUP5
00003dd9: SUB
00003dda: SLT
00003ddb: ISZERO
00003ddc: PUSH2 0x3de3
00003ddf: JUMPI
00003de0: PUSH0
00003de1: DUP1
00003de2: REVERT
00003de3: JUMPDEST
00003de4: PUSH1 0x40
00003de6: MLOAD
00003de7: PUSH1 0x80
00003de9: DUP2
00003dea: ADD
00003deb: PUSH1 0x01
00003ded: PUSH1 0x01
00003def: PUSH1 0x40
00003df1: SHL
00003df2: SUB
00003df3: DUP2
00003df4: GT
00003df5: DUP3
00003df6: DUP3
00003df7: LT
00003df8: OR
00003df9: ISZERO
00003dfa: PUSH2 0x3e05
00003dfd: JUMPI
00003dfe: PUSH2 0x3e05
00003e01: PUSH2 0x31e5
00003e04: JUMP
00003e05: JUMPDEST
00003e06: DUP1
00003e07: PUSH1 0x40
00003e09: MSTORE
00003e0a: POP
00003e0b: DUP1
00003e0c: SWAP2
00003e0d: POP
00003e0e: DUP3
00003e0f: MLOAD
00003e10: PUSH2 0x3e18
00003e13: DUP2
00003e14: PUSH2 0x3127
00003e17: JUMP
00003e18: JUMPDEST
00003e19: DUP2
00003e1a: MSTORE
00003e1b: PUSH1 0x20
00003e1d: DUP4
00003e1e: DUP2
00003e1f: ADD
00003e20: MLOAD
00003e21: SWAP1
00003e22: DUP3
00003e23: ADD
00003e24: MSTORE
00003e25: PUSH1 0x40
00003e27: DUP1
00003e28: DUP5
00003e29: ADD
00003e2a: MLOAD
00003e2b: SWAP1
00003e2c: DUP3
00003e2d: ADD
00003e2e: MSTORE
00003e2f: PUSH1 0x60
00003e31: SWAP3
00003e32: DUP4
00003e33: ADD
00003e34: MLOAD
00003e35: SWAP3
00003e36: ADD
00003e37: SWAP2
00003e38: SWAP1
00003e39: SWAP2
00003e3a: MSTORE
00003e3b: SWAP2
00003e3c: SWAP1
00003e3d: POP
00003e3e: JUMP
00003e3f: JUMPDEST
00003e40: PUSH0
00003e41: DUP1
00003e42: PUSH2 0x0100
00003e45: DUP4
00003e46: DUP6
00003e47: SUB
00003e48: SLT
00003e49: ISZERO
00003e4a: PUSH2 0x3e51
00003e4d: JUMPI
00003e4e: PUSH0
00003e4f: DUP1
00003e50: REVERT
00003e51: JUMPDEST
00003e52: PUSH2 0x3e5b
00003e55: DUP5
00003e56: DUP5
00003e57: PUSH2 0x3dd3
00003e5a: JUMP
00003e5b: JUMPDEST
00003e5c: SWAP2
00003e5d: POP
00003e5e: PUSH2 0x395f
00003e61: DUP5
00003e62: PUSH1 0x80
00003e64: DUP6
00003e65: ADD
00003e66: PUSH2 0x3dd3
00003e69: JUMP
00003e6a: JUMPDEST
00003e6b: DUP1
00003e6c: DUP3
00003e6d: MUL
00003e6e: DUP2
00003e6f: ISZERO
00003e70: DUP3
00003e71: DUP3
00003e72: DIV
00003e73: DUP5
00003e74: EQ
00003e75: OR
00003e76: PUSH2 0x0443
00003e79: JUMPI
00003e7a: PUSH2 0x0443
00003e7d: PUSH2 0x3d80
00003e80: JUMP
00003e81: JUMPDEST
00003e82: PUSH1 0xff
00003e84: DUP3
00003e85: DUP2
00003e86: AND
00003e87: DUP3
00003e88: DUP3
00003e89: AND
00003e8a: SUB
00003e8b: SWAP1
00003e8c: DUP2
00003e8d: GT
00003e8e: ISZERO
00003e8f: PUSH2 0x0443
00003e92: JUMPI
00003e93: PUSH2 0x0443
00003e96: PUSH2 0x3d80
00003e99: JUMP
00003e9a: JUMPDEST
00003e9b: PUSH1 0x01
00003e9d: DUP2
00003e9e: JUMPDEST
00003e9f: PUSH1 0x01
00003ea1: DUP5
00003ea2: GT
00003ea3: ISZERO
00003ea4: PUSH2 0x3ed5
00003ea7: JUMPI
00003ea8: DUP1
00003ea9: DUP6
00003eaa: DIV
00003eab: DUP2
00003eac: GT
00003ead: ISZERO
00003eae: PUSH2 0x3eb9
00003eb1: JUMPI
00003eb2: PUSH2 0x3eb9
00003eb5: PUSH2 0x3d80
00003eb8: JUMP
00003eb9: JUMPDEST
00003eba: PUSH1 0x01
00003ebc: DUP5
00003ebd: AND
00003ebe: ISZERO
00003ebf: PUSH2 0x3ec7
00003ec2: JUMPI
00003ec3: SWAP1
00003ec4: DUP2
00003ec5: MUL
00003ec6: SWAP1
00003ec7: JUMPDEST
00003ec8: PUSH1 0x01
00003eca: SWAP4
00003ecb: SWAP1
00003ecc: SWAP4
00003ecd: SHR
00003ece: SWAP3
00003ecf: DUP1
00003ed0: MUL
00003ed1: PUSH2 0x3e9e
00003ed4: JUMP
00003ed5: JUMPDEST
00003ed6: SWAP4
00003ed7: POP
00003ed8: SWAP4
00003ed9: SWAP2
00003eda: POP
00003edb: POP
00003edc: JUMP
00003edd: JUMPDEST
00003ede: PUSH0
00003edf: DUP3
00003ee0: PUSH2 0x3eeb
00003ee3: JUMPI
00003ee4: POP
00003ee5: PUSH1 0x01
00003ee7: PUSH2 0x0443
00003eea: JUMP
00003eeb: JUMPDEST
00003eec: DUP2
00003eed: PUSH2 0x3ef7
00003ef0: JUMPI
00003ef1: POP
00003ef2: PUSH0
00003ef3: PUSH2 0x0443
00003ef6: JUMP
00003ef7: JUMPDEST
00003ef8: DUP2
00003ef9: PUSH1 0x01
00003efb: DUP2
00003efc: EQ
00003efd: PUSH2 0x3f0d
00003f00: JUMPI
00003f01: PUSH1 0x02
00003f03: DUP2
00003f04: EQ
00003f05: PUSH2 0x3f17
00003f08: JUMPI
00003f09: PUSH2 0x3f33
00003f0c: JUMP
00003f0d: JUMPDEST
00003f0e: PUSH1 0x01
00003f10: SWAP2
00003f11: POP
00003f12: POP
00003f13: PUSH2 0x0443
00003f16: JUMP
00003f17: JUMPDEST
00003f18: PUSH1 0xff
00003f1a: DUP5
00003f1b: GT
00003f1c: ISZERO
00003f1d: PUSH2 0x3f28
00003f20: JUMPI
00003f21: PUSH2 0x3f28
00003f24: PUSH2 0x3d80
00003f27: JUMP
00003f28: JUMPDEST
00003f29: POP
00003f2a: POP
00003f2b: PUSH1 0x01
00003f2d: DUP3
00003f2e: SHL
00003f2f: PUSH2 0x0443
00003f32: JUMP
00003f33: JUMPDEST
00003f34: POP
00003f35: PUSH1 0x20
00003f37: DUP4
00003f38: LT
00003f39: PUSH2 0x0133
00003f3c: DUP4
00003f3d: LT
00003f3e: AND
00003f3f: PUSH1 0x4e
00003f41: DUP5
00003f42: LT
00003f43: PUSH1 0x0b
00003f45: DUP5
00003f46: LT
00003f47: AND
00003f48: OR
00003f49: ISZERO
00003f4a: PUSH2 0x3f56
00003f4d: JUMPI
00003f4e: POP
00003f4f: DUP2
00003f50: DUP2
00003f51: EXP
00003f52: PUSH2 0x0443
00003f55: JUMP
00003f56: JUMPDEST
00003f57: PUSH2 0x3f62
00003f5a: PUSH0
00003f5b: NOT
00003f5c: DUP5
00003f5d: DUP5
00003f5e: PUSH2 0x3e9a
00003f61: JUMP
00003f62: JUMPDEST
00003f63: DUP1
00003f64: PUSH0
00003f65: NOT
00003f66: DIV
00003f67: DUP3
00003f68: GT
00003f69: ISZERO
00003f6a: PUSH2 0x3f75
00003f6d: JUMPI
00003f6e: PUSH2 0x3f75
00003f71: PUSH2 0x3d80
00003f74: JUMP
00003f75: JUMPDEST
00003f76: MUL
00003f77: SWAP4
00003f78: SWAP3
00003f79: POP
00003f7a: POP
00003f7b: POP
00003f7c: JUMP
00003f7d: JUMPDEST
00003f7e: PUSH0
00003f7f: PUSH2 0x06ec
00003f82: PUSH1 0xff
00003f84: DUP5
00003f85: AND
00003f86: DUP4
00003f87: PUSH2 0x3edd
00003f8a: JUMP
00003f8b: JUMPDEST
00003f8c: PUSH0
00003f8d: DUP3
00003f8e: PUSH2 0x3fa5
00003f91: JUMPI
00003f92: PUSH4 0x4e487b71
00003f97: PUSH1 0xe0
00003f99: SHL
00003f9a: PUSH0
00003f9b: MSTORE
00003f9c: PUSH1 0x12
00003f9e: PUSH1 0x04
00003fa0: MSTORE
00003fa1: PUSH1 0x24
00003fa3: PUSH0
00003fa4: REVERT
00003fa5: JUMPDEST
00003fa6: POP
00003fa7: DIV
00003fa8: SWAP1
00003fa9: JUMP
00003faa: JUMPDEST
00003fab: PUSH0
00003fac: PUSH1 0x20
00003fae: DUP3
00003faf: DUP5
00003fb0: SUB
00003fb1: SLT
00003fb2: ISZERO
00003fb3: PUSH2 0x3fba
00003fb6: JUMPI
00003fb7: PUSH0
00003fb8: DUP1
00003fb9: REVERT
00003fba: JUMPDEST
00003fbb: DUP2
00003fbc: MLOAD
00003fbd: PUSH1 0x01
00003fbf: PUSH1 0x01
00003fc1: PUSH1 0x40
00003fc3: SHL
00003fc4: SUB
00003fc5: DUP2
00003fc6: GT
00003fc7: ISZERO
00003fc8: PUSH2 0x3fcf
00003fcb: JUMPI
00003fcc: PUSH0
00003fcd: DUP1
00003fce: REVERT
00003fcf: JUMPDEST
00003fd0: PUSH2 0x1acc
00003fd3: DUP5
00003fd4: DUP3
00003fd5: DUP6
00003fd6: ADD
00003fd7: PUSH2 0x39ef
00003fda: JUMP
00003fdb: JUMPDEST
00003fdc: PUSH1 0x1f
00003fde: DUP3
00003fdf: GT
00003fe0: ISZERO
00003fe1: PUSH2 0x0982
00003fe4: JUMPI
00003fe5: DUP1
00003fe6: PUSH0
00003fe7: MSTORE
00003fe8: PUSH1 0x20
00003fea: PUSH0
00003feb: KECCAK256
00003fec: PUSH1 0x1f
00003fee: DUP5
00003fef: ADD
00003ff0: PUSH1 0x05
00003ff2: SHR
00003ff3: DUP2
00003ff4: ADD
00003ff5: PUSH1 0x20
00003ff7: DUP6
00003ff8: LT
00003ff9: ISZERO
00003ffa: PUSH2 0x4000
00003ffd: JUMPI
00003ffe: POP
00003fff: DUP1
00004000: JUMPDEST
00004001: PUSH1 0x1f
00004003: DUP5
00004004: ADD
00004005: PUSH1 0x05
00004007: SHR
00004008: DUP3
00004009: ADD
0000400a: SWAP2
0000400b: POP
0000400c: JUMPDEST
0000400d: DUP2
0000400e: DUP2
0000400f: LT
00004010: ISZERO
00004011: PUSH2 0x2406
00004014: JUMPI
00004015: PUSH0
00004016: DUP2
00004017: SSTORE
00004018: PUSH1 0x01
0000401a: ADD
0000401b: PUSH2 0x400c
0000401e: JUMP
0000401f: JUMPDEST
00004020: DUP2
00004021: MLOAD
00004022: PUSH1 0x01
00004024: PUSH1 0x01
00004026: PUSH1 0x40
00004028: SHL
00004029: SUB
0000402a: DUP2
0000402b: GT
0000402c: ISZERO
0000402d: PUSH2 0x4038
00004030: JUMPI
00004031: PUSH2 0x4038
00004034: PUSH2 0x31e5
00004037: JUMP
00004038: JUMPDEST
00004039: PUSH2 0x404c
0000403c: DUP2
0000403d: PUSH2 0x4046
00004040: DUP5
00004041: SLOAD
00004042: PUSH2 0x3802
00004045: JUMP
00004046: JUMPDEST
00004047: DUP5
00004048: PUSH2 0x3fdb
0000404b: JUMP
0000404c: JUMPDEST
0000404d: PUSH1 0x20
0000404f: PUSH1 0x1f
00004051: DUP3
00004052: GT
00004053: PUSH1 0x01
00004055: DUP2
00004056: EQ
00004057: PUSH2 0x407e
0000405a: JUMPI
0000405b: PUSH0
0000405c: DUP4
0000405d: ISZERO
0000405e: PUSH2 0x4067
00004061: JUMPI
00004062: POP
00004063: DUP5
00004064: DUP3
00004065: ADD
00004066: MLOAD
00004067: JUMPDEST
00004068: PUSH0
00004069: NOT
0000406a: PUSH1 0x03
0000406c: DUP6
0000406d: SWAP1
0000406e: SHL
0000406f: SHR
00004070: NOT
00004071: AND
00004072: PUSH1 0x01
00004074: DUP5
00004075: SWAP1
00004076: SHL
00004077: OR
00004078: DUP5
00004079: SSTORE
0000407a: PUSH2 0x2406
0000407d: JUMP
0000407e: JUMPDEST
0000407f: PUSH0
00004080: DUP5
00004081: DUP2
00004082: MSTORE
00004083: PUSH1 0x20
00004085: DUP2
00004086: KECCAK256
00004087: PUSH1 0x1f
00004089: NOT
0000408a: DUP6
0000408b: AND
0000408c: SWAP2
0000408d: JUMPDEST
0000408e: DUP3
0000408f: DUP2
00004090: LT
00004091: ISZERO
00004092: PUSH2 0x40ad
00004095: JUMPI
00004096: DUP8
00004097: DUP6
00004098: ADD
00004099: MLOAD
0000409a: DUP3
0000409b: SSTORE
0000409c: PUSH1 0x20
0000409e: SWAP5
0000409f: DUP6
000040a0: ADD
000040a1: SWAP5
000040a2: PUSH1 0x01
000040a4: SWAP1
000040a5: SWAP3
000040a6: ADD
000040a7: SWAP2
000040a8: ADD
000040a9: PUSH2 0x408d
000040ac: JUMP
000040ad: JUMPDEST
000040ae: POP
000040af: DUP5
000040b0: DUP3
000040b1: LT
000040b2: ISZERO
000040b3: PUSH2 0x40ca
000040b6: JUMPI
000040b7: DUP7
000040b8: DUP5
000040b9: ADD
000040ba: MLOAD
000040bb: PUSH0
000040bc: NOT
000040bd: PUSH1 0x03
000040bf: DUP8
000040c0: SWAP1
000040c1: SHL
000040c2: PUSH1 0xf8
000040c4: AND
000040c5: SHR
000040c6: NOT
000040c7: AND
000040c8: DUP2
000040c9: SSTORE
000040ca: JUMPDEST
000040cb: POP
000040cc: POP
000040cd: POP
000040ce: POP
000040cf: PUSH1 0x01
000040d1: SWAP1
000040d2: DUP2
000040d3: SHL
000040d4: ADD
000040d5: SWAP1
000040d6: SSTORE
000040d7: POP
000040d8: JUMP
000040d9: JUMPDEST
000040da: PUSH0
000040db: DUP1
000040dc: DUP4
000040dd: SLOAD
000040de: PUSH2 0x40e6
000040e1: DUP2
000040e2: PUSH2 0x3802
000040e5: JUMP
000040e6: JUMPDEST
000040e7: PUSH1 0x01
000040e9: DUP3
000040ea: AND
000040eb: DUP1
000040ec: ISZERO
000040ed: PUSH2 0x40fd
000040f0: JUMPI
000040f1: PUSH1 0x01
000040f3: DUP2
000040f4: EQ
000040f5: PUSH2 0x4112
000040f8: JUMPI
000040f9: PUSH2 0x413f
000040fc: JUMP
000040fd: JUMPDEST
000040fe: PUSH1 0xff
00004100: NOT
00004101: DUP4
00004102: AND
00004103: DUP7
00004104: MSTORE
00004105: DUP2
00004106: ISZERO
00004107: ISZERO
00004108: DUP3
00004109: MUL
0000410a: DUP7
0000410b: ADD
0000410c: SWAP4
0000410d: POP
0000410e: PUSH2 0x413f
00004111: JUMP
00004112: JUMPDEST
00004113: DUP7
00004114: PUSH0
00004115: MSTORE
00004116: PUSH1 0x20
00004118: PUSH0
00004119: KECCAK256
0000411a: PUSH0
0000411b: JUMPDEST
0000411c: DUP4
0000411d: DUP2
0000411e: LT
0000411f: ISZERO
00004120: PUSH2 0x4137
00004123: JUMPI
00004124: DUP2
00004125: SLOAD
00004126: DUP9
00004127: DUP3
00004128: ADD
00004129: MSTORE
0000412a: PUSH1 0x01
0000412c: SWAP1
0000412d: SWAP2
0000412e: ADD
0000412f: SWAP1
00004130: PUSH1 0x20
00004132: ADD
00004133: PUSH2 0x411b
00004136: JUMP
00004137: JUMPDEST
00004138: POP
00004139: POP
0000413a: DUP2
0000413b: DUP7
0000413c: ADD
0000413d: SWAP4
0000413e: POP
0000413f: JUMPDEST
00004140: POP
00004141: SWAP2
00004142: SWAP6
00004143: SWAP5
00004144: POP
00004145: POP
00004146: POP
00004147: POP
00004148: POP
00004149: JUMP
0000414a: JUMPDEST
0000414b: PUSH0
0000414c: DUP4
0000414d: DUP4
0000414e: DUP6
0000414f: MSTORE
00004150: PUSH1 0x20
00004152: DUP6
00004153: ADD
00004154: SWAP5
00004155: POP
00004156: PUSH1 0x20
00004158: DUP5
00004159: PUSH1 0x05
0000415b: SHL
0000415c: DUP3
0000415d: ADD
0000415e: ADD
0000415f: DUP4
00004160: PUSH0
00004161: JUMPDEST
00004162: DUP7
00004163: DUP2
00004164: LT
00004165: ISZERO
00004166: PUSH2 0x41d2
00004169: JUMPI
0000416a: DUP4
0000416b: DUP4
0000416c: SUB
0000416d: PUSH1 0x1f
0000416f: NOT
00004170: ADD
00004171: DUP9
00004172: MSTORE
00004173: DUP2
00004174: CALLDATALOAD
00004175: CALLDATASIZE
00004176: DUP8
00004177: SWAP1
00004178: SUB
00004179: PUSH1 0x1e
0000417b: NOT
0000417c: ADD
0000417d: DUP2
0000417e: SLT
0000417f: PUSH2 0x4186
00004182: JUMPI
00004183: PUSH0
00004184: DUP1
00004185: REVERT
00004186: JUMPDEST
00004187: DUP7
00004188: ADD
00004189: PUSH1 0x20
0000418b: DUP2
0000418c: ADD
0000418d: SWAP1
0000418e: CALLDATALOAD
0000418f: PUSH1 0x01
00004191: PUSH1 0x01
00004193: PUSH1 0x40
00004195: SHL
00004196: SUB
00004197: DUP2
00004198: GT
00004199: ISZERO
0000419a: PUSH2 0x41a1
0000419d: JUMPI
0000419e: PUSH0
0000419f: DUP1
000041a0: REVERT
000041a1: JUMPDEST
000041a2: DUP1
000041a3: CALLDATASIZE
000041a4: SUB
000041a5: DUP3
000041a6: SGT
000041a7: ISZERO
000041a8: PUSH2 0x41af
000041ab: JUMPI
000041ac: PUSH0
000041ad: DUP1
000041ae: REVERT
000041af: JUMPDEST
000041b0: PUSH2 0x41ba
000041b3: DUP6
000041b4: DUP3
000041b5: DUP5
000041b6: PUSH2 0x377d
000041b9: JUMP
000041ba: JUMPDEST
000041bb: PUSH1 0x20
000041bd: SWAP11
000041be: DUP12
000041bf: ADD
000041c0: SWAP11
000041c1: SWAP1
000041c2: SWAP6
000041c3: POP
000041c4: SWAP4
000041c5: SWAP1
000041c6: SWAP4
000041c7: ADD
000041c8: SWAP3
000041c9: POP
000041ca: POP
000041cb: PUSH1 0x01
000041cd: ADD
000041ce: PUSH2 0x4161
000041d1: JUMP
000041d2: JUMPDEST
000041d3: POP
000041d4: SWAP1
000041d5: SWAP7
000041d6: SWAP6
000041d7: POP
000041d8: POP
000041d9: POP
000041da: POP
000041db: POP
000041dc: POP
000041dd: JUMP
000041de: JUMPDEST
000041df: DUP2
000041e0: DUP4
000041e1: MSTORE
000041e2: PUSH1 0x20
000041e4: DUP4
000041e5: ADD
000041e6: SWAP3
000041e7: POP
000041e8: PUSH0
000041e9: DUP2
000041ea: PUSH0
000041eb: JUMPDEST
000041ec: DUP5
000041ed: DUP2
000041ee: LT
000041ef: ISZERO
000041f0: PUSH2 0x421c
000041f3: JUMPI
000041f4: DUP2
000041f5: CALLDATALOAD
000041f6: PUSH2 0x41fe
000041f9: DUP2
000041fa: PUSH2 0x3127
000041fd: JUMP
000041fe: JUMPDEST
000041ff: PUSH1 0x01
00004201: PUSH1 0x01
00004203: PUSH1 0xa0
00004205: SHL
00004206: SUB
00004207: AND
00004208: DUP7
00004209: MSTORE
0000420a: PUSH1 0x20
0000420c: SWAP6
0000420d: DUP7
0000420e: ADD
0000420f: SWAP6
00004210: SWAP2
00004211: SWAP1
00004212: SWAP2
00004213: ADD
00004214: SWAP1
00004215: PUSH1 0x01
00004217: ADD
00004218: PUSH2 0x41eb
0000421b: JUMP
0000421c: JUMPDEST
0000421d: POP
0000421e: SWAP4
0000421f: SWAP5
00004220: SWAP4
00004221: POP
00004222: POP
00004223: POP
00004224: POP
00004225: JUMP
00004226: JUMPDEST
00004227: DUP7
00004228: DUP2
00004229: MSTORE
0000422a: PUSH1 0x01
0000422c: PUSH1 0x01
0000422e: PUSH1 0xa0
00004230: SHL
00004231: SUB
00004232: DUP7
00004233: AND
00004234: PUSH1 0x20
00004236: DUP3
00004237: ADD
00004238: MSTORE
00004239: PUSH1 0x80
0000423b: PUSH1 0x40
0000423d: DUP3
0000423e: ADD
0000423f: DUP2
00004240: SWAP1
00004241: MSTORE
00004242: PUSH0
00004243: SWAP1
00004244: PUSH2 0x4250
00004247: SWAP1
00004248: DUP4
00004249: ADD
0000424a: DUP7
0000424b: DUP9
0000424c: PUSH2 0x414a
0000424f: JUMP
00004250: JUMPDEST
00004251: DUP3
00004252: DUP2
00004253: SUB
00004254: PUSH1 0x60
00004256: DUP5
00004257: ADD
00004258: MSTORE
00004259: PUSH2 0x4263
0000425c: DUP2
0000425d: DUP6
0000425e: DUP8
0000425f: PUSH2 0x41de
00004262: JUMP
00004263: JUMPDEST
00004264: SWAP10
00004265: SWAP9
00004266: POP
00004267: POP
00004268: POP
00004269: POP
0000426a: POP
0000426b: POP
0000426c: POP
0000426d: POP
0000426e: POP
0000426f: JUMP
00004270: JUMPDEST
00004271: PUSH1 0x40
00004273: DUP2
00004274: MSTORE
00004275: PUSH0
00004276: PUSH2 0x4283
00004279: PUSH1 0x40
0000427b: DUP4
0000427c: ADD
0000427d: DUP7
0000427e: DUP9
0000427f: PUSH2 0x41de
00004282: JUMP
00004283: JUMPDEST
00004284: DUP3
00004285: DUP2
00004286: SUB
00004287: PUSH1 0x20
00004289: DUP5
0000428a: ADD
0000428b: MSTORE
0000428c: PUSH2 0x2a8e
0000428f: DUP2
00004290: DUP6
00004291: DUP8
00004292: PUSH2 0x414a
00004295: JUMP
00004296: JUMPDEST
00004297: PUSH0
00004298: DUP3
00004299: PUSH1 0x1f
0000429b: DUP4
0000429c: ADD
0000429d: SLT
0000429e: PUSH2 0x42a5
000042a1: JUMPI
000042a2: PUSH0
000042a3: DUP1
000042a4: REVERT
000042a5: JUMPDEST
000042a6: DUP2
000042a7: MLOAD
000042a8: PUSH2 0x42b3
000042ab: PUSH2 0x32c8
000042ae: DUP3
000042af: PUSH2 0x3968
000042b2: JUMP
000042b3: JUMPDEST
000042b4: DUP1
000042b5: DUP3
000042b6: DUP3
000042b7: MSTORE
000042b8: PUSH1 0x20
000042ba: DUP3
000042bb: ADD
000042bc: SWAP2
000042bd: POP
000042be: PUSH1 0x20
000042c0: DUP4
000042c1: PUSH1 0x07
000042c3: SHL
000042c4: DUP7
000042c5: ADD
000042c6: ADD
000042c7: SWAP3
000042c8: POP
000042c9: DUP6
000042ca: DUP4
000042cb: GT
000042cc: ISZERO
000042cd: PUSH2 0x42d4
000042d0: JUMPI
000042d1: PUSH0
000042d2: DUP1
000042d3: REVERT
000042d4: JUMPDEST
000042d5: PUSH1 0x20
000042d7: DUP6
000042d8: ADD
000042d9: JUMPDEST
000042da: DUP4
000042db: DUP2
000042dc: LT
000042dd: ISZERO
000042de: PUSH2 0x39e5
000042e1: JUMPI
000042e2: PUSH2 0x42eb
000042e5: DUP8
000042e6: DUP3
000042e7: PUSH2 0x3dd3
000042ea: JUMP
000042eb: JUMPDEST
000042ec: DUP4
000042ed: MSTORE
000042ee: PUSH1 0x20
000042f0: SWAP1
000042f1: SWAP3
000042f2: ADD
000042f3: SWAP2
000042f4: PUSH1 0x80
000042f6: ADD
000042f7: PUSH2 0x42d9
000042fa: JUMP
000042fb: JUMPDEST
000042fc: PUSH0
000042fd: DUP1
000042fe: PUSH1 0x40
00004300: DUP4
00004301: DUP6
00004302: SUB
00004303: SLT
00004304: ISZERO
00004305: PUSH2 0x430c
00004308: JUMPI
00004309: PUSH0
0000430a: DUP1
0000430b: REVERT
0000430c: JUMPDEST
0000430d: DUP3
0000430e: MLOAD
0000430f: PUSH1 0x01
00004311: PUSH1 0x01
00004313: PUSH1 0x40
00004315: SHL
00004316: SUB
00004317: DUP2
00004318: GT
00004319: ISZERO
0000431a: PUSH2 0x4321
0000431d: JUMPI
0000431e: PUSH0
0000431f: DUP1
00004320: REVERT
00004321: JUMPDEST
00004322: PUSH2 0x432d
00004325: DUP6
00004326: DUP3
00004327: DUP7
00004328: ADD
00004329: PUSH2 0x4296
0000432c: JUMP
0000432d: JUMPDEST
0000432e: SWAP3
0000432f: POP
00004330: POP
00004331: PUSH1 0x20
00004333: DUP4
00004334: ADD
00004335: MLOAD
00004336: PUSH1 0x01
00004338: PUSH1 0x01
0000433a: PUSH1 0x40
0000433c: SHL
0000433d: SUB
0000433e: DUP2
0000433f: GT
00004340: ISZERO
00004341: PUSH2 0x4348
00004344: JUMPI
00004345: PUSH0
00004346: DUP1
00004347: REVERT
00004348: JUMPDEST
00004349: PUSH2 0x3342
0000434c: DUP6
0000434d: DUP3
0000434e: DUP7
0000434f: ADD
00004350: PUSH2 0x4296
00004353: JUMP
00004354: JUMPDEST
00004355: PUSH0
00004356: DUP1
00004357: DUP6
00004358: DUP6
00004359: GT
0000435a: ISZERO
0000435b: PUSH2 0x4362
0000435e: JUMPI
0000435f: PUSH0
00004360: DUP1
00004361: REVERT
00004362: JUMPDEST
00004363: DUP4
00004364: DUP7
00004365: GT
00004366: ISZERO
00004367: PUSH2 0x436e
0000436a: JUMPI
0000436b: PUSH0
0000436c: DUP1
0000436d: REVERT
0000436e: JUMPDEST
0000436f: POP
00004370: POP
00004371: DUP3
00004372: ADD
00004373: SWAP4
00004374: SWAP2
00004375: SWAP1
00004376: SWAP3
00004377: SUB
00004378: SWAP2
00004379: POP
0000437a: JUMP
0000437b: JUMPDEST
0000437c: PUSH0
0000437d: PUSH1 0x20
0000437f: DUP3
00004380: DUP5
00004381: SUB
00004382: SLT
00004383: ISZERO
00004384: PUSH2 0x438b
00004387: JUMPI
00004388: PUSH0
00004389: DUP1
0000438a: REVERT
0000438b: JUMPDEST
0000438c: POP
0000438d: CALLDATALOAD
0000438e: SWAP2
0000438f: SWAP1
00004390: POP
00004391: JUMP
00004392: INVALID
00004393: LOG2
00004394: PUSH5 0x6970667358
0000439a: UNKNOWN(0x22)
0000439b: SLT
0000439c: KECCAK256
0000439d: LT
0000439e: SWAP1
0000439f: UNKNOWN(0xFB)
000043a0: SWAP12
000043a1: SSTORE
000043a2: UNKNOWN(0x4B)
000043a3: CALLCODE
000043a4: UNKNOWN(0xC8)
000043a5: PUSH18 0xaaddfa007d286851018bb66990ba2768ebaa
000043b8: PUSH4 0x79863e54
000043bd: PUSH5 0x736f6c6343
000043c3: STOP
000043c4: ADDMOD
000043c5: BYTE
000043c6: STOP
000043c7: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x4164ca4b4f7dacaa5a51cac04692084d5ee20a5893475580350263304da484d7
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x4164ca4b4f7dacaa5a51cac04692084d5ee20a5893475580350263304da484d7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcb1eec6d",
            "selector": "0xcb1eec6d",
            "calldata_variants": [
                "0xcb1eec6d",
                "0xcb1eec6d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb6b5246",
            "selector": "0xdb6b5246",
            "calldata_variants": [
                "0xdb6b5246",
                "0xdb6b52460000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed24911d",
            "selector": "0xed24911d",
            "calldata_variants": [
                "0xed24911d",
                "0xed24911d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf62d1888",
            "selector": "0xf62d1888",
            "calldata_variants": [
                "0xf62d1888",
                "0xf62d18880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c42f5aa",
            "selector": "0x8c42f5aa",
            "calldata_variants": [
                "0x8c42f5aa",
                "0x8c42f5aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xac9650d8",
            "selector": "0xac9650d8",
            "calldata_variants": [
                "0xac9650d8",
                "0xac9650d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3653,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xfdeffb43e606b80f556c43ac788341d070e970cf4c9eee693b46fedd3d44976c
call_targets: 0x62c9e5e52351e02635f48072fa20c03bb650f787
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfdeffb43e606b80f556c43ac788341d070e970cf4c9eee693b46fedd3d44976c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x62c9e5e52351e02635f48072fa20c03bb650f787"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcb1eec6d",
            "selector": "0xcb1eec6d",
            "calldata_variants": [
                "0xcb1eec6d",
                "0xcb1eec6d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb6b5246",
            "selector": "0xdb6b5246",
            "calldata_variants": [
                "0xdb6b5246",
                "0xdb6b52460000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed24911d",
            "selector": "0xed24911d",
            "calldata_variants": [
                "0xed24911d",
                "0xed24911d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf62d1888",
            "selector": "0xf62d1888",
            "calldata_variants": [
                "0xf62d1888",
                "0xf62d18880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c42f5aa",
            "selector": "0x8c42f5aa",
            "calldata_variants": [
                "0x8c42f5aa",
                "0x8c42f5aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xac9650d8",
            "selector": "0xac9650d8",
            "calldata_variants": [
                "0xac9650d8",
                "0xac9650d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2149,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5006,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 10448,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [],
    "untrusted_call_count": 7
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xfdeffb43e606b80f556c43ac788341d070e970cf4c9eee693b46fedd3d44976c
call_targets: 0x62c9e5e52351e02635f48072fa20c03bb650f787
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfdeffb43e606b80f556c43ac788341d070e970cf4c9eee693b46fedd3d44976c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x62c9e5e52351e02635f48072fa20c03bb650f787"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcb1eec6d",
            "selector": "0xcb1eec6d",
            "calldata_variants": [
                "0xcb1eec6d",
                "0xcb1eec6d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb6b5246",
            "selector": "0xdb6b5246",
            "calldata_variants": [
                "0xdb6b5246",
                "0xdb6b52460000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed24911d",
            "selector": "0xed24911d",
            "calldata_variants": [
                "0xed24911d",
                "0xed24911d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf62d1888",
            "selector": "0xf62d1888",
            "calldata_variants": [
                "0xf62d1888",
                "0xf62d18880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c42f5aa",
            "selector": "0x8c42f5aa",
            "calldata_variants": [
                "0x8c42f5aa",
                "0x8c42f5aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xac9650d8",
            "selector": "0xac9650d8",
            "calldata_variants": [
                "0xac9650d8",
                "0xac9650d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2149,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5006,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 10448,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
medium access_control codex Initializer is publicly callable and sets privileged storage if uninitialized 75 no
view
evidence_json
{
    "evidence": "Dispatcher for selector 0xf62d1888 jumps to 0x17ca after a nonpayable check without a CALLER/owner check. The initializer path writes CALLER into slot 6 (0x18a9\u20130x18be SSTORE). Slot 6 is used for access control checks (0x0452\u20130x045f SLOAD slot6, EQ CALLER, revert on mismatch).",
    "locations": [
        "BYTECODE_BUNDLE.txt:5"
    ],
    "recommendation": "Ensure initialization is performed atomically at deployment (e.g., proxy constructor/initializer call) and/or restrict the initializer to a trusted caller or disable it on the implementation (e.g., `disableInitializers`).",
    "exploit_scenario": "If the contract (or a proxy pointing to it) is deployed without running initialization, any external account can call the function with selector 0xf62d1888 to trigger the initializer path and set storage slot 6 to their own address, then use owner-gated functions that check against slot 6."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 34
}