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

Analysis Run

4a24a7a8-fa98-4282-90e6-77d327527635

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 3, 2026 11:44 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Share inflation via donation + rounding-to-zero lets attacker steal later deposits
crit 0 high 0 direct contract
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
31484 report.consolidate complete 1 / 1 3 months ago
77530 artifact.fetch complete 1 / 3 1 week ago
77531 tool.cast_disasm complete 1 / 3 1 week ago
77532 analysis.bundle complete 1 / 3 1 week ago
77533 capability.graph complete 1 / 3 1 week ago
77534 detector.run complete 1 / 3 1 week ago
77535 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
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
One high-impact share inflation/donation attack lets an attacker steal subsequent deposits by forcing minted shares to round to zero.
View stderr
[codex:541762] OpenAI Codex v0.77.0 (research preview)
[codex:541762] --------
[codex:541762] workdir: /tmp/codex-multi-9h1x5kc9
[codex:541762] model: gpt-5.2-codex
[codex:541762] provider: openai
[codex:541762] approval: never
[codex:541762] sandbox: read-only
[codex:541762] reasoning effort: xhigh
[codex:541762] reasoning summaries: auto
[codex:541762] session id: 019b863d-8c31-75d2-b46d-0e8eae874a58
[codex:541762] --------
[codex:541762] user
[codex:541762] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:541762] 
[codex:541762] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:541762] 
[codex:541762] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:541762] - Gas inefficiency, code quality, naming, or best practices
[codex:541762] - Theoretical vulnerabilities without a clear extraction path
[codex:541762] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:541762] - Front-running unless it enables theft beyond MEV
[codex:541762] - DoS, griefing, or issues that don't result in attacker profit
[codex:541762] - Missing events, view function issues, or informational findings
[codex:541762] 
[codex:541762] HIGH-VALUE PATTERNS TO HUNT:
[codex:541762] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:541762] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:541762] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:541762] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:541762] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:541762] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:541762] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:541762] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:541762] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:541762] 
[codex:541762] For each finding, you MUST provide:
[codex:541762] 1. Exact file and line numbers of vulnerable code
[codex:541762] 2. Step-by-step exploit transaction sequence
[codex:541762] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:541762] 
[codex:541762] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:541762] 
[codex:541762] Output MUST be valid JSON matching the provided schema.
[codex:541762] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:541762] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:541762] mcp startup: no servers
[codex:541762] 
[codex:541762] thinking
[codex:541762] **Checking for audit bundle**
[codex:541762] exec
[codex:541762] /bin/bash -lc ls in /tmp/codex-multi-9h1x5kc9 succeeded in 5ms:
[codex:541762] AUDIT_BUNDLE.txt
[codex:541762] codex-output-schema.json
[codex:541762] contracts
[codex:541762] exec
[codex:541762] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9h1x5kc9 succeeded in 5ms:
[codex:541762] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:541762] 
[codex:541762] ================================================================================
[codex:541762] FILE: contracts/Contract.sol
[codex:541762] ================================================================================
[codex:541762] // File: @openzeppelin/contracts/GSN/Context.sol
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] pragma solidity ^0.6.0;
[codex:541762] 
[codex:541762] /*
[codex:541762]  * @dev Provides information about the current execution context, including the
[codex:541762]  * sender of the transaction and its data. While these are generally available
[codex:541762]  * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:541762]  * manner, since when dealing with GSN meta-transactions the account sending and
[codex:541762]  * paying for execution may not be the actual sender (as far as an application
[codex:541762]  * is concerned).
[codex:541762]  *
[codex:541762]  * This contract is only required for intermediate, library-like contracts.
[codex:541762] 
[codex:541762] thinking
[codex:541762] **Skipping to contract section**
[codex:541762] exec
[codex:541762] /bin/bash -lc 'rg -n "contract" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-9h1x5kc9 succeeded in 14ms:
[codex:541762] 4:FILE: contracts/Contract.sol
[codex:541762] 6:// File: @openzeppelin/contracts/GSN/Context.sol
[codex:541762] 20: * This contract is only required for intermediate, library-like contracts.
[codex:541762] 22:abstract contract Context {
[codex:541762] 33:// File: @openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:541762] 113:// File: @openzeppelin/contracts/math/SafeMath.sol
[codex:541762] 194:        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
[codex:541762] 275:// File: @openzeppelin/contracts/utils/Address.sol
[codex:541762] 286:     * @dev Returns true if `account` is a contract.
[codex:541762] 291:     * false is an externally-owned account (EOA) and not a contract.
[codex:541762] 297:     *  - a contract in construction
[codex:541762] 298:     *  - an address where a contract will be created
[codex:541762] 299:     *  - an address where a contract lived, but was destroyed
[codex:541762] 303:        // This method relies in extcodesize, which returns 0 for contracts in
[codex:541762] 318:     * of certain opcodes, possibly making contracts go over the 2300 gas limit
[codex:541762] 350:     * - `target` must be a contract.
[codex:541762] 375:     * - the calling contract must have an ETH balance of at least `value`.
[codex:541762] 396:        require(isContract(target), "Address: call to non-contract");
[codex:541762] 419:// File: @openzeppelin/contracts/token/ERC20/ERC20.sol
[codex:541762] 433: * that a supply mechanism has to be added in a derived contract using {_mint}.
[codex:541762] exec
[codex:541762] /bin/bash -lc "sed -n '1030,1500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9h1x5kc9 succeeded in 6ms:
[codex:541762]     }
[codex:541762] }
[codex:541762] 
[codex:541762] // File: contracts/CapitalConverter.sol
[codex:541762] 
[codex:541762] /**
[codex:541762]  * @dev a contract for convert eth to nETH or token to nToken.
[codex:541762]  *   
[codex:541762]  * @notice  there would be a ratio between Token and nToken when emit a claim event.
[codex:541762]  */
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] pragma solidity ^0.6.0;
[codex:541762] 
[codex:541762] 
[codex:541762] 
[codex:541762] thinking
[codex:541762] **Analyzing share minting and fee-on-transfer token effects**
[codex:541762] thinking
[codex:541762] **Exploring share inflation via donation and rounding issues**
[codex:541762] 
[codex:541762] I'm working through how an attacker could donate tokens or ETH to artificially inflate the vault’s balance, causing subsequent deposits to mint zero shares due to rounding. This leads to victims losing deposits while the attacker withdraws everything, creating a real profit path. I’ll next find the exact vulnerable lines in contracts/CapitalConverter.sol to back this up.
[codex:541762] exec
[codex:541762] /bin/bash -lc 'nl -ba contracts/CapitalConverter.sol' in /tmp/codex-multi-9h1x5kc9 exited 1 in 7ms:
[codex:541762] nl: contracts/CapitalConverter.sol: No such file or directory
[codex:541762] 
[codex:541762] thinking
[codex:541762] **Checking contracts folder for file**
[codex:541762] exec
[codex:541762] /bin/bash -lc 'ls /tmp/codex-multi-9h1x5kc9/contracts' in /tmp/codex-multi-9h1x5kc9 succeeded in 8ms:
[codex:541762] Contract.sol
[codex:541762] 
[codex:541762] thinking
[codex:541762] **Preparing to analyze Contract.sol**
[codex:541762] exec
[codex:541762] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1030,1200p'" in /tmp/codex-multi-9h1x5kc9 succeeded in 6ms:
[codex:541762]   1030	/**
[codex:541762]   1031	 * @dev a contract for convert eth to nETH or token to nToken.
[codex:541762]   1032	 *   
[codex:541762]   1033	 * @notice  there would be a ratio between Token and nToken when emit a claim event.
[codex:541762]   1034	 */
[codex:541762]   1035	
[codex:541762]   1036	
[codex:541762]   1037	
[codex:541762]   1038	
[codex:541762]   1039	
[codex:541762]   1040	
[codex:541762]   1041	
[codex:541762]   1042	
[codex:541762]   1043	pragma solidity ^0.6.0;
[codex:541762]   1044	
[codex:541762]   1045	contract CapitalConverter is ERC20, Ownable, Pausable, ReentrancyGuard {
[codex:541762]   1046	    using SafeMath for uint256;
[codex:541762]   1047	    using SafeERC20 for IERC20;
[codex:541762]   1048	
[codex:541762]   1049	    address public constant ETHEREUM = address(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE);
[codex:541762] 
[codex:541762] thinking
[codex:541762] **Analyzing share inflation vulnerability**
[codex:541762] codex
[codex:541762] {"no_findings":false,"summary":"One high-impact share inflation/donation attack lets an attacker steal subsequent deposits by forcing minted shares to round to zero.","findings":[{"severity":"high","category":"math","title":"Share inflation via donation + rounding-to-zero lets attacker steal later deposits","exploit_scenario":"1) Attacker calls `convert` with a tiny amount (e.g., 1 wei/token) to mint 1 share and set `depositAt` (block N). 2) Attacker donates a large amount of the underlying directly to the contract (ERC20 `transfer` to the contract, or `selfdestruct` for ETH) so `smartBalance` becomes huge while `totalSupply` stays 1. 3) A victim calls `convert` with any amount smaller than the inflated balance; `calculateMintAmount` returns 0 due to integer division, so the victim receives 0 shares while their deposit stays in the pool. 4) Attacker waits until block N+1 and calls `exit(1)`, withdrawing the entire pool including victims’ deposits. Net profit equals the sum of victim deposits (attacker’s donation is recovered).","recommendation":"Revert deposits that would mint zero shares (e.g., `require(value > 0)`), and/or add virtual shares/minimum liquidity mechanics to prevent donation-based share inflation. Consider using pre-deposit balances and minimum deposit thresholds to keep minted shares > 0.","evidence":"`calculateMintAmount` uses integer division that can round to zero when pool balance is large vs. totalSupply, and `convert` mints even when value==0: `initialBalance = smartBalance().sub(_depositAmount); return _depositAmount.mul(totalSupply()).div(initialBalance);` (contracts/Contract.sol:1084-1085) and `_mint(_msgSender(), value);` without a nonzero check (contracts/Contract.sol:1102-1103).","locations":["contracts/Contract.sol:1084","contracts/Contract.sol:1102"]}]}
[codex:541762] tokens used
[codex:541762] 19,127
[codex:541762] {"no_findings":false,"summary":"One high-impact share inflation/donation attack lets an attacker steal subsequent deposits by forcing minted shares to round to zero.","findings":[{"severity":"high","category":"math","title":"Share inflation via donation + rounding-to-zero lets attacker steal later deposits","exploit_scenario":"1) Attacker calls `convert` with a tiny amount (e.g., 1 wei/token) to mint 1 share and set `depositAt` (block N). 2) Attacker donates a large amount of the underlying directly to the contract (ERC20 `transfer` to the contract, or `selfdestruct` for ETH) so `smartBalance` becomes huge while `totalSupply` stays 1. 3) A victim calls `convert` with any amount smaller than the inflated balance; `calculateMintAmount` returns 0 due to integer division, so the victim receives 0 shares while their deposit stays in the pool. 4) Attacker waits until block N+1 and calls `exit(1)`, withdrawing the entire pool including victims’ deposits. Net profit equals the sum of victim deposits (attacker’s donation is recovered).","recommendation":"Revert deposits that would mint zero shares (e.g., `require(value > 0)`), and/or add virtual shares/minimum liquidity mechanics to prevent donation-based share inflation. Consider using pre-deposit balances and minimum deposit thresholds to keep minted shares > 0.","evidence":"`calculateMintAmount` uses integer division that can round to zero when pool balance is large vs. totalSupply, and `convert` mints even when value==0: `initialBalance = smartBalance().sub(_depositAmount); return _depositAmount.mul(totalSupply()).div(initialBalance);` (contracts/Contract.sol:1084-1085) and `_mint(_msgSender(), value);` without a nonzero check (contracts/Contract.sol:1102-1103).","locations":["contracts/Contract.sol:1084","contracts/Contract.sol:1102"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-03T23:44:54.302894+00:00",
        "returncode": 0
    },
    "summary": "One high-impact share inflation/donation attack lets an attacker steal subsequent deposits by forcing minted shares to round to zero.",
    "raw_final": {
        "summary": "One high-impact share inflation/donation attack lets an attacker steal subsequent deposits by forcing minted shares to round to zero.",
        "findings": [
            {
                "title": "Share inflation via donation + rounding-to-zero lets attacker steal later deposits",
                "category": "math",
                "evidence": "`calculateMintAmount` uses integer division that can round to zero when pool balance is large vs. totalSupply, and `convert` mints even when value==0: `initialBalance = smartBalance().sub(_depositAmount); return _depositAmount.mul(totalSupply()).div(initialBalance);` (contracts/Contract.sol:1084-1085) and `_mint(_msgSender(), value);` without a nonzero check (contracts/Contract.sol:1102-1103).",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:1084",
                    "contracts/Contract.sol:1102"
                ],
                "recommendation": "Revert deposits that would mint zero shares (e.g., `require(value > 0)`), and/or add virtual shares/minimum liquidity mechanics to prevent donation-based share inflation. Consider using pre-deposit balances and minimum deposit thresholds to keep minted shares > 0.",
                "exploit_scenario": "1) Attacker calls `convert` with a tiny amount (e.g., 1 wei/token) to mint 1 share and set `depositAt` (block N). 2) Attacker donates a large amount of the underlying directly to the contract (ERC20 `transfer` to the contract, or `selfdestruct` for ETH) so `smartBalance` becomes huge while `totalSupply` stays 1. 3) A victim calls `convert` with any amount smaller than the inflated balance; `calculateMintAmount` returns 0 due to integer division, so the victim receives 0 shares while their deposit stays in the pool. 4) Attacker waits until block N+1 and calls `exit(1)`, withdrawing the entire pool including victims\u2019 deposits. Net profit equals the sum of victim deposits (attacker\u2019s donation is recovered)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
2
Total opcodes
5056
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01a0
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x7f8661a1
00000019: GT
0000001a: PUSH2 0x00ec
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xb3ab15fb
00000024: GT
00000025: PUSH2 0x008a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xedd2cfe3
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xedd2cfe3
0000003a: EQ
0000003b: PUSH2 0x05e0
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: EQ
00000046: PUSH2 0x060a
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf7cdf47c
00000050: EQ
00000051: PUSH2 0x063d
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfc0c546a
0000005b: EQ
0000005c: PUSH2 0x0652
0000005f: JUMPI
00000060: PUSH2 0x01aa
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xb3ab15fb
0000006b: EQ
0000006c: PUSH2 0x053f
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xdd62ed3e
00000076: EQ
00000077: PUSH2 0x0572
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xe6b05950
00000081: EQ
00000082: PUSH2 0x05ad
00000085: JUMPI
00000086: PUSH2 0x01aa
00000089: JUMP
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0x9d484693
00000091: GT
00000092: PUSH2 0x00c6
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x9d484693
0000009c: EQ
0000009d: PUSH2 0x0477
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xa3908e1b
000000a7: EQ
000000a8: PUSH2 0x04b0
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xa457c2d7
000000b2: EQ
000000b3: PUSH2 0x04cd
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xa9059cbb
000000bd: EQ
000000be: PUSH2 0x0506
000000c1: JUMPI
000000c2: PUSH2 0x01aa
000000c5: JUMP
000000c6: JUMPDEST
000000c7: DUP1
000000c8: PUSH4 0x7f8661a1
000000cd: EQ
000000ce: PUSH2 0x0423
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x8da5cb5b
000000d8: EQ
000000d9: PUSH2 0x044d
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x95d89b41
000000e3: EQ
000000e4: PUSH2 0x0462
000000e7: JUMPI
000000e8: PUSH2 0x01aa
000000eb: JUMP
000000ec: JUMPDEST
000000ed: DUP1
000000ee: PUSH4 0x313ce567
000000f3: GT
000000f4: PUSH2 0x0159
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x5c975abb
000000fe: GT
000000ff: PUSH2 0x0133
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x5c975abb
00000109: EQ
0000010a: PUSH2 0x03af
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x5caed029
00000114: EQ
00000115: PUSH2 0x03c4
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x70a08231
0000011f: EQ
00000120: PUSH2 0x03d9
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x715018a6
0000012a: EQ
0000012b: PUSH2 0x040c
0000012e: JUMPI
0000012f: PUSH2 0x01aa
00000132: JUMP
00000133: JUMPDEST
00000134: DUP1
00000135: PUSH4 0x313ce567
0000013a: EQ
0000013b: PUSH2 0x031a
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x39509351
00000145: EQ
00000146: PUSH2 0x0345
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0x570ca735
00000150: EQ
00000151: PUSH2 0x037e
00000154: JUMPI
00000155: PUSH2 0x01aa
00000158: JUMP
00000159: JUMPDEST
0000015a: DUP1
0000015b: PUSH4 0x06fdde03
00000160: EQ
00000161: PUSH2 0x01af
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x095ea7b3
0000016b: EQ
0000016c: PUSH2 0x0239
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x0a227f2f
00000176: EQ
00000177: PUSH2 0x0286
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0x18160ddd
00000181: EQ
00000182: PUSH2 0x02ad
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x23b872dd
0000018c: EQ
0000018d: PUSH2 0x02c2
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x28421bf7
00000197: EQ
00000198: PUSH2 0x0305
0000019b: JUMPI
0000019c: PUSH2 0x01aa
0000019f: JUMP
000001a0: JUMPDEST
000001a1: CALLDATASIZE
000001a2: PUSH2 0x01aa
000001a5: JUMPI
000001a6: PUSH1 0x00
000001a8: DUP1
000001a9: REVERT
000001aa: JUMPDEST
000001ab: PUSH1 0x00
000001ad: DUP1
000001ae: REVERT
000001af: JUMPDEST
000001b0: CALLVALUE
000001b1: DUP1
000001b2: ISZERO
000001b3: PUSH2 0x01bb
000001b6: JUMPI
000001b7: PUSH1 0x00
000001b9: DUP1
000001ba: REVERT
000001bb: JUMPDEST
000001bc: POP
000001bd: PUSH2 0x01c4
000001c0: PUSH2 0x0667
000001c3: JUMP
000001c4: JUMPDEST
000001c5: PUSH1 0x40
000001c7: DUP1
000001c8: MLOAD
000001c9: PUSH1 0x20
000001cb: DUP1
000001cc: DUP3
000001cd: MSTORE
000001ce: DUP4
000001cf: MLOAD
000001d0: DUP2
000001d1: DUP4
000001d2: ADD
000001d3: MSTORE
000001d4: DUP4
000001d5: MLOAD
000001d6: SWAP2
000001d7: SWAP3
000001d8: DUP4
000001d9: SWAP3
000001da: SWAP1
000001db: DUP4
000001dc: ADD
000001dd: SWAP2
000001de: DUP6
000001df: ADD
000001e0: SWAP1
000001e1: DUP1
000001e2: DUP4
000001e3: DUP4
000001e4: PUSH1 0x00
000001e6: JUMPDEST
000001e7: DUP4
000001e8: DUP2
000001e9: LT
000001ea: ISZERO
000001eb: PUSH2 0x01fe
000001ee: JUMPI
000001ef: DUP2
000001f0: DUP2
000001f1: ADD
000001f2: MLOAD
000001f3: DUP4
000001f4: DUP3
000001f5: ADD
000001f6: MSTORE
000001f7: PUSH1 0x20
000001f9: ADD
000001fa: PUSH2 0x01e6
000001fd: JUMP
000001fe: JUMPDEST
000001ff: POP
00000200: POP
00000201: POP
00000202: POP
00000203: SWAP1
00000204: POP
00000205: SWAP1
00000206: DUP2
00000207: ADD
00000208: SWAP1
00000209: PUSH1 0x1f
0000020b: AND
0000020c: DUP1
0000020d: ISZERO
0000020e: PUSH2 0x022b
00000211: JUMPI
00000212: DUP1
00000213: DUP3
00000214: SUB
00000215: DUP1
00000216: MLOAD
00000217: PUSH1 0x01
00000219: DUP4
0000021a: PUSH1 0x20
0000021c: SUB
0000021d: PUSH2 0x0100
00000220: EXP
00000221: SUB
00000222: NOT
00000223: AND
00000224: DUP2
00000225: MSTORE
00000226: PUSH1 0x20
00000228: ADD
00000229: SWAP2
0000022a: POP
0000022b: JUMPDEST
0000022c: POP
0000022d: SWAP3
0000022e: POP
0000022f: POP
00000230: POP
00000231: PUSH1 0x40
00000233: MLOAD
00000234: DUP1
00000235: SWAP2
00000236: SUB
00000237: SWAP1
00000238: RETURN
00000239: JUMPDEST
0000023a: CALLVALUE
0000023b: DUP1
0000023c: ISZERO
0000023d: PUSH2 0x0245
00000240: JUMPI
00000241: PUSH1 0x00
00000243: DUP1
00000244: REVERT
00000245: JUMPDEST
00000246: POP
00000247: PUSH2 0x0272
0000024a: PUSH1 0x04
0000024c: DUP1
0000024d: CALLDATASIZE
0000024e: SUB
0000024f: PUSH1 0x40
00000251: DUP2
00000252: LT
00000253: ISZERO
00000254: PUSH2 0x025c
00000257: JUMPI
00000258: PUSH1 0x00
0000025a: DUP1
0000025b: REVERT
0000025c: JUMPDEST
0000025d: POP
0000025e: PUSH1 0x01
00000260: PUSH1 0x01
00000262: PUSH1 0xa0
00000264: SHL
00000265: SUB
00000266: DUP2
00000267: CALLDATALOAD
00000268: AND
00000269: SWAP1
0000026a: PUSH1 0x20
0000026c: ADD
0000026d: CALLDATALOAD
0000026e: PUSH2 0x06fe
00000271: JUMP
00000272: JUMPDEST
00000273: PUSH1 0x40
00000275: DUP1
00000276: MLOAD
00000277: SWAP2
00000278: ISZERO
00000279: ISZERO
0000027a: DUP3
0000027b: MSTORE
0000027c: MLOAD
0000027d: SWAP1
0000027e: DUP2
0000027f: SWAP1
00000280: SUB
00000281: PUSH1 0x20
00000283: ADD
00000284: SWAP1
00000285: RETURN
00000286: JUMPDEST
00000287: CALLVALUE
00000288: DUP1
00000289: ISZERO
0000028a: PUSH2 0x0292
0000028d: JUMPI
0000028e: PUSH1 0x00
00000290: DUP1
00000291: REVERT
00000292: JUMPDEST
00000293: POP
00000294: PUSH2 0x029b
00000297: PUSH2 0x071c
0000029a: JUMP
0000029b: JUMPDEST
0000029c: PUSH1 0x40
0000029e: DUP1
0000029f: MLOAD
000002a0: SWAP2
000002a1: DUP3
000002a2: MSTORE
000002a3: MLOAD
000002a4: SWAP1
000002a5: DUP2
000002a6: SWAP1
000002a7: SUB
000002a8: PUSH1 0x20
000002aa: ADD
000002ab: SWAP1
000002ac: RETURN
000002ad: JUMPDEST
000002ae: CALLVALUE
000002af: DUP1
000002b0: ISZERO
000002b1: PUSH2 0x02b9
000002b4: JUMPI
000002b5: PUSH1 0x00
000002b7: DUP1
000002b8: REVERT
000002b9: JUMPDEST
000002ba: POP
000002bb: PUSH2 0x029b
000002be: PUSH2 0x0722
000002c1: JUMP
000002c2: JUMPDEST
000002c3: CALLVALUE
000002c4: DUP1
000002c5: ISZERO
000002c6: PUSH2 0x02ce
000002c9: JUMPI
000002ca: PUSH1 0x00
000002cc: DUP1
000002cd: REVERT
000002ce: JUMPDEST
000002cf: POP
000002d0: PUSH2 0x0272
000002d3: PUSH1 0x04
000002d5: DUP1
000002d6: CALLDATASIZE
000002d7: SUB
000002d8: PUSH1 0x60
000002da: DUP2
000002db: LT
000002dc: ISZERO
000002dd: PUSH2 0x02e5
000002e0: JUMPI
000002e1: PUSH1 0x00
000002e3: DUP1
000002e4: REVERT
000002e5: JUMPDEST
000002e6: POP
000002e7: PUSH1 0x01
000002e9: PUSH1 0x01
000002eb: PUSH1 0xa0
000002ed: SHL
000002ee: SUB
000002ef: DUP2
000002f0: CALLDATALOAD
000002f1: DUP2
000002f2: AND
000002f3: SWAP2
000002f4: PUSH1 0x20
000002f6: DUP2
000002f7: ADD
000002f8: CALLDATALOAD
000002f9: SWAP1
000002fa: SWAP2
000002fb: AND
000002fc: SWAP1
000002fd: PUSH1 0x40
000002ff: ADD
00000300: CALLDATALOAD
00000301: PUSH2 0x0728
00000304: JUMP
00000305: JUMPDEST
00000306: CALLVALUE
00000307: DUP1
00000308: ISZERO
00000309: PUSH2 0x0311
0000030c: JUMPI
0000030d: PUSH1 0x00
0000030f: DUP1
00000310: REVERT
00000311: JUMPDEST
00000312: POP
00000313: PUSH2 0x029b
00000316: PUSH2 0x07af
00000319: JUMP
0000031a: JUMPDEST
0000031b: CALLVALUE
0000031c: DUP1
0000031d: ISZERO
0000031e: PUSH2 0x0326
00000321: JUMPI
00000322: PUSH1 0x00
00000324: DUP1
00000325: REVERT
00000326: JUMPDEST
00000327: POP
00000328: PUSH2 0x032f
0000032b: PUSH2 0x085c
0000032e: JUMP
0000032f: JUMPDEST
00000330: PUSH1 0x40
00000332: DUP1
00000333: MLOAD
00000334: PUSH1 0xff
00000336: SWAP1
00000337: SWAP3
00000338: AND
00000339: DUP3
0000033a: MSTORE
0000033b: MLOAD
0000033c: SWAP1
0000033d: DUP2
0000033e: SWAP1
0000033f: SUB
00000340: PUSH1 0x20
00000342: ADD
00000343: SWAP1
00000344: RETURN
00000345: JUMPDEST
00000346: CALLVALUE
00000347: DUP1
00000348: ISZERO
00000349: PUSH2 0x0351
0000034c: JUMPI
0000034d: PUSH1 0x00
0000034f: DUP1
00000350: REVERT
00000351: JUMPDEST
00000352: POP
00000353: PUSH2 0x0272
00000356: PUSH1 0x04
00000358: DUP1
00000359: CALLDATASIZE
0000035a: SUB
0000035b: PUSH1 0x40
0000035d: DUP2
0000035e: LT
0000035f: ISZERO
00000360: PUSH2 0x0368
00000363: JUMPI
00000364: PUSH1 0x00
00000366: DUP1
00000367: REVERT
00000368: JUMPDEST
00000369: POP
0000036a: PUSH1 0x01
0000036c: PUSH1 0x01
0000036e: PUSH1 0xa0
00000370: SHL
00000371: SUB
00000372: DUP2
00000373: CALLDATALOAD
00000374: AND
00000375: SWAP1
00000376: PUSH1 0x20
00000378: ADD
00000379: CALLDATALOAD
0000037a: PUSH2 0x0865
0000037d: JUMP
0000037e: JUMPDEST
0000037f: CALLVALUE
00000380: DUP1
00000381: ISZERO
00000382: PUSH2 0x038a
00000385: JUMPI
00000386: PUSH1 0x00
00000388: DUP1
00000389: REVERT
0000038a: JUMPDEST
0000038b: POP
0000038c: PUSH2 0x0393
0000038f: PUSH2 0x08b3
00000392: JUMP
00000393: JUMPDEST
00000394: PUSH1 0x40
00000396: DUP1
00000397: MLOAD
00000398: PUSH1 0x01
0000039a: PUSH1 0x01
0000039c: PUSH1 0xa0
0000039e: SHL
0000039f: SUB
000003a0: SWAP1
000003a1: SWAP3
000003a2: AND
000003a3: DUP3
000003a4: MSTORE
000003a5: MLOAD
000003a6: SWAP1
000003a7: DUP2
000003a8: SWAP1
000003a9: SUB
000003aa: PUSH1 0x20
000003ac: ADD
000003ad: SWAP1
000003ae: RETURN
000003af: JUMPDEST
000003b0: CALLVALUE
000003b1: DUP1
000003b2: ISZERO
000003b3: PUSH2 0x03bb
000003b6: JUMPI
000003b7: PUSH1 0x00
000003b9: DUP1
000003ba: REVERT
000003bb: JUMPDEST
000003bc: POP
000003bd: PUSH2 0x0272
000003c0: PUSH2 0x08c2
000003c3: JUMP
000003c4: JUMPDEST
000003c5: CALLVALUE
000003c6: DUP1
000003c7: ISZERO
000003c8: PUSH2 0x03d0
000003cb: JUMPI
000003cc: PUSH1 0x00
000003ce: DUP1
000003cf: REVERT
000003d0: JUMPDEST
000003d1: POP
000003d2: PUSH2 0x029b
000003d5: PUSH2 0x08d2
000003d8: JUMP
000003d9: JUMPDEST
000003da: CALLVALUE
000003db: DUP1
000003dc: ISZERO
000003dd: PUSH2 0x03e5
000003e0: JUMPI
000003e1: PUSH1 0x00
000003e3: DUP1
000003e4: REVERT
000003e5: JUMPDEST
000003e6: POP
000003e7: PUSH2 0x029b
000003ea: PUSH1 0x04
000003ec: DUP1
000003ed: CALLDATASIZE
000003ee: SUB
000003ef: PUSH1 0x20
000003f1: DUP2
000003f2: LT
000003f3: ISZERO
000003f4: PUSH2 0x03fc
000003f7: JUMPI
000003f8: PUSH1 0x00
000003fa: DUP1
000003fb: REVERT
000003fc: JUMPDEST
000003fd: POP
000003fe: CALLDATALOAD
000003ff: PUSH1 0x01
00000401: PUSH1 0x01
00000403: PUSH1 0xa0
00000405: SHL
00000406: SUB
00000407: AND
00000408: PUSH2 0x08d8
0000040b: JUMP
0000040c: JUMPDEST
0000040d: CALLVALUE
0000040e: DUP1
0000040f: ISZERO
00000410: PUSH2 0x0418
00000413: JUMPI
00000414: PUSH1 0x00
00000416: DUP1
00000417: REVERT
00000418: JUMPDEST
00000419: POP
0000041a: PUSH2 0x0421
0000041d: PUSH2 0x08f7
00000420: JUMP
00000421: JUMPDEST
00000422: STOP
00000423: JUMPDEST
00000424: CALLVALUE
00000425: DUP1
00000426: ISZERO
00000427: PUSH2 0x042f
0000042a: JUMPI
0000042b: PUSH1 0x00
0000042d: DUP1
0000042e: REVERT
0000042f: JUMPDEST
00000430: POP
00000431: PUSH2 0x0421
00000434: PUSH1 0x04
00000436: DUP1
00000437: CALLDATASIZE
00000438: SUB
00000439: PUSH1 0x20
0000043b: DUP2
0000043c: LT
0000043d: ISZERO
0000043e: PUSH2 0x0446
00000441: JUMPI
00000442: PUSH1 0x00
00000444: DUP1
00000445: REVERT
00000446: JUMPDEST
00000447: POP
00000448: CALLDATALOAD
00000449: PUSH2 0x09a4
0000044c: JUMP
0000044d: JUMPDEST
0000044e: CALLVALUE
0000044f: DUP1
00000450: ISZERO
00000451: PUSH2 0x0459
00000454: JUMPI
00000455: PUSH1 0x00
00000457: DUP1
00000458: REVERT
00000459: JUMPDEST
0000045a: POP
0000045b: PUSH2 0x0393
0000045e: PUSH2 0x0c76
00000461: JUMP
00000462: JUMPDEST
00000463: CALLVALUE
00000464: DUP1
00000465: ISZERO
00000466: PUSH2 0x046e
00000469: JUMPI
0000046a: PUSH1 0x00
0000046c: DUP1
0000046d: REVERT
0000046e: JUMPDEST
0000046f: POP
00000470: PUSH2 0x01c4
00000473: PUSH2 0x0c8a
00000476: JUMP
00000477: JUMPDEST
00000478: CALLVALUE
00000479: DUP1
0000047a: ISZERO
0000047b: PUSH2 0x0483
0000047e: JUMPI
0000047f: PUSH1 0x00
00000481: DUP1
00000482: REVERT
00000483: JUMPDEST
00000484: POP
00000485: PUSH2 0x0421
00000488: PUSH1 0x04
0000048a: DUP1
0000048b: CALLDATASIZE
0000048c: SUB
0000048d: PUSH1 0x40
0000048f: DUP2
00000490: LT
00000491: ISZERO
00000492: PUSH2 0x049a
00000495: JUMPI
00000496: PUSH1 0x00
00000498: DUP1
00000499: REVERT
0000049a: JUMPDEST
0000049b: POP
0000049c: PUSH1 0x01
0000049e: PUSH1 0x01
000004a0: PUSH1 0xa0
000004a2: SHL
000004a3: SUB
000004a4: DUP2
000004a5: CALLDATALOAD
000004a6: AND
000004a7: SWAP1
000004a8: PUSH1 0x20
000004aa: ADD
000004ab: CALLDATALOAD
000004ac: PUSH2 0x0ceb
000004af: JUMP
000004b0: JUMPDEST
000004b1: PUSH2 0x0421
000004b4: PUSH1 0x04
000004b6: DUP1
000004b7: CALLDATASIZE
000004b8: SUB
000004b9: PUSH1 0x20
000004bb: DUP2
000004bc: LT
000004bd: ISZERO
000004be: PUSH2 0x04c6
000004c1: JUMPI
000004c2: PUSH1 0x00
000004c4: DUP1
000004c5: REVERT
000004c6: JUMPDEST
000004c7: POP
000004c8: CALLDATALOAD
000004c9: PUSH2 0x0e3f
000004cc: JUMP
000004cd: JUMPDEST
000004ce: CALLVALUE
000004cf: DUP1
000004d0: ISZERO
000004d1: PUSH2 0x04d9
000004d4: JUMPI
000004d5: PUSH1 0x00
000004d7: DUP1
000004d8: REVERT
000004d9: JUMPDEST
000004da: POP
000004db: PUSH2 0x0272
000004de: PUSH1 0x04
000004e0: DUP1
000004e1: CALLDATASIZE
000004e2: SUB
000004e3: PUSH1 0x40
000004e5: DUP2
000004e6: LT
000004e7: ISZERO
000004e8: PUSH2 0x04f0
000004eb: JUMPI
000004ec: PUSH1 0x00
000004ee: DUP1
000004ef: REVERT
000004f0: JUMPDEST
000004f1: POP
000004f2: PUSH1 0x01
000004f4: PUSH1 0x01
000004f6: PUSH1 0xa0
000004f8: SHL
000004f9: SUB
000004fa: DUP2
000004fb: CALLDATALOAD
000004fc: AND
000004fd: SWAP1
000004fe: PUSH1 0x20
00000500: ADD
00000501: CALLDATALOAD
00000502: PUSH2 0x10d2
00000505: JUMP
00000506: JUMPDEST
00000507: CALLVALUE
00000508: DUP1
00000509: ISZERO
0000050a: PUSH2 0x0512
0000050d: JUMPI
0000050e: PUSH1 0x00
00000510: DUP1
00000511: REVERT
00000512: JUMPDEST
00000513: POP
00000514: PUSH2 0x0272
00000517: PUSH1 0x04
00000519: DUP1
0000051a: CALLDATASIZE
0000051b: SUB
0000051c: PUSH1 0x40
0000051e: DUP2
0000051f: LT
00000520: ISZERO
00000521: PUSH2 0x0529
00000524: JUMPI
00000525: PUSH1 0x00
00000527: DUP1
00000528: REVERT
00000529: JUMPDEST
0000052a: POP
0000052b: PUSH1 0x01
0000052d: PUSH1 0x01
0000052f: PUSH1 0xa0
00000531: SHL
00000532: SUB
00000533: DUP2
00000534: CALLDATALOAD
00000535: AND
00000536: SWAP1
00000537: PUSH1 0x20
00000539: ADD
0000053a: CALLDATALOAD
0000053b: PUSH2 0x113a
0000053e: JUMP
0000053f: JUMPDEST
00000540: CALLVALUE
00000541: DUP1
00000542: ISZERO
00000543: PUSH2 0x054b
00000546: JUMPI
00000547: PUSH1 0x00
00000549: DUP1
0000054a: REVERT
0000054b: JUMPDEST
0000054c: POP
0000054d: PUSH2 0x0421
00000550: PUSH1 0x04
00000552: DUP1
00000553: CALLDATASIZE
00000554: SUB
00000555: PUSH1 0x20
00000557: DUP2
00000558: LT
00000559: ISZERO
0000055a: PUSH2 0x0562
0000055d: JUMPI
0000055e: PUSH1 0x00
00000560: DUP1
00000561: REVERT
00000562: JUMPDEST
00000563: POP
00000564: CALLDATALOAD
00000565: PUSH1 0x01
00000567: PUSH1 0x01
00000569: PUSH1 0xa0
0000056b: SHL
0000056c: SUB
0000056d: AND
0000056e: PUSH2 0x114e
00000571: JUMP
00000572: JUMPDEST
00000573: CALLVALUE
00000574: DUP1
00000575: ISZERO
00000576: PUSH2 0x057e
00000579: JUMPI
0000057a: PUSH1 0x00
0000057c: DUP1
0000057d: REVERT
0000057e: JUMPDEST
0000057f: POP
00000580: PUSH2 0x029b
00000583: PUSH1 0x04
00000585: DUP1
00000586: CALLDATASIZE
00000587: SUB
00000588: PUSH1 0x40
0000058a: DUP2
0000058b: LT
0000058c: ISZERO
0000058d: PUSH2 0x0595
00000590: JUMPI
00000591: PUSH1 0x00
00000593: DUP1
00000594: REVERT
00000595: JUMPDEST
00000596: POP
00000597: PUSH1 0x01
00000599: PUSH1 0x01
0000059b: PUSH1 0xa0
0000059d: SHL
0000059e: SUB
0000059f: DUP2
000005a0: CALLDATALOAD
000005a1: DUP2
000005a2: AND
000005a3: SWAP2
000005a4: PUSH1 0x20
000005a6: ADD
000005a7: CALLDATALOAD
000005a8: AND
000005a9: PUSH2 0x1244
000005ac: JUMP
000005ad: JUMPDEST
000005ae: CALLVALUE
000005af: DUP1
000005b0: ISZERO
000005b1: PUSH2 0x05b9
000005b4: JUMPI
000005b5: PUSH1 0x00
000005b7: DUP1
000005b8: REVERT
000005b9: JUMPDEST
000005ba: POP
000005bb: PUSH2 0x029b
000005be: PUSH1 0x04
000005c0: DUP1
000005c1: CALLDATASIZE
000005c2: SUB
000005c3: PUSH1 0x20
000005c5: DUP2
000005c6: LT
000005c7: ISZERO
000005c8: PUSH2 0x05d0
000005cb: JUMPI
000005cc: PUSH1 0x00
000005ce: DUP1
000005cf: REVERT
000005d0: JUMPDEST
000005d1: POP
000005d2: CALLDATALOAD
000005d3: PUSH1 0x01
000005d5: PUSH1 0x01
000005d7: PUSH1 0xa0
000005d9: SHL
000005da: SUB
000005db: AND
000005dc: PUSH2 0x126f
000005df: JUMP
000005e0: JUMPDEST
000005e1: CALLVALUE
000005e2: DUP1
000005e3: ISZERO
000005e4: PUSH2 0x05ec
000005e7: JUMPI
000005e8: PUSH1 0x00
000005ea: DUP1
000005eb: REVERT
000005ec: JUMPDEST
000005ed: POP
000005ee: PUSH2 0x0421
000005f1: PUSH1 0x04
000005f3: DUP1
000005f4: CALLDATASIZE
000005f5: SUB
000005f6: PUSH1 0x20
000005f8: DUP2
000005f9: LT
000005fa: ISZERO
000005fb: PUSH2 0x0603
000005fe: JUMPI
000005ff: PUSH1 0x00
00000601: DUP1
00000602: REVERT
00000603: JUMPDEST
00000604: POP
00000605: CALLDATALOAD
00000606: PUSH2 0x1281
00000609: JUMP
0000060a: JUMPDEST
0000060b: CALLVALUE
0000060c: DUP1
0000060d: ISZERO
0000060e: PUSH2 0x0616
00000611: JUMPI
00000612: PUSH1 0x00
00000614: DUP1
00000615: REVERT
00000616: JUMPDEST
00000617: POP
00000618: PUSH2 0x0421
0000061b: PUSH1 0x04
0000061d: DUP1
0000061e: CALLDATASIZE
0000061f: SUB
00000620: PUSH1 0x20
00000622: DUP2
00000623: LT
00000624: ISZERO
00000625: PUSH2 0x062d
00000628: JUMPI
00000629: PUSH1 0x00
0000062b: DUP1
0000062c: REVERT
0000062d: JUMPDEST
0000062e: POP
0000062f: CALLDATALOAD
00000630: PUSH1 0x01
00000632: PUSH1 0x01
00000634: PUSH1 0xa0
00000636: SHL
00000637: SUB
00000638: AND
00000639: PUSH2 0x1319
0000063c: JUMP
0000063d: JUMPDEST
0000063e: CALLVALUE
0000063f: DUP1
00000640: ISZERO
00000641: PUSH2 0x0649
00000644: JUMPI
00000645: PUSH1 0x00
00000647: DUP1
00000648: REVERT
00000649: JUMPDEST
0000064a: POP
0000064b: PUSH2 0x0393
0000064e: PUSH2 0x1422
00000651: JUMP
00000652: JUMPDEST
00000653: CALLVALUE
00000654: DUP1
00000655: ISZERO
00000656: PUSH2 0x065e
00000659: JUMPI
0000065a: PUSH1 0x00
0000065c: DUP1
0000065d: REVERT
0000065e: JUMPDEST
0000065f: POP
00000660: PUSH2 0x0393
00000663: PUSH2 0x143a
00000666: JUMP
00000667: JUMPDEST
00000668: PUSH1 0x03
0000066a: DUP1
0000066b: SLOAD
0000066c: PUSH1 0x40
0000066e: DUP1
0000066f: MLOAD
00000670: PUSH1 0x20
00000672: PUSH1 0x1f
00000674: PUSH1 0x02
00000676: PUSH1 0x00
00000678: NOT
00000679: PUSH2 0x0100
0000067c: PUSH1 0x01
0000067e: DUP9
0000067f: AND
00000680: ISZERO
00000681: MUL
00000682: ADD
00000683: SWAP1
00000684: SWAP6
00000685: AND
00000686: SWAP5
00000687: SWAP1
00000688: SWAP5
00000689: DIV
0000068a: SWAP4
0000068b: DUP5
0000068c: ADD
0000068d: DUP2
0000068e: SWAP1
0000068f: DIV
00000690: DUP2
00000691: MUL
00000692: DUP3
00000693: ADD
00000694: DUP2
00000695: ADD
00000696: SWAP1
00000697: SWAP3
00000698: MSTORE
00000699: DUP3
0000069a: DUP2
0000069b: MSTORE
0000069c: PUSH1 0x60
0000069e: SWAP4
0000069f: SWAP1
000006a0: SWAP3
000006a1: SWAP1
000006a2: SWAP2
000006a3: DUP4
000006a4: ADD
000006a5: DUP3
000006a6: DUP3
000006a7: DUP1
000006a8: ISZERO
000006a9: PUSH2 0x06f3
000006ac: JUMPI
000006ad: DUP1
000006ae: PUSH1 0x1f
000006b0: LT
000006b1: PUSH2 0x06c8
000006b4: JUMPI
000006b5: PUSH2 0x0100
000006b8: DUP1
000006b9: DUP4
000006ba: SLOAD
000006bb: DIV
000006bc: MUL
000006bd: DUP4
000006be: MSTORE
000006bf: SWAP2
000006c0: PUSH1 0x20
000006c2: ADD
000006c3: SWAP2
000006c4: PUSH2 0x06f3
000006c7: JUMP
000006c8: JUMPDEST
000006c9: DUP3
000006ca: ADD
000006cb: SWAP2
000006cc: SWAP1
000006cd: PUSH1 0x00
000006cf: MSTORE
000006d0: PUSH1 0x20
000006d2: PUSH1 0x00
000006d4: KECCAK256
000006d5: SWAP1
000006d6: JUMPDEST
000006d7: DUP2
000006d8: SLOAD
000006d9: DUP2
000006da: MSTORE
000006db: SWAP1
000006dc: PUSH1 0x01
000006de: ADD
000006df: SWAP1
000006e0: PUSH1 0x20
000006e2: ADD
000006e3: DUP1
000006e4: DUP4
000006e5: GT
000006e6: PUSH2 0x06d6
000006e9: JUMPI
000006ea: DUP3
000006eb: SWAP1
000006ec: SUB
000006ed: PUSH1 0x1f
000006ef: AND
000006f0: DUP3
000006f1: ADD
000006f2: SWAP2
000006f3: JUMPDEST
000006f4: POP
000006f5: POP
000006f6: POP
000006f7: POP
000006f8: POP
000006f9: SWAP1
000006fa: POP
000006fb: JUMPDEST
000006fc: SWAP1
000006fd: JUMP
000006fe: JUMPDEST
000006ff: PUSH1 0x00
00000701: PUSH2 0x0712
00000704: PUSH2 0x070b
00000707: PUSH2 0x1449
0000070a: JUMP
0000070b: JUMPDEST
0000070c: DUP5
0000070d: DUP5
0000070e: PUSH2 0x144d
00000711: JUMP
00000712: JUMPDEST
00000713: POP
00000714: PUSH1 0x01
00000716: JUMPDEST
00000717: SWAP3
00000718: SWAP2
00000719: POP
0000071a: POP
0000071b: JUMP
0000071c: JUMPDEST
0000071d: PUSH1 0x07
0000071f: SLOAD
00000720: DUP2
00000721: JUMP
00000722: JUMPDEST
00000723: PUSH1 0x02
00000725: SLOAD
00000726: SWAP1
00000727: JUMP
00000728: JUMPDEST
00000729: PUSH1 0x00
0000072b: PUSH2 0x0735
0000072e: DUP5
0000072f: DUP5
00000730: DUP5
00000731: PUSH2 0x1539
00000734: JUMP
00000735: JUMPDEST
00000736: PUSH2 0x07a5
00000739: DUP5
0000073a: PUSH2 0x0741
0000073d: PUSH2 0x1449
00000740: JUMP
00000741: JUMPDEST
00000742: PUSH2 0x07a0
00000745: DUP6
00000746: PUSH1 0x40
00000748: MLOAD
00000749: DUP1
0000074a: PUSH1 0x60
0000074c: ADD
0000074d: PUSH1 0x40
0000074f: MSTORE
00000750: DUP1
00000751: PUSH1 0x28
00000753: DUP2
00000754: MSTORE
00000755: PUSH1 0x20
00000757: ADD
00000758: PUSH2 0x1f2f
0000075b: PUSH1 0x28
0000075d: SWAP2
0000075e: CODECOPY
0000075f: PUSH1 0x01
00000761: PUSH1 0x01
00000763: PUSH1 0xa0
00000765: SHL
00000766: SUB
00000767: DUP11
00000768: AND
00000769: PUSH1 0x00
0000076b: SWAP1
0000076c: DUP2
0000076d: MSTORE
0000076e: PUSH1 0x01
00000770: PUSH1 0x20
00000772: MSTORE
00000773: PUSH1 0x40
00000775: DUP2
00000776: KECCAK256
00000777: SWAP1
00000778: PUSH2 0x077f
0000077b: PUSH2 0x1449
0000077e: JUMP
0000077f: JUMPDEST
00000780: PUSH1 0x01
00000782: PUSH1 0x01
00000784: PUSH1 0xa0
00000786: SHL
00000787: SUB
00000788: AND
00000789: DUP2
0000078a: MSTORE
0000078b: PUSH1 0x20
0000078d: DUP2
0000078e: ADD
0000078f: SWAP2
00000790: SWAP1
00000791: SWAP2
00000792: MSTORE
00000793: PUSH1 0x40
00000795: ADD
00000796: PUSH1 0x00
00000798: KECCAK256
00000799: SLOAD
0000079a: SWAP2
0000079b: SWAP1
0000079c: PUSH2 0x1694
0000079f: JUMP
000007a0: JUMPDEST
000007a1: PUSH2 0x144d
000007a4: JUMP
000007a5: JUMPDEST
000007a6: POP
000007a7: PUSH1 0x01
000007a9: SWAP4
000007aa: SWAP3
000007ab: POP
000007ac: POP
000007ad: POP
000007ae: JUMP
000007af: JUMPDEST
000007b0: PUSH1 0x08
000007b2: SLOAD
000007b3: PUSH1 0x00
000007b5: SWAP1
000007b6: PUSH1 0x01
000007b8: PUSH1 0x01
000007ba: PUSH1 0xa0
000007bc: SHL
000007bd: SUB
000007be: AND
000007bf: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000007d4: EQ
000007d5: ISZERO
000007d6: PUSH2 0x07e0
000007d9: JUMPI
000007da: POP
000007db: SELFBALANCE
000007dc: PUSH2 0x06fb
000007df: JUMP
000007e0: JUMPDEST
000007e1: PUSH1 0x08
000007e3: SLOAD
000007e4: PUSH1 0x40
000007e6: DUP1
000007e7: MLOAD
000007e8: PUSH4 0x70a08231
000007ed: PUSH1 0xe0
000007ef: SHL
000007f0: DUP2
000007f1: MSTORE
000007f2: ADDRESS
000007f3: PUSH1 0x04
000007f5: DUP3
000007f6: ADD
000007f7: MSTORE
000007f8: SWAP1
000007f9: MLOAD
000007fa: PUSH1 0x01
000007fc: PUSH1 0x01
000007fe: PUSH1 0xa0
00000800: SHL
00000801: SUB
00000802: SWAP1
00000803: SWAP3
00000804: AND
00000805: SWAP2
00000806: PUSH4 0x70a08231
0000080b: SWAP2
0000080c: PUSH1 0x24
0000080e: DUP1
0000080f: DUP3
00000810: ADD
00000811: SWAP3
00000812: PUSH1 0x20
00000814: SWAP3
00000815: SWAP1
00000816: SWAP2
00000817: SWAP1
00000818: DUP3
00000819: SWAP1
0000081a: SUB
0000081b: ADD
0000081c: DUP2
0000081d: DUP7
0000081e: DUP1
0000081f: EXTCODESIZE
00000820: ISZERO
00000821: DUP1
00000822: ISZERO
00000823: PUSH2 0x082b
00000826: JUMPI
00000827: PUSH1 0x00
00000829: DUP1
0000082a: REVERT
0000082b: JUMPDEST
0000082c: POP
0000082d: GAS
0000082e: STATICCALL
0000082f: ISZERO
00000830: DUP1
00000831: ISZERO
00000832: PUSH2 0x083f
00000835: JUMPI
00000836: RETURNDATASIZE
00000837: PUSH1 0x00
00000839: DUP1
0000083a: RETURNDATACOPY
0000083b: RETURNDATASIZE
0000083c: PUSH1 0x00
0000083e: REVERT
0000083f: JUMPDEST
00000840: POP
00000841: POP
00000842: POP
00000843: POP
00000844: PUSH1 0x40
00000846: MLOAD
00000847: RETURNDATASIZE
00000848: PUSH1 0x20
0000084a: DUP2
0000084b: LT
0000084c: ISZERO
0000084d: PUSH2 0x0855
00000850: JUMPI
00000851: PUSH1 0x00
00000853: DUP1
00000854: REVERT
00000855: JUMPDEST
00000856: POP
00000857: MLOAD
00000858: SWAP1
00000859: POP
0000085a: SWAP1
0000085b: JUMP
0000085c: JUMPDEST
0000085d: PUSH1 0x05
0000085f: SLOAD
00000860: PUSH1 0xff
00000862: AND
00000863: SWAP1
00000864: JUMP
00000865: JUMPDEST
00000866: PUSH1 0x00
00000868: PUSH2 0x0712
0000086b: PUSH2 0x0872
0000086e: PUSH2 0x1449
00000871: JUMP
00000872: JUMPDEST
00000873: DUP5
00000874: PUSH2 0x07a0
00000877: DUP6
00000878: PUSH1 0x01
0000087a: PUSH1 0x00
0000087c: PUSH2 0x0883
0000087f: PUSH2 0x1449
00000882: JUMP
00000883: JUMPDEST
00000884: PUSH1 0x01
00000886: PUSH1 0x01
00000888: PUSH1 0xa0
0000088a: SHL
0000088b: SUB
0000088c: SWAP1
0000088d: DUP2
0000088e: AND
0000088f: DUP3
00000890: MSTORE
00000891: PUSH1 0x20
00000893: DUP1
00000894: DUP4
00000895: ADD
00000896: SWAP4
00000897: SWAP1
00000898: SWAP4
00000899: MSTORE
0000089a: PUSH1 0x40
0000089c: SWAP2
0000089d: DUP3
0000089e: ADD
0000089f: PUSH1 0x00
000008a1: SWAP1
000008a2: DUP2
000008a3: KECCAK256
000008a4: SWAP2
000008a5: DUP13
000008a6: AND
000008a7: DUP2
000008a8: MSTORE
000008a9: SWAP3
000008aa: MSTORE
000008ab: SWAP1
000008ac: KECCAK256
000008ad: SLOAD
000008ae: SWAP1
000008af: PUSH2 0x172b
000008b2: JUMP
000008b3: JUMPDEST
000008b4: PUSH1 0x0a
000008b6: SLOAD
000008b7: PUSH1 0x01
000008b9: PUSH1 0x01
000008bb: PUSH1 0xa0
000008bd: SHL
000008be: SUB
000008bf: AND
000008c0: DUP2
000008c1: JUMP
000008c2: JUMPDEST
000008c3: PUSH1 0x05
000008c5: SLOAD
000008c6: PUSH1 0x01
000008c8: PUSH1 0xa8
000008ca: SHL
000008cb: SWAP1
000008cc: DIV
000008cd: PUSH1 0xff
000008cf: AND
000008d0: SWAP1
000008d1: JUMP
000008d2: JUMPDEST
000008d3: PUSH1 0x09
000008d5: SLOAD
000008d6: DUP2
000008d7: JUMP
000008d8: JUMPDEST
000008d9: PUSH1 0x01
000008db: PUSH1 0x01
000008dd: PUSH1 0xa0
000008df: SHL
000008e0: SUB
000008e1: DUP2
000008e2: AND
000008e3: PUSH1 0x00
000008e5: SWAP1
000008e6: DUP2
000008e7: MSTORE
000008e8: PUSH1 0x20
000008ea: DUP2
000008eb: SWAP1
000008ec: MSTORE
000008ed: PUSH1 0x40
000008ef: SWAP1
000008f0: KECCAK256
000008f1: SLOAD
000008f2: JUMPDEST
000008f3: SWAP2
000008f4: SWAP1
000008f5: POP
000008f6: JUMP
000008f7: JUMPDEST
000008f8: PUSH2 0x08ff
000008fb: PUSH2 0x1449
000008fe: JUMP
000008ff: JUMPDEST
00000900: PUSH1 0x05
00000902: SLOAD
00000903: PUSH2 0x0100
00000906: SWAP1
00000907: DIV
00000908: PUSH1 0x01
0000090a: PUSH1 0x01
0000090c: PUSH1 0xa0
0000090e: SHL
0000090f: SUB
00000910: SWAP1
00000911: DUP2
00000912: AND
00000913: SWAP2
00000914: AND
00000915: EQ
00000916: PUSH2 0x0954
00000919: JUMPI
0000091a: PUSH1 0x40
0000091c: DUP1
0000091d: MLOAD
0000091e: PUSH3 0x461bcd
00000922: PUSH1 0xe5
00000924: SHL
00000925: DUP2
00000926: MSTORE
00000927: PUSH1 0x20
00000929: PUSH1 0x04
0000092b: DUP3
0000092c: ADD
0000092d: DUP2
0000092e: SWAP1
0000092f: MSTORE
00000930: PUSH1 0x24
00000932: DUP3
00000933: ADD
00000934: MSTORE
00000935: PUSH1 0x00
00000937: DUP1
00000938: MLOAD
00000939: PUSH1 0x20
0000093b: PUSH2 0x1f57
0000093e: DUP4
0000093f: CODECOPY
00000940: DUP2
00000941: MLOAD
00000942: SWAP2
00000943: MSTORE
00000944: PUSH1 0x44
00000946: DUP3
00000947: ADD
00000948: MSTORE
00000949: SWAP1
0000094a: MLOAD
0000094b: SWAP1
0000094c: DUP2
0000094d: SWAP1
0000094e: SUB
0000094f: PUSH1 0x64
00000951: ADD
00000952: SWAP1
00000953: REVERT
00000954: JUMPDEST
00000955: PUSH1 0x05
00000957: SLOAD
00000958: PUSH1 0x40
0000095a: MLOAD
0000095b: PUSH1 0x00
0000095d: SWAP2
0000095e: PUSH2 0x0100
00000961: SWAP1
00000962: DIV
00000963: PUSH1 0x01
00000965: PUSH1 0x01
00000967: PUSH1 0xa0
00000969: SHL
0000096a: SUB
0000096b: AND
0000096c: SWAP1
0000096d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000098e: SWAP1
0000098f: DUP4
00000990: SWAP1
00000991: LOG3
00000992: PUSH1 0x05
00000994: DUP1
00000995: SLOAD
00000996: PUSH2 0x0100
00000999: PUSH1 0x01
0000099b: PUSH1 0xa8
0000099d: SHL
0000099e: SUB
0000099f: NOT
000009a0: AND
000009a1: SWAP1
000009a2: SSTORE
000009a3: JUMP
000009a4: JUMPDEST
000009a5: PUSH1 0x02
000009a7: PUSH1 0x06
000009a9: SLOAD
000009aa: EQ
000009ab: ISZERO
000009ac: PUSH2 0x09fc
000009af: JUMPI
000009b0: PUSH1 0x40
000009b2: DUP1
000009b3: MLOAD
000009b4: PUSH3 0x461bcd
000009b8: PUSH1 0xe5
000009ba: SHL
000009bb: DUP2
000009bc: MSTORE
000009bd: PUSH1 0x20
000009bf: PUSH1 0x04
000009c1: DUP3
000009c2: ADD
000009c3: MSTORE
000009c4: PUSH1 0x1f
000009c6: PUSH1 0x24
000009c8: DUP3
000009c9: ADD
000009ca: MSTORE
000009cb: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000009ec: PUSH1 0x44
000009ee: DUP3
000009ef: ADD
000009f0: MSTORE
000009f1: SWAP1
000009f2: MLOAD
000009f3: SWAP1
000009f4: DUP2
000009f5: SWAP1
000009f6: SUB
000009f7: PUSH1 0x64
000009f9: ADD
000009fa: SWAP1
000009fb: REVERT
000009fc: JUMPDEST
000009fd: PUSH1 0x02
000009ff: PUSH1 0x06
00000a01: SSTORE
00000a02: PUSH1 0x05
00000a04: SLOAD
00000a05: PUSH1 0x01
00000a07: PUSH1 0xa8
00000a09: SHL
00000a0a: SWAP1
00000a0b: DIV
00000a0c: PUSH1 0xff
00000a0e: AND
00000a0f: ISZERO
00000a10: PUSH2 0x0a53
00000a13: JUMPI
00000a14: PUSH1 0x40
00000a16: DUP1
00000a17: MLOAD
00000a18: PUSH3 0x461bcd
00000a1c: PUSH1 0xe5
00000a1e: SHL
00000a1f: DUP2
00000a20: MSTORE
00000a21: PUSH1 0x20
00000a23: PUSH1 0x04
00000a25: DUP3
00000a26: ADD
00000a27: MSTORE
00000a28: PUSH1 0x10
00000a2a: PUSH1 0x24
00000a2c: DUP3
00000a2d: ADD
00000a2e: MSTORE
00000a2f: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00000a40: PUSH1 0x82
00000a42: SHL
00000a43: PUSH1 0x44
00000a45: DUP3
00000a46: ADD
00000a47: MSTORE
00000a48: SWAP1
00000a49: MLOAD
00000a4a: SWAP1
00000a4b: DUP2
00000a4c: SWAP1
00000a4d: SUB
00000a4e: PUSH1 0x64
00000a50: ADD
00000a51: SWAP1
00000a52: REVERT
00000a53: JUMPDEST
00000a54: DUP1
00000a55: PUSH2 0x0a64
00000a58: PUSH2 0x0a5f
00000a5b: PUSH2 0x1449
00000a5e: JUMP
00000a5f: JUMPDEST
00000a60: PUSH2 0x08d8
00000a63: JUMP
00000a64: JUMPDEST
00000a65: LT
00000a66: ISZERO
00000a67: DUP1
00000a68: ISZERO
00000a69: PUSH2 0x0a72
00000a6c: JUMPI
00000a6d: POP
00000a6e: PUSH1 0x00
00000a70: DUP2
00000a71: GT
00000a72: JUMPDEST
00000a73: PUSH2 0x0aad
00000a76: JUMPI
00000a77: PUSH1 0x40
00000a79: MLOAD
00000a7a: PUSH3 0x461bcd
00000a7e: PUSH1 0xe5
00000a80: SHL
00000a81: DUP2
00000a82: MSTORE
00000a83: PUSH1 0x04
00000a85: ADD
00000a86: DUP1
00000a87: DUP1
00000a88: PUSH1 0x20
00000a8a: ADD
00000a8b: DUP3
00000a8c: DUP2
00000a8d: SUB
00000a8e: DUP3
00000a8f: MSTORE
00000a90: PUSH1 0x25
00000a92: DUP2
00000a93: MSTORE
00000a94: PUSH1 0x20
00000a96: ADD
00000a97: DUP1
00000a98: PUSH2 0x1e59
00000a9b: PUSH1 0x25
00000a9d: SWAP2
00000a9e: CODECOPY
00000a9f: PUSH1 0x40
00000aa1: ADD
00000aa2: SWAP2
00000aa3: POP
00000aa4: POP
00000aa5: PUSH1 0x40
00000aa7: MLOAD
00000aa8: DUP1
00000aa9: SWAP2
00000aaa: SUB
00000aab: SWAP1
00000aac: REVERT
00000aad: JUMPDEST
00000aae: CALLER
00000aaf: PUSH1 0x00
00000ab1: SWAP1
00000ab2: DUP2
00000ab3: MSTORE
00000ab4: PUSH1 0x0b
00000ab6: PUSH1 0x20
00000ab8: MSTORE
00000ab9: PUSH1 0x40
00000abb: SWAP1
00000abc: KECCAK256
00000abd: SLOAD
00000abe: PUSH2 0x0b03
00000ac1: JUMPI
00000ac2: PUSH1 0x40
00000ac4: DUP1
00000ac5: MLOAD
00000ac6: PUSH3 0x461bcd
00000aca: PUSH1 0xe5
00000acc: SHL
00000acd: DUP2
00000ace: MSTORE
00000acf: PUSH1 0x20
00000ad1: PUSH1 0x04
00000ad3: DUP3
00000ad4: ADD
00000ad5: MSTORE
00000ad6: PUSH1 0x12
00000ad8: PUSH1 0x24
00000ada: DUP3
00000adb: ADD
00000adc: MSTORE
00000add: PUSH18 0x4e6f206465706f73697420686973746f7279
00000af0: PUSH1 0x70
00000af2: SHL
00000af3: PUSH1 0x44
00000af5: DUP3
00000af6: ADD
00000af7: MSTORE
00000af8: SWAP1
00000af9: MLOAD
00000afa: SWAP1
00000afb: DUP2
00000afc: SWAP1
00000afd: SUB
00000afe: PUSH1 0x64
00000b00: ADD
00000b01: SWAP1
00000b02: REVERT
00000b03: JUMPDEST
00000b04: CALLER
00000b05: PUSH1 0x00
00000b07: SWAP1
00000b08: DUP2
00000b09: MSTORE
00000b0a: PUSH1 0x0b
00000b0c: PUSH1 0x20
00000b0e: MSTORE
00000b0f: PUSH1 0x40
00000b11: SWAP1
00000b12: KECCAK256
00000b13: SLOAD
00000b14: NUMBER
00000b15: GT
00000b16: PUSH2 0x0b59
00000b19: JUMPI
00000b1a: PUSH1 0x40
00000b1c: DUP1
00000b1d: MLOAD
00000b1e: PUSH3 0x461bcd
00000b22: PUSH1 0xe5
00000b24: SHL
00000b25: DUP2
00000b26: MSTORE
00000b27: PUSH1 0x20
00000b29: PUSH1 0x04
00000b2b: DUP3
00000b2c: ADD
00000b2d: MSTORE
00000b2e: PUSH1 0x10
00000b30: PUSH1 0x24
00000b32: DUP3
00000b33: ADD
00000b34: MSTORE
00000b35: PUSH16 0x2932b532b1ba10333630b9b43637b0b7
00000b46: PUSH1 0x81
00000b48: SHL
00000b49: PUSH1 0x44
00000b4b: DUP3
00000b4c: ADD
00000b4d: MSTORE
00000b4e: SWAP1
00000b4f: MLOAD
00000b50: SWAP1
00000b51: DUP2
00000b52: SWAP1
00000b53: SUB
00000b54: PUSH1 0x64
00000b56: ADD
00000b57: SWAP1
00000b58: REVERT
00000b59: JUMPDEST
00000b5a: PUSH1 0x00
00000b5c: PUSH2 0x0b7e
00000b5f: PUSH2 0x0b66
00000b62: PUSH2 0x0722
00000b65: JUMP
00000b66: JUMPDEST
00000b67: PUSH2 0x0b78
00000b6a: PUSH2 0x0b71
00000b6d: PUSH2 0x07af
00000b70: JUMP
00000b71: JUMPDEST
00000b72: DUP6
00000b73: SWAP1
00000b74: PUSH2 0x178c
00000b77: JUMP
00000b78: JUMPDEST
00000b79: SWAP1
00000b7a: PUSH2 0x17e5
00000b7d: JUMP
00000b7e: JUMPDEST
00000b7f: PUSH1 0x08
00000b81: SLOAD
00000b82: SWAP1
00000b83: SWAP2
00000b84: POP
00000b85: PUSH1 0x01
00000b87: PUSH1 0x01
00000b89: PUSH1 0xa0
00000b8b: SHL
00000b8c: SUB
00000b8d: AND
00000b8e: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000ba3: EQ
00000ba4: PUSH2 0x0bca
00000ba7: JUMPI
00000ba8: PUSH2 0x0bc5
00000bab: PUSH2 0x0bb2
00000bae: PUSH2 0x1449
00000bb1: JUMP
00000bb2: JUMPDEST
00000bb3: PUSH1 0x08
00000bb5: SLOAD
00000bb6: PUSH1 0x01
00000bb8: PUSH1 0x01
00000bba: PUSH1 0xa0
00000bbc: SHL
00000bbd: SUB
00000bbe: AND
00000bbf: SWAP1
00000bc0: DUP4
00000bc1: PUSH2 0x1827
00000bc4: JUMP
00000bc5: JUMPDEST
00000bc6: PUSH2 0x0c0c
00000bc9: JUMP
00000bca: JUMPDEST
00000bcb: PUSH2 0x0bd2
00000bce: PUSH2 0x1449
00000bd1: JUMP
00000bd2: JUMPDEST
00000bd3: PUSH1 0x01
00000bd5: PUSH1 0x01
00000bd7: PUSH1 0xa0
00000bd9: SHL
00000bda: SUB
00000bdb: AND
00000bdc: PUSH2 0x08fc
00000bdf: DUP3
00000be0: SWAP1
00000be1: DUP2
00000be2: ISZERO
00000be3: MUL
00000be4: SWAP1
00000be5: PUSH1 0x40
00000be7: MLOAD
00000be8: PUSH1 0x00
00000bea: PUSH1 0x40
00000bec: MLOAD
00000bed: DUP1
00000bee: DUP4
00000bef: SUB
00000bf0: DUP2
00000bf1: DUP6
00000bf2: DUP9
00000bf3: DUP9
00000bf4: CALL
00000bf5: SWAP4
00000bf6: POP
00000bf7: POP
00000bf8: POP
00000bf9: POP
00000bfa: ISZERO
00000bfb: DUP1
00000bfc: ISZERO
00000bfd: PUSH2 0x0c0a
00000c00: JUMPI
00000c01: RETURNDATASIZE
00000c02: PUSH1 0x00
00000c04: DUP1
00000c05: RETURNDATACOPY
00000c06: RETURNDATASIZE
00000c07: PUSH1 0x00
00000c09: REVERT
00000c0a: JUMPDEST
00000c0b: POP
00000c0c: JUMPDEST
00000c0d: PUSH2 0x0c1d
00000c10: PUSH2 0x0c17
00000c13: PUSH2 0x1449
00000c16: JUMP
00000c17: JUMPDEST
00000c18: DUP4
00000c19: PUSH2 0x187e
00000c1c: JUMP
00000c1d: JUMPDEST
00000c1e: PUSH2 0x0c25
00000c21: PUSH2 0x1449
00000c24: JUMP
00000c25: JUMPDEST
00000c26: PUSH1 0x01
00000c28: PUSH1 0x01
00000c2a: PUSH1 0xa0
00000c2c: SHL
00000c2d: SUB
00000c2e: AND
00000c2f: PUSH32 0x6449312ba024a9c00ca0dd68f369ba499ed0cf6d751e1534c71008555713cac9
00000c50: DUP4
00000c51: DUP4
00000c52: PUSH1 0x40
00000c54: MLOAD
00000c55: DUP1
00000c56: DUP4
00000c57: DUP2
00000c58: MSTORE
00000c59: PUSH1 0x20
00000c5b: ADD
00000c5c: DUP3
00000c5d: DUP2
00000c5e: MSTORE
00000c5f: PUSH1 0x20
00000c61: ADD
00000c62: SWAP3
00000c63: POP
00000c64: POP
00000c65: POP
00000c66: PUSH1 0x40
00000c68: MLOAD
00000c69: DUP1
00000c6a: SWAP2
00000c6b: SUB
00000c6c: SWAP1
00000c6d: LOG2
00000c6e: POP
00000c6f: POP
00000c70: PUSH1 0x01
00000c72: PUSH1 0x06
00000c74: SSTORE
00000c75: JUMP
00000c76: JUMPDEST
00000c77: PUSH1 0x05
00000c79: SLOAD
00000c7a: PUSH2 0x0100
00000c7d: SWAP1
00000c7e: DIV
00000c7f: PUSH1 0x01
00000c81: PUSH1 0x01
00000c83: PUSH1 0xa0
00000c85: SHL
00000c86: SUB
00000c87: AND
00000c88: SWAP1
00000c89: JUMP
00000c8a: JUMPDEST
00000c8b: PUSH1 0x04
00000c8d: DUP1
00000c8e: SLOAD
00000c8f: PUSH1 0x40
00000c91: DUP1
00000c92: MLOAD
00000c93: PUSH1 0x20
00000c95: PUSH1 0x1f
00000c97: PUSH1 0x02
00000c99: PUSH1 0x00
00000c9b: NOT
00000c9c: PUSH2 0x0100
00000c9f: PUSH1 0x01
00000ca1: DUP9
00000ca2: AND
00000ca3: ISZERO
00000ca4: MUL
00000ca5: ADD
00000ca6: SWAP1
00000ca7: SWAP6
00000ca8: AND
00000ca9: SWAP5
00000caa: SWAP1
00000cab: SWAP5
00000cac: DIV
00000cad: SWAP4
00000cae: DUP5
00000caf: ADD
00000cb0: DUP2
00000cb1: SWAP1
00000cb2: DIV
00000cb3: DUP2
00000cb4: MUL
00000cb5: DUP3
00000cb6: ADD
00000cb7: DUP2
00000cb8: ADD
00000cb9: SWAP1
00000cba: SWAP3
00000cbb: MSTORE
00000cbc: DUP3
00000cbd: DUP2
00000cbe: MSTORE
00000cbf: PUSH1 0x60
00000cc1: SWAP4
00000cc2: SWAP1
00000cc3: SWAP3
00000cc4: SWAP1
00000cc5: SWAP2
00000cc6: DUP4
00000cc7: ADD
00000cc8: DUP3
00000cc9: DUP3
00000cca: DUP1
00000ccb: ISZERO
00000ccc: PUSH2 0x06f3
00000ccf: JUMPI
00000cd0: DUP1
00000cd1: PUSH1 0x1f
00000cd3: LT
00000cd4: PUSH2 0x06c8
00000cd7: JUMPI
00000cd8: PUSH2 0x0100
00000cdb: DUP1
00000cdc: DUP4
00000cdd: SLOAD
00000cde: DIV
00000cdf: MUL
00000ce0: DUP4
00000ce1: MSTORE
00000ce2: SWAP2
00000ce3: PUSH1 0x20
00000ce5: ADD
00000ce6: SWAP2
00000ce7: PUSH2 0x06f3
00000cea: JUMP
00000ceb: JUMPDEST
00000cec: PUSH1 0x0a
00000cee: SLOAD
00000cef: PUSH1 0x01
00000cf1: PUSH1 0x01
00000cf3: PUSH1 0xa0
00000cf5: SHL
00000cf6: SUB
00000cf7: AND
00000cf8: CALLER
00000cf9: EQ
00000cfa: PUSH2 0x0d39
00000cfd: JUMPI
00000cfe: PUSH1 0x40
00000d00: DUP1
00000d01: MLOAD
00000d02: PUSH3 0x461bcd
00000d06: PUSH1 0xe5
00000d08: SHL
00000d09: DUP2
00000d0a: MSTORE
00000d0b: PUSH1 0x20
00000d0d: PUSH1 0x04
00000d0f: DUP3
00000d10: ADD
00000d11: MSTORE
00000d12: PUSH1 0x0c
00000d14: PUSH1 0x24
00000d16: DUP3
00000d17: ADD
00000d18: MSTORE
00000d19: PUSH12 0x3737ba1037b832b930ba37b9
00000d26: PUSH1 0xa1
00000d28: SHL
00000d29: PUSH1 0x44
00000d2b: DUP3
00000d2c: ADD
00000d2d: MSTORE
00000d2e: SWAP1
00000d2f: MLOAD
00000d30: SWAP1
00000d31: DUP2
00000d32: SWAP1
00000d33: SUB
00000d34: PUSH1 0x64
00000d36: ADD
00000d37: SWAP1
00000d38: REVERT
00000d39: JUMPDEST
00000d3a: PUSH1 0x01
00000d3c: PUSH1 0x01
00000d3e: PUSH1 0xa0
00000d40: SHL
00000d41: SUB
00000d42: DUP3
00000d43: AND
00000d44: PUSH2 0x0d82
00000d47: JUMPI
00000d48: PUSH1 0x40
00000d4a: DUP1
00000d4b: MLOAD
00000d4c: PUSH3 0x461bcd
00000d50: PUSH1 0xe5
00000d52: SHL
00000d53: DUP2
00000d54: MSTORE
00000d55: PUSH1 0x20
00000d57: PUSH1 0x04
00000d59: DUP3
00000d5a: ADD
00000d5b: MSTORE
00000d5c: PUSH1 0x0b
00000d5e: PUSH1 0x24
00000d60: DUP3
00000d61: ADD
00000d62: MSTORE
00000d63: PUSH11 0x5f746f206973207a65726f
00000d6f: PUSH1 0xa8
00000d71: SHL
00000d72: PUSH1 0x44
00000d74: DUP3
00000d75: ADD
00000d76: MSTORE
00000d77: SWAP1
00000d78: MLOAD
00000d79: SWAP1
00000d7a: DUP2
00000d7b: SWAP1
00000d7c: SUB
00000d7d: PUSH1 0x64
00000d7f: ADD
00000d80: SWAP1
00000d81: REVERT
00000d82: JUMPDEST
00000d83: PUSH1 0x08
00000d85: SLOAD
00000d86: PUSH1 0x01
00000d88: PUSH1 0x01
00000d8a: PUSH1 0xa0
00000d8c: SHL
00000d8d: SUB
00000d8e: AND
00000d8f: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000da4: EQ
00000da5: PUSH2 0x0dc4
00000da8: JUMPI
00000da9: PUSH1 0x08
00000dab: SLOAD
00000dac: PUSH2 0x0dbf
00000daf: SWAP1
00000db0: PUSH1 0x01
00000db2: PUSH1 0x01
00000db4: PUSH1 0xa0
00000db6: SHL
00000db7: SUB
00000db8: AND
00000db9: DUP4
00000dba: DUP4
00000dbb: PUSH2 0x1827
00000dbe: JUMP
00000dbf: JUMPDEST
00000dc0: PUSH2 0x0dfc
00000dc3: JUMP
00000dc4: JUMPDEST
00000dc5: PUSH1 0x40
00000dc7: MLOAD
00000dc8: PUSH1 0x01
00000dca: PUSH1 0x01
00000dcc: PUSH1 0xa0
00000dce: SHL
00000dcf: SUB
00000dd0: DUP4
00000dd1: AND
00000dd2: SWAP1
00000dd3: DUP3
00000dd4: ISZERO
00000dd5: PUSH2 0x08fc
00000dd8: MUL
00000dd9: SWAP1
00000dda: DUP4
00000ddb: SWAP1
00000ddc: PUSH1 0x00
00000dde: DUP2
00000ddf: DUP2
00000de0: DUP2
00000de1: DUP6
00000de2: DUP9
00000de3: DUP9
00000de4: CALL
00000de5: SWAP4
00000de6: POP
00000de7: POP
00000de8: POP
00000de9: POP
00000dea: ISZERO
00000deb: DUP1
00000dec: ISZERO
00000ded: PUSH2 0x0dfa
00000df0: JUMPI
00000df1: RETURNDATASIZE
00000df2: PUSH1 0x00
00000df4: DUP1
00000df5: RETURNDATACOPY
00000df6: RETURNDATASIZE
00000df7: PUSH1 0x00
00000df9: REVERT
00000dfa: JUMPDEST
00000dfb: POP
00000dfc: JUMPDEST
00000dfd: PUSH1 0x40
00000dff: DUP1
00000e00: MLOAD
00000e01: DUP3
00000e02: DUP2
00000e03: MSTORE
00000e04: SWAP1
00000e05: MLOAD
00000e06: PUSH1 0x01
00000e08: PUSH1 0x01
00000e0a: PUSH1 0xa0
00000e0c: SHL
00000e0d: SUB
00000e0e: DUP5
00000e0f: AND
00000e10: SWAP2
00000e11: PUSH32 0x21f5d51767dbc29c660e79e98830844af5399b7623bbdfbe6ce5d6cb216bc2fe
00000e32: SWAP2
00000e33: SWAP1
00000e34: DUP2
00000e35: SWAP1
00000e36: SUB
00000e37: PUSH1 0x20
00000e39: ADD
00000e3a: SWAP1
00000e3b: LOG2
00000e3c: POP
00000e3d: POP
00000e3e: JUMP
00000e3f: JUMPDEST
00000e40: PUSH1 0x02
00000e42: PUSH1 0x06
00000e44: SLOAD
00000e45: EQ
00000e46: ISZERO
00000e47: PUSH2 0x0e97
00000e4a: JUMPI
00000e4b: PUSH1 0x40
00000e4d: DUP1
00000e4e: MLOAD
00000e4f: PUSH3 0x461bcd
00000e53: PUSH1 0xe5
00000e55: SHL
00000e56: DUP2
00000e57: MSTORE
00000e58: PUSH1 0x20
00000e5a: PUSH1 0x04
00000e5c: DUP3
00000e5d: ADD
00000e5e: MSTORE
00000e5f: PUSH1 0x1f
00000e61: PUSH1 0x24
00000e63: DUP3
00000e64: ADD
00000e65: MSTORE
00000e66: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00000e87: PUSH1 0x44
00000e89: DUP3
00000e8a: ADD
00000e8b: MSTORE
00000e8c: SWAP1
00000e8d: MLOAD
00000e8e: SWAP1
00000e8f: DUP2
00000e90: SWAP1
00000e91: SUB
00000e92: PUSH1 0x64
00000e94: ADD
00000e95: SWAP1
00000e96: REVERT
00000e97: JUMPDEST
00000e98: PUSH1 0x02
00000e9a: PUSH1 0x06
00000e9c: SSTORE
00000e9d: PUSH1 0x05
00000e9f: SLOAD
00000ea0: PUSH1 0x01
00000ea2: PUSH1 0xa8
00000ea4: SHL
00000ea5: SWAP1
00000ea6: DIV
00000ea7: PUSH1 0xff
00000ea9: AND
00000eaa: ISZERO
00000eab: PUSH2 0x0eee
00000eae: JUMPI
00000eaf: PUSH1 0x40
00000eb1: DUP1
00000eb2: MLOAD
00000eb3: PUSH3 0x461bcd
00000eb7: PUSH1 0xe5
00000eb9: SHL
00000eba: DUP2
00000ebb: MSTORE
00000ebc: PUSH1 0x20
00000ebe: PUSH1 0x04
00000ec0: DUP3
00000ec1: ADD
00000ec2: MSTORE
00000ec3: PUSH1 0x10
00000ec5: PUSH1 0x24
00000ec7: DUP3
00000ec8: ADD
00000ec9: MSTORE
00000eca: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00000edb: PUSH1 0x82
00000edd: SHL
00000ede: PUSH1 0x44
00000ee0: DUP3
00000ee1: ADD
00000ee2: MSTORE
00000ee3: SWAP1
00000ee4: MLOAD
00000ee5: SWAP1
00000ee6: DUP2
00000ee7: SWAP1
00000ee8: SUB
00000ee9: PUSH1 0x64
00000eeb: ADD
00000eec: SWAP1
00000eed: REVERT
00000eee: JUMPDEST
00000eef: PUSH1 0x00
00000ef1: DUP2
00000ef2: GT
00000ef3: PUSH2 0x0f2d
00000ef6: JUMPI
00000ef7: PUSH1 0x40
00000ef9: MLOAD
00000efa: PUSH3 0x461bcd
00000efe: PUSH1 0xe5
00000f00: SHL
00000f01: DUP2
00000f02: MSTORE
00000f03: PUSH1 0x04
00000f05: ADD
00000f06: DUP1
00000f07: DUP1
00000f08: PUSH1 0x20
00000f0a: ADD
00000f0b: DUP3
00000f0c: DUP2
00000f0d: SUB
00000f0e: DUP3
00000f0f: MSTORE
00000f10: PUSH1 0x21
00000f12: DUP2
00000f13: MSTORE
00000f14: PUSH1 0x20
00000f16: ADD
00000f17: DUP1
00000f18: PUSH2 0x2060
00000f1b: PUSH1 0x21
00000f1d: SWAP2
00000f1e: CODECOPY
00000f1f: PUSH1 0x40
00000f21: ADD
00000f22: SWAP2
00000f23: POP
00000f24: POP
00000f25: PUSH1 0x40
00000f27: MLOAD
00000f28: DUP1
00000f29: SWAP2
00000f2a: SUB
00000f2b: SWAP1
00000f2c: REVERT
00000f2d: JUMPDEST
00000f2e: PUSH1 0x07
00000f30: SLOAD
00000f31: DUP2
00000f32: GT
00000f33: ISZERO
00000f34: PUSH2 0x0f84
00000f37: JUMPI
00000f38: PUSH1 0x40
00000f3a: DUP1
00000f3b: MLOAD
00000f3c: PUSH3 0x461bcd
00000f40: PUSH1 0xe5
00000f42: SHL
00000f43: DUP2
00000f44: MSTORE
00000f45: PUSH1 0x20
00000f47: PUSH1 0x04
00000f49: DUP3
00000f4a: ADD
00000f4b: MSTORE
00000f4c: PUSH1 0x1b
00000f4e: PUSH1 0x24
00000f50: DUP3
00000f51: ADD
00000f52: MSTORE
00000f53: PUSH32 0x657863656564696e6720746865206d6178696d756d206c696d69740000000000
00000f74: PUSH1 0x44
00000f76: DUP3
00000f77: ADD
00000f78: MSTORE
00000f79: SWAP1
00000f7a: MLOAD
00000f7b: SWAP1
00000f7c: DUP2
00000f7d: SWAP1
00000f7e: SUB
00000f7f: PUSH1 0x64
00000f81: ADD
00000f82: SWAP1
00000f83: REVERT
00000f84: JUMPDEST
00000f85: CALLER
00000f86: PUSH1 0x00
00000f88: SWAP1
00000f89: DUP2
00000f8a: MSTORE
00000f8b: PUSH1 0x0b
00000f8d: PUSH1 0x20
00000f8f: MSTORE
00000f90: PUSH1 0x40
00000f92: SWAP1
00000f93: KECCAK256
00000f94: NUMBER
00000f95: SWAP1
00000f96: SSTORE
00000f97: PUSH1 0x08
00000f99: SLOAD
00000f9a: PUSH1 0x01
00000f9c: PUSH1 0x01
00000f9e: PUSH1 0xa0
00000fa0: SHL
00000fa1: SUB
00000fa2: AND
00000fa3: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000fb8: EQ
00000fb9: PUSH2 0x101d
00000fbc: JUMPI
00000fbd: CALLVALUE
00000fbe: ISZERO
00000fbf: PUSH2 0x0ff9
00000fc2: JUMPI
00000fc3: PUSH1 0x40
00000fc5: MLOAD
00000fc6: PUSH3 0x461bcd
00000fca: PUSH1 0xe5
00000fcc: SHL
00000fcd: DUP2
00000fce: MSTORE
00000fcf: PUSH1 0x04
00000fd1: ADD
00000fd2: DUP1
00000fd3: DUP1
00000fd4: PUSH1 0x20
00000fd6: ADD
00000fd7: DUP3
00000fd8: DUP2
00000fd9: SUB
00000fda: DUP3
00000fdb: MSTORE
00000fdc: PUSH1 0x30
00000fde: DUP2
00000fdf: MSTORE
00000fe0: PUSH1 0x20
00000fe2: ADD
00000fe3: DUP1
00000fe4: PUSH2 0x200b
00000fe7: PUSH1 0x30
00000fe9: SWAP2
00000fea: CODECOPY
00000feb: PUSH1 0x40
00000fed: ADD
00000fee: SWAP2
00000fef: POP
00000ff0: POP
00000ff1: PUSH1 0x40
00000ff3: MLOAD
00000ff4: DUP1
00000ff5: SWAP2
00000ff6: SUB
00000ff7: SWAP1
00000ff8: REVERT
00000ff9: JUMPDEST
00000ffa: PUSH2 0x1018
00000ffd: PUSH2 0x1004
00001000: PUSH2 0x1449
00001003: JUMP
00001004: JUMPDEST
00001005: PUSH1 0x08
00001007: SLOAD
00001008: PUSH1 0x01
0000100a: PUSH1 0x01
0000100c: PUSH1 0xa0
0000100e: SHL
0000100f: SUB
00001010: AND
00001011: SWAP1
00001012: ADDRESS
00001013: DUP5
00001014: PUSH2 0x197a
00001017: JUMP
00001018: JUMPDEST
00001019: PUSH2 0x105b
0000101c: JUMP
0000101d: JUMPDEST
0000101e: CALLVALUE
0000101f: DUP2
00001020: EQ
00001021: PUSH2 0x105b
00001024: JUMPI
00001025: PUSH1 0x40
00001027: MLOAD
00001028: PUSH3 0x461bcd
0000102c: PUSH1 0xe5
0000102e: SHL
0000102f: DUP2
00001030: MSTORE
00001031: PUSH1 0x04
00001033: ADD
00001034: DUP1
00001035: DUP1
00001036: PUSH1 0x20
00001038: ADD
00001039: DUP3
0000103a: DUP2
0000103b: SUB
0000103c: DUP3
0000103d: MSTORE
0000103e: PUSH1 0x27
00001040: DUP2
00001041: MSTORE
00001042: PUSH1 0x20
00001044: ADD
00001045: DUP1
00001046: PUSH2 0x1e32
00001049: PUSH1 0x27
0000104b: SWAP2
0000104c: CODECOPY
0000104d: PUSH1 0x40
0000104f: ADD
00001050: SWAP2
00001051: POP
00001052: POP
00001053: PUSH1 0x40
00001055: MLOAD
00001056: DUP1
00001057: SWAP2
00001058: SUB
00001059: SWAP1
0000105a: REVERT
0000105b: JUMPDEST
0000105c: PUSH1 0x00
0000105e: PUSH2 0x1066
00001061: DUP3
00001062: PUSH2 0x19da
00001065: JUMP
00001066: JUMPDEST
00001067: SWAP1
00001068: POP
00001069: PUSH2 0x1079
0000106c: PUSH2 0x1073
0000106f: PUSH2 0x1449
00001072: JUMP
00001073: JUMPDEST
00001074: DUP3
00001075: PUSH2 0x1a3c
00001078: JUMP
00001079: JUMPDEST
0000107a: PUSH2 0x1081
0000107d: PUSH2 0x1449
00001080: JUMP
00001081: JUMPDEST
00001082: PUSH1 0x01
00001084: PUSH1 0x01
00001086: PUSH1 0xa0
00001088: SHL
00001089: SUB
0000108a: AND
0000108b: PUSH32 0x422ec69e49281bc8ab782423bec4967c366c3df5607d206cb6d32fd1d3a2868e
000010ac: DUP4
000010ad: DUP4
000010ae: PUSH1 0x40
000010b0: MLOAD
000010b1: DUP1
000010b2: DUP4
000010b3: DUP2
000010b4: MSTORE
000010b5: PUSH1 0x20
000010b7: ADD
000010b8: DUP3
000010b9: DUP2
000010ba: MSTORE
000010bb: PUSH1 0x20
000010bd: ADD
000010be: SWAP3
000010bf: POP
000010c0: POP
000010c1: POP
000010c2: PUSH1 0x40
000010c4: MLOAD
000010c5: DUP1
000010c6: SWAP2
000010c7: SUB
000010c8: SWAP1
000010c9: LOG2
000010ca: POP
000010cb: POP
000010cc: PUSH1 0x01
000010ce: PUSH1 0x06
000010d0: SSTORE
000010d1: JUMP
000010d2: JUMPDEST
000010d3: PUSH1 0x00
000010d5: PUSH2 0x0712
000010d8: PUSH2 0x10df
000010db: PUSH2 0x1449
000010de: JUMP
000010df: JUMPDEST
000010e0: DUP5
000010e1: PUSH2 0x07a0
000010e4: DUP6
000010e5: PUSH1 0x40
000010e7: MLOAD
000010e8: DUP1
000010e9: PUSH1 0x60
000010eb: ADD
000010ec: PUSH1 0x40
000010ee: MSTORE
000010ef: DUP1
000010f0: PUSH1 0x25
000010f2: DUP2
000010f3: MSTORE
000010f4: PUSH1 0x20
000010f6: ADD
000010f7: PUSH2 0x203b
000010fa: PUSH1 0x25
000010fc: SWAP2
000010fd: CODECOPY
000010fe: PUSH1 0x01
00001100: PUSH1 0x00
00001102: PUSH2 0x1109
00001105: PUSH2 0x1449
00001108: JUMP
00001109: JUMPDEST
0000110a: PUSH1 0x01
0000110c: PUSH1 0x01
0000110e: PUSH1 0xa0
00001110: SHL
00001111: SUB
00001112: SWAP1
00001113: DUP2
00001114: AND
00001115: DUP3
00001116: MSTORE
00001117: PUSH1 0x20
00001119: DUP1
0000111a: DUP4
0000111b: ADD
0000111c: SWAP4
0000111d: SWAP1
0000111e: SWAP4
0000111f: MSTORE
00001120: PUSH1 0x40
00001122: SWAP2
00001123: DUP3
00001124: ADD
00001125: PUSH1 0x00
00001127: SWAP1
00001128: DUP2
00001129: KECCAK256
0000112a: SWAP2
0000112b: DUP14
0000112c: AND
0000112d: DUP2
0000112e: MSTORE
0000112f: SWAP3
00001130: MSTORE
00001131: SWAP1
00001132: KECCAK256
00001133: SLOAD
00001134: SWAP2
00001135: SWAP1
00001136: PUSH2 0x1694
00001139: JUMP
0000113a: JUMPDEST
0000113b: PUSH1 0x00
0000113d: PUSH2 0x0712
00001140: PUSH2 0x1147
00001143: PUSH2 0x1449
00001146: JUMP
00001147: JUMPDEST
00001148: DUP5
00001149: DUP5
0000114a: PUSH2 0x1539
0000114d: JUMP
0000114e: JUMPDEST
0000114f: PUSH2 0x1156
00001152: PUSH2 0x1449
00001155: JUMP
00001156: JUMPDEST
00001157: PUSH1 0x05
00001159: SLOAD
0000115a: PUSH2 0x0100
0000115d: SWAP1
0000115e: DIV
0000115f: PUSH1 0x01
00001161: PUSH1 0x01
00001163: PUSH1 0xa0
00001165: SHL
00001166: SUB
00001167: SWAP1
00001168: DUP2
00001169: AND
0000116a: SWAP2
0000116b: AND
0000116c: EQ
0000116d: PUSH2 0x11ab
00001170: JUMPI
00001171: PUSH1 0x40
00001173: DUP1
00001174: MLOAD
00001175: PUSH3 0x461bcd
00001179: PUSH1 0xe5
0000117b: SHL
0000117c: DUP2
0000117d: MSTORE
0000117e: PUSH1 0x20
00001180: PUSH1 0x04
00001182: DUP3
00001183: ADD
00001184: DUP2
00001185: SWAP1
00001186: MSTORE
00001187: PUSH1 0x24
00001189: DUP3
0000118a: ADD
0000118b: MSTORE
0000118c: PUSH1 0x00
0000118e: DUP1
0000118f: MLOAD
00001190: PUSH1 0x20
00001192: PUSH2 0x1f57
00001195: DUP4
00001196: CODECOPY
00001197: DUP2
00001198: MLOAD
00001199: SWAP2
0000119a: MSTORE
0000119b: PUSH1 0x44
0000119d: DUP3
0000119e: ADD
0000119f: MSTORE
000011a0: SWAP1
000011a1: MLOAD
000011a2: SWAP1
000011a3: DUP2
000011a4: SWAP1
000011a5: SUB
000011a6: PUSH1 0x64
000011a8: ADD
000011a9: SWAP1
000011aa: REVERT
000011ab: JUMPDEST
000011ac: PUSH1 0x01
000011ae: PUSH1 0x01
000011b0: PUSH1 0xa0
000011b2: SHL
000011b3: SUB
000011b4: DUP2
000011b5: AND
000011b6: PUSH2 0x11fa
000011b9: JUMPI
000011ba: PUSH1 0x40
000011bc: DUP1
000011bd: MLOAD
000011be: PUSH3 0x461bcd
000011c2: PUSH1 0xe5
000011c4: SHL
000011c5: DUP2
000011c6: MSTORE
000011c7: PUSH1 0x20
000011c9: PUSH1 0x04
000011cb: DUP3
000011cc: ADD
000011cd: MSTORE
000011ce: PUSH1 0x11
000011d0: PUSH1 0x24
000011d2: DUP3
000011d3: ADD
000011d4: MSTORE
000011d5: PUSH17 0x5f6f70657261746f72206973207a65726f
000011e7: PUSH1 0x78
000011e9: SHL
000011ea: PUSH1 0x44
000011ec: DUP3
000011ed: ADD
000011ee: MSTORE
000011ef: SWAP1
000011f0: MLOAD
000011f1: SWAP1
000011f2: DUP2
000011f3: SWAP1
000011f4: SUB
000011f5: PUSH1 0x64
000011f7: ADD
000011f8: SWAP1
000011f9: REVERT
000011fa: JUMPDEST
000011fb: PUSH1 0x0a
000011fd: DUP1
000011fe: SLOAD
000011ff: PUSH1 0x01
00001201: PUSH1 0x01
00001203: PUSH1 0xa0
00001205: SHL
00001206: SUB
00001207: NOT
00001208: AND
00001209: PUSH1 0x01
0000120b: PUSH1 0x01
0000120d: PUSH1 0xa0
0000120f: SHL
00001210: SUB
00001211: DUP4
00001212: AND
00001213: SWAP1
00001214: DUP2
00001215: OR
00001216: SWAP1
00001217: SWAP2
00001218: SSTORE
00001219: PUSH1 0x40
0000121b: MLOAD
0000121c: PUSH32 0x22b76827cedebd97fbe4b16a026ed043bde58720fc1f4f0802457397016ceb1c
0000123d: SWAP1
0000123e: PUSH1 0x00
00001240: SWAP1
00001241: LOG2
00001242: POP
00001243: JUMP
00001244: JUMPDEST
00001245: PUSH1 0x01
00001247: PUSH1 0x01
00001249: PUSH1 0xa0
0000124b: SHL
0000124c: SUB
0000124d: SWAP2
0000124e: DUP3
0000124f: AND
00001250: PUSH1 0x00
00001252: SWAP1
00001253: DUP2
00001254: MSTORE
00001255: PUSH1 0x01
00001257: PUSH1 0x20
00001259: SWAP1
0000125a: DUP2
0000125b: MSTORE
0000125c: PUSH1 0x40
0000125e: DUP1
0000125f: DUP4
00001260: KECCAK256
00001261: SWAP4
00001262: SWAP1
00001263: SWAP5
00001264: AND
00001265: DUP3
00001266: MSTORE
00001267: SWAP2
00001268: SWAP1
00001269: SWAP2
0000126a: MSTORE
0000126b: KECCAK256
0000126c: SLOAD
0000126d: SWAP1
0000126e: JUMP
0000126f: JUMPDEST
00001270: PUSH1 0x0b
00001272: PUSH1 0x20
00001274: MSTORE
00001275: PUSH1 0x00
00001277: SWAP1
00001278: DUP2
00001279: MSTORE
0000127a: PUSH1 0x40
0000127c: SWAP1
0000127d: KECCAK256
0000127e: SLOAD
0000127f: DUP2
00001280: JUMP
00001281: JUMPDEST
00001282: PUSH2 0x1289
00001285: PUSH2 0x1449
00001288: JUMP
00001289: JUMPDEST
0000128a: PUSH1 0x05
0000128c: SLOAD
0000128d: PUSH2 0x0100
00001290: SWAP1
00001291: DIV
00001292: PUSH1 0x01
00001294: PUSH1 0x01
00001296: PUSH1 0xa0
00001298: SHL
00001299: SUB
0000129a: SWAP1
0000129b: DUP2
0000129c: AND
0000129d: SWAP2
0000129e: AND
0000129f: EQ
000012a0: PUSH2 0x12de
000012a3: JUMPI
000012a4: PUSH1 0x40
000012a6: DUP1
000012a7: MLOAD
000012a8: PUSH3 0x461bcd
000012ac: PUSH1 0xe5
000012ae: SHL
000012af: DUP2
000012b0: MSTORE
000012b1: PUSH1 0x20
000012b3: PUSH1 0x04
000012b5: DUP3
000012b6: ADD
000012b7: DUP2
000012b8: SWAP1
000012b9: MSTORE
000012ba: PUSH1 0x24
000012bc: DUP3
000012bd: ADD
000012be: MSTORE
000012bf: PUSH1 0x00
000012c1: DUP1
000012c2: MLOAD
000012c3: PUSH1 0x20
000012c5: PUSH2 0x1f57
000012c8: DUP4
000012c9: CODECOPY
000012ca: DUP2
000012cb: MLOAD
000012cc: SWAP2
000012cd: MSTORE
000012ce: PUSH1 0x44
000012d0: DUP3
000012d1: ADD
000012d2: MSTORE
000012d3: SWAP1
000012d4: MLOAD
000012d5: SWAP1
000012d6: DUP2
000012d7: SWAP1
000012d8: SUB
000012d9: PUSH1 0x64
000012db: ADD
000012dc: SWAP1
000012dd: REVERT
000012de: JUMPDEST
000012df: PUSH1 0x07
000012e1: DUP2
000012e2: SWAP1
000012e3: SSTORE
000012e4: PUSH1 0x40
000012e6: DUP1
000012e7: MLOAD
000012e8: DUP3
000012e9: DUP2
000012ea: MSTORE
000012eb: SWAP1
000012ec: MLOAD
000012ed: PUSH32 0x5fc9ca1346f8d325bac67b7d73d90b93f86003ba4a44095dfbdf55532c5e8e96
0000130e: SWAP2
0000130f: DUP2
00001310: SWAP1
00001311: SUB
00001312: PUSH1 0x20
00001314: ADD
00001315: SWAP1
00001316: LOG1
00001317: POP
00001318: JUMP
00001319: JUMPDEST
0000131a: PUSH2 0x1321
0000131d: PUSH2 0x1449
00001320: JUMP
00001321: JUMPDEST
00001322: PUSH1 0x05
00001324: SLOAD
00001325: PUSH2 0x0100
00001328: SWAP1
00001329: DIV
0000132a: PUSH1 0x01
0000132c: PUSH1 0x01
0000132e: PUSH1 0xa0
00001330: SHL
00001331: SUB
00001332: SWAP1
00001333: DUP2
00001334: AND
00001335: SWAP2
00001336: AND
00001337: EQ
00001338: PUSH2 0x1376
0000133b: JUMPI
0000133c: PUSH1 0x40
0000133e: DUP1
0000133f: MLOAD
00001340: PUSH3 0x461bcd
00001344: PUSH1 0xe5
00001346: SHL
00001347: DUP2
00001348: MSTORE
00001349: PUSH1 0x20
0000134b: PUSH1 0x04
0000134d: DUP3
0000134e: ADD
0000134f: DUP2
00001350: SWAP1
00001351: MSTORE
00001352: PUSH1 0x24
00001354: DUP3
00001355: ADD
00001356: MSTORE
00001357: PUSH1 0x00
00001359: DUP1
0000135a: MLOAD
0000135b: PUSH1 0x20
0000135d: PUSH2 0x1f57
00001360: DUP4
00001361: CODECOPY
00001362: DUP2
00001363: MLOAD
00001364: SWAP2
00001365: MSTORE
00001366: PUSH1 0x44
00001368: DUP3
00001369: ADD
0000136a: MSTORE
0000136b: SWAP1
0000136c: MLOAD
0000136d: SWAP1
0000136e: DUP2
0000136f: SWAP1
00001370: SUB
00001371: PUSH1 0x64
00001373: ADD
00001374: SWAP1
00001375: REVERT
00001376: JUMPDEST
00001377: PUSH1 0x01
00001379: PUSH1 0x01
0000137b: PUSH1 0xa0
0000137d: SHL
0000137e: SUB
0000137f: DUP2
00001380: AND
00001381: PUSH2 0x13bb
00001384: JUMPI
00001385: PUSH1 0x40
00001387: MLOAD
00001388: PUSH3 0x461bcd
0000138c: PUSH1 0xe5
0000138e: SHL
0000138f: DUP2
00001390: MSTORE
00001391: PUSH1 0x04
00001393: ADD
00001394: DUP1
00001395: DUP1
00001396: PUSH1 0x20
00001398: ADD
00001399: DUP3
0000139a: DUP2
0000139b: SUB
0000139c: DUP3
0000139d: MSTORE
0000139e: PUSH1 0x26
000013a0: DUP2
000013a1: MSTORE
000013a2: PUSH1 0x20
000013a4: ADD
000013a5: DUP1
000013a6: PUSH2 0x1ea0
000013a9: PUSH1 0x26
000013ab: SWAP2
000013ac: CODECOPY
000013ad: PUSH1 0x40
000013af: ADD
000013b0: SWAP2
000013b1: POP
000013b2: POP
000013b3: PUSH1 0x40
000013b5: MLOAD
000013b6: DUP1
000013b7: SWAP2
000013b8: SUB
000013b9: SWAP1
000013ba: REVERT
000013bb: JUMPDEST
000013bc: PUSH1 0x05
000013be: SLOAD
000013bf: PUSH1 0x40
000013c1: MLOAD
000013c2: PUSH1 0x01
000013c4: PUSH1 0x01
000013c6: PUSH1 0xa0
000013c8: SHL
000013c9: SUB
000013ca: DUP1
000013cb: DUP5
000013cc: AND
000013cd: SWAP3
000013ce: PUSH2 0x0100
000013d1: SWAP1
000013d2: DIV
000013d3: AND
000013d4: SWAP1
000013d5: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000013f6: SWAP1
000013f7: PUSH1 0x00
000013f9: SWAP1
000013fa: LOG3
000013fb: PUSH1 0x05
000013fd: DUP1
000013fe: SLOAD
000013ff: PUSH1 0x01
00001401: PUSH1 0x01
00001403: PUSH1 0xa0
00001405: SHL
00001406: SUB
00001407: SWAP1
00001408: SWAP3
00001409: AND
0000140a: PUSH2 0x0100
0000140d: MUL
0000140e: PUSH2 0x0100
00001411: PUSH1 0x01
00001413: PUSH1 0xa8
00001415: SHL
00001416: SUB
00001417: NOT
00001418: SWAP1
00001419: SWAP3
0000141a: AND
0000141b: SWAP2
0000141c: SWAP1
0000141d: SWAP2
0000141e: OR
0000141f: SWAP1
00001420: SSTORE
00001421: JUMP
00001422: JUMPDEST
00001423: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00001438: DUP2
00001439: JUMP
0000143a: JUMPDEST
0000143b: PUSH1 0x08
0000143d: SLOAD
0000143e: PUSH1 0x01
00001440: PUSH1 0x01
00001442: PUSH1 0xa0
00001444: SHL
00001445: SUB
00001446: AND
00001447: DUP2
00001448: JUMP
00001449: JUMPDEST
0000144a: CALLER
0000144b: SWAP1
0000144c: JUMP
0000144d: JUMPDEST
0000144e: PUSH1 0x01
00001450: PUSH1 0x01
00001452: PUSH1 0xa0
00001454: SHL
00001455: SUB
00001456: DUP4
00001457: AND
00001458: PUSH2 0x1492
0000145b: JUMPI
0000145c: PUSH1 0x40
0000145e: MLOAD
0000145f: PUSH3 0x461bcd
00001463: PUSH1 0xe5
00001465: SHL
00001466: DUP2
00001467: MSTORE
00001468: PUSH1 0x04
0000146a: ADD
0000146b: DUP1
0000146c: DUP1
0000146d: PUSH1 0x20
0000146f: ADD
00001470: DUP3
00001471: DUP2
00001472: SUB
00001473: DUP3
00001474: MSTORE
00001475: PUSH1 0x24
00001477: DUP2
00001478: MSTORE
00001479: PUSH1 0x20
0000147b: ADD
0000147c: DUP1
0000147d: PUSH2 0x1fbd
00001480: PUSH1 0x24
00001482: SWAP2
00001483: CODECOPY
00001484: PUSH1 0x40
00001486: ADD
00001487: SWAP2
00001488: POP
00001489: POP
0000148a: PUSH1 0x40
0000148c: MLOAD
0000148d: DUP1
0000148e: SWAP2
0000148f: SUB
00001490: SWAP1
00001491: REVERT
00001492: JUMPDEST
00001493: PUSH1 0x01
00001495: PUSH1 0x01
00001497: PUSH1 0xa0
00001499: SHL
0000149a: SUB
0000149b: DUP3
0000149c: AND
0000149d: PUSH2 0x14d7
000014a0: JUMPI
000014a1: PUSH1 0x40
000014a3: MLOAD
000014a4: PUSH3 0x461bcd
000014a8: PUSH1 0xe5
000014aa: SHL
000014ab: DUP2
000014ac: MSTORE
000014ad: PUSH1 0x04
000014af: ADD
000014b0: DUP1
000014b1: DUP1
000014b2: PUSH1 0x20
000014b4: ADD
000014b5: DUP3
000014b6: DUP2
000014b7: SUB
000014b8: DUP3
000014b9: MSTORE
000014ba: PUSH1 0x22
000014bc: DUP2
000014bd: MSTORE
000014be: PUSH1 0x20
000014c0: ADD
000014c1: DUP1
000014c2: PUSH2 0x1ec6
000014c5: PUSH1 0x22
000014c7: SWAP2
000014c8: CODECOPY
000014c9: PUSH1 0x40
000014cb: ADD
000014cc: SWAP2
000014cd: POP
000014ce: POP
000014cf: PUSH1 0x40
000014d1: MLOAD
000014d2: DUP1
000014d3: SWAP2
000014d4: SUB
000014d5: SWAP1
000014d6: REVERT
000014d7: JUMPDEST
000014d8: PUSH1 0x01
000014da: PUSH1 0x01
000014dc: PUSH1 0xa0
000014de: SHL
000014df: SUB
000014e0: DUP1
000014e1: DUP5
000014e2: AND
000014e3: PUSH1 0x00
000014e5: DUP2
000014e6: DUP2
000014e7: MSTORE
000014e8: PUSH1 0x01
000014ea: PUSH1 0x20
000014ec: SWAP1
000014ed: DUP2
000014ee: MSTORE
000014ef: PUSH1 0x40
000014f1: DUP1
000014f2: DUP4
000014f3: KECCAK256
000014f4: SWAP5
000014f5: DUP8
000014f6: AND
000014f7: DUP1
000014f8: DUP5
000014f9: MSTORE
000014fa: SWAP5
000014fb: DUP3
000014fc: MSTORE
000014fd: SWAP2
000014fe: DUP3
000014ff: SWAP1
00001500: KECCAK256
00001501: DUP6
00001502: SWAP1
00001503: SSTORE
00001504: DUP2
00001505: MLOAD
00001506: DUP6
00001507: DUP2
00001508: MSTORE
00001509: SWAP2
0000150a: MLOAD
0000150b: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
0000152c: SWAP3
0000152d: DUP2
0000152e: SWAP1
0000152f: SUB
00001530: SWAP1
00001531: SWAP2
00001532: ADD
00001533: SWAP1
00001534: LOG3
00001535: POP
00001536: POP
00001537: POP
00001538: JUMP
00001539: JUMPDEST
0000153a: PUSH1 0x01
0000153c: PUSH1 0x01
0000153e: PUSH1 0xa0
00001540: SHL
00001541: SUB
00001542: DUP4
00001543: AND
00001544: PUSH2 0x157e
00001547: JUMPI
00001548: PUSH1 0x40
0000154a: MLOAD
0000154b: PUSH3 0x461bcd
0000154f: PUSH1 0xe5
00001551: SHL
00001552: DUP2
00001553: MSTORE
00001554: PUSH1 0x04
00001556: ADD
00001557: DUP1
00001558: DUP1
00001559: PUSH1 0x20
0000155b: ADD
0000155c: DUP3
0000155d: DUP2
0000155e: SUB
0000155f: DUP3
00001560: MSTORE
00001561: PUSH1 0x25
00001563: DUP2
00001564: MSTORE
00001565: PUSH1 0x20
00001567: ADD
00001568: DUP1
00001569: PUSH2 0x1f98
0000156c: PUSH1 0x25
0000156e: SWAP2
0000156f: CODECOPY
00001570: PUSH1 0x40
00001572: ADD
00001573: SWAP2
00001574: POP
00001575: POP
00001576: PUSH1 0x40
00001578: MLOAD
00001579: DUP1
0000157a: SWAP2
0000157b: SUB
0000157c: SWAP1
0000157d: REVERT
0000157e: JUMPDEST
0000157f: PUSH1 0x01
00001581: PUSH1 0x01
00001583: PUSH1 0xa0
00001585: SHL
00001586: SUB
00001587: DUP3
00001588: AND
00001589: PUSH2 0x15c3
0000158c: JUMPI
0000158d: PUSH1 0x40
0000158f: MLOAD
00001590: PUSH3 0x461bcd
00001594: PUSH1 0xe5
00001596: SHL
00001597: DUP2
00001598: MSTORE
00001599: PUSH1 0x04
0000159b: ADD
0000159c: DUP1
0000159d: DUP1
0000159e: PUSH1 0x20
000015a0: ADD
000015a1: DUP3
000015a2: DUP2
000015a3: SUB
000015a4: DUP3
000015a5: MSTORE
000015a6: PUSH1 0x23
000015a8: DUP2
000015a9: MSTORE
000015aa: PUSH1 0x20
000015ac: ADD
000015ad: DUP1
000015ae: PUSH2 0x1e0f
000015b1: PUSH1 0x23
000015b3: SWAP2
000015b4: CODECOPY
000015b5: PUSH1 0x40
000015b7: ADD
000015b8: SWAP2
000015b9: POP
000015ba: POP
000015bb: PUSH1 0x40
000015bd: MLOAD
000015be: DUP1
000015bf: SWAP2
000015c0: SUB
000015c1: SWAP1
000015c2: REVERT
000015c3: JUMPDEST
000015c4: PUSH2 0x15ce
000015c7: DUP4
000015c8: DUP4
000015c9: DUP4
000015ca: PUSH2 0x1879
000015cd: JUMP
000015ce: JUMPDEST
000015cf: PUSH2 0x160b
000015d2: DUP2
000015d3: PUSH1 0x40
000015d5: MLOAD
000015d6: DUP1
000015d7: PUSH1 0x60
000015d9: ADD
000015da: PUSH1 0x40
000015dc: MSTORE
000015dd: DUP1
000015de: PUSH1 0x26
000015e0: DUP2
000015e1: MSTORE
000015e2: PUSH1 0x20
000015e4: ADD
000015e5: PUSH2 0x1ee8
000015e8: PUSH1 0x26
000015ea: SWAP2
000015eb: CODECOPY
000015ec: PUSH1 0x01
000015ee: PUSH1 0x01
000015f0: PUSH1 0xa0
000015f2: SHL
000015f3: SUB
000015f4: DUP7
000015f5: AND
000015f6: PUSH1 0x00
000015f8: SWAP1
000015f9: DUP2
000015fa: MSTORE
000015fb: PUSH1 0x20
000015fd: DUP2
000015fe: SWAP1
000015ff: MSTORE
00001600: PUSH1 0x40
00001602: SWAP1
00001603: KECCAK256
00001604: SLOAD
00001605: SWAP2
00001606: SWAP1
00001607: PUSH2 0x1694
0000160a: JUMP
0000160b: JUMPDEST
0000160c: PUSH1 0x01
0000160e: PUSH1 0x01
00001610: PUSH1 0xa0
00001612: SHL
00001613: SUB
00001614: DUP1
00001615: DUP6
00001616: AND
00001617: PUSH1 0x00
00001619: SWAP1
0000161a: DUP2
0000161b: MSTORE
0000161c: PUSH1 0x20
0000161e: DUP2
0000161f: SWAP1
00001620: MSTORE
00001621: PUSH1 0x40
00001623: DUP1
00001624: DUP3
00001625: KECCAK256
00001626: SWAP4
00001627: SWAP1
00001628: SWAP4
00001629: SSTORE
0000162a: SWAP1
0000162b: DUP5
0000162c: AND
0000162d: DUP2
0000162e: MSTORE
0000162f: KECCAK256
00001630: SLOAD
00001631: PUSH2 0x163a
00001634: SWAP1
00001635: DUP3
00001636: PUSH2 0x172b
00001639: JUMP
0000163a: JUMPDEST
0000163b: PUSH1 0x01
0000163d: PUSH1 0x01
0000163f: PUSH1 0xa0
00001641: SHL
00001642: SUB
00001643: DUP1
00001644: DUP5
00001645: AND
00001646: PUSH1 0x00
00001648: DUP2
00001649: DUP2
0000164a: MSTORE
0000164b: PUSH1 0x20
0000164d: DUP2
0000164e: DUP2
0000164f: MSTORE
00001650: PUSH1 0x40
00001652: SWAP2
00001653: DUP3
00001654: SWAP1
00001655: KECCAK256
00001656: SWAP5
00001657: SWAP1
00001658: SWAP5
00001659: SSTORE
0000165a: DUP1
0000165b: MLOAD
0000165c: DUP6
0000165d: DUP2
0000165e: MSTORE
0000165f: SWAP1
00001660: MLOAD
00001661: SWAP2
00001662: SWAP4
00001663: SWAP3
00001664: DUP8
00001665: AND
00001666: SWAP3
00001667: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001688: SWAP3
00001689: SWAP2
0000168a: DUP3
0000168b: SWAP1
0000168c: SUB
0000168d: ADD
0000168e: SWAP1
0000168f: LOG3
00001690: POP
00001691: POP
00001692: POP
00001693: JUMP
00001694: JUMPDEST
00001695: PUSH1 0x00
00001697: DUP2
00001698: DUP5
00001699: DUP5
0000169a: GT
0000169b: ISZERO
0000169c: PUSH2 0x1723
0000169f: JUMPI
000016a0: PUSH1 0x40
000016a2: MLOAD
000016a3: PUSH3 0x461bcd
000016a7: PUSH1 0xe5
000016a9: SHL
000016aa: DUP2
000016ab: MSTORE
000016ac: PUSH1 0x04
000016ae: ADD
000016af: DUP1
000016b0: DUP1
000016b1: PUSH1 0x20
000016b3: ADD
000016b4: DUP3
000016b5: DUP2
000016b6: SUB
000016b7: DUP3
000016b8: MSTORE
000016b9: DUP4
000016ba: DUP2
000016bb: DUP2
000016bc: MLOAD
000016bd: DUP2
000016be: MSTORE
000016bf: PUSH1 0x20
000016c1: ADD
000016c2: SWAP2
000016c3: POP
000016c4: DUP1
000016c5: MLOAD
000016c6: SWAP1
000016c7: PUSH1 0x20
000016c9: ADD
000016ca: SWAP1
000016cb: DUP1
000016cc: DUP4
000016cd: DUP4
000016ce: PUSH1 0x00
000016d0: JUMPDEST
000016d1: DUP4
000016d2: DUP2
000016d3: LT
000016d4: ISZERO
000016d5: PUSH2 0x16e8
000016d8: JUMPI
000016d9: DUP2
000016da: DUP2
000016db: ADD
000016dc: MLOAD
000016dd: DUP4
000016de: DUP3
000016df: ADD
000016e0: MSTORE
000016e1: PUSH1 0x20
000016e3: ADD
000016e4: PUSH2 0x16d0
000016e7: JUMP
000016e8: JUMPDEST
000016e9: POP
000016ea: POP
000016eb: POP
000016ec: POP
000016ed: SWAP1
000016ee: POP
000016ef: SWAP1
000016f0: DUP2
000016f1: ADD
000016f2: SWAP1
000016f3: PUSH1 0x1f
000016f5: AND
000016f6: DUP1
000016f7: ISZERO
000016f8: PUSH2 0x1715
000016fb: JUMPI
000016fc: DUP1
000016fd: DUP3
000016fe: SUB
000016ff: DUP1
00001700: MLOAD
00001701: PUSH1 0x01
00001703: DUP4
00001704: PUSH1 0x20
00001706: SUB
00001707: PUSH2 0x0100
0000170a: EXP
0000170b: SUB
0000170c: NOT
0000170d: AND
0000170e: DUP2
0000170f: MSTORE
00001710: PUSH1 0x20
00001712: ADD
00001713: SWAP2
00001714: POP
00001715: JUMPDEST
00001716: POP
00001717: SWAP3
00001718: POP
00001719: POP
0000171a: POP
0000171b: PUSH1 0x40
0000171d: MLOAD
0000171e: DUP1
0000171f: SWAP2
00001720: SUB
00001721: SWAP1
00001722: REVERT
00001723: JUMPDEST
00001724: POP
00001725: POP
00001726: POP
00001727: SWAP1
00001728: SUB
00001729: SWAP1
0000172a: JUMP
0000172b: JUMPDEST
0000172c: PUSH1 0x00
0000172e: DUP3
0000172f: DUP3
00001730: ADD
00001731: DUP4
00001732: DUP2
00001733: LT
00001734: ISZERO
00001735: PUSH2 0x1785
00001738: JUMPI
00001739: PUSH1 0x40
0000173b: DUP1
0000173c: MLOAD
0000173d: PUSH3 0x461bcd
00001741: PUSH1 0xe5
00001743: SHL
00001744: DUP2
00001745: MSTORE
00001746: PUSH1 0x20
00001748: PUSH1 0x04
0000174a: DUP3
0000174b: ADD
0000174c: MSTORE
0000174d: PUSH1 0x1b
0000174f: PUSH1 0x24
00001751: DUP3
00001752: ADD
00001753: MSTORE
00001754: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
00001775: PUSH1 0x44
00001777: DUP3
00001778: ADD
00001779: MSTORE
0000177a: SWAP1
0000177b: MLOAD
0000177c: SWAP1
0000177d: DUP2
0000177e: SWAP1
0000177f: SUB
00001780: PUSH1 0x64
00001782: ADD
00001783: SWAP1
00001784: REVERT
00001785: JUMPDEST
00001786: SWAP4
00001787: SWAP3
00001788: POP
00001789: POP
0000178a: POP
0000178b: JUMP
0000178c: JUMPDEST
0000178d: PUSH1 0x00
0000178f: DUP3
00001790: PUSH2 0x179b
00001793: JUMPI
00001794: POP
00001795: PUSH1 0x00
00001797: PUSH2 0x0716
0000179a: JUMP
0000179b: JUMPDEST
0000179c: DUP3
0000179d: DUP3
0000179e: MUL
0000179f: DUP3
000017a0: DUP5
000017a1: DUP3
000017a2: DUP2
000017a3: PUSH2 0x17a8
000017a6: JUMPI
000017a7: INVALID
000017a8: JUMPDEST
000017a9: DIV
000017aa: EQ
000017ab: PUSH2 0x1785
000017ae: JUMPI
000017af: PUSH1 0x40
000017b1: MLOAD
000017b2: PUSH3 0x461bcd
000017b6: PUSH1 0xe5
000017b8: SHL
000017b9: DUP2
000017ba: MSTORE
000017bb: PUSH1 0x04
000017bd: ADD
000017be: DUP1
000017bf: DUP1
000017c0: PUSH1 0x20
000017c2: ADD
000017c3: DUP3
000017c4: DUP2
000017c5: SUB
000017c6: DUP3
000017c7: MSTORE
000017c8: PUSH1 0x21
000017ca: DUP2
000017cb: MSTORE
000017cc: PUSH1 0x20
000017ce: ADD
000017cf: DUP1
000017d0: PUSH2 0x1f0e
000017d3: PUSH1 0x21
000017d5: SWAP2
000017d6: CODECOPY
000017d7: PUSH1 0x40
000017d9: ADD
000017da: SWAP2
000017db: POP
000017dc: POP
000017dd: PUSH1 0x40
000017df: MLOAD
000017e0: DUP1
000017e1: SWAP2
000017e2: SUB
000017e3: SWAP1
000017e4: REVERT
000017e5: JUMPDEST
000017e6: PUSH1 0x00
000017e8: PUSH2 0x1785
000017eb: DUP4
000017ec: DUP4
000017ed: PUSH1 0x40
000017ef: MLOAD
000017f0: DUP1
000017f1: PUSH1 0x40
000017f3: ADD
000017f4: PUSH1 0x40
000017f6: MSTORE
000017f7: DUP1
000017f8: PUSH1 0x1a
000017fa: DUP2
000017fb: MSTORE
000017fc: PUSH1 0x20
000017fe: ADD
000017ff: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
00001820: DUP2
00001821: MSTORE
00001822: POP
00001823: PUSH2 0x1b2c
00001826: JUMP
00001827: JUMPDEST
00001828: PUSH1 0x40
0000182a: DUP1
0000182b: MLOAD
0000182c: PUSH1 0x01
0000182e: PUSH1 0x01
00001830: PUSH1 0xa0
00001832: SHL
00001833: SUB
00001834: DUP5
00001835: AND
00001836: PUSH1 0x24
00001838: DUP3
00001839: ADD
0000183a: MSTORE
0000183b: PUSH1 0x44
0000183d: DUP1
0000183e: DUP3
0000183f: ADD
00001840: DUP5
00001841: SWAP1
00001842: MSTORE
00001843: DUP3
00001844: MLOAD
00001845: DUP1
00001846: DUP4
00001847: SUB
00001848: SWAP1
00001849: SWAP2
0000184a: ADD
0000184b: DUP2
0000184c: MSTORE
0000184d: PUSH1 0x64
0000184f: SWAP1
00001850: SWAP2
00001851: ADD
00001852: SWAP1
00001853: SWAP2
00001854: MSTORE
00001855: PUSH1 0x20
00001857: DUP2
00001858: ADD
00001859: DUP1
0000185a: MLOAD
0000185b: PUSH1 0x01
0000185d: PUSH1 0x01
0000185f: PUSH1 0xe0
00001861: SHL
00001862: SUB
00001863: AND
00001864: PUSH4 0xa9059cbb
00001869: PUSH1 0xe0
0000186b: SHL
0000186c: OR
0000186d: SWAP1
0000186e: MSTORE
0000186f: PUSH2 0x1879
00001872: SWAP1
00001873: DUP5
00001874: SWAP1
00001875: PUSH2 0x1b91
00001878: JUMP
00001879: JUMPDEST
0000187a: POP
0000187b: POP
0000187c: POP
0000187d: JUMP
0000187e: JUMPDEST
0000187f: PUSH1 0x01
00001881: PUSH1 0x01
00001883: PUSH1 0xa0
00001885: SHL
00001886: SUB
00001887: DUP3
00001888: AND
00001889: PUSH2 0x18c3
0000188c: JUMPI
0000188d: PUSH1 0x40
0000188f: MLOAD
00001890: PUSH3 0x461bcd
00001894: PUSH1 0xe5
00001896: SHL
00001897: DUP2
00001898: MSTORE
00001899: PUSH1 0x04
0000189b: ADD
0000189c: DUP1
0000189d: DUP1
0000189e: PUSH1 0x20
000018a0: ADD
000018a1: DUP3
000018a2: DUP2
000018a3: SUB
000018a4: DUP3
000018a5: MSTORE
000018a6: PUSH1 0x21
000018a8: DUP2
000018a9: MSTORE
000018aa: PUSH1 0x20
000018ac: ADD
000018ad: DUP1
000018ae: PUSH2 0x1f77
000018b1: PUSH1 0x21
000018b3: SWAP2
000018b4: CODECOPY
000018b5: PUSH1 0x40
000018b7: ADD
000018b8: SWAP2
000018b9: POP
000018ba: POP
000018bb: PUSH1 0x40
000018bd: MLOAD
000018be: DUP1
000018bf: SWAP2
000018c0: SUB
000018c1: SWAP1
000018c2: REVERT
000018c3: JUMPDEST
000018c4: PUSH2 0x18cf
000018c7: DUP3
000018c8: PUSH1 0x00
000018ca: DUP4
000018cb: PUSH2 0x1879
000018ce: JUMP
000018cf: JUMPDEST
000018d0: PUSH2 0x190c
000018d3: DUP2
000018d4: PUSH1 0x40
000018d6: MLOAD
000018d7: DUP1
000018d8: PUSH1 0x60
000018da: ADD
000018db: PUSH1 0x40
000018dd: MSTORE
000018de: DUP1
000018df: PUSH1 0x22
000018e1: DUP2
000018e2: MSTORE
000018e3: PUSH1 0x20
000018e5: ADD
000018e6: PUSH2 0x1e7e
000018e9: PUSH1 0x22
000018eb: SWAP2
000018ec: CODECOPY
000018ed: PUSH1 0x01
000018ef: PUSH1 0x01
000018f1: PUSH1 0xa0
000018f3: SHL
000018f4: SUB
000018f5: DUP6
000018f6: AND
000018f7: PUSH1 0x00
000018f9: SWAP1
000018fa: DUP2
000018fb: MSTORE
000018fc: PUSH1 0x20
000018fe: DUP2
000018ff: SWAP1
00001900: MSTORE
00001901: PUSH1 0x40
00001903: SWAP1
00001904: KECCAK256
00001905: SLOAD
00001906: SWAP2
00001907: SWAP1
00001908: PUSH2 0x1694
0000190b: JUMP
0000190c: JUMPDEST
0000190d: PUSH1 0x01
0000190f: PUSH1 0x01
00001911: PUSH1 0xa0
00001913: SHL
00001914: SUB
00001915: DUP4
00001916: AND
00001917: PUSH1 0x00
00001919: SWAP1
0000191a: DUP2
0000191b: MSTORE
0000191c: PUSH1 0x20
0000191e: DUP2
0000191f: SWAP1
00001920: MSTORE
00001921: PUSH1 0x40
00001923: SWAP1
00001924: KECCAK256
00001925: SSTORE
00001926: PUSH1 0x02
00001928: SLOAD
00001929: PUSH2 0x1932
0000192c: SWAP1
0000192d: DUP3
0000192e: PUSH2 0x1c42
00001931: JUMP
00001932: JUMPDEST
00001933: PUSH1 0x02
00001935: SSTORE
00001936: PUSH1 0x40
00001938: DUP1
00001939: MLOAD
0000193a: DUP3
0000193b: DUP2
0000193c: MSTORE
0000193d: SWAP1
0000193e: MLOAD
0000193f: PUSH1 0x00
00001941: SWAP2
00001942: PUSH1 0x01
00001944: PUSH1 0x01
00001946: PUSH1 0xa0
00001948: SHL
00001949: SUB
0000194a: DUP6
0000194b: AND
0000194c: SWAP2
0000194d: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000196e: SWAP2
0000196f: DUP2
00001970: SWAP1
00001971: SUB
00001972: PUSH1 0x20
00001974: ADD
00001975: SWAP1
00001976: LOG3
00001977: POP
00001978: POP
00001979: JUMP
0000197a: JUMPDEST
0000197b: PUSH1 0x40
0000197d: DUP1
0000197e: MLOAD
0000197f: PUSH1 0x01
00001981: PUSH1 0x01
00001983: PUSH1 0xa0
00001985: SHL
00001986: SUB
00001987: DUP1
00001988: DUP7
00001989: AND
0000198a: PUSH1 0x24
0000198c: DUP4
0000198d: ADD
0000198e: MSTORE
0000198f: DUP5
00001990: AND
00001991: PUSH1 0x44
00001993: DUP3
00001994: ADD
00001995: MSTORE
00001996: PUSH1 0x64
00001998: DUP1
00001999: DUP3
0000199a: ADD
0000199b: DUP5
0000199c: SWAP1
0000199d: MSTORE
0000199e: DUP3
0000199f: MLOAD
000019a0: DUP1
000019a1: DUP4
000019a2: SUB
000019a3: SWAP1
000019a4: SWAP2
000019a5: ADD
000019a6: DUP2
000019a7: MSTORE
000019a8: PUSH1 0x84
000019aa: SWAP1
000019ab: SWAP2
000019ac: ADD
000019ad: SWAP1
000019ae: SWAP2
000019af: MSTORE
000019b0: PUSH1 0x20
000019b2: DUP2
000019b3: ADD
000019b4: DUP1
000019b5: MLOAD
000019b6: PUSH1 0x01
000019b8: PUSH1 0x01
000019ba: PUSH1 0xe0
000019bc: SHL
000019bd: SUB
000019be: AND
000019bf: PUSH4 0x23b872dd
000019c4: PUSH1 0xe0
000019c6: SHL
000019c7: OR
000019c8: SWAP1
000019c9: MSTORE
000019ca: PUSH2 0x19d4
000019cd: SWAP1
000019ce: DUP6
000019cf: SWAP1
000019d0: PUSH2 0x1b91
000019d3: JUMP
000019d4: JUMPDEST
000019d5: POP
000019d6: POP
000019d7: POP
000019d8: POP
000019d9: JUMP
000019da: JUMPDEST
000019db: PUSH1 0x00
000019dd: PUSH2 0x19e4
000019e0: PUSH2 0x0722
000019e3: JUMP
000019e4: JUMPDEST
000019e5: PUSH2 0x1a10
000019e8: JUMPI
000019e9: PUSH1 0x09
000019eb: SLOAD
000019ec: PUSH1 0x00
000019ee: SWAP1
000019ef: PUSH2 0x1a07
000019f2: SWAP1
000019f3: PUSH1 0x0a
000019f5: EXP
000019f6: PUSH2 0x0b78
000019f9: DUP6
000019fa: PUSH8 0x0de0b6b3a7640000
00001a03: PUSH2 0x178c
00001a06: JUMP
00001a07: JUMPDEST
00001a08: SWAP2
00001a09: POP
00001a0a: PUSH2 0x08f2
00001a0d: SWAP1
00001a0e: POP
00001a0f: JUMP
00001a10: JUMPDEST
00001a11: PUSH1 0x00
00001a13: PUSH2 0x1a24
00001a16: DUP4
00001a17: PUSH2 0x1a1e
00001a1a: PUSH2 0x07af
00001a1d: JUMP
00001a1e: JUMPDEST
00001a1f: SWAP1
00001a20: PUSH2 0x1c42
00001a23: JUMP
00001a24: JUMPDEST
00001a25: SWAP1
00001a26: POP
00001a27: PUSH2 0x1785
00001a2a: DUP2
00001a2b: PUSH2 0x0b78
00001a2e: PUSH2 0x1a35
00001a31: PUSH2 0x0722
00001a34: JUMP
00001a35: JUMPDEST
00001a36: DUP7
00001a37: SWAP1
00001a38: PUSH2 0x178c
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: PUSH1 0x01
00001a3f: PUSH1 0x01
00001a41: PUSH1 0xa0
00001a43: SHL
00001a44: SUB
00001a45: DUP3
00001a46: AND
00001a47: PUSH2 0x1a97
00001a4a: JUMPI
00001a4b: PUSH1 0x40
00001a4d: DUP1
00001a4e: MLOAD
00001a4f: PUSH3 0x461bcd
00001a53: PUSH1 0xe5
00001a55: SHL
00001a56: DUP2
00001a57: MSTORE
00001a58: PUSH1 0x20
00001a5a: PUSH1 0x04
00001a5c: DUP3
00001a5d: ADD
00001a5e: MSTORE
00001a5f: PUSH1 0x1f
00001a61: PUSH1 0x24
00001a63: DUP3
00001a64: ADD
00001a65: MSTORE
00001a66: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300
00001a87: PUSH1 0x44
00001a89: DUP3
00001a8a: ADD
00001a8b: MSTORE
00001a8c: SWAP1
00001a8d: MLOAD
00001a8e: SWAP1
00001a8f: DUP2
00001a90: SWAP1
00001a91: SUB
00001a92: PUSH1 0x64
00001a94: ADD
00001a95: SWAP1
00001a96: REVERT
00001a97: JUMPDEST
00001a98: PUSH2 0x1aa3
00001a9b: PUSH1 0x00
00001a9d: DUP4
00001a9e: DUP4
00001a9f: PUSH2 0x1879
00001aa2: JUMP
00001aa3: JUMPDEST
00001aa4: PUSH1 0x02
00001aa6: SLOAD
00001aa7: PUSH2 0x1ab0
00001aaa: SWAP1
00001aab: DUP3
00001aac: PUSH2 0x172b
00001aaf: JUMP
00001ab0: JUMPDEST
00001ab1: PUSH1 0x02
00001ab3: SSTORE
00001ab4: PUSH1 0x01
00001ab6: PUSH1 0x01
00001ab8: PUSH1 0xa0
00001aba: SHL
00001abb: SUB
00001abc: DUP3
00001abd: AND
00001abe: PUSH1 0x00
00001ac0: SWAP1
00001ac1: DUP2
00001ac2: MSTORE
00001ac3: PUSH1 0x20
00001ac5: DUP2
00001ac6: SWAP1
00001ac7: MSTORE
00001ac8: PUSH1 0x40
00001aca: SWAP1
00001acb: KECCAK256
00001acc: SLOAD
00001acd: PUSH2 0x1ad6
00001ad0: SWAP1
00001ad1: DUP3
00001ad2: PUSH2 0x172b
00001ad5: JUMP
00001ad6: JUMPDEST
00001ad7: PUSH1 0x01
00001ad9: PUSH1 0x01
00001adb: PUSH1 0xa0
00001add: SHL
00001ade: SUB
00001adf: DUP4
00001ae0: AND
00001ae1: PUSH1 0x00
00001ae3: DUP2
00001ae4: DUP2
00001ae5: MSTORE
00001ae6: PUSH1 0x20
00001ae8: DUP2
00001ae9: DUP2
00001aea: MSTORE
00001aeb: PUSH1 0x40
00001aed: DUP1
00001aee: DUP4
00001aef: KECCAK256
00001af0: SWAP5
00001af1: SWAP1
00001af2: SWAP5
00001af3: SSTORE
00001af4: DUP4
00001af5: MLOAD
00001af6: DUP6
00001af7: DUP2
00001af8: MSTORE
00001af9: SWAP4
00001afa: MLOAD
00001afb: SWAP3
00001afc: SWAP4
00001afd: SWAP2
00001afe: SWAP3
00001aff: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001b20: SWAP3
00001b21: DUP2
00001b22: SWAP1
00001b23: SUB
00001b24: SWAP1
00001b25: SWAP2
00001b26: ADD
00001b27: SWAP1
00001b28: LOG3
00001b29: POP
00001b2a: POP
00001b2b: JUMP
00001b2c: JUMPDEST
00001b2d: PUSH1 0x00
00001b2f: DUP2
00001b30: DUP4
00001b31: PUSH2 0x1b7b
00001b34: JUMPI
00001b35: PUSH1 0x40
00001b37: MLOAD
00001b38: PUSH3 0x461bcd
00001b3c: PUSH1 0xe5
00001b3e: SHL
00001b3f: DUP2
00001b40: MSTORE
00001b41: PUSH1 0x20
00001b43: PUSH1 0x04
00001b45: DUP3
00001b46: ADD
00001b47: DUP2
00001b48: DUP2
00001b49: MSTORE
00001b4a: DUP4
00001b4b: MLOAD
00001b4c: PUSH1 0x24
00001b4e: DUP5
00001b4f: ADD
00001b50: MSTORE
00001b51: DUP4
00001b52: MLOAD
00001b53: SWAP1
00001b54: SWAP3
00001b55: DUP4
00001b56: SWAP3
00001b57: PUSH1 0x44
00001b59: SWAP1
00001b5a: SWAP2
00001b5b: ADD
00001b5c: SWAP2
00001b5d: SWAP1
00001b5e: DUP6
00001b5f: ADD
00001b60: SWAP1
00001b61: DUP1
00001b62: DUP4
00001b63: DUP4
00001b64: PUSH1 0x00
00001b66: DUP4
00001b67: ISZERO
00001b68: PUSH2 0x16e8
00001b6b: JUMPI
00001b6c: DUP2
00001b6d: DUP2
00001b6e: ADD
00001b6f: MLOAD
00001b70: DUP4
00001b71: DUP3
00001b72: ADD
00001b73: MSTORE
00001b74: PUSH1 0x20
00001b76: ADD
00001b77: PUSH2 0x16d0
00001b7a: JUMP
00001b7b: JUMPDEST
00001b7c: POP
00001b7d: PUSH1 0x00
00001b7f: DUP4
00001b80: DUP6
00001b81: DUP2
00001b82: PUSH2 0x1b87
00001b85: JUMPI
00001b86: INVALID
00001b87: JUMPDEST
00001b88: DIV
00001b89: SWAP6
00001b8a: SWAP5
00001b8b: POP
00001b8c: POP
00001b8d: POP
00001b8e: POP
00001b8f: POP
00001b90: JUMP
00001b91: JUMPDEST
00001b92: PUSH1 0x60
00001b94: PUSH2 0x1be6
00001b97: DUP3
00001b98: PUSH1 0x40
00001b9a: MLOAD
00001b9b: DUP1
00001b9c: PUSH1 0x40
00001b9e: ADD
00001b9f: PUSH1 0x40
00001ba1: MSTORE
00001ba2: DUP1
00001ba3: PUSH1 0x20
00001ba5: DUP2
00001ba6: MSTORE
00001ba7: PUSH1 0x20
00001ba9: ADD
00001baa: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001bcb: DUP2
00001bcc: MSTORE
00001bcd: POP
00001bce: DUP6
00001bcf: PUSH1 0x01
00001bd1: PUSH1 0x01
00001bd3: PUSH1 0xa0
00001bd5: SHL
00001bd6: SUB
00001bd7: AND
00001bd8: PUSH2 0x1c84
00001bdb: SWAP1
00001bdc: SWAP3
00001bdd: SWAP2
00001bde: SWAP1
00001bdf: PUSH4 0xffffffff
00001be4: AND
00001be5: JUMP
00001be6: JUMPDEST
00001be7: DUP1
00001be8: MLOAD
00001be9: SWAP1
00001bea: SWAP2
00001beb: POP
00001bec: ISZERO
00001bed: PUSH2 0x1879
00001bf0: JUMPI
00001bf1: DUP1
00001bf2: DUP1
00001bf3: PUSH1 0x20
00001bf5: ADD
00001bf6: SWAP1
00001bf7: MLOAD
00001bf8: PUSH1 0x20
00001bfa: DUP2
00001bfb: LT
00001bfc: ISZERO
00001bfd: PUSH2 0x1c05
00001c00: JUMPI
00001c01: PUSH1 0x00
00001c03: DUP1
00001c04: REVERT
00001c05: JUMPDEST
00001c06: POP
00001c07: MLOAD
00001c08: PUSH2 0x1879
00001c0b: JUMPI
00001c0c: PUSH1 0x40
00001c0e: MLOAD
00001c0f: PUSH3 0x461bcd
00001c13: PUSH1 0xe5
00001c15: SHL
00001c16: DUP2
00001c17: MSTORE
00001c18: PUSH1 0x04
00001c1a: ADD
00001c1b: DUP1
00001c1c: DUP1
00001c1d: PUSH1 0x20
00001c1f: ADD
00001c20: DUP3
00001c21: DUP2
00001c22: SUB
00001c23: DUP3
00001c24: MSTORE
00001c25: PUSH1 0x2a
00001c27: DUP2
00001c28: MSTORE
00001c29: PUSH1 0x20
00001c2b: ADD
00001c2c: DUP1
00001c2d: PUSH2 0x1fe1
00001c30: PUSH1 0x2a
00001c32: SWAP2
00001c33: CODECOPY
00001c34: PUSH1 0x40
00001c36: ADD
00001c37: SWAP2
00001c38: POP
00001c39: POP
00001c3a: PUSH1 0x40
00001c3c: MLOAD
00001c3d: DUP1
00001c3e: SWAP2
00001c3f: SUB
00001c40: SWAP1
00001c41: REVERT
00001c42: JUMPDEST
00001c43: PUSH1 0x00
00001c45: PUSH2 0x1785
00001c48: DUP4
00001c49: DUP4
00001c4a: PUSH1 0x40
00001c4c: MLOAD
00001c4d: DUP1
00001c4e: PUSH1 0x40
00001c50: ADD
00001c51: PUSH1 0x40
00001c53: MSTORE
00001c54: DUP1
00001c55: PUSH1 0x1e
00001c57: DUP2
00001c58: MSTORE
00001c59: PUSH1 0x20
00001c5b: ADD
00001c5c: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00001c7d: DUP2
00001c7e: MSTORE
00001c7f: POP
00001c80: PUSH2 0x1694
00001c83: JUMP
00001c84: JUMPDEST
00001c85: PUSH1 0x60
00001c87: PUSH2 0x1c93
00001c8a: DUP5
00001c8b: DUP5
00001c8c: PUSH1 0x00
00001c8e: DUP6
00001c8f: PUSH2 0x1c9b
00001c92: JUMP
00001c93: JUMPDEST
00001c94: SWAP5
00001c95: SWAP4
00001c96: POP
00001c97: POP
00001c98: POP
00001c99: POP
00001c9a: JUMP
00001c9b: JUMPDEST
00001c9c: PUSH1 0x60
00001c9e: PUSH2 0x1ca6
00001ca1: DUP6
00001ca2: PUSH2 0x1e08
00001ca5: JUMP
00001ca6: JUMPDEST
00001ca7: PUSH2 0x1cf7
00001caa: JUMPI
00001cab: PUSH1 0x40
00001cad: DUP1
00001cae: MLOAD
00001caf: PUSH3 0x461bcd
00001cb3: PUSH1 0xe5
00001cb5: SHL
00001cb6: DUP2
00001cb7: MSTORE
00001cb8: PUSH1 0x20
00001cba: PUSH1 0x04
00001cbc: DUP3
00001cbd: ADD
00001cbe: MSTORE
00001cbf: PUSH1 0x1d
00001cc1: PUSH1 0x24
00001cc3: DUP3
00001cc4: ADD
00001cc5: MSTORE
00001cc6: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001ce7: PUSH1 0x44
00001ce9: DUP3
00001cea: ADD
00001ceb: MSTORE
00001cec: SWAP1
00001ced: MLOAD
00001cee: SWAP1
00001cef: DUP2
00001cf0: SWAP1
00001cf1: SUB
00001cf2: PUSH1 0x64
00001cf4: ADD
00001cf5: SWAP1
00001cf6: REVERT
00001cf7: JUMPDEST
00001cf8: PUSH1 0x00
00001cfa: PUSH1 0x60
00001cfc: DUP7
00001cfd: PUSH1 0x01
00001cff: PUSH1 0x01
00001d01: PUSH1 0xa0
00001d03: SHL
00001d04: SUB
00001d05: AND
00001d06: DUP6
00001d07: DUP8
00001d08: PUSH1 0x40
00001d0a: MLOAD
00001d0b: DUP1
00001d0c: DUP3
00001d0d: DUP1
00001d0e: MLOAD
00001d0f: SWAP1
00001d10: PUSH1 0x20
00001d12: ADD
00001d13: SWAP1
00001d14: DUP1
00001d15: DUP4
00001d16: DUP4
00001d17: JUMPDEST
00001d18: PUSH1 0x20
00001d1a: DUP4
00001d1b: LT
00001d1c: PUSH2 0x1d36
00001d1f: JUMPI
00001d20: DUP1
00001d21: MLOAD
00001d22: DUP3
00001d23: MSTORE
00001d24: PUSH1 0x1f
00001d26: NOT
00001d27: SWAP1
00001d28: SWAP3
00001d29: ADD
00001d2a: SWAP2
00001d2b: PUSH1 0x20
00001d2d: SWAP2
00001d2e: DUP3
00001d2f: ADD
00001d30: SWAP2
00001d31: ADD
00001d32: PUSH2 0x1d17
00001d35: JUMP
00001d36: JUMPDEST
00001d37: PUSH1 0x01
00001d39: DUP4
00001d3a: PUSH1 0x20
00001d3c: SUB
00001d3d: PUSH2 0x0100
00001d40: EXP
00001d41: SUB
00001d42: DUP1
00001d43: NOT
00001d44: DUP3
00001d45: MLOAD
00001d46: AND
00001d47: DUP2
00001d48: DUP5
00001d49: MLOAD
00001d4a: AND
00001d4b: DUP1
00001d4c: DUP3
00001d4d: OR
00001d4e: DUP6
00001d4f: MSTORE
00001d50: POP
00001d51: POP
00001d52: POP
00001d53: POP
00001d54: POP
00001d55: POP
00001d56: SWAP1
00001d57: POP
00001d58: ADD
00001d59: SWAP2
00001d5a: POP
00001d5b: POP
00001d5c: PUSH1 0x00
00001d5e: PUSH1 0x40
00001d60: MLOAD
00001d61: DUP1
00001d62: DUP4
00001d63: SUB
00001d64: DUP2
00001d65: DUP6
00001d66: DUP8
00001d67: GAS
00001d68: CALL
00001d69: SWAP3
00001d6a: POP
00001d6b: POP
00001d6c: POP
00001d6d: RETURNDATASIZE
00001d6e: DUP1
00001d6f: PUSH1 0x00
00001d71: DUP2
00001d72: EQ
00001d73: PUSH2 0x1d98
00001d76: JUMPI
00001d77: PUSH1 0x40
00001d79: MLOAD
00001d7a: SWAP2
00001d7b: POP
00001d7c: PUSH1 0x1f
00001d7e: NOT
00001d7f: PUSH1 0x3f
00001d81: RETURNDATASIZE
00001d82: ADD
00001d83: AND
00001d84: DUP3
00001d85: ADD
00001d86: PUSH1 0x40
00001d88: MSTORE
00001d89: RETURNDATASIZE
00001d8a: DUP3
00001d8b: MSTORE
00001d8c: RETURNDATASIZE
00001d8d: PUSH1 0x00
00001d8f: PUSH1 0x20
00001d91: DUP5
00001d92: ADD
00001d93: RETURNDATACOPY
00001d94: PUSH2 0x1d9d
00001d97: JUMP
00001d98: JUMPDEST
00001d99: PUSH1 0x60
00001d9b: SWAP2
00001d9c: POP
00001d9d: JUMPDEST
00001d9e: POP
00001d9f: SWAP2
00001da0: POP
00001da1: SWAP2
00001da2: POP
00001da3: DUP2
00001da4: ISZERO
00001da5: PUSH2 0x1db1
00001da8: JUMPI
00001da9: SWAP2
00001daa: POP
00001dab: PUSH2 0x1c93
00001dae: SWAP1
00001daf: POP
00001db0: JUMP
00001db1: JUMPDEST
00001db2: DUP1
00001db3: MLOAD
00001db4: ISZERO
00001db5: PUSH2 0x1dc1
00001db8: JUMPI
00001db9: DUP1
00001dba: MLOAD
00001dbb: DUP1
00001dbc: DUP3
00001dbd: PUSH1 0x20
00001dbf: ADD
00001dc0: REVERT
00001dc1: JUMPDEST
00001dc2: PUSH1 0x40
00001dc4: MLOAD
00001dc5: PUSH3 0x461bcd
00001dc9: PUSH1 0xe5
00001dcb: SHL
00001dcc: DUP2
00001dcd: MSTORE
00001dce: PUSH1 0x20
00001dd0: PUSH1 0x04
00001dd2: DUP3
00001dd3: ADD
00001dd4: DUP2
00001dd5: DUP2
00001dd6: MSTORE
00001dd7: DUP7
00001dd8: MLOAD
00001dd9: PUSH1 0x24
00001ddb: DUP5
00001ddc: ADD
00001ddd: MSTORE
00001dde: DUP7
00001ddf: MLOAD
00001de0: DUP8
00001de1: SWAP4
00001de2: SWAP2
00001de3: SWAP3
00001de4: DUP4
00001de5: SWAP3
00001de6: PUSH1 0x44
00001de8: ADD
00001de9: SWAP2
00001dea: SWAP1
00001deb: DUP6
00001dec: ADD
00001ded: SWAP1
00001dee: DUP1
00001def: DUP4
00001df0: DUP4
00001df1: PUSH1 0x00
00001df3: DUP4
00001df4: ISZERO
00001df5: PUSH2 0x16e8
00001df8: JUMPI
00001df9: DUP2
00001dfa: DUP2
00001dfb: ADD
00001dfc: MLOAD
00001dfd: DUP4
00001dfe: DUP3
00001dff: ADD
00001e00: MSTORE
00001e01: PUSH1 0x20
00001e03: ADD
00001e04: PUSH2 0x16d0
00001e07: JUMP
00001e08: JUMPDEST
00001e09: EXTCODESIZE
00001e0a: ISZERO
00001e0b: ISZERO
00001e0c: SWAP1
00001e0d: JUMP
00001e0e: INVALID
00001e0f: GASLIMIT
00001e10: MSTORE
00001e11: NUMBER
00001e12: ORIGIN
00001e13: ADDRESS
00001e14: GASPRICE
00001e15: KECCAK256
00001e16: PUSH21 0x72616e7366657220746f20746865207a65726f2061
00001e2c: PUSH5 0x6472657373
00001e32: NUMBER
00001e33: PUSH2 0x7069
00001e36: PUSH21 0x616c436f6e7665727465723a20496e636f72726563
00001e4c: PUSH21 0x2065746820616d6f756e742e4361706974616c436f
00001e62: PUSH15 0x7665727465723a20696e7375666669
00001e72: PUSH4 0x69656e74
00001e77: KECCAK256
00001e78: PUSH2 0x7373
00001e7b: PUSH6 0x747345524332
00001e82: ADDRESS
00001e83: GASPRICE
00001e84: KECCAK256
00001e85: PUSH3 0x75726e
00001e89: KECCAK256
00001e8a: PUSH2 0x6d6f
00001e8d: PUSH22 0x6e7420657863656564732062616c616e63654f776e61
00001ea4: PUSH3 0x6c653a
00001ea8: KECCAK256
00001ea9: PUSH15 0x6577206f776e657220697320746865
00001eb9: KECCAK256
00001eba: PUSH27 0x65726f206164647265737345524332303a20617070726f76652074
00001ed6: PUSH16 0x20746865207a65726f20616464726573
00001ee7: PUSH20 0x45524332303a207472616e7366657220616d6f75
00001efc: PUSH15 0x7420657863656564732062616c616e
00001f0c: PUSH4 0x65536166
00001f11: PUSH6 0x4d6174683a20
00001f18: PUSH14 0x756c7469706c69636174696f6e20
00001f27: PUSH16 0x766572666c6f7745524332303a207472
00001f38: PUSH2 0x6e73
00001f3b: PUSH7 0x657220616d6f75
00001f43: PUSH15 0x74206578636565647320616c6c6f77
00001f53: PUSH2 0x6e63
00001f56: PUSH6 0x4f776e61626c
00001f5d: PUSH6 0x3a2063616c6c
00001f64: PUSH6 0x72206973206e
00001f6b: PUSH16 0x7420746865206f776e65724552433230
00001f7c: GASPRICE
00001f7d: KECCAK256
00001f7e: PUSH3 0x75726e
00001f82: KECCAK256
00001f83: PUSH7 0x726f6d20746865
00001f8b: KECCAK256
00001f8c: PUSH27 0x65726f206164647265737345524332303a207472616e7366657220
00001fa8: PUSH7 0x726f6d20746865
00001fb0: KECCAK256
00001fb1: PUSH27 0x65726f206164647265737345524332303a20617070726f76652066
00001fcd: PUSH19 0x6f6d20746865207a65726f2061646472657373
00001fe1: MSTORE8
00001fe2: PUSH2 0x6665
00001fe5: GASLIMIT
00001fe6: MSTORE
00001fe7: NUMBER
00001fe8: ORIGIN
00001fe9: ADDRESS
00001fea: GASPRICE
00001feb: KECCAK256
00001fec: GASLIMIT
00001fed: MSTORE
00001fee: NUMBER
00001fef: ORIGIN
00001ff0: ADDRESS
00001ff1: KECCAK256
00001ff2: PUSH16 0x7065726174696f6e20646964206e6f74
00002003: KECCAK256
00002004: PUSH20 0x7563636565644361706974616c436f6e76657274
00002019: PUSH6 0x723a2053686f
00002020: PUSH22 0x6c64206e6f7420616c6c6f7720455448206465706f73
00002037: PUSH10 0x74732e45524332303a20
00002042: PUSH5 0x6563726561
00002048: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a
0000205d: PUSH6 0x726f43617069
00002064: PUSH21 0x616c436f6e7665727465723a2043616e6e6f742073
0000207a: PUSH21 0x616b6520302ea26469706673582212200a928c406f
00002090: TIMESTAMP
00002091: DUP5
00002092: UNKNOWN(0xC2)
00002093: POP
00002094: UNKNOWN(0xCB)
00002095: OR
00002096: UNKNOWN(0xD1)
00002097: BLOCKHASH
00002098: PUSH13 0xdfe998cb2267187c92f23a4ec5
000020a6: GASLIMIT
000020a7: UNKNOWN(0xDD)
000020a8: UNKNOWN(0xD8)
000020a9: SWAP11
000020aa: TSTORE
000020ab: PUSH5 0x736f6c6343
000020b1: STOP
000020b2: MOD
000020b3: UNKNOWN(0x0C)
000020b4: STOP
000020b5: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high math codex Share inflation via donation + rounding-to-zero lets attacker steal later deposits 85 no
view
evidence_json
{
    "evidence": "`calculateMintAmount` uses integer division that can round to zero when pool balance is large vs. totalSupply, and `convert` mints even when value==0: `initialBalance = smartBalance().sub(_depositAmount); return _depositAmount.mul(totalSupply()).div(initialBalance);` (contracts/Contract.sol:1084-1085) and `_mint(_msgSender(), value);` without a nonzero check (contracts/Contract.sol:1102-1103).",
    "locations": [
        "contracts/Contract.sol:1084",
        "contracts/Contract.sol:1102"
    ],
    "recommendation": "Revert deposits that would mint zero shares (e.g., `require(value > 0)`), and/or add virtual shares/minimum liquidity mechanics to prevent donation-based share inflation. Consider using pre-deposit balances and minimum deposit thresholds to keep minted shares > 0.",
    "exploit_scenario": "1) Attacker calls `convert` with a tiny amount (e.g., 1 wei/token) to mint 1 share and set `depositAt` (block N). 2) Attacker donates a large amount of the underlying directly to the contract (ERC20 `transfer` to the contract, or `selfdestruct` for ETH) so `smartBalance` becomes huge while `totalSupply` stays 1. 3) A victim calls `convert` with any amount smaller than the inflated balance; `calculateMintAmount` returns 0 due to integer division, so the victim receives 0 shares while their deposit stays in the pool. 4) Attacker waits until block N+1 and calls `exit(1)`, withdrawing the entire pool including victims\u2019 deposits. Net profit equals the sum of victim deposits (attacker\u2019s donation is recovered)."
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xedd2cfe3",
            "selector": "0xedd2cfe3",
            "calldata_variants": [
                "0xedd2cfe3",
                "0xedd2cfe30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7cdf47c",
            "selector": "0xf7cdf47c",
            "calldata_variants": [
                "0xf7cdf47c",
                "0xf7cdf47c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb3ab15fb",
            "selector": "0xb3ab15fb",
            "calldata_variants": [
                "0xb3ab15fb",
                "0xb3ab15fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6b05950",
            "selector": "0xe6b05950",
            "calldata_variants": [
                "0xe6b05950",
                "0xe6b059500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9d484693",
            "selector": "0x9d484693",
            "calldata_variants": [
                "0x9d484693",
                "0x9d4846930000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 7698,
            "type": "tx_origin_used"
        },
        {
            "pc": 8168,
            "type": "tx_origin_used"
        },
        {
            "pc": 8175,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x8a71d7184775c8a8a6f22cee0afdff45ef8ad2e4a98fb6ef081eafe3f53b2f4f
call_targets: 0xa6b658ce4b1cdb4e7d8f97dffb549b8688cafb84
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8a71d7184775c8a8a6f22cee0afdff45ef8ad2e4a98fb6ef081eafe3f53b2f4f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa6b658ce4b1cdb4e7d8f97dffb549b8688cafb84"
    ],
    "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": "0xedd2cfe3",
            "selector": "0xedd2cfe3",
            "calldata_variants": [
                "0xedd2cfe3",
                "0xedd2cfe30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7cdf47c",
            "selector": "0xf7cdf47c",
            "calldata_variants": [
                "0xf7cdf47c",
                "0xf7cdf47c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb3ab15fb",
            "selector": "0xb3ab15fb",
            "calldata_variants": [
                "0xb3ab15fb",
                "0xb3ab15fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6b05950",
            "selector": "0xe6b05950",
            "calldata_variants": [
                "0xe6b05950",
                "0xe6b059500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9d484693",
            "selector": "0x9d484693",
            "calldata_variants": [
                "0x9d484693",
                "0x9d4846930000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3060,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3556,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7528,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 7698,
            "type": "tx_origin_used"
        },
        {
            "pc": 8168,
            "type": "tx_origin_used"
        },
        {
            "pc": 8175,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x8a71d7184775c8a8a6f22cee0afdff45ef8ad2e4a98fb6ef081eafe3f53b2f4f
call_targets: 0xa6b658ce4b1cdb4e7d8f97dffb549b8688cafb84
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8a71d7184775c8a8a6f22cee0afdff45ef8ad2e4a98fb6ef081eafe3f53b2f4f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa6b658ce4b1cdb4e7d8f97dffb549b8688cafb84"
    ],
    "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": "0xedd2cfe3",
            "selector": "0xedd2cfe3",
            "calldata_variants": [
                "0xedd2cfe3",
                "0xedd2cfe30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7cdf47c",
            "selector": "0xf7cdf47c",
            "calldata_variants": [
                "0xf7cdf47c",
                "0xf7cdf47c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb3ab15fb",
            "selector": "0xb3ab15fb",
            "calldata_variants": [
                "0xb3ab15fb",
                "0xb3ab15fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6b05950",
            "selector": "0xe6b05950",
            "calldata_variants": [
                "0xe6b05950",
                "0xe6b059500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9d484693",
            "selector": "0x9d484693",
            "calldata_variants": [
                "0x9d484693",
                "0x9d4846930000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3060,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3556,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7528,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 7698,
            "type": "tx_origin_used"
        },
        {
            "pc": 8168,
            "type": "tx_origin_used"
        },
        {
            "pc": 8175,
            "type": "tx_origin_used"
        }
    ]
}