6bf3e3d6-0be1-4045-9b6c-8b8dfd2ebcd3
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 |
|---|---|---|---|---|
| 31234 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95215 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 95216 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95217 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95218 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95219 | detector.run | complete | 1 / 3 | 1 week ago |
| 95220 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:442287] OpenAI Codex v0.77.0 (research preview)
[codex:442287] --------
[codex:442287] workdir: /tmp/codex-multi-wy83j9rv
[codex:442287] model: gpt-5.2-codex
[codex:442287] provider: openai
[codex:442287] approval: never
[codex:442287] sandbox: read-only
[codex:442287] reasoning effort: xhigh
[codex:442287] reasoning summaries: auto
[codex:442287] session id: 019b7d27-44d1-7423-8033-588dd889aa43
[codex:442287] --------
[codex:442287] user
[codex:442287] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:442287]
[codex:442287] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:442287]
[codex:442287] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:442287] - Gas inefficiency, code quality, naming, or best practices
[codex:442287] - Theoretical vulnerabilities without a clear extraction path
[codex:442287] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:442287] - Front-running unless it enables theft beyond MEV
[codex:442287] - DoS, griefing, or issues that don't result in attacker profit
[codex:442287] - Missing events, view function issues, or informational findings
[codex:442287]
[codex:442287] HIGH-VALUE PATTERNS TO HUNT:
[codex:442287] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:442287] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:442287] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:442287] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:442287] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:442287] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:442287] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:442287] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:442287] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:442287]
[codex:442287] For each finding, you MUST provide:
[codex:442287] 1. Exact file and line numbers of vulnerable code
[codex:442287] 2. Step-by-step exploit transaction sequence
[codex:442287] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:442287]
[codex:442287] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:442287]
[codex:442287] Output MUST be valid JSON matching the provided schema.
[codex:442287] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:442287] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:442287] mcp startup: no servers
[codex:442287]
[codex:442287] thinking
[codex:442287] **Reading AUDIT_BUNDLE instructions**
[codex:442287] exec
[codex:442287] /bin/bash -lc ls in /tmp/codex-multi-wy83j9rv succeeded in 6ms:
[codex:442287] AUDIT_BUNDLE.txt
[codex:442287] codex-output-schema.json
[codex:442287] contracts
[codex:442287] exec
[codex:442287] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-wy83j9rv succeeded in 6ms:
[codex:442287] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:442287]
[codex:442287] ================================================================================
[codex:442287] FILE: contracts/Contract.sol
[codex:442287] ================================================================================
[codex:442287] // File: @ensdomains/ethregistrar/contracts/PriceOracle.sol
[codex:442287]
[codex:442287] pragma solidity >=0.4.24;
[codex:442287]
[codex:442287] interface PriceOracle {
[codex:442287] /**
[codex:442287] * @dev Returns the price to register or renew a name.
[codex:442287] * @param name The name being registered or renewed.
[codex:442287] * @param expires When the name presently expires (0 if this is a new registration).
[codex:442287] * @param duration How long the name is being registered or extended for, in seconds.
[codex:442287] * @return The price of this renewal or registration, in wei.
[codex:442287] */
[codex:442287] function price(string calldata name, uint expires, uint duration) external view returns(uint);
[codex:442287] }
[codex:442287]
[codex:442287]
[codex:442287] thinking
[codex:442287] **Continuing exploration**
[codex:442287] exec
[codex:442287] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-wy83j9rv succeeded in 6ms:
[codex:442287] // A map of addresses that are authorised to register and renew names.
[codex:442287] mapping(address=>bool) public controllers;
[codex:442287]
[codex:442287] // Authorises a controller, who can register and renew domains.
[codex:442287] function addController(address controller) external;
[codex:442287]
[codex:442287] // Revoke controller permission for an address.
[codex:442287] function removeController(address controller) external;
[codex:442287]
[codex:442287] // Set the resolver for the TLD this registrar manages.
[codex:442287] function setResolver(address resolver) external;
[codex:442287]
[codex:442287] // Returns the expiration timestamp of the specified label hash.
[codex:442287] function nameExpires(uint256 id) external view returns(uint);
[codex:442287]
[codex:442287] // Returns true iff the specified name is available for registration.
[codex:442287] function available(uint256 id) public view returns(bool);
[codex:442287]
[codex:442287] /**
[codex:442287] * @dev Register a name.
[codex:442287] exec
[codex:442287] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-wy83j9rv succeeded in 5ms:
[codex:442287]
[codex:442287] function registerWithConfig(string memory name, address owner, uint duration, bytes32 secret, address resolver, address addr) public payable {
[codex:442287] bytes32 commitment = makeCommitmentWithConfig(name, owner, secret, resolver, addr);
[codex:442287] uint cost = _consumeCommitment(name, duration, commitment);
[codex:442287]
[codex:442287] bytes32 label = keccak256(bytes(name));
[codex:442287] uint256 tokenId = uint256(label);
[codex:442287]
[codex:442287] uint expires;
[codex:442287] if(resolver != address(0)) {
[codex:442287] // Set this contract as the (temporary) owner, giving it
[codex:442287] // permission to set up the resolver.
[codex:442287] expires = base.register(tokenId, address(this), duration);
[codex:442287]
[codex:442287] // The nodehash of this label
[codex:442287] bytes32 nodehash = keccak256(abi.encodePacked(base.baseNode(), label));
[codex:442287]
[codex:442287] // Set the resolver
[codex:442287] base.ens().setResolver(nodehash, resolver);
[codex:442287]
[codex:442287]
[codex:442287] thinking
[codex:442287] **Analyzing potential reentrancy and fund extraction risks**
[codex:442287] exec
[codex:442287] /bin/bash -lc 'tail -n 20 AUDIT_BUNDLE.txt' in /tmp/codex-multi-wy83j9rv succeeded in 5ms:
[codex:442287] }
[codex:442287]
[codex:442287] function _consumeCommitment(string memory name, uint duration, bytes32 commitment) internal returns (uint256) {
[codex:442287] // Require a valid commitment
[codex:442287] require(commitments[commitment] + minCommitmentAge <= now);
[codex:442287]
[codex:442287] // If the commitment is too old, or the name is registered, stop
[codex:442287] require(commitments[commitment] + maxCommitmentAge > now);
[codex:442287] require(available(name));
[codex:442287]
[codex:442287] delete(commitments[commitment]);
[codex:442287]
[codex:442287] uint cost = rentPrice(name, duration);
[codex:442287] require(duration >= MIN_REGISTRATION_DURATION);
[codex:442287] require(msg.value >= cost);
[codex:442287]
[codex:442287] return cost;
[codex:442287] }
[codex:442287] }
[codex:442287]
[codex:442287]
[codex:442287] thinking
[codex:442287] **Preparing JSON output schema**
[codex:442287] codex
[codex:442287] {"no_findings":true,"summary":"No concrete, exploitable paths to extract ETH/tokens/NFTs were found in AUDIT_BUNDLE.txt.","findings":[]}
[codex:442287] tokens used
[codex:442287] 12,137
[codex:442287] {"no_findings":true,"summary":"No concrete, exploitable paths to extract ETH/tokens/NFTs were found in AUDIT_BUNDLE.txt.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T05:21:47.818106+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable paths to extract ETH/tokens/NFTs were found in AUDIT_BUNDLE.txt.",
"raw_final": {
"summary": "No concrete, exploitable paths to extract ETH/tokens/NFTs were found in AUDIT_BUNDLE.txt.",
"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 0x012a 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8d839ffe 00000019: GT 0000001a: PUSH2 0x00ab 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xaeb8ce9b 00000024: GT 00000025: PUSH2 0x006f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xaeb8ce9b 0000002f: EQ 00000030: PUSH2 0x07cc 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xce1e09c0 0000003a: EQ 0000003b: PUSH2 0x08ac 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf14fcbc8 00000045: EQ 00000046: PUSH2 0x08d7 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf2fde38b 00000050: EQ 00000051: PUSH2 0x0912 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf49826be 0000005b: EQ 0000005c: PUSH2 0x0963 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf7a16963 00000066: EQ 00000067: PUSH2 0x0a69 0000006a: JUMPI 0000006b: PUSH2 0x012a 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0x8d839ffe 00000076: EQ 00000077: PUSH2 0x05b8 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x8da5cb5b 00000081: EQ 00000082: PUSH2 0x05e3 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x8f32d59b 0000008c: EQ 0000008d: PUSH2 0x063a 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0x9791c097 00000097: EQ 00000098: PUSH2 0x0669 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xacf1a841 000000a2: EQ 000000a3: PUSH2 0x0749 000000a6: JUMPI 000000a7: PUSH2 0x012a 000000aa: JUMP 000000ab: JUMPDEST 000000ac: DUP1 000000ad: PUSH4 0x7e324479 000000b2: GT 000000b3: PUSH2 0x00f2 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0x7e324479 000000bd: EQ 000000be: PUSH2 0x0366 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x839df945 000000c8: EQ 000000c9: PUSH2 0x03ab 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x83e7f6ff 000000d3: EQ 000000d4: PUSH2 0x03fa 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x85f6d155 000000de: EQ 000000df: PUSH2 0x04e0 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x8a95b09f 000000e9: EQ 000000ea: PUSH2 0x058d 000000ed: JUMPI 000000ee: PUSH2 0x012a 000000f1: JUMP 000000f2: JUMPDEST 000000f3: DUP1 000000f4: PUSH4 0x01ffc9a7 000000f9: EQ 000000fa: PUSH2 0x012f 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x3ccfd60b 00000104: EQ 00000105: PUSH2 0x01a1 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0x3d86c52f 0000010f: EQ 00000110: PUSH2 0x01b8 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x530e784f 0000011a: EQ 0000011b: PUSH2 0x02fe 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x715018a6 00000125: EQ 00000126: PUSH2 0x034f 00000129: JUMPI 0000012a: JUMPDEST 0000012b: PUSH1 0x00 0000012d: DUP1 0000012e: REVERT 0000012f: JUMPDEST 00000130: CALLVALUE 00000131: DUP1 00000132: ISZERO 00000133: PUSH2 0x013b 00000136: JUMPI 00000137: PUSH1 0x00 00000139: DUP1 0000013a: REVERT 0000013b: JUMPDEST 0000013c: POP 0000013d: PUSH2 0x0187 00000140: PUSH1 0x04 00000142: DUP1 00000143: CALLDATASIZE 00000144: SUB 00000145: PUSH1 0x20 00000147: DUP2 00000148: LT 00000149: ISZERO 0000014a: PUSH2 0x0152 0000014d: JUMPI 0000014e: PUSH1 0x00 00000150: DUP1 00000151: REVERT 00000152: JUMPDEST 00000153: DUP2 00000154: ADD 00000155: SWAP1 00000156: DUP1 00000157: DUP1 00000158: CALLDATALOAD 00000159: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000176: NOT 00000177: AND 00000178: SWAP1 00000179: PUSH1 0x20 0000017b: ADD 0000017c: SWAP1 0000017d: SWAP3 0000017e: SWAP2 0000017f: SWAP1 00000180: POP 00000181: POP 00000182: POP 00000183: PUSH2 0x0b98 00000186: JUMP 00000187: JUMPDEST 00000188: PUSH1 0x40 0000018a: MLOAD 0000018b: DUP1 0000018c: DUP3 0000018d: ISZERO 0000018e: ISZERO 0000018f: ISZERO 00000190: ISZERO 00000191: DUP2 00000192: MSTORE 00000193: PUSH1 0x20 00000195: ADD 00000196: SWAP2 00000197: POP 00000198: POP 00000199: PUSH1 0x40 0000019b: MLOAD 0000019c: DUP1 0000019d: SWAP2 0000019e: SUB 0000019f: SWAP1 000001a0: RETURN 000001a1: JUMPDEST 000001a2: CALLVALUE 000001a3: DUP1 000001a4: ISZERO 000001a5: PUSH2 0x01ad 000001a8: JUMPI 000001a9: PUSH1 0x00 000001ab: DUP1 000001ac: REVERT 000001ad: JUMPDEST 000001ae: POP 000001af: PUSH2 0x01b6 000001b2: PUSH2 0x0de7 000001b5: JUMP 000001b6: JUMPDEST 000001b7: STOP 000001b8: JUMPDEST 000001b9: CALLVALUE 000001ba: DUP1 000001bb: ISZERO 000001bc: PUSH2 0x01c4 000001bf: JUMPI 000001c0: PUSH1 0x00 000001c2: DUP1 000001c3: REVERT 000001c4: JUMPDEST 000001c5: POP 000001c6: PUSH2 0x02e8 000001c9: PUSH1 0x04 000001cb: DUP1 000001cc: CALLDATASIZE 000001cd: SUB 000001ce: PUSH1 0xa0 000001d0: DUP2 000001d1: LT 000001d2: ISZERO 000001d3: PUSH2 0x01db 000001d6: JUMPI 000001d7: PUSH1 0x00 000001d9: DUP1 000001da: REVERT 000001db: JUMPDEST 000001dc: DUP2 000001dd: ADD 000001de: SWAP1 000001df: DUP1 000001e0: DUP1 000001e1: CALLDATALOAD 000001e2: SWAP1 000001e3: PUSH1 0x20 000001e5: ADD 000001e6: SWAP1 000001e7: PUSH5 0x0100000000 000001ed: DUP2 000001ee: GT 000001ef: ISZERO 000001f0: PUSH2 0x01f8 000001f3: JUMPI 000001f4: PUSH1 0x00 000001f6: DUP1 000001f7: REVERT 000001f8: JUMPDEST 000001f9: DUP3 000001fa: ADD 000001fb: DUP4 000001fc: PUSH1 0x20 000001fe: DUP3 000001ff: ADD 00000200: GT 00000201: ISZERO 00000202: PUSH2 0x020a 00000205: JUMPI 00000206: PUSH1 0x00 00000208: DUP1 00000209: REVERT 0000020a: JUMPDEST 0000020b: DUP1 0000020c: CALLDATALOAD 0000020d: SWAP1 0000020e: PUSH1 0x20 00000210: ADD 00000211: SWAP2 00000212: DUP5 00000213: PUSH1 0x01 00000215: DUP4 00000216: MUL 00000217: DUP5 00000218: ADD 00000219: GT 0000021a: PUSH5 0x0100000000 00000220: DUP4 00000221: GT 00000222: OR 00000223: ISZERO 00000224: PUSH2 0x022c 00000227: JUMPI 00000228: PUSH1 0x00 0000022a: DUP1 0000022b: REVERT 0000022c: JUMPDEST 0000022d: SWAP2 0000022e: SWAP1 0000022f: DUP1 00000230: DUP1 00000231: PUSH1 0x1f 00000233: ADD 00000234: PUSH1 0x20 00000236: DUP1 00000237: SWAP2 00000238: DIV 00000239: MUL 0000023a: PUSH1 0x20 0000023c: ADD 0000023d: PUSH1 0x40 0000023f: MLOAD 00000240: SWAP1 00000241: DUP2 00000242: ADD 00000243: PUSH1 0x40 00000245: MSTORE 00000246: DUP1 00000247: SWAP4 00000248: SWAP3 00000249: SWAP2 0000024a: SWAP1 0000024b: DUP2 0000024c: DUP2 0000024d: MSTORE 0000024e: PUSH1 0x20 00000250: ADD 00000251: DUP4 00000252: DUP4 00000253: DUP1 00000254: DUP3 00000255: DUP5 00000256: CALLDATACOPY 00000257: PUSH1 0x00 00000259: DUP2 0000025a: DUP5 0000025b: ADD 0000025c: MSTORE 0000025d: PUSH1 0x1f 0000025f: NOT 00000260: PUSH1 0x1f 00000262: DUP3 00000263: ADD 00000264: AND 00000265: SWAP1 00000266: POP 00000267: DUP1 00000268: DUP4 00000269: ADD 0000026a: SWAP3 0000026b: POP 0000026c: POP 0000026d: POP 0000026e: POP 0000026f: POP 00000270: POP 00000271: POP 00000272: SWAP2 00000273: SWAP3 00000274: SWAP2 00000275: SWAP3 00000276: SWAP1 00000277: DUP1 00000278: CALLDATALOAD 00000279: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000028e: AND 0000028f: SWAP1 00000290: PUSH1 0x20 00000292: ADD 00000293: SWAP1 00000294: SWAP3 00000295: SWAP2 00000296: SWAP1 00000297: DUP1 00000298: CALLDATALOAD 00000299: SWAP1 0000029a: PUSH1 0x20 0000029c: ADD 0000029d: SWAP1 0000029e: SWAP3 0000029f: SWAP2 000002a0: SWAP1 000002a1: DUP1 000002a2: CALLDATALOAD 000002a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002b8: AND 000002b9: SWAP1 000002ba: PUSH1 0x20 000002bc: ADD 000002bd: SWAP1 000002be: SWAP3 000002bf: SWAP2 000002c0: SWAP1 000002c1: DUP1 000002c2: CALLDATALOAD 000002c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002d8: AND 000002d9: SWAP1 000002da: PUSH1 0x20 000002dc: ADD 000002dd: SWAP1 000002de: SWAP3 000002df: SWAP2 000002e0: SWAP1 000002e1: POP 000002e2: POP 000002e3: POP 000002e4: PUSH2 0x0e41 000002e7: JUMP 000002e8: JUMPDEST 000002e9: PUSH1 0x40 000002eb: MLOAD 000002ec: DUP1 000002ed: DUP3 000002ee: DUP2 000002ef: MSTORE 000002f0: PUSH1 0x20 000002f2: ADD 000002f3: SWAP2 000002f4: POP 000002f5: POP 000002f6: PUSH1 0x40 000002f8: MLOAD 000002f9: DUP1 000002fa: SWAP2 000002fb: SUB 000002fc: SWAP1 000002fd: RETURN 000002fe: JUMPDEST 000002ff: CALLVALUE 00000300: DUP1 00000301: ISZERO 00000302: PUSH2 0x030a 00000305: JUMPI 00000306: PUSH1 0x00 00000308: DUP1 00000309: REVERT 0000030a: JUMPDEST 0000030b: POP 0000030c: PUSH2 0x034d 0000030f: PUSH1 0x04 00000311: DUP1 00000312: CALLDATASIZE 00000313: SUB 00000314: PUSH1 0x20 00000316: DUP2 00000317: LT 00000318: ISZERO 00000319: PUSH2 0x0321 0000031c: JUMPI 0000031d: PUSH1 0x00 0000031f: DUP1 00000320: REVERT 00000321: JUMPDEST 00000322: DUP2 00000323: ADD 00000324: SWAP1 00000325: DUP1 00000326: DUP1 00000327: CALLDATALOAD 00000328: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000033d: AND 0000033e: SWAP1 0000033f: PUSH1 0x20 00000341: ADD 00000342: SWAP1 00000343: SWAP3 00000344: SWAP2 00000345: SWAP1 00000346: POP 00000347: POP 00000348: POP 00000349: PUSH2 0x1044 0000034c: JUMP 0000034d: JUMPDEST 0000034e: STOP 0000034f: JUMPDEST 00000350: CALLVALUE 00000351: DUP1 00000352: ISZERO 00000353: PUSH2 0x035b 00000356: JUMPI 00000357: PUSH1 0x00 00000359: DUP1 0000035a: REVERT 0000035b: JUMPDEST 0000035c: POP 0000035d: PUSH2 0x0364 00000360: PUSH2 0x10fe 00000363: JUMP 00000364: JUMPDEST 00000365: STOP 00000366: JUMPDEST 00000367: CALLVALUE 00000368: DUP1 00000369: ISZERO 0000036a: PUSH2 0x0372 0000036d: JUMPI 0000036e: PUSH1 0x00 00000370: DUP1 00000371: REVERT 00000372: JUMPDEST 00000373: POP 00000374: PUSH2 0x03a9 00000377: PUSH1 0x04 00000379: DUP1 0000037a: CALLDATASIZE 0000037b: SUB 0000037c: PUSH1 0x40 0000037e: DUP2 0000037f: LT 00000380: ISZERO 00000381: PUSH2 0x0389 00000384: JUMPI 00000385: PUSH1 0x00 00000387: DUP1 00000388: REVERT 00000389: JUMPDEST 0000038a: DUP2 0000038b: ADD 0000038c: SWAP1 0000038d: DUP1 0000038e: DUP1 0000038f: CALLDATALOAD 00000390: SWAP1 00000391: PUSH1 0x20 00000393: ADD 00000394: SWAP1 00000395: SWAP3 00000396: SWAP2 00000397: SWAP1 00000398: DUP1 00000399: CALLDATALOAD 0000039a: SWAP1 0000039b: PUSH1 0x20 0000039d: ADD 0000039e: SWAP1 0000039f: SWAP3 000003a0: SWAP2 000003a1: SWAP1 000003a2: POP 000003a3: POP 000003a4: POP 000003a5: PUSH2 0x11ce 000003a8: JUMP 000003a9: JUMPDEST 000003aa: STOP 000003ab: JUMPDEST 000003ac: CALLVALUE 000003ad: DUP1 000003ae: ISZERO 000003af: PUSH2 0x03b7 000003b2: JUMPI 000003b3: PUSH1 0x00 000003b5: DUP1 000003b6: REVERT 000003b7: JUMPDEST 000003b8: POP 000003b9: PUSH2 0x03e4 000003bc: PUSH1 0x04 000003be: DUP1 000003bf: CALLDATASIZE 000003c0: SUB 000003c1: PUSH1 0x20 000003c3: DUP2 000003c4: LT 000003c5: ISZERO 000003c6: PUSH2 0x03ce 000003c9: JUMPI 000003ca: PUSH1 0x00 000003cc: DUP1 000003cd: REVERT 000003ce: JUMPDEST 000003cf: DUP2 000003d0: ADD 000003d1: SWAP1 000003d2: DUP1 000003d3: DUP1 000003d4: CALLDATALOAD 000003d5: SWAP1 000003d6: PUSH1 0x20 000003d8: ADD 000003d9: SWAP1 000003da: SWAP3 000003db: SWAP2 000003dc: SWAP1 000003dd: POP 000003de: POP 000003df: POP 000003e0: PUSH2 0x11f1 000003e3: JUMP 000003e4: JUMPDEST 000003e5: PUSH1 0x40 000003e7: MLOAD 000003e8: DUP1 000003e9: DUP3 000003ea: DUP2 000003eb: MSTORE 000003ec: PUSH1 0x20 000003ee: ADD 000003ef: SWAP2 000003f0: POP 000003f1: POP 000003f2: PUSH1 0x40 000003f4: MLOAD 000003f5: DUP1 000003f6: SWAP2 000003f7: SUB 000003f8: SWAP1 000003f9: RETURN 000003fa: JUMPDEST 000003fb: CALLVALUE 000003fc: DUP1 000003fd: ISZERO 000003fe: PUSH2 0x0406 00000401: JUMPI 00000402: PUSH1 0x00 00000404: DUP1 00000405: REVERT 00000406: JUMPDEST 00000407: POP 00000408: PUSH2 0x04ca 0000040b: PUSH1 0x04 0000040d: DUP1 0000040e: CALLDATASIZE 0000040f: SUB 00000410: PUSH1 0x40 00000412: DUP2 00000413: LT 00000414: ISZERO 00000415: PUSH2 0x041d 00000418: JUMPI 00000419: PUSH1 0x00 0000041b: DUP1 0000041c: REVERT 0000041d: JUMPDEST 0000041e: DUP2 0000041f: ADD 00000420: SWAP1 00000421: DUP1 00000422: DUP1 00000423: CALLDATALOAD 00000424: SWAP1 00000425: PUSH1 0x20 00000427: ADD 00000428: SWAP1 00000429: PUSH5 0x0100000000 0000042f: DUP2 00000430: GT 00000431: ISZERO 00000432: PUSH2 0x043a 00000435: JUMPI 00000436: PUSH1 0x00 00000438: DUP1 00000439: REVERT 0000043a: JUMPDEST 0000043b: DUP3 0000043c: ADD 0000043d: DUP4 0000043e: PUSH1 0x20 00000440: DUP3 00000441: ADD 00000442: GT 00000443: ISZERO 00000444: PUSH2 0x044c 00000447: JUMPI 00000448: PUSH1 0x00 0000044a: DUP1 0000044b: REVERT 0000044c: JUMPDEST 0000044d: DUP1 0000044e: CALLDATALOAD 0000044f: SWAP1 00000450: PUSH1 0x20 00000452: ADD 00000453: SWAP2 00000454: DUP5 00000455: PUSH1 0x01 00000457: DUP4 00000458: MUL 00000459: DUP5 0000045a: ADD 0000045b: GT 0000045c: PUSH5 0x0100000000 00000462: DUP4 00000463: GT 00000464: OR 00000465: ISZERO 00000466: PUSH2 0x046e 00000469: JUMPI 0000046a: PUSH1 0x00 0000046c: DUP1 0000046d: REVERT 0000046e: JUMPDEST 0000046f: SWAP2 00000470: SWAP1 00000471: DUP1 00000472: DUP1 00000473: PUSH1 0x1f 00000475: ADD 00000476: PUSH1 0x20 00000478: DUP1 00000479: SWAP2 0000047a: DIV 0000047b: MUL 0000047c: PUSH1 0x20 0000047e: ADD 0000047f: PUSH1 0x40 00000481: MLOAD 00000482: SWAP1 00000483: DUP2 00000484: ADD 00000485: PUSH1 0x40 00000487: MSTORE 00000488: DUP1 00000489: SWAP4 0000048a: SWAP3 0000048b: SWAP2 0000048c: SWAP1 0000048d: DUP2 0000048e: DUP2 0000048f: MSTORE 00000490: PUSH1 0x20 00000492: ADD 00000493: DUP4 00000494: DUP4 00000495: DUP1 00000496: DUP3 00000497: DUP5 00000498: CALLDATACOPY 00000499: PUSH1 0x00 0000049b: DUP2 0000049c: DUP5 0000049d: ADD 0000049e: MSTORE 0000049f: PUSH1 0x1f 000004a1: NOT 000004a2: PUSH1 0x1f 000004a4: DUP3 000004a5: ADD 000004a6: AND 000004a7: SWAP1 000004a8: POP 000004a9: DUP1 000004aa: DUP4 000004ab: ADD 000004ac: SWAP3 000004ad: POP 000004ae: POP 000004af: POP 000004b0: POP 000004b1: POP 000004b2: POP 000004b3: POP 000004b4: SWAP2 000004b5: SWAP3 000004b6: SWAP2 000004b7: SWAP3 000004b8: SWAP1 000004b9: DUP1 000004ba: CALLDATALOAD 000004bb: SWAP1 000004bc: PUSH1 0x20 000004be: ADD 000004bf: SWAP1 000004c0: SWAP3 000004c1: SWAP2 000004c2: SWAP1 000004c3: POP 000004c4: POP 000004c5: POP 000004c6: PUSH2 0x1209 000004c9: JUMP 000004ca: JUMPDEST 000004cb: PUSH1 0x40 000004cd: MLOAD 000004ce: DUP1 000004cf: DUP3 000004d0: DUP2 000004d1: MSTORE 000004d2: PUSH1 0x20 000004d4: ADD 000004d5: SWAP2 000004d6: POP 000004d7: POP 000004d8: PUSH1 0x40 000004da: MLOAD 000004db: DUP1 000004dc: SWAP2 000004dd: SUB 000004de: SWAP1 000004df: RETURN 000004e0: JUMPDEST 000004e1: PUSH2 0x058b 000004e4: PUSH1 0x04 000004e6: DUP1 000004e7: CALLDATASIZE 000004e8: SUB 000004e9: PUSH1 0x80 000004eb: DUP2 000004ec: LT 000004ed: ISZERO 000004ee: PUSH2 0x04f6 000004f1: JUMPI 000004f2: PUSH1 0x00 000004f4: DUP1 000004f5: REVERT 000004f6: JUMPDEST 000004f7: DUP2 000004f8: ADD 000004f9: SWAP1 000004fa: DUP1 000004fb: DUP1 000004fc: CALLDATALOAD 000004fd: SWAP1 000004fe: PUSH1 0x20 00000500: ADD 00000501: SWAP1 00000502: PUSH5 0x0100000000 00000508: DUP2 00000509: GT 0000050a: ISZERO 0000050b: PUSH2 0x0513 0000050e: JUMPI 0000050f: PUSH1 0x00 00000511: DUP1 00000512: REVERT 00000513: JUMPDEST 00000514: DUP3 00000515: ADD 00000516: DUP4 00000517: PUSH1 0x20 00000519: DUP3 0000051a: ADD 0000051b: GT 0000051c: ISZERO 0000051d: PUSH2 0x0525 00000520: JUMPI 00000521: PUSH1 0x00 00000523: DUP1 00000524: REVERT 00000525: JUMPDEST 00000526: DUP1 00000527: CALLDATALOAD 00000528: SWAP1 00000529: PUSH1 0x20 0000052b: ADD 0000052c: SWAP2 0000052d: DUP5 0000052e: PUSH1 0x01 00000530: DUP4 00000531: MUL 00000532: DUP5 00000533: ADD 00000534: GT 00000535: PUSH5 0x0100000000 0000053b: DUP4 0000053c: GT 0000053d: OR 0000053e: ISZERO 0000053f: PUSH2 0x0547 00000542: JUMPI 00000543: PUSH1 0x00 00000545: DUP1 00000546: REVERT 00000547: JUMPDEST 00000548: SWAP1 00000549: SWAP2 0000054a: SWAP3 0000054b: SWAP4 0000054c: SWAP2 0000054d: SWAP3 0000054e: SWAP4 0000054f: SWAP1 00000550: DUP1 00000551: CALLDATALOAD 00000552: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000567: AND 00000568: SWAP1 00000569: PUSH1 0x20 0000056b: ADD 0000056c: SWAP1 0000056d: SWAP3 0000056e: SWAP2 0000056f: SWAP1 00000570: DUP1 00000571: CALLDATALOAD 00000572: SWAP1 00000573: PUSH1 0x20 00000575: ADD 00000576: SWAP1 00000577: SWAP3 00000578: SWAP2 00000579: SWAP1 0000057a: DUP1 0000057b: CALLDATALOAD 0000057c: SWAP1 0000057d: PUSH1 0x20 0000057f: ADD 00000580: SWAP1 00000581: SWAP3 00000582: SWAP2 00000583: SWAP1 00000584: POP 00000585: POP 00000586: POP 00000587: PUSH2 0x13f2 0000058a: JUMP 0000058b: JUMPDEST 0000058c: STOP 0000058d: JUMPDEST 0000058e: CALLVALUE 0000058f: DUP1 00000590: ISZERO 00000591: PUSH2 0x0599 00000594: JUMPI 00000595: PUSH1 0x00 00000597: DUP1 00000598: REVERT 00000599: JUMPDEST 0000059a: POP 0000059b: PUSH2 0x05a2 0000059e: PUSH2 0x144c 000005a1: JUMP 000005a2: JUMPDEST 000005a3: PUSH1 0x40 000005a5: MLOAD 000005a6: DUP1 000005a7: DUP3 000005a8: DUP2 000005a9: MSTORE 000005aa: PUSH1 0x20 000005ac: ADD 000005ad: SWAP2 000005ae: POP 000005af: POP 000005b0: PUSH1 0x40 000005b2: MLOAD 000005b3: DUP1 000005b4: SWAP2 000005b5: SUB 000005b6: SWAP1 000005b7: RETURN 000005b8: JUMPDEST 000005b9: CALLVALUE 000005ba: DUP1 000005bb: ISZERO 000005bc: PUSH2 0x05c4 000005bf: JUMPI 000005c0: PUSH1 0x00 000005c2: DUP1 000005c3: REVERT 000005c4: JUMPDEST 000005c5: POP 000005c6: PUSH2 0x05cd 000005c9: PUSH2 0x1453 000005cc: JUMP 000005cd: JUMPDEST 000005ce: PUSH1 0x40 000005d0: MLOAD 000005d1: DUP1 000005d2: DUP3 000005d3: DUP2 000005d4: MSTORE 000005d5: PUSH1 0x20 000005d7: ADD 000005d8: SWAP2 000005d9: POP 000005da: POP 000005db: PUSH1 0x40 000005dd: MLOAD 000005de: DUP1 000005df: SWAP2 000005e0: SUB 000005e1: SWAP1 000005e2: RETURN 000005e3: JUMPDEST 000005e4: CALLVALUE 000005e5: DUP1 000005e6: ISZERO 000005e7: PUSH2 0x05ef 000005ea: JUMPI 000005eb: PUSH1 0x00 000005ed: DUP1 000005ee: REVERT 000005ef: JUMPDEST 000005f0: POP 000005f1: PUSH2 0x05f8 000005f4: PUSH2 0x1459 000005f7: JUMP 000005f8: JUMPDEST 000005f9: PUSH1 0x40 000005fb: MLOAD 000005fc: DUP1 000005fd: DUP3 000005fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000613: AND 00000614: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000629: AND 0000062a: DUP2 0000062b: MSTORE 0000062c: PUSH1 0x20 0000062e: ADD 0000062f: SWAP2 00000630: POP 00000631: POP 00000632: PUSH1 0x40 00000634: MLOAD 00000635: DUP1 00000636: SWAP2 00000637: SUB 00000638: SWAP1 00000639: RETURN 0000063a: JUMPDEST 0000063b: CALLVALUE 0000063c: DUP1 0000063d: ISZERO 0000063e: PUSH2 0x0646 00000641: JUMPI 00000642: PUSH1 0x00 00000644: DUP1 00000645: REVERT 00000646: JUMPDEST 00000647: POP 00000648: PUSH2 0x064f 0000064b: PUSH2 0x1482 0000064e: JUMP 0000064f: JUMPDEST 00000650: PUSH1 0x40 00000652: MLOAD 00000653: DUP1 00000654: DUP3 00000655: ISZERO 00000656: ISZERO 00000657: ISZERO 00000658: ISZERO 00000659: DUP2 0000065a: MSTORE 0000065b: PUSH1 0x20 0000065d: ADD 0000065e: SWAP2 0000065f: POP 00000660: POP 00000661: PUSH1 0x40 00000663: MLOAD 00000664: DUP1 00000665: SWAP2 00000666: SUB 00000667: SWAP1 00000668: RETURN 00000669: JUMPDEST 0000066a: CALLVALUE 0000066b: DUP1 0000066c: ISZERO 0000066d: PUSH2 0x0675 00000670: JUMPI 00000671: PUSH1 0x00 00000673: DUP1 00000674: REVERT 00000675: JUMPDEST 00000676: POP 00000677: PUSH2 0x072f 0000067a: PUSH1 0x04 0000067c: DUP1 0000067d: CALLDATASIZE 0000067e: SUB 0000067f: PUSH1 0x20 00000681: DUP2 00000682: LT 00000683: ISZERO 00000684: PUSH2 0x068c 00000687: JUMPI 00000688: PUSH1 0x00 0000068a: DUP1 0000068b: REVERT 0000068c: JUMPDEST 0000068d: DUP2 0000068e: ADD 0000068f: SWAP1 00000690: DUP1 00000691: DUP1 00000692: CALLDATALOAD 00000693: SWAP1 00000694: PUSH1 0x20 00000696: ADD 00000697: SWAP1 00000698: PUSH5 0x0100000000 0000069e: DUP2 0000069f: GT 000006a0: ISZERO 000006a1: PUSH2 0x06a9 000006a4: JUMPI 000006a5: PUSH1 0x00 000006a7: DUP1 000006a8: REVERT 000006a9: JUMPDEST 000006aa: DUP3 000006ab: ADD 000006ac: DUP4 000006ad: PUSH1 0x20 000006af: DUP3 000006b0: ADD 000006b1: GT 000006b2: ISZERO 000006b3: PUSH2 0x06bb 000006b6: JUMPI 000006b7: PUSH1 0x00 000006b9: DUP1 000006ba: REVERT 000006bb: JUMPDEST 000006bc: DUP1 000006bd: CALLDATALOAD 000006be: SWAP1 000006bf: PUSH1 0x20 000006c1: ADD 000006c2: SWAP2 000006c3: DUP5 000006c4: PUSH1 0x01 000006c6: DUP4 000006c7: MUL 000006c8: DUP5 000006c9: ADD 000006ca: GT 000006cb: PUSH5 0x0100000000 000006d1: DUP4 000006d2: GT 000006d3: OR 000006d4: ISZERO 000006d5: PUSH2 0x06dd 000006d8: JUMPI 000006d9: PUSH1 0x00 000006db: DUP1 000006dc: REVERT 000006dd: JUMPDEST 000006de: SWAP2 000006df: SWAP1 000006e0: DUP1 000006e1: DUP1 000006e2: PUSH1 0x1f 000006e4: ADD 000006e5: PUSH1 0x20 000006e7: DUP1 000006e8: SWAP2 000006e9: DIV 000006ea: MUL 000006eb: PUSH1 0x20 000006ed: ADD 000006ee: PUSH1 0x40 000006f0: MLOAD 000006f1: SWAP1 000006f2: DUP2 000006f3: ADD 000006f4: PUSH1 0x40 000006f6: MSTORE 000006f7: DUP1 000006f8: SWAP4 000006f9: SWAP3 000006fa: SWAP2 000006fb: SWAP1 000006fc: DUP2 000006fd: DUP2 000006fe: MSTORE 000006ff: PUSH1 0x20 00000701: ADD 00000702: DUP4 00000703: DUP4 00000704: DUP1 00000705: DUP3 00000706: DUP5 00000707: CALLDATACOPY 00000708: PUSH1 0x00 0000070a: DUP2 0000070b: DUP5 0000070c: ADD 0000070d: MSTORE 0000070e: PUSH1 0x1f 00000710: NOT 00000711: PUSH1 0x1f 00000713: DUP3 00000714: ADD 00000715: AND 00000716: SWAP1 00000717: POP 00000718: DUP1 00000719: DUP4 0000071a: ADD 0000071b: SWAP3 0000071c: POP 0000071d: POP 0000071e: POP 0000071f: POP 00000720: POP 00000721: POP 00000722: POP 00000723: SWAP2 00000724: SWAP3 00000725: SWAP2 00000726: SWAP3 00000727: SWAP1 00000728: POP 00000729: POP 0000072a: POP 0000072b: PUSH2 0x14d9 0000072e: JUMP 0000072f: JUMPDEST 00000730: PUSH1 0x40 00000732: MLOAD 00000733: DUP1 00000734: DUP3 00000735: ISZERO 00000736: ISZERO 00000737: ISZERO 00000738: ISZERO 00000739: DUP2 0000073a: MSTORE 0000073b: PUSH1 0x20 0000073d: ADD 0000073e: SWAP2 0000073f: POP 00000740: POP 00000741: PUSH1 0x40 00000743: MLOAD 00000744: DUP1 00000745: SWAP2 00000746: SUB 00000747: SWAP1 00000748: RETURN 00000749: JUMPDEST 0000074a: PUSH2 0x07ca 0000074d: PUSH1 0x04 0000074f: DUP1 00000750: CALLDATASIZE 00000751: SUB 00000752: PUSH1 0x40 00000754: DUP2 00000755: LT 00000756: ISZERO 00000757: PUSH2 0x075f 0000075a: JUMPI 0000075b: PUSH1 0x00 0000075d: DUP1 0000075e: REVERT 0000075f: JUMPDEST 00000760: DUP2 00000761: ADD 00000762: SWAP1 00000763: DUP1 00000764: DUP1 00000765: CALLDATALOAD 00000766: SWAP1 00000767: PUSH1 0x20 00000769: ADD 0000076a: SWAP1 0000076b: PUSH5 0x0100000000 00000771: DUP2 00000772: GT 00000773: ISZERO 00000774: PUSH2 0x077c 00000777: JUMPI 00000778: PUSH1 0x00 0000077a: DUP1 0000077b: REVERT 0000077c: JUMPDEST 0000077d: DUP3 0000077e: ADD 0000077f: DUP4 00000780: PUSH1 0x20 00000782: DUP3 00000783: ADD 00000784: GT 00000785: ISZERO 00000786: PUSH2 0x078e 00000789: JUMPI 0000078a: PUSH1 0x00 0000078c: DUP1 0000078d: REVERT 0000078e: JUMPDEST 0000078f: DUP1 00000790: CALLDATALOAD 00000791: SWAP1 00000792: PUSH1 0x20 00000794: ADD 00000795: SWAP2 00000796: DUP5 00000797: PUSH1 0x01 00000799: DUP4 0000079a: MUL 0000079b: DUP5 0000079c: ADD 0000079d: GT 0000079e: PUSH5 0x0100000000 000007a4: DUP4 000007a5: GT 000007a6: OR 000007a7: ISZERO 000007a8: PUSH2 0x07b0 000007ab: JUMPI 000007ac: PUSH1 0x00 000007ae: DUP1 000007af: REVERT 000007b0: JUMPDEST 000007b1: SWAP1 000007b2: SWAP2 000007b3: SWAP3 000007b4: SWAP4 000007b5: SWAP2 000007b6: SWAP3 000007b7: SWAP4 000007b8: SWAP1 000007b9: DUP1 000007ba: CALLDATALOAD 000007bb: SWAP1 000007bc: PUSH1 0x20 000007be: ADD 000007bf: SWAP1 000007c0: SWAP3 000007c1: SWAP2 000007c2: SWAP1 000007c3: POP 000007c4: POP 000007c5: POP 000007c6: PUSH2 0x14ef 000007c9: JUMP 000007ca: JUMPDEST 000007cb: STOP 000007cc: JUMPDEST 000007cd: CALLVALUE 000007ce: DUP1 000007cf: ISZERO 000007d0: PUSH2 0x07d8 000007d3: JUMPI 000007d4: PUSH1 0x00 000007d6: DUP1 000007d7: REVERT 000007d8: JUMPDEST 000007d9: POP 000007da: PUSH2 0x0892 000007dd: PUSH1 0x04 000007df: DUP1 000007e0: CALLDATASIZE 000007e1: SUB 000007e2: PUSH1 0x20 000007e4: DUP2 000007e5: LT 000007e6: ISZERO 000007e7: PUSH2 0x07ef 000007ea: JUMPI 000007eb: PUSH1 0x00 000007ed: DUP1 000007ee: REVERT 000007ef: JUMPDEST 000007f0: DUP2 000007f1: ADD 000007f2: SWAP1 000007f3: DUP1 000007f4: DUP1 000007f5: CALLDATALOAD 000007f6: SWAP1 000007f7: PUSH1 0x20 000007f9: ADD 000007fa: SWAP1 000007fb: PUSH5 0x0100000000 00000801: DUP2 00000802: GT 00000803: ISZERO 00000804: PUSH2 0x080c 00000807: JUMPI 00000808: PUSH1 0x00 0000080a: DUP1 0000080b: REVERT 0000080c: JUMPDEST 0000080d: DUP3 0000080e: ADD 0000080f: DUP4 00000810: PUSH1 0x20 00000812: DUP3 00000813: ADD 00000814: GT 00000815: ISZERO 00000816: PUSH2 0x081e 00000819: JUMPI 0000081a: PUSH1 0x00 0000081c: DUP1 0000081d: REVERT 0000081e: JUMPDEST 0000081f: DUP1 00000820: CALLDATALOAD 00000821: SWAP1 00000822: PUSH1 0x20 00000824: ADD 00000825: SWAP2 00000826: DUP5 00000827: PUSH1 0x01 00000829: DUP4 0000082a: MUL 0000082b: DUP5 0000082c: ADD 0000082d: GT 0000082e: PUSH5 0x0100000000 00000834: DUP4 00000835: GT 00000836: OR 00000837: ISZERO 00000838: PUSH2 0x0840 0000083b: JUMPI 0000083c: PUSH1 0x00 0000083e: DUP1 0000083f: REVERT 00000840: JUMPDEST 00000841: SWAP2 00000842: SWAP1 00000843: DUP1 00000844: DUP1 00000845: PUSH1 0x1f 00000847: ADD 00000848: PUSH1 0x20 0000084a: DUP1 0000084b: SWAP2 0000084c: DIV 0000084d: MUL 0000084e: PUSH1 0x20 00000850: ADD 00000851: PUSH1 0x40 00000853: MLOAD 00000854: SWAP1 00000855: DUP2 00000856: ADD 00000857: PUSH1 0x40 00000859: MSTORE 0000085a: DUP1 0000085b: SWAP4 0000085c: SWAP3 0000085d: SWAP2 0000085e: SWAP1 0000085f: DUP2 00000860: DUP2 00000861: MSTORE 00000862: PUSH1 0x20 00000864: ADD 00000865: DUP4 00000866: DUP4 00000867: DUP1 00000868: DUP3 00000869: DUP5 0000086a: CALLDATACOPY 0000086b: PUSH1 0x00 0000086d: DUP2 0000086e: DUP5 0000086f: ADD 00000870: MSTORE 00000871: PUSH1 0x1f 00000873: NOT 00000874: PUSH1 0x1f 00000876: DUP3 00000877: ADD 00000878: AND 00000879: SWAP1 0000087a: POP 0000087b: DUP1 0000087c: DUP4 0000087d: ADD 0000087e: SWAP3 0000087f: POP 00000880: POP 00000881: POP 00000882: POP 00000883: POP 00000884: POP 00000885: POP 00000886: SWAP2 00000887: SWAP3 00000888: SWAP2 00000889: SWAP3 0000088a: SWAP1 0000088b: POP 0000088c: POP 0000088d: POP 0000088e: PUSH2 0x16fe 00000891: JUMP 00000892: JUMPDEST 00000893: PUSH1 0x40 00000895: MLOAD 00000896: DUP1 00000897: DUP3 00000898: ISZERO 00000899: ISZERO 0000089a: ISZERO 0000089b: ISZERO 0000089c: DUP2 0000089d: MSTORE 0000089e: PUSH1 0x20 000008a0: ADD 000008a1: SWAP2 000008a2: POP 000008a3: POP 000008a4: PUSH1 0x40 000008a6: MLOAD 000008a7: DUP1 000008a8: SWAP2 000008a9: SUB 000008aa: SWAP1 000008ab: RETURN 000008ac: JUMPDEST 000008ad: CALLVALUE 000008ae: DUP1 000008af: ISZERO 000008b0: PUSH2 0x08b8 000008b3: JUMPI 000008b4: PUSH1 0x00 000008b6: DUP1 000008b7: REVERT 000008b8: JUMPDEST 000008b9: POP 000008ba: PUSH2 0x08c1 000008bd: PUSH2 0x17d5 000008c0: JUMP 000008c1: JUMPDEST 000008c2: PUSH1 0x40 000008c4: MLOAD 000008c5: DUP1 000008c6: DUP3 000008c7: DUP2 000008c8: MSTORE 000008c9: PUSH1 0x20 000008cb: ADD 000008cc: SWAP2 000008cd: POP 000008ce: POP 000008cf: PUSH1 0x40 000008d1: MLOAD 000008d2: DUP1 000008d3: SWAP2 000008d4: SUB 000008d5: SWAP1 000008d6: RETURN 000008d7: JUMPDEST 000008d8: CALLVALUE 000008d9: DUP1 000008da: ISZERO 000008db: PUSH2 0x08e3 000008de: JUMPI 000008df: PUSH1 0x00 000008e1: DUP1 000008e2: REVERT 000008e3: JUMPDEST 000008e4: POP 000008e5: PUSH2 0x0910 000008e8: PUSH1 0x04 000008ea: DUP1 000008eb: CALLDATASIZE 000008ec: SUB 000008ed: PUSH1 0x20 000008ef: DUP2 000008f0: LT 000008f1: ISZERO 000008f2: PUSH2 0x08fa 000008f5: JUMPI 000008f6: PUSH1 0x00 000008f8: DUP1 000008f9: REVERT 000008fa: JUMPDEST 000008fb: DUP2 000008fc: ADD 000008fd: SWAP1 000008fe: DUP1 000008ff: DUP1 00000900: CALLDATALOAD 00000901: SWAP1 00000902: PUSH1 0x20 00000904: ADD 00000905: SWAP1 00000906: SWAP3 00000907: SWAP2 00000908: SWAP1 00000909: POP 0000090a: POP 0000090b: POP 0000090c: PUSH2 0x17db 0000090f: JUMP 00000910: JUMPDEST 00000911: STOP 00000912: JUMPDEST 00000913: CALLVALUE 00000914: DUP1 00000915: ISZERO 00000916: PUSH2 0x091e 00000919: JUMPI 0000091a: PUSH1 0x00 0000091c: DUP1 0000091d: REVERT 0000091e: JUMPDEST 0000091f: POP 00000920: PUSH2 0x0961 00000923: PUSH1 0x04 00000925: DUP1 00000926: CALLDATASIZE 00000927: SUB 00000928: PUSH1 0x20 0000092a: DUP2 0000092b: LT 0000092c: ISZERO 0000092d: PUSH2 0x0935 00000930: JUMPI 00000931: PUSH1 0x00 00000933: DUP1 00000934: REVERT 00000935: JUMPDEST 00000936: DUP2 00000937: ADD 00000938: SWAP1 00000939: DUP1 0000093a: DUP1 0000093b: CALLDATALOAD 0000093c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000951: AND 00000952: SWAP1 00000953: PUSH1 0x20 00000955: ADD 00000956: SWAP1 00000957: SWAP3 00000958: SWAP2 00000959: SWAP1 0000095a: POP 0000095b: POP 0000095c: POP 0000095d: PUSH2 0x1819 00000960: JUMP 00000961: JUMPDEST 00000962: STOP 00000963: JUMPDEST 00000964: CALLVALUE 00000965: DUP1 00000966: ISZERO 00000967: PUSH2 0x096f 0000096a: JUMPI 0000096b: PUSH1 0x00 0000096d: DUP1 0000096e: REVERT 0000096f: JUMPDEST 00000970: POP 00000971: PUSH2 0x0a53 00000974: PUSH1 0x04 00000976: DUP1 00000977: CALLDATASIZE 00000978: SUB 00000979: PUSH1 0x60 0000097b: DUP2 0000097c: LT 0000097d: ISZERO 0000097e: PUSH2 0x0986 00000981: JUMPI 00000982: PUSH1 0x00 00000984: DUP1 00000985: REVERT 00000986: JUMPDEST 00000987: DUP2 00000988: ADD 00000989: SWAP1 0000098a: DUP1 0000098b: DUP1 0000098c: CALLDATALOAD 0000098d: SWAP1 0000098e: PUSH1 0x20 00000990: ADD 00000991: SWAP1 00000992: PUSH5 0x0100000000 00000998: DUP2 00000999: GT 0000099a: ISZERO 0000099b: PUSH2 0x09a3 0000099e: JUMPI 0000099f: PUSH1 0x00 000009a1: DUP1 000009a2: REVERT 000009a3: JUMPDEST 000009a4: DUP3 000009a5: ADD 000009a6: DUP4 000009a7: PUSH1 0x20 000009a9: DUP3 000009aa: ADD 000009ab: GT 000009ac: ISZERO 000009ad: PUSH2 0x09b5 000009b0: JUMPI 000009b1: PUSH1 0x00 000009b3: DUP1 000009b4: REVERT 000009b5: JUMPDEST 000009b6: DUP1 000009b7: CALLDATALOAD 000009b8: SWAP1 000009b9: PUSH1 0x20 000009bb: ADD 000009bc: SWAP2 000009bd: DUP5 000009be: PUSH1 0x01 000009c0: DUP4 000009c1: MUL 000009c2: DUP5 000009c3: ADD 000009c4: GT 000009c5: PUSH5 0x0100000000 000009cb: DUP4 000009cc: GT 000009cd: OR 000009ce: ISZERO 000009cf: PUSH2 0x09d7 000009d2: JUMPI 000009d3: PUSH1 0x00 000009d5: DUP1 000009d6: REVERT 000009d7: JUMPDEST 000009d8: SWAP2 000009d9: SWAP1 000009da: DUP1 000009db: DUP1 000009dc: PUSH1 0x1f 000009de: ADD 000009df: PUSH1 0x20 000009e1: DUP1 000009e2: SWAP2 000009e3: DIV 000009e4: MUL 000009e5: PUSH1 0x20 000009e7: ADD 000009e8: PUSH1 0x40 000009ea: MLOAD 000009eb: SWAP1 000009ec: DUP2 000009ed: ADD 000009ee: PUSH1 0x40 000009f0: MSTORE 000009f1: DUP1 000009f2: SWAP4 000009f3: SWAP3 000009f4: SWAP2 000009f5: SWAP1 000009f6: DUP2 000009f7: DUP2 000009f8: MSTORE 000009f9: PUSH1 0x20 000009fb: ADD 000009fc: DUP4 000009fd: DUP4 000009fe: DUP1 000009ff: DUP3 00000a00: DUP5 00000a01: CALLDATACOPY 00000a02: PUSH1 0x00 00000a04: DUP2 00000a05: DUP5 00000a06: ADD 00000a07: MSTORE 00000a08: PUSH1 0x1f 00000a0a: NOT 00000a0b: PUSH1 0x1f 00000a0d: DUP3 00000a0e: ADD 00000a0f: AND 00000a10: SWAP1 00000a11: POP 00000a12: DUP1 00000a13: DUP4 00000a14: ADD 00000a15: SWAP3 00000a16: POP 00000a17: POP 00000a18: POP 00000a19: POP 00000a1a: POP 00000a1b: POP 00000a1c: POP 00000a1d: SWAP2 00000a1e: SWAP3 00000a1f: SWAP2 00000a20: SWAP3 00000a21: SWAP1 00000a22: DUP1 00000a23: CALLDATALOAD 00000a24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a39: AND 00000a3a: SWAP1 00000a3b: PUSH1 0x20 00000a3d: ADD 00000a3e: SWAP1 00000a3f: SWAP3 00000a40: SWAP2 00000a41: SWAP1 00000a42: DUP1 00000a43: CALLDATALOAD 00000a44: SWAP1 00000a45: PUSH1 0x20 00000a47: ADD 00000a48: SWAP1 00000a49: SWAP3 00000a4a: SWAP2 00000a4b: SWAP1 00000a4c: POP 00000a4d: POP 00000a4e: POP 00000a4f: PUSH2 0x1836 00000a52: JUMP 00000a53: JUMPDEST 00000a54: PUSH1 0x40 00000a56: MLOAD 00000a57: DUP1 00000a58: DUP3 00000a59: DUP2 00000a5a: MSTORE 00000a5b: PUSH1 0x20 00000a5d: ADD 00000a5e: SWAP2 00000a5f: POP 00000a60: POP 00000a61: PUSH1 0x40 00000a63: MLOAD 00000a64: DUP1 00000a65: SWAP2 00000a66: SUB 00000a67: SWAP1 00000a68: RETURN 00000a69: JUMPDEST 00000a6a: PUSH2 0x0b96 00000a6d: PUSH1 0x04 00000a6f: DUP1 00000a70: CALLDATASIZE 00000a71: SUB 00000a72: PUSH1 0xc0 00000a74: DUP2 00000a75: LT 00000a76: ISZERO 00000a77: PUSH2 0x0a7f 00000a7a: JUMPI 00000a7b: PUSH1 0x00 00000a7d: DUP1 00000a7e: REVERT 00000a7f: JUMPDEST 00000a80: DUP2 00000a81: ADD 00000a82: SWAP1 00000a83: DUP1 00000a84: DUP1 00000a85: CALLDATALOAD 00000a86: SWAP1 00000a87: PUSH1 0x20 00000a89: ADD 00000a8a: SWAP1 00000a8b: PUSH5 0x0100000000 00000a91: DUP2 00000a92: GT 00000a93: ISZERO 00000a94: PUSH2 0x0a9c 00000a97: JUMPI 00000a98: PUSH1 0x00 00000a9a: DUP1 00000a9b: REVERT 00000a9c: JUMPDEST 00000a9d: DUP3 00000a9e: ADD 00000a9f: DUP4 00000aa0: PUSH1 0x20 00000aa2: DUP3 00000aa3: ADD 00000aa4: GT 00000aa5: ISZERO 00000aa6: PUSH2 0x0aae 00000aa9: JUMPI 00000aaa: PUSH1 0x00 00000aac: DUP1 00000aad: REVERT 00000aae: JUMPDEST 00000aaf: DUP1 00000ab0: CALLDATALOAD 00000ab1: SWAP1 00000ab2: PUSH1 0x20 00000ab4: ADD 00000ab5: SWAP2 00000ab6: DUP5 00000ab7: PUSH1 0x01 00000ab9: DUP4 00000aba: MUL 00000abb: DUP5 00000abc: ADD 00000abd: GT 00000abe: PUSH5 0x0100000000 00000ac4: DUP4 00000ac5: GT 00000ac6: OR 00000ac7: ISZERO 00000ac8: PUSH2 0x0ad0 00000acb: JUMPI 00000acc: PUSH1 0x00 00000ace: DUP1 00000acf: REVERT 00000ad0: JUMPDEST 00000ad1: SWAP2 00000ad2: SWAP1 00000ad3: DUP1 00000ad4: DUP1 00000ad5: PUSH1 0x1f 00000ad7: ADD 00000ad8: PUSH1 0x20 00000ada: DUP1 00000adb: SWAP2 00000adc: DIV 00000add: MUL 00000ade: PUSH1 0x20 00000ae0: ADD 00000ae1: PUSH1 0x40 00000ae3: MLOAD 00000ae4: SWAP1 00000ae5: DUP2 00000ae6: ADD 00000ae7: PUSH1 0x40 00000ae9: MSTORE 00000aea: DUP1 00000aeb: SWAP4 00000aec: SWAP3 00000aed: SWAP2 00000aee: SWAP1 00000aef: DUP2 00000af0: DUP2 00000af1: MSTORE 00000af2: PUSH1 0x20 00000af4: ADD 00000af5: DUP4 00000af6: DUP4 00000af7: DUP1 00000af8: DUP3 00000af9: DUP5 00000afa: CALLDATACOPY 00000afb: PUSH1 0x00 00000afd: DUP2 00000afe: DUP5 00000aff: ADD 00000b00: MSTORE 00000b01: PUSH1 0x1f 00000b03: NOT 00000b04: PUSH1 0x1f 00000b06: DUP3 00000b07: ADD 00000b08: AND 00000b09: SWAP1 00000b0a: POP 00000b0b: DUP1 00000b0c: DUP4 00000b0d: ADD 00000b0e: SWAP3 00000b0f: POP 00000b10: POP 00000b11: POP 00000b12: POP 00000b13: POP 00000b14: POP 00000b15: POP 00000b16: SWAP2 00000b17: SWAP3 00000b18: SWAP2 00000b19: SWAP3 00000b1a: SWAP1 00000b1b: DUP1 00000b1c: CALLDATALOAD 00000b1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b32: AND 00000b33: SWAP1 00000b34: PUSH1 0x20 00000b36: ADD 00000b37: SWAP1 00000b38: SWAP3 00000b39: SWAP2 00000b3a: SWAP1 00000b3b: DUP1 00000b3c: CALLDATALOAD 00000b3d: SWAP1 00000b3e: PUSH1 0x20 00000b40: ADD 00000b41: SWAP1 00000b42: SWAP3 00000b43: SWAP2 00000b44: SWAP1 00000b45: DUP1 00000b46: CALLDATALOAD 00000b47: SWAP1 00000b48: PUSH1 0x20 00000b4a: ADD 00000b4b: SWAP1 00000b4c: SWAP3 00000b4d: SWAP2 00000b4e: SWAP1 00000b4f: DUP1 00000b50: CALLDATALOAD 00000b51: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b66: AND 00000b67: SWAP1 00000b68: PUSH1 0x20 00000b6a: ADD 00000b6b: SWAP1 00000b6c: SWAP3 00000b6d: SWAP2 00000b6e: SWAP1 00000b6f: DUP1 00000b70: CALLDATALOAD 00000b71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b86: AND 00000b87: SWAP1 00000b88: PUSH1 0x20 00000b8a: ADD 00000b8b: SWAP1 00000b8c: SWAP3 00000b8d: SWAP2 00000b8e: SWAP1 00000b8f: POP 00000b90: POP 00000b91: POP 00000b92: PUSH2 0x184f 00000b95: JUMP 00000b96: JUMPDEST 00000b97: STOP 00000b98: JUMPDEST 00000b99: PUSH1 0x00 00000b9b: PUSH1 0x40 00000b9d: MLOAD 00000b9e: DUP1 00000b9f: DUP1 00000ba0: PUSH32 0x737570706f727473496e74657266616365286279746573342900000000000000 00000bc1: DUP2 00000bc2: MSTORE 00000bc3: POP 00000bc4: PUSH1 0x19 00000bc6: ADD 00000bc7: SWAP1 00000bc8: POP 00000bc9: PUSH1 0x40 00000bcb: MLOAD 00000bcc: DUP1 00000bcd: SWAP2 00000bce: SUB 00000bcf: SWAP1 00000bd0: KECCAK256 00000bd1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000bee: NOT 00000bef: AND 00000bf0: DUP3 00000bf1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000c0e: NOT 00000c0f: AND 00000c10: EQ 00000c11: DUP1 00000c12: PUSH2 0x0d66 00000c15: JUMPI 00000c16: POP 00000c17: PUSH1 0x40 00000c19: MLOAD 00000c1a: DUP1 00000c1b: DUP1 00000c1c: PUSH32 0x72656e657728737472696e672c75696e74323536290000000000000000000000 00000c3d: DUP2 00000c3e: MSTORE 00000c3f: POP 00000c40: PUSH1 0x15 00000c42: ADD 00000c43: SWAP1 00000c44: POP 00000c45: PUSH1 0x40 00000c47: MLOAD 00000c48: DUP1 00000c49: SWAP2 00000c4a: SUB 00000c4b: SWAP1 00000c4c: KECCAK256 00000c4d: PUSH1 0x40 00000c4f: MLOAD 00000c50: DUP1 00000c51: DUP1 00000c52: PUSH2 0x23ee 00000c55: PUSH1 0x28 00000c57: SWAP2 00000c58: CODECOPY 00000c59: PUSH1 0x28 00000c5b: ADD 00000c5c: SWAP1 00000c5d: POP 00000c5e: PUSH1 0x40 00000c60: MLOAD 00000c61: DUP1 00000c62: SWAP2 00000c63: SUB 00000c64: SWAP1 00000c65: KECCAK256 00000c66: PUSH1 0x40 00000c68: MLOAD 00000c69: DUP1 00000c6a: DUP1 00000c6b: PUSH32 0x636f6d6d69742862797465733332290000000000000000000000000000000000 00000c8c: DUP2 00000c8d: MSTORE 00000c8e: POP 00000c8f: PUSH1 0x0f 00000c91: ADD 00000c92: SWAP1 00000c93: POP 00000c94: PUSH1 0x40 00000c96: MLOAD 00000c97: DUP1 00000c98: SWAP2 00000c99: SUB 00000c9a: SWAP1 00000c9b: KECCAK256 00000c9c: PUSH1 0x40 00000c9e: MLOAD 00000c9f: DUP1 00000ca0: DUP1 00000ca1: PUSH2 0x2416 00000ca4: PUSH1 0x26 00000ca6: SWAP2 00000ca7: CODECOPY 00000ca8: PUSH1 0x26 00000caa: ADD 00000cab: SWAP1 00000cac: POP 00000cad: PUSH1 0x40 00000caf: MLOAD 00000cb0: DUP1 00000cb1: SWAP2 00000cb2: SUB 00000cb3: SWAP1 00000cb4: KECCAK256 00000cb5: PUSH1 0x40 00000cb7: MLOAD 00000cb8: DUP1 00000cb9: DUP1 00000cba: PUSH32 0x617661696c61626c6528737472696e6729000000000000000000000000000000 00000cdb: DUP2 00000cdc: MSTORE 00000cdd: POP 00000cde: PUSH1 0x11 00000ce0: ADD 00000ce1: SWAP1 00000ce2: POP 00000ce3: PUSH1 0x40 00000ce5: MLOAD 00000ce6: DUP1 00000ce7: SWAP2 00000ce8: SUB 00000ce9: SWAP1 00000cea: KECCAK256 00000ceb: PUSH1 0x40 00000ced: MLOAD 00000cee: DUP1 00000cef: DUP1 00000cf0: PUSH32 0x72656e74507269636528737472696e672c75696e743235362900000000000000 00000d11: DUP2 00000d12: MSTORE 00000d13: POP 00000d14: PUSH1 0x19 00000d16: ADD 00000d17: SWAP1 00000d18: POP 00000d19: PUSH1 0x40 00000d1b: MLOAD 00000d1c: DUP1 00000d1d: SWAP2 00000d1e: SUB 00000d1f: SWAP1 00000d20: KECCAK256 00000d21: XOR 00000d22: XOR 00000d23: XOR 00000d24: XOR 00000d25: XOR 00000d26: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000d43: NOT 00000d44: AND 00000d45: DUP3 00000d46: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000d63: NOT 00000d64: AND 00000d65: EQ 00000d66: JUMPDEST 00000d67: DUP1 00000d68: PUSH2 0x0de0 00000d6b: JUMPI 00000d6c: POP 00000d6d: PUSH1 0x40 00000d6f: MLOAD 00000d70: DUP1 00000d71: DUP1 00000d72: PUSH2 0x23ae 00000d75: PUSH1 0x40 00000d77: SWAP2 00000d78: CODECOPY 00000d79: PUSH1 0x40 00000d7b: ADD 00000d7c: SWAP1 00000d7d: POP 00000d7e: PUSH1 0x40 00000d80: MLOAD 00000d81: DUP1 00000d82: SWAP2 00000d83: SUB 00000d84: SWAP1 00000d85: KECCAK256 00000d86: PUSH1 0x40 00000d88: MLOAD 00000d89: DUP1 00000d8a: DUP1 00000d8b: PUSH2 0x243c 00000d8e: PUSH1 0x42 00000d90: SWAP2 00000d91: CODECOPY 00000d92: PUSH1 0x42 00000d94: ADD 00000d95: SWAP1 00000d96: POP 00000d97: PUSH1 0x40 00000d99: MLOAD 00000d9a: DUP1 00000d9b: SWAP2 00000d9c: SUB 00000d9d: SWAP1 00000d9e: KECCAK256 00000d9f: XOR 00000da0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000dbd: NOT 00000dbe: AND 00000dbf: DUP3 00000dc0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000ddd: NOT 00000dde: AND 00000ddf: EQ 00000de0: JUMPDEST 00000de1: SWAP1 00000de2: POP 00000de3: SWAP2 00000de4: SWAP1 00000de5: POP 00000de6: JUMP 00000de7: JUMPDEST 00000de8: PUSH2 0x0def 00000deb: PUSH2 0x1482 00000dee: JUMP 00000def: JUMPDEST 00000df0: PUSH2 0x0df8 00000df3: JUMPI 00000df4: PUSH1 0x00 00000df6: DUP1 00000df7: REVERT 00000df8: JUMPDEST 00000df9: CALLER 00000dfa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e0f: AND 00000e10: PUSH2 0x08fc 00000e13: SELFBALANCE 00000e14: SWAP1 00000e15: DUP2 00000e16: ISZERO 00000e17: MUL 00000e18: SWAP1 00000e19: PUSH1 0x40 00000e1b: MLOAD 00000e1c: PUSH1 0x00 00000e1e: PUSH1 0x40 00000e20: MLOAD 00000e21: DUP1 00000e22: DUP4 00000e23: SUB 00000e24: DUP2 00000e25: DUP6 00000e26: DUP9 00000e27: DUP9 00000e28: CALL 00000e29: SWAP4 00000e2a: POP 00000e2b: POP 00000e2c: POP 00000e2d: POP 00000e2e: ISZERO 00000e2f: DUP1 00000e30: ISZERO 00000e31: PUSH2 0x0e3e 00000e34: JUMPI 00000e35: RETURNDATASIZE 00000e36: PUSH1 0x00 00000e38: DUP1 00000e39: RETURNDATACOPY 00000e3a: RETURNDATASIZE 00000e3b: PUSH1 0x00 00000e3d: REVERT 00000e3e: JUMPDEST 00000e3f: POP 00000e40: JUMP 00000e41: JUMPDEST 00000e42: PUSH1 0x00 00000e44: DUP1 00000e45: DUP7 00000e46: DUP1 00000e47: MLOAD 00000e48: SWAP1 00000e49: PUSH1 0x20 00000e4b: ADD 00000e4c: KECCAK256 00000e4d: SWAP1 00000e4e: POP 00000e4f: PUSH1 0x00 00000e51: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e66: AND 00000e67: DUP5 00000e68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e7d: AND 00000e7e: EQ 00000e7f: DUP1 00000e80: ISZERO 00000e81: PUSH2 0x0eb6 00000e84: JUMPI 00000e85: POP 00000e86: PUSH1 0x00 00000e88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e9d: AND 00000e9e: DUP4 00000e9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eb4: AND 00000eb5: EQ 00000eb6: JUMPDEST 00000eb7: ISZERO 00000eb8: PUSH2 0x0f29 00000ebb: JUMPI 00000ebc: DUP1 00000ebd: DUP7 00000ebe: DUP7 00000ebf: PUSH1 0x40 00000ec1: MLOAD 00000ec2: PUSH1 0x20 00000ec4: ADD 00000ec5: DUP1 00000ec6: DUP5 00000ec7: DUP2 00000ec8: MSTORE 00000ec9: PUSH1 0x20 00000ecb: ADD 00000ecc: DUP4 00000ecd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ee2: AND 00000ee3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ef8: AND 00000ef9: PUSH1 0x60 00000efb: SHL 00000efc: DUP2 00000efd: MSTORE 00000efe: PUSH1 0x14 00000f00: ADD 00000f01: DUP3 00000f02: DUP2 00000f03: MSTORE 00000f04: PUSH1 0x20 00000f06: ADD 00000f07: SWAP4 00000f08: POP 00000f09: POP 00000f0a: POP 00000f0b: POP 00000f0c: PUSH1 0x40 00000f0e: MLOAD 00000f0f: PUSH1 0x20 00000f11: DUP2 00000f12: DUP4 00000f13: SUB 00000f14: SUB 00000f15: DUP2 00000f16: MSTORE 00000f17: SWAP1 00000f18: PUSH1 0x40 00000f1a: MSTORE 00000f1b: DUP1 00000f1c: MLOAD 00000f1d: SWAP1 00000f1e: PUSH1 0x20 00000f20: ADD 00000f21: KECCAK256 00000f22: SWAP2 00000f23: POP 00000f24: POP 00000f25: PUSH2 0x103b 00000f28: JUMP 00000f29: JUMPDEST 00000f2a: PUSH1 0x00 00000f2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f41: AND 00000f42: DUP5 00000f43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f58: AND 00000f59: EQ 00000f5a: ISZERO 00000f5b: PUSH2 0x0f63 00000f5e: JUMPI 00000f5f: PUSH1 0x00 00000f61: DUP1 00000f62: REVERT 00000f63: JUMPDEST 00000f64: DUP1 00000f65: DUP7 00000f66: DUP6 00000f67: DUP6 00000f68: DUP9 00000f69: PUSH1 0x40 00000f6b: MLOAD 00000f6c: PUSH1 0x20 00000f6e: ADD 00000f6f: DUP1 00000f70: DUP7 00000f71: DUP2 00000f72: MSTORE 00000f73: PUSH1 0x20 00000f75: ADD 00000f76: DUP6 00000f77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f8c: AND 00000f8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fa2: AND 00000fa3: PUSH1 0x60 00000fa5: SHL 00000fa6: DUP2 00000fa7: MSTORE 00000fa8: PUSH1 0x14 00000faa: ADD 00000fab: DUP5 00000fac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fc1: AND 00000fc2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fd7: AND 00000fd8: PUSH1 0x60 00000fda: SHL 00000fdb: DUP2 00000fdc: MSTORE 00000fdd: PUSH1 0x14 00000fdf: ADD 00000fe0: DUP4 00000fe1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ff6: AND 00000ff7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000100c: AND 0000100d: PUSH1 0x60 0000100f: SHL 00001010: DUP2 00001011: MSTORE 00001012: PUSH1 0x14 00001014: ADD 00001015: DUP3 00001016: DUP2 00001017: MSTORE 00001018: PUSH1 0x20 0000101a: ADD 0000101b: SWAP6 0000101c: POP 0000101d: POP 0000101e: POP 0000101f: POP 00001020: POP 00001021: POP 00001022: PUSH1 0x40 00001024: MLOAD 00001025: PUSH1 0x20 00001027: DUP2 00001028: DUP4 00001029: SUB 0000102a: SUB 0000102b: DUP2 0000102c: MSTORE 0000102d: SWAP1 0000102e: PUSH1 0x40 00001030: MSTORE 00001031: DUP1 00001032: MLOAD 00001033: SWAP1 00001034: PUSH1 0x20 00001036: ADD 00001037: KECCAK256 00001038: SWAP2 00001039: POP 0000103a: POP 0000103b: JUMPDEST 0000103c: SWAP6 0000103d: SWAP5 0000103e: POP 0000103f: POP 00001040: POP 00001041: POP 00001042: POP 00001043: JUMP 00001044: JUMPDEST 00001045: PUSH2 0x104c 00001048: PUSH2 0x1482 0000104b: JUMP 0000104c: JUMPDEST 0000104d: PUSH2 0x1055 00001050: JUMPI 00001051: PUSH1 0x00 00001053: DUP1 00001054: REVERT 00001055: JUMPDEST 00001056: DUP1 00001057: PUSH1 0x02 00001059: PUSH1 0x00 0000105b: PUSH2 0x0100 0000105e: EXP 0000105f: DUP2 00001060: SLOAD 00001061: DUP2 00001062: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001077: MUL 00001078: NOT 00001079: AND 0000107a: SWAP1 0000107b: DUP4 0000107c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001091: AND 00001092: MUL 00001093: OR 00001094: SWAP1 00001095: SSTORE 00001096: POP 00001097: PUSH1 0x02 00001099: PUSH1 0x00 0000109b: SWAP1 0000109c: SLOAD 0000109d: SWAP1 0000109e: PUSH2 0x0100 000010a1: EXP 000010a2: SWAP1 000010a3: DIV 000010a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010b9: AND 000010ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010cf: AND 000010d0: PUSH32 0xf261845a790fe29bbd6631e2ca4a5bdc83e6eed7c3271d9590d97287e00e9123 000010f1: PUSH1 0x40 000010f3: MLOAD 000010f4: PUSH1 0x40 000010f6: MLOAD 000010f7: DUP1 000010f8: SWAP2 000010f9: SUB 000010fa: SWAP1 000010fb: LOG2 000010fc: POP 000010fd: JUMP 000010fe: JUMPDEST 000010ff: PUSH2 0x1106 00001102: PUSH2 0x1482 00001105: JUMP 00001106: JUMPDEST 00001107: PUSH2 0x110f 0000110a: JUMPI 0000110b: PUSH1 0x00 0000110d: DUP1 0000110e: REVERT 0000110f: JUMPDEST 00001110: PUSH1 0x00 00001112: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001127: AND 00001128: PUSH1 0x00 0000112a: DUP1 0000112b: SWAP1 0000112c: SLOAD 0000112d: SWAP1 0000112e: PUSH2 0x0100 00001131: EXP 00001132: SWAP1 00001133: DIV 00001134: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001149: AND 0000114a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000115f: AND 00001160: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001181: PUSH1 0x40 00001183: MLOAD 00001184: PUSH1 0x40 00001186: MLOAD 00001187: DUP1 00001188: SWAP2 00001189: SUB 0000118a: SWAP1 0000118b: LOG3 0000118c: PUSH1 0x00 0000118e: DUP1 0000118f: PUSH1 0x00 00001191: PUSH2 0x0100 00001194: EXP 00001195: DUP2 00001196: SLOAD 00001197: DUP2 00001198: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011ad: MUL 000011ae: NOT 000011af: AND 000011b0: SWAP1 000011b1: DUP4 000011b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011c7: AND 000011c8: MUL 000011c9: OR 000011ca: SWAP1 000011cb: SSTORE 000011cc: POP 000011cd: JUMP 000011ce: JUMPDEST 000011cf: PUSH2 0x11d6 000011d2: PUSH2 0x1482 000011d5: JUMP 000011d6: JUMPDEST 000011d7: PUSH2 0x11df 000011da: JUMPI 000011db: PUSH1 0x00 000011dd: DUP1 000011de: REVERT 000011df: JUMPDEST 000011e0: DUP2 000011e1: PUSH1 0x03 000011e3: DUP2 000011e4: SWAP1 000011e5: SSTORE 000011e6: POP 000011e7: DUP1 000011e8: PUSH1 0x04 000011ea: DUP2 000011eb: SWAP1 000011ec: SSTORE 000011ed: POP 000011ee: POP 000011ef: POP 000011f0: JUMP 000011f1: JUMPDEST 000011f2: PUSH1 0x05 000011f4: PUSH1 0x20 000011f6: MSTORE 000011f7: DUP1 000011f8: PUSH1 0x00 000011fa: MSTORE 000011fb: PUSH1 0x40 000011fd: PUSH1 0x00 000011ff: KECCAK256 00001200: PUSH1 0x00 00001202: SWAP2 00001203: POP 00001204: SWAP1 00001205: POP 00001206: SLOAD 00001207: DUP2 00001208: JUMP 00001209: JUMPDEST 0000120a: PUSH1 0x00 0000120c: DUP1 0000120d: DUP4 0000120e: DUP1 0000120f: MLOAD 00001210: SWAP1 00001211: PUSH1 0x20 00001213: ADD 00001214: KECCAK256 00001215: SWAP1 00001216: POP 00001217: PUSH1 0x02 00001219: PUSH1 0x00 0000121b: SWAP1 0000121c: SLOAD 0000121d: SWAP1 0000121e: PUSH2 0x0100 00001221: EXP 00001222: SWAP1 00001223: DIV 00001224: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001239: AND 0000123a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000124f: AND 00001250: PUSH4 0x50e9a715 00001255: DUP6 00001256: PUSH1 0x01 00001258: PUSH1 0x00 0000125a: SWAP1 0000125b: SLOAD 0000125c: SWAP1 0000125d: PUSH2 0x0100 00001260: EXP 00001261: SWAP1 00001262: DIV 00001263: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001278: AND 00001279: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000128e: AND 0000128f: PUSH4 0xd6e4fa86 00001294: DUP6 00001295: PUSH1 0x00 00001297: SHR 00001298: PUSH1 0x40 0000129a: MLOAD 0000129b: DUP3 0000129c: PUSH4 0xffffffff 000012a1: AND 000012a2: PUSH1 0xe0 000012a4: SHL 000012a5: DUP2 000012a6: MSTORE 000012a7: PUSH1 0x04 000012a9: ADD 000012aa: DUP1 000012ab: DUP3 000012ac: DUP2 000012ad: MSTORE 000012ae: PUSH1 0x20 000012b0: ADD 000012b1: SWAP2 000012b2: POP 000012b3: POP 000012b4: PUSH1 0x20 000012b6: PUSH1 0x40 000012b8: MLOAD 000012b9: DUP1 000012ba: DUP4 000012bb: SUB 000012bc: DUP2 000012bd: DUP7 000012be: DUP1 000012bf: EXTCODESIZE 000012c0: ISZERO 000012c1: DUP1 000012c2: ISZERO 000012c3: PUSH2 0x12cb 000012c6: JUMPI 000012c7: PUSH1 0x00 000012c9: DUP1 000012ca: REVERT 000012cb: JUMPDEST 000012cc: POP 000012cd: GAS 000012ce: STATICCALL 000012cf: ISZERO 000012d0: DUP1 000012d1: ISZERO 000012d2: PUSH2 0x12df 000012d5: JUMPI 000012d6: RETURNDATASIZE 000012d7: PUSH1 0x00 000012d9: DUP1 000012da: RETURNDATACOPY 000012db: RETURNDATASIZE 000012dc: PUSH1 0x00 000012de: REVERT 000012df: JUMPDEST 000012e0: POP 000012e1: POP 000012e2: POP 000012e3: POP 000012e4: PUSH1 0x40 000012e6: MLOAD 000012e7: RETURNDATASIZE 000012e8: PUSH1 0x20 000012ea: DUP2 000012eb: LT 000012ec: ISZERO 000012ed: PUSH2 0x12f5 000012f0: JUMPI 000012f1: PUSH1 0x00 000012f3: DUP1 000012f4: REVERT 000012f5: JUMPDEST 000012f6: DUP2 000012f7: ADD 000012f8: SWAP1 000012f9: DUP1 000012fa: DUP1 000012fb: MLOAD 000012fc: SWAP1 000012fd: PUSH1 0x20 000012ff: ADD 00001300: SWAP1 00001301: SWAP3 00001302: SWAP2 00001303: SWAP1 00001304: POP 00001305: POP 00001306: POP 00001307: DUP7 00001308: PUSH1 0x40 0000130a: MLOAD 0000130b: DUP5 0000130c: PUSH4 0xffffffff 00001311: AND 00001312: PUSH1 0xe0 00001314: SHL 00001315: DUP2 00001316: MSTORE 00001317: PUSH1 0x04 00001319: ADD 0000131a: DUP1 0000131b: DUP1 0000131c: PUSH1 0x20 0000131e: ADD 0000131f: DUP5 00001320: DUP2 00001321: MSTORE 00001322: PUSH1 0x20 00001324: ADD 00001325: DUP4 00001326: DUP2 00001327: MSTORE 00001328: PUSH1 0x20 0000132a: ADD 0000132b: DUP3 0000132c: DUP2 0000132d: SUB 0000132e: DUP3 0000132f: MSTORE 00001330: DUP6 00001331: DUP2 00001332: DUP2 00001333: MLOAD 00001334: DUP2 00001335: MSTORE 00001336: PUSH1 0x20 00001338: ADD 00001339: SWAP2 0000133a: POP 0000133b: DUP1 0000133c: MLOAD 0000133d: SWAP1 0000133e: PUSH1 0x20 00001340: ADD 00001341: SWAP1 00001342: DUP1 00001343: DUP4 00001344: DUP4 00001345: PUSH1 0x00 00001347: JUMPDEST 00001348: DUP4 00001349: DUP2 0000134a: LT 0000134b: ISZERO 0000134c: PUSH2 0x1362 0000134f: JUMPI 00001350: DUP1 00001351: DUP3 00001352: ADD 00001353: MLOAD 00001354: DUP2 00001355: DUP5 00001356: ADD 00001357: MSTORE 00001358: PUSH1 0x20 0000135a: DUP2 0000135b: ADD 0000135c: SWAP1 0000135d: POP 0000135e: PUSH2 0x1347 00001361: JUMP 00001362: JUMPDEST 00001363: POP 00001364: POP 00001365: POP 00001366: POP 00001367: SWAP1 00001368: POP 00001369: SWAP1 0000136a: DUP2 0000136b: ADD 0000136c: SWAP1 0000136d: PUSH1 0x1f 0000136f: AND 00001370: DUP1 00001371: ISZERO 00001372: PUSH2 0x138f 00001375: JUMPI 00001376: DUP1 00001377: DUP3 00001378: SUB 00001379: DUP1 0000137a: MLOAD 0000137b: PUSH1 0x01 0000137d: DUP4 0000137e: PUSH1 0x20 00001380: SUB 00001381: PUSH2 0x0100 00001384: EXP 00001385: SUB 00001386: NOT 00001387: AND 00001388: DUP2 00001389: MSTORE 0000138a: PUSH1 0x20 0000138c: ADD 0000138d: SWAP2 0000138e: POP 0000138f: JUMPDEST 00001390: POP 00001391: SWAP5 00001392: POP 00001393: POP 00001394: POP 00001395: POP 00001396: POP 00001397: PUSH1 0x20 00001399: PUSH1 0x40 0000139b: MLOAD 0000139c: DUP1 0000139d: DUP4 0000139e: SUB 0000139f: DUP2 000013a0: DUP7 000013a1: DUP1 000013a2: EXTCODESIZE 000013a3: ISZERO 000013a4: DUP1 000013a5: ISZERO 000013a6: PUSH2 0x13ae 000013a9: JUMPI 000013aa: PUSH1 0x00 000013ac: DUP1 000013ad: REVERT 000013ae: JUMPDEST 000013af: POP 000013b0: GAS 000013b1: STATICCALL 000013b2: ISZERO 000013b3: DUP1 000013b4: ISZERO 000013b5: PUSH2 0x13c2 000013b8: JUMPI 000013b9: RETURNDATASIZE 000013ba: PUSH1 0x00 000013bc: DUP1 000013bd: RETURNDATACOPY 000013be: RETURNDATASIZE 000013bf: PUSH1 0x00 000013c1: REVERT 000013c2: JUMPDEST 000013c3: POP 000013c4: POP 000013c5: POP 000013c6: POP 000013c7: PUSH1 0x40 000013c9: MLOAD 000013ca: RETURNDATASIZE 000013cb: PUSH1 0x20 000013cd: DUP2 000013ce: LT 000013cf: ISZERO 000013d0: PUSH2 0x13d8 000013d3: JUMPI 000013d4: PUSH1 0x00 000013d6: DUP1 000013d7: REVERT 000013d8: JUMPDEST 000013d9: DUP2 000013da: ADD 000013db: SWAP1 000013dc: DUP1 000013dd: DUP1 000013de: MLOAD 000013df: SWAP1 000013e0: PUSH1 0x20 000013e2: ADD 000013e3: SWAP1 000013e4: SWAP3 000013e5: SWAP2 000013e6: SWAP1 000013e7: POP 000013e8: POP 000013e9: POP 000013ea: SWAP2 000013eb: POP 000013ec: POP 000013ed: SWAP3 000013ee: SWAP2 000013ef: POP 000013f0: POP 000013f1: JUMP 000013f2: JUMPDEST 000013f3: PUSH2 0x1445 000013f6: DUP6 000013f7: DUP6 000013f8: DUP1 000013f9: DUP1 000013fa: PUSH1 0x1f 000013fc: ADD 000013fd: PUSH1 0x20 000013ff: DUP1 00001400: SWAP2 00001401: DIV 00001402: MUL 00001403: PUSH1 0x20 00001405: ADD 00001406: PUSH1 0x40 00001408: MLOAD 00001409: SWAP1 0000140a: DUP2 0000140b: ADD 0000140c: PUSH1 0x40 0000140e: MSTORE 0000140f: DUP1 00001410: SWAP4 00001411: SWAP3 00001412: SWAP2 00001413: SWAP1 00001414: DUP2 00001415: DUP2 00001416: MSTORE 00001417: PUSH1 0x20 00001419: ADD 0000141a: DUP4 0000141b: DUP4 0000141c: DUP1 0000141d: DUP3 0000141e: DUP5 0000141f: CALLDATACOPY 00001420: PUSH1 0x00 00001422: DUP2 00001423: DUP5 00001424: ADD 00001425: MSTORE 00001426: PUSH1 0x1f 00001428: NOT 00001429: PUSH1 0x1f 0000142b: DUP3 0000142c: ADD 0000142d: AND 0000142e: SWAP1 0000142f: POP 00001430: DUP1 00001431: DUP4 00001432: ADD 00001433: SWAP3 00001434: POP 00001435: POP 00001436: POP 00001437: POP 00001438: POP 00001439: POP 0000143a: POP 0000143b: DUP5 0000143c: DUP5 0000143d: DUP5 0000143e: PUSH1 0x00 00001440: DUP1 00001441: PUSH2 0x184f 00001444: JUMP 00001445: JUMPDEST 00001446: POP 00001447: POP 00001448: POP 00001449: POP 0000144a: POP 0000144b: JUMP 0000144c: JUMPDEST 0000144d: PUSH3 0x24ea00 00001451: DUP2 00001452: JUMP 00001453: JUMPDEST 00001454: PUSH1 0x03 00001456: SLOAD 00001457: DUP2 00001458: JUMP 00001459: JUMPDEST 0000145a: PUSH1 0x00 0000145c: DUP1 0000145d: PUSH1 0x00 0000145f: SWAP1 00001460: SLOAD 00001461: SWAP1 00001462: PUSH2 0x0100 00001465: EXP 00001466: SWAP1 00001467: DIV 00001468: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000147d: AND 0000147e: SWAP1 0000147f: POP 00001480: SWAP1 00001481: JUMP 00001482: JUMPDEST 00001483: PUSH1 0x00 00001485: DUP1 00001486: PUSH1 0x00 00001488: SWAP1 00001489: SLOAD 0000148a: SWAP1 0000148b: PUSH2 0x0100 0000148e: EXP 0000148f: SWAP1 00001490: DIV 00001491: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014a6: AND 000014a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014bc: AND 000014bd: CALLER 000014be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014d3: AND 000014d4: EQ 000014d5: SWAP1 000014d6: POP 000014d7: SWAP1 000014d8: JUMP 000014d9: JUMPDEST 000014da: PUSH1 0x00 000014dc: PUSH1 0x03 000014de: PUSH2 0x14e6 000014e1: DUP4 000014e2: PUSH2 0x2097 000014e5: JUMP 000014e6: JUMPDEST 000014e7: LT 000014e8: ISZERO 000014e9: SWAP1 000014ea: POP 000014eb: SWAP2 000014ec: SWAP1 000014ed: POP 000014ee: JUMP 000014ef: JUMPDEST 000014f0: PUSH1 0x00 000014f2: PUSH2 0x153f 000014f5: DUP5 000014f6: DUP5 000014f7: DUP1 000014f8: DUP1 000014f9: PUSH1 0x1f 000014fb: ADD 000014fc: PUSH1 0x20 000014fe: DUP1 000014ff: SWAP2 00001500: DIV 00001501: MUL 00001502: PUSH1 0x20 00001504: ADD 00001505: PUSH1 0x40 00001507: MLOAD 00001508: SWAP1 00001509: DUP2 0000150a: ADD 0000150b: PUSH1 0x40 0000150d: MSTORE 0000150e: DUP1 0000150f: SWAP4 00001510: SWAP3 00001511: SWAP2 00001512: SWAP1 00001513: DUP2 00001514: DUP2 00001515: MSTORE 00001516: PUSH1 0x20 00001518: ADD 00001519: DUP4 0000151a: DUP4 0000151b: DUP1 0000151c: DUP3 0000151d: DUP5 0000151e: CALLDATACOPY 0000151f: PUSH1 0x00 00001521: DUP2 00001522: DUP5 00001523: ADD 00001524: MSTORE 00001525: PUSH1 0x1f 00001527: NOT 00001528: PUSH1 0x1f 0000152a: DUP3 0000152b: ADD 0000152c: AND 0000152d: SWAP1 0000152e: POP 0000152f: DUP1 00001530: DUP4 00001531: ADD 00001532: SWAP3 00001533: POP 00001534: POP 00001535: POP 00001536: POP 00001537: POP 00001538: POP 00001539: POP 0000153a: DUP4 0000153b: PUSH2 0x1209 0000153e: JUMP 0000153f: JUMPDEST 00001540: SWAP1 00001541: POP 00001542: DUP1 00001543: CALLVALUE 00001544: LT 00001545: ISZERO 00001546: PUSH2 0x154e 00001549: JUMPI 0000154a: PUSH1 0x00 0000154c: DUP1 0000154d: REVERT 0000154e: JUMPDEST 0000154f: PUSH1 0x00 00001551: DUP5 00001552: DUP5 00001553: PUSH1 0x40 00001555: MLOAD 00001556: DUP1 00001557: DUP4 00001558: DUP4 00001559: DUP1 0000155a: DUP3 0000155b: DUP5 0000155c: CALLDATACOPY 0000155d: DUP1 0000155e: DUP4 0000155f: ADD 00001560: SWAP3 00001561: POP 00001562: POP 00001563: POP 00001564: SWAP3 00001565: POP 00001566: POP 00001567: POP 00001568: PUSH1 0x40 0000156a: MLOAD 0000156b: DUP1 0000156c: SWAP2 0000156d: SUB 0000156e: SWAP1 0000156f: KECCAK256 00001570: SWAP1 00001571: POP 00001572: PUSH1 0x00 00001574: PUSH1 0x01 00001576: PUSH1 0x00 00001578: SWAP1 00001579: SLOAD 0000157a: SWAP1 0000157b: PUSH2 0x0100 0000157e: EXP 0000157f: SWAP1 00001580: DIV 00001581: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001596: AND 00001597: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015ac: AND 000015ad: PUSH4 0xc475abff 000015b2: DUP4 000015b3: PUSH1 0x00 000015b5: SHR 000015b6: DUP7 000015b7: PUSH1 0x40 000015b9: MLOAD 000015ba: DUP4 000015bb: PUSH4 0xffffffff 000015c0: AND 000015c1: PUSH1 0xe0 000015c3: SHL 000015c4: DUP2 000015c5: MSTORE 000015c6: PUSH1 0x04 000015c8: ADD 000015c9: DUP1 000015ca: DUP4 000015cb: DUP2 000015cc: MSTORE 000015cd: PUSH1 0x20 000015cf: ADD 000015d0: DUP3 000015d1: DUP2 000015d2: MSTORE 000015d3: PUSH1 0x20 000015d5: ADD 000015d6: SWAP3 000015d7: POP 000015d8: POP 000015d9: POP 000015da: PUSH1 0x20 000015dc: PUSH1 0x40 000015de: MLOAD 000015df: DUP1 000015e0: DUP4 000015e1: SUB 000015e2: DUP2 000015e3: PUSH1 0x00 000015e5: DUP8 000015e6: DUP1 000015e7: EXTCODESIZE 000015e8: ISZERO 000015e9: DUP1 000015ea: ISZERO 000015eb: PUSH2 0x15f3 000015ee: JUMPI 000015ef: PUSH1 0x00 000015f1: DUP1 000015f2: REVERT 000015f3: JUMPDEST 000015f4: POP 000015f5: GAS 000015f6: CALL 000015f7: ISZERO 000015f8: DUP1 000015f9: ISZERO 000015fa: PUSH2 0x1607 000015fd: JUMPI 000015fe: RETURNDATASIZE 000015ff: PUSH1 0x00 00001601: DUP1 00001602: RETURNDATACOPY 00001603: RETURNDATASIZE 00001604: PUSH1 0x00 00001606: REVERT 00001607: JUMPDEST 00001608: POP 00001609: POP 0000160a: POP 0000160b: POP 0000160c: PUSH1 0x40 0000160e: MLOAD 0000160f: RETURNDATASIZE 00001610: PUSH1 0x20 00001612: DUP2 00001613: LT 00001614: ISZERO 00001615: PUSH2 0x161d 00001618: JUMPI 00001619: PUSH1 0x00 0000161b: DUP1 0000161c: REVERT 0000161d: JUMPDEST 0000161e: DUP2 0000161f: ADD 00001620: SWAP1 00001621: DUP1 00001622: DUP1 00001623: MLOAD 00001624: SWAP1 00001625: PUSH1 0x20 00001627: ADD 00001628: SWAP1 00001629: SWAP3 0000162a: SWAP2 0000162b: SWAP1 0000162c: POP 0000162d: POP 0000162e: POP 0000162f: SWAP1 00001630: POP 00001631: DUP3 00001632: CALLVALUE 00001633: GT 00001634: ISZERO 00001635: PUSH2 0x1682 00001638: JUMPI 00001639: CALLER 0000163a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000164f: AND 00001650: PUSH2 0x08fc 00001653: DUP5 00001654: CALLVALUE 00001655: SUB 00001656: SWAP1 00001657: DUP2 00001658: ISZERO 00001659: MUL 0000165a: SWAP1 0000165b: PUSH1 0x40 0000165d: MLOAD 0000165e: PUSH1 0x00 00001660: PUSH1 0x40 00001662: MLOAD 00001663: DUP1 00001664: DUP4 00001665: SUB 00001666: DUP2 00001667: DUP6 00001668: DUP9 00001669: DUP9 0000166a: CALL 0000166b: SWAP4 0000166c: POP 0000166d: POP 0000166e: POP 0000166f: POP 00001670: ISZERO 00001671: DUP1 00001672: ISZERO 00001673: PUSH2 0x1680 00001676: JUMPI 00001677: RETURNDATASIZE 00001678: PUSH1 0x00 0000167a: DUP1 0000167b: RETURNDATACOPY 0000167c: RETURNDATASIZE 0000167d: PUSH1 0x00 0000167f: REVERT 00001680: JUMPDEST 00001681: POP 00001682: JUMPDEST 00001683: DUP2 00001684: PUSH32 0x3da24c024582931cfaf8267d8ed24d13a82a8068d5bd337d30ec45cea4e506ae 000016a5: DUP8 000016a6: DUP8 000016a7: DUP7 000016a8: DUP6 000016a9: PUSH1 0x40 000016ab: MLOAD 000016ac: DUP1 000016ad: DUP1 000016ae: PUSH1 0x20 000016b0: ADD 000016b1: DUP5 000016b2: DUP2 000016b3: MSTORE 000016b4: PUSH1 0x20 000016b6: ADD 000016b7: DUP4 000016b8: DUP2 000016b9: MSTORE 000016ba: PUSH1 0x20 000016bc: ADD 000016bd: DUP3 000016be: DUP2 000016bf: SUB 000016c0: DUP3 000016c1: MSTORE 000016c2: DUP7 000016c3: DUP7 000016c4: DUP3 000016c5: DUP2 000016c6: DUP2 000016c7: MSTORE 000016c8: PUSH1 0x20 000016ca: ADD 000016cb: SWAP3 000016cc: POP 000016cd: DUP1 000016ce: DUP3 000016cf: DUP5 000016d0: CALLDATACOPY 000016d1: PUSH1 0x00 000016d3: DUP2 000016d4: DUP5 000016d5: ADD 000016d6: MSTORE 000016d7: PUSH1 0x1f 000016d9: NOT 000016da: PUSH1 0x1f 000016dc: DUP3 000016dd: ADD 000016de: AND 000016df: SWAP1 000016e0: POP 000016e1: DUP1 000016e2: DUP4 000016e3: ADD 000016e4: SWAP3 000016e5: POP 000016e6: POP 000016e7: POP 000016e8: SWAP6 000016e9: POP 000016ea: POP 000016eb: POP 000016ec: POP 000016ed: POP 000016ee: POP 000016ef: PUSH1 0x40 000016f1: MLOAD 000016f2: DUP1 000016f3: SWAP2 000016f4: SUB 000016f5: SWAP1 000016f6: LOG2 000016f7: POP 000016f8: POP 000016f9: POP 000016fa: POP 000016fb: POP 000016fc: POP 000016fd: JUMP 000016fe: JUMPDEST 000016ff: PUSH1 0x00 00001701: DUP1 00001702: DUP3 00001703: DUP1 00001704: MLOAD 00001705: SWAP1 00001706: PUSH1 0x20 00001708: ADD 00001709: KECCAK256 0000170a: SWAP1 0000170b: POP 0000170c: PUSH2 0x1714 0000170f: DUP4 00001710: PUSH2 0x14d9 00001713: JUMP 00001714: JUMPDEST 00001715: DUP1 00001716: ISZERO 00001717: PUSH2 0x17cd 0000171a: JUMPI 0000171b: POP 0000171c: PUSH1 0x01 0000171e: PUSH1 0x00 00001720: SWAP1 00001721: SLOAD 00001722: SWAP1 00001723: PUSH2 0x0100 00001726: EXP 00001727: SWAP1 00001728: DIV 00001729: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000173e: AND 0000173f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001754: AND 00001755: PUSH4 0x96e494e8 0000175a: DUP3 0000175b: PUSH1 0x00 0000175d: SHR 0000175e: PUSH1 0x40 00001760: MLOAD 00001761: DUP3 00001762: PUSH4 0xffffffff 00001767: AND 00001768: PUSH1 0xe0 0000176a: SHL 0000176b: DUP2 0000176c: MSTORE 0000176d: PUSH1 0x04 0000176f: ADD 00001770: DUP1 00001771: DUP3 00001772: DUP2 00001773: MSTORE 00001774: PUSH1 0x20 00001776: ADD 00001777: SWAP2 00001778: POP 00001779: POP 0000177a: PUSH1 0x20 0000177c: PUSH1 0x40 0000177e: MLOAD 0000177f: DUP1 00001780: DUP4 00001781: SUB 00001782: DUP2 00001783: DUP7 00001784: DUP1 00001785: EXTCODESIZE 00001786: ISZERO 00001787: DUP1 00001788: ISZERO 00001789: PUSH2 0x1791 0000178c: JUMPI 0000178d: PUSH1 0x00 0000178f: DUP1 00001790: REVERT 00001791: JUMPDEST 00001792: POP 00001793: GAS 00001794: STATICCALL 00001795: ISZERO 00001796: DUP1 00001797: ISZERO 00001798: PUSH2 0x17a5 0000179b: JUMPI 0000179c: RETURNDATASIZE 0000179d: PUSH1 0x00 0000179f: DUP1 000017a0: RETURNDATACOPY 000017a1: RETURNDATASIZE 000017a2: PUSH1 0x00 000017a4: REVERT 000017a5: JUMPDEST 000017a6: POP 000017a7: POP 000017a8: POP 000017a9: POP 000017aa: PUSH1 0x40 000017ac: MLOAD 000017ad: RETURNDATASIZE 000017ae: PUSH1 0x20 000017b0: DUP2 000017b1: LT 000017b2: ISZERO 000017b3: PUSH2 0x17bb 000017b6: JUMPI 000017b7: PUSH1 0x00 000017b9: DUP1 000017ba: REVERT 000017bb: JUMPDEST 000017bc: DUP2 000017bd: ADD 000017be: SWAP1 000017bf: DUP1 000017c0: DUP1 000017c1: MLOAD 000017c2: SWAP1 000017c3: PUSH1 0x20 000017c5: ADD 000017c6: SWAP1 000017c7: SWAP3 000017c8: SWAP2 000017c9: SWAP1 000017ca: POP 000017cb: POP 000017cc: POP 000017cd: JUMPDEST 000017ce: SWAP2 000017cf: POP 000017d0: POP 000017d1: SWAP2 000017d2: SWAP1 000017d3: POP 000017d4: JUMP 000017d5: JUMPDEST 000017d6: PUSH1 0x04 000017d8: SLOAD 000017d9: DUP2 000017da: JUMP 000017db: JUMPDEST 000017dc: TIMESTAMP 000017dd: PUSH1 0x04 000017df: SLOAD 000017e0: PUSH1 0x05 000017e2: PUSH1 0x00 000017e4: DUP5 000017e5: DUP2 000017e6: MSTORE 000017e7: PUSH1 0x20 000017e9: ADD 000017ea: SWAP1 000017eb: DUP2 000017ec: MSTORE 000017ed: PUSH1 0x20 000017ef: ADD 000017f0: PUSH1 0x00 000017f2: KECCAK256 000017f3: SLOAD 000017f4: ADD 000017f5: LT 000017f6: PUSH2 0x17fe 000017f9: JUMPI 000017fa: PUSH1 0x00 000017fc: DUP1 000017fd: REVERT 000017fe: JUMPDEST 000017ff: TIMESTAMP 00001800: PUSH1 0x05 00001802: PUSH1 0x00 00001804: DUP4 00001805: DUP2 00001806: MSTORE 00001807: PUSH1 0x20 00001809: ADD 0000180a: SWAP1 0000180b: DUP2 0000180c: MSTORE 0000180d: PUSH1 0x20 0000180f: ADD 00001810: PUSH1 0x00 00001812: KECCAK256 00001813: DUP2 00001814: SWAP1 00001815: SSTORE 00001816: POP 00001817: POP 00001818: JUMP 00001819: JUMPDEST 0000181a: PUSH2 0x1821 0000181d: PUSH2 0x1482 00001820: JUMP 00001821: JUMPDEST 00001822: PUSH2 0x182a 00001825: JUMPI 00001826: PUSH1 0x00 00001828: DUP1 00001829: REVERT 0000182a: JUMPDEST 0000182b: PUSH2 0x1833 0000182e: DUP2 0000182f: PUSH2 0x220d 00001832: JUMP 00001833: JUMPDEST 00001834: POP 00001835: JUMP 00001836: JUMPDEST 00001837: PUSH1 0x00 00001839: PUSH2 0x1846 0000183c: DUP5 0000183d: DUP5 0000183e: DUP5 0000183f: PUSH1 0x00 00001841: DUP1 00001842: PUSH2 0x0e41 00001845: JUMP 00001846: JUMPDEST 00001847: SWAP1 00001848: POP 00001849: SWAP4 0000184a: SWAP3 0000184b: POP 0000184c: POP 0000184d: POP 0000184e: JUMP 0000184f: JUMPDEST 00001850: PUSH1 0x00 00001852: PUSH2 0x185e 00001855: DUP8 00001856: DUP8 00001857: DUP7 00001858: DUP7 00001859: DUP7 0000185a: PUSH2 0x0e41 0000185d: JUMP 0000185e: JUMPDEST 0000185f: SWAP1 00001860: POP 00001861: PUSH1 0x00 00001863: PUSH2 0x186d 00001866: DUP9 00001867: DUP8 00001868: DUP5 00001869: PUSH2 0x2305 0000186c: JUMP 0000186d: JUMPDEST 0000186e: SWAP1 0000186f: POP 00001870: PUSH1 0x00 00001872: DUP9 00001873: DUP1 00001874: MLOAD 00001875: SWAP1 00001876: PUSH1 0x20 00001878: ADD 00001879: KECCAK256 0000187a: SWAP1 0000187b: POP 0000187c: PUSH1 0x00 0000187e: DUP2 0000187f: PUSH1 0x00 00001881: SHR 00001882: SWAP1 00001883: POP 00001884: PUSH1 0x00 00001886: DUP1 00001887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000189c: AND 0000189d: DUP8 0000189e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018b3: AND 000018b4: EQ 000018b5: PUSH2 0x1e4c 000018b8: JUMPI 000018b9: PUSH1 0x01 000018bb: PUSH1 0x00 000018bd: SWAP1 000018be: SLOAD 000018bf: SWAP1 000018c0: PUSH2 0x0100 000018c3: EXP 000018c4: SWAP1 000018c5: DIV 000018c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018db: AND 000018dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018f1: AND 000018f2: PUSH4 0xfca247ac 000018f7: DUP4 000018f8: ADDRESS 000018f9: DUP13 000018fa: PUSH1 0x40 000018fc: MLOAD 000018fd: DUP5 000018fe: PUSH4 0xffffffff 00001903: AND 00001904: PUSH1 0xe0 00001906: SHL 00001907: DUP2 00001908: MSTORE 00001909: PUSH1 0x04 0000190b: ADD 0000190c: DUP1 0000190d: DUP5 0000190e: DUP2 0000190f: MSTORE 00001910: PUSH1 0x20 00001912: ADD 00001913: DUP4 00001914: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001929: AND 0000192a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000193f: AND 00001940: DUP2 00001941: MSTORE 00001942: PUSH1 0x20 00001944: ADD 00001945: DUP3 00001946: DUP2 00001947: MSTORE 00001948: PUSH1 0x20 0000194a: ADD 0000194b: SWAP4 0000194c: POP 0000194d: POP 0000194e: POP 0000194f: POP 00001950: PUSH1 0x20 00001952: PUSH1 0x40 00001954: MLOAD 00001955: DUP1 00001956: DUP4 00001957: SUB 00001958: DUP2 00001959: PUSH1 0x00 0000195b: DUP8 0000195c: DUP1 0000195d: EXTCODESIZE 0000195e: ISZERO 0000195f: DUP1 00001960: ISZERO 00001961: PUSH2 0x1969 00001964: JUMPI 00001965: PUSH1 0x00 00001967: DUP1 00001968: REVERT 00001969: JUMPDEST 0000196a: POP 0000196b: GAS 0000196c: CALL 0000196d: ISZERO 0000196e: DUP1 0000196f: ISZERO 00001970: PUSH2 0x197d 00001973: JUMPI 00001974: RETURNDATASIZE 00001975: PUSH1 0x00 00001977: DUP1 00001978: RETURNDATACOPY 00001979: RETURNDATASIZE 0000197a: PUSH1 0x00 0000197c: REVERT 0000197d: JUMPDEST 0000197e: POP 0000197f: POP 00001980: POP 00001981: POP 00001982: PUSH1 0x40 00001984: MLOAD 00001985: RETURNDATASIZE 00001986: PUSH1 0x20 00001988: DUP2 00001989: LT 0000198a: ISZERO 0000198b: PUSH2 0x1993 0000198e: JUMPI 0000198f: PUSH1 0x00 00001991: DUP1 00001992: REVERT 00001993: JUMPDEST 00001994: DUP2 00001995: ADD 00001996: SWAP1 00001997: DUP1 00001998: DUP1 00001999: MLOAD 0000199a: SWAP1 0000199b: PUSH1 0x20 0000199d: ADD 0000199e: SWAP1 0000199f: SWAP3 000019a0: SWAP2 000019a1: SWAP1 000019a2: POP 000019a3: POP 000019a4: POP 000019a5: SWAP1 000019a6: POP 000019a7: PUSH1 0x00 000019a9: PUSH1 0x01 000019ab: PUSH1 0x00 000019ad: SWAP1 000019ae: SLOAD 000019af: SWAP1 000019b0: PUSH2 0x0100 000019b3: EXP 000019b4: SWAP1 000019b5: DIV 000019b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019cb: AND 000019cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019e1: AND 000019e2: PUSH4 0xddf7fcb0 000019e7: PUSH1 0x40 000019e9: MLOAD 000019ea: DUP2 000019eb: PUSH4 0xffffffff 000019f0: AND 000019f1: PUSH1 0xe0 000019f3: SHL 000019f4: DUP2 000019f5: MSTORE 000019f6: PUSH1 0x04 000019f8: ADD 000019f9: PUSH1 0x20 000019fb: PUSH1 0x40 000019fd: MLOAD 000019fe: DUP1 000019ff: DUP4 00001a00: SUB 00001a01: DUP2 00001a02: DUP7 00001a03: DUP1 00001a04: EXTCODESIZE 00001a05: ISZERO 00001a06: DUP1 00001a07: ISZERO 00001a08: PUSH2 0x1a10 00001a0b: JUMPI 00001a0c: PUSH1 0x00 00001a0e: DUP1 00001a0f: REVERT 00001a10: JUMPDEST 00001a11: POP 00001a12: GAS 00001a13: STATICCALL 00001a14: ISZERO 00001a15: DUP1 00001a16: ISZERO 00001a17: PUSH2 0x1a24 00001a1a: JUMPI 00001a1b: RETURNDATASIZE 00001a1c: PUSH1 0x00 00001a1e: DUP1 00001a1f: RETURNDATACOPY 00001a20: RETURNDATASIZE 00001a21: PUSH1 0x00 00001a23: REVERT 00001a24: JUMPDEST 00001a25: POP 00001a26: POP 00001a27: POP 00001a28: POP 00001a29: PUSH1 0x40 00001a2b: MLOAD 00001a2c: RETURNDATASIZE 00001a2d: PUSH1 0x20 00001a2f: DUP2 00001a30: LT 00001a31: ISZERO 00001a32: PUSH2 0x1a3a 00001a35: JUMPI 00001a36: PUSH1 0x00 00001a38: DUP1 00001a39: REVERT 00001a3a: JUMPDEST 00001a3b: DUP2 00001a3c: ADD 00001a3d: SWAP1 00001a3e: DUP1 00001a3f: DUP1 00001a40: MLOAD 00001a41: SWAP1 00001a42: PUSH1 0x20 00001a44: ADD 00001a45: SWAP1 00001a46: SWAP3 00001a47: SWAP2 00001a48: SWAP1 00001a49: POP 00001a4a: POP 00001a4b: POP 00001a4c: DUP5 00001a4d: PUSH1 0x40 00001a4f: MLOAD 00001a50: PUSH1 0x20 00001a52: ADD 00001a53: DUP1 00001a54: DUP4 00001a55: DUP2 00001a56: MSTORE 00001a57: PUSH1 0x20 00001a59: ADD 00001a5a: DUP3 00001a5b: DUP2 00001a5c: MSTORE 00001a5d: PUSH1 0x20 00001a5f: ADD 00001a60: SWAP3 00001a61: POP 00001a62: POP 00001a63: POP 00001a64: PUSH1 0x40 00001a66: MLOAD 00001a67: PUSH1 0x20 00001a69: DUP2 00001a6a: DUP4 00001a6b: SUB 00001a6c: SUB 00001a6d: DUP2 00001a6e: MSTORE 00001a6f: SWAP1 00001a70: PUSH1 0x40 00001a72: MSTORE 00001a73: DUP1 00001a74: MLOAD 00001a75: SWAP1 00001a76: PUSH1 0x20 00001a78: ADD 00001a79: KECCAK256 00001a7a: SWAP1 00001a7b: POP 00001a7c: PUSH1 0x01 00001a7e: PUSH1 0x00 00001a80: SWAP1 00001a81: SLOAD 00001a82: SWAP1 00001a83: PUSH2 0x0100 00001a86: EXP 00001a87: SWAP1 00001a88: DIV 00001a89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a9e: AND 00001a9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ab4: AND 00001ab5: PUSH4 0x3f15457f 00001aba: PUSH1 0x40 00001abc: MLOAD 00001abd: DUP2 00001abe: PUSH4 0xffffffff 00001ac3: AND 00001ac4: PUSH1 0xe0 00001ac6: SHL 00001ac7: DUP2 00001ac8: MSTORE 00001ac9: PUSH1 0x04 00001acb: ADD 00001acc: PUSH1 0x20 00001ace: PUSH1 0x40 00001ad0: MLOAD 00001ad1: DUP1 00001ad2: DUP4 00001ad3: SUB 00001ad4: DUP2 00001ad5: DUP7 00001ad6: DUP1 00001ad7: EXTCODESIZE 00001ad8: ISZERO 00001ad9: DUP1 00001ada: ISZERO 00001adb: PUSH2 0x1ae3 00001ade: JUMPI 00001adf: PUSH1 0x00 00001ae1: DUP1 00001ae2: REVERT 00001ae3: JUMPDEST 00001ae4: POP 00001ae5: GAS 00001ae6: STATICCALL 00001ae7: ISZERO 00001ae8: DUP1 00001ae9: ISZERO 00001aea: PUSH2 0x1af7 00001aed: JUMPI 00001aee: RETURNDATASIZE 00001aef: PUSH1 0x00 00001af1: DUP1 00001af2: RETURNDATACOPY 00001af3: RETURNDATASIZE 00001af4: PUSH1 0x00 00001af6: REVERT 00001af7: JUMPDEST 00001af8: POP 00001af9: POP 00001afa: POP 00001afb: POP 00001afc: PUSH1 0x40 00001afe: MLOAD 00001aff: RETURNDATASIZE 00001b00: PUSH1 0x20 00001b02: DUP2 00001b03: LT 00001b04: ISZERO 00001b05: PUSH2 0x1b0d 00001b08: JUMPI 00001b09: PUSH1 0x00 00001b0b: DUP1 00001b0c: REVERT 00001b0d: JUMPDEST 00001b0e: DUP2 00001b0f: ADD 00001b10: SWAP1 00001b11: DUP1 00001b12: DUP1 00001b13: MLOAD 00001b14: SWAP1 00001b15: PUSH1 0x20 00001b17: ADD 00001b18: SWAP1 00001b19: SWAP3 00001b1a: SWAP2 00001b1b: SWAP1 00001b1c: POP 00001b1d: POP 00001b1e: POP 00001b1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b34: AND 00001b35: PUSH4 0x1896f70a 00001b3a: DUP3 00001b3b: DUP11 00001b3c: PUSH1 0x40 00001b3e: MLOAD 00001b3f: DUP4 00001b40: PUSH4 0xffffffff 00001b45: AND 00001b46: PUSH1 0xe0 00001b48: SHL 00001b49: DUP2 00001b4a: MSTORE 00001b4b: PUSH1 0x04 00001b4d: ADD 00001b4e: DUP1 00001b4f: DUP4 00001b50: DUP2 00001b51: MSTORE 00001b52: PUSH1 0x20 00001b54: ADD 00001b55: DUP3 00001b56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b6b: AND 00001b6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b81: AND 00001b82: DUP2 00001b83: MSTORE 00001b84: PUSH1 0x20 00001b86: ADD 00001b87: SWAP3 00001b88: POP 00001b89: POP 00001b8a: POP 00001b8b: PUSH1 0x00 00001b8d: PUSH1 0x40 00001b8f: MLOAD 00001b90: DUP1 00001b91: DUP4 00001b92: SUB 00001b93: DUP2 00001b94: PUSH1 0x00 00001b96: DUP8 00001b97: DUP1 00001b98: EXTCODESIZE 00001b99: ISZERO 00001b9a: DUP1 00001b9b: ISZERO 00001b9c: PUSH2 0x1ba4 00001b9f: JUMPI 00001ba0: PUSH1 0x00 00001ba2: DUP1 00001ba3: REVERT 00001ba4: JUMPDEST 00001ba5: POP 00001ba6: GAS 00001ba7: CALL 00001ba8: ISZERO 00001ba9: DUP1 00001baa: ISZERO 00001bab: PUSH2 0x1bb8 00001bae: JUMPI 00001baf: RETURNDATASIZE 00001bb0: PUSH1 0x00 00001bb2: DUP1 00001bb3: RETURNDATACOPY 00001bb4: RETURNDATASIZE 00001bb5: PUSH1 0x00 00001bb7: REVERT 00001bb8: JUMPDEST 00001bb9: POP 00001bba: POP 00001bbb: POP 00001bbc: POP 00001bbd: PUSH1 0x00 00001bbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bd4: AND 00001bd5: DUP8 00001bd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001beb: AND 00001bec: EQ 00001bed: PUSH2 0x1c90 00001bf0: JUMPI 00001bf1: DUP8 00001bf2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c07: AND 00001c08: PUSH4 0xd5fa2b00 00001c0d: DUP3 00001c0e: DUP10 00001c0f: PUSH1 0x40 00001c11: MLOAD 00001c12: DUP4 00001c13: PUSH4 0xffffffff 00001c18: AND 00001c19: PUSH1 0xe0 00001c1b: SHL 00001c1c: DUP2 00001c1d: MSTORE 00001c1e: PUSH1 0x04 00001c20: ADD 00001c21: DUP1 00001c22: DUP4 00001c23: DUP2 00001c24: MSTORE 00001c25: PUSH1 0x20 00001c27: ADD 00001c28: DUP3 00001c29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c3e: AND 00001c3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c54: AND 00001c55: DUP2 00001c56: MSTORE 00001c57: PUSH1 0x20 00001c59: ADD 00001c5a: SWAP3 00001c5b: POP 00001c5c: POP 00001c5d: POP 00001c5e: PUSH1 0x00 00001c60: PUSH1 0x40 00001c62: MLOAD 00001c63: DUP1 00001c64: DUP4 00001c65: SUB 00001c66: DUP2 00001c67: PUSH1 0x00 00001c69: DUP8 00001c6a: DUP1 00001c6b: EXTCODESIZE 00001c6c: ISZERO 00001c6d: DUP1 00001c6e: ISZERO 00001c6f: PUSH2 0x1c77 00001c72: JUMPI 00001c73: PUSH1 0x00 00001c75: DUP1 00001c76: REVERT 00001c77: JUMPDEST 00001c78: POP 00001c79: GAS 00001c7a: CALL 00001c7b: ISZERO 00001c7c: DUP1 00001c7d: ISZERO 00001c7e: PUSH2 0x1c8b 00001c81: JUMPI 00001c82: RETURNDATASIZE 00001c83: PUSH1 0x00 00001c85: DUP1 00001c86: RETURNDATACOPY 00001c87: RETURNDATASIZE 00001c88: PUSH1 0x00 00001c8a: REVERT 00001c8b: JUMPDEST 00001c8c: POP 00001c8d: POP 00001c8e: POP 00001c8f: POP 00001c90: JUMPDEST 00001c91: PUSH1 0x01 00001c93: PUSH1 0x00 00001c95: SWAP1 00001c96: SLOAD 00001c97: SWAP1 00001c98: PUSH2 0x0100 00001c9b: EXP 00001c9c: SWAP1 00001c9d: DIV 00001c9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cb3: AND 00001cb4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cc9: AND 00001cca: PUSH4 0x28ed4f6c 00001ccf: DUP5 00001cd0: DUP14 00001cd1: PUSH1 0x40 00001cd3: MLOAD 00001cd4: DUP4 00001cd5: PUSH4 0xffffffff 00001cda: AND 00001cdb: PUSH1 0xe0 00001cdd: SHL 00001cde: DUP2 00001cdf: MSTORE 00001ce0: PUSH1 0x04 00001ce2: ADD 00001ce3: DUP1 00001ce4: DUP4 00001ce5: DUP2 00001ce6: MSTORE 00001ce7: PUSH1 0x20 00001ce9: ADD 00001cea: DUP3 00001ceb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d00: AND 00001d01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d16: AND 00001d17: DUP2 00001d18: MSTORE 00001d19: PUSH1 0x20 00001d1b: ADD 00001d1c: SWAP3 00001d1d: POP 00001d1e: POP 00001d1f: POP 00001d20: PUSH1 0x00 00001d22: PUSH1 0x40 00001d24: MLOAD 00001d25: DUP1 00001d26: DUP4 00001d27: SUB 00001d28: DUP2 00001d29: PUSH1 0x00 00001d2b: DUP8 00001d2c: DUP1 00001d2d: EXTCODESIZE 00001d2e: ISZERO 00001d2f: DUP1 00001d30: ISZERO 00001d31: PUSH2 0x1d39 00001d34: JUMPI 00001d35: PUSH1 0x00 00001d37: DUP1 00001d38: REVERT 00001d39: JUMPDEST 00001d3a: POP 00001d3b: GAS 00001d3c: CALL 00001d3d: ISZERO 00001d3e: DUP1 00001d3f: ISZERO 00001d40: PUSH2 0x1d4d 00001d43: JUMPI 00001d44: RETURNDATASIZE 00001d45: PUSH1 0x00 00001d47: DUP1 00001d48: RETURNDATACOPY 00001d49: RETURNDATASIZE 00001d4a: PUSH1 0x00 00001d4c: REVERT 00001d4d: JUMPDEST 00001d4e: POP 00001d4f: POP 00001d50: POP 00001d51: POP 00001d52: PUSH1 0x01 00001d54: PUSH1 0x00 00001d56: SWAP1 00001d57: SLOAD 00001d58: SWAP1 00001d59: PUSH2 0x0100 00001d5c: EXP 00001d5d: SWAP1 00001d5e: DIV 00001d5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d74: AND 00001d75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d8a: AND 00001d8b: PUSH4 0x23b872dd 00001d90: ADDRESS 00001d91: DUP14 00001d92: DUP7 00001d93: PUSH1 0x40 00001d95: MLOAD 00001d96: DUP5 00001d97: PUSH4 0xffffffff 00001d9c: AND 00001d9d: PUSH1 0xe0 00001d9f: SHL 00001da0: DUP2 00001da1: MSTORE 00001da2: PUSH1 0x04 00001da4: ADD 00001da5: DUP1 00001da6: DUP5 00001da7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dbc: AND 00001dbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dd2: AND 00001dd3: DUP2 00001dd4: MSTORE 00001dd5: PUSH1 0x20 00001dd7: ADD 00001dd8: DUP4 00001dd9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dee: AND 00001def: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e04: AND 00001e05: DUP2 00001e06: MSTORE 00001e07: PUSH1 0x20 00001e09: ADD 00001e0a: DUP3 00001e0b: DUP2 00001e0c: MSTORE 00001e0d: PUSH1 0x20 00001e0f: ADD 00001e10: SWAP4 00001e11: POP 00001e12: POP 00001e13: POP 00001e14: POP 00001e15: PUSH1 0x00 00001e17: PUSH1 0x40 00001e19: MLOAD 00001e1a: DUP1 00001e1b: DUP4 00001e1c: SUB 00001e1d: DUP2 00001e1e: PUSH1 0x00 00001e20: DUP8 00001e21: DUP1 00001e22: EXTCODESIZE 00001e23: ISZERO 00001e24: DUP1 00001e25: ISZERO 00001e26: PUSH2 0x1e2e 00001e29: JUMPI 00001e2a: PUSH1 0x00 00001e2c: DUP1 00001e2d: REVERT 00001e2e: JUMPDEST 00001e2f: POP 00001e30: GAS 00001e31: CALL 00001e32: ISZERO 00001e33: DUP1 00001e34: ISZERO 00001e35: PUSH2 0x1e42 00001e38: JUMPI 00001e39: RETURNDATASIZE 00001e3a: PUSH1 0x00 00001e3c: DUP1 00001e3d: RETURNDATACOPY 00001e3e: RETURNDATASIZE 00001e3f: PUSH1 0x00 00001e41: REVERT 00001e42: JUMPDEST 00001e43: POP 00001e44: POP 00001e45: POP 00001e46: POP 00001e47: POP 00001e48: PUSH2 0x1f74 00001e4b: JUMP 00001e4c: JUMPDEST 00001e4d: PUSH1 0x00 00001e4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e64: AND 00001e65: DUP7 00001e66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e7b: AND 00001e7c: EQ 00001e7d: PUSH2 0x1e85 00001e80: JUMPI 00001e81: PUSH1 0x00 00001e83: DUP1 00001e84: REVERT 00001e85: JUMPDEST 00001e86: PUSH1 0x01 00001e88: PUSH1 0x00 00001e8a: SWAP1 00001e8b: SLOAD 00001e8c: SWAP1 00001e8d: PUSH2 0x0100 00001e90: EXP 00001e91: SWAP1 00001e92: DIV 00001e93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ea8: AND 00001ea9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ebe: AND 00001ebf: PUSH4 0xfca247ac 00001ec4: DUP4 00001ec5: DUP13 00001ec6: DUP13 00001ec7: PUSH1 0x40 00001ec9: MLOAD 00001eca: DUP5 00001ecb: PUSH4 0xffffffff 00001ed0: AND 00001ed1: PUSH1 0xe0 00001ed3: SHL 00001ed4: DUP2 00001ed5: MSTORE 00001ed6: PUSH1 0x04 00001ed8: ADD 00001ed9: DUP1 00001eda: DUP5 00001edb: DUP2 00001edc: MSTORE 00001edd: PUSH1 0x20 00001edf: ADD 00001ee0: DUP4 00001ee1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ef6: AND 00001ef7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f0c: AND 00001f0d: DUP2 00001f0e: MSTORE 00001f0f: PUSH1 0x20 00001f11: ADD 00001f12: DUP3 00001f13: DUP2 00001f14: MSTORE 00001f15: PUSH1 0x20 00001f17: ADD 00001f18: SWAP4 00001f19: POP 00001f1a: POP 00001f1b: POP 00001f1c: POP 00001f1d: PUSH1 0x20 00001f1f: PUSH1 0x40 00001f21: MLOAD 00001f22: DUP1 00001f23: DUP4 00001f24: SUB 00001f25: DUP2 00001f26: PUSH1 0x00 00001f28: DUP8 00001f29: DUP1 00001f2a: EXTCODESIZE 00001f2b: ISZERO 00001f2c: DUP1 00001f2d: ISZERO 00001f2e: PUSH2 0x1f36 00001f31: JUMPI 00001f32: PUSH1 0x00 00001f34: DUP1 00001f35: REVERT 00001f36: JUMPDEST 00001f37: POP 00001f38: GAS 00001f39: CALL 00001f3a: ISZERO 00001f3b: DUP1 00001f3c: ISZERO 00001f3d: PUSH2 0x1f4a 00001f40: JUMPI 00001f41: RETURNDATASIZE 00001f42: PUSH1 0x00 00001f44: DUP1 00001f45: RETURNDATACOPY 00001f46: RETURNDATASIZE 00001f47: PUSH1 0x00 00001f49: REVERT 00001f4a: JUMPDEST 00001f4b: POP 00001f4c: POP 00001f4d: POP 00001f4e: POP 00001f4f: PUSH1 0x40 00001f51: MLOAD 00001f52: RETURNDATASIZE 00001f53: PUSH1 0x20 00001f55: DUP2 00001f56: LT 00001f57: ISZERO 00001f58: PUSH2 0x1f60 00001f5b: JUMPI 00001f5c: PUSH1 0x00 00001f5e: DUP1 00001f5f: REVERT 00001f60: JUMPDEST 00001f61: DUP2 00001f62: ADD 00001f63: SWAP1 00001f64: DUP1 00001f65: DUP1 00001f66: MLOAD 00001f67: SWAP1 00001f68: PUSH1 0x20 00001f6a: ADD 00001f6b: SWAP1 00001f6c: SWAP3 00001f6d: SWAP2 00001f6e: SWAP1 00001f6f: POP 00001f70: POP 00001f71: POP 00001f72: SWAP1 00001f73: POP 00001f74: JUMPDEST 00001f75: DUP10 00001f76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f8b: AND 00001f8c: DUP4 00001f8d: PUSH32 0xca6abbe9d7f11422cb6ca7629fbf6fe9efb1c621f71ce8f02b9f2a230097404f 00001fae: DUP14 00001faf: DUP8 00001fb0: DUP6 00001fb1: PUSH1 0x40 00001fb3: MLOAD 00001fb4: DUP1 00001fb5: DUP1 00001fb6: PUSH1 0x20 00001fb8: ADD 00001fb9: DUP5 00001fba: DUP2 00001fbb: MSTORE 00001fbc: PUSH1 0x20 00001fbe: ADD 00001fbf: DUP4 00001fc0: DUP2 00001fc1: MSTORE 00001fc2: PUSH1 0x20 00001fc4: ADD 00001fc5: DUP3 00001fc6: DUP2 00001fc7: SUB 00001fc8: DUP3 00001fc9: MSTORE 00001fca: DUP6 00001fcb: DUP2 00001fcc: DUP2 00001fcd: MLOAD 00001fce: DUP2 00001fcf: MSTORE 00001fd0: PUSH1 0x20 00001fd2: ADD 00001fd3: SWAP2 00001fd4: POP 00001fd5: DUP1 00001fd6: MLOAD 00001fd7: SWAP1 00001fd8: PUSH1 0x20 00001fda: ADD 00001fdb: SWAP1 00001fdc: DUP1 00001fdd: DUP4 00001fde: DUP4 00001fdf: PUSH1 0x00 00001fe1: JUMPDEST 00001fe2: DUP4 00001fe3: DUP2 00001fe4: LT 00001fe5: ISZERO 00001fe6: PUSH2 0x1ffc 00001fe9: JUMPI 00001fea: DUP1 00001feb: DUP3 00001fec: ADD 00001fed: MLOAD 00001fee: DUP2 00001fef: DUP5 00001ff0: ADD 00001ff1: MSTORE 00001ff2: PUSH1 0x20 00001ff4: DUP2 00001ff5: ADD 00001ff6: SWAP1 00001ff7: POP 00001ff8: PUSH2 0x1fe1 00001ffb: JUMP 00001ffc: JUMPDEST 00001ffd: POP 00001ffe: POP 00001fff: POP 00002000: POP 00002001: SWAP1 00002002: POP 00002003: SWAP1 00002004: DUP2 00002005: ADD 00002006: SWAP1 00002007: PUSH1 0x1f 00002009: AND 0000200a: DUP1 0000200b: ISZERO 0000200c: PUSH2 0x2029 0000200f: JUMPI 00002010: DUP1 00002011: DUP3 00002012: SUB 00002013: DUP1 00002014: MLOAD 00002015: PUSH1 0x01 00002017: DUP4 00002018: PUSH1 0x20 0000201a: SUB 0000201b: PUSH2 0x0100 0000201e: EXP 0000201f: SUB 00002020: NOT 00002021: AND 00002022: DUP2 00002023: MSTORE 00002024: PUSH1 0x20 00002026: ADD 00002027: SWAP2 00002028: POP 00002029: JUMPDEST 0000202a: POP 0000202b: SWAP5 0000202c: POP 0000202d: POP 0000202e: POP 0000202f: POP 00002030: POP 00002031: PUSH1 0x40 00002033: MLOAD 00002034: DUP1 00002035: SWAP2 00002036: SUB 00002037: SWAP1 00002038: LOG3 00002039: DUP4 0000203a: CALLVALUE 0000203b: GT 0000203c: ISZERO 0000203d: PUSH2 0x208a 00002040: JUMPI 00002041: CALLER 00002042: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002057: AND 00002058: PUSH2 0x08fc 0000205b: DUP6 0000205c: CALLVALUE 0000205d: SUB 0000205e: SWAP1 0000205f: DUP2 00002060: ISZERO 00002061: MUL 00002062: SWAP1 00002063: PUSH1 0x40 00002065: MLOAD 00002066: PUSH1 0x00 00002068: PUSH1 0x40 0000206a: MLOAD 0000206b: DUP1 0000206c: DUP4 0000206d: SUB 0000206e: DUP2 0000206f: DUP6 00002070: DUP9 00002071: DUP9 00002072: CALL 00002073: SWAP4 00002074: POP 00002075: POP 00002076: POP 00002077: POP 00002078: ISZERO 00002079: DUP1 0000207a: ISZERO 0000207b: PUSH2 0x2088 0000207e: JUMPI 0000207f: RETURNDATASIZE 00002080: PUSH1 0x00 00002082: DUP1 00002083: RETURNDATACOPY 00002084: RETURNDATASIZE 00002085: PUSH1 0x00 00002087: REVERT 00002088: JUMPDEST 00002089: POP 0000208a: JUMPDEST 0000208b: POP 0000208c: POP 0000208d: POP 0000208e: POP 0000208f: POP 00002090: POP 00002091: POP 00002092: POP 00002093: POP 00002094: POP 00002095: POP 00002096: JUMP 00002097: JUMPDEST 00002098: PUSH1 0x00 0000209a: DUP1 0000209b: PUSH1 0x00 0000209d: DUP1 0000209e: SWAP1 0000209f: POP 000020a0: PUSH1 0x00 000020a2: DUP5 000020a3: MLOAD 000020a4: SWAP1 000020a5: POP 000020a6: PUSH1 0x00 000020a8: SWAP3 000020a9: POP 000020aa: JUMPDEST 000020ab: DUP1 000020ac: DUP3 000020ad: LT 000020ae: ISZERO 000020af: PUSH2 0x2202 000020b2: JUMPI 000020b3: PUSH1 0x00 000020b5: DUP6 000020b6: DUP4 000020b7: DUP2 000020b8: MLOAD 000020b9: DUP2 000020ba: LT 000020bb: PUSH2 0x20c0 000020be: JUMPI 000020bf: INVALID 000020c0: JUMPDEST 000020c1: PUSH1 0x20 000020c3: ADD 000020c4: ADD 000020c5: MLOAD 000020c6: PUSH1 0xf8 000020c8: SHR 000020c9: PUSH1 0xf8 000020cb: SHL 000020cc: SWAP1 000020cd: POP 000020ce: PUSH1 0x80 000020d0: PUSH1 0xf8 000020d2: SHL 000020d3: DUP2 000020d4: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000020f4: NOT 000020f5: AND 000020f6: LT 000020f7: ISZERO 000020f8: PUSH2 0x2106 000020fb: JUMPI 000020fc: PUSH1 0x01 000020fe: DUP4 000020ff: ADD 00002100: SWAP3 00002101: POP 00002102: PUSH2 0x21f4 00002105: JUMP 00002106: JUMPDEST 00002107: PUSH1 0xe0 00002109: PUSH1 0xf8 0000210b: SHL 0000210c: DUP2 0000210d: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000212d: NOT 0000212e: AND 0000212f: LT 00002130: ISZERO 00002131: PUSH2 0x213f 00002134: JUMPI 00002135: PUSH1 0x02 00002137: DUP4 00002138: ADD 00002139: SWAP3 0000213a: POP 0000213b: PUSH2 0x21f3 0000213e: JUMP 0000213f: JUMPDEST 00002140: PUSH1 0xf0 00002142: PUSH1 0xf8 00002144: SHL 00002145: DUP2 00002146: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002166: NOT 00002167: AND 00002168: LT 00002169: ISZERO 0000216a: PUSH2 0x2178 0000216d: JUMPI 0000216e: PUSH1 0x03 00002170: DUP4 00002171: ADD 00002172: SWAP3 00002173: POP 00002174: PUSH2 0x21f2 00002177: JUMP 00002178: JUMPDEST 00002179: PUSH1 0xf8 0000217b: DUP1 0000217c: SHL 0000217d: DUP2 0000217e: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000219e: NOT 0000219f: AND 000021a0: LT 000021a1: ISZERO 000021a2: PUSH2 0x21b0 000021a5: JUMPI 000021a6: PUSH1 0x04 000021a8: DUP4 000021a9: ADD 000021aa: SWAP3 000021ab: POP 000021ac: PUSH2 0x21f1 000021af: JUMP 000021b0: JUMPDEST 000021b1: PUSH1 0xfc 000021b3: PUSH1 0xf8 000021b5: SHL 000021b6: DUP2 000021b7: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000021d7: NOT 000021d8: AND 000021d9: LT 000021da: ISZERO 000021db: PUSH2 0x21e9 000021de: JUMPI 000021df: PUSH1 0x05 000021e1: DUP4 000021e2: ADD 000021e3: SWAP3 000021e4: POP 000021e5: PUSH2 0x21f0 000021e8: JUMP 000021e9: JUMPDEST 000021ea: PUSH1 0x06 000021ec: DUP4 000021ed: ADD 000021ee: SWAP3 000021ef: POP 000021f0: JUMPDEST 000021f1: JUMPDEST 000021f2: JUMPDEST 000021f3: JUMPDEST 000021f4: JUMPDEST 000021f5: POP 000021f6: DUP3 000021f7: DUP1 000021f8: PUSH1 0x01 000021fa: ADD 000021fb: SWAP4 000021fc: POP 000021fd: POP 000021fe: PUSH2 0x20aa 00002201: JUMP 00002202: JUMPDEST 00002203: DUP3 00002204: SWAP4 00002205: POP 00002206: POP 00002207: POP 00002208: POP 00002209: SWAP2 0000220a: SWAP1 0000220b: POP 0000220c: JUMP 0000220d: JUMPDEST 0000220e: PUSH1 0x00 00002210: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002225: AND 00002226: DUP2 00002227: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000223c: AND 0000223d: EQ 0000223e: ISZERO 0000223f: PUSH2 0x2247 00002242: JUMPI 00002243: PUSH1 0x00 00002245: DUP1 00002246: REVERT 00002247: JUMPDEST 00002248: DUP1 00002249: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000225e: AND 0000225f: PUSH1 0x00 00002261: DUP1 00002262: SWAP1 00002263: SLOAD 00002264: SWAP1 00002265: PUSH2 0x0100 00002268: EXP 00002269: SWAP1 0000226a: DIV 0000226b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002280: AND 00002281: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002296: AND 00002297: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000022b8: PUSH1 0x40 000022ba: MLOAD 000022bb: PUSH1 0x40 000022bd: MLOAD 000022be: DUP1 000022bf: SWAP2 000022c0: SUB 000022c1: SWAP1 000022c2: LOG3 000022c3: DUP1 000022c4: PUSH1 0x00 000022c6: DUP1 000022c7: PUSH2 0x0100 000022ca: EXP 000022cb: DUP2 000022cc: SLOAD 000022cd: DUP2 000022ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022e3: MUL 000022e4: NOT 000022e5: AND 000022e6: SWAP1 000022e7: DUP4 000022e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022fd: AND 000022fe: MUL 000022ff: OR 00002300: SWAP1 00002301: SSTORE 00002302: POP 00002303: POP 00002304: JUMP 00002305: JUMPDEST 00002306: PUSH1 0x00 00002308: TIMESTAMP 00002309: PUSH1 0x03 0000230b: SLOAD 0000230c: PUSH1 0x05 0000230e: PUSH1 0x00 00002310: DUP6 00002311: DUP2 00002312: MSTORE 00002313: PUSH1 0x20 00002315: ADD 00002316: SWAP1 00002317: DUP2 00002318: MSTORE 00002319: PUSH1 0x20 0000231b: ADD 0000231c: PUSH1 0x00 0000231e: KECCAK256 0000231f: SLOAD 00002320: ADD 00002321: GT 00002322: ISZERO 00002323: PUSH2 0x232b 00002326: JUMPI 00002327: PUSH1 0x00 00002329: DUP1 0000232a: REVERT 0000232b: JUMPDEST 0000232c: TIMESTAMP 0000232d: PUSH1 0x04 0000232f: SLOAD 00002330: PUSH1 0x05 00002332: PUSH1 0x00 00002334: DUP6 00002335: DUP2 00002336: MSTORE 00002337: PUSH1 0x20 00002339: ADD 0000233a: SWAP1 0000233b: DUP2 0000233c: MSTORE 0000233d: PUSH1 0x20 0000233f: ADD 00002340: PUSH1 0x00 00002342: KECCAK256 00002343: SLOAD 00002344: ADD 00002345: GT 00002346: PUSH2 0x234e 00002349: JUMPI 0000234a: PUSH1 0x00 0000234c: DUP1 0000234d: REVERT 0000234e: JUMPDEST 0000234f: PUSH2 0x2357 00002352: DUP5 00002353: PUSH2 0x16fe 00002356: JUMP 00002357: JUMPDEST 00002358: PUSH2 0x2360 0000235b: JUMPI 0000235c: PUSH1 0x00 0000235e: DUP1 0000235f: REVERT 00002360: JUMPDEST 00002361: PUSH1 0x05 00002363: PUSH1 0x00 00002365: DUP4 00002366: DUP2 00002367: MSTORE 00002368: PUSH1 0x20 0000236a: ADD 0000236b: SWAP1 0000236c: DUP2 0000236d: MSTORE 0000236e: PUSH1 0x20 00002370: ADD 00002371: PUSH1 0x00 00002373: KECCAK256 00002374: PUSH1 0x00 00002376: SWAP1 00002377: SSTORE 00002378: PUSH1 0x00 0000237a: PUSH2 0x2383 0000237d: DUP6 0000237e: DUP6 0000237f: PUSH2 0x1209 00002382: JUMP 00002383: JUMPDEST 00002384: SWAP1 00002385: POP 00002386: PUSH3 0x24ea00 0000238a: DUP5 0000238b: LT 0000238c: ISZERO 0000238d: PUSH2 0x2395 00002390: JUMPI 00002391: PUSH1 0x00 00002393: DUP1 00002394: REVERT 00002395: JUMPDEST 00002396: DUP1 00002397: CALLVALUE 00002398: LT 00002399: ISZERO 0000239a: PUSH2 0x23a2 0000239d: JUMPI 0000239e: PUSH1 0x00 000023a0: DUP1 000023a1: REVERT 000023a2: JUMPDEST 000023a3: DUP1 000023a4: SWAP2 000023a5: POP 000023a6: POP 000023a7: SWAP4 000023a8: SWAP3 000023a9: POP 000023aa: POP 000023ab: POP 000023ac: JUMP 000023ad: INVALID 000023ae: PUSH14 0x616b65436f6d6d69746d656e7457 000023bd: PUSH10 0x7468436f6e6669672873 000023c8: PUSH21 0x72696e672c616464726573732c627974657333322c 000023de: PUSH2 0x6464 000023e1: PUSH19 0x6573732c616464726573732972656769737465 000023f5: PUSH19 0x28737472696e672c616464726573732c75696e 00002409: PUSH21 0x3235362c62797465733332296d616b65436f6d6d69 0000241f: PUSH21 0x6d656e7428737472696e672c616464726573732c62 00002435: PUSH26 0x746573333229726567697374657257697468436f6e6669672873 00002450: PUSH21 0x72696e672c616464726573732c75696e743235362c 00002466: PUSH3 0x797465 0000246a: PUSH20 0x33322c616464726573732c6164647265737329a2 0000247f: PUSH6 0x627a7a723158 00002486: KECCAK256 00002487: UNKNOWN(0xAE) 00002488: GAS 00002489: UNKNOWN(0xEC) 0000248a: GT 0000248b: UNKNOWN(0xA7) 0000248c: UNKNOWN(0xC9) 0000248d: SLT 0000248e: PUSH14 0xe666c7630771a2e6e95d684de253 0000249d: SWAP13 0000249e: UNKNOWN(0xFC) 0000249f: LOG1 000024a0: UNKNOWN(0xB1) 000024a1: UNKNOWN(0x4C) 000024a2: UNKNOWN(0xB3) 000024a3: EXP 000024a4: TIMESTAMP 000024a5: PUSH27
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xac66a54ee4302c852b2d66add07f8449a001a70ea57290ce9d54d427308c4c2e
call_targets:
0x283af0b28c62c092c9727f1ee09c02ca627eb7f5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xac66a54ee4302c852b2d66add07f8449a001a70ea57290ce9d54d427308c4c2e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x283af0b28c62c092c9727f1ee09c02ca627eb7f5"
],
"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": "0xaeb8ce9b",
"selector": "0xaeb8ce9b",
"calldata_variants": [
"0xaeb8ce9b",
"0xaeb8ce9b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce1e09c0",
"selector": "0xce1e09c0",
"calldata_variants": [
"0xce1e09c0",
"0xce1e09c00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf14fcbc8",
"selector": "0xf14fcbc8",
"calldata_variants": [
"0xf14fcbc8",
"0xf14fcbc80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf49826be",
"selector": "0xf49826be",
"calldata_variants": [
"0xf49826be",
"0xf49826be0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7a16963",
"selector": "0xf7a16963",
"calldata_variants": [
"0xf7a16963",
"0xf7a169630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8d839ffe",
"selector": "0x8d839ffe",
"calldata_variants": [
"0x8d839ffe",
"0x8d839ffe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3624,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5622,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5738,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [
{
"pc": 5309,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 10
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xac66a54ee4302c852b2d66add07f8449a001a70ea57290ce9d54d427308c4c2e
call_targets:
0x283af0b28c62c092c9727f1ee09c02ca627eb7f5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xac66a54ee4302c852b2d66add07f8449a001a70ea57290ce9d54d427308c4c2e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x283af0b28c62c092c9727f1ee09c02ca627eb7f5"
],
"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": "0xaeb8ce9b",
"selector": "0xaeb8ce9b",
"calldata_variants": [
"0xaeb8ce9b",
"0xaeb8ce9b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce1e09c0",
"selector": "0xce1e09c0",
"calldata_variants": [
"0xce1e09c0",
"0xce1e09c00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf14fcbc8",
"selector": "0xf14fcbc8",
"calldata_variants": [
"0xf14fcbc8",
"0xf14fcbc80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf49826be",
"selector": "0xf49826be",
"calldata_variants": [
"0xf49826be",
"0xf49826be0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7a16963",
"selector": "0xf7a16963",
"calldata_variants": [
"0xf7a16963",
"0xf7a169630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8d839ffe",
"selector": "0x8d839ffe",
"calldata_variants": [
"0x8d839ffe",
"0x8d839ffe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3624,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5622,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5738,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": [
{
"pc": 5309,
"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": 12
}
|
| 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": 15
}
|