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

Analysis Run

07e0721c-c079-4dc1-be4b-4e123bb0d340

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 3, 2026 12:22 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Unprotected initialize enables proxy hijack and ETH/ERC20 drain
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31401 report.consolidate complete 1 / 1 3 months ago
77032 artifact.fetch complete 1 / 3 1 week ago
77033 tool.cast_disasm complete 1 / 3 1 week ago
77034 analysis.bundle complete 1 / 3 1 week ago
77035 capability.graph complete 1 / 3 1 week ago
77036 detector.run complete 1 / 3 1 week ago
77037 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.
View stderr
[codex:842223] OpenAI Codex v0.77.0 (research preview)
[codex:842223] --------
[codex:842223] workdir: /tmp/codex-multi-cbpyz2r4
[codex:842223] model: gpt-5.2-codex
[codex:842223] provider: openai
[codex:842223] approval: never
[codex:842223] sandbox: read-only
[codex:842223] reasoning effort: xhigh
[codex:842223] reasoning summaries: auto
[codex:842223] session id: 019b813a-9fd6-76f3-b9b3-f4b10b14f177
[codex:842223] --------
[codex:842223] user
[codex:842223] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:842223] 
[codex:842223] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:842223] 
[codex:842223] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:842223] - Gas inefficiency, code quality, naming, or best practices
[codex:842223] - Theoretical vulnerabilities without a clear extraction path
[codex:842223] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:842223] - Front-running unless it enables theft beyond MEV
[codex:842223] - DoS, griefing, or issues that don't result in attacker profit
[codex:842223] - Missing events, view function issues, or informational findings
[codex:842223] 
[codex:842223] HIGH-VALUE PATTERNS TO HUNT:
[codex:842223] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:842223] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:842223] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:842223] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:842223] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:842223] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:842223] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:842223] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:842223] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:842223] 
[codex:842223] For each finding, you MUST provide:
[codex:842223] 1. Exact file and line numbers of vulnerable code
[codex:842223] 2. Step-by-step exploit transaction sequence
[codex:842223] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:842223] 
[codex:842223] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:842223] 
[codex:842223] Output MUST be valid JSON matching the provided schema.
[codex:842223] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:842223] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:842223] mcp startup: no servers
[codex:842223] 
[codex:842223] thinking
[codex:842223] **Preparing to read AUDIT_BUNDLE.txt**
[codex:842223] exec
[codex:842223] /bin/bash -lc ls in /tmp/codex-multi-cbpyz2r4 succeeded in 6ms:
[codex:842223] AUDIT_BUNDLE.txt
[codex:842223] codex-output-schema.json
[codex:842223] contracts
[codex:842223] 
[codex:842223] thinking
[codex:842223] **Reading AUDIT_BUNDLE.txt**
[codex:842223] exec
[codex:842223] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cbpyz2r4 succeeded in 5ms:
[codex:842223] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:842223] 
[codex:842223] ================================================================================
[codex:842223] FILE: contracts/contracts/implementations/DepositManager.sol
[codex:842223] ================================================================================
[codex:842223] // SPDX-License-Identifier: UNLICENSED
[codex:842223] pragma solidity 0.8.16;
[codex:842223] 
[codex:842223] import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:842223] import {AddressUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";
[codex:842223] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:842223] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:842223] 
[codex:842223] import {IAccessControlManager} from "../interfaces/IAccessControlManager.sol";
[codex:842223] import {IDepositManager} from "../interfaces/IDepositManager.sol";
[codex:842223] import {INodeOperatorRegistry} from "../interfaces/INodeOperatorRegistry.sol";
[codex:842223] 
[codex:842223] import {SwellLib} from "../libraries/SwellLib.sol";
[codex:842223] import {DepositDataRoot} from "../libraries/DepositDataRoot.sol";
[codex:842223] 
[codex:842223] 
[codex:842223] thinking
[codex:842223] **Planning vulnerability search in audit bundle**
[codex:842223] 
[codex:842223] I'm preparing to comb through the large AUDIT_BUNDLE.txt carefully, using ripgrep to locate key functions like withdraw, transfer, and mint that might reveal exploits. I want to identify unprotected initializer functions or access control flaws in proxies, aiming to find concrete exploit paths with exact line numbers for any findings.
[codex:842223] exec
[codex:842223] /bin/bash -lc 'rg -n "withdraw|transfer|mint|burn|claim|redeem|exit|stake|unstake|deposit" -n contracts/contracts -S' in /tmp/codex-multi-cbpyz2r4 succeeded in 12ms:
[codex:842223] contracts/contracts/interfaces/IswETH.sol:57:   * @dev Throw when the caller tries to burn 0 swETH
[codex:842223] contracts/contracts/interfaces/IswETH.sol:59:  error CannotBurnZeroSwETH();
[codex:842223] contracts/contracts/interfaces/IswETH.sol:64:   * @dev Event emitted when a user withdraws ETH for swETH
[codex:842223] contracts/contracts/interfaces/IswETH.sol:66:   * @param swETHBurned Amount of SwETH burned in the transaction.
[codex:842223] contracts/contracts/interfaces/IswETH.sol:69:  event ETHWithdrawn(
[codex:842223] contracts/contracts/interfaces/IswETH.sol:71:    uint256 swETHBurned,
[codex:842223] contracts/contracts/interfaces/IswETH.sol:103:   * @param totalETHDeposited Current total ETH staked at time of reprice.
[codex:842223] contracts/contracts/interfaces/IswETH.sol:110:    uint256 totalETHDeposited
[codex:842223] contracts/contracts/interfaces/IswETH.sol:116:   * @param swETHMinted The amount of swETH minted to the caller
[codex:842223] contracts/contracts/interfaces/IswETH.sol:120:  event ETHDepositReceived(
[codex:842223] contracts/contracts/interfaces/IswETH.sol:123:    uint256 swETHMinted,
[codex:842223] contracts/contracts/interfaces/IswETH.sol:124:    uint256 newTotalETHDeposited,
[codex:842223] contracts/contracts/interfaces/IswETH.sol:162:   * @dev This method withdraws contract's _token balance to a platform admin
[codex:842223] contracts/contracts/interfaces/IswETH.sol:163:   * @param _token The ERC20 token to withdraw from the contract
[codex:842223] contracts/contracts/interfaces/IswETH.sol:165:  function withdrawERC20(IERC20 _token) external;
[codex:842223] contracts/contracts/interfaces/IswETH.sol:180:   * @dev Returns the total ETH that has been deposited over the protocols lifespan
[codex:842223] contracts/contracts/interfaces/IswETH.sol:181:   * @return The current total amount of ETH that has been deposited
[codex:842223] contracts/contracts/interfaces/IswETH.sol:183:  function totalETHDeposited() external view returns (uint256);
[codex:842223] contracts/contracts/interfaces/IswETH.sol:274:   * @dev Deposits ETH into the contract
[codex:842223] contracts/contracts/interfaces/IswETH.sol:275:   * @notice The amount of ETH deposited will be converted to SwETH at the current SwETH to ETH rate
[codex:842223] 
[codex:842223] thinking
[codex:842223] **Considering broader file search**
[codex:842223] exec
[codex:842223] /bin/bash -lc 'rg --files contracts/contracts/implementations -g "*.sol"' in /tmp/codex-multi-cbpyz2r4 succeeded in 8ms:
[codex:842223] contracts/contracts/implementations/DepositManager.sol
[codex:842223] 
[codex:842223] thinking
[codex:842223] **Listing contract directories**
[codex:842223] exec
[codex:842223] /bin/bash -lc 'find contracts/contracts -maxdepth 3 -type f -name "*.sol"' in /tmp/codex-multi-cbpyz2r4 succeeded in 7ms:
[codex:842223] contracts/contracts/implementations/DepositManager.sol
[codex:842223] contracts/contracts/libraries/SwellLib.sol
[codex:842223] contracts/contracts/libraries/DepositDataRoot.sol
[codex:842223] contracts/contracts/vendors/IDepositContract.sol
[codex:842223] contracts/contracts/vendors/IPoRAddresses.sol
[codex:842223] contracts/contracts/interfaces/IswEXIT.sol
[codex:842223] contracts/contracts/interfaces/IDepositManager.sol
[codex:842223] contracts/contracts/interfaces/INodeOperatorRegistry.sol
[codex:842223] contracts/contracts/interfaces/IAccessControlManager.sol
[codex:842223] contracts/contracts/interfaces/IswETH.sol
[codex:842223] 
[codex:842223] thinking
[codex:842223] **Analyzing unprotected initialize vulnerability**
[codex:842223] 
[codex:842223] I'm focusing on DepositManager as the main contract with potential risk. The key suspect is the unprotected external initialize function in this upgradeable proxy setup, which could let an attacker set a malicious AccessControlManager and bypass role checks, enabling withdrawal of ETH and ERC20 tokens. This classic proxy hijacking risk hinges on the contract being uninitialized after deployment—a deployment misconfiguration—but it fits a high-value pattern to flag. I'll now look for exact source lines and confirm exploit steps to back this up.
[codex:842223] exec
[codex:842223] /bin/bash -lc 'nl -ba contracts/contracts/implementations/DepositManager.sol' in /tmp/codex-multi-cbpyz2r4 succeeded in 6ms:
[codex:842223]      1	// SPDX-License-Identifier: UNLICENSED
[codex:842223]      2	pragma solidity 0.8.16;
[codex:842223]      3	
[codex:842223]      4	import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:842223]      5	import {AddressUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";
[codex:842223]      6	import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:842223]      7	import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:842223]      8	
[codex:842223]      9	import {IAccessControlManager} from "../interfaces/IAccessControlManager.sol";
[codex:842223]     10	import {IDepositManager} from "../interfaces/IDepositManager.sol";
[codex:842223]     11	import {INodeOperatorRegistry} from "../interfaces/INodeOperatorRegistry.sol";
[codex:842223]     12	
[codex:842223]     13	import {SwellLib} from "../libraries/SwellLib.sol";
[codex:842223]     14	import {DepositDataRoot} from "../libraries/DepositDataRoot.sol";
[codex:842223]     15	
[codex:842223]     16	import {IDepositContract} from "../vendors/IDepositContract.sol";
[codex:842223]     17	
[codex:842223]     18	/**
[codex:842223]     19	 * @title DepositManager
[codex:842223]     20	 * @author https://github.com/max-taylor
[codex:842223] 
[codex:842223] thinking
[codex:842223] **Summarizing vulnerable initialization exploit**
[codex:842223] codex
[codex:842223] {"no_findings":false,"summary":"Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize enables proxy hijack and ETH/ERC20 drain","exploit_scenario":"1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance.","recommendation":"Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.","evidence":"initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.","locations":["contracts/contracts/implementations/DepositManager.sol:58","contracts/contracts/implementations/DepositManager.sol:74","contracts/contracts/implementations/DepositManager.sol:145"]}]}
[codex:842223] tokens used
[codex:842223] 47,894
[codex:842223] {"no_findings":false,"summary":"Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize enables proxy hijack and ETH/ERC20 drain","exploit_scenario":"1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance.","recommendation":"Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.","evidence":"initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.","locations":["contracts/contracts/implementations/DepositManager.sol:58","contracts/contracts/implementations/DepositManager.sol:74","contracts/contracts/implementations/DepositManager.sol:145"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-03T00:22:28.044997+00:00",
        "returncode": 0
    },
    "summary": "Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.",
    "raw_final": {
        "summary": "Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.",
        "findings": [
            {
                "title": "Unprotected initialize enables proxy hijack and ETH/ERC20 drain",
                "category": "upgradeability",
                "evidence": "initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.",
                "severity": "critical",
                "locations": [
                    "contracts/contracts/implementations/DepositManager.sol:58",
                    "contracts/contracts/implementations/DepositManager.sol:74",
                    "contracts/contracts/implementations/DepositManager.sol:145"
                ],
                "recommendation": "Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.",
                "exploit_scenario": "1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
21
EXT*/BALANCE
5
Total opcodes
4588
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0074
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x56396715
00000019: GT
0000001a: PUSH2 0x004e
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x56396715
00000024: EQ
00000025: PUSH2 0x0154
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x902340a1
0000002f: EQ
00000030: PUSH2 0x0176
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xc4d66de8
0000003a: EQ
0000003b: PUSH2 0x019c
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf4f3b200
00000045: EQ
00000046: PUSH2 0x01bc
00000049: JUMPI
0000004a: PUSH2 0x00b0
0000004d: JUMP
0000004e: JUMPDEST
0000004f: DUP1
00000050: PUSH4 0x1558687a
00000055: EQ
00000056: PUSH2 0x00d5
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x1bc2399f
00000060: EQ
00000061: PUSH2 0x0112
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x2b8e227d
0000006b: EQ
0000006c: PUSH2 0x0134
0000006f: JUMPI
00000070: PUSH2 0x00b0
00000073: JUMP
00000074: JUMPDEST
00000075: CALLDATASIZE
00000076: PUSH2 0x00b0
00000079: JUMPI
0000007a: PUSH1 0x40
0000007c: MLOAD
0000007d: CALLVALUE
0000007e: DUP2
0000007f: MSTORE
00000080: CALLER
00000081: SWAP1
00000082: PUSH32 0xbfe611b001dfcd411432f7bf0d79b82b4b2ee81511edac123a3403c357fb972a
000000a3: SWAP1
000000a4: PUSH1 0x20
000000a6: ADD
000000a7: PUSH1 0x40
000000a9: MLOAD
000000aa: DUP1
000000ab: SWAP2
000000ac: SUB
000000ad: SWAP1
000000ae: LOG2
000000af: STOP
000000b0: JUMPDEST
000000b1: CALLVALUE
000000b2: DUP1
000000b3: ISZERO
000000b4: PUSH2 0x00bc
000000b7: JUMPI
000000b8: PUSH1 0x00
000000ba: DUP1
000000bb: REVERT
000000bc: JUMPDEST
000000bd: POP
000000be: PUSH1 0x40
000000c0: MLOAD
000000c1: PUSH3 0x393b6d
000000c5: PUSH1 0xe1
000000c7: SHL
000000c8: DUP2
000000c9: MSTORE
000000ca: PUSH1 0x04
000000cc: ADD
000000cd: PUSH1 0x40
000000cf: MLOAD
000000d0: DUP1
000000d1: SWAP2
000000d2: SUB
000000d3: SWAP1
000000d4: REVERT
000000d5: JUMPDEST
000000d6: CALLVALUE
000000d7: DUP1
000000d8: ISZERO
000000d9: PUSH2 0x00e1
000000dc: JUMPI
000000dd: PUSH1 0x00
000000df: DUP1
000000e0: REVERT
000000e1: JUMPDEST
000000e2: POP
000000e3: PUSH1 0x01
000000e5: SLOAD
000000e6: PUSH2 0x00f5
000000e9: SWAP1
000000ea: PUSH1 0x01
000000ec: PUSH1 0x01
000000ee: PUSH1 0xa0
000000f0: SHL
000000f1: SUB
000000f2: AND
000000f3: DUP2
000000f4: JUMP
000000f5: JUMPDEST
000000f6: PUSH1 0x40
000000f8: MLOAD
000000f9: PUSH1 0x01
000000fb: PUSH1 0x01
000000fd: PUSH1 0xa0
000000ff: SHL
00000100: SUB
00000101: SWAP1
00000102: SWAP2
00000103: AND
00000104: DUP2
00000105: MSTORE
00000106: PUSH1 0x20
00000108: ADD
00000109: JUMPDEST
0000010a: PUSH1 0x40
0000010c: MLOAD
0000010d: DUP1
0000010e: SWAP2
0000010f: SUB
00000110: SWAP1
00000111: RETURN
00000112: JUMPDEST
00000113: CALLVALUE
00000114: DUP1
00000115: ISZERO
00000116: PUSH2 0x011e
00000119: JUMPI
0000011a: PUSH1 0x00
0000011c: DUP1
0000011d: REVERT
0000011e: JUMPDEST
0000011f: POP
00000120: PUSH2 0x0132
00000123: PUSH2 0x012d
00000126: CALLDATASIZE
00000127: PUSH1 0x04
00000129: PUSH2 0x14fb
0000012c: JUMP
0000012d: JUMPDEST
0000012e: PUSH2 0x01dc
00000131: JUMP
00000132: JUMPDEST
00000133: STOP
00000134: JUMPDEST
00000135: CALLVALUE
00000136: DUP1
00000137: ISZERO
00000138: PUSH2 0x0140
0000013b: JUMPI
0000013c: PUSH1 0x00
0000013e: DUP1
0000013f: REVERT
00000140: JUMPDEST
00000141: POP
00000142: PUSH2 0x0132
00000145: PUSH2 0x014f
00000148: CALLDATASIZE
00000149: PUSH1 0x04
0000014b: PUSH2 0x1514
0000014e: JUMP
0000014f: JUMPDEST
00000150: PUSH2 0x02c6
00000153: JUMP
00000154: JUMPDEST
00000155: CALLVALUE
00000156: DUP1
00000157: ISZERO
00000158: PUSH2 0x0160
0000015b: JUMPI
0000015c: PUSH1 0x00
0000015e: DUP1
0000015f: REVERT
00000160: JUMPDEST
00000161: POP
00000162: PUSH2 0x0169
00000165: PUSH2 0x0800
00000168: JUMP
00000169: JUMPDEST
0000016a: PUSH1 0x40
0000016c: MLOAD
0000016d: PUSH2 0x0109
00000170: SWAP2
00000171: SWAP1
00000172: PUSH2 0x15df
00000175: JUMP
00000176: JUMPDEST
00000177: CALLVALUE
00000178: DUP1
00000179: ISZERO
0000017a: PUSH2 0x0182
0000017d: JUMPI
0000017e: PUSH1 0x00
00000180: DUP1
00000181: REVERT
00000182: JUMPDEST
00000183: POP
00000184: PUSH1 0x00
00000186: SLOAD
00000187: PUSH2 0x00f5
0000018a: SWAP1
0000018b: PUSH3 0x010000
0000018f: SWAP1
00000190: DIV
00000191: PUSH1 0x01
00000193: PUSH1 0x01
00000195: PUSH1 0xa0
00000197: SHL
00000198: SUB
00000199: AND
0000019a: DUP2
0000019b: JUMP
0000019c: JUMPDEST
0000019d: CALLVALUE
0000019e: DUP1
0000019f: ISZERO
000001a0: PUSH2 0x01a8
000001a3: JUMPI
000001a4: PUSH1 0x00
000001a6: DUP1
000001a7: REVERT
000001a8: JUMPDEST
000001a9: POP
000001aa: PUSH2 0x0132
000001ad: PUSH2 0x01b7
000001b0: CALLDATASIZE
000001b1: PUSH1 0x04
000001b3: PUSH2 0x160e
000001b6: JUMP
000001b7: JUMPDEST
000001b8: PUSH2 0x085c
000001bb: JUMP
000001bc: JUMPDEST
000001bd: CALLVALUE
000001be: DUP1
000001bf: ISZERO
000001c0: PUSH2 0x01c8
000001c3: JUMPI
000001c4: PUSH1 0x00
000001c6: DUP1
000001c7: REVERT
000001c8: JUMPDEST
000001c9: POP
000001ca: PUSH2 0x0132
000001cd: PUSH2 0x01d7
000001d0: CALLDATASIZE
000001d1: PUSH1 0x04
000001d3: PUSH2 0x160e
000001d6: JUMP
000001d7: JUMPDEST
000001d8: PUSH2 0x09bc
000001db: JUMP
000001dc: JUMPDEST
000001dd: PUSH1 0x00
000001df: PUSH1 0x02
000001e1: SWAP1
000001e2: SLOAD
000001e3: SWAP1
000001e4: PUSH2 0x0100
000001e7: EXP
000001e8: SWAP1
000001e9: DIV
000001ea: PUSH1 0x01
000001ec: PUSH1 0x01
000001ee: PUSH1 0xa0
000001f0: SHL
000001f1: SUB
000001f2: AND
000001f3: PUSH1 0x01
000001f5: PUSH1 0x01
000001f7: PUSH1 0xa0
000001f9: SHL
000001fa: SUB
000001fb: AND
000001fc: PUSH4 0xe1bce57a
00000201: PUSH1 0x40
00000203: MLOAD
00000204: DUP2
00000205: PUSH4 0xffffffff
0000020a: AND
0000020b: PUSH1 0xe0
0000020d: SHL
0000020e: DUP2
0000020f: MSTORE
00000210: PUSH1 0x04
00000212: ADD
00000213: PUSH1 0x20
00000215: PUSH1 0x40
00000217: MLOAD
00000218: DUP1
00000219: DUP4
0000021a: SUB
0000021b: DUP2
0000021c: DUP7
0000021d: GAS
0000021e: STATICCALL
0000021f: ISZERO
00000220: DUP1
00000221: ISZERO
00000222: PUSH2 0x022f
00000225: JUMPI
00000226: RETURNDATASIZE
00000227: PUSH1 0x00
00000229: DUP1
0000022a: RETURNDATACOPY
0000022b: RETURNDATASIZE
0000022c: PUSH1 0x00
0000022e: REVERT
0000022f: JUMPDEST
00000230: POP
00000231: POP
00000232: POP
00000233: POP
00000234: PUSH1 0x40
00000236: MLOAD
00000237: RETURNDATASIZE
00000238: PUSH1 0x1f
0000023a: NOT
0000023b: PUSH1 0x1f
0000023d: DUP3
0000023e: ADD
0000023f: AND
00000240: DUP3
00000241: ADD
00000242: DUP1
00000243: PUSH1 0x40
00000245: MSTORE
00000246: POP
00000247: DUP2
00000248: ADD
00000249: SWAP1
0000024a: PUSH2 0x0253
0000024d: SWAP2
0000024e: SWAP1
0000024f: PUSH2 0x162b
00000252: JUMP
00000253: JUMPDEST
00000254: PUSH1 0x01
00000256: PUSH1 0x01
00000258: PUSH1 0xa0
0000025a: SHL
0000025b: SUB
0000025c: AND
0000025d: CALLER
0000025e: PUSH1 0x01
00000260: PUSH1 0x01
00000262: PUSH1 0xa0
00000264: SHL
00000265: SUB
00000266: AND
00000267: EQ
00000268: PUSH2 0x0284
0000026b: JUMPI
0000026c: PUSH1 0x40
0000026e: MLOAD
0000026f: PUSH4 0x06bedee5
00000274: PUSH1 0xe3
00000276: SHL
00000277: DUP2
00000278: MSTORE
00000279: PUSH1 0x04
0000027b: ADD
0000027c: PUSH1 0x40
0000027e: MLOAD
0000027f: DUP1
00000280: SWAP2
00000281: SUB
00000282: SWAP1
00000283: REVERT
00000284: JUMPDEST
00000285: PUSH2 0x028e
00000288: CALLER
00000289: DUP3
0000028a: PUSH2 0x0aeb
0000028d: JUMP
0000028e: JUMPDEST
0000028f: PUSH1 0x40
00000291: MLOAD
00000292: DUP2
00000293: DUP2
00000294: MSTORE
00000295: CALLER
00000296: SWAP1
00000297: PUSH32 0x78f5cdad99320ec2ba57132d7dffb1d125775c823239e60ff5e9300fd4ac898c
000002b8: SWAP1
000002b9: PUSH1 0x20
000002bb: ADD
000002bc: PUSH1 0x40
000002be: MLOAD
000002bf: DUP1
000002c0: SWAP2
000002c1: SUB
000002c2: SWAP1
000002c3: LOG2
000002c4: POP
000002c5: JUMP
000002c6: JUMPDEST
000002c7: PUSH1 0x00
000002c9: SLOAD
000002ca: PUSH1 0x40
000002cc: MLOAD
000002cd: PUSH4 0x12d9a6ad
000002d2: PUSH1 0xe0
000002d4: SHL
000002d5: DUP2
000002d6: MSTORE
000002d7: PUSH32 0x902cbe3a02736af9827fb6a90bada39e955c0941e08f0c63b3a662a7b17a4e2b
000002f8: PUSH1 0x04
000002fa: DUP3
000002fb: ADD
000002fc: DUP2
000002fd: SWAP1
000002fe: MSTORE
000002ff: CALLER
00000300: PUSH1 0x24
00000302: DUP4
00000303: ADD
00000304: MSTORE
00000305: SWAP2
00000306: PUSH3 0x010000
0000030a: SWAP1
0000030b: DIV
0000030c: PUSH1 0x01
0000030e: PUSH1 0x01
00000310: PUSH1 0xa0
00000312: SHL
00000313: SUB
00000314: AND
00000315: SWAP1
00000316: PUSH4 0x12d9a6ad
0000031b: SWAP1
0000031c: PUSH1 0x44
0000031e: ADD
0000031f: PUSH1 0x00
00000321: PUSH1 0x40
00000323: MLOAD
00000324: DUP1
00000325: DUP4
00000326: SUB
00000327: DUP2
00000328: DUP7
00000329: DUP1
0000032a: EXTCODESIZE
0000032b: ISZERO
0000032c: DUP1
0000032d: ISZERO
0000032e: PUSH2 0x0336
00000331: JUMPI
00000332: PUSH1 0x00
00000334: DUP1
00000335: REVERT
00000336: JUMPDEST
00000337: POP
00000338: GAS
00000339: STATICCALL
0000033a: ISZERO
0000033b: DUP1
0000033c: ISZERO
0000033d: PUSH2 0x034a
00000340: JUMPI
00000341: RETURNDATASIZE
00000342: PUSH1 0x00
00000344: DUP1
00000345: RETURNDATACOPY
00000346: RETURNDATASIZE
00000347: PUSH1 0x00
00000349: REVERT
0000034a: JUMPDEST
0000034b: POP
0000034c: POP
0000034d: POP
0000034e: PUSH1 0x00
00000350: DUP5
00000351: SWAP1
00000352: SUB
00000353: SWAP1
00000354: POP
00000355: PUSH2 0x0371
00000358: JUMPI
00000359: PUSH1 0x40
0000035b: MLOAD
0000035c: PUSH4 0x1ec5a9df
00000361: PUSH1 0xe0
00000363: SHL
00000364: DUP2
00000365: MSTORE
00000366: PUSH1 0x04
00000368: ADD
00000369: PUSH1 0x40
0000036b: MLOAD
0000036c: DUP1
0000036d: SWAP2
0000036e: SUB
0000036f: SWAP1
00000370: REVERT
00000371: JUMPDEST
00000372: PUSH1 0x00
00000374: PUSH1 0x02
00000376: SWAP1
00000377: SLOAD
00000378: SWAP1
00000379: PUSH2 0x0100
0000037c: EXP
0000037d: SWAP1
0000037e: DIV
0000037f: PUSH1 0x01
00000381: PUSH1 0x01
00000383: PUSH1 0xa0
00000385: SHL
00000386: SUB
00000387: AND
00000388: PUSH1 0x01
0000038a: PUSH1 0x01
0000038c: PUSH1 0xa0
0000038e: SHL
0000038f: SUB
00000390: AND
00000391: PUSH4 0xd19a8502
00000396: PUSH1 0x40
00000398: MLOAD
00000399: DUP2
0000039a: PUSH4 0xffffffff
0000039f: AND
000003a0: PUSH1 0xe0
000003a2: SHL
000003a3: DUP2
000003a4: MSTORE
000003a5: PUSH1 0x04
000003a7: ADD
000003a8: PUSH1 0x20
000003aa: PUSH1 0x40
000003ac: MLOAD
000003ad: DUP1
000003ae: DUP4
000003af: SUB
000003b0: DUP2
000003b1: DUP7
000003b2: GAS
000003b3: STATICCALL
000003b4: ISZERO
000003b5: DUP1
000003b6: ISZERO
000003b7: PUSH2 0x03c4
000003ba: JUMPI
000003bb: RETURNDATASIZE
000003bc: PUSH1 0x00
000003be: DUP1
000003bf: RETURNDATACOPY
000003c0: RETURNDATASIZE
000003c1: PUSH1 0x00
000003c3: REVERT
000003c4: JUMPDEST
000003c5: POP
000003c6: POP
000003c7: POP
000003c8: POP
000003c9: PUSH1 0x40
000003cb: MLOAD
000003cc: RETURNDATASIZE
000003cd: PUSH1 0x1f
000003cf: NOT
000003d0: PUSH1 0x1f
000003d2: DUP3
000003d3: ADD
000003d4: AND
000003d5: DUP3
000003d6: ADD
000003d7: DUP1
000003d8: PUSH1 0x40
000003da: MSTORE
000003db: POP
000003dc: DUP2
000003dd: ADD
000003de: SWAP1
000003df: PUSH2 0x03e8
000003e2: SWAP2
000003e3: SWAP1
000003e4: PUSH2 0x1648
000003e7: JUMP
000003e8: JUMPDEST
000003e9: ISZERO
000003ea: PUSH2 0x0406
000003ed: JUMPI
000003ee: PUSH1 0x40
000003f0: MLOAD
000003f1: PUSH4 0xe014c4ff
000003f6: PUSH1 0xe0
000003f8: SHL
000003f9: DUP2
000003fa: MSTORE
000003fb: PUSH1 0x04
000003fd: ADD
000003fe: PUSH1 0x40
00000400: MLOAD
00000401: DUP1
00000402: SWAP2
00000403: SUB
00000404: SWAP1
00000405: REVERT
00000406: JUMPDEST
00000407: PUSH1 0x01
00000409: PUSH1 0x00
0000040b: SWAP1
0000040c: SLOAD
0000040d: SWAP1
0000040e: PUSH2 0x0100
00000411: EXP
00000412: SWAP1
00000413: DIV
00000414: PUSH1 0x01
00000416: PUSH1 0x01
00000418: PUSH1 0xa0
0000041a: SHL
0000041b: SUB
0000041c: AND
0000041d: PUSH1 0x01
0000041f: PUSH1 0x01
00000421: PUSH1 0xa0
00000423: SHL
00000424: SUB
00000425: AND
00000426: PUSH4 0xc5f2892f
0000042b: PUSH1 0x40
0000042d: MLOAD
0000042e: DUP2
0000042f: PUSH4 0xffffffff
00000434: AND
00000435: PUSH1 0xe0
00000437: SHL
00000438: DUP2
00000439: MSTORE
0000043a: PUSH1 0x04
0000043c: ADD
0000043d: PUSH1 0x20
0000043f: PUSH1 0x40
00000441: MLOAD
00000442: DUP1
00000443: DUP4
00000444: SUB
00000445: DUP2
00000446: DUP7
00000447: GAS
00000448: STATICCALL
00000449: ISZERO
0000044a: DUP1
0000044b: ISZERO
0000044c: PUSH2 0x0459
0000044f: JUMPI
00000450: RETURNDATASIZE
00000451: PUSH1 0x00
00000453: DUP1
00000454: RETURNDATACOPY
00000455: RETURNDATASIZE
00000456: PUSH1 0x00
00000458: REVERT
00000459: JUMPDEST
0000045a: POP
0000045b: POP
0000045c: POP
0000045d: POP
0000045e: PUSH1 0x40
00000460: MLOAD
00000461: RETURNDATASIZE
00000462: PUSH1 0x1f
00000464: NOT
00000465: PUSH1 0x1f
00000467: DUP3
00000468: ADD
00000469: AND
0000046a: DUP3
0000046b: ADD
0000046c: DUP1
0000046d: PUSH1 0x40
0000046f: MSTORE
00000470: POP
00000471: DUP2
00000472: ADD
00000473: SWAP1
00000474: PUSH2 0x047d
00000477: SWAP2
00000478: SWAP1
00000479: PUSH2 0x166a
0000047c: JUMP
0000047d: JUMPDEST
0000047e: DUP3
0000047f: EQ
00000480: PUSH2 0x049c
00000483: JUMPI
00000484: PUSH1 0x40
00000486: MLOAD
00000487: PUSH4 0x511fc763
0000048c: PUSH1 0xe0
0000048e: SHL
0000048f: DUP2
00000490: MSTORE
00000491: PUSH1 0x04
00000493: ADD
00000494: PUSH1 0x40
00000496: MLOAD
00000497: DUP1
00000498: SWAP2
00000499: SUB
0000049a: SWAP1
0000049b: REVERT
0000049c: JUMPDEST
0000049d: PUSH1 0x00
0000049f: DUP1
000004a0: PUSH1 0x02
000004a2: SWAP1
000004a3: SLOAD
000004a4: SWAP1
000004a5: PUSH2 0x0100
000004a8: EXP
000004a9: SWAP1
000004aa: DIV
000004ab: PUSH1 0x01
000004ad: PUSH1 0x01
000004af: PUSH1 0xa0
000004b1: SHL
000004b2: SUB
000004b3: AND
000004b4: PUSH1 0x01
000004b6: PUSH1 0x01
000004b8: PUSH1 0xa0
000004ba: SHL
000004bb: SUB
000004bc: AND
000004bd: PUSH4 0xe1bce57a
000004c2: PUSH1 0x40
000004c4: MLOAD
000004c5: DUP2
000004c6: PUSH4 0xffffffff
000004cb: AND
000004cc: PUSH1 0xe0
000004ce: SHL
000004cf: DUP2
000004d0: MSTORE
000004d1: PUSH1 0x04
000004d3: ADD
000004d4: PUSH1 0x20
000004d6: PUSH1 0x40
000004d8: MLOAD
000004d9: DUP1
000004da: DUP4
000004db: SUB
000004dc: DUP2
000004dd: DUP7
000004de: GAS
000004df: STATICCALL
000004e0: ISZERO
000004e1: DUP1
000004e2: ISZERO
000004e3: PUSH2 0x04f0
000004e6: JUMPI
000004e7: RETURNDATASIZE
000004e8: PUSH1 0x00
000004ea: DUP1
000004eb: RETURNDATACOPY
000004ec: RETURNDATASIZE
000004ed: PUSH1 0x00
000004ef: REVERT
000004f0: JUMPDEST
000004f1: POP
000004f2: POP
000004f3: POP
000004f4: POP
000004f5: PUSH1 0x40
000004f7: MLOAD
000004f8: RETURNDATASIZE
000004f9: PUSH1 0x1f
000004fb: NOT
000004fc: PUSH1 0x1f
000004fe: DUP3
000004ff: ADD
00000500: AND
00000501: DUP3
00000502: ADD
00000503: DUP1
00000504: PUSH1 0x40
00000506: MSTORE
00000507: POP
00000508: DUP2
00000509: ADD
0000050a: SWAP1
0000050b: PUSH2 0x0514
0000050e: SWAP2
0000050f: SWAP1
00000510: PUSH2 0x162b
00000513: JUMP
00000514: JUMPDEST
00000515: PUSH1 0x01
00000517: PUSH1 0x01
00000519: PUSH1 0xa0
0000051b: SHL
0000051c: SUB
0000051d: AND
0000051e: PUSH4 0x8545f689
00000523: PUSH1 0x40
00000525: MLOAD
00000526: DUP2
00000527: PUSH4 0xffffffff
0000052c: AND
0000052d: PUSH1 0xe0
0000052f: SHL
00000530: DUP2
00000531: MSTORE
00000532: PUSH1 0x04
00000534: ADD
00000535: PUSH1 0x20
00000537: PUSH1 0x40
00000539: MLOAD
0000053a: DUP1
0000053b: DUP4
0000053c: SUB
0000053d: DUP2
0000053e: DUP7
0000053f: GAS
00000540: STATICCALL
00000541: ISZERO
00000542: DUP1
00000543: ISZERO
00000544: PUSH2 0x0551
00000547: JUMPI
00000548: RETURNDATASIZE
00000549: PUSH1 0x00
0000054b: DUP1
0000054c: RETURNDATACOPY
0000054d: RETURNDATASIZE
0000054e: PUSH1 0x00
00000550: REVERT
00000551: JUMPDEST
00000552: POP
00000553: POP
00000554: POP
00000555: POP
00000556: PUSH1 0x40
00000558: MLOAD
00000559: RETURNDATASIZE
0000055a: PUSH1 0x1f
0000055c: NOT
0000055d: PUSH1 0x1f
0000055f: DUP3
00000560: ADD
00000561: AND
00000562: DUP3
00000563: ADD
00000564: DUP1
00000565: PUSH1 0x40
00000567: MSTORE
00000568: POP
00000569: DUP2
0000056a: ADD
0000056b: SWAP1
0000056c: PUSH2 0x0575
0000056f: SWAP2
00000570: SWAP1
00000571: PUSH2 0x166a
00000574: JUMP
00000575: JUMPDEST
00000576: SWAP1
00000577: POP
00000578: PUSH9 0x01bc16d674ec800000
00000582: DUP2
00000583: PUSH2 0x058c
00000586: DUP3
00000587: DUP8
00000588: PUSH2 0x1699
0000058b: JUMP
0000058c: JUMPDEST
0000058d: PUSH2 0x0596
00000590: SWAP2
00000591: SWAP1
00000592: PUSH2 0x16b8
00000595: JUMP
00000596: JUMPDEST
00000597: SELFBALANCE
00000598: LT
00000599: ISZERO
0000059a: PUSH2 0x05b6
0000059d: JUMPI
0000059e: PUSH1 0x40
000005a0: MLOAD
000005a1: PUSH4 0x5dd90557
000005a6: PUSH1 0xe1
000005a8: SHL
000005a9: DUP2
000005aa: MSTORE
000005ab: PUSH1 0x04
000005ad: ADD
000005ae: PUSH1 0x40
000005b0: MLOAD
000005b1: DUP1
000005b2: SWAP2
000005b3: SUB
000005b4: SWAP1
000005b5: REVERT
000005b6: JUMPDEST
000005b7: PUSH1 0x00
000005b9: DUP1
000005ba: PUSH1 0x02
000005bc: SWAP1
000005bd: SLOAD
000005be: SWAP1
000005bf: PUSH2 0x0100
000005c2: EXP
000005c3: SWAP1
000005c4: DIV
000005c5: PUSH1 0x01
000005c7: PUSH1 0x01
000005c9: PUSH1 0xa0
000005cb: SHL
000005cc: SUB
000005cd: AND
000005ce: PUSH1 0x01
000005d0: PUSH1 0x01
000005d2: PUSH1 0xa0
000005d4: SHL
000005d5: SUB
000005d6: AND
000005d7: PUSH4 0x9ffaaa3b
000005dc: PUSH1 0x40
000005de: MLOAD
000005df: DUP2
000005e0: PUSH4 0xffffffff
000005e5: AND
000005e6: PUSH1 0xe0
000005e8: SHL
000005e9: DUP2
000005ea: MSTORE
000005eb: PUSH1 0x04
000005ed: ADD
000005ee: PUSH1 0x20
000005f0: PUSH1 0x40
000005f2: MLOAD
000005f3: DUP1
000005f4: DUP4
000005f5: SUB
000005f6: DUP2
000005f7: DUP7
000005f8: GAS
000005f9: STATICCALL
000005fa: ISZERO
000005fb: DUP1
000005fc: ISZERO
000005fd: PUSH2 0x060a
00000600: JUMPI
00000601: RETURNDATASIZE
00000602: PUSH1 0x00
00000604: DUP1
00000605: RETURNDATACOPY
00000606: RETURNDATASIZE
00000607: PUSH1 0x00
00000609: REVERT
0000060a: JUMPDEST
0000060b: POP
0000060c: POP
0000060d: POP
0000060e: POP
0000060f: PUSH1 0x40
00000611: MLOAD
00000612: RETURNDATASIZE
00000613: PUSH1 0x1f
00000615: NOT
00000616: PUSH1 0x1f
00000618: DUP3
00000619: ADD
0000061a: AND
0000061b: DUP3
0000061c: ADD
0000061d: DUP1
0000061e: PUSH1 0x40
00000620: MSTORE
00000621: POP
00000622: DUP2
00000623: ADD
00000624: SWAP1
00000625: PUSH2 0x062e
00000628: SWAP2
00000629: SWAP1
0000062a: PUSH2 0x162b
0000062d: JUMP
0000062e: JUMPDEST
0000062f: PUSH1 0x01
00000631: PUSH1 0x01
00000633: PUSH1 0xa0
00000635: SHL
00000636: SUB
00000637: AND
00000638: PUSH4 0xc3953502
0000063d: DUP9
0000063e: DUP9
0000063f: PUSH1 0x40
00000641: MLOAD
00000642: DUP4
00000643: PUSH4 0xffffffff
00000648: AND
00000649: PUSH1 0xe0
0000064b: SHL
0000064c: DUP2
0000064d: MSTORE
0000064e: PUSH1 0x04
00000650: ADD
00000651: PUSH2 0x065b
00000654: SWAP3
00000655: SWAP2
00000656: SWAP1
00000657: PUSH2 0x16fa
0000065a: JUMP
0000065b: JUMPDEST
0000065c: PUSH1 0x00
0000065e: PUSH1 0x40
00000660: MLOAD
00000661: DUP1
00000662: DUP4
00000663: SUB
00000664: DUP2
00000665: PUSH1 0x00
00000667: DUP8
00000668: GAS
00000669: CALL
0000066a: ISZERO
0000066b: DUP1
0000066c: ISZERO
0000066d: PUSH2 0x067a
00000670: JUMPI
00000671: RETURNDATASIZE
00000672: PUSH1 0x00
00000674: DUP1
00000675: RETURNDATACOPY
00000676: RETURNDATASIZE
00000677: PUSH1 0x00
00000679: REVERT
0000067a: JUMPDEST
0000067b: POP
0000067c: POP
0000067d: POP
0000067e: POP
0000067f: PUSH1 0x40
00000681: MLOAD
00000682: RETURNDATASIZE
00000683: PUSH1 0x00
00000685: DUP3
00000686: RETURNDATACOPY
00000687: PUSH1 0x1f
00000689: RETURNDATASIZE
0000068a: SWAP1
0000068b: DUP2
0000068c: ADD
0000068d: PUSH1 0x1f
0000068f: NOT
00000690: AND
00000691: DUP3
00000692: ADD
00000693: PUSH1 0x40
00000695: MSTORE
00000696: PUSH2 0x06a2
00000699: SWAP2
0000069a: SWAP1
0000069b: DUP2
0000069c: ADD
0000069d: SWAP1
0000069e: PUSH2 0x186a
000006a1: JUMP
000006a2: JUMPDEST
000006a3: SWAP1
000006a4: POP
000006a5: PUSH1 0x00
000006a7: PUSH2 0x06ae
000006aa: PUSH2 0x0800
000006ad: JUMP
000006ae: JUMPDEST
000006af: DUP3
000006b0: MLOAD
000006b1: SWAP1
000006b2: SWAP2
000006b3: POP
000006b4: PUSH1 0x00
000006b6: JUMPDEST
000006b7: DUP2
000006b8: DUP2
000006b9: LT
000006ba: ISZERO
000006bb: PUSH2 0x07bb
000006be: JUMPI
000006bf: PUSH1 0x00
000006c1: PUSH2 0x0706
000006c4: DUP6
000006c5: DUP4
000006c6: DUP2
000006c7: MLOAD
000006c8: DUP2
000006c9: LT
000006ca: PUSH2 0x06d5
000006cd: JUMPI
000006ce: PUSH2 0x06d5
000006d1: PUSH2 0x197b
000006d4: JUMP
000006d5: JUMPDEST
000006d6: PUSH1 0x20
000006d8: MUL
000006d9: PUSH1 0x20
000006db: ADD
000006dc: ADD
000006dd: MLOAD
000006de: PUSH1 0x00
000006e0: ADD
000006e1: MLOAD
000006e2: DUP6
000006e3: DUP8
000006e4: DUP6
000006e5: DUP2
000006e6: MLOAD
000006e7: DUP2
000006e8: LT
000006e9: PUSH2 0x06f4
000006ec: JUMPI
000006ed: PUSH2 0x06f4
000006f0: PUSH2 0x197b
000006f3: JUMP
000006f4: JUMPDEST
000006f5: PUSH1 0x20
000006f7: MUL
000006f8: PUSH1 0x20
000006fa: ADD
000006fb: ADD
000006fc: MLOAD
000006fd: PUSH1 0x20
000006ff: ADD
00000700: MLOAD
00000701: DUP10
00000702: PUSH2 0x0c04
00000705: JUMP
00000706: JUMPDEST
00000707: PUSH1 0x01
00000709: SLOAD
0000070a: DUP7
0000070b: MLOAD
0000070c: SWAP2
0000070d: SWAP3
0000070e: POP
0000070f: PUSH1 0x01
00000711: PUSH1 0x01
00000713: PUSH1 0xa0
00000715: SHL
00000716: SUB
00000717: AND
00000718: SWAP1
00000719: PUSH4 0x22895118
0000071e: SWAP1
0000071f: DUP9
00000720: SWAP1
00000721: DUP9
00000722: SWAP1
00000723: DUP7
00000724: SWAP1
00000725: DUP2
00000726: LT
00000727: PUSH2 0x0732
0000072a: JUMPI
0000072b: PUSH2 0x0732
0000072e: PUSH2 0x197b
00000731: JUMP
00000732: JUMPDEST
00000733: PUSH1 0x20
00000735: MUL
00000736: PUSH1 0x20
00000738: ADD
00000739: ADD
0000073a: MLOAD
0000073b: PUSH1 0x00
0000073d: ADD
0000073e: MLOAD
0000073f: DUP8
00000740: DUP10
00000741: DUP8
00000742: DUP2
00000743: MLOAD
00000744: DUP2
00000745: LT
00000746: PUSH2 0x0751
00000749: JUMPI
0000074a: PUSH2 0x0751
0000074d: PUSH2 0x197b
00000750: JUMP
00000751: JUMPDEST
00000752: PUSH1 0x20
00000754: MUL
00000755: PUSH1 0x20
00000757: ADD
00000758: ADD
00000759: MLOAD
0000075a: PUSH1 0x20
0000075c: ADD
0000075d: MLOAD
0000075e: DUP7
0000075f: PUSH1 0x40
00000761: MLOAD
00000762: DUP7
00000763: PUSH4 0xffffffff
00000768: AND
00000769: PUSH1 0xe0
0000076b: SHL
0000076c: DUP2
0000076d: MSTORE
0000076e: PUSH1 0x04
00000770: ADD
00000771: PUSH2 0x077d
00000774: SWAP5
00000775: SWAP4
00000776: SWAP3
00000777: SWAP2
00000778: SWAP1
00000779: PUSH2 0x1991
0000077c: JUMP
0000077d: JUMPDEST
0000077e: PUSH1 0x00
00000780: PUSH1 0x40
00000782: MLOAD
00000783: DUP1
00000784: DUP4
00000785: SUB
00000786: DUP2
00000787: DUP6
00000788: DUP9
00000789: DUP1
0000078a: EXTCODESIZE
0000078b: ISZERO
0000078c: DUP1
0000078d: ISZERO
0000078e: PUSH2 0x0796
00000791: JUMPI
00000792: PUSH1 0x00
00000794: DUP1
00000795: REVERT
00000796: JUMPDEST
00000797: POP
00000798: GAS
00000799: CALL
0000079a: ISZERO
0000079b: DUP1
0000079c: ISZERO
0000079d: PUSH2 0x07aa
000007a0: JUMPI
000007a1: RETURNDATASIZE
000007a2: PUSH1 0x00
000007a4: DUP1
000007a5: RETURNDATACOPY
000007a6: RETURNDATASIZE
000007a7: PUSH1 0x00
000007a9: REVERT
000007aa: JUMPDEST
000007ab: POP
000007ac: POP
000007ad: POP
000007ae: POP
000007af: POP
000007b0: DUP2
000007b1: PUSH1 0x01
000007b3: ADD
000007b4: SWAP2
000007b5: POP
000007b6: POP
000007b7: PUSH2 0x06b6
000007ba: JUMP
000007bb: JUMPDEST
000007bc: POP
000007bd: PUSH32 0xffb1367626264d9733e4dcd7f14cd59fc3a2c15d50d1a41f1ee60c96f77a01dd
000007de: DUP10
000007df: DUP10
000007e0: PUSH1 0x40
000007e2: MLOAD
000007e3: PUSH2 0x07ed
000007e6: SWAP3
000007e7: SWAP2
000007e8: SWAP1
000007e9: PUSH2 0x16fa
000007ec: JUMP
000007ed: JUMPDEST
000007ee: PUSH1 0x40
000007f0: MLOAD
000007f1: DUP1
000007f2: SWAP2
000007f3: SUB
000007f4: SWAP1
000007f5: LOG1
000007f6: POP
000007f7: POP
000007f8: POP
000007f9: POP
000007fa: POP
000007fb: POP
000007fc: POP
000007fd: POP
000007fe: POP
000007ff: JUMP
00000800: JUMPDEST
00000801: PUSH1 0x40
00000803: DUP1
00000804: MLOAD
00000805: PUSH1 0x20
00000807: DUP1
00000808: DUP3
00000809: MSTORE
0000080a: DUP2
0000080b: DUP4
0000080c: ADD
0000080d: SWAP1
0000080e: SWAP3
0000080f: MSTORE
00000810: PUSH1 0x60
00000812: SWAP2
00000813: PUSH1 0x20
00000815: DUP3
00000816: ADD
00000817: DUP2
00000818: DUP1
00000819: CALLDATASIZE
0000081a: DUP4
0000081b: CALLDATACOPY
0000081c: ADD
0000081d: SWAP1
0000081e: POP
0000081f: POP
00000820: SWAP1
00000821: POP
00000822: PUSH1 0x01
00000824: PUSH1 0xf8
00000826: SHL
00000827: DUP2
00000828: PUSH1 0x00
0000082a: DUP2
0000082b: MLOAD
0000082c: DUP2
0000082d: LT
0000082e: PUSH2 0x0839
00000831: JUMPI
00000832: PUSH2 0x0839
00000835: PUSH2 0x197b
00000838: JUMP
00000839: JUMPDEST
0000083a: PUSH1 0x20
0000083c: ADD
0000083d: ADD
0000083e: SWAP1
0000083f: PUSH1 0x01
00000841: PUSH1 0x01
00000843: PUSH1 0xf8
00000845: SHL
00000846: SUB
00000847: NOT
00000848: AND
00000849: SWAP1
0000084a: DUP2
0000084b: PUSH1 0x00
0000084d: BYTE
0000084e: SWAP1
0000084f: MSTORE8
00000850: POP
00000851: ADDRESS
00000852: PUSH1 0x60
00000854: SHL
00000855: PUSH1 0x2c
00000857: DUP3
00000858: ADD
00000859: MSTORE
0000085a: SWAP1
0000085b: JUMP
0000085c: JUMPDEST
0000085d: PUSH1 0x00
0000085f: SLOAD
00000860: PUSH2 0x0100
00000863: SWAP1
00000864: DIV
00000865: PUSH1 0xff
00000867: AND
00000868: ISZERO
00000869: DUP1
0000086a: DUP1
0000086b: ISZERO
0000086c: PUSH2 0x087c
0000086f: JUMPI
00000870: POP
00000871: PUSH1 0x00
00000873: SLOAD
00000874: PUSH1 0x01
00000876: PUSH1 0xff
00000878: SWAP1
00000879: SWAP2
0000087a: AND
0000087b: LT
0000087c: JUMPDEST
0000087d: DUP1
0000087e: PUSH2 0x0896
00000881: JUMPI
00000882: POP
00000883: ADDRESS
00000884: EXTCODESIZE
00000885: ISZERO
00000886: DUP1
00000887: ISZERO
00000888: PUSH2 0x0896
0000088b: JUMPI
0000088c: POP
0000088d: PUSH1 0x00
0000088f: SLOAD
00000890: PUSH1 0xff
00000892: AND
00000893: PUSH1 0x01
00000895: EQ
00000896: JUMPDEST
00000897: PUSH2 0x08fe
0000089a: JUMPI
0000089b: PUSH1 0x40
0000089d: MLOAD
0000089e: PUSH3 0x461bcd
000008a2: PUSH1 0xe5
000008a4: SHL
000008a5: DUP2
000008a6: MSTORE
000008a7: PUSH1 0x20
000008a9: PUSH1 0x04
000008ab: DUP3
000008ac: ADD
000008ad: MSTORE
000008ae: PUSH1 0x2e
000008b0: PUSH1 0x24
000008b2: DUP3
000008b3: ADD
000008b4: MSTORE
000008b5: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
000008d6: PUSH1 0x44
000008d8: DUP3
000008d9: ADD
000008da: MSTORE
000008db: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
000008ea: PUSH1 0x92
000008ec: SHL
000008ed: PUSH1 0x64
000008ef: DUP3
000008f0: ADD
000008f1: MSTORE
000008f2: PUSH1 0x84
000008f4: ADD
000008f5: JUMPDEST
000008f6: PUSH1 0x40
000008f8: MLOAD
000008f9: DUP1
000008fa: SWAP2
000008fb: SUB
000008fc: SWAP1
000008fd: REVERT
000008fe: JUMPDEST
000008ff: PUSH1 0x00
00000901: DUP1
00000902: SLOAD
00000903: PUSH1 0xff
00000905: NOT
00000906: AND
00000907: PUSH1 0x01
00000909: OR
0000090a: SWAP1
0000090b: SSTORE
0000090c: DUP1
0000090d: ISZERO
0000090e: PUSH2 0x0921
00000911: JUMPI
00000912: PUSH1 0x00
00000914: DUP1
00000915: SLOAD
00000916: PUSH2 0xff00
00000919: NOT
0000091a: AND
0000091b: PUSH2 0x0100
0000091e: OR
0000091f: SWAP1
00000920: SSTORE
00000921: JUMPDEST
00000922: DUP2
00000923: PUSH2 0x092b
00000926: DUP2
00000927: PUSH2 0x0f5c
0000092a: JUMP
0000092b: JUMPDEST
0000092c: POP
0000092d: PUSH1 0x01
0000092f: DUP1
00000930: SLOAD
00000931: PUSH1 0x01
00000933: PUSH1 0x01
00000935: PUSH1 0xa0
00000937: SHL
00000938: SUB
00000939: NOT
0000093a: AND
0000093b: PUSH16 0x219ab540356cbb839cbe05303d7705fa
0000094c: OR
0000094d: SWAP1
0000094e: SSTORE
0000094f: PUSH1 0x00
00000951: DUP1
00000952: SLOAD
00000953: PUSH1 0x01
00000955: PUSH1 0x01
00000957: PUSH1 0xa0
00000959: SHL
0000095a: SUB
0000095b: DUP5
0000095c: AND
0000095d: PUSH3 0x010000
00000961: MUL
00000962: PUSH3 0x010000
00000966: PUSH1 0x01
00000968: PUSH1 0xb0
0000096a: SHL
0000096b: SUB
0000096c: NOT
0000096d: SWAP1
0000096e: SWAP2
0000096f: AND
00000970: OR
00000971: SWAP1
00000972: SSTORE
00000973: DUP1
00000974: ISZERO
00000975: PUSH2 0x09b8
00000978: JUMPI
00000979: PUSH1 0x00
0000097b: DUP1
0000097c: SLOAD
0000097d: PUSH2 0xff00
00000980: NOT
00000981: AND
00000982: SWAP1
00000983: SSTORE
00000984: PUSH1 0x40
00000986: MLOAD
00000987: PUSH1 0x01
00000989: DUP2
0000098a: MSTORE
0000098b: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
000009ac: SWAP1
000009ad: PUSH1 0x20
000009af: ADD
000009b0: PUSH1 0x40
000009b2: MLOAD
000009b3: DUP1
000009b4: SWAP2
000009b5: SUB
000009b6: SWAP1
000009b7: LOG1
000009b8: JUMPDEST
000009b9: POP
000009ba: POP
000009bb: JUMP
000009bc: JUMPDEST
000009bd: PUSH1 0x00
000009bf: SLOAD
000009c0: PUSH1 0x40
000009c2: MLOAD
000009c3: PUSH4 0x12d9a6ad
000009c8: PUSH1 0xe0
000009ca: SHL
000009cb: DUP2
000009cc: MSTORE
000009cd: PUSH32 0x4ff52032f36e32ac782042a01802e20394d4255c84a3c046490be98ab632691b
000009ee: PUSH1 0x04
000009f0: DUP3
000009f1: ADD
000009f2: DUP2
000009f3: SWAP1
000009f4: MSTORE
000009f5: CALLER
000009f6: PUSH1 0x24
000009f8: DUP4
000009f9: ADD
000009fa: MSTORE
000009fb: SWAP2
000009fc: PUSH3 0x010000
00000a00: SWAP1
00000a01: DIV
00000a02: PUSH1 0x01
00000a04: PUSH1 0x01
00000a06: PUSH1 0xa0
00000a08: SHL
00000a09: SUB
00000a0a: AND
00000a0b: SWAP1
00000a0c: PUSH4 0x12d9a6ad
00000a11: SWAP1
00000a12: PUSH1 0x44
00000a14: ADD
00000a15: PUSH1 0x00
00000a17: PUSH1 0x40
00000a19: MLOAD
00000a1a: DUP1
00000a1b: DUP4
00000a1c: SUB
00000a1d: DUP2
00000a1e: DUP7
00000a1f: DUP1
00000a20: EXTCODESIZE
00000a21: ISZERO
00000a22: DUP1
00000a23: ISZERO
00000a24: PUSH2 0x0a2c
00000a27: JUMPI
00000a28: PUSH1 0x00
00000a2a: DUP1
00000a2b: REVERT
00000a2c: JUMPDEST
00000a2d: POP
00000a2e: GAS
00000a2f: STATICCALL
00000a30: ISZERO
00000a31: DUP1
00000a32: ISZERO
00000a33: PUSH2 0x0a40
00000a36: JUMPI
00000a37: RETURNDATASIZE
00000a38: PUSH1 0x00
00000a3a: DUP1
00000a3b: RETURNDATACOPY
00000a3c: RETURNDATASIZE
00000a3d: PUSH1 0x00
00000a3f: REVERT
00000a40: JUMPDEST
00000a41: POP
00000a42: POP
00000a43: PUSH1 0x40
00000a45: MLOAD
00000a46: PUSH4 0x70a08231
00000a4b: PUSH1 0xe0
00000a4d: SHL
00000a4e: DUP2
00000a4f: MSTORE
00000a50: ADDRESS
00000a51: PUSH1 0x04
00000a53: DUP3
00000a54: ADD
00000a55: MSTORE
00000a56: PUSH1 0x00
00000a58: SWAP3
00000a59: POP
00000a5a: PUSH1 0x01
00000a5c: PUSH1 0x01
00000a5e: PUSH1 0xa0
00000a60: SHL
00000a61: SUB
00000a62: DUP6
00000a63: AND
00000a64: SWAP2
00000a65: POP
00000a66: PUSH4 0x70a08231
00000a6b: SWAP1
00000a6c: PUSH1 0x24
00000a6e: ADD
00000a6f: PUSH1 0x20
00000a71: PUSH1 0x40
00000a73: MLOAD
00000a74: DUP1
00000a75: DUP4
00000a76: SUB
00000a77: DUP2
00000a78: DUP7
00000a79: GAS
00000a7a: STATICCALL
00000a7b: ISZERO
00000a7c: DUP1
00000a7d: ISZERO
00000a7e: PUSH2 0x0a8b
00000a81: JUMPI
00000a82: RETURNDATASIZE
00000a83: PUSH1 0x00
00000a85: DUP1
00000a86: RETURNDATACOPY
00000a87: RETURNDATASIZE
00000a88: PUSH1 0x00
00000a8a: REVERT
00000a8b: JUMPDEST
00000a8c: POP
00000a8d: POP
00000a8e: POP
00000a8f: POP
00000a90: PUSH1 0x40
00000a92: MLOAD
00000a93: RETURNDATASIZE
00000a94: PUSH1 0x1f
00000a96: NOT
00000a97: PUSH1 0x1f
00000a99: DUP3
00000a9a: ADD
00000a9b: AND
00000a9c: DUP3
00000a9d: ADD
00000a9e: DUP1
00000a9f: PUSH1 0x40
00000aa1: MSTORE
00000aa2: POP
00000aa3: DUP2
00000aa4: ADD
00000aa5: SWAP1
00000aa6: PUSH2 0x0aaf
00000aa9: SWAP2
00000aaa: SWAP1
00000aab: PUSH2 0x166a
00000aae: JUMP
00000aaf: JUMPDEST
00000ab0: SWAP1
00000ab1: POP
00000ab2: DUP1
00000ab3: PUSH1 0x00
00000ab5: SUB
00000ab6: PUSH2 0x0ad2
00000ab9: JUMPI
00000aba: PUSH1 0x40
00000abc: MLOAD
00000abd: PUSH4 0x7dd28aa7
00000ac2: PUSH1 0xe1
00000ac4: SHL
00000ac5: DUP2
00000ac6: MSTORE
00000ac7: PUSH1 0x04
00000ac9: ADD
00000aca: PUSH1 0x40
00000acc: MLOAD
00000acd: DUP1
00000ace: SWAP2
00000acf: SUB
00000ad0: SWAP1
00000ad1: REVERT
00000ad2: JUMPDEST
00000ad3: PUSH2 0x0ae6
00000ad6: PUSH1 0x01
00000ad8: PUSH1 0x01
00000ada: PUSH1 0xa0
00000adc: SHL
00000add: SUB
00000ade: DUP5
00000adf: AND
00000ae0: CALLER
00000ae1: DUP4
00000ae2: PUSH2 0x0f86
00000ae5: JUMP
00000ae6: JUMPDEST
00000ae7: POP
00000ae8: POP
00000ae9: POP
00000aea: JUMP
00000aeb: JUMPDEST
00000aec: DUP1
00000aed: SELFBALANCE
00000aee: LT
00000aef: ISZERO
00000af0: PUSH2 0x0b3b
00000af3: JUMPI
00000af4: PUSH1 0x40
00000af6: MLOAD
00000af7: PUSH3 0x461bcd
00000afb: PUSH1 0xe5
00000afd: SHL
00000afe: DUP2
00000aff: MSTORE
00000b00: PUSH1 0x20
00000b02: PUSH1 0x04
00000b04: DUP3
00000b05: ADD
00000b06: MSTORE
00000b07: PUSH1 0x1d
00000b09: PUSH1 0x24
00000b0b: DUP3
00000b0c: ADD
00000b0d: MSTORE
00000b0e: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
00000b2f: PUSH1 0x44
00000b31: DUP3
00000b32: ADD
00000b33: MSTORE
00000b34: PUSH1 0x64
00000b36: ADD
00000b37: PUSH2 0x08f5
00000b3a: JUMP
00000b3b: JUMPDEST
00000b3c: PUSH1 0x00
00000b3e: DUP3
00000b3f: PUSH1 0x01
00000b41: PUSH1 0x01
00000b43: PUSH1 0xa0
00000b45: SHL
00000b46: SUB
00000b47: AND
00000b48: DUP3
00000b49: PUSH1 0x40
00000b4b: MLOAD
00000b4c: PUSH1 0x00
00000b4e: PUSH1 0x40
00000b50: MLOAD
00000b51: DUP1
00000b52: DUP4
00000b53: SUB
00000b54: DUP2
00000b55: DUP6
00000b56: DUP8
00000b57: GAS
00000b58: CALL
00000b59: SWAP3
00000b5a: POP
00000b5b: POP
00000b5c: POP
00000b5d: RETURNDATASIZE
00000b5e: DUP1
00000b5f: PUSH1 0x00
00000b61: DUP2
00000b62: EQ
00000b63: PUSH2 0x0b88
00000b66: JUMPI
00000b67: PUSH1 0x40
00000b69: MLOAD
00000b6a: SWAP2
00000b6b: POP
00000b6c: PUSH1 0x1f
00000b6e: NOT
00000b6f: PUSH1 0x3f
00000b71: RETURNDATASIZE
00000b72: ADD
00000b73: AND
00000b74: DUP3
00000b75: ADD
00000b76: PUSH1 0x40
00000b78: MSTORE
00000b79: RETURNDATASIZE
00000b7a: DUP3
00000b7b: MSTORE
00000b7c: RETURNDATASIZE
00000b7d: PUSH1 0x00
00000b7f: PUSH1 0x20
00000b81: DUP5
00000b82: ADD
00000b83: RETURNDATACOPY
00000b84: PUSH2 0x0b8d
00000b87: JUMP
00000b88: JUMPDEST
00000b89: PUSH1 0x60
00000b8b: SWAP2
00000b8c: POP
00000b8d: JUMPDEST
00000b8e: POP
00000b8f: POP
00000b90: SWAP1
00000b91: POP
00000b92: DUP1
00000b93: PUSH2 0x0ae6
00000b96: JUMPI
00000b97: PUSH1 0x40
00000b99: MLOAD
00000b9a: PUSH3 0x461bcd
00000b9e: PUSH1 0xe5
00000ba0: SHL
00000ba1: DUP2
00000ba2: MSTORE
00000ba3: PUSH1 0x20
00000ba5: PUSH1 0x04
00000ba7: DUP3
00000ba8: ADD
00000ba9: MSTORE
00000baa: PUSH1 0x3a
00000bac: PUSH1 0x24
00000bae: DUP3
00000baf: ADD
00000bb0: MSTORE
00000bb1: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072
00000bd2: PUSH1 0x44
00000bd4: DUP3
00000bd5: ADD
00000bd6: MSTORE
00000bd7: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000
00000bf8: PUSH1 0x64
00000bfa: DUP3
00000bfb: ADD
00000bfc: MSTORE
00000bfd: PUSH1 0x84
00000bff: ADD
00000c00: PUSH2 0x08f5
00000c03: JUMP
00000c04: JUMPDEST
00000c05: PUSH1 0x00
00000c07: DUP1
00000c08: PUSH2 0x0c15
00000c0b: PUSH4 0x3b9aca00
00000c10: DUP5
00000c11: PUSH2 0x19dc
00000c14: JUMP
00000c15: JUMPDEST
00000c16: SWAP1
00000c17: POP
00000c18: PUSH1 0x00
00000c1a: PUSH2 0x0c22
00000c1d: DUP3
00000c1e: PUSH2 0x0fd8
00000c21: JUMP
00000c22: JUMPDEST
00000c23: SWAP1
00000c24: POP
00000c25: PUSH1 0x00
00000c27: PUSH1 0x02
00000c29: DUP9
00000c2a: PUSH1 0x00
00000c2c: PUSH1 0x80
00000c2e: SHL
00000c2f: PUSH1 0x40
00000c31: MLOAD
00000c32: PUSH1 0x20
00000c34: ADD
00000c35: PUSH2 0x0c3f
00000c38: SWAP3
00000c39: SWAP2
00000c3a: SWAP1
00000c3b: PUSH2 0x19fe
00000c3e: JUMP
00000c3f: JUMPDEST
00000c40: PUSH1 0x40
00000c42: DUP1
00000c43: MLOAD
00000c44: PUSH1 0x1f
00000c46: NOT
00000c47: DUP2
00000c48: DUP5
00000c49: SUB
00000c4a: ADD
00000c4b: DUP2
00000c4c: MSTORE
00000c4d: SWAP1
00000c4e: DUP3
00000c4f: SWAP1
00000c50: MSTORE
00000c51: PUSH2 0x0c59
00000c54: SWAP2
00000c55: PUSH2 0x1a36
00000c58: JUMP
00000c59: JUMPDEST
00000c5a: PUSH1 0x20
00000c5c: PUSH1 0x40
00000c5e: MLOAD
00000c5f: DUP1
00000c60: DUP4
00000c61: SUB
00000c62: DUP2
00000c63: DUP6
00000c64: GAS
00000c65: STATICCALL
00000c66: ISZERO
00000c67: DUP1
00000c68: ISZERO
00000c69: PUSH2 0x0c76
00000c6c: JUMPI
00000c6d: RETURNDATASIZE
00000c6e: PUSH1 0x00
00000c70: DUP1
00000c71: RETURNDATACOPY
00000c72: RETURNDATASIZE
00000c73: PUSH1 0x00
00000c75: REVERT
00000c76: JUMPDEST
00000c77: POP
00000c78: POP
00000c79: POP
00000c7a: PUSH1 0x40
00000c7c: MLOAD
00000c7d: RETURNDATASIZE
00000c7e: PUSH1 0x1f
00000c80: NOT
00000c81: PUSH1 0x1f
00000c83: DUP3
00000c84: ADD
00000c85: AND
00000c86: DUP3
00000c87: ADD
00000c88: DUP1
00000c89: PUSH1 0x40
00000c8b: MSTORE
00000c8c: POP
00000c8d: DUP2
00000c8e: ADD
00000c8f: SWAP1
00000c90: PUSH2 0x0c99
00000c93: SWAP2
00000c94: SWAP1
00000c95: PUSH2 0x166a
00000c98: JUMP
00000c99: JUMPDEST
00000c9a: SWAP1
00000c9b: POP
00000c9c: PUSH1 0x00
00000c9e: PUSH1 0x02
00000ca0: DUP1
00000ca1: PUSH2 0x0cac
00000ca4: DUP10
00000ca5: DUP5
00000ca6: PUSH1 0x40
00000ca8: PUSH2 0x118c
00000cab: JUMP
00000cac: JUMPDEST
00000cad: PUSH1 0x40
00000caf: MLOAD
00000cb0: PUSH1 0x20
00000cb2: ADD
00000cb3: PUSH2 0x0cbc
00000cb6: SWAP2
00000cb7: SWAP1
00000cb8: PUSH2 0x1a36
00000cbb: JUMP
00000cbc: JUMPDEST
00000cbd: PUSH1 0x40
00000cbf: DUP1
00000cc0: MLOAD
00000cc1: PUSH1 0x1f
00000cc3: NOT
00000cc4: DUP2
00000cc5: DUP5
00000cc6: SUB
00000cc7: ADD
00000cc8: DUP2
00000cc9: MSTORE
00000cca: SWAP1
00000ccb: DUP3
00000ccc: SWAP1
00000ccd: MSTORE
00000cce: PUSH2 0x0cd6
00000cd1: SWAP2
00000cd2: PUSH2 0x1a36
00000cd5: JUMP
00000cd6: JUMPDEST
00000cd7: PUSH1 0x20
00000cd9: PUSH1 0x40
00000cdb: MLOAD
00000cdc: DUP1
00000cdd: DUP4
00000cde: SUB
00000cdf: DUP2
00000ce0: DUP6
00000ce1: GAS
00000ce2: STATICCALL
00000ce3: ISZERO
00000ce4: DUP1
00000ce5: ISZERO
00000ce6: PUSH2 0x0cf3
00000ce9: JUMPI
00000cea: RETURNDATASIZE
00000ceb: PUSH1 0x00
00000ced: DUP1
00000cee: RETURNDATACOPY
00000cef: RETURNDATASIZE
00000cf0: PUSH1 0x00
00000cf2: REVERT
00000cf3: JUMPDEST
00000cf4: POP
00000cf5: POP
00000cf6: POP
00000cf7: PUSH1 0x40
00000cf9: MLOAD
00000cfa: RETURNDATASIZE
00000cfb: PUSH1 0x1f
00000cfd: NOT
00000cfe: PUSH1 0x1f
00000d00: DUP3
00000d01: ADD
00000d02: AND
00000d03: DUP3
00000d04: ADD
00000d05: DUP1
00000d06: PUSH1 0x40
00000d08: MSTORE
00000d09: POP
00000d0a: DUP2
00000d0b: ADD
00000d0c: SWAP1
00000d0d: PUSH2 0x0d16
00000d10: SWAP2
00000d11: SWAP1
00000d12: PUSH2 0x166a
00000d15: JUMP
00000d16: JUMPDEST
00000d17: PUSH1 0x02
00000d19: PUSH2 0x0d25
00000d1c: DUP11
00000d1d: PUSH1 0x40
00000d1f: PUSH1 0x20
00000d21: PUSH2 0x118c
00000d24: JUMP
00000d25: JUMPDEST
00000d26: PUSH1 0x40
00000d28: MLOAD
00000d29: PUSH2 0x0d38
00000d2c: SWAP2
00000d2d: SWAP1
00000d2e: PUSH1 0x00
00000d30: SWAP1
00000d31: PUSH1 0x20
00000d33: ADD
00000d34: PUSH2 0x1a52
00000d37: JUMP
00000d38: JUMPDEST
00000d39: PUSH1 0x40
00000d3b: DUP1
00000d3c: MLOAD
00000d3d: PUSH1 0x1f
00000d3f: NOT
00000d40: DUP2
00000d41: DUP5
00000d42: SUB
00000d43: ADD
00000d44: DUP2
00000d45: MSTORE
00000d46: SWAP1
00000d47: DUP3
00000d48: SWAP1
00000d49: MSTORE
00000d4a: PUSH2 0x0d52
00000d4d: SWAP2
00000d4e: PUSH2 0x1a36
00000d51: JUMP
00000d52: JUMPDEST
00000d53: PUSH1 0x20
00000d55: PUSH1 0x40
00000d57: MLOAD
00000d58: DUP1
00000d59: DUP4
00000d5a: SUB
00000d5b: DUP2
00000d5c: DUP6
00000d5d: GAS
00000d5e: STATICCALL
00000d5f: ISZERO
00000d60: DUP1
00000d61: ISZERO
00000d62: PUSH2 0x0d6f
00000d65: JUMPI
00000d66: RETURNDATASIZE
00000d67: PUSH1 0x00
00000d69: DUP1
00000d6a: RETURNDATACOPY
00000d6b: RETURNDATASIZE
00000d6c: PUSH1 0x00
00000d6e: REVERT
00000d6f: JUMPDEST
00000d70: POP
00000d71: POP
00000d72: POP
00000d73: PUSH1 0x40
00000d75: MLOAD
00000d76: RETURNDATASIZE
00000d77: PUSH1 0x1f
00000d79: NOT
00000d7a: PUSH1 0x1f
00000d7c: DUP3
00000d7d: ADD
00000d7e: AND
00000d7f: DUP3
00000d80: ADD
00000d81: DUP1
00000d82: PUSH1 0x40
00000d84: MSTORE
00000d85: POP
00000d86: DUP2
00000d87: ADD
00000d88: SWAP1
00000d89: PUSH2 0x0d92
00000d8c: SWAP2
00000d8d: SWAP1
00000d8e: PUSH2 0x166a
00000d91: JUMP
00000d92: JUMPDEST
00000d93: PUSH1 0x40
00000d95: DUP1
00000d96: MLOAD
00000d97: PUSH1 0x20
00000d99: DUP2
00000d9a: ADD
00000d9b: SWAP4
00000d9c: SWAP1
00000d9d: SWAP4
00000d9e: MSTORE
00000d9f: DUP3
00000da0: ADD
00000da1: MSTORE
00000da2: PUSH1 0x60
00000da4: ADD
00000da5: PUSH1 0x40
00000da7: DUP1
00000da8: MLOAD
00000da9: PUSH1 0x1f
00000dab: NOT
00000dac: DUP2
00000dad: DUP5
00000dae: SUB
00000daf: ADD
00000db0: DUP2
00000db1: MSTORE
00000db2: SWAP1
00000db3: DUP3
00000db4: SWAP1
00000db5: MSTORE
00000db6: PUSH2 0x0dbe
00000db9: SWAP2
00000dba: PUSH2 0x1a36
00000dbd: JUMP
00000dbe: JUMPDEST
00000dbf: PUSH1 0x20
00000dc1: PUSH1 0x40
00000dc3: MLOAD
00000dc4: DUP1
00000dc5: DUP4
00000dc6: SUB
00000dc7: DUP2
00000dc8: DUP6
00000dc9: GAS
00000dca: STATICCALL
00000dcb: ISZERO
00000dcc: DUP1
00000dcd: ISZERO
00000dce: PUSH2 0x0ddb
00000dd1: JUMPI
00000dd2: RETURNDATASIZE
00000dd3: PUSH1 0x00
00000dd5: DUP1
00000dd6: RETURNDATACOPY
00000dd7: RETURNDATASIZE
00000dd8: PUSH1 0x00
00000dda: REVERT
00000ddb: JUMPDEST
00000ddc: POP
00000ddd: POP
00000dde: POP
00000ddf: PUSH1 0x40
00000de1: MLOAD
00000de2: RETURNDATASIZE
00000de3: PUSH1 0x1f
00000de5: NOT
00000de6: PUSH1 0x1f
00000de8: DUP3
00000de9: ADD
00000dea: AND
00000deb: DUP3
00000dec: ADD
00000ded: DUP1
00000dee: PUSH1 0x40
00000df0: MSTORE
00000df1: POP
00000df2: DUP2
00000df3: ADD
00000df4: SWAP1
00000df5: PUSH2 0x0dfe
00000df8: SWAP2
00000df9: SWAP1
00000dfa: PUSH2 0x166a
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: SWAP1
00000e00: POP
00000e01: PUSH1 0x02
00000e03: DUP1
00000e04: DUP4
00000e05: DUP11
00000e06: PUSH1 0x40
00000e08: MLOAD
00000e09: PUSH1 0x20
00000e0b: ADD
00000e0c: PUSH2 0x0e16
00000e0f: SWAP3
00000e10: SWAP2
00000e11: SWAP1
00000e12: PUSH2 0x1a74
00000e15: JUMP
00000e16: JUMPDEST
00000e17: PUSH1 0x40
00000e19: DUP1
00000e1a: MLOAD
00000e1b: PUSH1 0x1f
00000e1d: NOT
00000e1e: DUP2
00000e1f: DUP5
00000e20: SUB
00000e21: ADD
00000e22: DUP2
00000e23: MSTORE
00000e24: SWAP1
00000e25: DUP3
00000e26: SWAP1
00000e27: MSTORE
00000e28: PUSH2 0x0e30
00000e2b: SWAP2
00000e2c: PUSH2 0x1a36
00000e2f: JUMP
00000e30: JUMPDEST
00000e31: PUSH1 0x20
00000e33: PUSH1 0x40
00000e35: MLOAD
00000e36: DUP1
00000e37: DUP4
00000e38: SUB
00000e39: DUP2
00000e3a: DUP6
00000e3b: GAS
00000e3c: STATICCALL
00000e3d: ISZERO
00000e3e: DUP1
00000e3f: ISZERO
00000e40: PUSH2 0x0e4d
00000e43: JUMPI
00000e44: RETURNDATASIZE
00000e45: PUSH1 0x00
00000e47: DUP1
00000e48: RETURNDATACOPY
00000e49: RETURNDATASIZE
00000e4a: PUSH1 0x00
00000e4c: REVERT
00000e4d: JUMPDEST
00000e4e: POP
00000e4f: POP
00000e50: POP
00000e51: PUSH1 0x40
00000e53: MLOAD
00000e54: RETURNDATASIZE
00000e55: PUSH1 0x1f
00000e57: NOT
00000e58: PUSH1 0x1f
00000e5a: DUP3
00000e5b: ADD
00000e5c: AND
00000e5d: DUP3
00000e5e: ADD
00000e5f: DUP1
00000e60: PUSH1 0x40
00000e62: MSTORE
00000e63: POP
00000e64: DUP2
00000e65: ADD
00000e66: SWAP1
00000e67: PUSH2 0x0e70
00000e6a: SWAP2
00000e6b: SWAP1
00000e6c: PUSH2 0x166a
00000e6f: JUMP
00000e70: JUMPDEST
00000e71: PUSH1 0x40
00000e73: MLOAD
00000e74: PUSH1 0x02
00000e76: SWAP1
00000e77: PUSH2 0x0e89
00000e7a: SWAP1
00000e7b: DUP8
00000e7c: SWAP1
00000e7d: PUSH1 0x00
00000e7f: SWAP1
00000e80: DUP8
00000e81: SWAP1
00000e82: PUSH1 0x20
00000e84: ADD
00000e85: PUSH2 0x1a9a
00000e88: JUMP
00000e89: JUMPDEST
00000e8a: PUSH1 0x40
00000e8c: DUP1
00000e8d: MLOAD
00000e8e: PUSH1 0x1f
00000e90: NOT
00000e91: DUP2
00000e92: DUP5
00000e93: SUB
00000e94: ADD
00000e95: DUP2
00000e96: MSTORE
00000e97: SWAP1
00000e98: DUP3
00000e99: SWAP1
00000e9a: MSTORE
00000e9b: PUSH2 0x0ea3
00000e9e: SWAP2
00000e9f: PUSH2 0x1a36
00000ea2: JUMP
00000ea3: JUMPDEST
00000ea4: PUSH1 0x20
00000ea6: PUSH1 0x40
00000ea8: MLOAD
00000ea9: DUP1
00000eaa: DUP4
00000eab: SUB
00000eac: DUP2
00000ead: DUP6
00000eae: GAS
00000eaf: STATICCALL
00000eb0: ISZERO
00000eb1: DUP1
00000eb2: ISZERO
00000eb3: PUSH2 0x0ec0
00000eb6: JUMPI
00000eb7: RETURNDATASIZE
00000eb8: PUSH1 0x00
00000eba: DUP1
00000ebb: RETURNDATACOPY
00000ebc: RETURNDATASIZE
00000ebd: PUSH1 0x00
00000ebf: REVERT
00000ec0: JUMPDEST
00000ec1: POP
00000ec2: POP
00000ec3: POP
00000ec4: PUSH1 0x40
00000ec6: MLOAD
00000ec7: RETURNDATASIZE
00000ec8: PUSH1 0x1f
00000eca: NOT
00000ecb: PUSH1 0x1f
00000ecd: DUP3
00000ece: ADD
00000ecf: AND
00000ed0: DUP3
00000ed1: ADD
00000ed2: DUP1
00000ed3: PUSH1 0x40
00000ed5: MSTORE
00000ed6: POP
00000ed7: DUP2
00000ed8: ADD
00000ed9: SWAP1
00000eda: PUSH2 0x0ee3
00000edd: SWAP2
00000ede: SWAP1
00000edf: PUSH2 0x166a
00000ee2: JUMP
00000ee3: JUMPDEST
00000ee4: PUSH1 0x40
00000ee6: DUP1
00000ee7: MLOAD
00000ee8: PUSH1 0x20
00000eea: DUP2
00000eeb: ADD
00000eec: SWAP4
00000eed: SWAP1
00000eee: SWAP4
00000eef: MSTORE
00000ef0: DUP3
00000ef1: ADD
00000ef2: MSTORE
00000ef3: PUSH1 0x60
00000ef5: ADD
00000ef6: PUSH1 0x40
00000ef8: DUP1
00000ef9: MLOAD
00000efa: PUSH1 0x1f
00000efc: NOT
00000efd: DUP2
00000efe: DUP5
00000eff: SUB
00000f00: ADD
00000f01: DUP2
00000f02: MSTORE
00000f03: SWAP1
00000f04: DUP3
00000f05: SWAP1
00000f06: MSTORE
00000f07: PUSH2 0x0f0f
00000f0a: SWAP2
00000f0b: PUSH2 0x1a36
00000f0e: JUMP
00000f0f: JUMPDEST
00000f10: PUSH1 0x20
00000f12: PUSH1 0x40
00000f14: MLOAD
00000f15: DUP1
00000f16: DUP4
00000f17: SUB
00000f18: DUP2
00000f19: DUP6
00000f1a: GAS
00000f1b: STATICCALL
00000f1c: ISZERO
00000f1d: DUP1
00000f1e: ISZERO
00000f1f: PUSH2 0x0f2c
00000f22: JUMPI
00000f23: RETURNDATASIZE
00000f24: PUSH1 0x00
00000f26: DUP1
00000f27: RETURNDATACOPY
00000f28: RETURNDATASIZE
00000f29: PUSH1 0x00
00000f2b: REVERT
00000f2c: JUMPDEST
00000f2d: POP
00000f2e: POP
00000f2f: POP
00000f30: PUSH1 0x40
00000f32: MLOAD
00000f33: RETURNDATASIZE
00000f34: PUSH1 0x1f
00000f36: NOT
00000f37: PUSH1 0x1f
00000f39: DUP3
00000f3a: ADD
00000f3b: AND
00000f3c: DUP3
00000f3d: ADD
00000f3e: DUP1
00000f3f: PUSH1 0x40
00000f41: MSTORE
00000f42: POP
00000f43: DUP2
00000f44: ADD
00000f45: SWAP1
00000f46: PUSH2 0x0f4f
00000f49: SWAP2
00000f4a: SWAP1
00000f4b: PUSH2 0x166a
00000f4e: JUMP
00000f4f: JUMPDEST
00000f50: SWAP10
00000f51: SWAP9
00000f52: POP
00000f53: POP
00000f54: POP
00000f55: POP
00000f56: POP
00000f57: POP
00000f58: POP
00000f59: POP
00000f5a: POP
00000f5b: JUMP
00000f5c: JUMPDEST
00000f5d: PUSH1 0x01
00000f5f: PUSH1 0x01
00000f61: PUSH1 0xa0
00000f63: SHL
00000f64: SUB
00000f65: DUP2
00000f66: AND
00000f67: PUSH2 0x0f83
00000f6a: JUMPI
00000f6b: PUSH1 0x40
00000f6d: MLOAD
00000f6e: PUSH4 0x1e7d7387
00000f73: PUSH1 0xe2
00000f75: SHL
00000f76: DUP2
00000f77: MSTORE
00000f78: PUSH1 0x04
00000f7a: ADD
00000f7b: PUSH1 0x40
00000f7d: MLOAD
00000f7e: DUP1
00000f7f: SWAP2
00000f80: SUB
00000f81: SWAP1
00000f82: REVERT
00000f83: JUMPDEST
00000f84: POP
00000f85: JUMP
00000f86: JUMPDEST
00000f87: PUSH1 0x40
00000f89: DUP1
00000f8a: MLOAD
00000f8b: PUSH1 0x01
00000f8d: PUSH1 0x01
00000f8f: PUSH1 0xa0
00000f91: SHL
00000f92: SUB
00000f93: DUP5
00000f94: AND
00000f95: PUSH1 0x24
00000f97: DUP3
00000f98: ADD
00000f99: MSTORE
00000f9a: PUSH1 0x44
00000f9c: DUP1
00000f9d: DUP3
00000f9e: ADD
00000f9f: DUP5
00000fa0: SWAP1
00000fa1: MSTORE
00000fa2: DUP3
00000fa3: MLOAD
00000fa4: DUP1
00000fa5: DUP4
00000fa6: SUB
00000fa7: SWAP1
00000fa8: SWAP2
00000fa9: ADD
00000faa: DUP2
00000fab: MSTORE
00000fac: PUSH1 0x64
00000fae: SWAP1
00000faf: SWAP2
00000fb0: ADD
00000fb1: SWAP1
00000fb2: SWAP2
00000fb3: MSTORE
00000fb4: PUSH1 0x20
00000fb6: DUP2
00000fb7: ADD
00000fb8: DUP1
00000fb9: MLOAD
00000fba: PUSH1 0x01
00000fbc: PUSH1 0x01
00000fbe: PUSH1 0xe0
00000fc0: SHL
00000fc1: SUB
00000fc2: AND
00000fc3: PUSH4 0xa9059cbb
00000fc8: PUSH1 0xe0
00000fca: SHL
00000fcb: OR
00000fcc: SWAP1
00000fcd: MSTORE
00000fce: PUSH2 0x0ae6
00000fd1: SWAP1
00000fd2: DUP5
00000fd3: SWAP1
00000fd4: PUSH2 0x1299
00000fd7: JUMP
00000fd8: JUMPDEST
00000fd9: PUSH1 0x40
00000fdb: DUP1
00000fdc: MLOAD
00000fdd: PUSH1 0x08
00000fdf: DUP1
00000fe0: DUP3
00000fe1: MSTORE
00000fe2: DUP2
00000fe3: DUP4
00000fe4: ADD
00000fe5: SWAP1
00000fe6: SWAP3
00000fe7: MSTORE
00000fe8: PUSH1 0x60
00000fea: SWAP2
00000feb: PUSH1 0x20
00000fed: DUP3
00000fee: ADD
00000fef: DUP2
00000ff0: DUP1
00000ff1: CALLDATASIZE
00000ff2: DUP4
00000ff3: CALLDATACOPY
00000ff4: ADD
00000ff5: SWAP1
00000ff6: POP
00000ff7: POP
00000ff8: SWAP1
00000ff9: POP
00000ffa: PUSH1 0xc0
00000ffc: DUP3
00000ffd: SWAP1
00000ffe: SHL
00000fff: DUP1
00001000: PUSH1 0x07
00001002: BYTE
00001003: PUSH1 0xf8
00001005: SHL
00001006: DUP3
00001007: PUSH1 0x00
00001009: DUP2
0000100a: MLOAD
0000100b: DUP2
0000100c: LT
0000100d: PUSH2 0x1018
00001010: JUMPI
00001011: PUSH2 0x1018
00001014: PUSH2 0x197b
00001017: JUMP
00001018: JUMPDEST
00001019: PUSH1 0x20
0000101b: ADD
0000101c: ADD
0000101d: SWAP1
0000101e: PUSH1 0x01
00001020: PUSH1 0x01
00001022: PUSH1 0xf8
00001024: SHL
00001025: SUB
00001026: NOT
00001027: AND
00001028: SWAP1
00001029: DUP2
0000102a: PUSH1 0x00
0000102c: BYTE
0000102d: SWAP1
0000102e: MSTORE8
0000102f: POP
00001030: DUP1
00001031: PUSH1 0x06
00001033: BYTE
00001034: PUSH1 0xf8
00001036: SHL
00001037: DUP3
00001038: PUSH1 0x01
0000103a: DUP2
0000103b: MLOAD
0000103c: DUP2
0000103d: LT
0000103e: PUSH2 0x1049
00001041: JUMPI
00001042: PUSH2 0x1049
00001045: PUSH2 0x197b
00001048: JUMP
00001049: JUMPDEST
0000104a: PUSH1 0x20
0000104c: ADD
0000104d: ADD
0000104e: SWAP1
0000104f: PUSH1 0x01
00001051: PUSH1 0x01
00001053: PUSH1 0xf8
00001055: SHL
00001056: SUB
00001057: NOT
00001058: AND
00001059: SWAP1
0000105a: DUP2
0000105b: PUSH1 0x00
0000105d: BYTE
0000105e: SWAP1
0000105f: MSTORE8
00001060: POP
00001061: DUP1
00001062: PUSH1 0x05
00001064: BYTE
00001065: PUSH1 0xf8
00001067: SHL
00001068: DUP3
00001069: PUSH1 0x02
0000106b: DUP2
0000106c: MLOAD
0000106d: DUP2
0000106e: LT
0000106f: PUSH2 0x107a
00001072: JUMPI
00001073: PUSH2 0x107a
00001076: PUSH2 0x197b
00001079: JUMP
0000107a: JUMPDEST
0000107b: PUSH1 0x20
0000107d: ADD
0000107e: ADD
0000107f: SWAP1
00001080: PUSH1 0x01
00001082: PUSH1 0x01
00001084: PUSH1 0xf8
00001086: SHL
00001087: SUB
00001088: NOT
00001089: AND
0000108a: SWAP1
0000108b: DUP2
0000108c: PUSH1 0x00
0000108e: BYTE
0000108f: SWAP1
00001090: MSTORE8
00001091: POP
00001092: DUP1
00001093: PUSH1 0x04
00001095: BYTE
00001096: PUSH1 0xf8
00001098: SHL
00001099: DUP3
0000109a: PUSH1 0x03
0000109c: DUP2
0000109d: MLOAD
0000109e: DUP2
0000109f: LT
000010a0: PUSH2 0x10ab
000010a3: JUMPI
000010a4: PUSH2 0x10ab
000010a7: PUSH2 0x197b
000010aa: JUMP
000010ab: JUMPDEST
000010ac: PUSH1 0x20
000010ae: ADD
000010af: ADD
000010b0: SWAP1
000010b1: PUSH1 0x01
000010b3: PUSH1 0x01
000010b5: PUSH1 0xf8
000010b7: SHL
000010b8: SUB
000010b9: NOT
000010ba: AND
000010bb: SWAP1
000010bc: DUP2
000010bd: PUSH1 0x00
000010bf: BYTE
000010c0: SWAP1
000010c1: MSTORE8
000010c2: POP
000010c3: DUP1
000010c4: PUSH1 0x03
000010c6: BYTE
000010c7: PUSH1 0xf8
000010c9: SHL
000010ca: DUP3
000010cb: PUSH1 0x04
000010cd: DUP2
000010ce: MLOAD
000010cf: DUP2
000010d0: LT
000010d1: PUSH2 0x10dc
000010d4: JUMPI
000010d5: PUSH2 0x10dc
000010d8: PUSH2 0x197b
000010db: JUMP
000010dc: JUMPDEST
000010dd: PUSH1 0x20
000010df: ADD
000010e0: ADD
000010e1: SWAP1
000010e2: PUSH1 0x01
000010e4: PUSH1 0x01
000010e6: PUSH1 0xf8
000010e8: SHL
000010e9: SUB
000010ea: NOT
000010eb: AND
000010ec: SWAP1
000010ed: DUP2
000010ee: PUSH1 0x00
000010f0: BYTE
000010f1: SWAP1
000010f2: MSTORE8
000010f3: POP
000010f4: DUP1
000010f5: PUSH1 0x02
000010f7: BYTE
000010f8: PUSH1 0xf8
000010fa: SHL
000010fb: DUP3
000010fc: PUSH1 0x05
000010fe: DUP2
000010ff: MLOAD
00001100: DUP2
00001101: LT
00001102: PUSH2 0x110d
00001105: JUMPI
00001106: PUSH2 0x110d
00001109: PUSH2 0x197b
0000110c: JUMP
0000110d: JUMPDEST
0000110e: PUSH1 0x20
00001110: ADD
00001111: ADD
00001112: SWAP1
00001113: PUSH1 0x01
00001115: PUSH1 0x01
00001117: PUSH1 0xf8
00001119: SHL
0000111a: SUB
0000111b: NOT
0000111c: AND
0000111d: SWAP1
0000111e: DUP2
0000111f: PUSH1 0x00
00001121: BYTE
00001122: SWAP1
00001123: MSTORE8
00001124: POP
00001125: DUP1
00001126: PUSH1 0x01
00001128: BYTE
00001129: PUSH1 0xf8
0000112b: SHL
0000112c: DUP3
0000112d: PUSH1 0x06
0000112f: DUP2
00001130: MLOAD
00001131: DUP2
00001132: LT
00001133: PUSH2 0x113e
00001136: JUMPI
00001137: PUSH2 0x113e
0000113a: PUSH2 0x197b
0000113d: JUMP
0000113e: JUMPDEST
0000113f: PUSH1 0x20
00001141: ADD
00001142: ADD
00001143: SWAP1
00001144: PUSH1 0x01
00001146: PUSH1 0x01
00001148: PUSH1 0xf8
0000114a: SHL
0000114b: SUB
0000114c: NOT
0000114d: AND
0000114e: SWAP1
0000114f: DUP2
00001150: PUSH1 0x00
00001152: BYTE
00001153: SWAP1
00001154: MSTORE8
00001155: POP
00001156: DUP1
00001157: PUSH1 0x00
00001159: BYTE
0000115a: PUSH1 0xf8
0000115c: SHL
0000115d: DUP3
0000115e: PUSH1 0x07
00001160: DUP2
00001161: MLOAD
00001162: DUP2
00001163: LT
00001164: PUSH2 0x116f
00001167: JUMPI
00001168: PUSH2 0x116f
0000116b: PUSH2 0x197b
0000116e: JUMP
0000116f: JUMPDEST
00001170: PUSH1 0x20
00001172: ADD
00001173: ADD
00001174: SWAP1
00001175: PUSH1 0x01
00001177: PUSH1 0x01
00001179: PUSH1 0xf8
0000117b: SHL
0000117c: SUB
0000117d: NOT
0000117e: AND
0000117f: SWAP1
00001180: DUP2
00001181: PUSH1 0x00
00001183: BYTE
00001184: SWAP1
00001185: MSTORE8
00001186: POP
00001187: POP
00001188: SWAP2
00001189: SWAP1
0000118a: POP
0000118b: JUMP
0000118c: JUMPDEST
0000118d: PUSH1 0x60
0000118f: DUP2
00001190: PUSH2 0x119a
00001193: DUP2
00001194: PUSH1 0x1f
00001196: PUSH2 0x16b8
00001199: JUMP
0000119a: JUMPDEST
0000119b: LT
0000119c: ISZERO
0000119d: PUSH2 0x11d9
000011a0: JUMPI
000011a1: PUSH1 0x40
000011a3: MLOAD
000011a4: PUSH3 0x461bcd
000011a8: PUSH1 0xe5
000011aa: SHL
000011ab: DUP2
000011ac: MSTORE
000011ad: PUSH1 0x20
000011af: PUSH1 0x04
000011b1: DUP3
000011b2: ADD
000011b3: MSTORE
000011b4: PUSH1 0x0e
000011b6: PUSH1 0x24
000011b8: DUP3
000011b9: ADD
000011ba: MSTORE
000011bb: PUSH14 0x736c6963655f6f766572666c6f77
000011ca: PUSH1 0x90
000011cc: SHL
000011cd: PUSH1 0x44
000011cf: DUP3
000011d0: ADD
000011d1: MSTORE
000011d2: PUSH1 0x64
000011d4: ADD
000011d5: PUSH2 0x08f5
000011d8: JUMP
000011d9: JUMPDEST
000011da: PUSH2 0x11e3
000011dd: DUP3
000011de: DUP5
000011df: PUSH2 0x16b8
000011e2: JUMP
000011e3: JUMPDEST
000011e4: DUP5
000011e5: MLOAD
000011e6: LT
000011e7: ISZERO
000011e8: PUSH2 0x1227
000011eb: JUMPI
000011ec: PUSH1 0x40
000011ee: MLOAD
000011ef: PUSH3 0x461bcd
000011f3: PUSH1 0xe5
000011f5: SHL
000011f6: DUP2
000011f7: MSTORE
000011f8: PUSH1 0x20
000011fa: PUSH1 0x04
000011fc: DUP3
000011fd: ADD
000011fe: MSTORE
000011ff: PUSH1 0x11
00001201: PUSH1 0x24
00001203: DUP3
00001204: ADD
00001205: MSTORE
00001206: PUSH17 0x736c6963655f6f75744f66426f756e6473
00001218: PUSH1 0x78
0000121a: SHL
0000121b: PUSH1 0x44
0000121d: DUP3
0000121e: ADD
0000121f: MSTORE
00001220: PUSH1 0x64
00001222: ADD
00001223: PUSH2 0x08f5
00001226: JUMP
00001227: JUMPDEST
00001228: PUSH1 0x60
0000122a: DUP3
0000122b: ISZERO
0000122c: DUP1
0000122d: ISZERO
0000122e: PUSH2 0x1246
00001231: JUMPI
00001232: PUSH1 0x40
00001234: MLOAD
00001235: SWAP2
00001236: POP
00001237: PUSH1 0x00
00001239: DUP3
0000123a: MSTORE
0000123b: PUSH1 0x20
0000123d: DUP3
0000123e: ADD
0000123f: PUSH1 0x40
00001241: MSTORE
00001242: PUSH2 0x1290
00001245: JUMP
00001246: JUMPDEST
00001247: PUSH1 0x40
00001249: MLOAD
0000124a: SWAP2
0000124b: POP
0000124c: PUSH1 0x1f
0000124e: DUP5
0000124f: AND
00001250: DUP1
00001251: ISZERO
00001252: PUSH1 0x20
00001254: MUL
00001255: DUP2
00001256: DUP5
00001257: ADD
00001258: ADD
00001259: DUP6
0000125a: DUP2
0000125b: ADD
0000125c: DUP8
0000125d: DUP4
0000125e: ISZERO
0000125f: PUSH1 0x20
00001261: MUL
00001262: DUP5
00001263: DUP12
00001264: ADD
00001265: ADD
00001266: ADD
00001267: JUMPDEST
00001268: DUP2
00001269: DUP4
0000126a: LT
0000126b: ISZERO
0000126c: PUSH2 0x127f
0000126f: JUMPI
00001270: DUP1
00001271: MLOAD
00001272: DUP4
00001273: MSTORE
00001274: PUSH1 0x20
00001276: SWAP3
00001277: DUP4
00001278: ADD
00001279: SWAP3
0000127a: ADD
0000127b: PUSH2 0x1267
0000127e: JUMP
0000127f: JUMPDEST
00001280: POP
00001281: POP
00001282: DUP6
00001283: DUP5
00001284: MSTORE
00001285: PUSH1 0x1f
00001287: ADD
00001288: PUSH1 0x1f
0000128a: NOT
0000128b: AND
0000128c: PUSH1 0x40
0000128e: MSTORE
0000128f: POP
00001290: JUMPDEST
00001291: POP
00001292: SWAP5
00001293: SWAP4
00001294: POP
00001295: POP
00001296: POP
00001297: POP
00001298: JUMP
00001299: JUMPDEST
0000129a: PUSH1 0x00
0000129c: PUSH2 0x12ee
0000129f: DUP3
000012a0: PUSH1 0x40
000012a2: MLOAD
000012a3: DUP1
000012a4: PUSH1 0x40
000012a6: ADD
000012a7: PUSH1 0x40
000012a9: MSTORE
000012aa: DUP1
000012ab: PUSH1 0x20
000012ad: DUP2
000012ae: MSTORE
000012af: PUSH1 0x20
000012b1: ADD
000012b2: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000012d3: DUP2
000012d4: MSTORE
000012d5: POP
000012d6: DUP6
000012d7: PUSH1 0x01
000012d9: PUSH1 0x01
000012db: PUSH1 0xa0
000012dd: SHL
000012de: SUB
000012df: AND
000012e0: PUSH2 0x136b
000012e3: SWAP1
000012e4: SWAP3
000012e5: SWAP2
000012e6: SWAP1
000012e7: PUSH4 0xffffffff
000012ec: AND
000012ed: JUMP
000012ee: JUMPDEST
000012ef: DUP1
000012f0: MLOAD
000012f1: SWAP1
000012f2: SWAP2
000012f3: POP
000012f4: ISZERO
000012f5: PUSH2 0x0ae6
000012f8: JUMPI
000012f9: DUP1
000012fa: DUP1
000012fb: PUSH1 0x20
000012fd: ADD
000012fe: SWAP1
000012ff: MLOAD
00001300: DUP2
00001301: ADD
00001302: SWAP1
00001303: PUSH2 0x130c
00001306: SWAP2
00001307: SWAP1
00001308: PUSH2 0x1648
0000130b: JUMP
0000130c: JUMPDEST
0000130d: PUSH2 0x0ae6
00001310: JUMPI
00001311: PUSH1 0x40
00001313: MLOAD
00001314: PUSH3 0x461bcd
00001318: PUSH1 0xe5
0000131a: SHL
0000131b: DUP2
0000131c: MSTORE
0000131d: PUSH1 0x20
0000131f: PUSH1 0x04
00001321: DUP3
00001322: ADD
00001323: MSTORE
00001324: PUSH1 0x2a
00001326: PUSH1 0x24
00001328: DUP3
00001329: ADD
0000132a: MSTORE
0000132b: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
0000134c: PUSH1 0x44
0000134e: DUP3
0000134f: ADD
00001350: MSTORE
00001351: PUSH10 0x1bdd081cdd58d8d95959
0000135c: PUSH1 0xb2
0000135e: SHL
0000135f: PUSH1 0x64
00001361: DUP3
00001362: ADD
00001363: MSTORE
00001364: PUSH1 0x84
00001366: ADD
00001367: PUSH2 0x08f5
0000136a: JUMP
0000136b: JUMPDEST
0000136c: PUSH1 0x60
0000136e: PUSH2 0x137a
00001371: DUP5
00001372: DUP5
00001373: PUSH1 0x00
00001375: DUP6
00001376: PUSH2 0x1382
00001379: JUMP
0000137a: JUMPDEST
0000137b: SWAP5
0000137c: SWAP4
0000137d: POP
0000137e: POP
0000137f: POP
00001380: POP
00001381: JUMP
00001382: JUMPDEST
00001383: PUSH1 0x60
00001385: DUP3
00001386: SELFBALANCE
00001387: LT
00001388: ISZERO
00001389: PUSH2 0x13e3
0000138c: JUMPI
0000138d: PUSH1 0x40
0000138f: MLOAD
00001390: PUSH3 0x461bcd
00001394: PUSH1 0xe5
00001396: SHL
00001397: DUP2
00001398: MSTORE
00001399: PUSH1 0x20
0000139b: PUSH1 0x04
0000139d: DUP3
0000139e: ADD
0000139f: MSTORE
000013a0: PUSH1 0x26
000013a2: PUSH1 0x24
000013a4: DUP3
000013a5: ADD
000013a6: MSTORE
000013a7: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
000013c8: PUSH1 0x44
000013ca: DUP3
000013cb: ADD
000013cc: MSTORE
000013cd: PUSH6 0x1c8818d85b1b
000013d4: PUSH1 0xd2
000013d6: SHL
000013d7: PUSH1 0x64
000013d9: DUP3
000013da: ADD
000013db: MSTORE
000013dc: PUSH1 0x84
000013de: ADD
000013df: PUSH2 0x08f5
000013e2: JUMP
000013e3: JUMPDEST
000013e4: PUSH1 0x00
000013e6: DUP1
000013e7: DUP7
000013e8: PUSH1 0x01
000013ea: PUSH1 0x01
000013ec: PUSH1 0xa0
000013ee: SHL
000013ef: SUB
000013f0: AND
000013f1: DUP6
000013f2: DUP8
000013f3: PUSH1 0x40
000013f5: MLOAD
000013f6: PUSH2 0x13ff
000013f9: SWAP2
000013fa: SWAP1
000013fb: PUSH2 0x1a36
000013fe: JUMP
000013ff: JUMPDEST
00001400: PUSH1 0x00
00001402: PUSH1 0x40
00001404: MLOAD
00001405: DUP1
00001406: DUP4
00001407: SUB
00001408: DUP2
00001409: DUP6
0000140a: DUP8
0000140b: GAS
0000140c: CALL
0000140d: SWAP3
0000140e: POP
0000140f: POP
00001410: POP
00001411: RETURNDATASIZE
00001412: DUP1
00001413: PUSH1 0x00
00001415: DUP2
00001416: EQ
00001417: PUSH2 0x143c
0000141a: JUMPI
0000141b: PUSH1 0x40
0000141d: MLOAD
0000141e: SWAP2
0000141f: POP
00001420: PUSH1 0x1f
00001422: NOT
00001423: PUSH1 0x3f
00001425: RETURNDATASIZE
00001426: ADD
00001427: AND
00001428: DUP3
00001429: ADD
0000142a: PUSH1 0x40
0000142c: MSTORE
0000142d: RETURNDATASIZE
0000142e: DUP3
0000142f: MSTORE
00001430: RETURNDATASIZE
00001431: PUSH1 0x00
00001433: PUSH1 0x20
00001435: DUP5
00001436: ADD
00001437: RETURNDATACOPY
00001438: PUSH2 0x1441
0000143b: JUMP
0000143c: JUMPDEST
0000143d: PUSH1 0x60
0000143f: SWAP2
00001440: POP
00001441: JUMPDEST
00001442: POP
00001443: SWAP2
00001444: POP
00001445: SWAP2
00001446: POP
00001447: PUSH2 0x1452
0000144a: DUP8
0000144b: DUP4
0000144c: DUP4
0000144d: DUP8
0000144e: PUSH2 0x145d
00001451: JUMP
00001452: JUMPDEST
00001453: SWAP8
00001454: SWAP7
00001455: POP
00001456: POP
00001457: POP
00001458: POP
00001459: POP
0000145a: POP
0000145b: POP
0000145c: JUMP
0000145d: JUMPDEST
0000145e: PUSH1 0x60
00001460: DUP4
00001461: ISZERO
00001462: PUSH2 0x14cc
00001465: JUMPI
00001466: DUP3
00001467: MLOAD
00001468: PUSH1 0x00
0000146a: SUB
0000146b: PUSH2 0x14c5
0000146e: JUMPI
0000146f: PUSH1 0x01
00001471: PUSH1 0x01
00001473: PUSH1 0xa0
00001475: SHL
00001476: SUB
00001477: DUP6
00001478: AND
00001479: EXTCODESIZE
0000147a: PUSH2 0x14c5
0000147d: JUMPI
0000147e: PUSH1 0x40
00001480: MLOAD
00001481: PUSH3 0x461bcd
00001485: PUSH1 0xe5
00001487: SHL
00001488: DUP2
00001489: MSTORE
0000148a: PUSH1 0x20
0000148c: PUSH1 0x04
0000148e: DUP3
0000148f: ADD
00001490: MSTORE
00001491: PUSH1 0x1d
00001493: PUSH1 0x24
00001495: DUP3
00001496: ADD
00001497: MSTORE
00001498: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000014b9: PUSH1 0x44
000014bb: DUP3
000014bc: ADD
000014bd: MSTORE
000014be: PUSH1 0x64
000014c0: ADD
000014c1: PUSH2 0x08f5
000014c4: JUMP
000014c5: JUMPDEST
000014c6: POP
000014c7: DUP2
000014c8: PUSH2 0x137a
000014cb: JUMP
000014cc: JUMPDEST
000014cd: PUSH2 0x137a
000014d0: DUP4
000014d1: DUP4
000014d2: DUP2
000014d3: MLOAD
000014d4: ISZERO
000014d5: PUSH2 0x14e1
000014d8: JUMPI
000014d9: DUP2
000014da: MLOAD
000014db: DUP1
000014dc: DUP4
000014dd: PUSH1 0x20
000014df: ADD
000014e0: REVERT
000014e1: JUMPDEST
000014e2: DUP1
000014e3: PUSH1 0x40
000014e5: MLOAD
000014e6: PUSH3 0x461bcd
000014ea: PUSH1 0xe5
000014ec: SHL
000014ed: DUP2
000014ee: MSTORE
000014ef: PUSH1 0x04
000014f1: ADD
000014f2: PUSH2 0x08f5
000014f5: SWAP2
000014f6: SWAP1
000014f7: PUSH2 0x15df
000014fa: JUMP
000014fb: JUMPDEST
000014fc: PUSH1 0x00
000014fe: PUSH1 0x20
00001500: DUP3
00001501: DUP5
00001502: SUB
00001503: SLT
00001504: ISZERO
00001505: PUSH2 0x150d
00001508: JUMPI
00001509: PUSH1 0x00
0000150b: DUP1
0000150c: REVERT
0000150d: JUMPDEST
0000150e: POP
0000150f: CALLDATALOAD
00001510: SWAP2
00001511: SWAP1
00001512: POP
00001513: JUMP
00001514: JUMPDEST
00001515: PUSH1 0x00
00001517: DUP1
00001518: PUSH1 0x00
0000151a: PUSH1 0x40
0000151c: DUP5
0000151d: DUP7
0000151e: SUB
0000151f: SLT
00001520: ISZERO
00001521: PUSH2 0x1529
00001524: JUMPI
00001525: PUSH1 0x00
00001527: DUP1
00001528: REVERT
00001529: JUMPDEST
0000152a: DUP4
0000152b: CALLDATALOAD
0000152c: PUSH8 0xffffffffffffffff
00001535: DUP1
00001536: DUP3
00001537: GT
00001538: ISZERO
00001539: PUSH2 0x1541
0000153c: JUMPI
0000153d: PUSH1 0x00
0000153f: DUP1
00001540: REVERT
00001541: JUMPDEST
00001542: DUP2
00001543: DUP7
00001544: ADD
00001545: SWAP2
00001546: POP
00001547: DUP7
00001548: PUSH1 0x1f
0000154a: DUP4
0000154b: ADD
0000154c: SLT
0000154d: PUSH2 0x1555
00001550: JUMPI
00001551: PUSH1 0x00
00001553: DUP1
00001554: REVERT
00001555: JUMPDEST
00001556: DUP2
00001557: CALLDATALOAD
00001558: DUP2
00001559: DUP2
0000155a: GT
0000155b: ISZERO
0000155c: PUSH2 0x1564
0000155f: JUMPI
00001560: PUSH1 0x00
00001562: DUP1
00001563: REVERT
00001564: JUMPDEST
00001565: DUP8
00001566: PUSH1 0x20
00001568: DUP3
00001569: PUSH1 0x05
0000156b: SHL
0000156c: DUP6
0000156d: ADD
0000156e: ADD
0000156f: GT
00001570: ISZERO
00001571: PUSH2 0x1579
00001574: JUMPI
00001575: PUSH1 0x00
00001577: DUP1
00001578: REVERT
00001579: JUMPDEST
0000157a: PUSH1 0x20
0000157c: SWAP3
0000157d: DUP4
0000157e: ADD
0000157f: SWAP9
00001580: SWAP1
00001581: SWAP8
00001582: POP
00001583: SWAP6
00001584: SWAP1
00001585: SWAP2
00001586: ADD
00001587: CALLDATALOAD
00001588: SWAP5
00001589: SWAP4
0000158a: POP
0000158b: POP
0000158c: POP
0000158d: POP
0000158e: JUMP
0000158f: JUMPDEST
00001590: PUSH1 0x00
00001592: JUMPDEST
00001593: DUP4
00001594: DUP2
00001595: LT
00001596: ISZERO
00001597: PUSH2 0x15aa
0000159a: JUMPI
0000159b: DUP2
0000159c: DUP2
0000159d: ADD
0000159e: MLOAD
0000159f: DUP4
000015a0: DUP3
000015a1: ADD
000015a2: MSTORE
000015a3: PUSH1 0x20
000015a5: ADD
000015a6: PUSH2 0x1592
000015a9: JUMP
000015aa: JUMPDEST
000015ab: POP
000015ac: POP
000015ad: PUSH1 0x00
000015af: SWAP2
000015b0: ADD
000015b1: MSTORE
000015b2: JUMP
000015b3: JUMPDEST
000015b4: PUSH1 0x00
000015b6: DUP2
000015b7: MLOAD
000015b8: DUP1
000015b9: DUP5
000015ba: MSTORE
000015bb: PUSH2 0x15cb
000015be: DUP2
000015bf: PUSH1 0x20
000015c1: DUP7
000015c2: ADD
000015c3: PUSH1 0x20
000015c5: DUP7
000015c6: ADD
000015c7: PUSH2 0x158f
000015ca: JUMP
000015cb: JUMPDEST
000015cc: PUSH1 0x1f
000015ce: ADD
000015cf: PUSH1 0x1f
000015d1: NOT
000015d2: AND
000015d3: SWAP3
000015d4: SWAP1
000015d5: SWAP3
000015d6: ADD
000015d7: PUSH1 0x20
000015d9: ADD
000015da: SWAP3
000015db: SWAP2
000015dc: POP
000015dd: POP
000015de: JUMP
000015df: JUMPDEST
000015e0: PUSH1 0x20
000015e2: DUP2
000015e3: MSTORE
000015e4: PUSH1 0x00
000015e6: PUSH2 0x15f2
000015e9: PUSH1 0x20
000015eb: DUP4
000015ec: ADD
000015ed: DUP5
000015ee: PUSH2 0x15b3
000015f1: JUMP
000015f2: JUMPDEST
000015f3: SWAP4
000015f4: SWAP3
000015f5: POP
000015f6: POP
000015f7: POP
000015f8: JUMP
000015f9: JUMPDEST
000015fa: PUSH1 0x01
000015fc: PUSH1 0x01
000015fe: PUSH1 0xa0
00001600: SHL
00001601: SUB
00001602: DUP2
00001603: AND
00001604: DUP2
00001605: EQ
00001606: PUSH2 0x0f83
00001609: JUMPI
0000160a: PUSH1 0x00
0000160c: DUP1
0000160d: REVERT
0000160e: JUMPDEST
0000160f: PUSH1 0x00
00001611: PUSH1 0x20
00001613: DUP3
00001614: DUP5
00001615: SUB
00001616: SLT
00001617: ISZERO
00001618: PUSH2 0x1620
0000161b: JUMPI
0000161c: PUSH1 0x00
0000161e: DUP1
0000161f: REVERT
00001620: JUMPDEST
00001621: DUP2
00001622: CALLDATALOAD
00001623: PUSH2 0x15f2
00001626: DUP2
00001627: PUSH2 0x15f9
0000162a: JUMP
0000162b: JUMPDEST
0000162c: PUSH1 0x00
0000162e: PUSH1 0x20
00001630: DUP3
00001631: DUP5
00001632: SUB
00001633: SLT
00001634: ISZERO
00001635: PUSH2 0x163d
00001638: JUMPI
00001639: PUSH1 0x00
0000163b: DUP1
0000163c: REVERT
0000163d: JUMPDEST
0000163e: DUP2
0000163f: MLOAD
00001640: PUSH2 0x15f2
00001643: DUP2
00001644: PUSH2 0x15f9
00001647: JUMP
00001648: JUMPDEST
00001649: PUSH1 0x00
0000164b: PUSH1 0x20
0000164d: DUP3
0000164e: DUP5
0000164f: SUB
00001650: SLT
00001651: ISZERO
00001652: PUSH2 0x165a
00001655: JUMPI
00001656: PUSH1 0x00
00001658: DUP1
00001659: REVERT
0000165a: JUMPDEST
0000165b: DUP2
0000165c: MLOAD
0000165d: DUP1
0000165e: ISZERO
0000165f: ISZERO
00001660: DUP2
00001661: EQ
00001662: PUSH2 0x15f2
00001665: JUMPI
00001666: PUSH1 0x00
00001668: DUP1
00001669: REVERT
0000166a: JUMPDEST
0000166b: PUSH1 0x00
0000166d: PUSH1 0x20
0000166f: DUP3
00001670: DUP5
00001671: SUB
00001672: SLT
00001673: ISZERO
00001674: PUSH2 0x167c
00001677: JUMPI
00001678: PUSH1 0x00
0000167a: DUP1
0000167b: REVERT
0000167c: JUMPDEST
0000167d: POP
0000167e: MLOAD
0000167f: SWAP2
00001680: SWAP1
00001681: POP
00001682: JUMP
00001683: JUMPDEST
00001684: PUSH4 0x4e487b71
00001689: PUSH1 0xe0
0000168b: SHL
0000168c: PUSH1 0x00
0000168e: MSTORE
0000168f: PUSH1 0x11
00001691: PUSH1 0x04
00001693: MSTORE
00001694: PUSH1 0x24
00001696: PUSH1 0x00
00001698: REVERT
00001699: JUMPDEST
0000169a: PUSH1 0x00
0000169c: DUP2
0000169d: PUSH1 0x00
0000169f: NOT
000016a0: DIV
000016a1: DUP4
000016a2: GT
000016a3: DUP3
000016a4: ISZERO
000016a5: ISZERO
000016a6: AND
000016a7: ISZERO
000016a8: PUSH2 0x16b3
000016ab: JUMPI
000016ac: PUSH2 0x16b3
000016af: PUSH2 0x1683
000016b2: JUMP
000016b3: JUMPDEST
000016b4: POP
000016b5: MUL
000016b6: SWAP1
000016b7: JUMP
000016b8: JUMPDEST
000016b9: DUP1
000016ba: DUP3
000016bb: ADD
000016bc: DUP1
000016bd: DUP3
000016be: GT
000016bf: ISZERO
000016c0: PUSH2 0x16cb
000016c3: JUMPI
000016c4: PUSH2 0x16cb
000016c7: PUSH2 0x1683
000016ca: JUMP
000016cb: JUMPDEST
000016cc: SWAP3
000016cd: SWAP2
000016ce: POP
000016cf: POP
000016d0: JUMP
000016d1: JUMPDEST
000016d2: DUP2
000016d3: DUP4
000016d4: MSTORE
000016d5: DUP2
000016d6: DUP2
000016d7: PUSH1 0x20
000016d9: DUP6
000016da: ADD
000016db: CALLDATACOPY
000016dc: POP
000016dd: PUSH1 0x00
000016df: DUP3
000016e0: DUP3
000016e1: ADD
000016e2: PUSH1 0x20
000016e4: SWAP1
000016e5: DUP2
000016e6: ADD
000016e7: SWAP2
000016e8: SWAP1
000016e9: SWAP2
000016ea: MSTORE
000016eb: PUSH1 0x1f
000016ed: SWAP1
000016ee: SWAP2
000016ef: ADD
000016f0: PUSH1 0x1f
000016f2: NOT
000016f3: AND
000016f4: SWAP1
000016f5: SWAP2
000016f6: ADD
000016f7: ADD
000016f8: SWAP1
000016f9: JUMP
000016fa: JUMPDEST
000016fb: PUSH1 0x20
000016fd: DUP1
000016fe: DUP3
000016ff: MSTORE
00001700: DUP2
00001701: DUP2
00001702: ADD
00001703: DUP4
00001704: SWAP1
00001705: MSTORE
00001706: PUSH1 0x00
00001708: SWAP1
00001709: PUSH1 0x40
0000170b: PUSH1 0x05
0000170d: DUP6
0000170e: SWAP1
0000170f: SHL
00001710: DUP5
00001711: ADD
00001712: DUP2
00001713: ADD
00001714: SWAP1
00001715: DUP5
00001716: ADD
00001717: DUP7
00001718: DUP5
00001719: JUMPDEST
0000171a: DUP8
0000171b: DUP2
0000171c: LT
0000171d: ISZERO
0000171e: PUSH2 0x1789
00001721: JUMPI
00001722: DUP7
00001723: DUP5
00001724: SUB
00001725: PUSH1 0x3f
00001727: NOT
00001728: ADD
00001729: DUP4
0000172a: MSTORE
0000172b: DUP2
0000172c: CALLDATALOAD
0000172d: CALLDATASIZE
0000172e: DUP11
0000172f: SWAP1
00001730: SUB
00001731: PUSH1 0x1e
00001733: NOT
00001734: ADD
00001735: DUP2
00001736: SLT
00001737: PUSH2 0x173f
0000173a: JUMPI
0000173b: PUSH1 0x00
0000173d: DUP1
0000173e: REVERT
0000173f: JUMPDEST
00001740: DUP10
00001741: ADD
00001742: DUP6
00001743: DUP2
00001744: ADD
00001745: SWAP1
00001746: CALLDATALOAD
00001747: PUSH8 0xffffffffffffffff
00001750: DUP2
00001751: GT
00001752: ISZERO
00001753: PUSH2 0x175b
00001756: JUMPI
00001757: PUSH1 0x00
00001759: DUP1
0000175a: REVERT
0000175b: JUMPDEST
0000175c: DUP1
0000175d: CALLDATASIZE
0000175e: SUB
0000175f: DUP3
00001760: SGT
00001761: ISZERO
00001762: PUSH2 0x176a
00001765: JUMPI
00001766: PUSH1 0x00
00001768: DUP1
00001769: REVERT
0000176a: JUMPDEST
0000176b: PUSH2 0x1775
0000176e: DUP7
0000176f: DUP3
00001770: DUP5
00001771: PUSH2 0x16d1
00001774: JUMP
00001775: JUMPDEST
00001776: SWAP6
00001777: POP
00001778: POP
00001779: POP
0000177a: SWAP2
0000177b: DUP5
0000177c: ADD
0000177d: SWAP2
0000177e: SWAP1
0000177f: DUP5
00001780: ADD
00001781: SWAP1
00001782: PUSH1 0x01
00001784: ADD
00001785: PUSH2 0x1719
00001788: JUMP
00001789: JUMPDEST
0000178a: POP
0000178b: SWAP2
0000178c: SWAP8
0000178d: SWAP7
0000178e: POP
0000178f: POP
00001790: POP
00001791: POP
00001792: POP
00001793: POP
00001794: POP
00001795: JUMP
00001796: JUMPDEST
00001797: PUSH4 0x4e487b71
0000179c: PUSH1 0xe0
0000179e: SHL
0000179f: PUSH1 0x00
000017a1: MSTORE
000017a2: PUSH1 0x41
000017a4: PUSH1 0x04
000017a6: MSTORE
000017a7: PUSH1 0x24
000017a9: PUSH1 0x00
000017ab: REVERT
000017ac: JUMPDEST
000017ad: PUSH1 0x40
000017af: DUP1
000017b0: MLOAD
000017b1: SWAP1
000017b2: DUP2
000017b3: ADD
000017b4: PUSH8 0xffffffffffffffff
000017bd: DUP2
000017be: GT
000017bf: DUP3
000017c0: DUP3
000017c1: LT
000017c2: OR
000017c3: ISZERO
000017c4: PUSH2 0x17cf
000017c7: JUMPI
000017c8: PUSH2 0x17cf
000017cb: PUSH2 0x1796
000017ce: JUMP
000017cf: JUMPDEST
000017d0: PUSH1 0x40
000017d2: MSTORE
000017d3: SWAP1
000017d4: JUMP
000017d5: JUMPDEST
000017d6: PUSH1 0x40
000017d8: MLOAD
000017d9: PUSH1 0x1f
000017db: DUP3
000017dc: ADD
000017dd: PUSH1 0x1f
000017df: NOT
000017e0: AND
000017e1: DUP2
000017e2: ADD
000017e3: PUSH8 0xffffffffffffffff
000017ec: DUP2
000017ed: GT
000017ee: DUP3
000017ef: DUP3
000017f0: LT
000017f1: OR
000017f2: ISZERO
000017f3: PUSH2 0x17fe
000017f6: JUMPI
000017f7: PUSH2 0x17fe
000017fa: PUSH2 0x1796
000017fd: JUMP
000017fe: JUMPDEST
000017ff: PUSH1 0x40
00001801: MSTORE
00001802: SWAP2
00001803: SWAP1
00001804: POP
00001805: JUMP
00001806: JUMPDEST
00001807: PUSH1 0x00
00001809: DUP3
0000180a: PUSH1 0x1f
0000180c: DUP4
0000180d: ADD
0000180e: SLT
0000180f: PUSH2 0x1817
00001812: JUMPI
00001813: PUSH1 0x00
00001815: DUP1
00001816: REVERT
00001817: JUMPDEST
00001818: DUP2
00001819: MLOAD
0000181a: PUSH8 0xffffffffffffffff
00001823: DUP2
00001824: GT
00001825: ISZERO
00001826: PUSH2 0x1831
00001829: JUMPI
0000182a: PUSH2 0x1831
0000182d: PUSH2 0x1796
00001830: JUMP
00001831: JUMPDEST
00001832: PUSH2 0x1844
00001835: PUSH1 0x1f
00001837: DUP3
00001838: ADD
00001839: PUSH1 0x1f
0000183b: NOT
0000183c: AND
0000183d: PUSH1 0x20
0000183f: ADD
00001840: PUSH2 0x17d5
00001843: JUMP
00001844: JUMPDEST
00001845: DUP2
00001846: DUP2
00001847: MSTORE
00001848: DUP5
00001849: PUSH1 0x20
0000184b: DUP4
0000184c: DUP7
0000184d: ADD
0000184e: ADD
0000184f: GT
00001850: ISZERO
00001851: PUSH2 0x1859
00001854: JUMPI
00001855: PUSH1 0x00
00001857: DUP1
00001858: REVERT
00001859: JUMPDEST
0000185a: PUSH2 0x137a
0000185d: DUP3
0000185e: PUSH1 0x20
00001860: DUP4
00001861: ADD
00001862: PUSH1 0x20
00001864: DUP8
00001865: ADD
00001866: PUSH2 0x158f
00001869: JUMP
0000186a: JUMPDEST
0000186b: PUSH1 0x00
0000186d: PUSH1 0x20
0000186f: DUP1
00001870: DUP4
00001871: DUP6
00001872: SUB
00001873: SLT
00001874: ISZERO
00001875: PUSH2 0x187d
00001878: JUMPI
00001879: PUSH1 0x00
0000187b: DUP1
0000187c: REVERT
0000187d: JUMPDEST
0000187e: DUP3
0000187f: MLOAD
00001880: PUSH8 0xffffffffffffffff
00001889: DUP1
0000188a: DUP3
0000188b: GT
0000188c: ISZERO
0000188d: PUSH2 0x1895
00001890: JUMPI
00001891: PUSH1 0x00
00001893: DUP1
00001894: REVERT
00001895: JUMPDEST
00001896: DUP2
00001897: DUP6
00001898: ADD
00001899: SWAP2
0000189a: POP
0000189b: DUP6
0000189c: PUSH1 0x1f
0000189e: DUP4
0000189f: ADD
000018a0: SLT
000018a1: PUSH2 0x18a9
000018a4: JUMPI
000018a5: PUSH1 0x00
000018a7: DUP1
000018a8: REVERT
000018a9: JUMPDEST
000018aa: DUP2
000018ab: MLOAD
000018ac: DUP2
000018ad: DUP2
000018ae: GT
000018af: ISZERO
000018b0: PUSH2 0x18bb
000018b3: JUMPI
000018b4: PUSH2 0x18bb
000018b7: PUSH2 0x1796
000018ba: JUMP
000018bb: JUMPDEST
000018bc: DUP1
000018bd: PUSH1 0x05
000018bf: SHL
000018c0: PUSH2 0x18ca
000018c3: DUP6
000018c4: DUP3
000018c5: ADD
000018c6: PUSH2 0x17d5
000018c9: JUMP
000018ca: JUMPDEST
000018cb: SWAP2
000018cc: DUP3
000018cd: MSTORE
000018ce: DUP4
000018cf: DUP2
000018d0: ADD
000018d1: DUP6
000018d2: ADD
000018d3: SWAP2
000018d4: DUP6
000018d5: DUP2
000018d6: ADD
000018d7: SWAP1
000018d8: DUP10
000018d9: DUP5
000018da: GT
000018db: ISZERO
000018dc: PUSH2 0x18e4
000018df: JUMPI
000018e0: PUSH1 0x00
000018e2: DUP1
000018e3: REVERT
000018e4: JUMPDEST
000018e5: DUP7
000018e6: DUP7
000018e7: ADD
000018e8: SWAP3
000018e9: POP
000018ea: JUMPDEST
000018eb: DUP4
000018ec: DUP4
000018ed: LT
000018ee: ISZERO
000018ef: PUSH2 0x0f4f
000018f2: JUMPI
000018f3: DUP3
000018f4: MLOAD
000018f5: DUP6
000018f6: DUP2
000018f7: GT
000018f8: ISZERO
000018f9: PUSH2 0x1902
000018fc: JUMPI
000018fd: PUSH1 0x00
000018ff: DUP1
00001900: DUP2
00001901: REVERT
00001902: JUMPDEST
00001903: DUP7
00001904: ADD
00001905: PUSH1 0x40
00001907: DUP2
00001908: DUP13
00001909: SUB
0000190a: PUSH1 0x1f
0000190c: NOT
0000190d: ADD
0000190e: DUP2
0000190f: SGT
00001910: ISZERO
00001911: PUSH2 0x191a
00001914: JUMPI
00001915: PUSH1 0x00
00001917: DUP1
00001918: DUP2
00001919: REVERT
0000191a: JUMPDEST
0000191b: PUSH2 0x1922
0000191e: PUSH2 0x17ac
00001921: JUMP
00001922: JUMPDEST
00001923: DUP10
00001924: DUP4
00001925: ADD
00001926: MLOAD
00001927: DUP9
00001928: DUP2
00001929: GT
0000192a: ISZERO
0000192b: PUSH2 0x1934
0000192e: JUMPI
0000192f: PUSH1 0x00
00001931: DUP1
00001932: DUP2
00001933: REVERT
00001934: JUMPDEST
00001935: PUSH2 0x1942
00001938: DUP15
00001939: DUP13
0000193a: DUP4
0000193b: DUP8
0000193c: ADD
0000193d: ADD
0000193e: PUSH2 0x1806
00001941: JUMP
00001942: JUMPDEST
00001943: DUP3
00001944: MSTORE
00001945: POP
00001946: SWAP1
00001947: DUP3
00001948: ADD
00001949: MLOAD
0000194a: SWAP1
0000194b: DUP8
0000194c: DUP3
0000194d: GT
0000194e: ISZERO
0000194f: PUSH2 0x1958
00001952: JUMPI
00001953: PUSH1 0x00
00001955: DUP1
00001956: DUP2
00001957: REVERT
00001958: JUMPDEST
00001959: PUSH2 0x1966
0000195c: DUP14
0000195d: DUP12
0000195e: DUP5
0000195f: DUP7
00001960: ADD
00001961: ADD
00001962: PUSH2 0x1806
00001965: JUMP
00001966: JUMPDEST
00001967: DUP2
00001968: DUP12
00001969: ADD
0000196a: MSTORE
0000196b: DUP5
0000196c: MSTORE
0000196d: POP
0000196e: POP
0000196f: SWAP2
00001970: DUP7
00001971: ADD
00001972: SWAP2
00001973: SWAP1
00001974: DUP7
00001975: ADD
00001976: SWAP1
00001977: PUSH2 0x18ea
0000197a: JUMP
0000197b: JUMPDEST
0000197c: PUSH4 0x4e487b71
00001981: PUSH1 0xe0
00001983: SHL
00001984: PUSH1 0x00
00001986: MSTORE
00001987: PUSH1 0x32
00001989: PUSH1 0x04
0000198b: MSTORE
0000198c: PUSH1 0x24
0000198e: PUSH1 0x00
00001990: REVERT
00001991: JUMPDEST
00001992: PUSH1 0x80
00001994: DUP2
00001995: MSTORE
00001996: PUSH1 0x00
00001998: PUSH2 0x19a4
0000199b: PUSH1 0x80
0000199d: DUP4
0000199e: ADD
0000199f: DUP8
000019a0: PUSH2 0x15b3
000019a3: JUMP
000019a4: JUMPDEST
000019a5: DUP3
000019a6: DUP2
000019a7: SUB
000019a8: PUSH1 0x20
000019aa: DUP5
000019ab: ADD
000019ac: MSTORE
000019ad: PUSH2 0x19b6
000019b0: DUP2
000019b1: DUP8
000019b2: PUSH2 0x15b3
000019b5: JUMP
000019b6: JUMPDEST
000019b7: SWAP1
000019b8: POP
000019b9: DUP3
000019ba: DUP2
000019bb: SUB
000019bc: PUSH1 0x40
000019be: DUP5
000019bf: ADD
000019c0: MSTORE
000019c1: PUSH2 0x19ca
000019c4: DUP2
000019c5: DUP7
000019c6: PUSH2 0x15b3
000019c9: JUMP
000019ca: JUMPDEST
000019cb: SWAP2
000019cc: POP
000019cd: POP
000019ce: DUP3
000019cf: PUSH1 0x60
000019d1: DUP4
000019d2: ADD
000019d3: MSTORE
000019d4: SWAP6
000019d5: SWAP5
000019d6: POP
000019d7: POP
000019d8: POP
000019d9: POP
000019da: POP
000019db: JUMP
000019dc: JUMPDEST
000019dd: PUSH1 0x00
000019df: DUP3
000019e0: PUSH2 0x19f9
000019e3: JUMPI
000019e4: PUSH4 0x4e487b71
000019e9: PUSH1 0xe0
000019eb: SHL
000019ec: PUSH1 0x00
000019ee: MSTORE
000019ef: PUSH1 0x12
000019f1: PUSH1 0x04
000019f3: MSTORE
000019f4: PUSH1 0x24
000019f6: PUSH1 0x00
000019f8: REVERT
000019f9: JUMPDEST
000019fa: POP
000019fb: DIV
000019fc: SWAP1
000019fd: JUMP
000019fe: JUMPDEST
000019ff: PUSH1 0x00
00001a01: DUP4
00001a02: MLOAD
00001a03: PUSH2 0x1a10
00001a06: DUP2
00001a07: DUP5
00001a08: PUSH1 0x20
00001a0a: DUP9
00001a0b: ADD
00001a0c: PUSH2 0x158f
00001a0f: JUMP
00001a10: JUMPDEST
00001a11: PUSH16 0xffffffffffffffffffffffffffffffff
00001a22: NOT
00001a23: SWAP4
00001a24: SWAP1
00001a25: SWAP4
00001a26: AND
00001a27: SWAP2
00001a28: SWAP1
00001a29: SWAP3
00001a2a: ADD
00001a2b: SWAP1
00001a2c: DUP2
00001a2d: MSTORE
00001a2e: PUSH1 0x10
00001a30: ADD
00001a31: SWAP3
00001a32: SWAP2
00001a33: POP
00001a34: POP
00001a35: JUMP
00001a36: JUMPDEST
00001a37: PUSH1 0x00
00001a39: DUP3
00001a3a: MLOAD
00001a3b: PUSH2 0x1a48
00001a3e: DUP2
00001a3f: DUP5
00001a40: PUSH1 0x20
00001a42: DUP8
00001a43: ADD
00001a44: PUSH2 0x158f
00001a47: JUMP
00001a48: JUMPDEST
00001a49: SWAP2
00001a4a: SWAP1
00001a4b: SWAP2
00001a4c: ADD
00001a4d: SWAP3
00001a4e: SWAP2
00001a4f: POP
00001a50: POP
00001a51: JUMP
00001a52: JUMPDEST
00001a53: PUSH1 0x00
00001a55: DUP4
00001a56: MLOAD
00001a57: PUSH2 0x1a64
00001a5a: DUP2
00001a5b: DUP5
00001a5c: PUSH1 0x20
00001a5e: DUP9
00001a5f: ADD
00001a60: PUSH2 0x158f
00001a63: JUMP
00001a64: JUMPDEST
00001a65: SWAP2
00001a66: SWAP1
00001a67: SWAP2
00001a68: ADD
00001a69: SWAP2
00001a6a: DUP3
00001a6b: MSTORE
00001a6c: POP
00001a6d: PUSH1 0x20
00001a6f: ADD
00001a70: SWAP2
00001a71: SWAP1
00001a72: POP
00001a73: JUMP
00001a74: JUMPDEST
00001a75: DUP3
00001a76: DUP2
00001a77: MSTORE
00001a78: PUSH1 0x00
00001a7a: DUP3
00001a7b: MLOAD
00001a7c: PUSH2 0x1a8c
00001a7f: DUP2
00001a80: PUSH1 0x20
00001a82: DUP6
00001a83: ADD
00001a84: PUSH1 0x20
00001a86: DUP8
00001a87: ADD
00001a88: PUSH2 0x158f
00001a8b: JUMP
00001a8c: JUMPDEST
00001a8d: SWAP2
00001a8e: SWAP1
00001a8f: SWAP2
00001a90: ADD
00001a91: PUSH1 0x20
00001a93: ADD
00001a94: SWAP4
00001a95: SWAP3
00001a96: POP
00001a97: POP
00001a98: POP
00001a99: JUMP
00001a9a: JUMPDEST
00001a9b: PUSH1 0x00
00001a9d: DUP5
00001a9e: MLOAD
00001a9f: PUSH2 0x1aac
00001aa2: DUP2
00001aa3: DUP5
00001aa4: PUSH1 0x20
00001aa6: DUP10
00001aa7: ADD
00001aa8: PUSH2 0x158f
00001aab: JUMP
00001aac: JUMPDEST
00001aad: PUSH8 0xffffffffffffffff
00001ab6: NOT
00001ab7: SWAP5
00001ab8: SWAP1
00001ab9: SWAP5
00001aba: AND
00001abb: SWAP2
00001abc: SWAP1
00001abd: SWAP4
00001abe: ADD
00001abf: SWAP1
00001ac0: DUP2
00001ac1: MSTORE
00001ac2: PUSH1 0x18
00001ac4: DUP2
00001ac5: ADD
00001ac6: SWAP2
00001ac7: SWAP1
00001ac8: SWAP2
00001ac9: MSTORE
00001aca: PUSH1 0x38
00001acc: ADD
00001acd: SWAP3
00001ace: SWAP2
00001acf: POP
00001ad0: POP
00001ad1: JUMP
00001ad2: INVALID
00001ad3: LOG2
00001ad4: PUSH5 0x6970667358
00001ada: UNKNOWN(0x22)
00001adb: SLT
00001adc: KECCAK256
00001add: ADDMOD
00001ade: UNKNOWN(0x26)
00001adf: DUP1
00001ae0: TSTORE
00001ae1: SWAP15
00001ae2: BASEFEE
00001ae3: CALL
00001ae4: EXP
00001ae5: PUSH18 0x7fcf82f9d6914c0fcca12f81224ec3fe6ff2
00001af8: UNKNOWN(0x1F)
00001af9: MOD
00001afa: UNKNOWN(0x2B)
00001afb: PUSH27

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability codex Unprotected initialize enables proxy hijack and ETH/ERC20 drain 90 no
view
evidence_json
{
    "evidence": "initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.",
    "locations": [
        "contracts/contracts/implementations/DepositManager.sol:58",
        "contracts/contracts/implementations/DepositManager.sol:74",
        "contracts/contracts/implementations/DepositManager.sol:145"
    ],
    "recommendation": "Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.",
    "exploit_scenario": "1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7
call_targets: 0xeee6207d514c2845394b5f4b9f12b6d155f4524b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xeee6207d514c2845394b5f4b9f12b6d155f4524b"
    ],
    "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": "0x56396715",
            "selector": "0x56396715",
            "calldata_variants": [
                "0x56396715",
                "0x563967150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x902340a1",
            "selector": "0x902340a1",
            "calldata_variants": [
                "0x902340a1",
                "0x902340a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc4d66de8",
            "selector": "0xc4d66de8",
            "calldata_variants": [
                "0xc4d66de8",
                "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4f3b200",
            "selector": "0xf4f3b200",
            "calldata_variants": [
                "0xf4f3b200",
                "0xf4f3b2000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1558687a",
            "selector": "0x1558687a",
            "calldata_variants": [
                "0x1558687a",
                "0x1558687a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bc2399f",
            "selector": "0x1bc2399f",
            "calldata_variants": [
                "0x1bc2399f",
                "0x1bc2399f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2b8e227d",
            "selector": "0x2b8e227d",
            "calldata_variants": [
                "0x2b8e227d",
                "0x2b8e227d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1641,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1945,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2904,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [],
    "untrusted_call_count": 5
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7
call_targets: 0xeee6207d514c2845394b5f4b9f12b6d155f4524b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xeee6207d514c2845394b5f4b9f12b6d155f4524b"
    ],
    "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": "0x56396715",
            "selector": "0x56396715",
            "calldata_variants": [
                "0x56396715",
                "0x563967150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x902340a1",
            "selector": "0x902340a1",
            "calldata_variants": [
                "0x902340a1",
                "0x902340a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc4d66de8",
            "selector": "0xc4d66de8",
            "calldata_variants": [
                "0xc4d66de8",
                "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4f3b200",
            "selector": "0xf4f3b200",
            "calldata_variants": [
                "0xf4f3b200",
                "0xf4f3b2000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1558687a",
            "selector": "0x1558687a",
            "calldata_variants": [
                "0x1558687a",
                "0x1558687a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bc2399f",
            "selector": "0x1bc2399f",
            "calldata_variants": [
                "0x1bc2399f",
                "0x1bc2399f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2b8e227d",
            "selector": "0x2b8e227d",
            "calldata_variants": [
                "0x2b8e227d",
                "0x2b8e227d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1641,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1945,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2904,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 21
}