a3ecedc5-dd6d-4bc1-94da-103c534ddaa6
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 30557 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 104201 | artifact.fetch | complete | 1 / 3 | 2 weeks ago |
| 104202 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 104203 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 104204 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 104205 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 104206 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:391300] OpenAI Codex v0.77.0 (research preview)
[codex:391300] --------
[codex:391300] workdir: /tmp/codex-multi-x8poivjf
[codex:391300] model: gpt-5.2-codex
[codex:391300] provider: openai
[codex:391300] approval: never
[codex:391300] sandbox: read-only
[codex:391300] reasoning effort: xhigh
[codex:391300] reasoning summaries: auto
[codex:391300] session id: 019b6b6b-dcf2-72c2-a5a4-f9fe2f990de6
[codex:391300] --------
[codex:391300] user
[codex:391300] You are a security auditor. You are given EVM runtime bytecode (and possibly a disassembly) for a contract with NO verified source.
[codex:391300] This is best-effort. Do not hallucinate: only flag issues when there's a concrete, explainable angle from bytecode/disasm patterns.
[codex:391300]
[codex:391300] You MUST read the full `BYTECODE_BUNDLE.txt` before concluding.
[codex:391300]
[codex:391300] Output MUST be valid JSON matching the provided schema.
[codex:391300] - If you cannot identify a concrete issue from bytecode/disasm alone: set no_findings=true and findings=[].
[codex:391300] - Otherwise: include findings with severity/category/title/evidence and point locations to BYTECODE_BUNDLE.txt line ranges when possible.
[codex:391300]
[codex:391300] Output constraints (IMPORTANT):
[codex:391300] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:391300] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:391300] mcp startup: no servers
[codex:391300]
[codex:391300] thinking
[codex:391300] **Preparing to read BYTECODE_BUNDLE.txt**
[codex:391300] exec
[codex:391300] /bin/bash -lc ls in /tmp/codex-multi-x8poivjf succeeded in 5ms:
[codex:391300] BYTECODE_BUNDLE.txt
[codex:391300] codex-output-schema.json
[codex:391300]
[codex:391300] thinking
[codex:391300] **Reading full file contents**
[codex:391300] exec
[codex:391300] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-x8poivjf succeeded in 5ms:
[codex:391300] Runtime bytecode bundle for best-effort auditing.
[codex:391300] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:391300]
[codex:391300] FILE: runtime_bytecode.hex
[codex:391300] 0x60806040526004361061020e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062dc41e61461021357806303a896a11461025057806304fdc5621461028d5780630525ed66146102ca5780630992b1191461030757806309cc1440146103445780631920427b146103815780632762dd8c146103bf57806329f88fb0146103fc57806331da4165146104275780633892a60a14610464578063416b46131461048f57806344ee8753146104cc578063459b90db146104f7578063488571521461053457806352ddbfc11461055f578063583b76761461059c5780635cb9a150146105c75780635e929e6a146106045780635f0280ba14610641578063715018a61461067e57806372bccdb914610695578063741bef1a146106c05780637ae2b5c7146106eb5780638da5cb5b14610728578063977a5e641461075357806399114d8414610790578063a2ce9247146107cd578063a354ca441461080a578063abf410e514610847578063b2016bd414610872578063b28193221461089d578063b54790d8146108da578063c04555c614610905578063c4fbcdf814610930578063c99125941461096d578063db2f90ae146109aa578063dbc162de146109d3578063ee733bb7146109fe578063f08499a114610a3b578063f178c58714610a66578063f2494eaf14610a91578063f2fde38b14610ace575b600080fd5b34801561021f57600080fd5b5061023a60048036036102359190810190613156565b610af7565b60405161024791906135f8565b60405180910390f35b34801561025c57600080fd5b5061027760048036036102729190810190613156565b610b13565b60405161028491906136da565b60405180910390f35b34801561029957600080fd5b506102b460048036036102af9190810190613156565b610b38565b6040516102c191906135f8565b60405180910390f35b3480156102d657600080fd5b506102f160048036036102ec9190810190613156565b610c05565b6040516102fe91906136da565b60405180910390f35b34801561031357600080fd5b5061032e600480360361032991908101906133a0565b610c1d565b60405161033b91906136da565b60405180910390f35b34801561035057600080fd5b5061036b60048036036103669190810190613156565b610c4f565b60405161037891906135f8565b60405180910390f35b34801561038d57600080fd5b506103a860048036036103a39190810190613156565b610c62565b6040516103b69291906136f5565b60405180910390f35b3480156103cb57600080fd5b506103e660048036036103e19190810190613156565b610ca6565b6040516103f391906136da565b60405180910390f35b34801561040857600080fd5b50610411610e3a565b60405161041e91906136bf565b60405180910390f35b34801561043357600080fd5b5061044e60048036036104499190810190613156565b610e67565b60405161045b91906135f8565b60405180910390f35b34801561047057600080fd5b50610479610e89565b60405161048691906136da565b60405180910390f35b34801561049b57600080fd5b506104b660048036036104b1919081019061334e565b610e91565b6040516104c391906135f8565b60405180910390f35b3480156104d857600080fd5b506104e1610efa565b6040516104ee91906136da565b60405180910390f35b34801561050357600080fd5b5061051e60048036036105199190810190613156565b610eff565b60405161052b91906136da565b60405180910390f35b34801561054057600080fd5b50610549610f21565b60405161055691906136da565b60405180910390f35b34801561056b57600080fd5b50610586600480360361058191908101906133a0565b610f26565b60405161059391906136da565b60405180910390f35b3480156105a857600080fd5b506105b1610f58565b6040516105be91906136da565b60405180910390f35b3480156105d357600080fd5b506105ee60048036036105e99190810190613312565b610f5e565b6040516105fb91906136da565b60405180910390f35b34801561061057600080fd5b5061062b60048036036106269190810190613156565b610fa3565b60405161063891906136da565b60405180910390f35b34801561064d57600080fd5b50610668600480360361066391908101906131e4565b610fb9565b60405161067591906135f8565b60405180910390f35b34801561068a57600080fd5b506106936111fe565b005b3480156106a157600080fd5b506106aa611300565b6040516106b791906136da565b60405180910390f35b3480156106cc57600080fd5b506106d5611305565b6040516106e29190613664565b60405180910390f35b3480156106f757600080fd5b50610712600480360361070d91908101906133a0565b61132b565b60405161071f91906136da565b60405180910390f35b34801561073457600080fd5b5061073d611344565b60405161074a9190613554565b60405180910390f35b34801561075f57600080fd5b5061077a600480360361077591908101906131a8565b611369565b60405161078791906135f8565b60405180910390f35b34801561079c57600080fd5b506107b760048036036107b2919081019061325b565b6114c3565b6040516107c491906136da565b60405180910390f35b3480156107d957600080fd5b506107f460048036036107ef9190810190613156565b61166f565b60405161080191906136da565b60405180910390f35b34801561081657600080fd5b50610831600480360361082c9190810190613156565b611691565b60405161083e91906136bf565b60405180910390f35b34801561085357600080fd5b5061085c61186b565b604051610869919061362e565b60405180910390f35b34801561087e57600080fd5b50610887611891565b6040516108949190613649565b60405180910390f35b3480156108a957600080fd5b506108c460048036036108bf9190810190613156565b6118b7565b6040516108d191906135f8565b60405180910390f35b3480156108e657600080fd5b506108ef6118d4565b6040516108fc91906136da565b60405180910390f35b34801561091157600080fd5b5061091a6118da565b60405161092791906136da565b60405180910390f35b34801561093c57600080fd5b5061095760048036036109529190810190613156565b6118e0565b60405161096491906136da565b60405180910390f35b34801561097957600080fd5b50610994600480360361098f9190810190613156565b611902565b6040516109a191906136da565b60405180910390f35b3480156109b657600080fd5b506109d160048036036109cc919081019061325b565b611acc565b005b3480156109df57600080fd5b506109e8611b5c565b6040516109f59190613649565b60405180910390f35b348015610a0a57600080fd5b50610a256004803603610a209190810190613156565b611b82565b604051610a3291906135f8565b60405180910390f35b348015610a4757600080fd5b50610a50611bf9565b604051610a5d91906136da565b60405180910390f35b348015610a7257600080fd5b50610a7b611c01565b604051610a8891906136da565b60405180910390f35b348015610a9d57600080fd5b50610ab86004803603610ab39190810190613156565b611c21565b604051610ac591906136da565b60405180910390f35b348015610ada57600080fd5b50610af56004803603610af091908101906130db565b611c66565b005b6000610b0282611902565b610b0b83610fa3565b109050919050565b6000600960008360001916600019168152602001908152602001600020549050919050565b6000610b42612f62565b610b4b83611ccd565b9050610b578382611eca565b1515610b665760009150610bff565b610b7a833383600001518460200151611f62565b1515610b8557600080fd5b610b938382602001516120c1565b1515610b9e57600080fd5b610ba7836122fe565b1515610bb257600080fd5b82600019167f6c55695f76744f2886f83cccde28ea951d8a6f689fe34413db04416110af850f826000015183602001518460400151604051610bf69392919061371e565b60405180910390a25b50919050565b60096020528060005260406000206000915090505481565b6000610c4762015180610c3985856123bd90919063ffffffff16565b6123d690919063ffffffff16565b905092915050565b6000610c5a82611b82565b159050919050565b60076020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000610cb0612f84565b6000610cbb846123ec565b9150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610d4357600080fd5b505af1158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d7b91908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663d69dbf63856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610dcf9190613613565b602060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e219190810190613377565b9050610e31818360000151610f26565b92505050919050565b610e42612fad565b6040805190810160405280610e55611c01565b81526020016004600a0a815250905090565b6000610e7282610af7565b80610e825750610e81826118b7565b5b9050919050565b6004600a0a81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eee57600080fd5b81600881905550919050565b601281565b6000610f09612f62565b610f1283611ccd565b90508060000151915050919050565b600281565b6000610f50610f41620151808461256d90919063ffffffff16565b846125a590919063ffffffff16565b905092915050565b60035481565b6000610f9b610f78600554846125c190919063ffffffff16565b610f8d600554866125c190919063ffffffff16565b6123bd90919063ffffffff16565b905092915050565b6000610fae826123ec565b602001519050919050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa9d0566040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561104257600080fd5b505af1158015611056573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061107a91908101906132e9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e09061367f565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561114957600091506111f4565b61117784600960008a60001916600019168152602001908152602001600020546125a590919063ffffffff16565b600960008960001916600019168152602001908152602001600020819055506111a8876111a389610ca6565b6114c3565b90508060096000896000191660001916815260200190815260200160002054101580156111da57506111d987611b82565b5b156111ef576111e8876122fe565b91506111f4565b600191505b5095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561125957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081831061133a578161133c565b825b905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611373612f84565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114319190810190613297565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114979061369f565b60405180910390fd5b6114a9846123ec565b90506114ba84826060015185612609565b91505092915050565b60006114cd612f84565b60006114d8856123ec565b9150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061159891908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663d69dbf63866040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016115ec9190613613565b602060405180830381600087803b15801561160657600080fd5b505af115801561161a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163e9190810190613377565b9050816000015161164f8286610c1d565b1015156116625781604001519250611667565b600092505b505092915050565b6000611679612f62565b61168283611ccd565b90508060200151915050919050565b611699612fad565b60008060006116a6612fad565b60006116b0612fad565b6116b8612fad565b6116c0612fad565b6116c8612fad565b60006116d2612fad565b600354600a0a9a50600554600a0a9950600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561176857600080fd5b505af115801561177c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117a0919081019061317f565b60019004985060408051908101604052808a81526020016012600a0a81525097506117ca8d611c21565b965060408051908101604052808881526020018c81525095506117f6888761279a90919063ffffffff16565b9450611800610e3a565b935061181584866127e890919063ffffffff16565b9250600760008e6000191660001916815260200190815260200160002060000154915060408051908101604052808381526020018b81525090506118598184612836565b9b505050505050505050505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006118c282610b13565b6118cc83426114c3565b119050919050565b60055481565b60085481565b60006118ea612f62565b6118f383611ccd565b90508060400151915050919050565b600080600080611910612fad565b600061191a612fad565b611922612fad565b600061192c612fad565b611934612fad565b600354600a0a9950600554600a0a9850600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156119ca57600080fd5b505af11580156119de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a02919081019061317f565b60019004975060408051908101604052808981526020016012600a0a8152509650611a2c8c611c21565b955060408051908101604052808781526020018b8152509450611a58878661279a90919063ffffffff16565b9350600760008d6000191660001916815260200190815260200160002060000154925060408051908101604052808481526020018a8152509150611aa582856127e890919063ffffffff16565b9050611abb6002826125c190919063ffffffff16565b9a5050505050505050505050919050565b600080339150309050611b02600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168385612897565b50611b3483600760008760001916600019168152602001908152602001600020600001546125a590919063ffffffff16565b6007600086600019166000191681526020019081526020016000206000018190555050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff1660076000846000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6012600a0a81565b6000611c1c6008546004600a0a6123bd90919063ffffffff16565b905090565b600080600080611c3085610ca6565b9250611c3c85846114c3565b9150611c4785610b13565b9050611c5c81836123bd90919063ffffffff16565b9350505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cc157600080fd5b611cca81612952565b50565b611cd5612f62565b6000806000611ce2612fad565b6000611cec612fad565b611cf4612fad565b611cfc612fad565b611d04612fad565b6000600354600a0a9950600554600a0a9850600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d9c57600080fd5b505af1158015611db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd4919081019061317f565b60019004975060408051908101604052808981526020016012600a0a8152509650600760008d6000191660001916815260200190815260200160002060000154955060408051908101604052808781526020018a8152509450611e368c611691565b9350611e40610e3a565b9250611e6787611e59858761279a90919063ffffffff16565b6127e890919063ffffffff16565b9150611e738585610f5e565b9050606060405190810160405280611e96600554876125c190919063ffffffff16565b8152602001611eb0600354856125c190919063ffffffff16565b8152602001828152509a5050505050505050505050919050565b6000611edf611ed884611b82565b6004612a4c565b15611eed5760009050611f5c565b611f00611ef984610e67565b6002612a4c565b15611f0e5760009050611f5c565b611f49611f42600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16338560200151612aa4565b6000612a4c565b15611f575760009050611f5c565b600190505b92915050565b6000611f9583600760008860001916600019168152602001908152602001600020600001546123bd90919063ffffffff16565b60076000876000191660001916815260200190815260200160002060000181905550611fe4600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168584612897565b80156120b75750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016120649291906135cf565b602060405180830381600087803b15801561207e57600080fd5b505af1158015612092573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120b6919081019061312d565b5b9050949350505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561214a57600080fd5b505af115801561215e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061218291908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663ba20dda4856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016121d69190613613565b602060405180830381600087803b1580156121f057600080fd5b505af1158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122289190810190613104565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016122a39291906135cf565b602060405180830381600087803b1580156122bd57600080fd5b505af11580156122d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122f5919081019061312d565b91505092915050565b600061230982612c12565b156123b357604080519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152506007600084600019166000191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050600190506123b8565b600090505b919050565b60008282111515156123cb57fe5b818303905092915050565b600081838115156123e357fe5b04905092915050565b6123f4612f84565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561247c57600080fd5b505af1158015612490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124b491908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663314a522e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016125089190613613565b602060405180830381600087803b15801561252257600080fd5b505af1158015612536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061255a919081019061317f565b905061256581612d71565b915050919050565b600080831415612580576000905061259f565b818302905081838281151561259157fe5b0414151561259b57fe5b8090505b92915050565b600081830190508281101515156125b857fe5b80905092915050565b6000806125cd84612e5a565b82600a0a905061260084602001516125f286600001518461256d90919063ffffffff16565b6123d690919063ffffffff16565b91505092915050565b60008061261f61261886610c4f565b6003612a4c565b1561262d5760009150612792565b61266461265d600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168587612aa4565b6001612a4c565b156126725760009150612792565b30905060408051908101604052808581526020018473ffffffffffffffffffffffffffffffffffffffff168152506007600087600019166000191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050508273ffffffffffffffffffffffffffffffffffffffff1685600019167f195d2e7855185ac08fef1e42ab0ccf60a6c8f79ba0af23b37c220eadf42ae9ea8660405161275a91906136da565b60405180910390a361278f600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168486612897565b91505b509392505050565b6127a2612fad565b6127e06127c08360000151856000015161256d90919063ffffffff16565b6127db8460200151866020015161256d90919063ffffffff16565b612e6e565b905092915050565b6127f0612fad565b61282e61280e8360200151856000015161256d90919063ffffffff16565b6128298460000151866020015161256d90919063ffffffff16565b612e6e565b905092915050565b61283e612fad565b60008061285c8460200151866000015161256d90919063ffffffff16565b91506128798560200151856000015161256d90919063ffffffff16565b90508082101561288b5784925061288f565b8392505b505092915050565b6000803090508473ffffffffffffffffffffffffffffffffffffffff166323b872dd8583866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016128f693929190613598565b602060405180830381600087803b15801561291057600080fd5b505af1158015612924573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612948919081019061312d565b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561298e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000821515612a9957816004811115612a6157fe5b60ff167ff64a83c5d4d949675caf48520cc73c95b7d9a17ce71f39ba7695af5917d86eba60405160405180910390a260019050612a9e565b600090505b92915050565b600080309050828573ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401612b009190613554565b602060405180830381600087803b158015612b1a57600080fd5b505af1158015612b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b529190810190613377565b10158015612c085750828573ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e86846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401612bb392919061356f565b602060405180830381600087803b158015612bcd57600080fd5b505af1158015612be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c059190810190613377565b10155b9150509392505050565b600080600060076000856000191660001916815260200190815260200160002060000154915060076000856000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600060076000866000191660001916815260200190815260200160002060000181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401612d169291906135cf565b602060405180830381600087803b158015612d3057600080fd5b505af1158015612d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d68919081019061312d565b92505050919050565b612d79612f84565b6000806000807fff00000000000000000000000000000000000000000000000000000000000000600102861693507eff000000000000000000000000000000000000000000000000000000000000600102861692507dffffffffffffffffffffffffffffff000000000000000000000000000000600102861691506effffffffffffffffffffffffffffff60010286169050608060405190810160405280612e228660f8612f45565b8152602001612e328560f0612f45565b8152602001612e42846078612f45565b81526020018260019004815250945050505050919050565b6000816020015114151515612e6b57fe5b50565b612e76612fad565b600080838511612e865783612e88565b845b9150610100829060020a90049050600081141515612ec3576001810190508085811515612eb157fe5b0494508084811515612ebf57fe5b0493505b60008414151515612ed057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101515612efb57fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85101515612f2657fe5b6040805190810160405280868152602001858152509250505092915050565b60008160020a8360019004811515612f5957fe5b04905092915050565b6060604051908101604052806000815260200160008152602001600081525090565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b604080519081016040528060008152602001600081525090565b6000612fd382356137c2565b905092915050565b6000612fe782516137c2565b905092915050565b6000612ffb82516137e2565b905092915050565b600061300f82356137ee565b905092915050565b600061302382516137ee565b905092915050565b600061303782516137f8565b905092915050565b600061304b825161380a565b905092915050565b600061305f825161381c565b905092915050565b60006040828403121561307957600080fd5b6130836040613755565b90506000613093848285016130b3565b60008301525060206130a7848285016130b3565b60208301525092915050565b60006130bf823561382e565b905092915050565b60006130d3825161382e565b905092915050565b6000602082840312156130ed57600080fd5b60006130fb84828501612fc7565b91505092915050565b60006020828403121561311657600080fd5b600061312484828501612fdb565b91505092915050565b60006020828403121561313f57600080fd5b600061314d84828501612fef565b91505092915050565b60006020828403121561316857600080fd5b600061317684828501613003565b91505092915050565b60006020828403121561319157600080fd5b600061319f84828501613017565b91505092915050565b600080604083850312156131bb57600080fd5b60006131c985828601613003565b92505060206131da85828601612fc7565b9150509250929050565b600080600080600060a086880312156131fc57600080fd5b600061320a88828901613003565b955050602061321b88828901612fc7565b945050604061322c88828901612fc7565b935050606061323d888289016130b3565b925050608061324e88828901612fc7565b9150509295509295909350565b6000806040838503121561326e57600080fd5b600061327c85828601613003565b925050602061328d858286016130b3565b9150509250929050565b6000602082840312156132a957600080fd5b60006132b78482850161302b565b91505092915050565b6000602082840312156132d257600080fd5b60006132e08482850161303f565b91505092915050565b6000602082840312156132fb57600080fd5b600061330984828501613053565b91505092915050565b6000806080838503121561332557600080fd5b600061333385828601613067565b925050604061334485828601613067565b9150509250929050565b60006020828403121561336057600080fd5b600061336e848285016130b3565b91505092915050565b60006020828403121561338957600080fd5b6000613397848285016130c7565b91505092915050565b600080604083850312156133b357600080fd5b60006133c1858286016130b3565b92505060206133d2858286016130b3565b9150509250929050565b6133e581613782565b82525050565b6133f4816137a2565b82525050565b613403816137ae565b82525050565b61341281613838565b82525050565b6134218161384a565b82525050565b6134308161385c565b82525050565b6000605182527f6d6f6469666965723a2053656e646572206e6f742052657061796d656e74526f60208301527f75746572202d206f6e6c792052657061796d656e74526f757465722063616e2060408301527f63616c6c2074686973206d6574686f642e0000000000000000000000000000006060830152608082019050919050565b6000603682527f4f6e6c7920446562744b65726e656c2063616e2063616c6c207468652072656760208301527f69737465725465726d5374617274206d6574686f642e000000000000000000006040830152606082019050919050565b60408201600082015161352c6000850182613545565b50602082015161353f6020850182613545565b50505050565b61354e816137b8565b82525050565b600060208201905061356960008301846133dc565b92915050565b600060408201905061358460008301856133dc565b61359160208301846133dc565b9392505050565b60006060820190506135ad60008301866133dc565b6135ba60208301856133dc565b6135c76040830184613545565b949350505050565b60006040820190506135e460008301856133dc565b6135f16020830184613545565b9392505050565b600060208201905061360d60008301846133eb565b92915050565b600060208201905061362860008301846133fa565b92915050565b60006020820190506136436000830184613409565b92915050565b600060208201905061365e6000830184613418565b92915050565b60006020820190506136796000830184613427565b92915050565b6000602082019050818103600083015261369881613436565b9050919050565b600060208201905081810360008301526136b8816134b9565b9050919050565b60006040820190506136d46000830184613516565b92915050565b60006020820190506136ef6000830184613545565b92915050565b600060408201905061370a6000830185613545565b61371760208301846133dc565b9392505050565b60006060820190506137336000830186613545565b6137406020830185613545565b61374d6040830184613545565b949350505050565b6000604051905081810181811067ffffffffffffffff8211171561377857600080fd5b8060405250919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600061380382613782565b9050919050565b600061381582613782565b9050919050565b600061382782613782565b9050919050565b6000819050919050565b600061384382613782565b9050919050565b600061385582613782565b9050919050565b600061386782613782565b90509190505600a265627a7a7230582072dd70e9d86581aa043eb44ef1e719323667b1c3a0d03dbc17d53134d2c29e746c6578706572696d656e74616cf50037
[codex:391300]
[codex:391300] thinking
[codex:391300] **Viewing JSON schema file**
[codex:391300] exec
[codex:391300] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-x8poivjf succeeded in 5ms:
[codex:391300] {"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:391300]
[codex:391300] thinking
[codex:391300] **Preparing to analyze bytecode patterns**
[codex:391300] exec
[codex:391300] /bin/bash -lc 'nl -ba BYTECODE_BUNDLE.txt' in /tmp/codex-multi-x8poivjf succeeded in 5ms:
[codex:391300] 1 Runtime bytecode bundle for best-effort auditing.
[codex:391300] 2 Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:391300] 3
[codex:391300] 4 FILE: runtime_bytecode.hex
[codex:391300] 5 0x60806040526004361061020e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062dc41e61461021357806303a896a11461025057806304fdc5621461028d5780630525ed66146102ca5780630992b1191461030757806309cc1440146103445780631920427b146103815780632762dd8c146103bf57806329f88fb0146103fc57806331da4165146104275780633892a60a14610464578063416b46131461048f57806344ee8753146104cc578063459b90db146104f7578063488571521461053457806352ddbfc11461055f578063583b76761461059c5780635cb9a150146105c75780635e929e6a146106045780635f0280ba14610641578063715018a61461067e57806372bccdb914610695578063741bef1a146106c05780637ae2b5c7146106eb5780638da5cb5b14610728578063977a5e641461075357806399114d8414610790578063a2ce9247146107cd578063a354ca441461080a578063abf410e514610847578063b2016bd414610872578063b28193221461089d578063b54790d8146108da578063c04555c614610905578063c4fbcdf814610930578063c99125941461096d578063db2f90ae146109aa578063dbc162de146109d3578063ee733bb7146109fe578063f08499a114610a3b578063f178c58714610a66578063f2494eaf14610a91578063f2fde38b14610ace575b600080fd5b34801561021f57600080fd5b5061023a60048036036102359190810190613156565b610af7565b60405161024791906135f8565b60405180910390f35b34801561025c57600080fd5b5061027760048036036102729190810190613156565b610b13565b60405161028491906136da565b60405180910390f35b34801561029957600080fd5b506102b460048036036102af9190810190613156565b610b38565b6040516102c191906135f8565b60405180910390f35b3480156102d657600080fd5b506102f160048036036102ec9190810190613156565b610c05565b6040516102fe91906136da565b60405180910390f35b34801561031357600080fd5b5061032e600480360361032991908101906133a0565b610c1d565b60405161033b91906136da565b60405180910390f35b34801561035057600080fd5b5061036b60048036036103669190810190613156565b610c4f565b60405161037891906135f8565b60405180910390f35b34801561038d57600080fd5b506103a860048036036103a39190810190613156565b610c62565b6040516103b69291906136f5565b60405180910390f35b3480156103cb57600080fd5b506103e660048036036103e19190810190613156565b610ca6565b6040516103f391906136da565b60405180910390f35b34801561040857600080fd5b50610411610e3a565b60405161041e91906136bf565b60405180910390f35b34801561043357600080fd5b5061044e60048036036104499190810190613156565b610e67565b60405161045b91906135f8565b60405180910390f35b34801561047057600080fd5b50610479610e89565b60405161048691906136da565b60405180910390f35b34801561049b57600080fd5b506104b660048036036104b1919081019061334e565b610e91565b6040516104c391906135f8565b60405180910390f35b3480156104d857600080fd5b506104e1610efa565b6040516104ee91906136da565b60405180910390f35b34801561050357600080fd5b5061051e60048036036105199190810190613156565b610eff565b60405161052b91906136da565b60405180910390f35b34801561054057600080fd5b50610549610f21565b60405161055691906136da565b60405180910390f35b34801561056b57600080fd5b50610586600480360361058191908101906133a0565b610f26565b60405161059391906136da565b60405180910390f35b3480156105a857600080fd5b506105b1610f58565b6040516105be91906136da565b60405180910390f35b3480156105d357600080fd5b506105ee60048036036105e99190810190613312565b610f5e565b6040516105fb91906136da565b60405180910390f35b34801561061057600080fd5b5061062b60048036036106269190810190613156565b610fa3565b60405161063891906136da565b60405180910390f35b34801561064d57600080fd5b50610668600480360361066391908101906131e4565b610fb9565b60405161067591906135f8565b60405180910390f35b34801561068a57600080fd5b506106936111fe565b005b3480156106a157600080fd5b506106aa611300565b6040516106b791906136da565b60405180910390f35b3480156106cc57600080fd5b506106d5611305565b6040516106e29190613664565b60405180910390f35b3480156106f757600080fd5b50610712600480360361070d91908101906133a0565b61132b565b60405161071f91906136da565b60405180910390f35b34801561073457600080fd5b5061073d611344565b60405161074a9190613554565b60405180910390f35b34801561075f57600080fd5b5061077a600480360361077591908101906131a8565b611369565b60405161078791906135f8565b60405180910390f35b34801561079c57600080fd5b506107b760048036036107b2919081019061325b565b6114c3565b6040516107c491906136da565b60405180910390f35b3480156107d957600080fd5b506107f460048036036107ef9190810190613156565b61166f565b60405161080191906136da565b60405180910390f35b34801561081657600080fd5b50610831600480360361082c9190810190613156565b611691565b60405161083e91906136bf565b60405180910390f35b34801561085357600080fd5b5061085c61186b565b604051610869919061362e565b60405180910390f35b34801561087e57600080fd5b50610887611891565b6040516108949190613649565b60405180910390f35b3480156108a957600080fd5b506108c460048036036108bf9190810190613156565b6118b7565b6040516108d191906135f8565b60405180910390f35b3480156108e657600080fd5b506108ef6118d4565b6040516108fc91906136da565b60405180910390f35b34801561091157600080fd5b5061091a6118da565b60405161092791906136da565b60405180910390f35b34801561093c57600080fd5b5061095760048036036109529190810190613156565b6118e0565b60405161096491906136da565b60405180910390f35b34801561097957600080fd5b50610994600480360361098f9190810190613156565b611902565b6040516109a191906136da565b60405180910390f35b3480156109b657600080fd5b506109d160048036036109cc919081019061325b565b611acc565b005b3480156109df57600080fd5b506109e8611b5c565b6040516109f59190613649565b60405180910390f35b348015610a0a57600080fd5b50610a256004803603610a209190810190613156565b611b82565b604051610a3291906135f8565b60405180910390f35b348015610a4757600080fd5b50610a50611bf9565b604051610a5d91906136da565b60405180910390f35b348015610a7257600080fd5b50610a7b611c01565b604051610a8891906136da565b60405180910390f35b348015610a9d57600080fd5b50610ab86004803603610ab39190810190613156565b611c21565b604051610ac591906136da565b60405180910390f35b348015610ada57600080fd5b50610af56004803603610af091908101906130db565b611c66565b005b6000610b0282611902565b610b0b83610fa3565b109050919050565b6000600960008360001916600019168152602001908152602001600020549050919050565b6000610b42612f62565b610b4b83611ccd565b9050610b578382611eca565b1515610b665760009150610bff565b610b7a833383600001518460200151611f62565b1515610b8557600080fd5b610b938382602001516120c1565b1515610b9e57600080fd5b610ba7836122fe565b1515610bb257600080fd5b82600019167f6c55695f76744f2886f83cccde28ea951d8a6f689fe34413db04416110af850f826000015183602001518460400151604051610bf69392919061371e565b60405180910390a25b50919050565b60096020528060005260406000206000915090505481565b6000610c4762015180610c3985856123bd90919063ffffffff16565b6123d690919063ffffffff16565b905092915050565b6000610c5a82611b82565b159050919050565b60076020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000610cb0612f84565b6000610cbb846123ec565b9150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610d4357600080fd5b505af1158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d7b91908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663d69dbf63856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610dcf9190613613565b602060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e219190810190613377565b9050610e31818360000151610f26565b92505050919050565b610e42612fad565b6040805190810160405280610e55611c01565b81526020016004600a0a815250905090565b6000610e7282610af7565b80610e825750610e81826118b7565b5b9050919050565b6004600a0a81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eee57600080fd5b81600881905550919050565b601281565b6000610f09612f62565b610f1283611ccd565b90508060000151915050919050565b600281565b6000610f50610f41620151808461256d90919063ffffffff16565b846125a590919063ffffffff16565b905092915050565b60035481565b6000610f9b610f78600554846125c190919063ffffffff16565b610f8d600554866125c190919063ffffffff16565b6123bd90919063ffffffff16565b905092915050565b6000610fae826123ec565b602001519050919050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fa9d0566040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561104257600080fd5b505af1158015611056573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061107a91908101906132e9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e09061367f565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561114957600091506111f4565b61117784600960008a60001916600019168152602001908152602001600020546125a590919063ffffffff16565b600960008960001916600019168152602001908152602001600020819055506111a8876111a389610ca6565b6114c3565b90508060096000896000191660001916815260200190815260200160002054101580156111da57506111d987611b82565b5b156111ef576111e8876122fe565b91506111f4565b600191505b5095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561125957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081831061133a578161133c565b825b905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611373612f84565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114319190810190613297565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114979061369f565b60405180910390fd5b6114a9846123ec565b90506114ba84826060015185612609565b91505092915050565b60006114cd612f84565b60006114d8856123ec565b9150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061159891908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663d69dbf63866040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016115ec9190613613565b602060405180830381600087803b15801561160657600080fd5b505af115801561161a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163e9190810190613377565b9050816000015161164f8286610c1d565b1015156116625781604001519250611667565b600092505b505092915050565b6000611679612f62565b61168283611ccd565b90508060200151915050919050565b611699612fad565b60008060006116a6612fad565b60006116b0612fad565b6116b8612fad565b6116c0612fad565b6116c8612fad565b60006116d2612fad565b600354600a0a9a50600554600a0a9950600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561176857600080fd5b505af115801561177c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117a0919081019061317f565b60019004985060408051908101604052808a81526020016012600a0a81525097506117ca8d611c21565b965060408051908101604052808881526020018c81525095506117f6888761279a90919063ffffffff16565b9450611800610e3a565b935061181584866127e890919063ffffffff16565b9250600760008e6000191660001916815260200190815260200160002060000154915060408051908101604052808381526020018b81525090506118598184612836565b9b505050505050505050505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006118c282610b13565b6118cc83426114c3565b119050919050565b60055481565b60085481565b60006118ea612f62565b6118f383611ccd565b90508060400151915050919050565b600080600080611910612fad565b600061191a612fad565b611922612fad565b600061192c612fad565b611934612fad565b600354600a0a9950600554600a0a9850600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156119ca57600080fd5b505af11580156119de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a02919081019061317f565b60019004975060408051908101604052808981526020016012600a0a8152509650611a2c8c611c21565b955060408051908101604052808781526020018b8152509450611a58878661279a90919063ffffffff16565b9350600760008d6000191660001916815260200190815260200160002060000154925060408051908101604052808481526020018a8152509150611aa582856127e890919063ffffffff16565b9050611abb6002826125c190919063ffffffff16565b9a5050505050505050505050919050565b600080339150309050611b02600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168385612897565b50611b3483600760008760001916600019168152602001908152602001600020600001546125a590919063ffffffff16565b6007600086600019166000191681526020019081526020016000206000018190555050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff1660076000846000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6012600a0a81565b6000611c1c6008546004600a0a6123bd90919063ffffffff16565b905090565b600080600080611c3085610ca6565b9250611c3c85846114c3565b9150611c4785610b13565b9050611c5c81836123bd90919063ffffffff16565b9350505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cc157600080fd5b611cca81612952565b50565b611cd5612f62565b6000806000611ce2612fad565b6000611cec612fad565b611cf4612fad565b611cfc612fad565b611d04612fad565b6000600354600a0a9950600554600a0a9850600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d9c57600080fd5b505af1158015611db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd4919081019061317f565b60019004975060408051908101604052808981526020016012600a0a8152509650600760008d6000191660001916815260200190815260200160002060000154955060408051908101604052808781526020018a8152509450611e368c611691565b9350611e40610e3a565b9250611e6787611e59858761279a90919063ffffffff16565b6127e890919063ffffffff16565b9150611e738585610f5e565b9050606060405190810160405280611e96600554876125c190919063ffffffff16565b8152602001611eb0600354856125c190919063ffffffff16565b8152602001828152509a5050505050505050505050919050565b6000611edf611ed884611b82565b6004612a4c565b15611eed5760009050611f5c565b611f00611ef984610e67565b6002612a4c565b15611f0e5760009050611f5c565b611f49611f42600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16338560200151612aa4565b6000612a4c565b15611f575760009050611f5c565b600190505b92915050565b6000611f9583600760008860001916600019168152602001908152602001600020600001546123bd90919063ffffffff16565b60076000876000191660001916815260200190815260200160002060000181905550611fe4600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168584612897565b80156120b75750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016120649291906135cf565b602060405180830381600087803b15801561207e57600080fd5b505af1158015612092573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120b6919081019061312d565b5b9050949350505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561214a57600080fd5b505af115801561215e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061218291908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663ba20dda4856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016121d69190613613565b602060405180830381600087803b1580156121f057600080fd5b505af1158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122289190810190613104565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016122a39291906135cf565b602060405180830381600087803b1580156122bd57600080fd5b505af11580156122d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122f5919081019061312d565b91505092915050565b600061230982612c12565b156123b357604080519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152506007600084600019166000191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050600190506123b8565b600090505b919050565b60008282111515156123cb57fe5b818303905092915050565b600081838115156123e357fe5b04905092915050565b6123f4612f84565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f866f736040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561247c57600080fd5b505af1158015612490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124b491908101906132c0565b73ffffffffffffffffffffffffffffffffffffffff1663314a522e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016125089190613613565b602060405180830381600087803b15801561252257600080fd5b505af1158015612536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061255a919081019061317f565b905061256581612d71565b915050919050565b600080831415612580576000905061259f565b818302905081838281151561259157fe5b0414151561259b57fe5b8090505b92915050565b600081830190508281101515156125b857fe5b80905092915050565b6000806125cd84612e5a565b82600a0a905061260084602001516125f286600001518461256d90919063ffffffff16565b6123d690919063ffffffff16565b91505092915050565b60008061261f61261886610c4f565b6003612a4c565b1561262d5760009150612792565b61266461265d600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168587612aa4565b6001612a4c565b156126725760009150612792565b30905060408051908101604052808581526020018473ffffffffffffffffffffffffffffffffffffffff168152506007600087600019166000191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050508273ffffffffffffffffffffffffffffffffffffffff1685600019167f195d2e7855185ac08fef1e42ab0ccf60a6c8f79ba0af23b37c220eadf42ae9ea8660405161275a91906136da565b60405180910390a361278f600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168486612897565b91505b509392505050565b6127a2612fad565b6127e06127c08360000151856000015161256d90919063ffffffff16565b6127db8460200151866020015161256d90919063ffffffff16565b612e6e565b905092915050565b6127f0612fad565b61282e61280e8360200151856000015161256d90919063ffffffff16565b6128298460000151866020015161256d90919063ffffffff16565b612e6e565b905092915050565b61283e612fad565b60008061285c8460200151866000015161256d90919063ffffffff16565b91506128798560200151856000015161256d90919063ffffffff16565b90508082101561288b5784925061288f565b8392505b505092915050565b6000803090508473ffffffffffffffffffffffffffffffffffffffff166323b872dd8583866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016128f693929190613598565b602060405180830381600087803b15801561291057600080fd5b505af1158015612924573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612948919081019061312d565b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561298e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000821515612a9957816004811115612a6157fe5b60ff167ff64a83c5d4d949675caf48520cc73c95b7d9a17ce71f39ba7695af5917d86eba60405160405180910390a260019050612a9e565b600090505b92915050565b600080309050828573ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401612b009190613554565b602060405180830381600087803b158015612b1a57600080fd5b505af1158015612b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b529190810190613377565b10158015612c085750828573ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e86846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401612bb392919061356f565b602060405180830381600087803b158015612bcd57600080fd5b505af1158015612be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c059190810190613377565b10155b9150509392505050565b600080600060076000856000191660001916815260200190815260200160002060000154915060076000856000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600060076000866000191660001916815260200190815260200160002060000181905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401612d169291906135cf565b602060405180830381600087803b158015612d3057600080fd5b505af1158015612d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d68919081019061312d565b92505050919050565b612d79612f84565b6000806000807fff00000000000000000000000000000000000000000000000000000000000000600102861693507eff000000000000000000000000000000000000000000000000000000000000600102861692507dffffffffffffffffffffffffffffff000000000000000000000000000000600102861691506effffffffffffffffffffffffffffff60010286169050608060405190810160405280612e228660f8612f45565b8152602001612e328560f0612f45565b8152602001612e42846078612f45565b81526020018260019004815250945050505050919050565b6000816020015114151515612e6b57fe5b50565b612e76612fad565b600080838511612e865783612e88565b845b9150610100829060020a90049050600081141515612ec3576001810190508085811515612eb157fe5b0494508084811515612ebf57fe5b0493505b60008414151515612ed057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101515612efb57fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85101515612f2657fe5b6040805190810160405280868152602001858152509250505092915050565b60008160020a8360019004811515612f5957fe5b04905092915050565b6060604051908101604052806000815260200160008152602001600081525090565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b604080519081016040528060008152602001600081525090565b6000612fd382356137c2565b905092915050565b6000612fe782516137c2565b905092915050565b6000612ffb82516137e2565b905092915050565b600061300f82356137ee565b905092915050565b600061302382516137ee565b905092915050565b600061303782516137f8565b905092915050565b600061304b825161380a565b905092915050565b600061305f825161381c565b905092915050565b60006040828403121561307957600080fd5b6130836040613755565b90506000613093848285016130b3565b60008301525060206130a7848285016130b3565b60208301525092915050565b60006130bf823561382e565b905092915050565b60006130d3825161382e565b905092915050565b6000602082840312156130ed57600080fd5b60006130fb84828501612fc7565b91505092915050565b60006020828403121561311657600080fd5b600061312484828501612fdb565b91505092915050565b60006020828403121561313f57600080fd5b600061314d84828501612fef565b91505092915050565b60006020828403121561316857600080fd5b600061317684828501613003565b91505092915050565b60006020828403121561319157600080fd5b600061319f84828501613017565b91505092915050565b600080604083850312156131bb57600080fd5b60006131c985828601613003565b92505060206131da85828601612fc7565b9150509250929050565b600080600080600060a086880312156131fc57600080fd5b600061320a88828901613003565b955050602061321b88828901612fc7565b945050604061322c88828901612fc7565b935050606061323d888289016130b3565b925050608061324e88828901612fc7565b9150509295509295909350565b6000806040838503121561326e57600080fd5b600061327c85828601613003565b925050602061328d858286016130b3565b9150509250929050565b6000602082840312156132a957600080fd5b60006132b78482850161302b565b91505092915050565b6000602082840312156132d257600080fd5b60006132e08482850161303f565b91505092915050565b6000602082840312156132fb57600080fd5b600061330984828501613053565b91505092915050565b6000806080838503121561332557600080fd5b600061333385828601613067565b925050604061334485828601613067565b9150509250929050565b60006020828403121561336057600080fd5b600061336e848285016130b3565b91505092915050565b60006020828403121561338957600080fd5b6000613397848285016130c7565b91505092915050565b600080604083850312156133b357600080fd5b60006133c1858286016130b3565b92505060206133d2858286016130b3565b9150509250929050565b6133e581613782565b82525050565b6133f4816137a2565b82525050565b613403816137ae565b82525050565b61341281613838565b82525050565b6134218161384a565b82525050565b6134308161385c565b82525050565b6000605182527f6d6f6469666965723a2053656e646572206e6f742052657061796d656e74526f60208301527f75746572202d206f6e6c792052657061796d656e74526f757465722063616e2060408301527f63616c6c2074686973206d6574686f642e0000000000000000000000000000006060830152608082019050919050565b6000603682527f4f6e6c7920446562744b65726e656c2063616e2063616c6c207468652072656760208301527f69737465725465726d5374617274206d6574686f642e000000000000000000006040830152606082019050919050565b60408201600082015161352c6000850182613545565b50602082015161353f6020850182613545565b50505050565b61354e816137b8565b82525050565b600060208201905061356960008301846133dc565b92915050565b600060408201905061358460008301856133dc565b61359160208301846133dc565b9392505050565b60006060820190506135ad60008301866133dc565b6135ba60208301856133dc565b6135c76040830184613545565b949350505050565b60006040820190506135e460008301856133dc565b6135f16020830184613545565b9392505050565b600060208201905061360d60008301846133eb565b92915050565b600060208201905061362860008301846133fa565b92915050565b60006020820190506136436000830184613409565b92915050565b600060208201905061365e6000830184613418565b92915050565b60006020820190506136796000830184613427565b92915050565b6000602082019050818103600083015261369881613436565b9050919050565b600060208201905081810360008301526136b8816134b9565b9050919050565b60006040820190506136d46000830184613516565b92915050565b60006020820190506136ef6000830184613545565b92915050565b600060408201905061370a6000830185613545565b61371760208301846133dc565b9392505050565b60006060820190506137336000830186613545565b6137406020830185613545565b61374d6040830184613545565b949350505050565b6000604051905081810181811067ffffffffffffffff8211171561377857600080fd5b8060405250919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600061380382613782565b9050919050565b600061381582613782565b9050919050565b600061382782613782565b9050919050565b6000819050919050565b600061384382613782565b9050919050565b600061385582613782565b9050919050565b600061386782613782565b90509190505600a265627a7a7230582072dd70e9d86581aa043eb44ef1e719323667b1c3a0d03dbc17d53134d2c29e746c6578706572696d656e74616cf50037
[codex:391300]
[codex:391300] thinking
[codex:391300] **Analyzing Ethereum bytecode for vulnerabilities**
[codex:391300] exec
[codex:391300] /bin/bash -lc "python - <<'PY'
[codex:391300] import binascii
[codex:391300] hexstr=open('BYTECODE_BUNDLE.txt').read().split('\\n',4)[4].strip()
[codex:391300] if hexstr.startswith('0x'): hexstr=hexstr[2:]
[codex:391300] code=binascii.unhexlify(hexstr)
[codex:391300] # simple scan for delegatecall opcode 0xf4
[codex:391300] print('len',len(code))
[codex:391300] print('delegatecall count',code.count(bytes([0xf4])))
[codex:391300] print('call count',code.count(bytes([0xf1])))
[codex:391300] print('selfdestruct count',code.count(bytes([0xff])))
[codex:391300] print('delegatecall positions', [i for i,b in enumerate(code) if b==0xf4][:10])
[codex:391300] PY" in /tmp/codex-multi-x8poivjf succeeded in 32ms:
[codex:391300] len 14504
[codex:391300] delegatecall count 8
[codex:391300] call count 23
[codex:391300] selfdestruct count 1943
[codex:391300] delegatecall positions [375, 2013, 4423, 4589, 7407, 9199, 10057, 13294]
[codex:391300]
[codex:391300] thinking
[codex:391300] **Planning opcode disassembler implementation**
[codex:391300] exec
[codex:391300] /bin/bash -lc "python - <<'PY'
[codex:391300] import binascii
[codex:391300] hexstr=open('BYTECODE_BUNDLE.txt').read().split('\\n',4)[4].strip()
[codex:391300] if hexstr.startswith('0x'): hexstr=hexstr[2:]
[codex:391300] code=binascii.unhexlify(hexstr)
[codex:391300]
[codex:391300] def disasm(code):
[codex:391300] i=0
[codex:391300] ops=[]
[codex:391300] while i<len(code):
[codex:391300] op=code[i]
[codex:391300] ops.append((i,op))
[codex:391300] i+=1
[codex:391300] if 0x60<=op<=0x7f:
[codex:391300] n=op-0x5f
[codex:391300] i+=n
[codex:391300] return ops
[codex:391300]
[codex:391300] ops=disasm(code)
[codex:391300] # find delegatecall and selfdestruct opcodes in op stream
[codex:391300] opc_map={0xf4:'DELEGATECALL',0xff:'SELFDESTRUCT',0xf1:'CALL',0xf2:'CALLCODE',0xfa:'STATICCALL'}
[codex:391300] found={}
[codex:391300] for pos,op in ops:
[codex:391300] if op in opc_map:
[codex:391300] found.setdefault(op,[]).append(pos)
[codex:391300] print({opc_map[k]:len(v) for k,v in found.items()})
[codex:391300] print('delegatecall positions', found.get(0xf4,[])[:20])
[codex:391300] print('selfdestruct positions', found.get(0xff,[])[:5])
[codex:391300] PY" in /tmp/codex-multi-x8poivjf succeeded in 20ms:
[codex:391300] {'CALL': 19}
[codex:391300] delegatecall positions []
[codex:391300] selfdestruct positions []
[codex:391300]
[codex:391300] thinking
[codex:391300] **Analyzing bytecode for vulnerabilities**
[codex:391300]
[codex:391300] I'm checking the bytecode to confirm the absence of upgradeability or selfdestruct patterns and planning to analyze function sequences to spot potential reentrancy risks or unchecked external calls by reconstructing call and state-change patterns through disassembly. I'll use Python to identify CALL opcodes and examine surrounding instructions to understand how return values and state updates interact.
[codex:391300] exec
[codex:391300] /bin/bash -lc "python - <<'PY'
[codex:391300] import binascii
[codex:391300] hexstr=open('BYTECODE_BUNDLE.txt').read().split('\\n',4)[4].strip()
[codex:391300] if hexstr.startswith('0x'): hexstr=hexstr[2:]
[codex:391300] code=binascii.unhexlify(hexstr)
[codex:391300]
[codex:391300] 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:391300] 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:391300] 0x20:'SHA3',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:391300] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:391300] 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:391300] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:391300] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:391300] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:391300] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:391300] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:391300]
[codex:391300] # linear disassembly with push data
[codex:391300] ops=[]
[codex:391300] i=0
[codex:391300] while i<len(code):
[codex:391300] op=code[i]
[codex:391300] name=opnames.get(op, f'OP{op:02x}')
[codex:391300] data=None
[codex:391300] i+=1
[codex:391300] if 0x60<=op<=0x7f:
[codex:391300] n=op-0x5f
[codex:391300] data=code[i:i+n]
[codex:391300] i+=n
[codex:391300] ops.append((i, op, name, data)) # i is next index
[codex:391300]
[codex:391300] # find CALL positions and print small window of opcodes around each
[codex:391300] call_positions=[idx for idx,(pos,op,name,data) in enumerate(ops) if op==0xf1]
[codex:391300] print('CALL count',len(call_positions))
[codex:391300] for ci in call_positions[:10]:
[codex:391300] print('--- CALL at op index', ci)
[codex:391300] for j in range(max(0,ci-6), min(len(ops),ci+6)):
[codex:391300] pos,op,name,data=ops[j]
[codex:391300] if data is not None:
[codex:391300] print(f'{j:5d} {name} 0x{data.hex()}')
[codex:391300] else:
[codex:391300] print(f'{j:5d} {name}')
[codex:391300] PY" in /tmp/codex-multi-x8poivjf succeeded in 29ms:
[codex:391300] CALL count 19
[codex:391300] --- CALL at op index 2163
[codex:391300] 2157 PUSH1 0x00
[codex:391300] 2158 DUP1
[codex:391300] 2159 REVERT
[codex:391300] 2160 JUMPDEST
[codex:391300] 2161 POP
[codex:391300] 2162 GAS
[codex:391300] 2163 CALL
[codex:391300] 2164 ISZERO
[codex:391300] 2165 DUP1
[codex:391300] 2166 ISZERO
[codex:391300] 2167 PUSH2 0x0d57
[codex:391300] 2168 JUMPI
[codex:391300] --- CALL at op index 2248
[codex:391300] 2242 PUSH1 0x00
[codex:391300] 2243 DUP1
[codex:391300] 2244 REVERT
[codex:391300] 2245 JUMPDEST
[codex:391300] 2246 POP
[codex:391300]
[codex:391300] thinking
[codex:391300] **Checking ORIGIN opcode usage**
[codex:391300] exec
[codex:391300] /bin/bash -lc "python - <<'PY'
[codex:391300] import binascii
[codex:391300] hexstr=open('BYTECODE_BUNDLE.txt').read().split('\\n',4)[4].strip()
[codex:391300] if hexstr.startswith('0x'): hexstr=hexstr[2:]
[codex:391300] code=binascii.unhexlify(hexstr)
[codex:391300] # linear disasm to count ORIGIN
[codex:391300] ops=[]
[codex:391300] i=0
[codex:391300] while i<len(code):
[codex:391300] op=code[i]; i+=1
[codex:391300] if op==0x32:
[codex:391300] ops.append(i-1)
[codex:391300] if 0x60<=op<=0x7f:
[codex:391300] n=op-0x5f; i+=n
[codex:391300] print('ORIGIN count',len(ops), 'positions', ops[:10])
[codex:391300] PY" in /tmp/codex-multi-x8poivjf succeeded in 20ms:
[codex:391300] ORIGIN count 0 positions []
[codex:391300]
[codex:391300] thinking
[codex:391300] **Analyzing contract call and storage protections**
[codex:391300] exec
[codex:391300] /bin/bash -lc "python - <<'PY'
[codex:391300] import binascii
[codex:391300] hexstr=open('BYTECODE_BUNDLE.txt').read().split('\\n',4)[4].strip()
[codex:391300] if hexstr.startswith('0x'): hexstr=hexstr[2:]
[codex:391300] code=binascii.unhexlify(hexstr)
[codex:391300]
[codex:391300] opnames={
[codex:391300] 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:391300] 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:391300] 0x20:'SHA3',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:391300] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:391300] 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:391300] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:391300] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:391300] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:391300] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:391300] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:391300]
[codex:391300] # linear disassembly
[codex:391300] ops=[]
[codex:391300] i=0
[codex:391300] while i<len(code):
[codex:391300] op=code[i]; start=i; i+=1
[codex:391300] data=None
[codex:391300] if 0x60<=op<=0x7f:
[codex:391300] n=op-0x5f
[codex:391300] data=code[i:i+n]; i+=n
[codex:391300] ops.append((start,op,opnames.get(op,f'OP{op:02x}'),data))
[codex:391300]
[codex:391300] # find PUSH4 a9059cbb
[codex:391300] indices=[idx for idx,(pos,op,name,data) in enumerate(ops) if op==0x63 and data==b'\\xa9\\x05\\x9c\\xbb']
[codex:391300] print('PUSH4 a9059cbb count',len(indices))
[codex:391300] for idx in indices:
[codex:391300] # find next CALL within 40 ops
[codex:391300] call_idx=None
[codex:391300] for j in range(idx, min(len(ops), idx+80)):
[codex:391300] if ops[j][1]==0xf1:
[codex:391300] call_idx=j
[codex:391300] break
[codex:391300] print('--- occurrence at op index',idx,'pos',ops[idx][0],'next CALL',call_idx)
[codex:391300] if call_idx:
[codex:391300] # print around call
[codex:391300] for j in range(call_idx-5, call_idx+12):
[codex:391300] if j<0 or j>=len(ops):
[codex:391300] continue
[codex:391300] pos,op,name,data=ops[j]
[codex:391300] if data is not None:
[codex:391300] print(f'{j:5d} {pos:04x} {name} 0x{data.hex()}')
[codex:391300] else:
[codex:391300] print(f'{j:5d} {pos:04x} {name}')
[codex:391300] PY" in /tmp/codex-multi-x8poivjf succeeded in 30ms:
[codex:391300] PUSH4 a9059cbb count 3
[codex:391300] --- occurrence at op index 4727 pos 8229 next CALL 4770
[codex:391300] 4765 207c DUP1
[codex:391300] 4766 207d REVERT
[codex:391300] 4767 207e JUMPDEST
[codex:391300] 4768 207f POP
[codex:391300] 4769 2080 GAS
[codex:391300] 4770 2081 CALL
[codex:391300] 4771 2082 ISZERO
[codex:391300] 4772 2083 DUP1
[codex:391300] 4773 2084 ISZERO
[codex:391300] 4774 2085 PUSH2 0x2092
[codex:391300] 4775 2088 JUMPI
[codex:391300] 4776 2089 RETURNDATASIZE
[codex:391300] 4777 208a PUSH1 0x00
[codex:391300] 4778 208c DUP1
[codex:391300] 4779 208d RETURNDATACOPY
[codex:391300] 4780 208e RETURNDATASIZE
[codex:391300] 4781 208f PUSH1 0x00
[codex:391300] --- occurrence at op index 5014 pos 8804 next CALL 5057
[codex:391300]
[codex:391300] thinking
[codex:391300] **Analyzing contract call and owner risks**
[codex:391300] exec
[codex:391300] /bin/bash -lc "python - <<'PY'
[codex:391300] import binascii
[codex:391300] hexstr=open('BYTECODE_BUNDLE.txt').read().split('\\n',4)[4].strip()
[codex:391300] if hexstr.startswith('0x'): hexstr=hexstr[2:]
[codex:391300] code=binascii.unhexlify(hexstr)
[codex:391300]
[codex:391300] opnames={
[codex:391300] 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:391300] 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:391300] 0x20:'SHA3',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:391300] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:391300] 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:391300] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:391300] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:391300] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:391300] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:391300] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:391300]
[codex:391300] # disasm list
[codex:391300] ops=[]
[codex:391300] i=0
[codex:391300] while i<len(code):
[codex:391300] op=code[i]; start=i; i+=1
[codex:391300] data=None
[codex:391300] if 0x60<=op<=0x7f:
[codex:391300] n=op-0x5f
[codex:391300] data=code[i:i+n]; i+=n
[codex:391300] ops.append((start,op,opnames.get(op,f'OP{op:02x}'),data))
[codex:391300]
[codex:391300] # locate first a9059cbb call and print more
[codex:391300] for idx,(pos,op,name,data) in enumerate(ops):
[codex:391300] if op==0x63 and data==b'\\xa9\\x05\\x9c\\xbb':
[codex:391300] # find next CALL
[codex:391300] call_idx=None
[codex:391300] for j in range(idx, idx+200):
[codex:391300] if ops[j][1]==0xf1:
[codex:391300] call_idx=j
[codex:391300] break
[codex:391300] print('PUSH4 at',pos,'call idx',call_idx,'pos',ops[call_idx][0])
[codex:391300] start=max(0, call_idx-5)
[codex:391300] end=min(len(ops), call_idx+40)
[codex:391300] for j in range(start, end):
[codex:391300] pos,op,name,data=ops[j]
[codex:391300] if data is not None:
[codex:391300] print(f'{j:5d} {pos:04x} {name} 0x{data.hex()}')
[codex:391300] else:
[codex:391300] print(f'{j:5d} {pos:04x} {name}')
[codex:391300] break
[codex:391300] PY" in /tmp/codex-multi-x8poivjf succeeded in 28ms:
[codex:391300] PUSH4 at 8229 call idx 4770 pos 8321
[codex:391300] 4765 207c DUP1
[codex:391300] 4766 207d REVERT
[codex:391300] 4767 207e JUMPDEST
[codex:391300] 4768 207f POP
[codex:391300] 4769 2080 GAS
[codex:391300] 4770 2081 CALL
[codex:391300] 4771 2082 ISZERO
[codex:391300] 4772 2083 DUP1
[codex:391300] 4773 2084 ISZERO
[codex:391300] 4774 2085 PUSH2 0x2092
[codex:391300] 4775 2088 JUMPI
[codex:391300] 4776 2089 RETURNDATASIZE
[codex:391300] 4777 208a PUSH1 0x00
[codex:391300] 4778 208c DUP1
[codex:391300] 4779 208d RETURNDATACOPY
[codex:391300] 4780 208e RETURNDATASIZE
[codex:391300] 4781 208f PUSH1 0x00
[codex:391300] 4782 2091 REVERT
[codex:391300] 4783 2092 JUMPDEST
[codex:391300]
[codex:391300] thinking
[codex:391300] **Evaluating bytecode for security issues**
[codex:391300]
[codex:391300] I’m analyzing the bytecode for potential security problems like unchecked calls, missing access controls, or dangerous instructions such as SELFDESTRUCT or delegatecall, but I’m finding none. I’ll prepare a JSON output indicating no findings, while noting the limits of a bytecode-only review.
[codex:391300] codex
[codex:391300] {"no_findings":true,"summary":"No concrete, explainable vulnerabilities were identified from the runtime bytecode patterns alone; observed behavior appears consistent with standard access checks and external calls. Bytecode-only review limits confidence.","findings":[]}
[codex:391300] tokens used
[codex:391300] 50,616
[codex:391300] {"no_findings":true,"summary":"No concrete, explainable vulnerabilities were identified from the runtime bytecode patterns alone; observed behavior appears consistent with standard access checks and external calls. Bytecode-only review limits confidence.","findings":[]}
{
"codex": {
"ran_at": "2025-12-29T18:47:07.150505+00:00",
"returncode": 0
},
"summary": "No concrete, explainable vulnerabilities were identified from the runtime bytecode patterns alone; observed behavior appears consistent with standard access checks and external calls. Bytecode-only review limits confidence.",
"raw_final": {
"summary": "No concrete, explainable vulnerabilities were identified from the runtime bytecode patterns alone; observed behavior appears consistent with standard access checks and external calls. Bytecode-only review limits confidence.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x020e 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: PUSH4 0xffffffff 00000035: AND 00000036: DUP1 00000037: PUSH3 0xdc41e6 0000003b: EQ 0000003c: PUSH2 0x0213 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x03a896a1 00000046: EQ 00000047: PUSH2 0x0250 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x04fdc562 00000051: EQ 00000052: PUSH2 0x028d 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x0525ed66 0000005c: EQ 0000005d: PUSH2 0x02ca 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x0992b119 00000067: EQ 00000068: PUSH2 0x0307 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x09cc1440 00000072: EQ 00000073: PUSH2 0x0344 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x1920427b 0000007d: EQ 0000007e: PUSH2 0x0381 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x2762dd8c 00000088: EQ 00000089: PUSH2 0x03bf 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x29f88fb0 00000093: EQ 00000094: PUSH2 0x03fc 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x31da4165 0000009e: EQ 0000009f: PUSH2 0x0427 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x3892a60a 000000a9: EQ 000000aa: PUSH2 0x0464 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x416b4613 000000b4: EQ 000000b5: PUSH2 0x048f 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x44ee8753 000000bf: EQ 000000c0: PUSH2 0x04cc 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x459b90db 000000ca: EQ 000000cb: PUSH2 0x04f7 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x48857152 000000d5: EQ 000000d6: PUSH2 0x0534 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x52ddbfc1 000000e0: EQ 000000e1: PUSH2 0x055f 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0x583b7676 000000eb: EQ 000000ec: PUSH2 0x059c 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0x5cb9a150 000000f6: EQ 000000f7: PUSH2 0x05c7 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x5e929e6a 00000101: EQ 00000102: PUSH2 0x0604 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0x5f0280ba 0000010c: EQ 0000010d: PUSH2 0x0641 00000110: JUMPI 00000111: DUP1 00000112: PUSH4 0x715018a6 00000117: EQ 00000118: PUSH2 0x067e 0000011b: JUMPI 0000011c: DUP1 0000011d: PUSH4 0x72bccdb9 00000122: EQ 00000123: PUSH2 0x0695 00000126: JUMPI 00000127: DUP1 00000128: PUSH4 0x741bef1a 0000012d: EQ 0000012e: PUSH2 0x06c0 00000131: JUMPI 00000132: DUP1 00000133: PUSH4 0x7ae2b5c7 00000138: EQ 00000139: PUSH2 0x06eb 0000013c: JUMPI 0000013d: DUP1 0000013e: PUSH4 0x8da5cb5b 00000143: EQ 00000144: PUSH2 0x0728 00000147: JUMPI 00000148: DUP1 00000149: PUSH4 0x977a5e64 0000014e: EQ 0000014f: PUSH2 0x0753 00000152: JUMPI 00000153: DUP1 00000154: PUSH4 0x99114d84 00000159: EQ 0000015a: PUSH2 0x0790 0000015d: JUMPI 0000015e: DUP1 0000015f: PUSH4 0xa2ce9247 00000164: EQ 00000165: PUSH2 0x07cd 00000168: JUMPI 00000169: DUP1 0000016a: PUSH4 0xa354ca44 0000016f: EQ 00000170: PUSH2 0x080a 00000173: JUMPI 00000174: DUP1 00000175: PUSH4 0xabf410e5 0000017a: EQ 0000017b: PUSH2 0x0847 0000017e: JUMPI 0000017f: DUP1 00000180: PUSH4 0xb2016bd4 00000185: EQ 00000186: PUSH2 0x0872 00000189: JUMPI 0000018a: DUP1 0000018b: PUSH4 0xb2819322 00000190: EQ 00000191: PUSH2 0x089d 00000194: JUMPI 00000195: DUP1 00000196: PUSH4 0xb54790d8 0000019b: EQ 0000019c: PUSH2 0x08da 0000019f: JUMPI 000001a0: DUP1 000001a1: PUSH4 0xc04555c6 000001a6: EQ 000001a7: PUSH2 0x0905 000001aa: JUMPI 000001ab: DUP1 000001ac: PUSH4 0xc4fbcdf8 000001b1: EQ 000001b2: PUSH2 0x0930 000001b5: JUMPI 000001b6: DUP1 000001b7: PUSH4 0xc9912594 000001bc: EQ 000001bd: PUSH2 0x096d 000001c0: JUMPI 000001c1: DUP1 000001c2: PUSH4 0xdb2f90ae 000001c7: EQ 000001c8: PUSH2 0x09aa 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0xdbc162de 000001d2: EQ 000001d3: PUSH2 0x09d3 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0xee733bb7 000001dd: EQ 000001de: PUSH2 0x09fe 000001e1: JUMPI 000001e2: DUP1 000001e3: PUSH4 0xf08499a1 000001e8: EQ 000001e9: PUSH2 0x0a3b 000001ec: JUMPI 000001ed: DUP1 000001ee: PUSH4 0xf178c587 000001f3: EQ 000001f4: PUSH2 0x0a66 000001f7: JUMPI 000001f8: DUP1 000001f9: PUSH4 0xf2494eaf 000001fe: EQ 000001ff: PUSH2 0x0a91 00000202: JUMPI 00000203: DUP1 00000204: PUSH4 0xf2fde38b 00000209: EQ 0000020a: PUSH2 0x0ace 0000020d: JUMPI 0000020e: JUMPDEST 0000020f: PUSH1 0x00 00000211: DUP1 00000212: REVERT 00000213: JUMPDEST 00000214: CALLVALUE 00000215: DUP1 00000216: ISZERO 00000217: PUSH2 0x021f 0000021a: JUMPI 0000021b: PUSH1 0x00 0000021d: DUP1 0000021e: REVERT 0000021f: JUMPDEST 00000220: POP 00000221: PUSH2 0x023a 00000224: PUSH1 0x04 00000226: DUP1 00000227: CALLDATASIZE 00000228: SUB 00000229: PUSH2 0x0235 0000022c: SWAP2 0000022d: SWAP1 0000022e: DUP2 0000022f: ADD 00000230: SWAP1 00000231: PUSH2 0x3156 00000234: JUMP 00000235: JUMPDEST 00000236: PUSH2 0x0af7 00000239: JUMP 0000023a: JUMPDEST 0000023b: PUSH1 0x40 0000023d: MLOAD 0000023e: PUSH2 0x0247 00000241: SWAP2 00000242: SWAP1 00000243: PUSH2 0x35f8 00000246: JUMP 00000247: JUMPDEST 00000248: PUSH1 0x40 0000024a: MLOAD 0000024b: DUP1 0000024c: SWAP2 0000024d: SUB 0000024e: SWAP1 0000024f: RETURN 00000250: JUMPDEST 00000251: CALLVALUE 00000252: DUP1 00000253: ISZERO 00000254: PUSH2 0x025c 00000257: JUMPI 00000258: PUSH1 0x00 0000025a: DUP1 0000025b: REVERT 0000025c: JUMPDEST 0000025d: POP 0000025e: PUSH2 0x0277 00000261: PUSH1 0x04 00000263: DUP1 00000264: CALLDATASIZE 00000265: SUB 00000266: PUSH2 0x0272 00000269: SWAP2 0000026a: SWAP1 0000026b: DUP2 0000026c: ADD 0000026d: SWAP1 0000026e: PUSH2 0x3156 00000271: JUMP 00000272: JUMPDEST 00000273: PUSH2 0x0b13 00000276: JUMP 00000277: JUMPDEST 00000278: PUSH1 0x40 0000027a: MLOAD 0000027b: PUSH2 0x0284 0000027e: SWAP2 0000027f: SWAP1 00000280: PUSH2 0x36da 00000283: JUMP 00000284: JUMPDEST 00000285: PUSH1 0x40 00000287: MLOAD 00000288: DUP1 00000289: SWAP2 0000028a: SUB 0000028b: SWAP1 0000028c: RETURN 0000028d: JUMPDEST 0000028e: CALLVALUE 0000028f: DUP1 00000290: ISZERO 00000291: PUSH2 0x0299 00000294: JUMPI 00000295: PUSH1 0x00 00000297: DUP1 00000298: REVERT 00000299: JUMPDEST 0000029a: POP 0000029b: PUSH2 0x02b4 0000029e: PUSH1 0x04 000002a0: DUP1 000002a1: CALLDATASIZE 000002a2: SUB 000002a3: PUSH2 0x02af 000002a6: SWAP2 000002a7: SWAP1 000002a8: DUP2 000002a9: ADD 000002aa: SWAP1 000002ab: PUSH2 0x3156 000002ae: JUMP 000002af: JUMPDEST 000002b0: PUSH2 0x0b38 000002b3: JUMP 000002b4: JUMPDEST 000002b5: PUSH1 0x40 000002b7: MLOAD 000002b8: PUSH2 0x02c1 000002bb: SWAP2 000002bc: SWAP1 000002bd: PUSH2 0x35f8 000002c0: JUMP 000002c1: JUMPDEST 000002c2: PUSH1 0x40 000002c4: MLOAD 000002c5: DUP1 000002c6: SWAP2 000002c7: SUB 000002c8: SWAP1 000002c9: RETURN 000002ca: JUMPDEST 000002cb: CALLVALUE 000002cc: DUP1 000002cd: ISZERO 000002ce: PUSH2 0x02d6 000002d1: JUMPI 000002d2: PUSH1 0x00 000002d4: DUP1 000002d5: REVERT 000002d6: JUMPDEST 000002d7: POP 000002d8: PUSH2 0x02f1 000002db: PUSH1 0x04 000002dd: DUP1 000002de: CALLDATASIZE 000002df: SUB 000002e0: PUSH2 0x02ec 000002e3: SWAP2 000002e4: SWAP1 000002e5: DUP2 000002e6: ADD 000002e7: SWAP1 000002e8: PUSH2 0x3156 000002eb: JUMP 000002ec: JUMPDEST 000002ed: PUSH2 0x0c05 000002f0: JUMP 000002f1: JUMPDEST 000002f2: PUSH1 0x40 000002f4: MLOAD 000002f5: PUSH2 0x02fe 000002f8: SWAP2 000002f9: SWAP1 000002fa: PUSH2 0x36da 000002fd: JUMP 000002fe: JUMPDEST 000002ff: PUSH1 0x40 00000301: MLOAD 00000302: DUP1 00000303: SWAP2 00000304: SUB 00000305: SWAP1 00000306: RETURN 00000307: JUMPDEST 00000308: CALLVALUE 00000309: DUP1 0000030a: ISZERO 0000030b: PUSH2 0x0313 0000030e: JUMPI 0000030f: PUSH1 0x00 00000311: DUP1 00000312: REVERT 00000313: JUMPDEST 00000314: POP 00000315: PUSH2 0x032e 00000318: PUSH1 0x04 0000031a: DUP1 0000031b: CALLDATASIZE 0000031c: SUB 0000031d: PUSH2 0x0329 00000320: SWAP2 00000321: SWAP1 00000322: DUP2 00000323: ADD 00000324: SWAP1 00000325: PUSH2 0x33a0 00000328: JUMP 00000329: JUMPDEST 0000032a: PUSH2 0x0c1d 0000032d: JUMP 0000032e: JUMPDEST 0000032f: PUSH1 0x40 00000331: MLOAD 00000332: PUSH2 0x033b 00000335: SWAP2 00000336: SWAP1 00000337: PUSH2 0x36da 0000033a: JUMP 0000033b: JUMPDEST 0000033c: PUSH1 0x40 0000033e: MLOAD 0000033f: DUP1 00000340: SWAP2 00000341: SUB 00000342: SWAP1 00000343: RETURN 00000344: JUMPDEST 00000345: CALLVALUE 00000346: DUP1 00000347: ISZERO 00000348: PUSH2 0x0350 0000034b: JUMPI 0000034c: PUSH1 0x00 0000034e: DUP1 0000034f: REVERT 00000350: JUMPDEST 00000351: POP 00000352: PUSH2 0x036b 00000355: PUSH1 0x04 00000357: DUP1 00000358: CALLDATASIZE 00000359: SUB 0000035a: PUSH2 0x0366 0000035d: SWAP2 0000035e: SWAP1 0000035f: DUP2 00000360: ADD 00000361: SWAP1 00000362: PUSH2 0x3156 00000365: JUMP 00000366: JUMPDEST 00000367: PUSH2 0x0c4f 0000036a: JUMP 0000036b: JUMPDEST 0000036c: PUSH1 0x40 0000036e: MLOAD 0000036f: PUSH2 0x0378 00000372: SWAP2 00000373: SWAP1 00000374: PUSH2 0x35f8 00000377: JUMP 00000378: JUMPDEST 00000379: PUSH1 0x40 0000037b: MLOAD 0000037c: DUP1 0000037d: SWAP2 0000037e: SUB 0000037f: SWAP1 00000380: RETURN 00000381: JUMPDEST 00000382: CALLVALUE 00000383: DUP1 00000384: ISZERO 00000385: PUSH2 0x038d 00000388: JUMPI 00000389: PUSH1 0x00 0000038b: DUP1 0000038c: REVERT 0000038d: JUMPDEST 0000038e: POP 0000038f: PUSH2 0x03a8 00000392: PUSH1 0x04 00000394: DUP1 00000395: CALLDATASIZE 00000396: SUB 00000397: PUSH2 0x03a3 0000039a: SWAP2 0000039b: SWAP1 0000039c: DUP2 0000039d: ADD 0000039e: SWAP1 0000039f: PUSH2 0x3156 000003a2: JUMP 000003a3: JUMPDEST 000003a4: PUSH2 0x0c62 000003a7: JUMP 000003a8: JUMPDEST 000003a9: PUSH1 0x40 000003ab: MLOAD 000003ac: PUSH2 0x03b6 000003af: SWAP3 000003b0: SWAP2 000003b1: SWAP1 000003b2: PUSH2 0x36f5 000003b5: JUMP 000003b6: JUMPDEST 000003b7: PUSH1 0x40 000003b9: MLOAD 000003ba: DUP1 000003bb: SWAP2 000003bc: SUB 000003bd: SWAP1 000003be: RETURN 000003bf: JUMPDEST 000003c0: CALLVALUE 000003c1: DUP1 000003c2: ISZERO 000003c3: PUSH2 0x03cb 000003c6: JUMPI 000003c7: PUSH1 0x00 000003c9: DUP1 000003ca: REVERT 000003cb: JUMPDEST 000003cc: POP 000003cd: PUSH2 0x03e6 000003d0: PUSH1 0x04 000003d2: DUP1 000003d3: CALLDATASIZE 000003d4: SUB 000003d5: PUSH2 0x03e1 000003d8: SWAP2 000003d9: SWAP1 000003da: DUP2 000003db: ADD 000003dc: SWAP1 000003dd: PUSH2 0x3156 000003e0: JUMP 000003e1: JUMPDEST 000003e2: PUSH2 0x0ca6 000003e5: JUMP 000003e6: JUMPDEST 000003e7: PUSH1 0x40 000003e9: MLOAD 000003ea: PUSH2 0x03f3 000003ed: SWAP2 000003ee: SWAP1 000003ef: PUSH2 0x36da 000003f2: JUMP 000003f3: JUMPDEST 000003f4: PUSH1 0x40 000003f6: MLOAD 000003f7: DUP1 000003f8: SWAP2 000003f9: SUB 000003fa: SWAP1 000003fb: RETURN 000003fc: JUMPDEST 000003fd: CALLVALUE 000003fe: DUP1 000003ff: ISZERO 00000400: PUSH2 0x0408 00000403: JUMPI 00000404: PUSH1 0x00 00000406: DUP1 00000407: REVERT 00000408: JUMPDEST 00000409: POP 0000040a: PUSH2 0x0411 0000040d: PUSH2 0x0e3a 00000410: JUMP 00000411: JUMPDEST 00000412: PUSH1 0x40 00000414: MLOAD 00000415: PUSH2 0x041e 00000418: SWAP2 00000419: SWAP1 0000041a: PUSH2 0x36bf 0000041d: JUMP 0000041e: JUMPDEST 0000041f: PUSH1 0x40 00000421: MLOAD 00000422: DUP1 00000423: SWAP2 00000424: SUB 00000425: SWAP1 00000426: RETURN 00000427: JUMPDEST 00000428: CALLVALUE 00000429: DUP1 0000042a: ISZERO 0000042b: PUSH2 0x0433 0000042e: JUMPI 0000042f: PUSH1 0x00 00000431: DUP1 00000432: REVERT 00000433: JUMPDEST 00000434: POP 00000435: PUSH2 0x044e 00000438: PUSH1 0x04 0000043a: DUP1 0000043b: CALLDATASIZE 0000043c: SUB 0000043d: PUSH2 0x0449 00000440: SWAP2 00000441: SWAP1 00000442: DUP2 00000443: ADD 00000444: SWAP1 00000445: PUSH2 0x3156 00000448: JUMP 00000449: JUMPDEST 0000044a: PUSH2 0x0e67 0000044d: JUMP 0000044e: JUMPDEST 0000044f: PUSH1 0x40 00000451: MLOAD 00000452: PUSH2 0x045b 00000455: SWAP2 00000456: SWAP1 00000457: PUSH2 0x35f8 0000045a: JUMP 0000045b: JUMPDEST 0000045c: PUSH1 0x40 0000045e: MLOAD 0000045f: DUP1 00000460: SWAP2 00000461: SUB 00000462: SWAP1 00000463: RETURN 00000464: JUMPDEST 00000465: CALLVALUE 00000466: DUP1 00000467: ISZERO 00000468: PUSH2 0x0470 0000046b: JUMPI 0000046c: PUSH1 0x00 0000046e: DUP1 0000046f: REVERT 00000470: JUMPDEST 00000471: POP 00000472: PUSH2 0x0479 00000475: PUSH2 0x0e89 00000478: JUMP 00000479: JUMPDEST 0000047a: PUSH1 0x40 0000047c: MLOAD 0000047d: PUSH2 0x0486 00000480: SWAP2 00000481: SWAP1 00000482: PUSH2 0x36da 00000485: JUMP 00000486: JUMPDEST 00000487: PUSH1 0x40 00000489: MLOAD 0000048a: DUP1 0000048b: SWAP2 0000048c: SUB 0000048d: SWAP1 0000048e: RETURN 0000048f: JUMPDEST 00000490: CALLVALUE 00000491: DUP1 00000492: ISZERO 00000493: PUSH2 0x049b 00000496: JUMPI 00000497: PUSH1 0x00 00000499: DUP1 0000049a: REVERT 0000049b: JUMPDEST 0000049c: POP 0000049d: PUSH2 0x04b6 000004a0: PUSH1 0x04 000004a2: DUP1 000004a3: CALLDATASIZE 000004a4: SUB 000004a5: PUSH2 0x04b1 000004a8: SWAP2 000004a9: SWAP1 000004aa: DUP2 000004ab: ADD 000004ac: SWAP1 000004ad: PUSH2 0x334e 000004b0: JUMP 000004b1: JUMPDEST 000004b2: PUSH2 0x0e91 000004b5: JUMP 000004b6: JUMPDEST 000004b7: PUSH1 0x40 000004b9: MLOAD 000004ba: PUSH2 0x04c3 000004bd: SWAP2 000004be: SWAP1 000004bf: PUSH2 0x35f8 000004c2: JUMP 000004c3: JUMPDEST 000004c4: PUSH1 0x40 000004c6: MLOAD 000004c7: DUP1 000004c8: SWAP2 000004c9: SUB 000004ca: SWAP1 000004cb: RETURN 000004cc: JUMPDEST 000004cd: CALLVALUE 000004ce: DUP1 000004cf: ISZERO 000004d0: PUSH2 0x04d8 000004d3: JUMPI 000004d4: PUSH1 0x00 000004d6: DUP1 000004d7: REVERT 000004d8: JUMPDEST 000004d9: POP 000004da: PUSH2 0x04e1 000004dd: PUSH2 0x0efa 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH1 0x40 000004e4: MLOAD 000004e5: PUSH2 0x04ee 000004e8: SWAP2 000004e9: SWAP1 000004ea: PUSH2 0x36da 000004ed: JUMP 000004ee: JUMPDEST 000004ef: PUSH1 0x40 000004f1: MLOAD 000004f2: DUP1 000004f3: SWAP2 000004f4: SUB 000004f5: SWAP1 000004f6: RETURN 000004f7: JUMPDEST 000004f8: CALLVALUE 000004f9: DUP1 000004fa: ISZERO 000004fb: PUSH2 0x0503 000004fe: JUMPI 000004ff: PUSH1 0x00 00000501: DUP1 00000502: REVERT 00000503: JUMPDEST 00000504: POP 00000505: PUSH2 0x051e 00000508: PUSH1 0x04 0000050a: DUP1 0000050b: CALLDATASIZE 0000050c: SUB 0000050d: PUSH2 0x0519 00000510: SWAP2 00000511: SWAP1 00000512: DUP2 00000513: ADD 00000514: SWAP1 00000515: PUSH2 0x3156 00000518: JUMP 00000519: JUMPDEST 0000051a: PUSH2 0x0eff 0000051d: JUMP 0000051e: JUMPDEST 0000051f: PUSH1 0x40 00000521: MLOAD 00000522: PUSH2 0x052b 00000525: SWAP2 00000526: SWAP1 00000527: PUSH2 0x36da 0000052a: JUMP 0000052b: JUMPDEST 0000052c: PUSH1 0x40 0000052e: MLOAD 0000052f: DUP1 00000530: SWAP2 00000531: SUB 00000532: SWAP1 00000533: RETURN 00000534: JUMPDEST 00000535: CALLVALUE 00000536: DUP1 00000537: ISZERO 00000538: PUSH2 0x0540 0000053b: JUMPI 0000053c: PUSH1 0x00 0000053e: DUP1 0000053f: REVERT 00000540: JUMPDEST 00000541: POP 00000542: PUSH2 0x0549 00000545: PUSH2 0x0f21 00000548: JUMP 00000549: JUMPDEST 0000054a: PUSH1 0x40 0000054c: MLOAD 0000054d: PUSH2 0x0556 00000550: SWAP2 00000551: SWAP1 00000552: PUSH2 0x36da 00000555: JUMP 00000556: JUMPDEST 00000557: PUSH1 0x40 00000559: MLOAD 0000055a: DUP1 0000055b: SWAP2 0000055c: SUB 0000055d: SWAP1 0000055e: RETURN 0000055f: JUMPDEST 00000560: CALLVALUE 00000561: DUP1 00000562: ISZERO 00000563: PUSH2 0x056b 00000566: JUMPI 00000567: PUSH1 0x00 00000569: DUP1 0000056a: REVERT 0000056b: JUMPDEST 0000056c: POP 0000056d: PUSH2 0x0586 00000570: PUSH1 0x04 00000572: DUP1 00000573: CALLDATASIZE 00000574: SUB 00000575: PUSH2 0x0581 00000578: SWAP2 00000579: SWAP1 0000057a: DUP2 0000057b: ADD 0000057c: SWAP1 0000057d: PUSH2 0x33a0 00000580: JUMP 00000581: JUMPDEST 00000582: PUSH2 0x0f26 00000585: JUMP 00000586: JUMPDEST 00000587: PUSH1 0x40 00000589: MLOAD 0000058a: PUSH2 0x0593 0000058d: SWAP2 0000058e: SWAP1 0000058f: PUSH2 0x36da 00000592: JUMP 00000593: JUMPDEST 00000594: PUSH1 0x40 00000596: MLOAD 00000597: DUP1 00000598: SWAP2 00000599: SUB 0000059a: SWAP1 0000059b: RETURN 0000059c: JUMPDEST 0000059d: CALLVALUE 0000059e: DUP1 0000059f: ISZERO 000005a0: PUSH2 0x05a8 000005a3: JUMPI 000005a4: PUSH1 0x00 000005a6: DUP1 000005a7: REVERT 000005a8: JUMPDEST 000005a9: POP 000005aa: PUSH2 0x05b1 000005ad: PUSH2 0x0f58 000005b0: JUMP 000005b1: JUMPDEST 000005b2: PUSH1 0x40 000005b4: MLOAD 000005b5: PUSH2 0x05be 000005b8: SWAP2 000005b9: SWAP1 000005ba: PUSH2 0x36da 000005bd: JUMP 000005be: JUMPDEST 000005bf: PUSH1 0x40 000005c1: MLOAD 000005c2: DUP1 000005c3: SWAP2 000005c4: SUB 000005c5: SWAP1 000005c6: RETURN 000005c7: JUMPDEST 000005c8: CALLVALUE 000005c9: DUP1 000005ca: ISZERO 000005cb: PUSH2 0x05d3 000005ce: JUMPI 000005cf: PUSH1 0x00 000005d1: DUP1 000005d2: REVERT 000005d3: JUMPDEST 000005d4: POP 000005d5: PUSH2 0x05ee 000005d8: PUSH1 0x04 000005da: DUP1 000005db: CALLDATASIZE 000005dc: SUB 000005dd: PUSH2 0x05e9 000005e0: SWAP2 000005e1: SWAP1 000005e2: DUP2 000005e3: ADD 000005e4: SWAP1 000005e5: PUSH2 0x3312 000005e8: JUMP 000005e9: JUMPDEST 000005ea: PUSH2 0x0f5e 000005ed: JUMP 000005ee: JUMPDEST 000005ef: PUSH1 0x40 000005f1: MLOAD 000005f2: PUSH2 0x05fb 000005f5: SWAP2 000005f6: SWAP1 000005f7: PUSH2 0x36da 000005fa: JUMP 000005fb: JUMPDEST 000005fc: PUSH1 0x40 000005fe: MLOAD 000005ff: DUP1 00000600: SWAP2 00000601: SUB 00000602: SWAP1 00000603: RETURN 00000604: JUMPDEST 00000605: CALLVALUE 00000606: DUP1 00000607: ISZERO 00000608: PUSH2 0x0610 0000060b: JUMPI 0000060c: PUSH1 0x00 0000060e: DUP1 0000060f: REVERT 00000610: JUMPDEST 00000611: POP 00000612: PUSH2 0x062b 00000615: PUSH1 0x04 00000617: DUP1 00000618: CALLDATASIZE 00000619: SUB 0000061a: PUSH2 0x0626 0000061d: SWAP2 0000061e: SWAP1 0000061f: DUP2 00000620: ADD 00000621: SWAP1 00000622: PUSH2 0x3156 00000625: JUMP 00000626: JUMPDEST 00000627: PUSH2 0x0fa3 0000062a: JUMP 0000062b: JUMPDEST 0000062c: PUSH1 0x40 0000062e: MLOAD 0000062f: PUSH2 0x0638 00000632: SWAP2 00000633: SWAP1 00000634: PUSH2 0x36da 00000637: JUMP 00000638: JUMPDEST 00000639: PUSH1 0x40 0000063b: MLOAD 0000063c: DUP1 0000063d: SWAP2 0000063e: SUB 0000063f: SWAP1 00000640: RETURN 00000641: JUMPDEST 00000642: CALLVALUE 00000643: DUP1 00000644: ISZERO 00000645: PUSH2 0x064d 00000648: JUMPI 00000649: PUSH1 0x00 0000064b: DUP1 0000064c: REVERT 0000064d: JUMPDEST 0000064e: POP 0000064f: PUSH2 0x0668 00000652: PUSH1 0x04 00000654: DUP1 00000655: CALLDATASIZE 00000656: SUB 00000657: PUSH2 0x0663 0000065a: SWAP2 0000065b: SWAP1 0000065c: DUP2 0000065d: ADD 0000065e: SWAP1 0000065f: PUSH2 0x31e4 00000662: JUMP 00000663: JUMPDEST 00000664: PUSH2 0x0fb9 00000667: JUMP 00000668: JUMPDEST 00000669: PUSH1 0x40 0000066b: MLOAD 0000066c: PUSH2 0x0675 0000066f: SWAP2 00000670: SWAP1 00000671: PUSH2 0x35f8 00000674: JUMP 00000675: JUMPDEST 00000676: PUSH1 0x40 00000678: MLOAD 00000679: DUP1 0000067a: SWAP2 0000067b: SUB 0000067c: SWAP1 0000067d: RETURN 0000067e: JUMPDEST 0000067f: CALLVALUE 00000680: DUP1 00000681: ISZERO 00000682: PUSH2 0x068a 00000685: JUMPI 00000686: PUSH1 0x00 00000688: DUP1 00000689: REVERT 0000068a: JUMPDEST 0000068b: POP 0000068c: PUSH2 0x0693 0000068f: PUSH2 0x11fe 00000692: JUMP 00000693: JUMPDEST 00000694: STOP 00000695: JUMPDEST 00000696: CALLVALUE 00000697: DUP1 00000698: ISZERO 00000699: PUSH2 0x06a1 0000069c: JUMPI 0000069d: PUSH1 0x00 0000069f: DUP1 000006a0: REVERT 000006a1: JUMPDEST 000006a2: POP 000006a3: PUSH2 0x06aa 000006a6: PUSH2 0x1300 000006a9: JUMP 000006aa: JUMPDEST 000006ab: PUSH1 0x40 000006ad: MLOAD 000006ae: PUSH2 0x06b7 000006b1: SWAP2 000006b2: SWAP1 000006b3: PUSH2 0x36da 000006b6: JUMP 000006b7: JUMPDEST 000006b8: PUSH1 0x40 000006ba: MLOAD 000006bb: DUP1 000006bc: SWAP2 000006bd: SUB 000006be: SWAP1 000006bf: RETURN 000006c0: JUMPDEST 000006c1: CALLVALUE 000006c2: DUP1 000006c3: ISZERO 000006c4: PUSH2 0x06cc 000006c7: JUMPI 000006c8: PUSH1 0x00 000006ca: DUP1 000006cb: REVERT 000006cc: JUMPDEST 000006cd: POP 000006ce: PUSH2 0x06d5 000006d1: PUSH2 0x1305 000006d4: JUMP 000006d5: JUMPDEST 000006d6: PUSH1 0x40 000006d8: MLOAD 000006d9: PUSH2 0x06e2 000006dc: SWAP2 000006dd: SWAP1 000006de: PUSH2 0x3664 000006e1: JUMP 000006e2: JUMPDEST 000006e3: PUSH1 0x40 000006e5: MLOAD 000006e6: DUP1 000006e7: SWAP2 000006e8: SUB 000006e9: SWAP1 000006ea: RETURN 000006eb: JUMPDEST 000006ec: CALLVALUE 000006ed: DUP1 000006ee: ISZERO 000006ef: PUSH2 0x06f7 000006f2: JUMPI 000006f3: PUSH1 0x00 000006f5: DUP1 000006f6: REVERT 000006f7: JUMPDEST 000006f8: POP 000006f9: PUSH2 0x0712 000006fc: PUSH1 0x04 000006fe: DUP1 000006ff: CALLDATASIZE 00000700: SUB 00000701: PUSH2 0x070d 00000704: SWAP2 00000705: SWAP1 00000706: DUP2 00000707: ADD 00000708: SWAP1 00000709: PUSH2 0x33a0 0000070c: JUMP 0000070d: JUMPDEST 0000070e: PUSH2 0x132b 00000711: JUMP 00000712: JUMPDEST 00000713: PUSH1 0x40 00000715: MLOAD 00000716: PUSH2 0x071f 00000719: SWAP2 0000071a: SWAP1 0000071b: PUSH2 0x36da 0000071e: JUMP 0000071f: JUMPDEST 00000720: PUSH1 0x40 00000722: MLOAD 00000723: DUP1 00000724: SWAP2 00000725: SUB 00000726: SWAP1 00000727: RETURN 00000728: JUMPDEST 00000729: CALLVALUE 0000072a: DUP1 0000072b: ISZERO 0000072c: PUSH2 0x0734 0000072f: JUMPI 00000730: PUSH1 0x00 00000732: DUP1 00000733: REVERT 00000734: JUMPDEST 00000735: POP 00000736: PUSH2 0x073d 00000739: PUSH2 0x1344 0000073c: JUMP 0000073d: JUMPDEST 0000073e: PUSH1 0x40 00000740: MLOAD 00000741: PUSH2 0x074a 00000744: SWAP2 00000745: SWAP1 00000746: PUSH2 0x3554 00000749: JUMP 0000074a: JUMPDEST 0000074b: PUSH1 0x40 0000074d: MLOAD 0000074e: DUP1 0000074f: SWAP2 00000750: SUB 00000751: SWAP1 00000752: RETURN 00000753: JUMPDEST 00000754: CALLVALUE 00000755: DUP1 00000756: ISZERO 00000757: PUSH2 0x075f 0000075a: JUMPI 0000075b: PUSH1 0x00 0000075d: DUP1 0000075e: REVERT 0000075f: JUMPDEST 00000760: POP 00000761: PUSH2 0x077a 00000764: PUSH1 0x04 00000766: DUP1 00000767: CALLDATASIZE 00000768: SUB 00000769: PUSH2 0x0775 0000076c: SWAP2 0000076d: SWAP1 0000076e: DUP2 0000076f: ADD 00000770: SWAP1 00000771: PUSH2 0x31a8 00000774: JUMP 00000775: JUMPDEST 00000776: PUSH2 0x1369 00000779: JUMP 0000077a: JUMPDEST 0000077b: PUSH1 0x40 0000077d: MLOAD 0000077e: PUSH2 0x0787 00000781: SWAP2 00000782: SWAP1 00000783: PUSH2 0x35f8 00000786: JUMP 00000787: JUMPDEST 00000788: PUSH1 0x40 0000078a: MLOAD 0000078b: DUP1 0000078c: SWAP2 0000078d: SUB 0000078e: SWAP1 0000078f: RETURN 00000790: JUMPDEST 00000791: CALLVALUE 00000792: DUP1 00000793: ISZERO 00000794: PUSH2 0x079c 00000797: JUMPI 00000798: PUSH1 0x00 0000079a: DUP1 0000079b: REVERT 0000079c: JUMPDEST 0000079d: POP 0000079e: PUSH2 0x07b7 000007a1: PUSH1 0x04 000007a3: DUP1 000007a4: CALLDATASIZE 000007a5: SUB 000007a6: PUSH2 0x07b2 000007a9: SWAP2 000007aa: SWAP1 000007ab: DUP2 000007ac: ADD 000007ad: SWAP1 000007ae: PUSH2 0x325b 000007b1: JUMP 000007b2: JUMPDEST 000007b3: PUSH2 0x14c3 000007b6: JUMP 000007b7: JUMPDEST 000007b8: PUSH1 0x40 000007ba: MLOAD 000007bb: PUSH2 0x07c4 000007be: SWAP2 000007bf: SWAP1 000007c0: PUSH2 0x36da 000007c3: JUMP 000007c4: JUMPDEST 000007c5: PUSH1 0x40 000007c7: MLOAD 000007c8: DUP1 000007c9: SWAP2 000007ca: SUB 000007cb: SWAP1 000007cc: RETURN 000007cd: JUMPDEST 000007ce: CALLVALUE 000007cf: DUP1 000007d0: ISZERO 000007d1: PUSH2 0x07d9 000007d4: JUMPI 000007d5: PUSH1 0x00 000007d7: DUP1 000007d8: REVERT 000007d9: JUMPDEST 000007da: POP 000007db: PUSH2 0x07f4 000007de: PUSH1 0x04 000007e0: DUP1 000007e1: CALLDATASIZE 000007e2: SUB 000007e3: PUSH2 0x07ef 000007e6: SWAP2 000007e7: SWAP1 000007e8: DUP2 000007e9: ADD 000007ea: SWAP1 000007eb: PUSH2 0x3156 000007ee: JUMP 000007ef: JUMPDEST 000007f0: PUSH2 0x166f 000007f3: JUMP 000007f4: JUMPDEST 000007f5: PUSH1 0x40 000007f7: MLOAD 000007f8: PUSH2 0x0801 000007fb: SWAP2 000007fc: SWAP1 000007fd: PUSH2 0x36da 00000800: JUMP 00000801: JUMPDEST 00000802: PUSH1 0x40 00000804: MLOAD 00000805: DUP1 00000806: SWAP2 00000807: SUB 00000808: SWAP1 00000809: RETURN 0000080a: JUMPDEST 0000080b: CALLVALUE 0000080c: DUP1 0000080d: ISZERO 0000080e: PUSH2 0x0816 00000811: JUMPI 00000812: PUSH1 0x00 00000814: DUP1 00000815: REVERT 00000816: JUMPDEST 00000817: POP 00000818: PUSH2 0x0831 0000081b: PUSH1 0x04 0000081d: DUP1 0000081e: CALLDATASIZE 0000081f: SUB 00000820: PUSH2 0x082c 00000823: SWAP2 00000824: SWAP1 00000825: DUP2 00000826: ADD 00000827: SWAP1 00000828: PUSH2 0x3156 0000082b: JUMP 0000082c: JUMPDEST 0000082d: PUSH2 0x1691 00000830: JUMP 00000831: JUMPDEST 00000832: PUSH1 0x40 00000834: MLOAD 00000835: PUSH2 0x083e 00000838: SWAP2 00000839: SWAP1 0000083a: PUSH2 0x36bf 0000083d: JUMP 0000083e: JUMPDEST 0000083f: PUSH1 0x40 00000841: MLOAD 00000842: DUP1 00000843: SWAP2 00000844: SUB 00000845: SWAP1 00000846: RETURN 00000847: JUMPDEST 00000848: CALLVALUE 00000849: DUP1 0000084a: ISZERO 0000084b: PUSH2 0x0853 0000084e: JUMPI 0000084f: PUSH1 0x00 00000851: DUP1 00000852: REVERT 00000853: JUMPDEST 00000854: POP 00000855: PUSH2 0x085c 00000858: PUSH2 0x186b 0000085b: JUMP 0000085c: JUMPDEST 0000085d: PUSH1 0x40 0000085f: MLOAD 00000860: PUSH2 0x0869 00000863: SWAP2 00000864: SWAP1 00000865: PUSH2 0x362e 00000868: JUMP 00000869: JUMPDEST 0000086a: PUSH1 0x40 0000086c: MLOAD 0000086d: DUP1 0000086e: SWAP2 0000086f: SUB 00000870: SWAP1 00000871: RETURN 00000872: JUMPDEST 00000873: CALLVALUE 00000874: DUP1 00000875: ISZERO 00000876: PUSH2 0x087e 00000879: JUMPI 0000087a: PUSH1 0x00 0000087c: DUP1 0000087d: REVERT 0000087e: JUMPDEST 0000087f: POP 00000880: PUSH2 0x0887 00000883: PUSH2 0x1891 00000886: JUMP 00000887: JUMPDEST 00000888: PUSH1 0x40 0000088a: MLOAD 0000088b: PUSH2 0x0894 0000088e: SWAP2 0000088f: SWAP1 00000890: PUSH2 0x3649 00000893: JUMP 00000894: JUMPDEST 00000895: PUSH1 0x40 00000897: MLOAD 00000898: DUP1 00000899: SWAP2 0000089a: SUB 0000089b: SWAP1 0000089c: RETURN 0000089d: JUMPDEST 0000089e: CALLVALUE 0000089f: DUP1 000008a0: ISZERO 000008a1: PUSH2 0x08a9 000008a4: JUMPI 000008a5: PUSH1 0x00 000008a7: DUP1 000008a8: REVERT 000008a9: JUMPDEST 000008aa: POP 000008ab: PUSH2 0x08c4 000008ae: PUSH1 0x04 000008b0: DUP1 000008b1: CALLDATASIZE 000008b2: SUB 000008b3: PUSH2 0x08bf 000008b6: SWAP2 000008b7: SWAP1 000008b8: DUP2 000008b9: ADD 000008ba: SWAP1 000008bb: PUSH2 0x3156 000008be: JUMP 000008bf: JUMPDEST 000008c0: PUSH2 0x18b7 000008c3: JUMP 000008c4: JUMPDEST 000008c5: PUSH1 0x40 000008c7: MLOAD 000008c8: PUSH2 0x08d1 000008cb: SWAP2 000008cc: SWAP1 000008cd: PUSH2 0x35f8 000008d0: JUMP 000008d1: JUMPDEST 000008d2: PUSH1 0x40 000008d4: MLOAD 000008d5: DUP1 000008d6: SWAP2 000008d7: SUB 000008d8: SWAP1 000008d9: RETURN 000008da: JUMPDEST 000008db: CALLVALUE 000008dc: DUP1 000008dd: ISZERO 000008de: PUSH2 0x08e6 000008e1: JUMPI 000008e2: PUSH1 0x00 000008e4: DUP1 000008e5: REVERT 000008e6: JUMPDEST 000008e7: POP 000008e8: PUSH2 0x08ef 000008eb: PUSH2 0x18d4 000008ee: JUMP 000008ef: JUMPDEST 000008f0: PUSH1 0x40 000008f2: MLOAD 000008f3: PUSH2 0x08fc 000008f6: SWAP2 000008f7: SWAP1 000008f8: PUSH2 0x36da 000008fb: JUMP 000008fc: JUMPDEST 000008fd: PUSH1 0x40 000008ff: MLOAD 00000900: DUP1 00000901: SWAP2 00000902: SUB 00000903: SWAP1 00000904: RETURN 00000905: JUMPDEST 00000906: CALLVALUE 00000907: DUP1 00000908: ISZERO 00000909: PUSH2 0x0911 0000090c: JUMPI 0000090d: PUSH1 0x00 0000090f: DUP1 00000910: REVERT 00000911: JUMPDEST 00000912: POP 00000913: PUSH2 0x091a 00000916: PUSH2 0x18da 00000919: JUMP 0000091a: JUMPDEST 0000091b: PUSH1 0x40 0000091d: MLOAD 0000091e: PUSH2 0x0927 00000921: SWAP2 00000922: SWAP1 00000923: PUSH2 0x36da 00000926: JUMP 00000927: JUMPDEST 00000928: PUSH1 0x40 0000092a: MLOAD 0000092b: DUP1 0000092c: SWAP2 0000092d: SUB 0000092e: SWAP1 0000092f: RETURN 00000930: JUMPDEST 00000931: CALLVALUE 00000932: DUP1 00000933: ISZERO 00000934: PUSH2 0x093c 00000937: JUMPI 00000938: PUSH1 0x00 0000093a: DUP1 0000093b: REVERT 0000093c: JUMPDEST 0000093d: POP 0000093e: PUSH2 0x0957 00000941: PUSH1 0x04 00000943: DUP1 00000944: CALLDATASIZE 00000945: SUB 00000946: PUSH2 0x0952 00000949: SWAP2 0000094a: SWAP1 0000094b: DUP2 0000094c: ADD 0000094d: SWAP1 0000094e: PUSH2 0x3156 00000951: JUMP 00000952: JUMPDEST 00000953: PUSH2 0x18e0 00000956: JUMP 00000957: JUMPDEST 00000958: PUSH1 0x40 0000095a: MLOAD 0000095b: PUSH2 0x0964 0000095e: SWAP2 0000095f: SWAP1 00000960: PUSH2 0x36da 00000963: JUMP 00000964: JUMPDEST 00000965: PUSH1 0x40 00000967: MLOAD 00000968: DUP1 00000969: SWAP2 0000096a: SUB 0000096b: SWAP1 0000096c: RETURN 0000096d: JUMPDEST 0000096e: CALLVALUE 0000096f: DUP1 00000970: ISZERO 00000971: PUSH2 0x0979 00000974: JUMPI 00000975: PUSH1 0x00 00000977: DUP1 00000978: REVERT 00000979: JUMPDEST 0000097a: POP 0000097b: PUSH2 0x0994 0000097e: PUSH1 0x04 00000980: DUP1 00000981: CALLDATASIZE 00000982: SUB 00000983: PUSH2 0x098f 00000986: SWAP2 00000987: SWAP1 00000988: DUP2 00000989: ADD 0000098a: SWAP1 0000098b: PUSH2 0x3156 0000098e: JUMP 0000098f: JUMPDEST 00000990: PUSH2 0x1902 00000993: JUMP 00000994: JUMPDEST 00000995: PUSH1 0x40 00000997: MLOAD 00000998: PUSH2 0x09a1 0000099b: SWAP2 0000099c: SWAP1 0000099d: PUSH2 0x36da 000009a0: JUMP 000009a1: JUMPDEST 000009a2: PUSH1 0x40 000009a4: MLOAD 000009a5: DUP1 000009a6: SWAP2 000009a7: SUB 000009a8: SWAP1 000009a9: RETURN 000009aa: JUMPDEST 000009ab: CALLVALUE 000009ac: DUP1 000009ad: ISZERO 000009ae: PUSH2 0x09b6 000009b1: JUMPI 000009b2: PUSH1 0x00 000009b4: DUP1 000009b5: REVERT 000009b6: JUMPDEST 000009b7: POP 000009b8: PUSH2 0x09d1 000009bb: PUSH1 0x04 000009bd: DUP1 000009be: CALLDATASIZE 000009bf: SUB 000009c0: PUSH2 0x09cc 000009c3: SWAP2 000009c4: SWAP1 000009c5: DUP2 000009c6: ADD 000009c7: SWAP1 000009c8: PUSH2 0x325b 000009cb: JUMP 000009cc: JUMPDEST 000009cd: PUSH2 0x1acc 000009d0: JUMP 000009d1: JUMPDEST 000009d2: STOP 000009d3: JUMPDEST 000009d4: CALLVALUE 000009d5: DUP1 000009d6: ISZERO 000009d7: PUSH2 0x09df 000009da: JUMPI 000009db: PUSH1 0x00 000009dd: DUP1 000009de: REVERT 000009df: JUMPDEST 000009e0: POP 000009e1: PUSH2 0x09e8 000009e4: PUSH2 0x1b5c 000009e7: JUMP 000009e8: JUMPDEST 000009e9: PUSH1 0x40 000009eb: MLOAD 000009ec: PUSH2 0x09f5 000009ef: SWAP2 000009f0: SWAP1 000009f1: PUSH2 0x3649 000009f4: JUMP 000009f5: JUMPDEST 000009f6: PUSH1 0x40 000009f8: MLOAD 000009f9: DUP1 000009fa: SWAP2 000009fb: SUB 000009fc: SWAP1 000009fd: RETURN 000009fe: JUMPDEST 000009ff: CALLVALUE 00000a00: DUP1 00000a01: ISZERO 00000a02: PUSH2 0x0a0a 00000a05: JUMPI 00000a06: PUSH1 0x00 00000a08: DUP1 00000a09: REVERT 00000a0a: JUMPDEST 00000a0b: POP 00000a0c: PUSH2 0x0a25 00000a0f: PUSH1 0x04 00000a11: DUP1 00000a12: CALLDATASIZE 00000a13: SUB 00000a14: PUSH2 0x0a20 00000a17: SWAP2 00000a18: SWAP1 00000a19: DUP2 00000a1a: ADD 00000a1b: SWAP1 00000a1c: PUSH2 0x3156 00000a1f: JUMP 00000a20: JUMPDEST 00000a21: PUSH2 0x1b82 00000a24: JUMP 00000a25: JUMPDEST 00000a26: PUSH1 0x40 00000a28: MLOAD 00000a29: PUSH2 0x0a32 00000a2c: SWAP2 00000a2d: SWAP1 00000a2e: PUSH2 0x35f8 00000a31: JUMP 00000a32: JUMPDEST 00000a33: PUSH1 0x40 00000a35: MLOAD 00000a36: DUP1 00000a37: SWAP2 00000a38: SUB 00000a39: SWAP1 00000a3a: RETURN 00000a3b: JUMPDEST 00000a3c: CALLVALUE 00000a3d: DUP1 00000a3e: ISZERO 00000a3f: PUSH2 0x0a47 00000a42: JUMPI 00000a43: PUSH1 0x00 00000a45: DUP1 00000a46: REVERT 00000a47: JUMPDEST 00000a48: POP 00000a49: PUSH2 0x0a50 00000a4c: PUSH2 0x1bf9 00000a4f: JUMP 00000a50: JUMPDEST 00000a51: PUSH1 0x40 00000a53: MLOAD 00000a54: PUSH2 0x0a5d 00000a57: SWAP2 00000a58: SWAP1 00000a59: PUSH2 0x36da 00000a5c: JUMP 00000a5d: JUMPDEST 00000a5e: PUSH1 0x40 00000a60: MLOAD 00000a61: DUP1 00000a62: SWAP2 00000a63: SUB 00000a64: SWAP1 00000a65: RETURN 00000a66: JUMPDEST 00000a67: CALLVALUE 00000a68: DUP1 00000a69: ISZERO 00000a6a: PUSH2 0x0a72 00000a6d: JUMPI 00000a6e: PUSH1 0x00 00000a70: DUP1 00000a71: REVERT 00000a72: JUMPDEST 00000a73: POP 00000a74: PUSH2 0x0a7b 00000a77: PUSH2 0x1c01 00000a7a: JUMP 00000a7b: JUMPDEST 00000a7c: PUSH1 0x40 00000a7e: MLOAD 00000a7f: PUSH2 0x0a88 00000a82: SWAP2 00000a83: SWAP1 00000a84: PUSH2 0x36da 00000a87: JUMP 00000a88: JUMPDEST 00000a89: PUSH1 0x40 00000a8b: MLOAD 00000a8c: DUP1 00000a8d: SWAP2 00000a8e: SUB 00000a8f: SWAP1 00000a90: RETURN 00000a91: JUMPDEST 00000a92: CALLVALUE 00000a93: DUP1 00000a94: ISZERO 00000a95: PUSH2 0x0a9d 00000a98: JUMPI 00000a99: PUSH1 0x00 00000a9b: DUP1 00000a9c: REVERT 00000a9d: JUMPDEST 00000a9e: POP 00000a9f: PUSH2 0x0ab8 00000aa2: PUSH1 0x04 00000aa4: DUP1 00000aa5: CALLDATASIZE 00000aa6: SUB 00000aa7: PUSH2 0x0ab3 00000aaa: SWAP2 00000aab: SWAP1 00000aac: DUP2 00000aad: ADD 00000aae: SWAP1 00000aaf: PUSH2 0x3156 00000ab2: JUMP 00000ab3: JUMPDEST 00000ab4: PUSH2 0x1c21 00000ab7: JUMP 00000ab8: JUMPDEST 00000ab9: PUSH1 0x40 00000abb: MLOAD 00000abc: PUSH2 0x0ac5 00000abf: SWAP2 00000ac0: SWAP1 00000ac1: PUSH2 0x36da 00000ac4: JUMP 00000ac5: JUMPDEST 00000ac6: PUSH1 0x40 00000ac8: MLOAD 00000ac9: DUP1 00000aca: SWAP2 00000acb: SUB 00000acc: SWAP1 00000acd: RETURN 00000ace: JUMPDEST 00000acf: CALLVALUE 00000ad0: DUP1 00000ad1: ISZERO 00000ad2: PUSH2 0x0ada 00000ad5: JUMPI 00000ad6: PUSH1 0x00 00000ad8: DUP1 00000ad9: REVERT 00000ada: JUMPDEST 00000adb: POP 00000adc: PUSH2 0x0af5 00000adf: PUSH1 0x04 00000ae1: DUP1 00000ae2: CALLDATASIZE 00000ae3: SUB 00000ae4: PUSH2 0x0af0 00000ae7: SWAP2 00000ae8: SWAP1 00000ae9: DUP2 00000aea: ADD 00000aeb: SWAP1 00000aec: PUSH2 0x30db 00000aef: JUMP 00000af0: JUMPDEST 00000af1: PUSH2 0x1c66 00000af4: JUMP 00000af5: JUMPDEST 00000af6: STOP 00000af7: JUMPDEST 00000af8: PUSH1 0x00 00000afa: PUSH2 0x0b02 00000afd: DUP3 00000afe: PUSH2 0x1902 00000b01: JUMP 00000b02: JUMPDEST 00000b03: PUSH2 0x0b0b 00000b06: DUP4 00000b07: PUSH2 0x0fa3 00000b0a: JUMP 00000b0b: JUMPDEST 00000b0c: LT 00000b0d: SWAP1 00000b0e: POP 00000b0f: SWAP2 00000b10: SWAP1 00000b11: POP 00000b12: JUMP 00000b13: JUMPDEST 00000b14: PUSH1 0x00 00000b16: PUSH1 0x09 00000b18: PUSH1 0x00 00000b1a: DUP4 00000b1b: PUSH1 0x00 00000b1d: NOT 00000b1e: AND 00000b1f: PUSH1 0x00 00000b21: NOT 00000b22: AND 00000b23: DUP2 00000b24: MSTORE 00000b25: PUSH1 0x20 00000b27: ADD 00000b28: SWAP1 00000b29: DUP2 00000b2a: MSTORE 00000b2b: PUSH1 0x20 00000b2d: ADD 00000b2e: PUSH1 0x00 00000b30: KECCAK256 00000b31: SLOAD 00000b32: SWAP1 00000b33: POP 00000b34: SWAP2 00000b35: SWAP1 00000b36: POP 00000b37: JUMP 00000b38: JUMPDEST 00000b39: PUSH1 0x00 00000b3b: PUSH2 0x0b42 00000b3e: PUSH2 0x2f62 00000b41: JUMP 00000b42: JUMPDEST 00000b43: PUSH2 0x0b4b 00000b46: DUP4 00000b47: PUSH2 0x1ccd 00000b4a: JUMP 00000b4b: JUMPDEST 00000b4c: SWAP1 00000b4d: POP 00000b4e: PUSH2 0x0b57 00000b51: DUP4 00000b52: DUP3 00000b53: PUSH2 0x1eca 00000b56: JUMP 00000b57: JUMPDEST 00000b58: ISZERO 00000b59: ISZERO 00000b5a: PUSH2 0x0b66 00000b5d: JUMPI 00000b5e: PUSH1 0x00 00000b60: SWAP2 00000b61: POP 00000b62: PUSH2 0x0bff 00000b65: JUMP 00000b66: JUMPDEST 00000b67: PUSH2 0x0b7a 00000b6a: DUP4 00000b6b: CALLER 00000b6c: DUP4 00000b6d: PUSH1 0x00 00000b6f: ADD 00000b70: MLOAD 00000b71: DUP5 00000b72: PUSH1 0x20 00000b74: ADD 00000b75: MLOAD 00000b76: PUSH2 0x1f62 00000b79: JUMP 00000b7a: JUMPDEST 00000b7b: ISZERO 00000b7c: ISZERO 00000b7d: PUSH2 0x0b85 00000b80: JUMPI 00000b81: PUSH1 0x00 00000b83: DUP1 00000b84: REVERT 00000b85: JUMPDEST 00000b86: PUSH2 0x0b93 00000b89: DUP4 00000b8a: DUP3 00000b8b: PUSH1 0x20 00000b8d: ADD 00000b8e: MLOAD 00000b8f: PUSH2 0x20c1 00000b92: JUMP 00000b93: JUMPDEST 00000b94: ISZERO 00000b95: ISZERO 00000b96: PUSH2 0x0b9e 00000b99: JUMPI 00000b9a: PUSH1 0x00 00000b9c: DUP1 00000b9d: REVERT 00000b9e: JUMPDEST 00000b9f: PUSH2 0x0ba7 00000ba2: DUP4 00000ba3: PUSH2 0x22fe 00000ba6: JUMP 00000ba7: JUMPDEST 00000ba8: ISZERO 00000ba9: ISZERO 00000baa: PUSH2 0x0bb2 00000bad: JUMPI 00000bae: PUSH1 0x00 00000bb0: DUP1 00000bb1: REVERT 00000bb2: JUMPDEST 00000bb3: DUP3 00000bb4: PUSH1 0x00 00000bb6: NOT 00000bb7: AND 00000bb8: PUSH32 0x6c55695f76744f2886f83cccde28ea951d8a6f689fe34413db04416110af850f 00000bd9: DUP3 00000bda: PUSH1 0x00 00000bdc: ADD 00000bdd: MLOAD 00000bde: DUP4 00000bdf: PUSH1 0x20 00000be1: ADD 00000be2: MLOAD 00000be3: DUP5 00000be4: PUSH1 0x40 00000be6: ADD 00000be7: MLOAD 00000be8: PUSH1 0x40 00000bea: MLOAD 00000beb: PUSH2 0x0bf6 00000bee: SWAP4 00000bef: SWAP3 00000bf0: SWAP2 00000bf1: SWAP1 00000bf2: PUSH2 0x371e 00000bf5: JUMP 00000bf6: JUMPDEST 00000bf7: PUSH1 0x40 00000bf9: MLOAD 00000bfa: DUP1 00000bfb: SWAP2 00000bfc: SUB 00000bfd: SWAP1 00000bfe: LOG2 00000bff: JUMPDEST 00000c00: POP 00000c01: SWAP2 00000c02: SWAP1 00000c03: POP 00000c04: JUMP 00000c05: JUMPDEST 00000c06: PUSH1 0x09 00000c08: PUSH1 0x20 00000c0a: MSTORE 00000c0b: DUP1 00000c0c: PUSH1 0x00 00000c0e: MSTORE 00000c0f: PUSH1 0x40 00000c11: PUSH1 0x00 00000c13: KECCAK256 00000c14: PUSH1 0x00 00000c16: SWAP2 00000c17: POP 00000c18: SWAP1 00000c19: POP 00000c1a: SLOAD 00000c1b: DUP2 00000c1c: JUMP 00000c1d: JUMPDEST 00000c1e: PUSH1 0x00 00000c20: PUSH2 0x0c47 00000c23: PUSH3 0x015180 00000c27: PUSH2 0x0c39 00000c2a: DUP6 00000c2b: DUP6 00000c2c: PUSH2 0x23bd 00000c2f: SWAP1 00000c30: SWAP2 00000c31: SWAP1 00000c32: PUSH4 0xffffffff 00000c37: AND 00000c38: JUMP 00000c39: JUMPDEST 00000c3a: PUSH2 0x23d6 00000c3d: SWAP1 00000c3e: SWAP2 00000c3f: SWAP1 00000c40: PUSH4 0xffffffff 00000c45: AND 00000c46: JUMP 00000c47: JUMPDEST 00000c48: SWAP1 00000c49: POP 00000c4a: SWAP3 00000c4b: SWAP2 00000c4c: POP 00000c4d: POP 00000c4e: JUMP 00000c4f: JUMPDEST 00000c50: PUSH1 0x00 00000c52: PUSH2 0x0c5a 00000c55: DUP3 00000c56: PUSH2 0x1b82 00000c59: JUMP 00000c5a: JUMPDEST 00000c5b: ISZERO 00000c5c: SWAP1 00000c5d: POP 00000c5e: SWAP2 00000c5f: SWAP1 00000c60: POP 00000c61: JUMP 00000c62: JUMPDEST 00000c63: PUSH1 0x07 00000c65: PUSH1 0x20 00000c67: MSTORE 00000c68: DUP1 00000c69: PUSH1 0x00 00000c6b: MSTORE 00000c6c: PUSH1 0x40 00000c6e: PUSH1 0x00 00000c70: KECCAK256 00000c71: PUSH1 0x00 00000c73: SWAP2 00000c74: POP 00000c75: SWAP1 00000c76: POP 00000c77: DUP1 00000c78: PUSH1 0x00 00000c7a: ADD 00000c7b: SLOAD 00000c7c: SWAP1 00000c7d: DUP1 00000c7e: PUSH1 0x01 00000c80: ADD 00000c81: PUSH1 0x00 00000c83: SWAP1 00000c84: SLOAD 00000c85: SWAP1 00000c86: PUSH2 0x0100 00000c89: EXP 00000c8a: SWAP1 00000c8b: DIV 00000c8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca1: AND 00000ca2: SWAP1 00000ca3: POP 00000ca4: DUP3 00000ca5: JUMP 00000ca6: JUMPDEST 00000ca7: PUSH1 0x00 00000ca9: PUSH2 0x0cb0 00000cac: PUSH2 0x2f84 00000caf: JUMP 00000cb0: JUMPDEST 00000cb1: PUSH1 0x00 00000cb3: PUSH2 0x0cbb 00000cb6: DUP5 00000cb7: PUSH2 0x23ec 00000cba: JUMP 00000cbb: JUMPDEST 00000cbc: SWAP2 00000cbd: POP 00000cbe: PUSH1 0x01 00000cc0: PUSH1 0x00 00000cc2: SWAP1 00000cc3: SLOAD 00000cc4: SWAP1 00000cc5: PUSH2 0x0100 00000cc8: EXP 00000cc9: SWAP1 00000cca: DIV 00000ccb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ce0: AND 00000ce1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cf6: AND 00000cf7: PUSH4 0x2f866f73 00000cfc: PUSH1 0x40 00000cfe: MLOAD 00000cff: DUP2 00000d00: PUSH4 0xffffffff 00000d05: AND 00000d06: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000d24: MUL 00000d25: DUP2 00000d26: MSTORE 00000d27: PUSH1 0x04 00000d29: ADD 00000d2a: PUSH1 0x20 00000d2c: PUSH1 0x40 00000d2e: MLOAD 00000d2f: DUP1 00000d30: DUP4 00000d31: SUB 00000d32: DUP2 00000d33: PUSH1 0x00 00000d35: DUP8 00000d36: DUP1 00000d37: EXTCODESIZE 00000d38: ISZERO 00000d39: DUP1 00000d3a: ISZERO 00000d3b: PUSH2 0x0d43 00000d3e: JUMPI 00000d3f: PUSH1 0x00 00000d41: DUP1 00000d42: REVERT 00000d43: JUMPDEST 00000d44: POP 00000d45: GAS 00000d46: CALL 00000d47: ISZERO 00000d48: DUP1 00000d49: ISZERO 00000d4a: PUSH2 0x0d57 00000d4d: JUMPI 00000d4e: RETURNDATASIZE 00000d4f: PUSH1 0x00 00000d51: DUP1 00000d52: RETURNDATACOPY 00000d53: RETURNDATASIZE 00000d54: PUSH1 0x00 00000d56: REVERT 00000d57: JUMPDEST 00000d58: POP 00000d59: POP 00000d5a: POP 00000d5b: POP 00000d5c: PUSH1 0x40 00000d5e: MLOAD 00000d5f: RETURNDATASIZE 00000d60: PUSH1 0x1f 00000d62: NOT 00000d63: PUSH1 0x1f 00000d65: DUP3 00000d66: ADD 00000d67: AND 00000d68: DUP3 00000d69: ADD 00000d6a: DUP1 00000d6b: PUSH1 0x40 00000d6d: MSTORE 00000d6e: POP 00000d6f: PUSH2 0x0d7b 00000d72: SWAP2 00000d73: SWAP1 00000d74: DUP2 00000d75: ADD 00000d76: SWAP1 00000d77: PUSH2 0x32c0 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d91: AND 00000d92: PUSH4 0xd69dbf63 00000d97: DUP6 00000d98: PUSH1 0x40 00000d9a: MLOAD 00000d9b: DUP3 00000d9c: PUSH4 0xffffffff 00000da1: AND 00000da2: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000dc0: MUL 00000dc1: DUP2 00000dc2: MSTORE 00000dc3: PUSH1 0x04 00000dc5: ADD 00000dc6: PUSH2 0x0dcf 00000dc9: SWAP2 00000dca: SWAP1 00000dcb: PUSH2 0x3613 00000dce: JUMP 00000dcf: JUMPDEST 00000dd0: PUSH1 0x20 00000dd2: PUSH1 0x40 00000dd4: MLOAD 00000dd5: DUP1 00000dd6: DUP4 00000dd7: SUB 00000dd8: DUP2 00000dd9: PUSH1 0x00 00000ddb: DUP8 00000ddc: DUP1 00000ddd: EXTCODESIZE 00000dde: ISZERO 00000ddf: DUP1 00000de0: ISZERO 00000de1: PUSH2 0x0de9 00000de4: JUMPI 00000de5: PUSH1 0x00 00000de7: DUP1 00000de8: REVERT 00000de9: JUMPDEST 00000dea: POP 00000deb: GAS 00000dec: CALL 00000ded: ISZERO 00000dee: DUP1 00000def: ISZERO 00000df0: PUSH2 0x0dfd 00000df3: JUMPI 00000df4: RETURNDATASIZE 00000df5: PUSH1 0x00 00000df7: DUP1 00000df8: RETURNDATACOPY 00000df9: RETURNDATASIZE 00000dfa: PUSH1 0x00 00000dfc: REVERT 00000dfd: JUMPDEST 00000dfe: POP 00000dff: POP 00000e00: POP 00000e01: POP 00000e02: PUSH1 0x40 00000e04: MLOAD 00000e05: RETURNDATASIZE 00000e06: PUSH1 0x1f 00000e08: NOT 00000e09: PUSH1 0x1f 00000e0b: DUP3 00000e0c: ADD 00000e0d: AND 00000e0e: DUP3 00000e0f: ADD 00000e10: DUP1 00000e11: PUSH1 0x40 00000e13: MSTORE 00000e14: POP 00000e15: PUSH2 0x0e21 00000e18: SWAP2 00000e19: SWAP1 00000e1a: DUP2 00000e1b: ADD 00000e1c: SWAP1 00000e1d: PUSH2 0x3377 00000e20: JUMP 00000e21: JUMPDEST 00000e22: SWAP1 00000e23: POP 00000e24: PUSH2 0x0e31 00000e27: DUP2 00000e28: DUP4 00000e29: PUSH1 0x00 00000e2b: ADD 00000e2c: MLOAD 00000e2d: PUSH2 0x0f26 00000e30: JUMP 00000e31: JUMPDEST 00000e32: SWAP3 00000e33: POP 00000e34: POP 00000e35: POP 00000e36: SWAP2 00000e37: SWAP1 00000e38: POP 00000e39: JUMP 00000e3a: JUMPDEST 00000e3b: PUSH2 0x0e42 00000e3e: PUSH2 0x2fad 00000e41: JUMP 00000e42: JUMPDEST 00000e43: PUSH1 0x40 00000e45: DUP1 00000e46: MLOAD 00000e47: SWAP1 00000e48: DUP2 00000e49: ADD 00000e4a: PUSH1 0x40 00000e4c: MSTORE 00000e4d: DUP1 00000e4e: PUSH2 0x0e55 00000e51: PUSH2 0x1c01 00000e54: JUMP 00000e55: JUMPDEST 00000e56: DUP2 00000e57: MSTORE 00000e58: PUSH1 0x20 00000e5a: ADD 00000e5b: PUSH1 0x04 00000e5d: PUSH1 0x0a 00000e5f: EXP 00000e60: DUP2 00000e61: MSTORE 00000e62: POP 00000e63: SWAP1 00000e64: POP 00000e65: SWAP1 00000e66: JUMP 00000e67: JUMPDEST 00000e68: PUSH1 0x00 00000e6a: PUSH2 0x0e72 00000e6d: DUP3 00000e6e: PUSH2 0x0af7 00000e71: JUMP 00000e72: JUMPDEST 00000e73: DUP1 00000e74: PUSH2 0x0e82 00000e77: JUMPI 00000e78: POP 00000e79: PUSH2 0x0e81 00000e7c: DUP3 00000e7d: PUSH2 0x18b7 00000e80: JUMP 00000e81: JUMPDEST 00000e82: JUMPDEST 00000e83: SWAP1 00000e84: POP 00000e85: SWAP2 00000e86: SWAP1 00000e87: POP 00000e88: JUMP 00000e89: JUMPDEST 00000e8a: PUSH1 0x04 00000e8c: PUSH1 0x0a 00000e8e: EXP 00000e8f: DUP2 00000e90: JUMP 00000e91: JUMPDEST 00000e92: PUSH1 0x00 00000e94: DUP1 00000e95: PUSH1 0x00 00000e97: SWAP1 00000e98: SLOAD 00000e99: SWAP1 00000e9a: PUSH2 0x0100 00000e9d: EXP 00000e9e: SWAP1 00000e9f: DIV 00000ea0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eb5: AND 00000eb6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ecb: AND 00000ecc: CALLER 00000ecd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ee2: AND 00000ee3: EQ 00000ee4: ISZERO 00000ee5: ISZERO 00000ee6: PUSH2 0x0eee 00000ee9: JUMPI 00000eea: PUSH1 0x00 00000eec: DUP1 00000eed: REVERT 00000eee: JUMPDEST 00000eef: DUP2 00000ef0: PUSH1 0x08 00000ef2: DUP2 00000ef3: SWAP1 00000ef4: SSTORE 00000ef5: POP 00000ef6: SWAP2 00000ef7: SWAP1 00000ef8: POP 00000ef9: JUMP 00000efa: JUMPDEST 00000efb: PUSH1 0x12 00000efd: DUP2 00000efe: JUMP 00000eff: JUMPDEST 00000f00: PUSH1 0x00 00000f02: PUSH2 0x0f09 00000f05: PUSH2 0x2f62 00000f08: JUMP 00000f09: JUMPDEST 00000f0a: PUSH2 0x0f12 00000f0d: DUP4 00000f0e: PUSH2 0x1ccd 00000f11: JUMP 00000f12: JUMPDEST 00000f13: SWAP1 00000f14: POP 00000f15: DUP1 00000f16: PUSH1 0x00 00000f18: ADD 00000f19: MLOAD 00000f1a: SWAP2 00000f1b: POP 00000f1c: POP 00000f1d: SWAP2 00000f1e: SWAP1 00000f1f: POP 00000f20: JUMP 00000f21: JUMPDEST 00000f22: PUSH1 0x02 00000f24: DUP2 00000f25: JUMP 00000f26: JUMPDEST 00000f27: PUSH1 0x00 00000f29: PUSH2 0x0f50 00000f2c: PUSH2 0x0f41 00000f2f: PUSH3 0x015180 00000f33: DUP5 00000f34: PUSH2 0x256d 00000f37: SWAP1 00000f38: SWAP2 00000f39: SWAP1 00000f3a: PUSH4 0xffffffff 00000f3f: AND 00000f40: JUMP 00000f41: JUMPDEST 00000f42: DUP5 00000f43: PUSH2 0x25a5 00000f46: SWAP1 00000f47: SWAP2 00000f48: SWAP1 00000f49: PUSH4 0xffffffff 00000f4e: AND 00000f4f: JUMP 00000f50: JUMPDEST 00000f51: SWAP1 00000f52: POP 00000f53: SWAP3 00000f54: SWAP2 00000f55: POP 00000f56: POP 00000f57: JUMP 00000f58: JUMPDEST 00000f59: PUSH1 0x03 00000f5b: SLOAD 00000f5c: DUP2 00000f5d: JUMP 00000f5e: JUMPDEST 00000f5f: PUSH1 0x00 00000f61: PUSH2 0x0f9b 00000f64: PUSH2 0x0f78 00000f67: PUSH1 0x05 00000f69: SLOAD 00000f6a: DUP5 00000f6b: PUSH2 0x25c1 00000f6e: SWAP1 00000f6f: SWAP2 00000f70: SWAP1 00000f71: PUSH4 0xffffffff 00000f76: AND 00000f77: JUMP 00000f78: JUMPDEST 00000f79: PUSH2 0x0f8d 00000f7c: PUSH1 0x05 00000f7e: SLOAD 00000f7f: DUP7 00000f80: PUSH2 0x25c1 00000f83: SWAP1 00000f84: SWAP2 00000f85: SWAP1 00000f86: PUSH4 0xffffffff 00000f8b: AND 00000f8c: JUMP 00000f8d: JUMPDEST 00000f8e: PUSH2 0x23bd 00000f91: SWAP1 00000f92: SWAP2 00000f93: SWAP1 00000f94: PUSH4 0xffffffff 00000f99: AND 00000f9a: JUMP 00000f9b: JUMPDEST 00000f9c: SWAP1 00000f9d: POP 00000f9e: SWAP3 00000f9f: SWAP2 00000fa0: POP 00000fa1: POP 00000fa2: JUMP 00000fa3: JUMPDEST 00000fa4: PUSH1 0x00 00000fa6: PUSH2 0x0fae 00000fa9: DUP3 00000faa: PUSH2 0x23ec 00000fad: JUMP 00000fae: JUMPDEST 00000faf: PUSH1 0x20 00000fb1: ADD 00000fb2: MLOAD 00000fb3: SWAP1 00000fb4: POP 00000fb5: SWAP2 00000fb6: SWAP1 00000fb7: POP 00000fb8: JUMP 00000fb9: JUMPDEST 00000fba: PUSH1 0x00 00000fbc: DUP1 00000fbd: PUSH1 0x01 00000fbf: PUSH1 0x00 00000fc1: SWAP1 00000fc2: SLOAD 00000fc3: SWAP1 00000fc4: PUSH2 0x0100 00000fc7: EXP 00000fc8: SWAP1 00000fc9: DIV 00000fca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fdf: AND 00000fe0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ff5: AND 00000ff6: PUSH4 0x6fa9d056 00000ffb: PUSH1 0x40 00000ffd: MLOAD 00000ffe: DUP2 00000fff: PUSH4 0xffffffff 00001004: AND 00001005: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001023: MUL 00001024: DUP2 00001025: MSTORE 00001026: PUSH1 0x04 00001028: ADD 00001029: PUSH1 0x20 0000102b: PUSH1 0x40 0000102d: MLOAD 0000102e: DUP1 0000102f: DUP4 00001030: SUB 00001031: DUP2 00001032: PUSH1 0x00 00001034: DUP8 00001035: DUP1 00001036: EXTCODESIZE 00001037: ISZERO 00001038: DUP1 00001039: ISZERO 0000103a: PUSH2 0x1042 0000103d: JUMPI 0000103e: PUSH1 0x00 00001040: DUP1 00001041: REVERT 00001042: JUMPDEST 00001043: POP 00001044: GAS 00001045: CALL 00001046: ISZERO 00001047: DUP1 00001048: ISZERO 00001049: PUSH2 0x1056 0000104c: JUMPI 0000104d: RETURNDATASIZE 0000104e: PUSH1 0x00 00001050: DUP1 00001051: RETURNDATACOPY 00001052: RETURNDATASIZE 00001053: PUSH1 0x00 00001055: REVERT 00001056: JUMPDEST 00001057: POP 00001058: POP 00001059: POP 0000105a: POP 0000105b: PUSH1 0x40 0000105d: MLOAD 0000105e: RETURNDATASIZE 0000105f: PUSH1 0x1f 00001061: NOT 00001062: PUSH1 0x1f 00001064: DUP3 00001065: ADD 00001066: AND 00001067: DUP3 00001068: ADD 00001069: DUP1 0000106a: PUSH1 0x40 0000106c: MSTORE 0000106d: POP 0000106e: PUSH2 0x107a 00001071: SWAP2 00001072: SWAP1 00001073: DUP2 00001074: ADD 00001075: SWAP1 00001076: PUSH2 0x32e9 00001079: JUMP 0000107a: JUMPDEST 0000107b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001090: AND 00001091: CALLER 00001092: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010a7: AND 000010a8: EQ 000010a9: ISZERO 000010aa: ISZERO 000010ab: PUSH2 0x10e9 000010ae: JUMPI 000010af: PUSH1 0x40 000010b1: MLOAD 000010b2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000010d3: DUP2 000010d4: MSTORE 000010d5: PUSH1 0x04 000010d7: ADD 000010d8: PUSH2 0x10e0 000010db: SWAP1 000010dc: PUSH2 0x367f 000010df: JUMP 000010e0: JUMPDEST 000010e1: PUSH1 0x40 000010e3: MLOAD 000010e4: DUP1 000010e5: SWAP2 000010e6: SUB 000010e7: SWAP1 000010e8: REVERT 000010e9: JUMPDEST 000010ea: PUSH1 0x02 000010ec: PUSH1 0x00 000010ee: SWAP1 000010ef: SLOAD 000010f0: SWAP1 000010f1: PUSH2 0x0100 000010f4: EXP 000010f5: SWAP1 000010f6: DIV 000010f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000110c: AND 0000110d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001122: AND 00001123: DUP4 00001124: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001139: AND 0000113a: EQ 0000113b: ISZERO 0000113c: ISZERO 0000113d: PUSH2 0x1149 00001140: JUMPI 00001141: PUSH1 0x00 00001143: SWAP2 00001144: POP 00001145: PUSH2 0x11f4 00001148: JUMP 00001149: JUMPDEST 0000114a: PUSH2 0x1177 0000114d: DUP5 0000114e: PUSH1 0x09 00001150: PUSH1 0x00 00001152: DUP11 00001153: PUSH1 0x00 00001155: NOT 00001156: AND 00001157: PUSH1 0x00 00001159: NOT 0000115a: AND 0000115b: DUP2 0000115c: MSTORE 0000115d: PUSH1 0x20 0000115f: ADD 00001160: SWAP1 00001161: DUP2 00001162: MSTORE 00001163: PUSH1 0x20 00001165: ADD 00001166: PUSH1 0x00 00001168: KECCAK256 00001169: SLOAD 0000116a: PUSH2 0x25a5 0000116d: SWAP1 0000116e: SWAP2 0000116f: SWAP1 00001170: PUSH4 0xffffffff 00001175: AND 00001176: JUMP 00001177: JUMPDEST 00001178: PUSH1 0x09 0000117a: PUSH1 0x00 0000117c: DUP10 0000117d: PUSH1 0x00 0000117f: NOT 00001180: AND 00001181: PUSH1 0x00 00001183: NOT 00001184: AND 00001185: DUP2 00001186: MSTORE 00001187: PUSH1 0x20 00001189: ADD 0000118a: SWAP1 0000118b: DUP2 0000118c: MSTORE 0000118d: PUSH1 0x20 0000118f: ADD 00001190: PUSH1 0x00 00001192: KECCAK256 00001193: DUP2 00001194: SWAP1 00001195: SSTORE 00001196: POP 00001197: PUSH2 0x11a8 0000119a: DUP8 0000119b: PUSH2 0x11a3 0000119e: DUP10 0000119f: PUSH2 0x0ca6 000011a2: JUMP 000011a3: JUMPDEST 000011a4: PUSH2 0x14c3 000011a7: JUMP 000011a8: JUMPDEST 000011a9: SWAP1 000011aa: POP 000011ab: DUP1 000011ac: PUSH1 0x09 000011ae: PUSH1 0x00 000011b0: DUP10 000011b1: PUSH1 0x00 000011b3: NOT 000011b4: AND 000011b5: PUSH1 0x00 000011b7: NOT 000011b8: AND 000011b9: DUP2 000011ba: MSTORE 000011bb: PUSH1 0x20 000011bd: ADD 000011be: SWAP1 000011bf: DUP2 000011c0: MSTORE 000011c1: PUSH1 0x20 000011c3: ADD 000011c4: PUSH1 0x00 000011c6: KECCAK256 000011c7: SLOAD 000011c8: LT 000011c9: ISZERO 000011ca: DUP1 000011cb: ISZERO 000011cc: PUSH2 0x11da 000011cf: JUMPI 000011d0: POP 000011d1: PUSH2 0x11d9 000011d4: DUP8 000011d5: PUSH2 0x1b82 000011d8: JUMP 000011d9: JUMPDEST 000011da: JUMPDEST 000011db: ISZERO 000011dc: PUSH2 0x11ef 000011df: JUMPI 000011e0: PUSH2 0x11e8 000011e3: DUP8 000011e4: PUSH2 0x22fe 000011e7: JUMP 000011e8: JUMPDEST 000011e9: SWAP2 000011ea: POP 000011eb: PUSH2 0x11f4 000011ee: JUMP 000011ef: JUMPDEST 000011f0: PUSH1 0x01 000011f2: SWAP2 000011f3: POP 000011f4: JUMPDEST 000011f5: POP 000011f6: SWAP6 000011f7: SWAP5 000011f8: POP 000011f9: POP 000011fa: POP 000011fb: POP 000011fc: POP 000011fd: JUMP 000011fe: JUMPDEST 000011ff: PUSH1 0x00 00001201: DUP1 00001202: SWAP1 00001203: SLOAD 00001204: SWAP1 00001205: PUSH2 0x0100 00001208: EXP 00001209: SWAP1 0000120a: DIV 0000120b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001220: AND 00001221: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001236: AND 00001237: CALLER 00001238: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000124d: AND 0000124e: EQ 0000124f: ISZERO 00001250: ISZERO 00001251: PUSH2 0x1259 00001254: JUMPI 00001255: PUSH1 0x00 00001257: DUP1 00001258: REVERT 00001259: JUMPDEST 0000125a: PUSH1 0x00 0000125c: DUP1 0000125d: SWAP1 0000125e: SLOAD 0000125f: SWAP1 00001260: PUSH2 0x0100 00001263: EXP 00001264: SWAP1 00001265: DIV 00001266: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000127b: AND 0000127c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001291: AND 00001292: PUSH32 0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820 000012b3: PUSH1 0x40 000012b5: MLOAD 000012b6: PUSH1 0x40 000012b8: MLOAD 000012b9: DUP1 000012ba: SWAP2 000012bb: SUB 000012bc: SWAP1 000012bd: LOG2 000012be: PUSH1 0x00 000012c0: DUP1 000012c1: PUSH1 0x00 000012c3: PUSH2 0x0100 000012c6: EXP 000012c7: DUP2 000012c8: SLOAD 000012c9: DUP2 000012ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012df: MUL 000012e0: NOT 000012e1: AND 000012e2: SWAP1 000012e3: DUP4 000012e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012f9: AND 000012fa: MUL 000012fb: OR 000012fc: SWAP1 000012fd: SSTORE 000012fe: POP 000012ff: JUMP 00001300: JUMPDEST 00001301: PUSH1 0x04 00001303: DUP2 00001304: JUMP 00001305: JUMPDEST 00001306: PUSH1 0x06 00001308: PUSH1 0x00 0000130a: SWAP1 0000130b: SLOAD 0000130c: SWAP1 0000130d: PUSH2 0x0100 00001310: EXP 00001311: SWAP1 00001312: DIV 00001313: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001328: AND 00001329: DUP2 0000132a: JUMP 0000132b: JUMPDEST 0000132c: PUSH1 0x00 0000132e: DUP2 0000132f: DUP4 00001330: LT 00001331: PUSH2 0x133a 00001334: JUMPI 00001335: DUP2 00001336: PUSH2 0x133c 00001339: JUMP 0000133a: JUMPDEST 0000133b: DUP3 0000133c: JUMPDEST 0000133d: SWAP1 0000133e: POP 0000133f: SWAP3 00001340: SWAP2 00001341: POP 00001342: POP 00001343: JUMP 00001344: JUMPDEST 00001345: PUSH1 0x00 00001347: DUP1 00001348: SWAP1 00001349: SLOAD 0000134a: SWAP1 0000134b: PUSH2 0x0100 0000134e: EXP 0000134f: SWAP1 00001350: DIV 00001351: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001366: AND 00001367: DUP2 00001368: JUMP 00001369: JUMPDEST 0000136a: PUSH1 0x00 0000136c: PUSH2 0x1373 0000136f: PUSH2 0x2f84 00001372: JUMP 00001373: JUMPDEST 00001374: PUSH1 0x01 00001376: PUSH1 0x00 00001378: SWAP1 00001379: SLOAD 0000137a: SWAP1 0000137b: PUSH2 0x0100 0000137e: EXP 0000137f: SWAP1 00001380: DIV 00001381: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001396: AND 00001397: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013ac: AND 000013ad: PUSH4 0x079dd4b7 000013b2: PUSH1 0x40 000013b4: MLOAD 000013b5: DUP2 000013b6: PUSH4 0xffffffff 000013bb: AND 000013bc: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000013da: MUL 000013db: DUP2 000013dc: MSTORE 000013dd: PUSH1 0x04 000013df: ADD 000013e0: PUSH1 0x20 000013e2: PUSH1 0x40 000013e4: MLOAD 000013e5: DUP1 000013e6: DUP4 000013e7: SUB 000013e8: DUP2 000013e9: PUSH1 0x00 000013eb: DUP8 000013ec: DUP1 000013ed: EXTCODESIZE 000013ee: ISZERO 000013ef: DUP1 000013f0: ISZERO 000013f1: PUSH2 0x13f9 000013f4: JUMPI 000013f5: PUSH1 0x00 000013f7: DUP1 000013f8: REVERT 000013f9: JUMPDEST 000013fa: POP 000013fb: GAS 000013fc: CALL 000013fd: ISZERO 000013fe: DUP1 000013ff: ISZERO 00001400: PUSH2 0x140d 00001403: JUMPI 00001404: RETURNDATASIZE 00001405: PUSH1 0x00 00001407: DUP1 00001408: RETURNDATACOPY 00001409: RETURNDATASIZE 0000140a: PUSH1 0x00 0000140c: REVERT 0000140d: JUMPDEST 0000140e: POP 0000140f: POP 00001410: POP 00001411: POP 00001412: PUSH1 0x40 00001414: MLOAD 00001415: RETURNDATASIZE 00001416: PUSH1 0x1f 00001418: NOT 00001419: PUSH1 0x1f 0000141b: DUP3 0000141c: ADD 0000141d: AND 0000141e: DUP3 0000141f: ADD 00001420: DUP1 00001421: PUSH1 0x40 00001423: MSTORE 00001424: POP 00001425: PUSH2 0x1431 00001428: SWAP2 00001429: SWAP1 0000142a: DUP2 0000142b: ADD 0000142c: SWAP1 0000142d: PUSH2 0x3297 00001430: JUMP 00001431: JUMPDEST 00001432: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001447: AND 00001448: CALLER 00001449: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000145e: AND 0000145f: EQ 00001460: ISZERO 00001461: ISZERO 00001462: PUSH2 0x14a0 00001465: JUMPI 00001466: PUSH1 0x40 00001468: MLOAD 00001469: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000148a: DUP2 0000148b: MSTORE 0000148c: PUSH1 0x04 0000148e: ADD 0000148f: PUSH2 0x1497 00001492: SWAP1 00001493: PUSH2 0x369f 00001496: JUMP 00001497: JUMPDEST 00001498: PUSH1 0x40 0000149a: MLOAD 0000149b: DUP1 0000149c: SWAP2 0000149d: SUB 0000149e: SWAP1 0000149f: REVERT 000014a0: JUMPDEST 000014a1: PUSH2 0x14a9 000014a4: DUP5 000014a5: PUSH2 0x23ec 000014a8: JUMP 000014a9: JUMPDEST 000014aa: SWAP1 000014ab: POP 000014ac: PUSH2 0x14ba 000014af: DUP5 000014b0: DUP3 000014b1: PUSH1 0x60 000014b3: ADD 000014b4: MLOAD 000014b5: DUP6 000014b6: PUSH2 0x2609 000014b9: JUMP 000014ba: JUMPDEST 000014bb: SWAP2 000014bc: POP 000014bd: POP 000014be: SWAP3 000014bf: SWAP2 000014c0: POP 000014c1: POP 000014c2: JUMP 000014c3: JUMPDEST 000014c4: PUSH1 0x00 000014c6: PUSH2 0x14cd 000014c9: PUSH2 0x2f84 000014cc: JUMP 000014cd: JUMPDEST 000014ce: PUSH1 0x00 000014d0: PUSH2 0x14d8 000014d3: DUP6 000014d4: PUSH2 0x23ec 000014d7: JUMP 000014d8: JUMPDEST 000014d9: SWAP2 000014da: POP 000014db: PUSH1 0x01 000014dd: PUSH1 0x00 000014df: SWAP1 000014e0: SLOAD 000014e1: SWAP1 000014e2: PUSH2 0x0100 000014e5: EXP 000014e6: SWAP1 000014e7: DIV 000014e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014fd: AND 000014fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001513: AND 00001514: PUSH4 0x2f866f73 00001519: PUSH1 0x40 0000151b: MLOAD 0000151c: DUP2 0000151d: PUSH4 0xffffffff 00001522: AND 00001523: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001541: MUL 00001542: DUP2 00001543: MSTORE 00001544: PUSH1 0x04 00001546: ADD 00001547: PUSH1 0x20 00001549: PUSH1 0x40 0000154b: MLOAD 0000154c: DUP1 0000154d: DUP4 0000154e: SUB 0000154f: DUP2 00001550: PUSH1 0x00 00001552: DUP8 00001553: DUP1 00001554: EXTCODESIZE 00001555: ISZERO 00001556: DUP1 00001557: ISZERO 00001558: PUSH2 0x1560 0000155b: JUMPI 0000155c: PUSH1 0x00 0000155e: DUP1 0000155f: REVERT 00001560: JUMPDEST 00001561: POP 00001562: GAS 00001563: CALL 00001564: ISZERO 00001565: DUP1 00001566: ISZERO 00001567: PUSH2 0x1574 0000156a: JUMPI 0000156b: RETURNDATASIZE 0000156c: PUSH1 0x00 0000156e: DUP1 0000156f: RETURNDATACOPY 00001570: RETURNDATASIZE 00001571: PUSH1 0x00 00001573: REVERT 00001574: JUMPDEST 00001575: POP 00001576: POP 00001577: POP 00001578: POP 00001579: PUSH1 0x40 0000157b: MLOAD 0000157c: RETURNDATASIZE 0000157d: PUSH1 0x1f 0000157f: NOT 00001580: PUSH1 0x1f 00001582: DUP3 00001583: ADD 00001584: AND 00001585: DUP3 00001586: ADD 00001587: DUP1 00001588: PUSH1 0x40 0000158a: MSTORE 0000158b: POP 0000158c: PUSH2 0x1598 0000158f: SWAP2 00001590: SWAP1 00001591: DUP2 00001592: ADD 00001593: SWAP1 00001594: PUSH2 0x32c0 00001597: JUMP 00001598: JUMPDEST 00001599: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015ae: AND 000015af: PUSH4 0xd69dbf63 000015b4: DUP7 000015b5: PUSH1 0x40 000015b7: MLOAD 000015b8: DUP3 000015b9: PUSH4 0xffffffff 000015be: AND 000015bf: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000015dd: MUL 000015de: DUP2 000015df: MSTORE 000015e0: PUSH1 0x04 000015e2: ADD 000015e3: PUSH2 0x15ec 000015e6: SWAP2 000015e7: SWAP1 000015e8: PUSH2 0x3613 000015eb: JUMP 000015ec: JUMPDEST 000015ed: PUSH1 0x20 000015ef: PUSH1 0x40 000015f1: MLOAD 000015f2: DUP1 000015f3: DUP4 000015f4: SUB 000015f5: DUP2 000015f6: PUSH1 0x00 000015f8: DUP8 000015f9: DUP1 000015fa: EXTCODESIZE 000015fb: ISZERO 000015fc: DUP1 000015fd: ISZERO 000015fe: PUSH2 0x1606 00001601: JUMPI 00001602: PUSH1 0x00 00001604: DUP1 00001605: REVERT 00001606: JUMPDEST 00001607: POP 00001608: GAS 00001609: CALL 0000160a: ISZERO 0000160b: DUP1 0000160c: ISZERO 0000160d: PUSH2 0x161a 00001610: JUMPI 00001611: RETURNDATASIZE 00001612: PUSH1 0x00 00001614: DUP1 00001615: RETURNDATACOPY 00001616: RETURNDATASIZE 00001617: PUSH1 0x00 00001619: REVERT 0000161a: JUMPDEST 0000161b: POP 0000161c: POP 0000161d: POP 0000161e: POP 0000161f: PUSH1 0x40 00001621: MLOAD 00001622: RETURNDATASIZE 00001623: PUSH1 0x1f 00001625: NOT 00001626: PUSH1 0x1f 00001628: DUP3 00001629: ADD 0000162a: AND 0000162b: DUP3 0000162c: ADD 0000162d: DUP1 0000162e: PUSH1 0x40 00001630: MSTORE 00001631: POP 00001632: PUSH2 0x163e 00001635: SWAP2 00001636: SWAP1 00001637: DUP2 00001638: ADD 00001639: SWAP1 0000163a: PUSH2 0x3377 0000163d: JUMP 0000163e: JUMPDEST 0000163f: SWAP1 00001640: POP 00001641: DUP2 00001642: PUSH1 0x00 00001644: ADD 00001645: MLOAD 00001646: PUSH2 0x164f 00001649: DUP3 0000164a: DUP7 0000164b: PUSH2 0x0c1d 0000164e: JUMP 0000164f: JUMPDEST 00001650: LT 00001651: ISZERO 00001652: ISZERO 00001653: PUSH2 0x1662 00001656: JUMPI 00001657: DUP2 00001658: PUSH1 0x40 0000165a: ADD 0000165b: MLOAD 0000165c: SWAP3 0000165d: POP 0000165e: PUSH2 0x1667 00001661: JUMP 00001662: JUMPDEST 00001663: PUSH1 0x00 00001665: SWAP3 00001666: POP 00001667: JUMPDEST 00001668: POP 00001669: POP 0000166a: SWAP3 0000166b: SWAP2 0000166c: POP 0000166d: POP 0000166e: JUMP 0000166f: JUMPDEST 00001670: PUSH1 0x00 00001672: PUSH2 0x1679 00001675: PUSH2 0x2f62 00001678: JUMP 00001679: JUMPDEST 0000167a: PUSH2 0x1682 0000167d: DUP4 0000167e: PUSH2 0x1ccd 00001681: JUMP 00001682: JUMPDEST 00001683: SWAP1 00001684: POP 00001685: DUP1 00001686: PUSH1 0x20 00001688: ADD 00001689: MLOAD 0000168a: SWAP2 0000168b: POP 0000168c: POP 0000168d: SWAP2 0000168e: SWAP1 0000168f: POP 00001690: JUMP 00001691: JUMPDEST 00001692: PUSH2 0x1699 00001695: PUSH2 0x2fad 00001698: JUMP 00001699: JUMPDEST 0000169a: PUSH1 0x00 0000169c: DUP1 0000169d: PUSH1 0x00 0000169f: PUSH2 0x16a6 000016a2: PUSH2 0x2fad 000016a5: JUMP 000016a6: JUMPDEST 000016a7: PUSH1 0x00 000016a9: PUSH2 0x16b0 000016ac: PUSH2 0x2fad 000016af: JUMP 000016b0: JUMPDEST 000016b1: PUSH2 0x16b8 000016b4: PUSH2 0x2fad 000016b7: JUMP 000016b8: JUMPDEST 000016b9: PUSH2 0x16c0 000016bc: PUSH2 0x2fad 000016bf: JUMP 000016c0: JUMPDEST 000016c1: PUSH2 0x16c8 000016c4: PUSH2 0x2fad 000016c7: JUMP 000016c8: JUMPDEST 000016c9: PUSH1 0x00 000016cb: PUSH2 0x16d2 000016ce: PUSH2 0x2fad 000016d1: JUMP 000016d2: JUMPDEST 000016d3: PUSH1 0x03 000016d5: SLOAD 000016d6: PUSH1 0x0a 000016d8: EXP 000016d9: SWAP11 000016da: POP 000016db: PUSH1 0x05 000016dd: SLOAD 000016de: PUSH1 0x0a 000016e0: EXP 000016e1: SWAP10 000016e2: POP 000016e3: PUSH1 0x06 000016e5: PUSH1 0x00 000016e7: SWAP1 000016e8: SLOAD 000016e9: SWAP1 000016ea: PUSH2 0x0100 000016ed: EXP 000016ee: SWAP1 000016ef: DIV 000016f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001705: AND 00001706: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000171b: AND 0000171c: PUSH4 0x57de26a4 00001721: PUSH1 0x40 00001723: MLOAD 00001724: DUP2 00001725: PUSH4 0xffffffff 0000172a: AND 0000172b: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001749: MUL 0000174a: DUP2 0000174b: MSTORE 0000174c: PUSH1 0x04 0000174e: ADD 0000174f: PUSH1 0x20 00001751: PUSH1 0x40 00001753: MLOAD 00001754: DUP1 00001755: DUP4 00001756: SUB 00001757: DUP2 00001758: PUSH1 0x00 0000175a: DUP8 0000175b: DUP1 0000175c: EXTCODESIZE 0000175d: ISZERO 0000175e: DUP1 0000175f: ISZERO 00001760: PUSH2 0x1768 00001763: JUMPI 00001764: PUSH1 0x00 00001766: DUP1 00001767: REVERT 00001768: JUMPDEST 00001769: POP 0000176a: GAS 0000176b: CALL 0000176c: ISZERO 0000176d: DUP1 0000176e: ISZERO 0000176f: PUSH2 0x177c 00001772: JUMPI 00001773: RETURNDATASIZE 00001774: PUSH1 0x00 00001776: DUP1 00001777: RETURNDATACOPY 00001778: RETURNDATASIZE 00001779: PUSH1 0x00 0000177b: REVERT 0000177c: JUMPDEST 0000177d: POP 0000177e: POP 0000177f: POP 00001780: POP 00001781: PUSH1 0x40 00001783: MLOAD 00001784: RETURNDATASIZE 00001785: PUSH1 0x1f 00001787: NOT 00001788: PUSH1 0x1f 0000178a: DUP3 0000178b: ADD 0000178c: AND 0000178d: DUP3 0000178e: ADD 0000178f: DUP1 00001790: PUSH1 0x40 00001792: MSTORE 00001793: POP 00001794: PUSH2 0x17a0 00001797: SWAP2 00001798: SWAP1 00001799: DUP2 0000179a: ADD 0000179b: SWAP1 0000179c: PUSH2 0x317f 0000179f: JUMP 000017a0: JUMPDEST 000017a1: PUSH1 0x01 000017a3: SWAP1 000017a4: DIV 000017a5: SWAP9 000017a6: POP 000017a7: PUSH1 0x40 000017a9: DUP1 000017aa: MLOAD 000017ab: SWAP1 000017ac: DUP2 000017ad: ADD 000017ae: PUSH1 0x40 000017b0: MSTORE 000017b1: DUP1 000017b2: DUP11 000017b3: DUP2 000017b4: MSTORE 000017b5: PUSH1 0x20 000017b7: ADD 000017b8: PUSH1 0x12 000017ba: PUSH1 0x0a 000017bc: EXP 000017bd: DUP2 000017be: MSTORE 000017bf: POP 000017c0: SWAP8 000017c1: POP 000017c2: PUSH2 0x17ca 000017c5: DUP14 000017c6: PUSH2 0x1c21 000017c9: JUMP 000017ca: JUMPDEST 000017cb: SWAP7 000017cc: POP 000017cd: PUSH1 0x40 000017cf: DUP1 000017d0: MLOAD 000017d1: SWAP1 000017d2: DUP2 000017d3: ADD 000017d4: PUSH1 0x40 000017d6: MSTORE 000017d7: DUP1 000017d8: DUP9 000017d9: DUP2 000017da: MSTORE 000017db: PUSH1 0x20 000017dd: ADD 000017de: DUP13 000017df: DUP2 000017e0: MSTORE 000017e1: POP 000017e2: SWAP6 000017e3: POP 000017e4: PUSH2 0x17f6 000017e7: DUP9 000017e8: DUP8 000017e9: PUSH2 0x279a 000017ec: SWAP1 000017ed: SWAP2 000017ee: SWAP1 000017ef: PUSH4 0xffffffff 000017f4: AND 000017f5: JUMP 000017f6: JUMPDEST 000017f7: SWAP5 000017f8: POP 000017f9: PUSH2 0x1800 000017fc: PUSH2 0x0e3a 000017ff: JUMP 00001800: JUMPDEST 00001801: SWAP4 00001802: POP 00001803: PUSH2 0x1815 00001806: DUP5 00001807: DUP7 00001808: PUSH2 0x27e8 0000180b: SWAP1 0000180c: SWAP2 0000180d: SWAP1 0000180e: PUSH4 0xffffffff 00001813: AND 00001814: JUMP 00001815: JUMPDEST 00001816: SWAP3 00001817: POP 00001818: PUSH1 0x07 0000181a: PUSH1 0x00 0000181c: DUP15 0000181d: PUSH1 0x00 0000181f: NOT 00001820: AND 00001821: PUSH1 0x00 00001823: NOT 00001824: AND 00001825: DUP2 00001826: MSTORE 00001827: PUSH1 0x20 00001829: ADD 0000182a: SWAP1 0000182b: DUP2 0000182c: MSTORE 0000182d: PUSH1 0x20 0000182f: ADD 00001830: PUSH1 0x00 00001832: KECCAK256 00001833: PUSH1 0x00 00001835: ADD 00001836: SLOAD 00001837: SWAP2 00001838: POP 00001839: PUSH1 0x40 0000183b: DUP1 0000183c: MLOAD 0000183d: SWAP1 0000183e: DUP2 0000183f: ADD 00001840: PUSH1 0x40 00001842: MSTORE 00001843: DUP1 00001844: DUP4 00001845: DUP2 00001846: MSTORE 00001847: PUSH1 0x20 00001849: ADD 0000184a: DUP12 0000184b: DUP2 0000184c: MSTORE 0000184d: POP 0000184e: SWAP1 0000184f: POP 00001850: PUSH2 0x1859 00001853: DUP2 00001854: DUP5 00001855: PUSH2 0x2836 00001858: JUMP 00001859: JUMPDEST 0000185a: SWAP12 0000185b: POP 0000185c: POP 0000185d: POP 0000185e: POP 0000185f: POP 00001860: POP 00001861: POP 00001862: POP 00001863: POP 00001864: POP 00001865: POP 00001866: POP 00001867: SWAP2 00001868: SWAP1 00001869: POP 0000186a: JUMP 0000186b: JUMPDEST 0000186c: PUSH1 0x01 0000186e: PUSH1 0x00 00001870: SWAP1 00001871: SLOAD 00001872: SWAP1 00001873: PUSH2 0x0100 00001876: EXP 00001877: SWAP1 00001878: DIV 00001879: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000188e: AND 0000188f: DUP2 00001890: JUMP 00001891: JUMPDEST 00001892: PUSH1 0x04 00001894: PUSH1 0x00 00001896: SWAP1 00001897: SLOAD 00001898: SWAP1 00001899: PUSH2 0x0100 0000189c: EXP 0000189d: SWAP1 0000189e: DIV 0000189f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018b4: AND 000018b5: DUP2 000018b6: JUMP 000018b7: JUMPDEST 000018b8: PUSH1 0x00 000018ba: PUSH2 0x18c2 000018bd: DUP3 000018be: PUSH2 0x0b13 000018c1: JUMP 000018c2: JUMPDEST 000018c3: PUSH2 0x18cc 000018c6: DUP4 000018c7: TIMESTAMP 000018c8: PUSH2 0x14c3 000018cb: JUMP 000018cc: JUMPDEST 000018cd: GT 000018ce: SWAP1 000018cf: POP 000018d0: SWAP2 000018d1: SWAP1 000018d2: POP 000018d3: JUMP 000018d4: JUMPDEST 000018d5: PUSH1 0x05 000018d7: SLOAD 000018d8: DUP2 000018d9: JUMP 000018da: JUMPDEST 000018db: PUSH1 0x08 000018dd: SLOAD 000018de: DUP2 000018df: JUMP 000018e0: JUMPDEST 000018e1: PUSH1 0x00 000018e3: PUSH2 0x18ea 000018e6: PUSH2 0x2f62 000018e9: JUMP 000018ea: JUMPDEST 000018eb: PUSH2 0x18f3 000018ee: DUP4 000018ef: PUSH2 0x1ccd 000018f2: JUMP 000018f3: JUMPDEST 000018f4: SWAP1 000018f5: POP 000018f6: DUP1 000018f7: PUSH1 0x40 000018f9: ADD 000018fa: MLOAD 000018fb: SWAP2 000018fc: POP 000018fd: POP 000018fe: SWAP2 000018ff: SWAP1 00001900: POP 00001901: JUMP 00001902: JUMPDEST 00001903: PUSH1 0x00 00001905: DUP1 00001906: PUSH1 0x00 00001908: DUP1 00001909: PUSH2 0x1910 0000190c: PUSH2 0x2fad 0000190f: JUMP 00001910: JUMPDEST 00001911: PUSH1 0x00 00001913: PUSH2 0x191a 00001916: PUSH2 0x2fad 00001919: JUMP 0000191a: JUMPDEST 0000191b: PUSH2 0x1922 0000191e: PUSH2 0x2fad 00001921: JUMP 00001922: JUMPDEST 00001923: PUSH1 0x00 00001925: PUSH2 0x192c 00001928: PUSH2 0x2fad 0000192b: JUMP 0000192c: JUMPDEST 0000192d: PUSH2 0x1934 00001930: PUSH2 0x2fad 00001933: JUMP 00001934: JUMPDEST 00001935: PUSH1 0x03 00001937: SLOAD 00001938: PUSH1 0x0a 0000193a: EXP 0000193b: SWAP10 0000193c: POP 0000193d: PUSH1 0x05 0000193f: SLOAD 00001940: PUSH1 0x0a 00001942: EXP 00001943: SWAP9 00001944: POP 00001945: PUSH1 0x06 00001947: PUSH1 0x00 00001949: SWAP1 0000194a: SLOAD 0000194b: SWAP1 0000194c: PUSH2 0x0100 0000194f: EXP 00001950: SWAP1 00001951: DIV 00001952: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001967: AND 00001968: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000197d: AND 0000197e: PUSH4 0x57de26a4 00001983: PUSH1 0x40 00001985: MLOAD 00001986: DUP2 00001987: PUSH4 0xffffffff 0000198c: AND 0000198d: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000019ab: MUL 000019ac: DUP2 000019ad: MSTORE 000019ae: PUSH1 0x04 000019b0: ADD 000019b1: PUSH1 0x20 000019b3: PUSH1 0x40 000019b5: MLOAD 000019b6: DUP1 000019b7: DUP4 000019b8: SUB 000019b9: DUP2 000019ba: PUSH1 0x00 000019bc: DUP8 000019bd: DUP1 000019be: EXTCODESIZE 000019bf: ISZERO 000019c0: DUP1 000019c1: ISZERO 000019c2: PUSH2 0x19ca 000019c5: JUMPI 000019c6: PUSH1 0x00 000019c8: DUP1 000019c9: REVERT 000019ca: JUMPDEST 000019cb: POP 000019cc: GAS 000019cd: CALL 000019ce: ISZERO 000019cf: DUP1 000019d0: ISZERO 000019d1: PUSH2 0x19de 000019d4: JUMPI 000019d5: RETURNDATASIZE 000019d6: PUSH1 0x00 000019d8: DUP1 000019d9: RETURNDATACOPY 000019da: RETURNDATASIZE 000019db: PUSH1 0x00 000019dd: REVERT 000019de: JUMPDEST 000019df: POP 000019e0: POP 000019e1: POP 000019e2: POP 000019e3: PUSH1 0x40 000019e5: MLOAD 000019e6: RETURNDATASIZE 000019e7: PUSH1 0x1f 000019e9: NOT 000019ea: PUSH1 0x1f 000019ec: DUP3 000019ed: ADD 000019ee: AND 000019ef: DUP3 000019f0: ADD 000019f1: DUP1 000019f2: PUSH1 0x40 000019f4: MSTORE 000019f5: POP 000019f6: PUSH2 0x1a02 000019f9: SWAP2 000019fa: SWAP1 000019fb: DUP2 000019fc: ADD 000019fd: SWAP1 000019fe: PUSH2 0x317f 00001a01: JUMP 00001a02: JUMPDEST 00001a03: PUSH1 0x01 00001a05: SWAP1 00001a06: DIV 00001a07: SWAP8 00001a08: POP 00001a09: PUSH1 0x40 00001a0b: DUP1 00001a0c: MLOAD 00001a0d: SWAP1 00001a0e: DUP2 00001a0f: ADD 00001a10: PUSH1 0x40 00001a12: MSTORE 00001a13: DUP1 00001a14: DUP10 00001a15: DUP2 00001a16: MSTORE 00001a17: PUSH1 0x20 00001a19: ADD 00001a1a: PUSH1 0x12 00001a1c: PUSH1 0x0a 00001a1e: EXP 00001a1f: DUP2 00001a20: MSTORE 00001a21: POP 00001a22: SWAP7 00001a23: POP 00001a24: PUSH2 0x1a2c 00001a27: DUP13 00001a28: PUSH2 0x1c21 00001a2b: JUMP 00001a2c: JUMPDEST 00001a2d: SWAP6 00001a2e: POP 00001a2f: PUSH1 0x40 00001a31: DUP1 00001a32: MLOAD 00001a33: SWAP1 00001a34: DUP2 00001a35: ADD 00001a36: PUSH1 0x40 00001a38: MSTORE 00001a39: DUP1 00001a3a: DUP8 00001a3b: DUP2 00001a3c: MSTORE 00001a3d: PUSH1 0x20 00001a3f: ADD 00001a40: DUP12 00001a41: DUP2 00001a42: MSTORE 00001a43: POP 00001a44: SWAP5 00001a45: POP 00001a46: PUSH2 0x1a58 00001a49: DUP8 00001a4a: DUP7 00001a4b: PUSH2 0x279a 00001a4e: SWAP1 00001a4f: SWAP2 00001a50: SWAP1 00001a51: PUSH4 0xffffffff 00001a56: AND 00001a57: JUMP 00001a58: JUMPDEST 00001a59: SWAP4 00001a5a: POP 00001a5b: PUSH1 0x07 00001a5d: PUSH1 0x00 00001a5f: DUP14 00001a60: PUSH1 0x00 00001a62: NOT 00001a63: AND 00001a64: PUSH1 0x00 00001a66: NOT 00001a67: AND 00001a68: DUP2 00001a69: MSTORE 00001a6a: PUSH1 0x20 00001a6c: ADD 00001a6d: SWAP1 00001a6e: DUP2 00001a6f: MSTORE 00001a70: PUSH1 0x20 00001a72: ADD 00001a73: PUSH1 0x00 00001a75: KECCAK256 00001a76: PUSH1 0x00 00001a78: ADD 00001a79: SLOAD 00001a7a: SWAP3 00001a7b: POP 00001a7c: PUSH1 0x40 00001a7e: DUP1 00001a7f: MLOAD 00001a80: SWAP1 00001a81: DUP2 00001a82: ADD 00001a83: PUSH1 0x40 00001a85: MSTORE 00001a86: DUP1 00001a87: DUP5 00001a88: DUP2 00001a89: MSTORE 00001a8a: PUSH1 0x20 00001a8c: ADD 00001a8d: DUP11 00001a8e: DUP2 00001a8f: MSTORE 00001a90: POP 00001a91: SWAP2 00001a92: POP 00001a93: PUSH2 0x1aa5 00001a96: DUP3 00001a97: DUP6 00001a98: PUSH2 0x27e8 00001a9b: SWAP1 00001a9c: SWAP2 00001a9d: SWAP1 00001a9e: PUSH4 0xffffffff 00001aa3: AND 00001aa4: JUMP 00001aa5: JUMPDEST 00001aa6: SWAP1 00001aa7: POP 00001aa8: PUSH2 0x1abb 00001aab: PUSH1 0x02 00001aad: DUP3 00001aae: PUSH2 0x25c1 00001ab1: SWAP1 00001ab2: SWAP2 00001ab3: SWAP1 00001ab4: PUSH4 0xffffffff 00001ab9: AND 00001aba: JUMP 00001abb: JUMPDEST 00001abc: SWAP11 00001abd: POP 00001abe: POP 00001abf: POP 00001ac0: POP 00001ac1: POP 00001ac2: POP 00001ac3: POP 00001ac4: POP 00001ac5: POP 00001ac6: POP 00001ac7: POP 00001ac8: SWAP2 00001ac9: SWAP1 00001aca: POP 00001acb: JUMP 00001acc: JUMPDEST 00001acd: PUSH1 0x00 00001acf: DUP1 00001ad0: CALLER 00001ad1: SWAP2 00001ad2: POP 00001ad3: ADDRESS 00001ad4: SWAP1 00001ad5: POP 00001ad6: PUSH2 0x1b02 00001ad9: PUSH1 0x04 00001adb: PUSH1 0x00 00001add: SWAP1 00001ade: SLOAD 00001adf: SWAP1 00001ae0: PUSH2 0x0100 00001ae3: EXP 00001ae4: SWAP1 00001ae5: DIV 00001ae6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001afb: AND 00001afc: DUP4 00001afd: DUP6 00001afe: PUSH2 0x2897 00001b01: JUMP 00001b02: JUMPDEST 00001b03: POP 00001b04: PUSH2 0x1b34 00001b07: DUP4 00001b08: PUSH1 0x07 00001b0a: PUSH1 0x00 00001b0c: DUP8 00001b0d: PUSH1 0x00 00001b0f: NOT 00001b10: AND 00001b11: PUSH1 0x00 00001b13: NOT 00001b14: AND 00001b15: DUP2 00001b16: MSTORE 00001b17: PUSH1 0x20 00001b19: ADD 00001b1a: SWAP1 00001b1b: DUP2 00001b1c: MSTORE 00001b1d: PUSH1 0x20 00001b1f: ADD 00001b20: PUSH1 0x00 00001b22: KECCAK256 00001b23: PUSH1 0x00 00001b25: ADD 00001b26: SLOAD 00001b27: PUSH2 0x25a5 00001b2a: SWAP1 00001b2b: SWAP2 00001b2c: SWAP1 00001b2d: PUSH4 0xffffffff 00001b32: AND 00001b33: JUMP 00001b34: JUMPDEST 00001b35: PUSH1 0x07 00001b37: PUSH1 0x00 00001b39: DUP7 00001b3a: PUSH1 0x00 00001b3c: NOT 00001b3d: AND 00001b3e: PUSH1 0x00 00001b40: NOT 00001b41: AND 00001b42: DUP2 00001b43: MSTORE 00001b44: PUSH1 0x20 00001b46: ADD 00001b47: SWAP1 00001b48: DUP2 00001b49: MSTORE 00001b4a: PUSH1 0x20 00001b4c: ADD 00001b4d: PUSH1 0x00 00001b4f: KECCAK256 00001b50: PUSH1 0x00 00001b52: ADD 00001b53: DUP2 00001b54: SWAP1 00001b55: SSTORE 00001b56: POP 00001b57: POP 00001b58: POP 00001b59: POP 00001b5a: POP 00001b5b: JUMP 00001b5c: JUMPDEST 00001b5d: PUSH1 0x02 00001b5f: PUSH1 0x00 00001b61: SWAP1 00001b62: SLOAD 00001b63: SWAP1 00001b64: PUSH2 0x0100 00001b67: EXP 00001b68: SWAP1 00001b69: DIV 00001b6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b7f: AND 00001b80: DUP2 00001b81: JUMP 00001b82: JUMPDEST 00001b83: PUSH1 0x00 00001b85: DUP1 00001b86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b9b: AND 00001b9c: PUSH1 0x07 00001b9e: PUSH1 0x00 00001ba0: DUP5 00001ba1: PUSH1 0x00 00001ba3: NOT 00001ba4: AND 00001ba5: PUSH1 0x00 00001ba7: NOT 00001ba8: AND 00001ba9: DUP2 00001baa: MSTORE 00001bab: PUSH1 0x20 00001bad: ADD 00001bae: SWAP1 00001baf: DUP2 00001bb0: MSTORE 00001bb1: PUSH1 0x20 00001bb3: ADD 00001bb4: PUSH1 0x00 00001bb6: KECCAK256 00001bb7: PUSH1 0x01 00001bb9: ADD 00001bba: PUSH1 0x00 00001bbc: SWAP1 00001bbd: SLOAD 00001bbe: SWAP1 00001bbf: PUSH2 0x0100 00001bc2: EXP 00001bc3: SWAP1 00001bc4: DIV 00001bc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bda: AND 00001bdb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bf0: AND 00001bf1: EQ 00001bf2: ISZERO 00001bf3: SWAP1 00001bf4: POP 00001bf5: SWAP2 00001bf6: SWAP1 00001bf7: POP 00001bf8: JUMP 00001bf9: JUMPDEST 00001bfa: PUSH1 0x12 00001bfc: PUSH1 0x0a 00001bfe: EXP 00001bff: DUP2 00001c00: JUMP 00001c01: JUMPDEST 00001c02: PUSH1 0x00 00001c04: PUSH2 0x1c1c 00001c07: PUSH1 0x08 00001c09: SLOAD 00001c0a: PUSH1 0x04 00001c0c: PUSH1 0x0a 00001c0e: EXP 00001c0f: PUSH2 0x23bd 00001c12: SWAP1 00001c13: SWAP2 00001c14: SWAP1 00001c15: PUSH4 0xffffffff 00001c1a: AND 00001c1b: JUMP 00001c1c: JUMPDEST 00001c1d: SWAP1 00001c1e: POP 00001c1f: SWAP1 00001c20: JUMP 00001c21: JUMPDEST 00001c22: PUSH1 0x00 00001c24: DUP1 00001c25: PUSH1 0x00 00001c27: DUP1 00001c28: PUSH2 0x1c30 00001c2b: DUP6 00001c2c: PUSH2 0x0ca6 00001c2f: JUMP 00001c30: JUMPDEST 00001c31: SWAP3 00001c32: POP 00001c33: PUSH2 0x1c3c 00001c36: DUP6 00001c37: DUP5 00001c38: PUSH2 0x14c3 00001c3b: JUMP 00001c3c: JUMPDEST 00001c3d: SWAP2 00001c3e: POP 00001c3f: PUSH2 0x1c47 00001c42: DUP6 00001c43: PUSH2 0x0b13 00001c46: JUMP 00001c47: JUMPDEST 00001c48: SWAP1 00001c49: POP 00001c4a: PUSH2 0x1c5c 00001c4d: DUP2 00001c4e: DUP4 00001c4f: PUSH2 0x23bd 00001c52: SWAP1 00001c53: SWAP2 00001c54: SWAP1 00001c55: PUSH4 0xffffffff 00001c5a: AND 00001c5b: JUMP 00001c5c: JUMPDEST 00001c5d: SWAP4 00001c5e: POP 00001c5f: POP 00001c60: POP 00001c61: POP 00001c62: SWAP2 00001c63: SWAP1 00001c64: POP 00001c65: JUMP 00001c66: JUMPDEST 00001c67: PUSH1 0x00 00001c69: DUP1 00001c6a: SWAP1 00001c6b: SLOAD 00001c6c: SWAP1 00001c6d: PUSH2 0x0100 00001c70: EXP 00001c71: SWAP1 00001c72: DIV 00001c73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c88: AND 00001c89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c9e: AND 00001c9f: CALLER 00001ca0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cb5: AND 00001cb6: EQ 00001cb7: ISZERO 00001cb8: ISZERO 00001cb9: PUSH2 0x1cc1 00001cbc: JUMPI 00001cbd: PUSH1 0x00 00001cbf: DUP1 00001cc0: REVERT 00001cc1: JUMPDEST 00001cc2: PUSH2 0x1cca 00001cc5: DUP2 00001cc6: PUSH2 0x2952 00001cc9: JUMP 00001cca: JUMPDEST 00001ccb: POP 00001ccc: JUMP 00001ccd: JUMPDEST 00001cce: PUSH2 0x1cd5 00001cd1: PUSH2 0x2f62 00001cd4: JUMP 00001cd5: JUMPDEST 00001cd6: PUSH1 0x00 00001cd8: DUP1 00001cd9: PUSH1 0x00 00001cdb: PUSH2 0x1ce2 00001cde: PUSH2 0x2fad 00001ce1: JUMP 00001ce2: JUMPDEST 00001ce3: PUSH1 0x00 00001ce5: PUSH2 0x1cec 00001ce8: PUSH2 0x2fad 00001ceb: JUMP 00001cec: JUMPDEST 00001ced: PUSH2 0x1cf4 00001cf0: PUSH2 0x2fad 00001cf3: JUMP 00001cf4: JUMPDEST 00001cf5: PUSH2 0x1cfc 00001cf8: PUSH2 0x2fad 00001cfb: JUMP 00001cfc: JUMPDEST 00001cfd: PUSH2 0x1d04 00001d00: PUSH2 0x2fad 00001d03: JUMP 00001d04: JUMPDEST 00001d05: PUSH1 0x00 00001d07: PUSH1 0x03 00001d09: SLOAD 00001d0a: PUSH1 0x0a 00001d0c: EXP 00001d0d: SWAP10 00001d0e: POP 00001d0f: PUSH1 0x05 00001d11: SLOAD 00001d12: PUSH1 0x0a 00001d14: EXP 00001d15: SWAP9 00001d16: POP 00001d17: PUSH1 0x06 00001d19: PUSH1 0x00 00001d1b: SWAP1 00001d1c: SLOAD 00001d1d: SWAP1 00001d1e: PUSH2 0x0100 00001d21: EXP 00001d22: SWAP1 00001d23: DIV 00001d24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d39: AND 00001d3a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d4f: AND 00001d50: PUSH4 0x57de26a4 00001d55: PUSH1 0x40 00001d57: MLOAD 00001d58: DUP2 00001d59: PUSH4 0xffffffff 00001d5e: AND 00001d5f: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001d7d: MUL 00001d7e: DUP2 00001d7f: MSTORE 00001d80: PUSH1 0x04 00001d82: ADD 00001d83: PUSH1 0x20 00001d85: PUSH1 0x40 00001d87: MLOAD 00001d88: DUP1 00001d89: DUP4 00001d8a: SUB 00001d8b: DUP2 00001d8c: PUSH1 0x00 00001d8e: DUP8 00001d8f: DUP1 00001d90: EXTCODESIZE 00001d91: ISZERO 00001d92: DUP1 00001d93: ISZERO 00001d94: PUSH2 0x1d9c 00001d97: JUMPI 00001d98: PUSH1 0x00 00001d9a: DUP1 00001d9b: REVERT 00001d9c: JUMPDEST 00001d9d: POP 00001d9e: GAS 00001d9f: CALL 00001da0: ISZERO 00001da1: DUP1 00001da2: ISZERO 00001da3: PUSH2 0x1db0 00001da6: JUMPI 00001da7: RETURNDATASIZE 00001da8: PUSH1 0x00 00001daa: DUP1 00001dab: RETURNDATACOPY 00001dac: RETURNDATASIZE 00001dad: PUSH1 0x00 00001daf: REVERT 00001db0: JUMPDEST 00001db1: POP 00001db2: POP 00001db3: POP 00001db4: POP 00001db5: PUSH1 0x40 00001db7: MLOAD 00001db8: RETURNDATASIZE 00001db9: PUSH1 0x1f 00001dbb: NOT 00001dbc: PUSH1 0x1f 00001dbe: DUP3 00001dbf: ADD 00001dc0: AND 00001dc1: DUP3 00001dc2: ADD 00001dc3: DUP1 00001dc4: PUSH1 0x40 00001dc6: MSTORE 00001dc7: POP 00001dc8: PUSH2 0x1dd4 00001dcb: SWAP2 00001dcc: SWAP1 00001dcd: DUP2 00001dce: ADD 00001dcf: SWAP1 00001dd0: PUSH2 0x317f 00001dd3: JUMP 00001dd4: JUMPDEST 00001dd5: PUSH1 0x01 00001dd7: SWAP1 00001dd8: DIV 00001dd9: SWAP8 00001dda: POP 00001ddb: PUSH1 0x40 00001ddd: DUP1 00001dde: MLOAD 00001ddf: SWAP1 00001de0: DUP2 00001de1: ADD 00001de2: PUSH1 0x40 00001de4: MSTORE 00001de5: DUP1 00001de6: DUP10 00001de7: DUP2 00001de8: MSTORE 00001de9: PUSH1 0x20 00001deb: ADD 00001dec: PUSH1 0x12 00001dee: PUSH1 0x0a 00001df0: EXP 00001df1: DUP2 00001df2: MSTORE 00001df3: POP 00001df4: SWAP7 00001df5: POP 00001df6: PUSH1 0x07 00001df8: PUSH1 0x00 00001dfa: DUP14 00001dfb: PUSH1 0x00 00001dfd: NOT 00001dfe: AND 00001dff: PUSH1 0x00 00001e01: NOT 00001e02: AND 00001e03: DUP2 00001e04: MSTORE 00001e05: PUSH1 0x20 00001e07: ADD 00001e08: SWAP1 00001e09: DUP2 00001e0a: MSTORE 00001e0b: PUSH1 0x20 00001e0d: ADD 00001e0e: PUSH1 0x00 00001e10: KECCAK256 00001e11: PUSH1 0x00 00001e13: ADD 00001e14: SLOAD 00001e15: SWAP6 00001e16: POP 00001e17: PUSH1 0x40 00001e19: DUP1 00001e1a: MLOAD 00001e1b: SWAP1 00001e1c: DUP2 00001e1d: ADD 00001e1e: PUSH1 0x40 00001e20: MSTORE 00001e21: DUP1 00001e22: DUP8 00001e23: DUP2 00001e24: MSTORE 00001e25: PUSH1 0x20 00001e27: ADD 00001e28: DUP11 00001e29: DUP2 00001e2a: MSTORE 00001e2b: POP 00001e2c: SWAP5 00001e2d: POP 00001e2e: PUSH2 0x1e36 00001e31: DUP13 00001e32: PUSH2 0x1691 00001e35: JUMP 00001e36: JUMPDEST 00001e37: SWAP4 00001e38: POP 00001e39: PUSH2 0x1e40 00001e3c: PUSH2 0x0e3a 00001e3f: JUMP 00001e40: JUMPDEST 00001e41: SWAP3 00001e42: POP 00001e43: PUSH2 0x1e67 00001e46: DUP8 00001e47: PUSH2 0x1e59 00001e4a: DUP6 00001e4b: DUP8 00001e4c: PUSH2 0x279a 00001e4f: SWAP1 00001e50: SWAP2 00001e51: SWAP1 00001e52: PUSH4 0xffffffff 00001e57: AND 00001e58: JUMP 00001e59: JUMPDEST 00001e5a: PUSH2 0x27e8 00001e5d: SWAP1 00001e5e: SWAP2 00001e5f: SWAP1 00001e60: PUSH4 0xffffffff 00001e65: AND 00001e66: JUMP 00001e67: JUMPDEST 00001e68: SWAP2 00001e69: POP 00001e6a: PUSH2 0x1e73 00001e6d: DUP6 00001e6e: DUP6 00001e6f: PUSH2 0x0f5e 00001e72: JUMP 00001e73: JUMPDEST 00001e74: SWAP1 00001e75: POP 00001e76: PUSH1 0x60 00001e78: PUSH1 0x40 00001e7a: MLOAD 00001e7b: SWAP1 00001e7c: DUP2 00001e7d: ADD 00001e7e: PUSH1 0x40 00001e80: MSTORE 00001e81: DUP1 00001e82: PUSH2 0x1e96 00001e85: PUSH1 0x05 00001e87: SLOAD 00001e88: DUP8 00001e89: PUSH2 0x25c1 00001e8c: SWAP1 00001e8d: SWAP2 00001e8e: SWAP1 00001e8f: PUSH4 0xffffffff 00001e94: AND 00001e95: JUMP 00001e96: JUMPDEST 00001e97: DUP2 00001e98: MSTORE 00001e99: PUSH1 0x20 00001e9b: ADD 00001e9c: PUSH2 0x1eb0 00001e9f: PUSH1 0x03 00001ea1: SLOAD 00001ea2: DUP6 00001ea3: PUSH2 0x25c1 00001ea6: SWAP1 00001ea7: SWAP2 00001ea8: SWAP1 00001ea9: PUSH4 0xffffffff 00001eae: AND 00001eaf: JUMP 00001eb0: JUMPDEST 00001eb1: DUP2 00001eb2: MSTORE 00001eb3: PUSH1 0x20 00001eb5: ADD 00001eb6: DUP3 00001eb7: DUP2 00001eb8: MSTORE 00001eb9: POP 00001eba: SWAP11 00001ebb: POP 00001ebc: POP 00001ebd: POP 00001ebe: POP 00001ebf: POP 00001ec0: POP 00001ec1: POP 00001ec2: POP 00001ec3: POP 00001ec4: POP 00001ec5: POP 00001ec6: SWAP2 00001ec7: SWAP1 00001ec8: POP 00001ec9: JUMP 00001eca: JUMPDEST 00001ecb: PUSH1 0x00 00001ecd: PUSH2 0x1edf 00001ed0: PUSH2 0x1ed8 00001ed3: DUP5 00001ed4: PUSH2 0x1b82 00001ed7: JUMP 00001ed8: JUMPDEST 00001ed9: PUSH1 0x04 00001edb: PUSH2 0x2a4c 00001ede: JUMP 00001edf: JUMPDEST 00001ee0: ISZERO 00001ee1: PUSH2 0x1eed 00001ee4: JUMPI 00001ee5: PUSH1 0x00 00001ee7: SWAP1 00001ee8: POP 00001ee9: PUSH2 0x1f5c 00001eec: JUMP 00001eed: JUMPDEST 00001eee: PUSH2 0x1f00 00001ef1: PUSH2 0x1ef9 00001ef4: DUP5 00001ef5: PUSH2 0x0e67 00001ef8: JUMP 00001ef9: JUMPDEST 00001efa: PUSH1 0x02 00001efc: PUSH2 0x2a4c 00001eff: JUMP 00001f00: JUMPDEST 00001f01: ISZERO 00001f02: PUSH2 0x1f0e 00001f05: JUMPI 00001f06: PUSH1 0x00 00001f08: SWAP1 00001f09: POP 00001f0a: PUSH2 0x1f5c 00001f0d: JUMP 00001f0e: JUMPDEST 00001f0f: PUSH2 0x1f49 00001f12: PUSH2 0x1f42 00001f15: PUSH1 0x02 00001f17: PUSH1 0x00 00001f19: SWAP1 00001f1a: SLOAD 00001f1b: SWAP1 00001f1c: PUSH2 0x0100 00001f1f: EXP 00001f20: SWAP1 00001f21: DIV 00001f22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f37: AND 00001f38: CALLER 00001f39: DUP6 00001f3a: PUSH1 0x20 00001f3c: ADD 00001f3d: MLOAD 00001f3e: PUSH2 0x2aa4 00001f41: JUMP 00001f42: JUMPDEST 00001f43: PUSH1 0x00 00001f45: PUSH2 0x2a4c 00001f48: JUMP 00001f49: JUMPDEST 00001f4a: ISZERO 00001f4b: PUSH2 0x1f57 00001f4e: JUMPI 00001f4f: PUSH1 0x00 00001f51: SWAP1 00001f52: POP 00001f53: PUSH2 0x1f5c 00001f56: JUMP 00001f57: JUMPDEST 00001f58: PUSH1 0x01 00001f5a: SWAP1 00001f5b: POP 00001f5c: JUMPDEST 00001f5d: SWAP3 00001f5e: SWAP2 00001f5f: POP 00001f60: POP 00001f61: JUMP 00001f62: JUMPDEST 00001f63: PUSH1 0x00 00001f65: PUSH2 0x1f95 00001f68: DUP4 00001f69: PUSH1 0x07 00001f6b: PUSH1 0x00 00001f6d: DUP9 00001f6e: PUSH1 0x00 00001f70: NOT 00001f71: AND 00001f72: PUSH1 0x00 00001f74: NOT 00001f75: AND 00001f76: DUP2 00001f77: MSTORE 00001f78: PUSH1 0x20 00001f7a: ADD 00001f7b: SWAP1 00001f7c: DUP2 00001f7d: MSTORE 00001f7e: PUSH1 0x20 00001f80: ADD 00001f81: PUSH1 0x00 00001f83: KECCAK256 00001f84: PUSH1 0x00 00001f86: ADD 00001f87: SLOAD 00001f88: PUSH2 0x23bd 00001f8b: SWAP1 00001f8c: SWAP2 00001f8d: SWAP1 00001f8e: PUSH4 0xffffffff 00001f93: AND 00001f94: JUMP 00001f95: JUMPDEST 00001f96: PUSH1 0x07 00001f98: PUSH1 0x00 00001f9a: DUP8 00001f9b: PUSH1 0x00 00001f9d: NOT 00001f9e: AND 00001f9f: PUSH1 0x00 00001fa1: NOT 00001fa2: AND 00001fa3: DUP2 00001fa4: MSTORE 00001fa5: PUSH1 0x20 00001fa7: ADD 00001fa8: SWAP1 00001fa9: DUP2 00001faa: MSTORE 00001fab: PUSH1 0x20 00001fad: ADD 00001fae: PUSH1 0x00 00001fb0: KECCAK256 00001fb1: PUSH1 0x00 00001fb3: ADD 00001fb4: DUP2 00001fb5: SWAP1 00001fb6: SSTORE 00001fb7: POP 00001fb8: PUSH2 0x1fe4 00001fbb: PUSH1 0x02 00001fbd: PUSH1 0x00 00001fbf: SWAP1 00001fc0: SLOAD 00001fc1: SWAP1 00001fc2: PUSH2 0x0100 00001fc5: EXP 00001fc6: SWAP1 00001fc7: DIV 00001fc8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fdd: AND 00001fde: DUP6 00001fdf: DUP5 00001fe0: PUSH2 0x2897 00001fe3: JUMP 00001fe4: JUMPDEST 00001fe5: DUP1 00001fe6: ISZERO 00001fe7: PUSH2 0x20b7 00001fea: JUMPI 00001feb: POP 00001fec: PUSH1 0x04 00001fee: PUSH1 0x00 00001ff0: SWAP1 00001ff1: SLOAD 00001ff2: SWAP1 00001ff3: PUSH2 0x0100 00001ff6: EXP 00001ff7: SWAP1 00001ff8: DIV 00001ff9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000200e: AND 0000200f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002024: AND 00002025: PUSH4 0xa9059cbb 0000202a: DUP6 0000202b: DUP6 0000202c: PUSH1 0x40 0000202e: MLOAD 0000202f: DUP4 00002030: PUSH4 0xffffffff 00002035: AND 00002036: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002054: MUL 00002055: DUP2 00002056: MSTORE 00002057: PUSH1 0x04 00002059: ADD 0000205a: PUSH2 0x2064 0000205d: SWAP3 0000205e: SWAP2 0000205f: SWAP1 00002060: PUSH2 0x35cf 00002063: JUMP 00002064: JUMPDEST 00002065: PUSH1 0x20 00002067: PUSH1 0x40 00002069: MLOAD 0000206a: DUP1 0000206b: DUP4 0000206c: SUB 0000206d: DUP2 0000206e: PUSH1 0x00 00002070: DUP8 00002071: DUP1 00002072: EXTCODESIZE 00002073: ISZERO 00002074: DUP1 00002075: ISZERO 00002076: PUSH2 0x207e 00002079: JUMPI 0000207a: PUSH1 0x00 0000207c: DUP1 0000207d: REVERT 0000207e: JUMPDEST 0000207f: POP 00002080: GAS 00002081: CALL 00002082: ISZERO 00002083: DUP1 00002084: ISZERO 00002085: PUSH2 0x2092 00002088: JUMPI 00002089: RETURNDATASIZE 0000208a: PUSH1 0x00 0000208c: DUP1 0000208d: RETURNDATACOPY 0000208e: RETURNDATASIZE 0000208f: PUSH1 0x00 00002091: REVERT 00002092: JUMPDEST 00002093: POP 00002094: POP 00002095: POP 00002096: POP 00002097: PUSH1 0x40 00002099: MLOAD 0000209a: RETURNDATASIZE 0000209b: PUSH1 0x1f 0000209d: NOT 0000209e: PUSH1 0x1f 000020a0: DUP3 000020a1: ADD 000020a2: AND 000020a3: DUP3 000020a4: ADD 000020a5: DUP1 000020a6: PUSH1 0x40 000020a8: MSTORE 000020a9: POP 000020aa: PUSH2 0x20b6 000020ad: SWAP2 000020ae: SWAP1 000020af: DUP2 000020b0: ADD 000020b1: SWAP1 000020b2: PUSH2 0x312d 000020b5: JUMP 000020b6: JUMPDEST 000020b7: JUMPDEST 000020b8: SWAP1 000020b9: POP 000020ba: SWAP5 000020bb: SWAP4 000020bc: POP 000020bd: POP 000020be: POP 000020bf: POP 000020c0: JUMP 000020c1: JUMPDEST 000020c2: PUSH1 0x00 000020c4: DUP1 000020c5: PUSH1 0x01 000020c7: PUSH1 0x00 000020c9: SWAP1 000020ca: SLOAD 000020cb: SWAP1 000020cc: PUSH2 0x0100 000020cf: EXP 000020d0: SWAP1 000020d1: DIV 000020d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020e7: AND 000020e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020fd: AND 000020fe: PUSH4 0x2f866f73 00002103: PUSH1 0x40 00002105: MLOAD 00002106: DUP2 00002107: PUSH4 0xffffffff 0000210c: AND 0000210d: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000212b: MUL 0000212c: DUP2 0000212d: MSTORE 0000212e: PUSH1 0x04 00002130: ADD 00002131: PUSH1 0x20 00002133: PUSH1 0x40 00002135: MLOAD 00002136: DUP1 00002137: DUP4 00002138: SUB 00002139: DUP2 0000213a: PUSH1 0x00 0000213c: DUP8 0000213d: DUP1 0000213e: EXTCODESIZE 0000213f: ISZERO 00002140: DUP1 00002141: ISZERO 00002142: PUSH2 0x214a 00002145: JUMPI 00002146: PUSH1 0x00 00002148: DUP1 00002149: REVERT 0000214a: JUMPDEST 0000214b: POP 0000214c: GAS 0000214d: CALL 0000214e: ISZERO 0000214f: DUP1 00002150: ISZERO 00002151: PUSH2 0x215e 00002154: JUMPI 00002155: RETURNDATASIZE 00002156: PUSH1 0x00 00002158: DUP1 00002159: RETURNDATACOPY 0000215a: RETURNDATASIZE 0000215b: PUSH1 0x00 0000215d: REVERT 0000215e: JUMPDEST 0000215f: POP 00002160: POP 00002161: POP 00002162: POP 00002163: PUSH1 0x40 00002165: MLOAD 00002166: RETURNDATASIZE 00002167: PUSH1 0x1f 00002169: NOT 0000216a: PUSH1 0x1f 0000216c: DUP3 0000216d: ADD 0000216e: AND 0000216f: DUP3 00002170: ADD 00002171: DUP1 00002172: PUSH1 0x40 00002174: MSTORE 00002175: POP 00002176: PUSH2 0x2182 00002179: SWAP2 0000217a: SWAP1 0000217b: DUP2 0000217c: ADD 0000217d: SWAP1 0000217e: PUSH2 0x32c0 00002181: JUMP 00002182: JUMPDEST 00002183: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002198: AND 00002199: PUSH4 0xba20dda4 0000219e: DUP6 0000219f: PUSH1 0x40 000021a1: MLOAD 000021a2: DUP3 000021a3: PUSH4 0xffffffff 000021a8: AND 000021a9: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000021c7: MUL 000021c8: DUP2 000021c9: MSTORE 000021ca: PUSH1 0x04 000021cc: ADD 000021cd: PUSH2 0x21d6 000021d0: SWAP2 000021d1: SWAP1 000021d2: PUSH2 0x3613 000021d5: JUMP 000021d6: JUMPDEST 000021d7: PUSH1 0x20 000021d9: PUSH1 0x40 000021db: MLOAD 000021dc: DUP1 000021dd: DUP4 000021de: SUB 000021df: DUP2 000021e0: PUSH1 0x00 000021e2: DUP8 000021e3: DUP1 000021e4: EXTCODESIZE 000021e5: ISZERO 000021e6: DUP1 000021e7: ISZERO 000021e8: PUSH2 0x21f0 000021eb: JUMPI 000021ec: PUSH1 0x00 000021ee: DUP1 000021ef: REVERT 000021f0: JUMPDEST 000021f1: POP 000021f2: GAS 000021f3: CALL 000021f4: ISZERO 000021f5: DUP1 000021f6: ISZERO 000021f7: PUSH2 0x2204 000021fa: JUMPI 000021fb: RETURNDATASIZE 000021fc: PUSH1 0x00 000021fe: DUP1 000021ff: RETURNDATACOPY 00002200: RETURNDATASIZE 00002201: PUSH1 0x00 00002203: REVERT 00002204: JUMPDEST 00002205: POP 00002206: POP 00002207: POP 00002208: POP 00002209: PUSH1 0x40 0000220b: MLOAD 0000220c: RETURNDATASIZE 0000220d: PUSH1 0x1f 0000220f: NOT 00002210: PUSH1 0x1f 00002212: DUP3 00002213: ADD 00002214: AND 00002215: DUP3 00002216: ADD 00002217: DUP1 00002218: PUSH1 0x40 0000221a: MSTORE 0000221b: POP 0000221c: PUSH2 0x2228 0000221f: SWAP2 00002220: SWAP1 00002221: DUP2 00002222: ADD 00002223: SWAP1 00002224: PUSH2 0x3104 00002227: JUMP 00002228: JUMPDEST 00002229: SWAP1 0000222a: POP 0000222b: PUSH1 0x02 0000222d: PUSH1 0x00 0000222f: SWAP1 00002230: SLOAD 00002231: SWAP1 00002232: PUSH2 0x0100 00002235: EXP 00002236: SWAP1 00002237: DIV 00002238: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000224d: AND 0000224e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002263: AND 00002264: PUSH4 0xa9059cbb 00002269: DUP3 0000226a: DUP6 0000226b: PUSH1 0x40 0000226d: MLOAD 0000226e: DUP4 0000226f: PUSH4 0xffffffff 00002274: AND 00002275: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002293: MUL 00002294: DUP2 00002295: MSTORE 00002296: PUSH1 0x04 00002298: ADD 00002299: PUSH2 0x22a3 0000229c: SWAP3 0000229d: SWAP2 0000229e: SWAP1 0000229f: PUSH2 0x35cf 000022a2: JUMP 000022a3: JUMPDEST 000022a4: PUSH1 0x20 000022a6: PUSH1 0x40 000022a8: MLOAD 000022a9: DUP1 000022aa: DUP4 000022ab: SUB 000022ac: DUP2 000022ad: PUSH1 0x00 000022af: DUP8 000022b0: DUP1 000022b1: EXTCODESIZE 000022b2: ISZERO 000022b3: DUP1 000022b4: ISZERO 000022b5: PUSH2 0x22bd 000022b8: JUMPI 000022b9: PUSH1 0x00 000022bb: DUP1 000022bc: REVERT 000022bd: JUMPDEST 000022be: POP 000022bf: GAS 000022c0: CALL 000022c1: ISZERO 000022c2: DUP1 000022c3: ISZERO 000022c4: PUSH2 0x22d1 000022c7: JUMPI 000022c8: RETURNDATASIZE 000022c9: PUSH1 0x00 000022cb: DUP1 000022cc: RETURNDATACOPY 000022cd: RETURNDATASIZE 000022ce: PUSH1 0x00 000022d0: REVERT 000022d1: JUMPDEST 000022d2: POP 000022d3: POP 000022d4: POP 000022d5: POP 000022d6: PUSH1 0x40 000022d8: MLOAD 000022d9: RETURNDATASIZE 000022da: PUSH1 0x1f 000022dc: NOT 000022dd: PUSH1 0x1f 000022df: DUP3 000022e0: ADD 000022e1: AND 000022e2: DUP3 000022e3: ADD 000022e4: DUP1 000022e5: PUSH1 0x40 000022e7: MSTORE 000022e8: POP 000022e9: PUSH2 0x22f5 000022ec: SWAP2 000022ed: SWAP1 000022ee: DUP2 000022ef: ADD 000022f0: SWAP1 000022f1: PUSH2 0x312d 000022f4: JUMP 000022f5: JUMPDEST 000022f6: SWAP2 000022f7: POP 000022f8: POP 000022f9: SWAP3 000022fa: SWAP2 000022fb: POP 000022fc: POP 000022fd: JUMP 000022fe: JUMPDEST 000022ff: PUSH1 0x00 00002301: PUSH2 0x2309 00002304: DUP3 00002305: PUSH2 0x2c12 00002308: JUMP 00002309: JUMPDEST 0000230a: ISZERO 0000230b: PUSH2 0x23b3 0000230e: JUMPI 0000230f: PUSH1 0x40 00002311: DUP1 00002312: MLOAD 00002313: SWAP1 00002314: DUP2 00002315: ADD 00002316: PUSH1 0x40 00002318: MSTORE 00002319: DUP1 0000231a: PUSH1 0x00 0000231c: DUP2 0000231d: MSTORE 0000231e: PUSH1 0x20 00002320: ADD 00002321: PUSH1 0x00 00002323: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002338: AND 00002339: DUP2 0000233a: MSTORE 0000233b: POP 0000233c: PUSH1 0x07 0000233e: PUSH1 0x00 00002340: DUP5 00002341: PUSH1 0x00 00002343: NOT 00002344: AND 00002345: PUSH1 0x00 00002347: NOT 00002348: AND 00002349: DUP2 0000234a: MSTORE 0000234b: PUSH1 0x20 0000234d: ADD 0000234e: SWAP1 0000234f: DUP2 00002350: MSTORE 00002351: PUSH1 0x20 00002353: ADD 00002354: PUSH1 0x00 00002356: KECCAK256 00002357: PUSH1 0x00 00002359: DUP3 0000235a: ADD 0000235b: MLOAD 0000235c: DUP2 0000235d: PUSH1 0x00 0000235f: ADD 00002360: SSTORE 00002361: PUSH1 0x20 00002363: DUP3 00002364: ADD 00002365: MLOAD 00002366: DUP2 00002367: PUSH1 0x01 00002369: ADD 0000236a: PUSH1 0x00 0000236c: PUSH2 0x0100 0000236f: EXP 00002370: DUP2 00002371: SLOAD 00002372: DUP2 00002373: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002388: MUL 00002389: NOT 0000238a: AND 0000238b: SWAP1 0000238c: DUP4 0000238d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023a2: AND 000023a3: MUL 000023a4: OR 000023a5: SWAP1 000023a6: SSTORE 000023a7: POP 000023a8: SWAP1 000023a9: POP 000023aa: POP 000023ab: PUSH1 0x01 000023ad: SWAP1 000023ae: POP 000023af: PUSH2 0x23b8 000023b2: JUMP 000023b3: JUMPDEST 000023b4: PUSH1 0x00 000023b6: SWAP1 000023b7: POP 000023b8: JUMPDEST 000023b9: SWAP2 000023ba: SWAP1 000023bb: POP 000023bc: JUMP 000023bd: JUMPDEST 000023be: PUSH1 0x00 000023c0: DUP3 000023c1: DUP3 000023c2: GT 000023c3: ISZERO 000023c4: ISZERO 000023c5: ISZERO 000023c6: PUSH2 0x23cb 000023c9: JUMPI 000023ca: INVALID 000023cb: JUMPDEST 000023cc: DUP2 000023cd: DUP4 000023ce: SUB 000023cf: SWAP1 000023d0: POP 000023d1: SWAP3 000023d2: SWAP2 000023d3: POP 000023d4: POP 000023d5: JUMP 000023d6: JUMPDEST 000023d7: PUSH1 0x00 000023d9: DUP2 000023da: DUP4 000023db: DUP2 000023dc: ISZERO 000023dd: ISZERO 000023de: PUSH2 0x23e3 000023e1: JUMPI 000023e2: INVALID 000023e3: JUMPDEST 000023e4: DIV 000023e5: SWAP1 000023e6: POP 000023e7: SWAP3 000023e8: SWAP2 000023e9: POP 000023ea: POP 000023eb: JUMP 000023ec: JUMPDEST 000023ed: PUSH2 0x23f4 000023f0: PUSH2 0x2f84 000023f3: JUMP 000023f4: JUMPDEST 000023f5: PUSH1 0x00 000023f7: PUSH1 0x01 000023f9: PUSH1 0x00 000023fb: SWAP1 000023fc: SLOAD 000023fd: SWAP1 000023fe: PUSH2 0x0100 00002401: EXP 00002402: SWAP1 00002403: DIV 00002404: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002419: AND 0000241a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000242f: AND 00002430: PUSH4 0x2f866f73 00002435: PUSH1 0x40 00002437: MLOAD 00002438: DUP2 00002439: PUSH4 0xffffffff 0000243e: AND 0000243f: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000245d: MUL 0000245e: DUP2 0000245f: MSTORE 00002460: PUSH1 0x04 00002462: ADD 00002463: PUSH1 0x20 00002465: PUSH1 0x40 00002467: MLOAD 00002468: DUP1 00002469: DUP4 0000246a: SUB 0000246b: DUP2 0000246c: PUSH1 0x00 0000246e: DUP8 0000246f: DUP1 00002470: EXTCODESIZE 00002471: ISZERO 00002472: DUP1 00002473: ISZERO 00002474: PUSH2 0x247c 00002477: JUMPI 00002478: PUSH1 0x00 0000247a: DUP1 0000247b: REVERT 0000247c: JUMPDEST 0000247d: POP 0000247e: GAS 0000247f: CALL 00002480: ISZERO 00002481: DUP1 00002482: ISZERO 00002483: PUSH2 0x2490 00002486: JUMPI 00002487: RETURNDATASIZE 00002488: PUSH1 0x00 0000248a: DUP1 0000248b: RETURNDATACOPY 0000248c: RETURNDATASIZE 0000248d: PUSH1 0x00 0000248f: REVERT 00002490: JUMPDEST 00002491: POP 00002492: POP 00002493: POP 00002494: POP 00002495: PUSH1 0x40 00002497: MLOAD 00002498: RETURNDATASIZE 00002499: PUSH1 0x1f 0000249b: NOT 0000249c: PUSH1 0x1f 0000249e: DUP3 0000249f: ADD 000024a0: AND 000024a1: DUP3 000024a2: ADD 000024a3: DUP1 000024a4: PUSH1 0x40 000024a6: MSTORE 000024a7: POP 000024a8: PUSH2 0x24b4 000024ab: SWAP2 000024ac: SWAP1 000024ad: DUP2 000024ae: ADD 000024af: SWAP1 000024b0: PUSH2 0x32c0 000024b3: JUMP 000024b4: JUMPDEST 000024b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024ca: AND 000024cb: PUSH4 0x314a522e 000024d0: DUP5 000024d1: PUSH1 0x40 000024d3: MLOAD 000024d4: DUP3 000024d5: PUSH4 0xffffffff 000024da: AND 000024db: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000024f9: MUL 000024fa: DUP2 000024fb: MSTORE 000024fc: PUSH1 0x04 000024fe: ADD 000024ff: PUSH2 0x2508 00002502: SWAP2 00002503: SWAP1 00002504: PUSH2 0x3613 00002507: JUMP 00002508: JUMPDEST 00002509: PUSH1 0x20 0000250b: PUSH1 0x40 0000250d: MLOAD 0000250e: DUP1 0000250f: DUP4 00002510: SUB 00002511: DUP2 00002512: PUSH1 0x00 00002514: DUP8 00002515: DUP1 00002516: EXTCODESIZE 00002517: ISZERO 00002518: DUP1 00002519: ISZERO 0000251a: PUSH2 0x2522 0000251d: JUMPI 0000251e: PUSH1 0x00 00002520: DUP1 00002521: REVERT 00002522: JUMPDEST 00002523: POP 00002524: GAS 00002525: CALL 00002526: ISZERO 00002527: DUP1 00002528: ISZERO 00002529: PUSH2 0x2536 0000252c: JUMPI 0000252d: RETURNDATASIZE 0000252e: PUSH1 0x00 00002530: DUP1 00002531: RETURNDATACOPY 00002532: RETURNDATASIZE 00002533: PUSH1 0x00 00002535: REVERT 00002536: JUMPDEST 00002537: POP 00002538: POP 00002539: POP 0000253a: POP 0000253b: PUSH1 0x40 0000253d: MLOAD 0000253e: RETURNDATASIZE 0000253f: PUSH1 0x1f 00002541: NOT 00002542: PUSH1 0x1f 00002544: DUP3 00002545: ADD 00002546: AND 00002547: DUP3 00002548: ADD 00002549: DUP1 0000254a: PUSH1 0x40 0000254c: MSTORE 0000254d: POP 0000254e: PUSH2 0x255a 00002551: SWAP2 00002552: SWAP1 00002553: DUP2 00002554: ADD 00002555: SWAP1 00002556: PUSH2 0x317f 00002559: JUMP 0000255a: JUMPDEST 0000255b: SWAP1 0000255c: POP 0000255d: PUSH2 0x2565 00002560: DUP2 00002561: PUSH2 0x2d71 00002564: JUMP 00002565: JUMPDEST 00002566: SWAP2 00002567: POP 00002568: POP 00002569: SWAP2 0000256a: SWAP1 0000256b: POP 0000256c: JUMP 0000256d: JUMPDEST 0000256e: PUSH1 0x00 00002570: DUP1 00002571: DUP4 00002572: EQ 00002573: ISZERO 00002574: PUSH2 0x2580 00002577: JUMPI 00002578: PUSH1 0x00 0000257a: SWAP1 0000257b: POP 0000257c: PUSH2 0x259f 0000257f: JUMP 00002580: JUMPDEST 00002581: DUP2 00002582: DUP4 00002583: MUL 00002584: SWAP1 00002585: POP 00002586: DUP2 00002587: DUP4 00002588: DUP3 00002589: DUP2 0000258a: ISZERO 0000258b: ISZERO 0000258c: PUSH2 0x2591 0000258f: JUMPI 00002590: INVALID 00002591: JUMPDEST 00002592: DIV 00002593: EQ 00002594: ISZERO 00002595: ISZERO 00002596: PUSH2 0x259b 00002599: JUMPI 0000259a: INVALID 0000259b: JUMPDEST 0000259c: DUP1 0000259d: SWAP1 0000259e: POP 0000259f: JUMPDEST 000025a0: SWAP3 000025a1: SWAP2 000025a2: POP 000025a3: POP 000025a4: JUMP 000025a5: JUMPDEST 000025a6: PUSH1 0x00 000025a8: DUP2 000025a9: DUP4 000025aa: ADD 000025ab: SWAP1 000025ac: POP 000025ad: DUP3 000025ae: DUP2 000025af: LT 000025b0: ISZERO 000025b1: ISZERO 000025b2: ISZERO 000025b3: PUSH2 0x25b8 000025b6: JUMPI 000025b7: INVALID 000025b8: JUMPDEST 000025b9: DUP1 000025ba: SWAP1 000025bb: POP 000025bc: SWAP3 000025bd: SWAP2 000025be: POP 000025bf: POP 000025c0: JUMP 000025c1: JUMPDEST 000025c2: PUSH1 0x00 000025c4: DUP1 000025c5: PUSH2 0x25cd 000025c8: DUP5 000025c9: PUSH2 0x2e5a 000025cc: JUMP 000025cd: JUMPDEST 000025ce: DUP3 000025cf: PUSH1 0x0a 000025d1: EXP 000025d2: SWAP1 000025d3: POP 000025d4: PUSH2 0x2600 000025d7: DUP5 000025d8: PUSH1 0x20 000025da: ADD 000025db: MLOAD 000025dc: PUSH2 0x25f2 000025df: DUP7 000025e0: PUSH1 0x00 000025e2: ADD 000025e3: MLOAD 000025e4: DUP5 000025e5: PUSH2 0x256d 000025e8: SWAP1 000025e9: SWAP2 000025ea: SWAP1 000025eb: PUSH4 0xffffffff 000025f0: AND 000025f1: JUMP 000025f2: JUMPDEST 000025f3: PUSH2 0x23d6 000025f6: SWAP1 000025f7: SWAP2 000025f8: SWAP1 000025f9: PUSH4 0xffffffff 000025fe: AND 000025ff: JUMP 00002600: JUMPDEST 00002601: SWAP2 00002602: POP 00002603: POP 00002604: SWAP3 00002605: SWAP2 00002606: POP 00002607: POP 00002608: JUMP 00002609: JUMPDEST 0000260a: PUSH1 0x00 0000260c: DUP1 0000260d: PUSH2 0x261f 00002610: PUSH2 0x2618 00002613: DUP7 00002614: PUSH2 0x0c4f 00002617: JUMP 00002618: JUMPDEST 00002619: PUSH1 0x03 0000261b: PUSH2 0x2a4c 0000261e: JUMP 0000261f: JUMPDEST 00002620: ISZERO 00002621: PUSH2 0x262d 00002624: JUMPI 00002625: PUSH1 0x00 00002627: SWAP2 00002628: POP 00002629: PUSH2 0x2792 0000262c: JUMP 0000262d: JUMPDEST 0000262e: PUSH2 0x2664 00002631: PUSH2 0x265d 00002634: PUSH1 0x04 00002636: PUSH1 0x00 00002638: SWAP1 00002639: SLOAD 0000263a: SWAP1 0000263b: PUSH2 0x0100 0000263e: EXP 0000263f: SWAP1 00002640: DIV 00002641: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002656: AND 00002657: DUP6 00002658: DUP8 00002659: PUSH2 0x2aa4 0000265c: JUMP 0000265d: JUMPDEST 0000265e: PUSH1 0x01 00002660: PUSH2 0x2a4c 00002663: JUMP 00002664: JUMPDEST 00002665: ISZERO 00002666: PUSH2 0x2672 00002669: JUMPI 0000266a: PUSH1 0x00 0000266c: SWAP2 0000266d: POP 0000266e: PUSH2 0x2792 00002671: JUMP 00002672: JUMPDEST 00002673: ADDRESS 00002674: SWAP1 00002675: POP 00002676: PUSH1 0x40 00002678: DUP1 00002679: MLOAD 0000267a: SWAP1 0000267b: DUP2 0000267c: ADD 0000267d: PUSH1 0x40 0000267f: MSTORE 00002680: DUP1 00002681: DUP6 00002682: DUP2 00002683: MSTORE 00002684: PUSH1 0x20 00002686: ADD 00002687: DUP5 00002688: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000269d: AND 0000269e: DUP2 0000269f: MSTORE 000026a0: POP 000026a1: PUSH1 0x07 000026a3: PUSH1 0x00 000026a5: DUP8 000026a6: PUSH1 0x00 000026a8: NOT 000026a9: AND 000026aa: PUSH1 0x00 000026ac: NOT 000026ad: AND 000026ae: DUP2 000026af: MSTORE 000026b0: PUSH1 0x20 000026b2: ADD 000026b3: SWAP1 000026b4: DUP2 000026b5: MSTORE 000026b6: PUSH1 0x20 000026b8: ADD 000026b9: PUSH1 0x00 000026bb: KECCAK256 000026bc: PUSH1 0x00 000026be: DUP3 000026bf: ADD 000026c0: MLOAD 000026c1: DUP2 000026c2: PUSH1 0x00 000026c4: ADD 000026c5: SSTORE 000026c6: PUSH1 0x20 000026c8: DUP3 000026c9: ADD 000026ca: MLOAD 000026cb: DUP2 000026cc: PUSH1 0x01 000026ce: ADD 000026cf: PUSH1 0x00 000026d1: PUSH2 0x0100 000026d4: EXP 000026d5: DUP2 000026d6: SLOAD 000026d7: DUP2 000026d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026ed: MUL 000026ee: NOT 000026ef: AND 000026f0: SWAP1 000026f1: DUP4 000026f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002707: AND 00002708: MUL 00002709: OR 0000270a: SWAP1 0000270b: SSTORE 0000270c: POP 0000270d: SWAP1 0000270e: POP 0000270f: POP 00002710: DUP3 00002711: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002726: AND 00002727: DUP6 00002728: PUSH1 0x00 0000272a: NOT 0000272b: AND 0000272c: PUSH32 0x195d2e7855185ac08fef1e42ab0ccf60a6c8f79ba0af23b37c220eadf42ae9ea 0000274d: DUP7 0000274e: PUSH1 0x40 00002750: MLOAD 00002751: PUSH2 0x275a 00002754: SWAP2 00002755: SWAP1 00002756: PUSH2 0x36da 00002759: JUMP 0000275a: JUMPDEST 0000275b: PUSH1 0x40 0000275d: MLOAD 0000275e: DUP1 0000275f: SWAP2 00002760: SUB 00002761: SWAP1 00002762: LOG3 00002763: PUSH2 0x278f 00002766: PUSH1 0x04 00002768: PUSH1 0x00 0000276a: SWAP1 0000276b: SLOAD 0000276c: SWAP1 0000276d: PUSH2 0x0100 00002770: EXP 00002771: SWAP1 00002772: DIV 00002773: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002788: AND 00002789: DUP5 0000278a: DUP7 0000278b: PUSH2 0x2897 0000278e: JUMP 0000278f: JUMPDEST 00002790: SWAP2 00002791: POP 00002792: JUMPDEST 00002793: POP 00002794: SWAP4 00002795: SWAP3 00002796: POP 00002797: POP 00002798: POP 00002799: JUMP 0000279a: JUMPDEST 0000279b: PUSH2 0x27a2 0000279e: PUSH2 0x2fad 000027a1: JUMP 000027a2: JUMPDEST 000027a3: PUSH2 0x27e0 000027a6: PUSH2 0x27c0 000027a9: DUP4 000027aa: PUSH1 0x00 000027ac: ADD 000027ad: MLOAD 000027ae: DUP6 000027af: PUSH1 0x00 000027b1: ADD 000027b2: MLOAD 000027b3: PUSH2 0x256d 000027b6: SWAP1 000027b7: SWAP2 000027b8: SWAP1 000027b9: PUSH4 0xffffffff 000027be: AND 000027bf: JUMP 000027c0: JUMPDEST 000027c1: PUSH2 0x27db 000027c4: DUP5 000027c5: PUSH1 0x20 000027c7: ADD 000027c8: MLOAD 000027c9: DUP7 000027ca: PUSH1 0x20 000027cc: ADD 000027cd: MLOAD 000027ce: PUSH2 0x256d 000027d1: SWAP1 000027d2: SWAP2 000027d3: SWAP1 000027d4: PUSH4 0xffffffff 000027d9: AND 000027da: JUMP 000027db: JUMPDEST 000027dc: PUSH2 0x2e6e 000027df: JUMP 000027e0: JUMPDEST 000027e1: SWAP1 000027e2: POP 000027e3: SWAP3 000027e4: SWAP2 000027e5: POP 000027e6: POP 000027e7: JUMP 000027e8: JUMPDEST 000027e9: PUSH2 0x27f0 000027ec: PUSH2 0x2fad 000027ef: JUMP 000027f0: JUMPDEST 000027f1: PUSH2 0x282e 000027f4: PUSH2 0x280e 000027f7: DUP4 000027f8: PUSH1 0x20 000027fa: ADD 000027fb: MLOAD 000027fc: DUP6 000027fd: PUSH1 0x00 000027ff: ADD 00002800: MLOAD 00002801: PUSH2 0x256d 00002804: SWAP1 00002805: SWAP2 00002806: SWAP1 00002807: PUSH4 0xffffffff 0000280c: AND 0000280d: JUMP 0000280e: JUMPDEST 0000280f: PUSH2 0x2829 00002812: DUP5 00002813: PUSH1 0x00 00002815: ADD 00002816: MLOAD 00002817: DUP7 00002818: PUSH1 0x20 0000281a: ADD 0000281b: MLOAD 0000281c: PUSH2 0x256d 0000281f: SWAP1 00002820: SWAP2 00002821: SWAP1 00002822: PUSH4 0xffffffff 00002827: AND 00002828: JUMP 00002829: JUMPDEST 0000282a: PUSH2 0x2e6e 0000282d: JUMP 0000282e: JUMPDEST 0000282f: SWAP1 00002830: POP 00002831: SWAP3 00002832: SWAP2 00002833: POP 00002834: POP 00002835: JUMP 00002836: JUMPDEST 00002837: PUSH2 0x283e 0000283a: PUSH2 0x2fad 0000283d: JUMP 0000283e: JUMPDEST 0000283f: PUSH1 0x00 00002841: DUP1 00002842: PUSH2 0x285c 00002845: DUP5 00002846: PUSH1 0x20 00002848: ADD 00002849: MLOAD 0000284a: DUP7 0000284b: PUSH1 0x00 0000284d: ADD 0000284e: MLOAD 0000284f: PUSH2 0x256d 00002852: SWAP1 00002853: SWAP2 00002854: SWAP1 00002855: PUSH4 0xffffffff 0000285a: AND 0000285b: JUMP 0000285c: JUMPDEST 0000285d: SWAP2 0000285e: POP 0000285f: PUSH2 0x2879 00002862: DUP6 00002863: PUSH1 0x20 00002865: ADD 00002866: MLOAD 00002867: DUP6 00002868: PUSH1 0x00 0000286a: ADD 0000286b: MLOAD 0000286c: PUSH2 0x256d 0000286f: SWAP1 00002870: SWAP2 00002871: SWAP1 00002872: PUSH4 0xffffffff 00002877: AND 00002878: JUMP 00002879: JUMPDEST 0000287a: SWAP1 0000287b: POP 0000287c: DUP1 0000287d: DUP3 0000287e: LT 0000287f: ISZERO 00002880: PUSH2 0x288b 00002883: JUMPI 00002884: DUP5 00002885: SWAP3 00002886: POP 00002887: PUSH2 0x288f 0000288a: JUMP 0000288b: JUMPDEST 0000288c: DUP4 0000288d: SWAP3 0000288e: POP 0000288f: JUMPDEST 00002890: POP 00002891: POP 00002892: SWAP3 00002893: SWAP2 00002894: POP 00002895: POP 00002896: JUMP 00002897: JUMPDEST 00002898: PUSH1 0x00 0000289a: DUP1 0000289b: ADDRESS 0000289c: SWAP1 0000289d: POP 0000289e: DUP5 0000289f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028b4: AND 000028b5: PUSH4 0x23b872dd 000028ba: DUP6 000028bb: DUP4 000028bc: DUP7 000028bd: PUSH1 0x40 000028bf: MLOAD 000028c0: DUP5 000028c1: PUSH4 0xffffffff 000028c6: AND 000028c7: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000028e5: MUL 000028e6: DUP2 000028e7: MSTORE 000028e8: PUSH1 0x04 000028ea: ADD 000028eb: PUSH2 0x28f6 000028ee: SWAP4 000028ef: SWAP3 000028f0: SWAP2 000028f1: SWAP1 000028f2: PUSH2 0x3598 000028f5: JUMP 000028f6: JUMPDEST 000028f7: PUSH1 0x20 000028f9: PUSH1 0x40 000028fb: MLOAD 000028fc: DUP1 000028fd: DUP4 000028fe: SUB 000028ff: DUP2 00002900: PUSH1 0x00 00002902: DUP8 00002903: DUP1 00002904: EXTCODESIZE 00002905: ISZERO 00002906: DUP1 00002907: ISZERO 00002908: PUSH2 0x2910 0000290b: JUMPI 0000290c: PUSH1 0x00 0000290e: DUP1 0000290f: REVERT 00002910: JUMPDEST 00002911: POP 00002912: GAS 00002913: CALL 00002914: ISZERO 00002915: DUP1 00002916: ISZERO 00002917: PUSH2 0x2924 0000291a: JUMPI 0000291b: RETURNDATASIZE 0000291c: PUSH1 0x00 0000291e: DUP1 0000291f: RETURNDATACOPY 00002920: RETURNDATASIZE 00002921: PUSH1 0x00 00002923: REVERT 00002924: JUMPDEST 00002925: POP 00002926: POP 00002927: POP 00002928: POP 00002929: PUSH1 0x40 0000292b: MLOAD 0000292c: RETURNDATASIZE 0000292d: PUSH1 0x1f 0000292f: NOT 00002930: PUSH1 0x1f 00002932: DUP3 00002933: ADD 00002934: AND 00002935: DUP3 00002936: ADD 00002937: DUP1 00002938: PUSH1 0x40 0000293a: MSTORE 0000293b: POP 0000293c: PUSH2 0x2948 0000293f: SWAP2 00002940: SWAP1 00002941: DUP2 00002942: ADD 00002943: SWAP1 00002944: PUSH2 0x312d 00002947: JUMP 00002948: JUMPDEST 00002949: SWAP2 0000294a: POP 0000294b: POP 0000294c: SWAP4 0000294d: SWAP3 0000294e: POP 0000294f: POP 00002950: POP 00002951: JUMP 00002952: JUMPDEST 00002953: PUSH1 0x00 00002955: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000296a: AND 0000296b: DUP2 0000296c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002981: AND 00002982: EQ 00002983: ISZERO 00002984: ISZERO 00002985: ISZERO 00002986: PUSH2 0x298e 00002989: JUMPI 0000298a: PUSH1 0x00 0000298c: DUP1 0000298d: REVERT 0000298e: JUMPDEST 0000298f: DUP1 00002990: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029a5: AND 000029a6: PUSH1 0x00 000029a8: DUP1 000029a9: SWAP1 000029aa: SLOAD 000029ab: SWAP1 000029ac: PUSH2 0x0100 000029af: EXP 000029b0: SWAP1 000029b1: DIV 000029b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029c7: AND 000029c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029dd: AND 000029de: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000029ff: PUSH1 0x40 00002a01: MLOAD 00002a02: PUSH1 0x40 00002a04: MLOAD 00002a05: DUP1 00002a06: SWAP2 00002a07: SUB 00002a08: SWAP1 00002a09: LOG3 00002a0a: DUP1 00002a0b: PUSH1 0x00 00002a0d: DUP1 00002a0e: PUSH2 0x0100 00002a11: EXP 00002a12: DUP2 00002a13: SLOAD 00002a14: DUP2 00002a15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a2a: MUL 00002a2b: NOT 00002a2c: AND 00002a2d: SWAP1 00002a2e: DUP4 00002a2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a44: AND 00002a45: MUL 00002a46: OR 00002a47: SWAP1 00002a48: SSTORE 00002a49: POP 00002a4a: POP 00002a4b: JUMP 00002a4c: JUMPDEST 00002a4d: PUSH1 0x00 00002a4f: DUP3 00002a50: ISZERO 00002a51: ISZERO 00002a52: PUSH2 0x2a99 00002a55: JUMPI 00002a56: DUP2 00002a57: PUSH1 0x04 00002a59: DUP2 00002a5a: GT 00002a5b: ISZERO 00002a5c: PUSH2 0x2a61 00002a5f: JUMPI 00002a60: INVALID 00002a61: JUMPDEST 00002a62: PUSH1 0xff 00002a64: AND 00002a65: PUSH32 0xf64a83c5d4d949675caf48520cc73c95b7d9a17ce71f39ba7695af5917d86eba 00002a86: PUSH1 0x40 00002a88: MLOAD 00002a89: PUSH1 0x40 00002a8b: MLOAD 00002a8c: DUP1 00002a8d: SWAP2 00002a8e: SUB 00002a8f: SWAP1 00002a90: LOG2 00002a91: PUSH1 0x01 00002a93: SWAP1 00002a94: POP 00002a95: PUSH2 0x2a9e 00002a98: JUMP 00002a99: JUMPDEST 00002a9a: PUSH1 0x00 00002a9c: SWAP1 00002a9d: POP 00002a9e: JUMPDEST 00002a9f: SWAP3 00002aa0: SWAP2 00002aa1: POP 00002aa2: POP 00002aa3: JUMP 00002aa4: JUMPDEST 00002aa5: PUSH1 0x00 00002aa7: DUP1 00002aa8: ADDRESS 00002aa9: SWAP1 00002aaa: POP 00002aab: DUP3 00002aac: DUP6 00002aad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ac2: AND 00002ac3: PUSH4 0x70a08231 00002ac8: DUP7 00002ac9: PUSH1 0x40 00002acb: MLOAD 00002acc: DUP3 00002acd: PUSH4 0xffffffff 00002ad2: AND 00002ad3: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002af1: MUL 00002af2: DUP2 00002af3: MSTORE 00002af4: PUSH1 0x04 00002af6: ADD 00002af7: PUSH2 0x2b00 00002afa: SWAP2 00002afb: SWAP1 00002afc: PUSH2 0x3554 00002aff: JUMP 00002b00: JUMPDEST 00002b01: PUSH1 0x20 00002b03: PUSH1 0x40 00002b05: MLOAD 00002b06: DUP1 00002b07: DUP4 00002b08: SUB 00002b09: DUP2 00002b0a: PUSH1 0x00 00002b0c: DUP8 00002b0d: DUP1 00002b0e: EXTCODESIZE 00002b0f: ISZERO 00002b10: DUP1 00002b11: ISZERO 00002b12: PUSH2 0x2b1a 00002b15: JUMPI 00002b16: PUSH1 0x00 00002b18: DUP1 00002b19: REVERT 00002b1a: JUMPDEST 00002b1b: POP 00002b1c: GAS 00002b1d: CALL 00002b1e: ISZERO 00002b1f: DUP1 00002b20: ISZERO 00002b21: PUSH2 0x2b2e 00002b24: JUMPI 00002b25: RETURNDATASIZE 00002b26: PUSH1 0x00 00002b28: DUP1 00002b29: RETURNDATACOPY 00002b2a: RETURNDATASIZE 00002b2b: PUSH1 0x00 00002b2d: REVERT 00002b2e: JUMPDEST 00002b2f: POP 00002b30: POP 00002b31: POP 00002b32: POP 00002b33: PUSH1 0x40 00002b35: MLOAD 00002b36: RETURNDATASIZE 00002b37: PUSH1 0x1f 00002b39: NOT 00002b3a: PUSH1 0x1f 00002b3c: DUP3 00002b3d: ADD 00002b3e: AND 00002b3f: DUP3 00002b40: ADD 00002b41: DUP1 00002b42: PUSH1 0x40 00002b44: MSTORE 00002b45: POP 00002b46: PUSH2 0x2b52 00002b49: SWAP2 00002b4a: SWAP1 00002b4b: DUP2 00002b4c: ADD 00002b4d: SWAP1 00002b4e: PUSH2 0x3377 00002b51: JUMP 00002b52: JUMPDEST 00002b53: LT 00002b54: ISZERO 00002b55: DUP1 00002b56: ISZERO 00002b57: PUSH2 0x2c08 00002b5a: JUMPI 00002b5b: POP 00002b5c: DUP3 00002b5d: DUP6 00002b5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b73: AND 00002b74: PUSH4 0xdd62ed3e 00002b79: DUP7 00002b7a: DUP5 00002b7b: PUSH1 0x40 00002b7d: MLOAD 00002b7e: DUP4 00002b7f: PUSH4 0xffffffff 00002b84: AND 00002b85: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002ba3: MUL 00002ba4: DUP2 00002ba5: MSTORE 00002ba6: PUSH1 0x04 00002ba8: ADD 00002ba9: PUSH2 0x2bb3 00002bac: SWAP3 00002bad: SWAP2 00002bae: SWAP1 00002baf: PUSH2 0x356f 00002bb2: JUMP 00002bb3: JUMPDEST 00002bb4: PUSH1 0x20 00002bb6: PUSH1 0x40 00002bb8: MLOAD 00002bb9: DUP1 00002bba: DUP4 00002bbb: SUB 00002bbc: DUP2 00002bbd: PUSH1 0x00 00002bbf: DUP8 00002bc0: DUP1 00002bc1: EXTCODESIZE 00002bc2: ISZERO 00002bc3: DUP1 00002bc4: ISZERO 00002bc5: PUSH2 0x2bcd 00002bc8: JUMPI 00002bc9: PUSH1 0x00 00002bcb: DUP1 00002bcc: REVERT 00002bcd: JUMPDEST 00002bce: POP 00002bcf: GAS 00002bd0: CALL 00002bd1: ISZERO 00002bd2: DUP1 00002bd3: ISZERO 00002bd4: PUSH2 0x2be1 00002bd7: JUMPI 00002bd8: RETURNDATASIZE 00002bd9: PUSH1 0x00 00002bdb: DUP1 00002bdc: RETURNDATACOPY 00002bdd: RETURNDATASIZE 00002bde: PUSH1 0x00 00002be0: REVERT 00002be1: JUMPDEST 00002be2: POP 00002be3: POP 00002be4: POP 00002be5: POP 00002be6: PUSH1 0x40 00002be8: MLOAD 00002be9: RETURNDATASIZE 00002bea: PUSH1 0x1f 00002bec: NOT 00002bed: PUSH1 0x1f 00002bef: DUP3 00002bf0: ADD 00002bf1: AND 00002bf2: DUP3 00002bf3: ADD 00002bf4: DUP1 00002bf5: PUSH1 0x40 00002bf7: MSTORE 00002bf8: POP 00002bf9: PUSH2 0x2c05 00002bfc: SWAP2 00002bfd: SWAP1 00002bfe: DUP2 00002bff: ADD 00002c00: SWAP1 00002c01: PUSH2 0x3377 00002c04: JUMP 00002c05: JUMPDEST 00002c06: LT 00002c07: ISZERO 00002c08: JUMPDEST 00002c09: SWAP2 00002c0a: POP 00002c0b: POP 00002c0c: SWAP4 00002c0d: SWAP3 00002c0e: POP 00002c0f: POP 00002c10: POP 00002c11: JUMP 00002c12: JUMPDEST 00002c13: PUSH1 0x00 00002c15: DUP1 00002c16: PUSH1 0x00 00002c18: PUSH1 0x07 00002c1a: PUSH1 0x00 00002c1c: DUP6 00002c1d: PUSH1 0x00 00002c1f: NOT 00002c20: AND 00002c21: PUSH1 0x00 00002c23: NOT 00002c24: AND 00002c25: DUP2 00002c26: MSTORE 00002c27: PUSH1 0x20 00002c29: ADD 00002c2a: SWAP1 00002c2b: DUP2 00002c2c: MSTORE 00002c2d: PUSH1 0x20 00002c2f: ADD 00002c30: PUSH1 0x00 00002c32: KECCAK256 00002c33: PUSH1 0x00 00002c35: ADD 00002c36: SLOAD 00002c37: SWAP2 00002c38: POP 00002c39: PUSH1 0x07 00002c3b: PUSH1 0x00 00002c3d: DUP6 00002c3e: PUSH1 0x00 00002c40: NOT 00002c41: AND 00002c42: PUSH1 0x00 00002c44: NOT 00002c45: AND 00002c46: DUP2 00002c47: MSTORE 00002c48: PUSH1 0x20 00002c4a: ADD 00002c4b: SWAP1 00002c4c: DUP2 00002c4d: MSTORE 00002c4e: PUSH1 0x20 00002c50: ADD 00002c51: PUSH1 0x00 00002c53: KECCAK256 00002c54: PUSH1 0x01 00002c56: ADD 00002c57: PUSH1 0x00 00002c59: SWAP1 00002c5a: SLOAD 00002c5b: SWAP1 00002c5c: PUSH2 0x0100 00002c5f: EXP 00002c60: SWAP1 00002c61: DIV 00002c62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c77: AND 00002c78: SWAP1 00002c79: POP 00002c7a: PUSH1 0x00 00002c7c: PUSH1 0x07 00002c7e: PUSH1 0x00 00002c80: DUP7 00002c81: PUSH1 0x00 00002c83: NOT 00002c84: AND 00002c85: PUSH1 0x00 00002c87: NOT 00002c88: AND 00002c89: DUP2 00002c8a: MSTORE 00002c8b: PUSH1 0x20 00002c8d: ADD 00002c8e: SWAP1 00002c8f: DUP2 00002c90: MSTORE 00002c91: PUSH1 0x20 00002c93: ADD 00002c94: PUSH1 0x00 00002c96: KECCAK256 00002c97: PUSH1 0x00 00002c99: ADD 00002c9a: DUP2 00002c9b: SWAP1 00002c9c: SSTORE 00002c9d: POP 00002c9e: PUSH1 0x04 00002ca0: PUSH1 0x00 00002ca2: SWAP1 00002ca3: SLOAD 00002ca4: SWAP1 00002ca5: PUSH2 0x0100 00002ca8: EXP 00002ca9: SWAP1 00002caa: DIV 00002cab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cc0: AND 00002cc1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cd6: AND 00002cd7: PUSH4 0xa9059cbb 00002cdc: DUP3 00002cdd: DUP5 00002cde: PUSH1 0x40 00002ce0: MLOAD 00002ce1: DUP4 00002ce2: PUSH4 0xffffffff 00002ce7: AND 00002ce8: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002d06: MUL 00002d07: DUP2 00002d08: MSTORE 00002d09: PUSH1 0x04 00002d0b: ADD 00002d0c: PUSH2 0x2d16 00002d0f: SWAP3 00002d10: SWAP2 00002d11: SWAP1 00002d12: PUSH2 0x35cf 00002d15: JUMP 00002d16: JUMPDEST 00002d17: PUSH1 0x20 00002d19: PUSH1 0x40 00002d1b: MLOAD 00002d1c: DUP1 00002d1d: DUP4 00002d1e: SUB 00002d1f: DUP2 00002d20: PUSH1 0x00 00002d22: DUP8 00002d23: DUP1 00002d24: EXTCODESIZE 00002d25: ISZERO 00002d26: DUP1 00002d27: ISZERO 00002d28: PUSH2 0x2d30 00002d2b: JUMPI 00002d2c: PUSH1 0x00 00002d2e: DUP1 00002d2f: REVERT 00002d30: JUMPDEST 00002d31: POP 00002d32: GAS 00002d33: CALL 00002d34: ISZERO 00002d35: DUP1 00002d36: ISZERO 00002d37: PUSH2 0x2d44 00002d3a: JUMPI 00002d3b: RETURNDATASIZE 00002d3c: PUSH1 0x00 00002d3e: DUP1 00002d3f: RETURNDATACOPY 00002d40: RETURNDATASIZE 00002d41: PUSH1 0x00 00002d43: REVERT 00002d44: JUMPDEST 00002d45: POP 00002d46: POP 00002d47: POP 00002d48: POP 00002d49: PUSH1 0x40 00002d4b: MLOAD 00002d4c: RETURNDATASIZE 00002d4d: PUSH1 0x1f 00002d4f: NOT 00002d50: PUSH1 0x1f 00002d52: DUP3 00002d53: ADD 00002d54: AND 00002d55: DUP3 00002d56: ADD 00002d57: DUP1 00002d58: PUSH1 0x40 00002d5a: MSTORE 00002d5b: POP 00002d5c: PUSH2 0x2d68 00002d5f: SWAP2 00002d60: SWAP1 00002d61: DUP2 00002d62: ADD 00002d63: SWAP1 00002d64: PUSH2 0x312d 00002d67: JUMP 00002d68: JUMPDEST 00002d69: SWAP3 00002d6a: POP 00002d6b: POP 00002d6c: POP 00002d6d: SWAP2 00002d6e: SWAP1 00002d6f: POP 00002d70: JUMP 00002d71: JUMPDEST 00002d72: PUSH2 0x2d79 00002d75: PUSH2 0x2f84 00002d78: JUMP 00002d79: JUMPDEST 00002d7a: PUSH1 0x00 00002d7c: DUP1 00002d7d: PUSH1 0x00 00002d7f: DUP1 00002d80: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00002da1: PUSH1 0x01 00002da3: MUL 00002da4: DUP7 00002da5: AND 00002da6: SWAP4 00002da7: POP 00002da8: PUSH31 0xff000000000000000000000000000000000000000000000000000000000000 00002dc8: PUSH1 0x01 00002dca: MUL 00002dcb: DUP7 00002dcc: AND 00002dcd: SWAP3 00002dce: POP 00002dcf: PUSH30 0xffffffffffffffffffffffffffffff000000000000000000000000000000 00002dee: PUSH1 0x01 00002df0: MUL 00002df1: DUP7 00002df2: AND 00002df3: SWAP2 00002df4: POP 00002df5: PUSH15 0xffffffffffffffffffffffffffffff 00002e05: PUSH1 0x01 00002e07: MUL 00002e08: DUP7 00002e09: AND 00002e0a: SWAP1 00002e0b: POP 00002e0c: PUSH1 0x80 00002e0e: PUSH1 0x40 00002e10: MLOAD 00002e11: SWAP1 00002e12: DUP2 00002e13: ADD 00002e14: PUSH1 0x40 00002e16: MSTORE 00002e17: DUP1 00002e18: PUSH2 0x2e22 00002e1b: DUP7 00002e1c: PUSH1 0xf8 00002e1e: PUSH2 0x2f45 00002e21: JUMP 00002e22: JUMPDEST 00002e23: DUP2 00002e24: MSTORE 00002e25: PUSH1 0x20 00002e27: ADD 00002e28: PUSH2 0x2e32 00002e2b: DUP6 00002e2c: PUSH1 0xf0 00002e2e: PUSH2 0x2f45 00002e31: JUMP 00002e32: JUMPDEST 00002e33: DUP2 00002e34: MSTORE 00002e35: PUSH1 0x20 00002e37: ADD 00002e38: PUSH2 0x2e42 00002e3b: DUP5 00002e3c: PUSH1 0x78 00002e3e: PUSH2 0x2f45 00002e41: JUMP 00002e42: JUMPDEST 00002e43: DUP2 00002e44: MSTORE 00002e45: PUSH1 0x20 00002e47: ADD 00002e48: DUP3 00002e49: PUSH1 0x01 00002e4b: SWAP1 00002e4c: DIV 00002e4d: DUP2 00002e4e: MSTORE 00002e4f: POP 00002e50: SWAP5 00002e51: POP 00002e52: POP 00002e53: POP 00002e54: POP 00002e55: POP 00002e56: SWAP2 00002e57: SWAP1 00002e58: POP 00002e59: JUMP 00002e5a: JUMPDEST 00002e5b: PUSH1 0x00 00002e5d: DUP2 00002e5e: PUSH1 0x20 00002e60: ADD 00002e61: MLOAD 00002e62: EQ 00002e63: ISZERO 00002e64: ISZERO 00002e65: ISZERO 00002e66: PUSH2 0x2e6b 00002e69: JUMPI 00002e6a: INVALID 00002e6b: JUMPDEST 00002e6c: POP 00002e6d: JUMP 00002e6e: JUMPDEST 00002e6f: PUSH2 0x2e76 00002e72: PUSH2 0x2fad 00002e75: JUMP 00002e76: JUMPDEST 00002e77: PUSH1 0x00 00002e79: DUP1 00002e7a: DUP4 00002e7b: DUP6 00002e7c: GT 00002e7d: PUSH2 0x2e86 00002e80: JUMPI 00002e81: DUP4 00002e82: PUSH2 0x2e88 00002e85: JUMP 00002e86: JUMPDEST 00002e87: DUP5 00002e88: JUMPDEST 00002e89: SWAP2 00002e8a: POP 00002e8b: PUSH2 0x0100 00002e8e: DUP3 00002e8f: SWAP1 00002e90: PUSH1 0x02 00002e92: EXP 00002e93: SWAP1 00002e94: DIV 00002e95: SWAP1 00002e96: POP 00002e97: PUSH1 0x00 00002e99: DUP2 00002e9a: EQ 00002e9b: ISZERO 00002e9c: ISZERO 00002e9d: PUSH2 0x2ec3 00002ea0: JUMPI 00002ea1: PUSH1 0x01 00002ea3: DUP2 00002ea4: ADD 00002ea5: SWAP1 00002ea6: POP 00002ea7: DUP1 00002ea8: DUP6 00002ea9: DUP2 00002eaa: ISZERO 00002eab: ISZERO 00002eac: PUSH2 0x2eb1 00002eaf: JUMPI 00002eb0: INVALID 00002eb1: JUMPDEST 00002eb2: DIV 00002eb3: SWAP5 00002eb4: POP 00002eb5: DUP1 00002eb6: DUP5 00002eb7: DUP2 00002eb8: ISZERO 00002eb9: ISZERO 00002eba: PUSH2 0x2ebf 00002ebd: JUMPI 00002ebe: INVALID 00002ebf: JUMPDEST 00002ec0: DIV 00002ec1: SWAP4 00002ec2: POP 00002ec3: JUMPDEST 00002ec4: PUSH1 0x00 00002ec6: DUP5 00002ec7: EQ 00002ec8: ISZERO 00002ec9: ISZERO 00002eca: ISZERO 00002ecb: PUSH2 0x2ed0 00002ece: JUMPI 00002ecf: INVALID 00002ed0: JUMPDEST 00002ed1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002ef2: DUP5 00002ef3: LT 00002ef4: ISZERO 00002ef5: ISZERO 00002ef6: PUSH2 0x2efb 00002ef9: JUMPI 00002efa: INVALID 00002efb: JUMPDEST 00002efc: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002f1d: DUP6 00002f1e: LT 00002f1f: ISZERO 00002f20: ISZERO 00002f21: PUSH2 0x2f26 00002f24: JUMPI 00002f25: INVALID 00002f26: JUMPDEST 00002f27: PUSH1 0x40 00002f29: DUP1 00002f2a: MLOAD 00002f2b: SWAP1 00002f2c: DUP2 00002f2d: ADD 00002f2e: PUSH1 0x40 00002f30: MSTORE 00002f31: DUP1 00002f32: DUP7 00002f33: DUP2 00002f34: MSTORE 00002f35: PUSH1 0x20 00002f37: ADD 00002f38: DUP6 00002f39: DUP2 00002f3a: MSTORE 00002f3b: POP 00002f3c: SWAP3 00002f3d: POP 00002f3e: POP 00002f3f: POP 00002f40: SWAP3 00002f41: SWAP2 00002f42: POP 00002f43: POP 00002f44: JUMP 00002f45: JUMPDEST 00002f46: PUSH1 0x00 00002f48: DUP2 00002f49: PUSH1 0x02 00002f4b: EXP 00002f4c: DUP4 00002f4d: PUSH1 0x01 00002f4f: SWAP1 00002f50: DIV 00002f51: DUP2 00002f52: ISZERO 00002f53: ISZERO 00002f54: PUSH2 0x2f59 00002f57: JUMPI 00002f58: INVALID 00002f59: JUMPDEST 00002f5a: DIV 00002f5b: SWAP1 00002f5c: POP 00002f5d: SWAP3 00002f5e: SWAP2 00002f5f: POP 00002f60: POP 00002f61: JUMP 00002f62: JUMPDEST 00002f63: PUSH1 0x60 00002f65: PUSH1 0x40 00002f67: MLOAD 00002f68: SWAP1 00002f69: DUP2 00002f6a: ADD 00002f6b: PUSH1 0x40 00002f6d: MSTORE 00002f6e: DUP1 00002f6f: PUSH1 0x00 00002f71: DUP2 00002f72: MSTORE 00002f73: PUSH1 0x20 00002f75: ADD 00002f76: PUSH1 0x00 00002f78: DUP2 00002f79: MSTORE 00002f7a: PUSH1 0x20 00002f7c: ADD 00002f7d: PUSH1 0x00 00002f7f: DUP2 00002f80: MSTORE 00002f81: POP 00002f82: SWAP1 00002f83: JUMP 00002f84: JUMPDEST 00002f85: PUSH1 0x80 00002f87: PUSH1 0x40 00002f89: MLOAD 00002f8a: SWAP1 00002f8b: DUP2 00002f8c: ADD 00002f8d: PUSH1 0x40 00002f8f: MSTORE 00002f90: DUP1 00002f91: PUSH1 0x00 00002f93: DUP2 00002f94: MSTORE 00002f95: PUSH1 0x20 00002f97: ADD 00002f98: PUSH1 0x00 00002f9a: DUP2 00002f9b: MSTORE 00002f9c: PUSH1 0x20 00002f9e: ADD 00002f9f: PUSH1 0x00 00002fa1: DUP2 00002fa2: MSTORE 00002fa3: PUSH1 0x20 00002fa5: ADD 00002fa6: PUSH1 0x00 00002fa8: DUP2 00002fa9: MSTORE 00002faa: POP 00002fab: SWAP1 00002fac: JUMP 00002fad: JUMPDEST 00002fae: PUSH1 0x40 00002fb0: DUP1 00002fb1: MLOAD 00002fb2: SWAP1 00002fb3: DUP2 00002fb4: ADD 00002fb5: PUSH1 0x40 00002fb7: MSTORE 00002fb8: DUP1 00002fb9: PUSH1 0x00 00002fbb: DUP2 00002fbc: MSTORE 00002fbd: PUSH1 0x20 00002fbf: ADD 00002fc0: PUSH1 0x00 00002fc2: DUP2 00002fc3: MSTORE 00002fc4: POP 00002fc5: SWAP1 00002fc6: JUMP 00002fc7: JUMPDEST 00002fc8: PUSH1 0x00 00002fca: PUSH2 0x2fd3 00002fcd: DUP3 00002fce: CALLDATALOAD 00002fcf: PUSH2 0x37c2 00002fd2: JUMP 00002fd3: JUMPDEST 00002fd4: SWAP1 00002fd5: POP 00002fd6: SWAP3 00002fd7: SWAP2 00002fd8: POP 00002fd9: POP 00002fda: JUMP 00002fdb: JUMPDEST 00002fdc: PUSH1 0x00 00002fde: PUSH2 0x2fe7 00002fe1: DUP3 00002fe2: MLOAD 00002fe3: PUSH2 0x37c2 00002fe6: JUMP 00002fe7: JUMPDEST 00002fe8: SWAP1 00002fe9: POP 00002fea: SWAP3 00002feb: SWAP2 00002fec: POP 00002fed: POP 00002fee: JUMP 00002fef: JUMPDEST 00002ff0: PUSH1 0x00 00002ff2: PUSH2 0x2ffb 00002ff5: DUP3 00002ff6: MLOAD 00002ff7: PUSH2 0x37e2 00002ffa: JUMP 00002ffb: JUMPDEST 00002ffc: SWAP1 00002ffd: POP 00002ffe: SWAP3 00002fff: SWAP2 00003000: POP 00003001: POP 00003002: JUMP 00003003: JUMPDEST 00003004: PUSH1 0x00 00003006: PUSH2 0x300f 00003009: DUP3 0000300a: CALLDATALOAD 0000300b: PUSH2 0x37ee 0000300e: JUMP 0000300f: JUMPDEST 00003010: SWAP1 00003011: POP 00003012: SWAP3 00003013: SWAP2 00003014: POP 00003015: POP 00003016: JUMP 00003017: JUMPDEST 00003018: PUSH1 0x00 0000301a: PUSH2 0x3023 0000301d: DUP3 0000301e: MLOAD 0000301f: PUSH2 0x37ee 00003022: JUMP 00003023: JUMPDEST 00003024: SWAP1 00003025: POP 00003026: SWAP3 00003027: SWAP2 00003028: POP 00003029: POP 0000302a: JUMP 0000302b: JUMPDEST 0000302c: PUSH1 0x00 0000302e: PUSH2 0x3037 00003031: DUP3 00003032: MLOAD 00003033: PUSH2 0x37f8 00003036: JUMP 00003037: JUMPDEST 00003038: SWAP1 00003039: POP 0000303a: SWAP3 0000303b: SWAP2 0000303c: POP 0000303d: POP 0000303e: JUMP 0000303f: JUMPDEST 00003040: PUSH1 0x00 00003042: PUSH2 0x304b 00003045: DUP3 00003046: MLOAD 00003047: PUSH2 0x380a 0000304a: JUMP 0000304b: JUMPDEST 0000304c: SWAP1 0000304d: POP 0000304e: SWAP3 0000304f: SWAP2 00003050: POP 00003051: POP 00003052: JUMP 00003053: JUMPDEST 00003054: PUSH1 0x00 00003056: PUSH2 0x305f 00003059: DUP3 0000305a: MLOAD 0000305b: PUSH2 0x381c 0000305e: JUMP 0000305f: JUMPDEST 00003060: SWAP1 00003061: POP 00003062: SWAP3 00003063: SWAP2 00003064: POP 00003065: POP 00003066: JUMP 00003067: JUMPDEST 00003068: PUSH1 0x00 0000306a: PUSH1 0x40 0000306c: DUP3 0000306d: DUP5 0000306e: SUB 0000306f: SLT 00003070: ISZERO 00003071: PUSH2 0x3079 00003074: JUMPI 00003075: PUSH1 0x00 00003077: DUP1 00003078: REVERT 00003079: JUMPDEST 0000307a: PUSH2 0x3083 0000307d: PUSH1 0x40 0000307f: PUSH2 0x3755 00003082: JUMP 00003083: JUMPDEST 00003084: SWAP1 00003085: POP 00003086: PUSH1 0x00 00003088: PUSH2 0x3093 0000308b: DUP5 0000308c: DUP3 0000308d: DUP6 0000308e: ADD 0000308f: PUSH2 0x30b3 00003092: JUMP 00003093: JUMPDEST 00003094: PUSH1 0x00 00003096: DUP4 00003097: ADD 00003098: MSTORE 00003099: POP 0000309a: PUSH1 0x20 0000309c: PUSH2 0x30a7 0000309f: DUP5 000030a0: DUP3 000030a1: DUP6 000030a2: ADD 000030a3: PUSH2 0x30b3 000030a6: JUMP 000030a7: JUMPDEST 000030a8: PUSH1 0x20 000030aa: DUP4 000030ab: ADD 000030ac: MSTORE 000030ad: POP 000030ae: SWAP3 000030af: SWAP2 000030b0: POP 000030b1: POP 000030b2: JUMP 000030b3: JUMPDEST 000030b4: PUSH1 0x00 000030b6: PUSH2 0x30bf 000030b9: DUP3 000030ba: CALLDATALOAD 000030bb: PUSH2 0x382e 000030be: JUMP 000030bf: JUMPDEST 000030c0: SWAP1 000030c1: POP 000030c2: SWAP3 000030c3: SWAP2 000030c4: POP 000030c5: POP 000030c6: JUMP 000030c7: JUMPDEST 000030c8: PUSH1 0x00 000030ca: PUSH2 0x30d3 000030cd: DUP3 000030ce: MLOAD 000030cf: PUSH2 0x382e 000030d2: JUMP 000030d3: JUMPDEST 000030d4: SWAP1 000030d5: POP 000030d6: SWAP3 000030d7: SWAP2 000030d8: POP 000030d9: POP 000030da: JUMP 000030db: JUMPDEST 000030dc: PUSH1 0x00 000030de: PUSH1 0x20 000030e0: DUP3 000030e1: DUP5 000030e2: SUB 000030e3: SLT 000030e4: ISZERO 000030e5: PUSH2 0x30ed 000030e8: JUMPI 000030e9: PUSH1 0x00 000030eb: DUP1 000030ec: REVERT 000030ed: JUMPDEST 000030ee: PUSH1 0x00 000030f0: PUSH2 0x30fb 000030f3: DUP5 000030f4: DUP3 000030f5: DUP6 000030f6: ADD 000030f7: PUSH2 0x2fc7 000030fa: JUMP 000030fb: JUMPDEST 000030fc: SWAP2 000030fd: POP 000030fe: POP 000030ff: SWAP3 00003100: SWAP2 00003101: POP 00003102: POP 00003103: JUMP 00003104: JUMPDEST 00003105: PUSH1 0x00 00003107: PUSH1 0x20 00003109: DUP3 0000310a: DUP5 0000310b: SUB 0000310c: SLT 0000310d: ISZERO 0000310e: PUSH2 0x3116 00003111: JUMPI 00003112: PUSH1 0x00 00003114: DUP1 00003115: REVERT 00003116: JUMPDEST 00003117: PUSH1 0x00 00003119: PUSH2 0x3124 0000311c: DUP5 0000311d: DUP3 0000311e: DUP6 0000311f: ADD 00003120: PUSH2 0x2fdb 00003123: JUMP 00003124: JUMPDEST 00003125: SWAP2 00003126: POP 00003127: POP 00003128: SWAP3 00003129: SWAP2 0000312a: POP 0000312b: POP 0000312c: JUMP 0000312d: JUMPDEST 0000312e: PUSH1 0x00 00003130: PUSH1 0x20 00003132: DUP3 00003133: DUP5 00003134: SUB 00003135: SLT 00003136: ISZERO 00003137: PUSH2 0x313f 0000313a: JUMPI 0000313b: PUSH1 0x00 0000313d: DUP1 0000313e: REVERT 0000313f: JUMPDEST 00003140: PUSH1 0x00 00003142: PUSH2 0x314d 00003145: DUP5 00003146: DUP3 00003147: DUP6 00003148: ADD 00003149: PUSH2 0x2fef 0000314c: JUMP 0000314d: JUMPDEST 0000314e: SWAP2 0000314f: POP 00003150: POP 00003151: SWAP3 00003152: SWAP2 00003153: POP 00003154: POP 00003155: JUMP 00003156: JUMPDEST 00003157: PUSH1 0x00 00003159: PUSH1 0x20 0000315b: DUP3 0000315c: DUP5 0000315d: SUB 0000315e: SLT 0000315f: ISZERO 00003160: PUSH2 0x3168 00003163: JUMPI 00003164: PUSH1 0x00 00003166: DUP1 00003167: REVERT 00003168: JUMPDEST 00003169: PUSH1 0x00 0000316b: PUSH2 0x3176 0000316e: DUP5 0000316f: DUP3 00003170: DUP6 00003171: ADD 00003172: PUSH2 0x3003 00003175: JUMP 00003176: JUMPDEST 00003177: SWAP2 00003178: POP 00003179: POP 0000317a: SWAP3 0000317b: SWAP2 0000317c: POP 0000317d: POP 0000317e: JUMP 0000317f: JUMPDEST 00003180: PUSH1 0x00 00003182: PUSH1 0x20 00003184: DUP3 00003185: DUP5 00003186: SUB 00003187: SLT 00003188: ISZERO 00003189: PUSH2 0x3191 0000318c: JUMPI 0000318d: PUSH1 0x00 0000318f: DUP1 00003190: REVERT 00003191: JUMPDEST 00003192: PUSH1 0x00 00003194: PUSH2 0x319f 00003197: DUP5 00003198: DUP3 00003199: DUP6 0000319a: ADD 0000319b: PUSH2 0x3017 0000319e: JUMP 0000319f: JUMPDEST 000031a0: SWAP2 000031a1: POP 000031a2: POP 000031a3: SWAP3 000031a4: SWAP2 000031a5: POP 000031a6: POP 000031a7: JUMP 000031a8: JUMPDEST 000031a9: PUSH1 0x00 000031ab: DUP1 000031ac: PUSH1 0x40 000031ae: DUP4 000031af: DUP6 000031b0: SUB 000031b1: SLT 000031b2: ISZERO 000031b3: PUSH2 0x31bb 000031b6: JUMPI 000031b7: PUSH1 0x00 000031b9: DUP1 000031ba: REVERT 000031bb: JUMPDEST 000031bc: PUSH1 0x00 000031be: PUSH2 0x31c9 000031c1: DUP6 000031c2: DUP3 000031c3: DUP7 000031c4: ADD 000031c5: PUSH2 0x3003 000031c8: JUMP 000031c9: JUMPDEST 000031ca: SWAP3 000031cb: POP 000031cc: POP 000031cd: PUSH1 0x20 000031cf: PUSH2 0x31da 000031d2: DUP6 000031d3: DUP3 000031d4: DUP7 000031d5: ADD 000031d6: PUSH2 0x2fc7 000031d9: JUMP 000031da: JUMPDEST 000031db: SWAP2 000031dc: POP 000031dd: POP 000031de: SWAP3 000031df: POP 000031e0: SWAP3 000031e1: SWAP1 000031e2: POP 000031e3: JUMP 000031e4: JUMPDEST 000031e5: PUSH1 0x00 000031e7: DUP1 000031e8: PUSH1 0x00 000031ea: DUP1 000031eb: PUSH1 0x00 000031ed: PUSH1 0xa0 000031ef: DUP7 000031f0: DUP9 000031f1: SUB 000031f2: SLT 000031f3: ISZERO 000031f4: PUSH2 0x31fc 000031f7: JUMPI 000031f8: PUSH1 0x00 000031fa: DUP1 000031fb: REVERT 000031fc: JUMPDEST 000031fd: PUSH1 0x00 000031ff: PUSH2 0x320a 00003202: DUP9 00003203: DUP3 00003204: DUP10 00003205: ADD 00003206: PUSH2 0x3003 00003209: JUMP 0000320a: JUMPDEST 0000320b: SWAP6 0000320c: POP 0000320d: POP 0000320e: PUSH1 0x20 00003210: PUSH2 0x321b 00003213: DUP9 00003214: DUP3 00003215: DUP10 00003216: ADD 00003217: PUSH2 0x2fc7 0000321a: JUMP 0000321b: JUMPDEST 0000321c: SWAP5 0000321d: POP 0000321e: POP 0000321f: PUSH1 0x40 00003221: PUSH2 0x322c 00003224: DUP9 00003225: DUP3 00003226: DUP10 00003227: ADD 00003228: PUSH2 0x2fc7 0000322b: JUMP 0000322c: JUMPDEST 0000322d: SWAP4 0000322e: POP 0000322f: POP 00003230: PUSH1 0x60 00003232: PUSH2 0x323d 00003235: DUP9 00003236: DUP3 00003237: DUP10 00003238: ADD 00003239: PUSH2 0x30b3 0000323c: JUMP 0000323d: JUMPDEST 0000323e: SWAP3 0000323f: POP 00003240: POP 00003241: PUSH1 0x80 00003243: PUSH2 0x324e 00003246: DUP9 00003247: DUP3 00003248: DUP10 00003249: ADD 0000324a: PUSH2 0x2fc7 0000324d: JUMP 0000324e: JUMPDEST 0000324f: SWAP2 00003250: POP 00003251: POP 00003252: SWAP3 00003253: SWAP6 00003254: POP 00003255: SWAP3 00003256: SWAP6 00003257: SWAP1 00003258: SWAP4 00003259: POP 0000325a: JUMP 0000325b: JUMPDEST 0000325c: PUSH1 0x00 0000325e: DUP1 0000325f: PUSH1 0x40 00003261: DUP4 00003262: DUP6 00003263: SUB 00003264: SLT 00003265: ISZERO 00003266: PUSH2 0x326e 00003269: JUMPI 0000326a: PUSH1 0x00 0000326c: DUP1 0000326d: REVERT 0000326e: JUMPDEST 0000326f: PUSH1 0x00 00003271: PUSH2 0x327c 00003274: DUP6 00003275: DUP3 00003276: DUP7 00003277: ADD 00003278: PUSH2 0x3003 0000327b: JUMP 0000327c: JUMPDEST 0000327d: SWAP3 0000327e: POP 0000327f: POP 00003280: PUSH1 0x20 00003282: PUSH2 0x328d 00003285: DUP6 00003286: DUP3 00003287: DUP7 00003288: ADD 00003289: PUSH2 0x30b3 0000328c: JUMP 0000328d: JUMPDEST 0000328e: SWAP2 0000328f: POP 00003290: POP 00003291: SWAP3 00003292: POP 00003293: SWAP3 00003294: SWAP1 00003295: POP 00003296: JUMP 00003297: JUMPDEST 00003298: PUSH1 0x00 0000329a: PUSH1 0x20 0000329c: DUP3 0000329d: DUP5 0000329e: SUB 0000329f: SLT 000032a0: ISZERO 000032a1: PUSH2 0x32a9 000032a4: JUMPI 000032a5: PUSH1 0x00 000032a7: DUP1 000032a8: REVERT 000032a9: JUMPDEST 000032aa: PUSH1 0x00 000032ac: PUSH2 0x32b7 000032af: DUP5 000032b0: DUP3 000032b1: DUP6 000032b2: ADD 000032b3: PUSH2 0x302b 000032b6: JUMP 000032b7: JUMPDEST 000032b8: SWAP2 000032b9: POP 000032ba: POP 000032bb: SWAP3 000032bc: SWAP2 000032bd: POP 000032be: POP 000032bf: JUMP 000032c0: JUMPDEST 000032c1: PUSH1 0x00 000032c3: PUSH1 0x20 000032c5: DUP3 000032c6: DUP5 000032c7: SUB 000032c8: SLT 000032c9: ISZERO 000032ca: PUSH2 0x32d2 000032cd: JUMPI 000032ce: PUSH1 0x00 000032d0: DUP1 000032d1: REVERT 000032d2: JUMPDEST 000032d3: PUSH1 0x00 000032d5: PUSH2 0x32e0 000032d8: DUP5 000032d9: DUP3 000032da: DUP6 000032db: ADD 000032dc: PUSH2 0x303f 000032df: JUMP 000032e0: JUMPDEST 000032e1: SWAP2 000032e2: POP 000032e3: POP 000032e4: SWAP3 000032e5: SWAP2 000032e6: POP 000032e7: POP 000032e8: JUMP 000032e9: JUMPDEST 000032ea: PUSH1 0x00 000032ec: PUSH1 0x20 000032ee: DUP3 000032ef: DUP5 000032f0: SUB 000032f1: SLT 000032f2: ISZERO 000032f3: PUSH2 0x32fb 000032f6: JUMPI 000032f7: PUSH1 0x00 000032f9: DUP1 000032fa: REVERT 000032fb: JUMPDEST 000032fc: PUSH1 0x00 000032fe: PUSH2 0x3309 00003301: DUP5 00003302: DUP3 00003303: DUP6 00003304: ADD 00003305: PUSH2 0x3053 00003308: JUMP 00003309: JUMPDEST 0000330a: SWAP2 0000330b: POP 0000330c: POP 0000330d: SWAP3 0000330e: SWAP2 0000330f: POP 00003310: POP 00003311: JUMP 00003312: JUMPDEST 00003313: PUSH1 0x00 00003315: DUP1 00003316: PUSH1 0x80 00003318: DUP4 00003319: DUP6 0000331a: SUB 0000331b: SLT 0000331c: ISZERO 0000331d: PUSH2 0x3325 00003320: JUMPI 00003321: PUSH1 0x00 00003323: DUP1 00003324: REVERT 00003325: JUMPDEST 00003326: PUSH1 0x00 00003328: PUSH2 0x3333 0000332b: DUP6 0000332c: DUP3 0000332d: DUP7 0000332e: ADD 0000332f: PUSH2 0x3067 00003332: JUMP 00003333: JUMPDEST 00003334: SWAP3 00003335: POP 00003336: POP 00003337: PUSH1 0x40 00003339: PUSH2 0x3344 0000333c: DUP6 0000333d: DUP3 0000333e: DUP7 0000333f: ADD 00003340: PUSH2 0x3067 00003343: JUMP 00003344: JUMPDEST 00003345: SWAP2 00003346: POP 00003347: POP 00003348: SWAP3 00003349: POP 0000334a: SWAP3 0000334b: SWAP1 0000334c: POP 0000334d: JUMP 0000334e: JUMPDEST 0000334f: PUSH1 0x00 00003351: PUSH1 0x20 00003353: DUP3 00003354: DUP5 00003355: SUB 00003356: SLT 00003357: ISZERO 00003358: PUSH2 0x3360 0000335b: JUMPI 0000335c: PUSH1 0x00 0000335e: DUP1 0000335f: REVERT 00003360: JUMPDEST 00003361: PUSH1 0x00 00003363: PUSH2 0x336e 00003366: DUP5 00003367: DUP3 00003368: DUP6 00003369: ADD 0000336a: PUSH2 0x30b3 0000336d: JUMP 0000336e: JUMPDEST 0000336f: SWAP2 00003370: POP 00003371: POP 00003372: SWAP3 00003373: SWAP2 00003374: POP 00003375: POP 00003376: JUMP 00003377: JUMPDEST 00003378: PUSH1 0x00 0000337a: PUSH1 0x20 0000337c: DUP3 0000337d: DUP5 0000337e: SUB 0000337f: SLT 00003380: ISZERO 00003381: PUSH2 0x3389 00003384: JUMPI 00003385: PUSH1 0x00 00003387: DUP1 00003388: REVERT 00003389: JUMPDEST 0000338a: PUSH1 0x00 0000338c: PUSH2 0x3397 0000338f: DUP5 00003390: DUP3 00003391: DUP6 00003392: ADD 00003393: PUSH2 0x30c7 00003396: JUMP 00003397: JUMPDEST 00003398: SWAP2 00003399: POP 0000339a: POP 0000339b: SWAP3 0000339c: SWAP2 0000339d: POP 0000339e: POP 0000339f: JUMP 000033a0: JUMPDEST 000033a1: PUSH1 0x00 000033a3: DUP1 000033a4: PUSH1 0x40 000033a6: DUP4 000033a7: DUP6 000033a8: SUB 000033a9: SLT 000033aa: ISZERO 000033ab: PUSH2 0x33b3 000033ae: JUMPI 000033af: PUSH1 0x00 000033b1: DUP1 000033b2: REVERT 000033b3: JUMPDEST 000033b4: PUSH1 0x00 000033b6: PUSH2 0x33c1 000033b9: DUP6 000033ba: DUP3 000033bb: DUP7 000033bc: ADD 000033bd: PUSH2 0x30b3 000033c0: JUMP 000033c1: JUMPDEST 000033c2: SWAP3 000033c3: POP 000033c4: POP 000033c5: PUSH1 0x20 000033c7: PUSH2 0x33d2 000033ca: DUP6 000033cb: DUP3 000033cc: DUP7 000033cd: ADD 000033ce: PUSH2 0x30b3 000033d1: JUMP 000033d2: JUMPDEST 000033d3: SWAP2 000033d4: POP 000033d5: POP 000033d6: SWAP3 000033d7: POP 000033d8: SWAP3 000033d9: SWAP1 000033da: POP 000033db: JUMP 000033dc: JUMPDEST 000033dd: PUSH2 0x33e5 000033e0: DUP2 000033e1: PUSH2 0x3782 000033e4: JUMP 000033e5: JUMPDEST 000033e6: DUP3 000033e7: MSTORE 000033e8: POP 000033e9: POP 000033ea: JUMP 000033eb: JUMPDEST 000033ec: PUSH2 0x33f4 000033ef: DUP2 000033f0: PUSH2 0x37a2 000033f3: JUMP 000033f4: JUMPDEST 000033f5: DUP3 000033f6: MSTORE 000033f7: POP 000033f8: POP 000033f9: JUMP 000033fa: JUMPDEST 000033fb: PUSH2 0x3403 000033fe: DUP2 000033ff: PUSH2 0x37ae 00003402: JUMP 00003403: JUMPDEST 00003404: DUP3 00003405: MSTORE 00003406: POP 00003407: POP 00003408: JUMP 00003409: JUMPDEST 0000340a: PUSH2 0x3412 0000340d: DUP2 0000340e: PUSH2 0x3838 00003411: JUMP 00003412: JUMPDEST 00003413: DUP3 00003414: MSTORE 00003415: POP 00003416: POP 00003417: JUMP 00003418: JUMPDEST 00003419: PUSH2 0x3421 0000341c: DUP2 0000341d: PUSH2 0x384a 00003420: JUMP 00003421: JUMPDEST 00003422: DUP3 00003423: MSTORE 00003424: POP 00003425: POP 00003426: JUMP 00003427: JUMPDEST 00003428: PUSH2 0x3430 0000342b: DUP2 0000342c: PUSH2 0x385c 0000342f: JUMP 00003430: JUMPDEST 00003431: DUP3 00003432: MSTORE 00003433: POP 00003434: POP 00003435: JUMP 00003436: JUMPDEST 00003437: PUSH1 0x00 00003439: PUSH1 0x51 0000343b: DUP3 0000343c: MSTORE 0000343d: PUSH32 0x6d6f6469666965723a2053656e646572206e6f742052657061796d656e74526f 0000345e: PUSH1 0x20 00003460: DUP4 00003461: ADD 00003462: MSTORE 00003463: PUSH32 0x75746572202d206f6e6c792052657061796d656e74526f757465722063616e20 00003484: PUSH1 0x40 00003486: DUP4 00003487: ADD 00003488: MSTORE 00003489: PUSH32 0x63616c6c2074686973206d6574686f642e000000000000000000000000000000 000034aa: PUSH1 0x60 000034ac: DUP4 000034ad: ADD 000034ae: MSTORE 000034af: PUSH1 0x80 000034b1: DUP3 000034b2: ADD 000034b3: SWAP1 000034b4: POP 000034b5: SWAP2 000034b6: SWAP1 000034b7: POP 000034b8: JUMP 000034b9: JUMPDEST 000034ba: PUSH1 0x00 000034bc: PUSH1 0x36 000034be: DUP3 000034bf: MSTORE 000034c0: PUSH32 0x4f6e6c7920446562744b65726e656c2063616e2063616c6c2074686520726567 000034e1: PUSH1 0x20 000034e3: DUP4 000034e4: ADD 000034e5: MSTORE 000034e6: PUSH32 0x69737465725465726d5374617274206d6574686f642e00000000000000000000 00003507: PUSH1 0x40 00003509: DUP4 0000350a: ADD 0000350b: MSTORE 0000350c: PUSH1 0x60 0000350e: DUP3 0000350f: ADD 00003510: SWAP1 00003511: POP 00003512: SWAP2 00003513: SWAP1 00003514: POP 00003515: JUMP 00003516: JUMPDEST 00003517: PUSH1 0x40 00003519: DUP3 0000351a: ADD 0000351b: PUSH1 0x00 0000351d: DUP3 0000351e: ADD 0000351f: MLOAD 00003520: PUSH2 0x352c 00003523: PUSH1 0x00 00003525: DUP6 00003526: ADD 00003527: DUP3 00003528: PUSH2 0x3545 0000352b: JUMP 0000352c: JUMPDEST 0000352d: POP 0000352e: PUSH1 0x20 00003530: DUP3 00003531: ADD 00003532: MLOAD 00003533: PUSH2 0x353f 00003536: PUSH1 0x20 00003538: DUP6 00003539: ADD 0000353a: DUP3 0000353b: PUSH2 0x3545 0000353e: JUMP 0000353f: JUMPDEST 00003540: POP 00003541: POP 00003542: POP 00003543: POP 00003544: JUMP 00003545: JUMPDEST 00003546: PUSH2 0x354e 00003549: DUP2 0000354a: PUSH2 0x37b8 0000354d: JUMP 0000354e: JUMPDEST 0000354f: DUP3 00003550: MSTORE 00003551: POP 00003552: POP 00003553: JUMP 00003554: JUMPDEST 00003555: PUSH1 0x00 00003557: PUSH1 0x20 00003559: DUP3 0000355a: ADD 0000355b: SWAP1 0000355c: POP 0000355d: PUSH2 0x3569 00003560: PUSH1 0x00 00003562: DUP4 00003563: ADD 00003564: DUP5 00003565: PUSH2 0x33dc 00003568: JUMP 00003569: JUMPDEST 0000356a: SWAP3 0000356b: SWAP2 0000356c: POP 0000356d: POP 0000356e: JUMP 0000356f: JUMPDEST 00003570: PUSH1 0x00 00003572: PUSH1 0x40 00003574: DUP3 00003575: ADD 00003576: SWAP1 00003577: POP 00003578: PUSH2 0x3584 0000357b: PUSH1 0x00 0000357d: DUP4 0000357e: ADD 0000357f: DUP6 00003580: PUSH2 0x33dc 00003583: JUMP 00003584: JUMPDEST 00003585: PUSH2 0x3591 00003588: PUSH1 0x20 0000358a: DUP4 0000358b: ADD 0000358c: DUP5 0000358d: PUSH2 0x33dc 00003590: JUMP 00003591: JUMPDEST 00003592: SWAP4 00003593: SWAP3 00003594: POP 00003595: POP 00003596: POP 00003597: JUMP 00003598: JUMPDEST 00003599: PUSH1 0x00 0000359b: PUSH1 0x60 0000359d: DUP3 0000359e: ADD 0000359f: SWAP1 000035a0: POP 000035a1: PUSH2 0x35ad 000035a4: PUSH1 0x00 000035a6: DUP4 000035a7: ADD 000035a8: DUP7 000035a9: PUSH2 0x33dc 000035ac: JUMP 000035ad: JUMPDEST 000035ae: PUSH2 0x35ba 000035b1: PUSH1 0x20 000035b3: DUP4 000035b4: ADD 000035b5: DUP6 000035b6: PUSH2 0x33dc 000035b9: JUMP 000035ba: JUMPDEST 000035bb: PUSH2 0x35c7 000035be: PUSH1 0x40 000035c0: DUP4 000035c1: ADD 000035c2: DUP5 000035c3: PUSH2 0x3545 000035c6: JUMP 000035c7: JUMPDEST 000035c8: SWAP5 000035c9: SWAP4 000035ca: POP 000035cb: POP 000035cc: POP 000035cd: POP 000035ce: JUMP 000035cf: JUMPDEST 000035d0: PUSH1 0x00 000035d2: PUSH1 0x40 000035d4: DUP3 000035d5: ADD 000035d6: SWAP1 000035d7: POP 000035d8: PUSH2 0x35e4 000035db: PUSH1 0x00 000035dd: DUP4 000035de: ADD 000035df: DUP6 000035e0: PUSH2 0x33dc 000035e3: JUMP 000035e4: JUMPDEST 000035e5: PUSH2 0x35f1 000035e8: PUSH1 0x20 000035ea: DUP4 000035eb: ADD 000035ec: DUP5 000035ed: PUSH2 0x3545 000035f0: JUMP 000035f1: JUMPDEST 000035f2: SWAP4 000035f3: SWAP3 000035f4: POP 000035f5: POP 000035f6: POP 000035f7: JUMP 000035f8: JUMPDEST 000035f9: PUSH1 0x00 000035fb: PUSH1 0x20 000035fd: DUP3 000035fe: ADD 000035ff: SWAP1 00003600: POP 00003601: PUSH2 0x360d 00003604: PUSH1 0x00 00003606: DUP4 00003607: ADD 00003608: DUP5 00003609: PUSH2 0x33eb 0000360c: JUMP 0000360d: JUMPDEST 0000360e: SWAP3 0000360f: SWAP2 00003610: POP 00003611: POP 00003612: JUMP 00003613: JUMPDEST 00003614: PUSH1 0x00 00003616: PUSH1 0x20 00003618: DUP3 00003619: ADD 0000361a: SWAP1 0000361b: POP 0000361c: PUSH2 0x3628 0000361f: PUSH1 0x00 00003621: DUP4 00003622: ADD 00003623: DUP5 00003624: PUSH2 0x33fa 00003627: JUMP 00003628: JUMPDEST 00003629: SWAP3 0000362a: SWAP2 0000362b: POP 0000362c: POP 0000362d: JUMP 0000362e: JUMPDEST 0000362f: PUSH1 0x00 00003631: PUSH1 0x20 00003633: DUP3 00003634: ADD 00003635: SWAP1 00003636: POP 00003637: PUSH2 0x3643 0000363a: PUSH1 0x00 0000363c: DUP4 0000363d: ADD 0000363e: DUP5 0000363f: PUSH2 0x3409 00003642: JUMP 00003643: JUMPDEST 00003644: SWAP3 00003645: SWAP2 00003646: POP 00003647: POP 00003648: JUMP 00003649: JUMPDEST 0000364a: PUSH1 0x00 0000364c: PUSH1 0x20 0000364e: DUP3 0000364f: ADD 00003650: SWAP1 00003651: POP 00003652: PUSH2 0x365e 00003655: PUSH1 0x00 00003657: DUP4 00003658: ADD 00003659: DUP5 0000365a: PUSH2 0x3418 0000365d: JUMP 0000365e: JUMPDEST 0000365f: SWAP3 00003660: SWAP2 00003661: POP 00003662: POP 00003663: JUMP 00003664: JUMPDEST 00003665: PUSH1 0x00 00003667: PUSH1 0x20 00003669: DUP3 0000366a: ADD 0000366b: SWAP1 0000366c: POP 0000366d: PUSH2 0x3679 00003670: PUSH1 0x00 00003672: DUP4 00003673: ADD 00003674: DUP5 00003675: PUSH2 0x3427 00003678: JUMP 00003679: JUMPDEST 0000367a: SWAP3 0000367b: SWAP2 0000367c: POP 0000367d: POP 0000367e: JUMP 0000367f: JUMPDEST 00003680: PUSH1 0x00 00003682: PUSH1 0x20 00003684: DUP3 00003685: ADD 00003686: SWAP1 00003687: POP 00003688: DUP2 00003689: DUP2 0000368a: SUB 0000368b: PUSH1 0x00 0000368d: DUP4 0000368e: ADD 0000368f: MSTORE 00003690: PUSH2 0x3698 00003693: DUP2 00003694: PUSH2 0x3436 00003697: JUMP 00003698: JUMPDEST 00003699: SWAP1 0000369a: POP 0000369b: SWAP2 0000369c: SWAP1 0000369d: POP 0000369e: JUMP 0000369f: JUMPDEST 000036a0: PUSH1 0x00 000036a2: PUSH1 0x20 000036a4: DUP3 000036a5: ADD 000036a6: SWAP1 000036a7: POP 000036a8: DUP2 000036a9: DUP2 000036aa: SUB 000036ab: PUSH1 0x00 000036ad: DUP4 000036ae: ADD 000036af: MSTORE 000036b0: PUSH2 0x36b8 000036b3: DUP2 000036b4: PUSH2 0x34b9 000036b7: JUMP 000036b8: JUMPDEST 000036b9: SWAP1 000036ba: POP 000036bb: SWAP2 000036bc: SWAP1 000036bd: POP 000036be: JUMP 000036bf: JUMPDEST 000036c0: PUSH1 0x00 000036c2: PUSH1 0x40 000036c4: DUP3 000036c5: ADD 000036c6: SWAP1 000036c7: POP 000036c8: PUSH2 0x36d4 000036cb: PUSH1 0x00 000036cd: DUP4 000036ce: ADD 000036cf: DUP5 000036d0: PUSH2 0x3516 000036d3: JUMP 000036d4: JUMPDEST 000036d5: SWAP3 000036d6: SWAP2 000036d7: POP 000036d8: POP 000036d9: JUMP 000036da: JUMPDEST 000036db: PUSH1 0x00 000036dd: PUSH1 0x20 000036df: DUP3 000036e0: ADD 000036e1: SWAP1 000036e2: POP 000036e3: PUSH2 0x36ef 000036e6: PUSH1 0x00 000036e8: DUP4 000036e9: ADD 000036ea: DUP5 000036eb: PUSH2 0x3545 000036ee: JUMP 000036ef: JUMPDEST 000036f0: SWAP3 000036f1: SWAP2 000036f2: POP 000036f3: POP 000036f4: JUMP 000036f5: JUMPDEST 000036f6: PUSH1 0x00 000036f8: PUSH1 0x40 000036fa: DUP3 000036fb: ADD 000036fc: SWAP1 000036fd: POP 000036fe: PUSH2 0x370a 00003701: PUSH1 0x00 00003703: DUP4 00003704: ADD 00003705: DUP6 00003706: PUSH2 0x3545 00003709: JUMP 0000370a: JUMPDEST 0000370b: PUSH2 0x3717 0000370e: PUSH1 0x20 00003710: DUP4 00003711: ADD 00003712: DUP5 00003713: PUSH2 0x33dc 00003716: JUMP 00003717: JUMPDEST 00003718: SWAP4 00003719: SWAP3 0000371a: POP 0000371b: POP 0000371c: POP 0000371d: JUMP 0000371e: JUMPDEST 0000371f: PUSH1 0x00 00003721: PUSH1 0x60 00003723: DUP3 00003724: ADD 00003725: SWAP1 00003726: POP 00003727: PUSH2 0x3733 0000372a: PUSH1 0x00 0000372c: DUP4 0000372d: ADD 0000372e: DUP7 0000372f: PUSH2 0x3545 00003732: JUMP 00003733: JUMPDEST 00003734: PUSH2 0x3740 00003737: PUSH1 0x20 00003739: DUP4 0000373a: ADD 0000373b: DUP6 0000373c: PUSH2 0x3545 0000373f: JUMP 00003740: JUMPDEST 00003741: PUSH2 0x374d 00003744: PUSH1 0x40 00003746: DUP4 00003747: ADD 00003748: DUP5 00003749: PUSH2 0x3545 0000374c: JUMP 0000374d: JUMPDEST 0000374e: SWAP5 0000374f: SWAP4 00003750: POP 00003751: POP 00003752: POP 00003753: POP 00003754: JUMP 00003755: JUMPDEST 00003756: PUSH1 0x00 00003758: PUSH1 0x40 0000375a: MLOAD 0000375b: SWAP1 0000375c: POP 0000375d: DUP2 0000375e: DUP2 0000375f: ADD 00003760: DUP2 00003761: DUP2 00003762: LT 00003763: PUSH8 0xffffffffffffffff 0000376c: DUP3 0000376d: GT 0000376e: OR 0000376f: ISZERO 00003770: PUSH2 0x3778 00003773: JUMPI 00003774: PUSH1 0x00 00003776: DUP1 00003777: REVERT 00003778: JUMPDEST 00003779: DUP1 0000377a: PUSH1 0x40 0000377c: MSTORE 0000377d: POP 0000377e: SWAP2 0000377f: SWAP1 00003780: POP 00003781: JUMP 00003782: JUMPDEST 00003783: PUSH1 0x00 00003785: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000379a: DUP3 0000379b: AND 0000379c: SWAP1 0000379d: POP 0000379e: SWAP2 0000379f: SWAP1 000037a0: POP 000037a1: JUMP 000037a2: JUMPDEST 000037a3: PUSH1 0x00 000037a5: DUP2 000037a6: ISZERO 000037a7: ISZERO 000037a8: SWAP1 000037a9: POP 000037aa: SWAP2 000037ab: SWAP1 000037ac: POP 000037ad: JUMP 000037ae: JUMPDEST 000037af: PUSH1 0x00 000037b1: DUP2 000037b2: SWAP1 000037b3: POP 000037b4: SWAP2 000037b5: SWAP1 000037b6: POP 000037b7: JUMP 000037b8: JUMPDEST 000037b9: PUSH1 0x00 000037bb: DUP2 000037bc: SWAP1 000037bd: POP 000037be: SWAP2 000037bf: SWAP1 000037c0: POP 000037c1: JUMP 000037c2: JUMPDEST 000037c3: PUSH1 0x00 000037c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000037da: DUP3 000037db: AND 000037dc: SWAP1 000037dd: POP 000037de: SWAP2 000037df: SWAP1 000037e0: POP 000037e1: JUMP 000037e2: JUMPDEST 000037e3: PUSH1 0x00 000037e5: DUP2 000037e6: ISZERO 000037e7: ISZERO 000037e8: SWAP1 000037e9: POP 000037ea: SWAP2 000037eb: SWAP1 000037ec: POP 000037ed: JUMP 000037ee: JUMPDEST 000037ef: PUSH1 0x00 000037f1: DUP2 000037f2: SWAP1 000037f3: POP 000037f4: SWAP2 000037f5: SWAP1 000037f6: POP 000037f7: JUMP 000037f8: JUMPDEST 000037f9: PUSH1 0x00 000037fb: PUSH2 0x3803 000037fe: DUP3 000037ff: PUSH2 0x3782 00003802: JUMP 00003803: JUMPDEST 00003804: SWAP1 00003805: POP 00003806: SWAP2 00003807: SWAP1 00003808: POP 00003809: JUMP 0000380a: JUMPDEST 0000380b: PUSH1 0x00 0000380d: PUSH2 0x3815 00003810: DUP3 00003811: PUSH2 0x3782 00003814: JUMP 00003815: JUMPDEST 00003816: SWAP1 00003817: POP 00003818: SWAP2 00003819: SWAP1 0000381a: POP 0000381b: JUMP 0000381c: JUMPDEST 0000381d: PUSH1 0x00 0000381f: PUSH2 0x3827 00003822: DUP3 00003823: PUSH2 0x3782 00003826: JUMP 00003827: JUMPDEST 00003828: SWAP1 00003829: POP 0000382a: SWAP2 0000382b: SWAP1 0000382c: POP 0000382d: JUMP 0000382e: JUMPDEST 0000382f: PUSH1 0x00 00003831: DUP2 00003832: SWAP1 00003833: POP 00003834: SWAP2 00003835: SWAP1 00003836: POP 00003837: JUMP 00003838: JUMPDEST 00003839: PUSH1 0x00 0000383b: PUSH2 0x3843 0000383e: DUP3 0000383f: PUSH2 0x3782 00003842: JUMP 00003843: JUMPDEST 00003844: SWAP1 00003845: POP 00003846: SWAP2 00003847: SWAP1 00003848: POP 00003849: JUMP 0000384a: JUMPDEST 0000384b: PUSH1 0x00 0000384d: PUSH2 0x3855 00003850: DUP3 00003851: PUSH2 0x3782 00003854: JUMP 00003855: JUMPDEST 00003856: SWAP1 00003857: POP 00003858: SWAP2 00003859: SWAP1 0000385a: POP 0000385b: JUMP 0000385c: JUMPDEST 0000385d: PUSH1 0x00 0000385f: PUSH2 0x3867 00003862: DUP3 00003863: PUSH2 0x3782 00003866: JUMP 00003867: JUMPDEST 00003868: SWAP1 00003869: POP 0000386a: SWAP2 0000386b: SWAP1 0000386c: POP 0000386d: JUMP 0000386e: STOP 0000386f: LOG2 00003870: PUSH6 0x627a7a723058 00003877: KECCAK256 00003878: PUSH19 0xdd70e9d86581aa043eb44ef1e719323667b1c3 0000388c: LOG0 0000388d: UNKNOWN(0xD0) 0000388e: RETURNDATASIZE 0000388f: UNKNOWN(0xBC) 00003890: OR 00003891: UNKNOWN(0xD5) 00003892: BALANCE 00003893: CALLVALUE 00003894: UNKNOWN(0xD2) 00003895: UNKNOWN(0xC2) 00003896: SWAP15 00003897: PUSH21
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xfa25b11db512d364eaff808f71e085dace43b9ba44362f3a18c4d732fd1b2481
call_targets:
0x3f320a0b08b93d7562c1f2d008d8154c44147620
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xfa25b11db512d364eaff808f71e085dace43b9ba44362f3a18c4d732fd1b2481",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3f320a0b08b93d7562c1f2d008d8154c44147620"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x03a896a1",
"selector": "0x03a896a1",
"calldata_variants": [
"0x03a896a1",
"0x03a896a10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x04fdc562",
"selector": "0x04fdc562",
"calldata_variants": [
"0x04fdc562",
"0x04fdc5620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0525ed66",
"selector": "0x0525ed66",
"calldata_variants": [
"0x0525ed66",
"0x0525ed660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0992b119",
"selector": "0x0992b119",
"calldata_variants": [
"0x0992b119",
"0x0992b1190000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x09cc1440",
"selector": "0x09cc1440",
"calldata_variants": [
"0x09cc1440",
"0x09cc14400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1920427b",
"selector": "0x1920427b",
"calldata_variants": [
"0x1920427b",
"0x1920427b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2762dd8c",
"selector": "0x2762dd8c",
"calldata_variants": [
"0x2762dd8c",
"0x2762dd8c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3398,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3564,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4165,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 19,
"guards_detected": [
{
"pc": 3788,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4241,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4663,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5192,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7327,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 19
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xfa25b11db512d364eaff808f71e085dace43b9ba44362f3a18c4d732fd1b2481
call_targets:
0x3f320a0b08b93d7562c1f2d008d8154c44147620
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xfa25b11db512d364eaff808f71e085dace43b9ba44362f3a18c4d732fd1b2481",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3f320a0b08b93d7562c1f2d008d8154c44147620"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x03a896a1",
"selector": "0x03a896a1",
"calldata_variants": [
"0x03a896a1",
"0x03a896a10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x04fdc562",
"selector": "0x04fdc562",
"calldata_variants": [
"0x04fdc562",
"0x04fdc5620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0525ed66",
"selector": "0x0525ed66",
"calldata_variants": [
"0x0525ed66",
"0x0525ed660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0992b119",
"selector": "0x0992b119",
"calldata_variants": [
"0x0992b119",
"0x0992b1190000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x09cc1440",
"selector": "0x09cc1440",
"calldata_variants": [
"0x09cc1440",
"0x09cc14400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1920427b",
"selector": "0x1920427b",
"calldata_variants": [
"0x1920427b",
"0x1920427b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2762dd8c",
"selector": "0x2762dd8c",
"calldata_variants": [
"0x2762dd8c",
"0x2762dd8c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3398,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3564,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4165,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 19,
"guards_detected": [
{
"pc": 3788,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4241,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4663,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5192,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7327,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 20
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 19
}
|