00f68022-3457-404b-892f-00df776f782a
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31364 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 111182 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 111183 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 111184 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 111185 | capability.graph | complete | 1 / 3 | 1 week ago |
| 111186 | detector.run | complete | 1 / 3 | 1 week ago |
| 111187 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:746802] OpenAI Codex v0.77.0 (research preview)
[codex:746802] --------
[codex:746802] workdir: /tmp/codex-multi-bkr3k9um
[codex:746802] model: gpt-5.2-codex
[codex:746802] provider: openai
[codex:746802] approval: never
[codex:746802] sandbox: read-only
[codex:746802] reasoning effort: xhigh
[codex:746802] reasoning summaries: auto
[codex:746802] session id: 019b80db-4331-7b11-87e9-98342cc8ef75
[codex:746802] --------
[codex:746802] user
[codex:746802] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:746802]
[codex:746802] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:746802]
[codex:746802] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:746802] - Gas inefficiency, code quality, naming, or best practices
[codex:746802] - Theoretical vulnerabilities without a clear extraction path
[codex:746802] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:746802] - Front-running unless it enables theft beyond MEV
[codex:746802] - DoS, griefing, or issues that don't result in attacker profit
[codex:746802] - Missing events, view function issues, or informational findings
[codex:746802]
[codex:746802] HIGH-VALUE PATTERNS TO HUNT:
[codex:746802] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:746802] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:746802] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:746802] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:746802] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:746802] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:746802] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:746802] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:746802] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:746802]
[codex:746802] For each finding, you MUST provide:
[codex:746802] 1. Exact file and line numbers of vulnerable code
[codex:746802] 2. Step-by-step exploit transaction sequence
[codex:746802] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:746802]
[codex:746802] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:746802]
[codex:746802] Output MUST be valid JSON matching the provided schema.
[codex:746802] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:746802] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:746802] mcp startup: no servers
[codex:746802]
[codex:746802] thinking
[codex:746802] **Checking instructions and files**
[codex:746802] exec
[codex:746802] /bin/bash -lc ls in /tmp/codex-multi-bkr3k9um succeeded in 5ms:
[codex:746802] AUDIT_BUNDLE.txt
[codex:746802] codex-output-schema.json
[codex:746802] contracts
[codex:746802]
[codex:746802] thinking
[codex:746802] **Reading AUDIT_BUNDLE.txt**
[codex:746802] exec
[codex:746802] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-bkr3k9um succeeded in 5ms:
[codex:746802] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:746802]
[codex:746802] ================================================================================
[codex:746802] FILE: contracts/Contract.sol
[codex:746802] ================================================================================
[codex:746802] // Sources flattened with hardhat v2.9.3 https://hardhat.org
[codex:746802]
[codex:746802] // File contracts/interfaces/IDepositExecute.sol
[codex:746802]
[codex:746802] pragma solidity 0.8.11;
[codex:746802]
[codex:746802] /**
[codex:746802] @title Interface for handler contracts that support deposits and deposit executions.
[codex:746802] @author ChainSafe Systems.
[codex:746802] */
[codex:746802] interface IDepositExecute {
[codex:746802] /**
[codex:746802] @notice It is intended that deposit are made using the Bridge contract.
[codex:746802] @param resourceID ResourceID used to find address of token to be used for deposit.
[codex:746802] @param depositor Address of account making the deposit in the Bridge contract.
[codex:746802]
[codex:746802] thinking
[codex:746802] **Reviewing audit bundle contents**
[codex:746802] exec
[codex:746802] /bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-bkr3k9um succeeded in 14ms:
[codex:746802] 4:FILE: contracts/Contract.sol
[codex:746802]
[codex:746802] thinking
[codex:746802] **Reviewing complete contract file**
[codex:746802] exec
[codex:746802] /bin/bash -lc 'tail -n 60 AUDIT_BUNDLE.txt' in /tmp/codex-multi-bkr3k9um succeeded in 5ms:
[codex:746802]
[codex:746802] bytes20 recipientAddress;
[codex:746802] address tokenAddress = _resourceIDToTokenContractAddress[resourceID];
[codex:746802]
[codex:746802] assembly {
[codex:746802] recipientAddress := mload(add(destinationRecipientAddress, 0x20))
[codex:746802] }
[codex:746802]
[codex:746802] require(
[codex:746802] _contractWhitelist[tokenAddress],
[codex:746802] "provided tokenAddress is not whitelisted"
[codex:746802] );
[codex:746802]
[codex:746802] if (_burnList[tokenAddress]) {
[codex:746802] mintERC20(tokenAddress, address(recipientAddress), amount);
[codex:746802] } else if (isNative[tokenAddress]) {
[codex:746802] withdrawETH(address(recipientAddress), amount);
[codex:746802] } else {
[codex:746802] releaseERC20(tokenAddress, address(recipientAddress), amount);
[codex:746802] }
[codex:746802]
[codex:746802]
[codex:746802] thinking
[codex:746802] **Analyzing upgradeable handler initialization risks**
[codex:746802] thinking
[codex:746802] **Evaluating data handling and initialization nuances**
[codex:746802]
[codex:746802] I'll review potential data decoding issues and confirm that function name shadowing is safe, while closely examining initialization as a possible exploit path if left unprotected. I want to be sure there’s no overlooked attack vector involving token transfers or reentrancy, and I'm paying special attention to how the contract manages ETH reserves and permissions.
[codex:746802] exec
[codex:746802] /bin/bash -lc 'ls contracts' in /tmp/codex-multi-bkr3k9um succeeded in 5ms:
[codex:746802] Contract.sol
[codex:746802]
[codex:746802] thinking
[codex:746802] **Preparing to examine Contract.sol**
[codex:746802] exec
[codex:746802] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '300,520p'" in /tmp/codex-multi-bkr3k9um succeeded in 7ms:
[codex:746802] 300 * }
[codex:746802] 301 * }
[codex:746802] 302 * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {
[codex:746802] 303 * function initializeV2() reinitializer(2) public {
[codex:746802] 304 * __ERC20Permit_init("MyToken");
[codex:746802] 305 * }
[codex:746802] 306 * }
[codex:746802] 307 * ```
[codex:746802] 308 *
[codex:746802] 309 * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as
[codex:746802] 310 * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.
[codex:746802] 311 *
[codex:746802] 312 * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure
[codex:746802] 313 * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.
[codex:746802] 314 *
[codex:746802] 315 * [CAUTION]
[codex:746802] 316 * ====
[codex:746802] 317 * Avoid leaving a contract uninitialized.
[codex:746802] 318 *
[codex:746802] 319 * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation
[codex:746802]
[codex:746802] thinking
[codex:746802] **Checking initialize method location**
[codex:746802] exec
[codex:746802] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '690,980p'" in /tmp/codex-multi-bkr3k9um succeeded in 6ms:
[codex:746802] 690 *
[codex:746802] 691 * CAUTION: This function is deprecated because it requires allocating memory for the error
[codex:746802] 692 * message unnecessarily. For custom revert reasons use {trySub}.
[codex:746802] 693 *
[codex:746802] 694 * Counterpart to Solidity's `-` operator.
[codex:746802] 695 *
[codex:746802] 696 * Requirements:
[codex:746802] 697 *
[codex:746802] 698 * - Subtraction cannot overflow.
[codex:746802] 699 */
[codex:746802] 700 function sub(
[codex:746802] 701 uint256 a,
[codex:746802] 702 uint256 b,
[codex:746802] 703 string memory errorMessage
[codex:746802] 704 ) internal pure returns (uint256) {
[codex:746802] 705 unchecked {
[codex:746802] 706 require(b <= a, errorMessage);
[codex:746802] 707 return a - b;
[codex:746802] 708 }
[codex:746802] 709 }
[codex:746802]
[codex:746802] thinking
[codex:746802] **Considering initialization in ERC20Handler**
[codex:746802] exec
[codex:746802] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1080,1280p'" in /tmp/codex-multi-bkr3k9um succeeded in 6ms:
[codex:746802] 1080 pragma solidity 0.8.11;
[codex:746802] 1081 pragma experimental ABIEncoderV2;
[codex:746802] 1082
[codex:746802] 1083
[codex:746802] 1084
[codex:746802] 1085 /**
[codex:746802] 1086 @title Handles ERC20 deposits and deposit executions.
[codex:746802] 1087 @author ChainSafe Systems.
[codex:746802] 1088 @notice This contract is intended to be used with the Bridge contract.
[codex:746802] 1089 */
[codex:746802] 1090 contract ERC20HandlerUpgradeable is IDepositExecute, HandlerHelpersUpgradeable, ERC20Safe {
[codex:746802] 1091 /**
[codex:746802] 1092 @param bridgeAddress Contract address of previously deployed Bridge.
[codex:746802] 1093 */
[codex:746802] 1094 function initialize(address bridgeAddress) public initializer {
[codex:746802] 1095 __HandlerHelpers_init(bridgeAddress);
[codex:746802] 1096 }
[codex:746802] 1097
[codex:746802] 1098 error ProvidedTokenAddressIsNotWhitelisted();
[codex:746802] 1099
[codex:746802]
[codex:746802] thinking
[codex:746802] **Evaluating unprotected initializer risk**
[codex:746802] codex
[codex:746802] {"no_findings":true,"summary":"No concrete, attacker-accessible profit path found in the provided contracts under the stated assumptions.","findings":[]}
[codex:746802] tokens used
[codex:746802] 31,383
[codex:746802] {"no_findings":true,"summary":"No concrete, attacker-accessible profit path found in the provided contracts under the stated assumptions.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T22:39:11.823029+00:00",
"returncode": 0
},
"summary": "No concrete, attacker-accessible profit path found in the provided contracts under the stated assumptions.",
"raw_final": {
"summary": "No concrete, attacker-accessible profit path found in the provided contracts under the stated assumptions.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00f3 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0xab5c7bf1 00000019: GT 0000001a: PUSH2 0x008a 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xc4d66de8 00000024: GT 00000025: PUSH2 0x0059 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xc4d66de8 0000002f: EQ 00000030: PUSH2 0x02f3 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xc8ba6c87 0000003a: EQ 0000003b: PUSH2 0x0313 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xddafda46 00000045: EQ 00000046: PUSH2 0x034e 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xe248cff2 00000050: EQ 00000051: PUSH2 0x0364 00000054: JUMPI 00000055: PUSH1 0x00 00000057: DUP1 00000058: REVERT 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0xab5c7bf1 00000060: EQ 00000061: PUSH2 0x0263 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0xb07e54bb 0000006b: EQ 0000006c: PUSH2 0x0283 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xb2b8b5dd 00000076: EQ 00000077: PUSH2 0x02a3 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xb8fa3736 00000081: EQ 00000082: PUSH2 0x02d3 00000085: JUMPI 00000086: PUSH1 0x00 00000088: DUP1 00000089: REVERT 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0x6a70d081 00000091: GT 00000092: PUSH2 0x00c6 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x6a70d081 0000009c: EQ 0000009d: PUSH2 0x01b3 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x789d7711 000000a7: EQ 000000a8: PUSH2 0x01f3 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x7f79bea8 000000b2: EQ 000000b3: PUSH2 0x0213 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xa9815751 000000bd: EQ 000000be: PUSH2 0x0243 000000c1: JUMPI 000000c2: PUSH1 0x00 000000c4: DUP1 000000c5: REVERT 000000c6: JUMPDEST 000000c7: DUP1 000000c8: PUSH4 0x07b7ed99 000000cd: EQ 000000ce: PUSH2 0x00f8 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x0968f264 000000d8: EQ 000000d9: PUSH2 0x011a 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x0a6d55d8 000000e3: EQ 000000e4: PUSH2 0x013a 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x318c136e 000000ee: EQ 000000ef: PUSH2 0x018d 000000f2: JUMPI 000000f3: JUMPDEST 000000f4: PUSH1 0x00 000000f6: DUP1 000000f7: REVERT 000000f8: JUMPDEST 000000f9: CALLVALUE 000000fa: DUP1 000000fb: ISZERO 000000fc: PUSH2 0x0104 000000ff: JUMPI 00000100: PUSH1 0x00 00000102: DUP1 00000103: REVERT 00000104: JUMPDEST 00000105: POP 00000106: PUSH2 0x0118 00000109: PUSH2 0x0113 0000010c: CALLDATASIZE 0000010d: PUSH1 0x04 0000010f: PUSH2 0x0e90 00000112: JUMP 00000113: JUMPDEST 00000114: PUSH2 0x0384 00000117: JUMP 00000118: JUMPDEST 00000119: STOP 0000011a: JUMPDEST 0000011b: CALLVALUE 0000011c: DUP1 0000011d: ISZERO 0000011e: PUSH2 0x0126 00000121: JUMPI 00000122: PUSH1 0x00 00000124: DUP1 00000125: REVERT 00000126: JUMPDEST 00000127: POP 00000128: PUSH2 0x0118 0000012b: PUSH2 0x0135 0000012e: CALLDATASIZE 0000012f: PUSH1 0x04 00000131: PUSH2 0x0eca 00000134: JUMP 00000135: JUMPDEST 00000136: PUSH2 0x0398 00000139: JUMP 0000013a: JUMPDEST 0000013b: CALLVALUE 0000013c: DUP1 0000013d: ISZERO 0000013e: PUSH2 0x0146 00000141: JUMPI 00000142: PUSH1 0x00 00000144: DUP1 00000145: REVERT 00000146: JUMPDEST 00000147: POP 00000148: PUSH2 0x0170 0000014b: PUSH2 0x0155 0000014e: CALLDATASIZE 0000014f: PUSH1 0x04 00000151: PUSH2 0x0f7b 00000154: JUMP 00000155: JUMPDEST 00000156: PUSH1 0x01 00000158: PUSH1 0x20 0000015a: MSTORE 0000015b: PUSH1 0x00 0000015d: SWAP1 0000015e: DUP2 0000015f: MSTORE 00000160: PUSH1 0x40 00000162: SWAP1 00000163: KECCAK256 00000164: SLOAD 00000165: PUSH1 0x01 00000167: PUSH1 0x01 00000169: PUSH1 0xa0 0000016b: SHL 0000016c: SUB 0000016d: AND 0000016e: DUP2 0000016f: JUMP 00000170: JUMPDEST 00000171: PUSH1 0x40 00000173: MLOAD 00000174: PUSH1 0x01 00000176: PUSH1 0x01 00000178: PUSH1 0xa0 0000017a: SHL 0000017b: SUB 0000017c: SWAP1 0000017d: SWAP2 0000017e: AND 0000017f: DUP2 00000180: MSTORE 00000181: PUSH1 0x20 00000183: ADD 00000184: JUMPDEST 00000185: PUSH1 0x40 00000187: MLOAD 00000188: DUP1 00000189: SWAP2 0000018a: SUB 0000018b: SWAP1 0000018c: RETURN 0000018d: JUMPDEST 0000018e: CALLVALUE 0000018f: DUP1 00000190: ISZERO 00000191: PUSH2 0x0199 00000194: JUMPI 00000195: PUSH1 0x00 00000197: DUP1 00000198: REVERT 00000199: JUMPDEST 0000019a: POP 0000019b: PUSH1 0x00 0000019d: SLOAD 0000019e: PUSH2 0x0170 000001a1: SWAP1 000001a2: PUSH3 0x010000 000001a6: SWAP1 000001a7: DIV 000001a8: PUSH1 0x01 000001aa: PUSH1 0x01 000001ac: PUSH1 0xa0 000001ae: SHL 000001af: SUB 000001b0: AND 000001b1: DUP2 000001b2: JUMP 000001b3: JUMPDEST 000001b4: CALLVALUE 000001b5: DUP1 000001b6: ISZERO 000001b7: PUSH2 0x01bf 000001ba: JUMPI 000001bb: PUSH1 0x00 000001bd: DUP1 000001be: REVERT 000001bf: JUMPDEST 000001c0: POP 000001c1: PUSH2 0x01e3 000001c4: PUSH2 0x01ce 000001c7: CALLDATASIZE 000001c8: PUSH1 0x04 000001ca: PUSH2 0x0e90 000001cd: JUMP 000001ce: JUMPDEST 000001cf: PUSH1 0x04 000001d1: PUSH1 0x20 000001d3: MSTORE 000001d4: PUSH1 0x00 000001d6: SWAP1 000001d7: DUP2 000001d8: MSTORE 000001d9: PUSH1 0x40 000001db: SWAP1 000001dc: KECCAK256 000001dd: SLOAD 000001de: PUSH1 0xff 000001e0: AND 000001e1: DUP2 000001e2: JUMP 000001e3: JUMPDEST 000001e4: PUSH1 0x40 000001e6: MLOAD 000001e7: SWAP1 000001e8: ISZERO 000001e9: ISZERO 000001ea: DUP2 000001eb: MSTORE 000001ec: PUSH1 0x20 000001ee: ADD 000001ef: PUSH2 0x0184 000001f2: JUMP 000001f3: JUMPDEST 000001f4: CALLVALUE 000001f5: DUP1 000001f6: ISZERO 000001f7: PUSH2 0x01ff 000001fa: JUMPI 000001fb: PUSH1 0x00 000001fd: DUP1 000001fe: REVERT 000001ff: JUMPDEST 00000200: POP 00000201: PUSH2 0x0118 00000204: PUSH2 0x020e 00000207: CALLDATASIZE 00000208: PUSH1 0x04 0000020a: PUSH2 0x0fa2 0000020d: JUMP 0000020e: JUMPDEST 0000020f: PUSH2 0x03d1 00000212: JUMP 00000213: JUMPDEST 00000214: CALLVALUE 00000215: DUP1 00000216: ISZERO 00000217: PUSH2 0x021f 0000021a: JUMPI 0000021b: PUSH1 0x00 0000021d: DUP1 0000021e: REVERT 0000021f: JUMPDEST 00000220: POP 00000221: PUSH2 0x01e3 00000224: PUSH2 0x022e 00000227: CALLDATASIZE 00000228: PUSH1 0x04 0000022a: PUSH2 0x0e90 0000022d: JUMP 0000022e: JUMPDEST 0000022f: PUSH1 0x03 00000231: PUSH1 0x20 00000233: MSTORE 00000234: PUSH1 0x00 00000236: SWAP1 00000237: DUP2 00000238: MSTORE 00000239: PUSH1 0x40 0000023b: SWAP1 0000023c: KECCAK256 0000023d: SLOAD 0000023e: PUSH1 0xff 00000240: AND 00000241: DUP2 00000242: JUMP 00000243: JUMPDEST 00000244: CALLVALUE 00000245: DUP1 00000246: ISZERO 00000247: PUSH2 0x024f 0000024a: JUMPI 0000024b: PUSH1 0x00 0000024d: DUP1 0000024e: REVERT 0000024f: JUMPDEST 00000250: POP 00000251: PUSH2 0x0118 00000254: PUSH2 0x025e 00000257: CALLDATASIZE 00000258: PUSH1 0x04 0000025a: PUSH2 0x0fdb 0000025d: JUMP 0000025e: JUMPDEST 0000025f: PUSH2 0x0404 00000262: JUMP 00000263: JUMPDEST 00000264: CALLVALUE 00000265: DUP1 00000266: ISZERO 00000267: PUSH2 0x026f 0000026a: JUMPI 0000026b: PUSH1 0x00 0000026d: DUP1 0000026e: REVERT 0000026f: JUMPDEST 00000270: POP 00000271: PUSH2 0x0118 00000274: PUSH2 0x027e 00000277: CALLDATASIZE 00000278: PUSH1 0x04 0000027a: PUSH2 0x0eca 0000027d: JUMP 0000027e: JUMPDEST 0000027f: PUSH2 0x0457 00000282: JUMP 00000283: JUMPDEST 00000284: PUSH2 0x0296 00000287: PUSH2 0x0291 0000028a: CALLDATASIZE 0000028b: PUSH1 0x04 0000028d: PUSH2 0x1049 00000290: JUMP 00000291: JUMPDEST 00000292: PUSH2 0x048a 00000295: JUMP 00000296: JUMPDEST 00000297: PUSH1 0x40 00000299: MLOAD 0000029a: PUSH2 0x0184 0000029d: SWAP2 0000029e: SWAP1 0000029f: PUSH2 0x10d1 000002a2: JUMP 000002a3: JUMPDEST 000002a4: CALLVALUE 000002a5: DUP1 000002a6: ISZERO 000002a7: PUSH2 0x02af 000002aa: JUMPI 000002ab: PUSH1 0x00 000002ad: DUP1 000002ae: REVERT 000002af: JUMPDEST 000002b0: POP 000002b1: PUSH2 0x01e3 000002b4: PUSH2 0x02be 000002b7: CALLDATASIZE 000002b8: PUSH1 0x04 000002ba: PUSH2 0x0e90 000002bd: JUMP 000002be: JUMPDEST 000002bf: PUSH1 0x05 000002c1: PUSH1 0x20 000002c3: MSTORE 000002c4: PUSH1 0x00 000002c6: SWAP1 000002c7: DUP2 000002c8: MSTORE 000002c9: PUSH1 0x40 000002cb: SWAP1 000002cc: KECCAK256 000002cd: SLOAD 000002ce: PUSH1 0xff 000002d0: AND 000002d1: DUP2 000002d2: JUMP 000002d3: JUMPDEST 000002d4: CALLVALUE 000002d5: DUP1 000002d6: ISZERO 000002d7: PUSH2 0x02df 000002da: JUMPI 000002db: PUSH1 0x00 000002dd: DUP1 000002de: REVERT 000002df: JUMPDEST 000002e0: POP 000002e1: PUSH2 0x0118 000002e4: PUSH2 0x02ee 000002e7: CALLDATASIZE 000002e8: PUSH1 0x04 000002ea: PUSH2 0x0fdb 000002ed: JUMP 000002ee: JUMPDEST 000002ef: PUSH2 0x056e 000002f2: JUMP 000002f3: JUMPDEST 000002f4: CALLVALUE 000002f5: DUP1 000002f6: ISZERO 000002f7: PUSH2 0x02ff 000002fa: JUMPI 000002fb: PUSH1 0x00 000002fd: DUP1 000002fe: REVERT 000002ff: JUMPDEST 00000300: POP 00000301: PUSH2 0x0118 00000304: PUSH2 0x030e 00000307: CALLDATASIZE 00000308: PUSH1 0x04 0000030a: PUSH2 0x0e90 0000030d: JUMP 0000030e: JUMPDEST 0000030f: PUSH2 0x05c6 00000312: JUMP 00000313: JUMPDEST 00000314: CALLVALUE 00000315: DUP1 00000316: ISZERO 00000317: PUSH2 0x031f 0000031a: JUMPI 0000031b: PUSH1 0x00 0000031d: DUP1 0000031e: REVERT 0000031f: JUMPDEST 00000320: POP 00000321: PUSH2 0x0340 00000324: PUSH2 0x032e 00000327: CALLDATASIZE 00000328: PUSH1 0x04 0000032a: PUSH2 0x0e90 0000032d: JUMP 0000032e: JUMPDEST 0000032f: PUSH1 0x02 00000331: PUSH1 0x20 00000333: MSTORE 00000334: PUSH1 0x00 00000336: SWAP1 00000337: DUP2 00000338: MSTORE 00000339: PUSH1 0x40 0000033b: SWAP1 0000033c: KECCAK256 0000033d: SLOAD 0000033e: DUP2 0000033f: JUMP 00000340: JUMPDEST 00000341: PUSH1 0x40 00000343: MLOAD 00000344: SWAP1 00000345: DUP2 00000346: MSTORE 00000347: PUSH1 0x20 00000349: ADD 0000034a: PUSH2 0x0184 0000034d: JUMP 0000034e: JUMPDEST 0000034f: CALLVALUE 00000350: DUP1 00000351: ISZERO 00000352: PUSH2 0x035a 00000355: JUMPI 00000356: PUSH1 0x00 00000358: DUP1 00000359: REVERT 0000035a: JUMPDEST 0000035b: POP 0000035c: PUSH2 0x0340 0000035f: PUSH1 0x06 00000361: SLOAD 00000362: DUP2 00000363: JUMP 00000364: JUMPDEST 00000365: CALLVALUE 00000366: DUP1 00000367: ISZERO 00000368: PUSH2 0x0370 0000036b: JUMPI 0000036c: PUSH1 0x00 0000036e: DUP1 0000036f: REVERT 00000370: JUMPDEST 00000371: POP 00000372: PUSH2 0x0118 00000375: PUSH2 0x037f 00000378: CALLDATASIZE 00000379: PUSH1 0x04 0000037b: PUSH2 0x1104 0000037e: JUMP 0000037f: JUMPDEST 00000380: PUSH2 0x069b 00000383: JUMP 00000384: JUMPDEST 00000385: PUSH2 0x038c 00000388: PUSH2 0x0814 0000038b: JUMP 0000038c: JUMPDEST 0000038d: PUSH2 0x0395 00000390: DUP2 00000391: PUSH2 0x0876 00000394: JUMP 00000395: JUMPDEST 00000396: POP 00000397: JUMP 00000398: JUMPDEST 00000399: PUSH2 0x03a0 0000039c: PUSH2 0x0814 0000039f: JUMP 000003a0: JUMPDEST 000003a1: PUSH1 0x00 000003a3: DUP1 000003a4: PUSH1 0x00 000003a6: DUP4 000003a7: DUP1 000003a8: PUSH1 0x20 000003aa: ADD 000003ab: SWAP1 000003ac: MLOAD 000003ad: DUP2 000003ae: ADD 000003af: SWAP1 000003b0: PUSH2 0x03b9 000003b3: SWAP2 000003b4: SWAP1 000003b5: PUSH2 0x1150 000003b8: JUMP 000003b9: JUMPDEST 000003ba: SWAP2 000003bb: SWAP5 000003bc: POP 000003bd: SWAP3 000003be: POP 000003bf: SWAP1 000003c0: POP 000003c1: PUSH2 0x03cb 000003c4: DUP4 000003c5: DUP4 000003c6: DUP4 000003c7: PUSH2 0x090e 000003ca: JUMP 000003cb: JUMPDEST 000003cc: POP 000003cd: POP 000003ce: POP 000003cf: POP 000003d0: JUMP 000003d1: JUMPDEST 000003d2: PUSH2 0x03d9 000003d5: PUSH2 0x0814 000003d8: JUMP 000003d9: JUMPDEST 000003da: PUSH1 0x01 000003dc: PUSH1 0x01 000003de: PUSH1 0xa0 000003e0: SHL 000003e1: SUB 000003e2: SWAP2 000003e3: SWAP1 000003e4: SWAP2 000003e5: AND 000003e6: PUSH1 0x00 000003e8: SWAP1 000003e9: DUP2 000003ea: MSTORE 000003eb: PUSH1 0x05 000003ed: PUSH1 0x20 000003ef: MSTORE 000003f0: PUSH1 0x40 000003f2: SWAP1 000003f3: KECCAK256 000003f4: DUP1 000003f5: SLOAD 000003f6: PUSH1 0xff 000003f8: NOT 000003f9: AND 000003fa: SWAP2 000003fb: ISZERO 000003fc: ISZERO 000003fd: SWAP2 000003fe: SWAP1 000003ff: SWAP2 00000400: OR 00000401: SWAP1 00000402: SSTORE 00000403: JUMP 00000404: JUMPDEST 00000405: PUSH2 0x040c 00000408: PUSH2 0x0814 0000040b: JUMP 0000040c: JUMPDEST 0000040d: PUSH1 0x00 0000040f: SWAP2 00000410: DUP3 00000411: MSTORE 00000412: PUSH1 0x01 00000414: PUSH1 0x20 00000416: SWAP1 00000417: DUP2 00000418: MSTORE 00000419: PUSH1 0x40 0000041b: DUP1 0000041c: DUP5 0000041d: KECCAK256 0000041e: DUP1 0000041f: SLOAD 00000420: PUSH1 0x01 00000422: PUSH1 0x01 00000424: PUSH1 0xa0 00000426: SHL 00000427: SUB 00000428: NOT 00000429: AND 0000042a: SWAP1 0000042b: SSTORE 0000042c: PUSH1 0x01 0000042e: PUSH1 0x01 00000430: PUSH1 0xa0 00000432: SHL 00000433: SUB 00000434: SWAP3 00000435: SWAP1 00000436: SWAP3 00000437: AND 00000438: DUP4 00000439: MSTORE 0000043a: PUSH1 0x02 0000043c: DUP2 0000043d: MSTORE 0000043e: DUP2 0000043f: DUP4 00000440: KECCAK256 00000441: DUP4 00000442: SWAP1 00000443: SSTORE 00000444: PUSH1 0x03 00000446: SWAP1 00000447: MSTORE 00000448: SWAP1 00000449: KECCAK256 0000044a: DUP1 0000044b: SLOAD 0000044c: PUSH1 0xff 0000044e: NOT 0000044f: AND 00000450: SWAP1 00000451: SSTORE 00000452: JUMP 00000453: JUMPDEST 00000454: POP 00000455: POP 00000456: JUMP 00000457: JUMPDEST 00000458: PUSH2 0x045f 0000045b: PUSH2 0x0814 0000045e: JUMP 0000045f: JUMPDEST 00000460: PUSH1 0x00 00000462: DUP1 00000463: DUP3 00000464: DUP1 00000465: PUSH1 0x20 00000467: ADD 00000468: SWAP1 00000469: MLOAD 0000046a: DUP2 0000046b: ADD 0000046c: SWAP1 0000046d: PUSH2 0x0476 00000470: SWAP2 00000471: SWAP1 00000472: PUSH2 0x1193 00000475: JUMP 00000476: JUMPDEST 00000477: SWAP1 00000478: SWAP3 00000479: POP 0000047a: SWAP1 0000047b: POP 0000047c: PUSH2 0x0485 0000047f: DUP3 00000480: DUP3 00000481: PUSH2 0x091a 00000484: JUMP 00000485: JUMPDEST 00000486: POP 00000487: POP 00000488: POP 00000489: JUMP 0000048a: JUMPDEST 0000048b: PUSH1 0x60 0000048d: PUSH2 0x0494 00000490: PUSH2 0x0814 00000493: JUMP 00000494: JUMPDEST 00000495: PUSH1 0x00 00000497: PUSH2 0x04a2 0000049a: DUP4 0000049b: DUP6 0000049c: ADD 0000049d: DUP6 0000049e: PUSH2 0x0f7b 000004a1: JUMP 000004a2: JUMPDEST 000004a3: PUSH1 0x00 000004a5: DUP8 000004a6: DUP2 000004a7: MSTORE 000004a8: PUSH1 0x01 000004aa: PUSH1 0x20 000004ac: SWAP1 000004ad: DUP2 000004ae: MSTORE 000004af: PUSH1 0x40 000004b1: DUP1 000004b2: DUP4 000004b3: KECCAK256 000004b4: SLOAD 000004b5: PUSH1 0x01 000004b7: PUSH1 0x01 000004b9: PUSH1 0xa0 000004bb: SHL 000004bc: SUB 000004bd: AND 000004be: DUP1 000004bf: DUP5 000004c0: MSTORE 000004c1: PUSH1 0x03 000004c3: SWAP1 000004c4: SWAP3 000004c5: MSTORE 000004c6: SWAP1 000004c7: SWAP2 000004c8: KECCAK256 000004c9: SLOAD 000004ca: SWAP2 000004cb: SWAP3 000004cc: POP 000004cd: SWAP1 000004ce: PUSH1 0xff 000004d0: AND 000004d1: PUSH2 0x04ed 000004d4: JUMPI 000004d5: PUSH1 0x40 000004d7: MLOAD 000004d8: PUSH4 0x1556d7e1 000004dd: PUSH1 0xe1 000004df: SHL 000004e0: DUP2 000004e1: MSTORE 000004e2: PUSH1 0x04 000004e4: ADD 000004e5: PUSH1 0x40 000004e7: MLOAD 000004e8: DUP1 000004e9: SWAP2 000004ea: SUB 000004eb: SWAP1 000004ec: REVERT 000004ed: JUMPDEST 000004ee: PUSH1 0x01 000004f0: PUSH1 0x01 000004f2: PUSH1 0xa0 000004f4: SHL 000004f5: SUB 000004f6: DUP2 000004f7: AND 000004f8: PUSH1 0x00 000004fa: SWAP1 000004fb: DUP2 000004fc: MSTORE 000004fd: PUSH1 0x04 000004ff: PUSH1 0x20 00000501: MSTORE 00000502: PUSH1 0x40 00000504: SWAP1 00000505: KECCAK256 00000506: SLOAD 00000507: PUSH1 0xff 00000509: AND 0000050a: ISZERO 0000050b: PUSH2 0x051e 0000050e: JUMPI 0000050f: PUSH2 0x0519 00000512: DUP2 00000513: DUP8 00000514: DUP5 00000515: PUSH2 0x097e 00000518: JUMP 00000519: JUMPDEST 0000051a: PUSH2 0x0554 0000051d: JUMP 0000051e: JUMPDEST 0000051f: PUSH1 0x01 00000521: PUSH1 0x01 00000523: PUSH1 0xa0 00000525: SHL 00000526: SUB 00000527: DUP2 00000528: AND 00000529: PUSH1 0x00 0000052b: SWAP1 0000052c: DUP2 0000052d: MSTORE 0000052e: PUSH1 0x05 00000530: PUSH1 0x20 00000532: MSTORE 00000533: PUSH1 0x40 00000535: SWAP1 00000536: KECCAK256 00000537: SLOAD 00000538: PUSH1 0xff 0000053a: AND 0000053b: ISZERO 0000053c: PUSH2 0x0548 0000053f: JUMPI 00000540: PUSH2 0x0519 00000543: DUP3 00000544: PUSH2 0x09e0 00000547: JUMP 00000548: JUMPDEST 00000549: PUSH2 0x0554 0000054c: DUP2 0000054d: DUP8 0000054e: ADDRESS 0000054f: DUP6 00000550: PUSH2 0x0a8b 00000553: JUMP 00000554: JUMPDEST 00000555: POP 00000556: POP 00000557: PUSH1 0x40 00000559: DUP1 0000055a: MLOAD 0000055b: PUSH1 0x00 0000055d: DUP2 0000055e: MSTORE 0000055f: PUSH1 0x20 00000561: DUP2 00000562: ADD 00000563: SWAP1 00000564: SWAP2 00000565: MSTORE 00000566: SWAP6 00000567: SWAP5 00000568: POP 00000569: POP 0000056a: POP 0000056b: POP 0000056c: POP 0000056d: JUMP 0000056e: JUMPDEST 0000056f: PUSH2 0x0576 00000572: PUSH2 0x0814 00000575: JUMP 00000576: JUMPDEST 00000577: PUSH1 0x00 00000579: DUP3 0000057a: DUP2 0000057b: MSTORE 0000057c: PUSH1 0x01 0000057e: PUSH1 0x20 00000580: DUP2 00000581: DUP2 00000582: MSTORE 00000583: PUSH1 0x40 00000585: DUP1 00000586: DUP5 00000587: KECCAK256 00000588: DUP1 00000589: SLOAD 0000058a: PUSH1 0x01 0000058c: PUSH1 0x01 0000058e: PUSH1 0xa0 00000590: SHL 00000591: SUB 00000592: NOT 00000593: AND 00000594: PUSH1 0x01 00000596: PUSH1 0x01 00000598: PUSH1 0xa0 0000059a: SHL 0000059b: SUB 0000059c: DUP8 0000059d: AND 0000059e: SWAP1 0000059f: DUP2 000005a0: OR 000005a1: SWAP1 000005a2: SWAP2 000005a3: SSTORE 000005a4: DUP5 000005a5: MSTORE 000005a6: PUSH1 0x02 000005a8: DUP3 000005a9: MSTORE 000005aa: DUP1 000005ab: DUP5 000005ac: KECCAK256 000005ad: DUP7 000005ae: SWAP1 000005af: SSTORE 000005b0: PUSH1 0x03 000005b2: SWAP1 000005b3: SWAP2 000005b4: MSTORE 000005b5: SWAP1 000005b6: SWAP2 000005b7: KECCAK256 000005b8: DUP1 000005b9: SLOAD 000005ba: PUSH1 0xff 000005bc: NOT 000005bd: AND 000005be: SWAP1 000005bf: SWAP2 000005c0: OR 000005c1: SWAP1 000005c2: SSTORE 000005c3: POP 000005c4: POP 000005c5: JUMP 000005c6: JUMPDEST 000005c7: PUSH1 0x00 000005c9: SLOAD 000005ca: PUSH2 0x0100 000005cd: SWAP1 000005ce: DIV 000005cf: PUSH1 0xff 000005d1: AND 000005d2: ISZERO 000005d3: DUP1 000005d4: DUP1 000005d5: ISZERO 000005d6: PUSH2 0x05e6 000005d9: JUMPI 000005da: POP 000005db: PUSH1 0x00 000005dd: SLOAD 000005de: PUSH1 0x01 000005e0: PUSH1 0xff 000005e2: SWAP1 000005e3: SWAP2 000005e4: AND 000005e5: LT 000005e6: JUMPDEST 000005e7: DUP1 000005e8: PUSH2 0x0600 000005eb: JUMPI 000005ec: POP 000005ed: ADDRESS 000005ee: EXTCODESIZE 000005ef: ISZERO 000005f0: DUP1 000005f1: ISZERO 000005f2: PUSH2 0x0600 000005f5: JUMPI 000005f6: POP 000005f7: PUSH1 0x00 000005f9: SLOAD 000005fa: PUSH1 0xff 000005fc: AND 000005fd: PUSH1 0x01 000005ff: EQ 00000600: JUMPDEST 00000601: PUSH2 0x0625 00000604: JUMPI 00000605: PUSH1 0x40 00000607: MLOAD 00000608: PUSH3 0x461bcd 0000060c: PUSH1 0xe5 0000060e: SHL 0000060f: DUP2 00000610: MSTORE 00000611: PUSH1 0x04 00000613: ADD 00000614: PUSH2 0x061c 00000617: SWAP1 00000618: PUSH2 0x11c1 0000061b: JUMP 0000061c: JUMPDEST 0000061d: PUSH1 0x40 0000061f: MLOAD 00000620: DUP1 00000621: SWAP2 00000622: SUB 00000623: SWAP1 00000624: REVERT 00000625: JUMPDEST 00000626: PUSH1 0x00 00000628: DUP1 00000629: SLOAD 0000062a: PUSH1 0xff 0000062c: NOT 0000062d: AND 0000062e: PUSH1 0x01 00000630: OR 00000631: SWAP1 00000632: SSTORE 00000633: DUP1 00000634: ISZERO 00000635: PUSH2 0x0648 00000638: JUMPI 00000639: PUSH1 0x00 0000063b: DUP1 0000063c: SLOAD 0000063d: PUSH2 0xff00 00000640: NOT 00000641: AND 00000642: PUSH2 0x0100 00000645: OR 00000646: SWAP1 00000647: SSTORE 00000648: JUMPDEST 00000649: PUSH2 0x0651 0000064c: DUP3 0000064d: PUSH2 0x0a9f 00000650: JUMP 00000651: JUMPDEST 00000652: DUP1 00000653: ISZERO 00000654: PUSH2 0x0453 00000657: JUMPI 00000658: PUSH1 0x00 0000065a: DUP1 0000065b: SLOAD 0000065c: PUSH2 0xff00 0000065f: NOT 00000660: AND 00000661: SWAP1 00000662: SSTORE 00000663: PUSH1 0x40 00000665: MLOAD 00000666: PUSH1 0x01 00000668: DUP2 00000669: MSTORE 0000066a: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 0000068b: SWAP1 0000068c: PUSH1 0x20 0000068e: ADD 0000068f: JUMPDEST 00000690: PUSH1 0x40 00000692: MLOAD 00000693: DUP1 00000694: SWAP2 00000695: SUB 00000696: SWAP1 00000697: LOG1 00000698: POP 00000699: POP 0000069a: JUMP 0000069b: JUMPDEST 0000069c: PUSH2 0x06a3 0000069f: PUSH2 0x0814 000006a2: JUMP 000006a3: JUMPDEST 000006a4: PUSH1 0x00 000006a6: DUP1 000006a7: PUSH1 0x60 000006a9: PUSH2 0x06b4 000006ac: DUP5 000006ad: DUP7 000006ae: ADD 000006af: DUP7 000006b0: PUSH2 0x120f 000006b3: JUMP 000006b4: JUMPDEST 000006b5: SWAP1 000006b6: SWAP4 000006b7: POP 000006b8: SWAP2 000006b9: POP 000006ba: DUP5 000006bb: PUSH1 0x40 000006bd: DUP6 000006be: PUSH2 0x06c7 000006c1: DUP6 000006c2: DUP4 000006c3: PUSH2 0x1247 000006c6: JUMP 000006c7: JUMPDEST 000006c8: SWAP3 000006c9: PUSH2 0x06d4 000006cc: SWAP4 000006cd: SWAP3 000006ce: SWAP2 000006cf: SWAP1 000006d0: PUSH2 0x125f 000006d3: JUMP 000006d4: JUMPDEST 000006d5: DUP1 000006d6: DUP1 000006d7: PUSH1 0x1f 000006d9: ADD 000006da: PUSH1 0x20 000006dc: DUP1 000006dd: SWAP2 000006de: DIV 000006df: MUL 000006e0: PUSH1 0x20 000006e2: ADD 000006e3: PUSH1 0x40 000006e5: MLOAD 000006e6: SWAP1 000006e7: DUP2 000006e8: ADD 000006e9: PUSH1 0x40 000006eb: MSTORE 000006ec: DUP1 000006ed: SWAP4 000006ee: SWAP3 000006ef: SWAP2 000006f0: SWAP1 000006f1: DUP2 000006f2: DUP2 000006f3: MSTORE 000006f4: PUSH1 0x20 000006f6: ADD 000006f7: DUP4 000006f8: DUP4 000006f9: DUP1 000006fa: DUP3 000006fb: DUP5 000006fc: CALLDATACOPY 000006fd: PUSH1 0x00 000006ff: SWAP3 00000700: ADD 00000701: DUP3 00000702: SWAP1 00000703: MSTORE 00000704: POP 00000705: DUP11 00000706: DUP2 00000707: MSTORE 00000708: PUSH1 0x01 0000070a: PUSH1 0x20 0000070c: SWAP1 0000070d: DUP2 0000070e: MSTORE 0000070f: PUSH1 0x40 00000711: DUP1 00000712: DUP4 00000713: KECCAK256 00000714: SLOAD 00000715: DUP3 00000716: DUP9 00000717: ADD 00000718: MLOAD 00000719: PUSH1 0x01 0000071b: PUSH1 0x01 0000071d: PUSH1 0xa0 0000071f: SHL 00000720: SUB 00000721: SWAP1 00000722: SWAP2 00000723: AND 00000724: DUP1 00000725: DUP6 00000726: MSTORE 00000727: PUSH1 0x03 00000729: SWAP1 0000072a: SWAP4 0000072b: MSTORE 0000072c: SWAP3 0000072d: KECCAK256 0000072e: SLOAD 0000072f: SWAP6 00000730: SWAP7 00000731: POP 00000732: SWAP1 00000733: SWAP5 00000734: SWAP1 00000735: SWAP4 00000736: POP 00000737: PUSH1 0xff 00000739: AND 0000073a: SWAP2 0000073b: POP 0000073c: PUSH2 0x079a 0000073f: SWAP1 00000740: POP 00000741: JUMPI 00000742: PUSH1 0x40 00000744: MLOAD 00000745: PUSH3 0x461bcd 00000749: PUSH1 0xe5 0000074b: SHL 0000074c: DUP2 0000074d: MSTORE 0000074e: PUSH1 0x20 00000750: PUSH1 0x04 00000752: DUP3 00000753: ADD 00000754: MSTORE 00000755: PUSH1 0x28 00000757: PUSH1 0x24 00000759: DUP3 0000075a: ADD 0000075b: MSTORE 0000075c: PUSH32 0x70726f766964656420746f6b656e41646472657373206973206e6f7420776869 0000077d: PUSH1 0x44 0000077f: DUP3 00000780: ADD 00000781: MSTORE 00000782: PUSH8 0x1d195b1a5cdd1959 0000078b: PUSH1 0xc2 0000078d: SHL 0000078e: PUSH1 0x64 00000790: DUP3 00000791: ADD 00000792: MSTORE 00000793: PUSH1 0x84 00000795: ADD 00000796: PUSH2 0x061c 00000799: JUMP 0000079a: JUMPDEST 0000079b: PUSH1 0x01 0000079d: PUSH1 0x01 0000079f: PUSH1 0xa0 000007a1: SHL 000007a2: SUB 000007a3: DUP2 000007a4: AND 000007a5: PUSH1 0x00 000007a7: SWAP1 000007a8: DUP2 000007a9: MSTORE 000007aa: PUSH1 0x04 000007ac: PUSH1 0x20 000007ae: MSTORE 000007af: PUSH1 0x40 000007b1: SWAP1 000007b2: KECCAK256 000007b3: SLOAD 000007b4: PUSH1 0xff 000007b6: AND 000007b7: ISZERO 000007b8: PUSH2 0x07ce 000007bb: JUMPI 000007bc: PUSH2 0x07c9 000007bf: DUP2 000007c0: DUP4 000007c1: PUSH1 0x60 000007c3: SHR 000007c4: DUP8 000007c5: PUSH2 0x0b7c 000007c8: JUMP 000007c9: JUMPDEST 000007ca: PUSH2 0x080a 000007cd: JUMP 000007ce: JUMPDEST 000007cf: PUSH1 0x01 000007d1: PUSH1 0x01 000007d3: PUSH1 0xa0 000007d5: SHL 000007d6: SUB 000007d7: DUP2 000007d8: AND 000007d9: PUSH1 0x00 000007db: SWAP1 000007dc: DUP2 000007dd: MSTORE 000007de: PUSH1 0x05 000007e0: PUSH1 0x20 000007e2: MSTORE 000007e3: PUSH1 0x40 000007e5: SWAP1 000007e6: KECCAK256 000007e7: SLOAD 000007e8: PUSH1 0xff 000007ea: AND 000007eb: ISZERO 000007ec: PUSH2 0x07fc 000007ef: JUMPI 000007f0: PUSH2 0x07c9 000007f3: DUP3 000007f4: PUSH1 0x60 000007f6: SHR 000007f7: DUP7 000007f8: PUSH2 0x091a 000007fb: JUMP 000007fc: JUMPDEST 000007fd: PUSH2 0x080a 00000800: DUP2 00000801: DUP4 00000802: PUSH1 0x60 00000804: SHR 00000805: DUP8 00000806: PUSH2 0x090e 00000809: JUMP 0000080a: JUMPDEST 0000080b: POP 0000080c: POP 0000080d: POP 0000080e: POP 0000080f: POP 00000810: POP 00000811: POP 00000812: POP 00000813: JUMP 00000814: JUMPDEST 00000815: PUSH1 0x00 00000817: SLOAD 00000818: PUSH3 0x010000 0000081c: SWAP1 0000081d: DIV 0000081e: PUSH1 0x01 00000820: PUSH1 0x01 00000822: PUSH1 0xa0 00000824: SHL 00000825: SUB 00000826: AND 00000827: CALLER 00000828: EQ 00000829: PUSH2 0x0874 0000082c: JUMPI 0000082d: PUSH1 0x40 0000082f: MLOAD 00000830: PUSH3 0x461bcd 00000834: PUSH1 0xe5 00000836: SHL 00000837: DUP2 00000838: MSTORE 00000839: PUSH1 0x20 0000083b: PUSH1 0x04 0000083d: DUP3 0000083e: ADD 0000083f: MSTORE 00000840: PUSH1 0x1e 00000842: PUSH1 0x24 00000844: DUP3 00000845: ADD 00000846: MSTORE 00000847: PUSH32 0x73656e646572206d7573742062652062726964676520636f6e74726163740000 00000868: PUSH1 0x44 0000086a: DUP3 0000086b: ADD 0000086c: MSTORE 0000086d: PUSH1 0x64 0000086f: ADD 00000870: PUSH2 0x061c 00000873: JUMP 00000874: JUMPDEST 00000875: JUMP 00000876: JUMPDEST 00000877: PUSH1 0x01 00000879: PUSH1 0x01 0000087b: PUSH1 0xa0 0000087d: SHL 0000087e: SUB 0000087f: DUP2 00000880: AND 00000881: PUSH1 0x00 00000883: SWAP1 00000884: DUP2 00000885: MSTORE 00000886: PUSH1 0x03 00000888: PUSH1 0x20 0000088a: MSTORE 0000088b: PUSH1 0x40 0000088d: SWAP1 0000088e: KECCAK256 0000088f: SLOAD 00000890: PUSH1 0xff 00000892: AND 00000893: PUSH2 0x08ea 00000896: JUMPI 00000897: PUSH1 0x40 00000899: MLOAD 0000089a: PUSH3 0x461bcd 0000089e: PUSH1 0xe5 000008a0: SHL 000008a1: DUP2 000008a2: MSTORE 000008a3: PUSH1 0x20 000008a5: PUSH1 0x04 000008a7: DUP3 000008a8: ADD 000008a9: MSTORE 000008aa: PUSH1 0x24 000008ac: DUP1 000008ad: DUP3 000008ae: ADD 000008af: MSTORE 000008b0: PUSH32 0x70726f766964656420636f6e7472616374206973206e6f742077686974656c69 000008d1: PUSH1 0x44 000008d3: DUP3 000008d4: ADD 000008d5: MSTORE 000008d6: PUSH4 0x1cdd1959 000008db: PUSH1 0xe2 000008dd: SHL 000008de: PUSH1 0x64 000008e0: DUP3 000008e1: ADD 000008e2: MSTORE 000008e3: PUSH1 0x84 000008e5: ADD 000008e6: PUSH2 0x061c 000008e9: JUMP 000008ea: JUMPDEST 000008eb: PUSH1 0x01 000008ed: PUSH1 0x01 000008ef: PUSH1 0xa0 000008f1: SHL 000008f2: SUB 000008f3: AND 000008f4: PUSH1 0x00 000008f6: SWAP1 000008f7: DUP2 000008f8: MSTORE 000008f9: PUSH1 0x04 000008fb: PUSH1 0x20 000008fd: MSTORE 000008fe: PUSH1 0x40 00000900: SWAP1 00000901: KECCAK256 00000902: DUP1 00000903: SLOAD 00000904: PUSH1 0xff 00000906: NOT 00000907: AND 00000908: PUSH1 0x01 0000090a: OR 0000090b: SWAP1 0000090c: SSTORE 0000090d: JUMP 0000090e: JUMPDEST 0000090f: DUP3 00000910: PUSH2 0x03cb 00000913: DUP2 00000914: DUP5 00000915: DUP5 00000916: PUSH2 0x0bb4 00000919: JUMP 0000091a: JUMPDEST 0000091b: SELFBALANCE 0000091c: PUSH2 0x0925 0000091f: DUP4 00000920: DUP4 00000921: PUSH2 0x0c17 00000924: JUMP 00000925: JUMPDEST 00000926: PUSH2 0x092f 00000929: DUP3 0000092a: DUP3 0000092b: PUSH2 0x1289 0000092e: JUMP 0000092f: JUMPDEST 00000930: SELFBALANCE 00000931: EQ 00000932: PUSH2 0x0975 00000935: JUMPI 00000936: PUSH1 0x40 00000938: MLOAD 00000939: PUSH3 0x461bcd 0000093d: PUSH1 0xe5 0000093f: SHL 00000940: DUP2 00000941: MSTORE 00000942: PUSH1 0x20 00000944: PUSH1 0x04 00000946: DUP3 00000947: ADD 00000948: MSTORE 00000949: PUSH1 0x15 0000094b: PUSH1 0x24 0000094d: DUP3 0000094e: ADD 0000094f: MSTORE 00000950: PUSH21 0x45524332303a207769746864726177206661696c21 00000966: PUSH1 0x58 00000968: SHL 00000969: PUSH1 0x44 0000096b: DUP3 0000096c: ADD 0000096d: MSTORE 0000096e: PUSH1 0x64 00000970: ADD 00000971: PUSH2 0x061c 00000974: JUMP 00000975: JUMPDEST 00000976: POP 00000977: POP 00000978: SELFBALANCE 00000979: PUSH1 0x06 0000097b: SSTORE 0000097c: POP 0000097d: JUMP 0000097e: JUMPDEST 0000097f: PUSH1 0x40 00000981: MLOAD 00000982: PUSH4 0x079cc679 00000987: PUSH1 0xe4 00000989: SHL 0000098a: DUP2 0000098b: MSTORE 0000098c: PUSH1 0x01 0000098e: PUSH1 0x01 00000990: PUSH1 0xa0 00000992: SHL 00000993: SUB 00000994: DUP4 00000995: DUP2 00000996: AND 00000997: PUSH1 0x04 00000999: DUP4 0000099a: ADD 0000099b: MSTORE 0000099c: PUSH1 0x24 0000099e: DUP3 0000099f: ADD 000009a0: DUP4 000009a1: SWAP1 000009a2: MSTORE 000009a3: DUP5 000009a4: SWAP2 000009a5: SWAP1 000009a6: DUP3 000009a7: AND 000009a8: SWAP1 000009a9: PUSH4 0x79cc6790 000009ae: SWAP1 000009af: PUSH1 0x44 000009b1: ADD 000009b2: JUMPDEST 000009b3: PUSH1 0x00 000009b5: PUSH1 0x40 000009b7: MLOAD 000009b8: DUP1 000009b9: DUP4 000009ba: SUB 000009bb: DUP2 000009bc: PUSH1 0x00 000009be: DUP8 000009bf: DUP1 000009c0: EXTCODESIZE 000009c1: ISZERO 000009c2: DUP1 000009c3: ISZERO 000009c4: PUSH2 0x09cc 000009c7: JUMPI 000009c8: PUSH1 0x00 000009ca: DUP1 000009cb: REVERT 000009cc: JUMPDEST 000009cd: POP 000009ce: GAS 000009cf: CALL 000009d0: ISZERO 000009d1: DUP1 000009d2: ISZERO 000009d3: PUSH2 0x080a 000009d6: JUMPI 000009d7: RETURNDATASIZE 000009d8: PUSH1 0x00 000009da: DUP1 000009db: RETURNDATACOPY 000009dc: RETURNDATASIZE 000009dd: PUSH1 0x00 000009df: REVERT 000009e0: JUMPDEST 000009e1: CALLVALUE 000009e2: DUP2 000009e3: EQ 000009e4: PUSH2 0x0a2f 000009e7: JUMPI 000009e8: PUSH1 0x40 000009ea: MLOAD 000009eb: PUSH3 0x461bcd 000009ef: PUSH1 0xe5 000009f1: SHL 000009f2: DUP2 000009f3: MSTORE 000009f4: PUSH1 0x20 000009f6: PUSH1 0x04 000009f8: DUP3 000009f9: ADD 000009fa: MSTORE 000009fb: PUSH1 0x1d 000009fd: PUSH1 0x24 000009ff: DUP3 00000a00: ADD 00000a01: MSTORE 00000a02: PUSH32 0x6d73672e76616c756520616e642064617461206d69736d617463686564000000 00000a23: PUSH1 0x44 00000a25: DUP3 00000a26: ADD 00000a27: MSTORE 00000a28: PUSH1 0x64 00000a2a: ADD 00000a2b: PUSH2 0x061c 00000a2e: JUMP 00000a2f: JUMPDEST 00000a30: DUP1 00000a31: PUSH1 0x06 00000a33: SLOAD 00000a34: PUSH2 0x0a3d 00000a37: SWAP2 00000a38: SWAP1 00000a39: PUSH2 0x1247 00000a3c: JUMP 00000a3d: JUMPDEST 00000a3e: SELFBALANCE 00000a3f: LT 00000a40: ISZERO 00000a41: PUSH2 0x0a84 00000a44: JUMPI 00000a45: PUSH1 0x40 00000a47: MLOAD 00000a48: PUSH3 0x461bcd 00000a4c: PUSH1 0xe5 00000a4e: SHL 00000a4f: DUP2 00000a50: MSTORE 00000a51: PUSH1 0x20 00000a53: PUSH1 0x04 00000a55: DUP3 00000a56: ADD 00000a57: MSTORE 00000a58: PUSH1 0x15 00000a5a: PUSH1 0x24 00000a5c: DUP3 00000a5d: ADD 00000a5e: MSTORE 00000a5f: PUSH21 0x11551214995cd95c9d99481b5a5cdb585d18da1959 00000a75: PUSH1 0x5a 00000a77: SHL 00000a78: PUSH1 0x44 00000a7a: DUP3 00000a7b: ADD 00000a7c: MSTORE 00000a7d: PUSH1 0x64 00000a7f: ADD 00000a80: PUSH2 0x061c 00000a83: JUMP 00000a84: JUMPDEST 00000a85: POP 00000a86: SELFBALANCE 00000a87: PUSH1 0x06 00000a89: SSTORE 00000a8a: JUMP 00000a8b: JUMPDEST 00000a8c: DUP4 00000a8d: PUSH2 0x0a98 00000a90: DUP2 00000a91: DUP6 00000a92: DUP6 00000a93: DUP6 00000a94: PUSH2 0x0cf1 00000a97: JUMP 00000a98: JUMPDEST 00000a99: POP 00000a9a: POP 00000a9b: POP 00000a9c: POP 00000a9d: POP 00000a9e: JUMP 00000a9f: JUMPDEST 00000aa0: PUSH1 0x00 00000aa2: SLOAD 00000aa3: PUSH2 0x0100 00000aa6: SWAP1 00000aa7: DIV 00000aa8: PUSH1 0xff 00000aaa: AND 00000aab: ISZERO 00000aac: DUP1 00000aad: DUP1 00000aae: ISZERO 00000aaf: PUSH2 0x0abf 00000ab2: JUMPI 00000ab3: POP 00000ab4: PUSH1 0x00 00000ab6: SLOAD 00000ab7: PUSH1 0x01 00000ab9: PUSH1 0xff 00000abb: SWAP1 00000abc: SWAP2 00000abd: AND 00000abe: LT 00000abf: JUMPDEST 00000ac0: DUP1 00000ac1: PUSH2 0x0ad9 00000ac4: JUMPI 00000ac5: POP 00000ac6: ADDRESS 00000ac7: EXTCODESIZE 00000ac8: ISZERO 00000ac9: DUP1 00000aca: ISZERO 00000acb: PUSH2 0x0ad9 00000ace: JUMPI 00000acf: POP 00000ad0: PUSH1 0x00 00000ad2: SLOAD 00000ad3: PUSH1 0xff 00000ad5: AND 00000ad6: PUSH1 0x01 00000ad8: EQ 00000ad9: JUMPDEST 00000ada: PUSH2 0x0af5 00000add: JUMPI 00000ade: PUSH1 0x40 00000ae0: MLOAD 00000ae1: PUSH3 0x461bcd 00000ae5: PUSH1 0xe5 00000ae7: SHL 00000ae8: DUP2 00000ae9: MSTORE 00000aea: PUSH1 0x04 00000aec: ADD 00000aed: PUSH2 0x061c 00000af0: SWAP1 00000af1: PUSH2 0x11c1 00000af4: JUMP 00000af5: JUMPDEST 00000af6: PUSH1 0x00 00000af8: DUP1 00000af9: SLOAD 00000afa: PUSH1 0xff 00000afc: NOT 00000afd: AND 00000afe: PUSH1 0x01 00000b00: OR 00000b01: SWAP1 00000b02: SSTORE 00000b03: DUP1 00000b04: ISZERO 00000b05: PUSH2 0x0b18 00000b08: JUMPI 00000b09: PUSH1 0x00 00000b0b: DUP1 00000b0c: SLOAD 00000b0d: PUSH2 0xff00 00000b10: NOT 00000b11: AND 00000b12: PUSH2 0x0100 00000b15: OR 00000b16: SWAP1 00000b17: SSTORE 00000b18: JUMPDEST 00000b19: PUSH1 0x00 00000b1b: DUP1 00000b1c: SLOAD 00000b1d: PUSH3 0x010000 00000b21: PUSH1 0x01 00000b23: PUSH1 0xb0 00000b25: SHL 00000b26: SUB 00000b27: NOT 00000b28: AND 00000b29: PUSH3 0x010000 00000b2d: PUSH1 0x01 00000b2f: PUSH1 0x01 00000b31: PUSH1 0xa0 00000b33: SHL 00000b34: SUB 00000b35: DUP6 00000b36: AND 00000b37: MUL 00000b38: OR 00000b39: SWAP1 00000b3a: SSTORE 00000b3b: DUP1 00000b3c: ISZERO 00000b3d: PUSH2 0x0453 00000b40: JUMPI 00000b41: PUSH1 0x00 00000b43: DUP1 00000b44: SLOAD 00000b45: PUSH2 0xff00 00000b48: NOT 00000b49: AND 00000b4a: SWAP1 00000b4b: SSTORE 00000b4c: PUSH1 0x40 00000b4e: MLOAD 00000b4f: PUSH1 0x01 00000b51: DUP2 00000b52: MSTORE 00000b53: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00000b74: SWAP1 00000b75: PUSH1 0x20 00000b77: ADD 00000b78: PUSH2 0x068f 00000b7b: JUMP 00000b7c: JUMPDEST 00000b7d: PUSH1 0x40 00000b7f: MLOAD 00000b80: PUSH4 0x40c10f19 00000b85: PUSH1 0xe0 00000b87: SHL 00000b88: DUP2 00000b89: MSTORE 00000b8a: PUSH1 0x01 00000b8c: PUSH1 0x01 00000b8e: PUSH1 0xa0 00000b90: SHL 00000b91: SUB 00000b92: DUP4 00000b93: DUP2 00000b94: AND 00000b95: PUSH1 0x04 00000b97: DUP4 00000b98: ADD 00000b99: MSTORE 00000b9a: PUSH1 0x24 00000b9c: DUP3 00000b9d: ADD 00000b9e: DUP4 00000b9f: SWAP1 00000ba0: MSTORE 00000ba1: DUP5 00000ba2: SWAP2 00000ba3: SWAP1 00000ba4: DUP3 00000ba5: AND 00000ba6: SWAP1 00000ba7: PUSH4 0x40c10f19 00000bac: SWAP1 00000bad: PUSH1 0x44 00000baf: ADD 00000bb0: PUSH2 0x09b2 00000bb3: JUMP 00000bb4: JUMPDEST 00000bb5: PUSH1 0x40 00000bb7: MLOAD 00000bb8: PUSH1 0x01 00000bba: PUSH1 0x01 00000bbc: PUSH1 0xa0 00000bbe: SHL 00000bbf: SUB 00000bc0: DUP4 00000bc1: AND 00000bc2: PUSH1 0x24 00000bc4: DUP3 00000bc5: ADD 00000bc6: MSTORE 00000bc7: PUSH1 0x44 00000bc9: DUP2 00000bca: ADD 00000bcb: DUP3 00000bcc: SWAP1 00000bcd: MSTORE 00000bce: PUSH2 0x0485 00000bd1: SWAP1 00000bd2: DUP5 00000bd3: SWAP1 00000bd4: PUSH4 0xa9059cbb 00000bd9: PUSH1 0xe0 00000bdb: SHL 00000bdc: SWAP1 00000bdd: PUSH1 0x64 00000bdf: ADD 00000be0: JUMPDEST 00000be1: PUSH1 0x40 00000be3: DUP1 00000be4: MLOAD 00000be5: PUSH1 0x1f 00000be7: NOT 00000be8: DUP2 00000be9: DUP5 00000bea: SUB 00000beb: ADD 00000bec: DUP2 00000bed: MSTORE 00000bee: SWAP2 00000bef: SWAP1 00000bf0: MSTORE 00000bf1: PUSH1 0x20 00000bf3: DUP2 00000bf4: ADD 00000bf5: DUP1 00000bf6: MLOAD 00000bf7: PUSH1 0x01 00000bf9: PUSH1 0x01 00000bfb: PUSH1 0xe0 00000bfd: SHL 00000bfe: SUB 00000bff: AND 00000c00: PUSH1 0x01 00000c02: PUSH1 0x01 00000c04: PUSH1 0xe0 00000c06: SHL 00000c07: SUB 00000c08: NOT 00000c09: SWAP1 00000c0a: SWAP4 00000c0b: AND 00000c0c: SWAP3 00000c0d: SWAP1 00000c0e: SWAP3 00000c0f: OR 00000c10: SWAP1 00000c11: SWAP2 00000c12: MSTORE 00000c13: PUSH2 0x0d29 00000c16: JUMP 00000c17: JUMPDEST 00000c18: PUSH1 0x40 00000c1a: DUP1 00000c1b: MLOAD 00000c1c: PUSH1 0x00 00000c1e: DUP1 00000c1f: DUP3 00000c20: MSTORE 00000c21: PUSH1 0x20 00000c23: DUP3 00000c24: ADD 00000c25: SWAP1 00000c26: SWAP3 00000c27: MSTORE 00000c28: PUSH1 0x01 00000c2a: PUSH1 0x01 00000c2c: PUSH1 0xa0 00000c2e: SHL 00000c2f: SUB 00000c30: DUP5 00000c31: AND 00000c32: SWAP1 00000c33: DUP4 00000c34: SWAP1 00000c35: PUSH1 0x40 00000c37: MLOAD 00000c38: PUSH2 0x0c41 00000c3b: SWAP2 00000c3c: SWAP1 00000c3d: PUSH2 0x12a0 00000c40: JUMP 00000c41: JUMPDEST 00000c42: PUSH1 0x00 00000c44: PUSH1 0x40 00000c46: MLOAD 00000c47: DUP1 00000c48: DUP4 00000c49: SUB 00000c4a: DUP2 00000c4b: DUP6 00000c4c: DUP8 00000c4d: GAS 00000c4e: CALL 00000c4f: SWAP3 00000c50: POP 00000c51: POP 00000c52: POP 00000c53: RETURNDATASIZE 00000c54: DUP1 00000c55: PUSH1 0x00 00000c57: DUP2 00000c58: EQ 00000c59: PUSH2 0x0c7e 00000c5c: JUMPI 00000c5d: PUSH1 0x40 00000c5f: MLOAD 00000c60: SWAP2 00000c61: POP 00000c62: PUSH1 0x1f 00000c64: NOT 00000c65: PUSH1 0x3f 00000c67: RETURNDATASIZE 00000c68: ADD 00000c69: AND 00000c6a: DUP3 00000c6b: ADD 00000c6c: PUSH1 0x40 00000c6e: MSTORE 00000c6f: RETURNDATASIZE 00000c70: DUP3 00000c71: MSTORE 00000c72: RETURNDATASIZE 00000c73: PUSH1 0x00 00000c75: PUSH1 0x20 00000c77: DUP5 00000c78: ADD 00000c79: RETURNDATACOPY 00000c7a: PUSH2 0x0c83 00000c7d: JUMP 00000c7e: JUMPDEST 00000c7f: PUSH1 0x60 00000c81: SWAP2 00000c82: POP 00000c83: JUMPDEST 00000c84: POP 00000c85: POP 00000c86: SWAP1 00000c87: POP 00000c88: DUP1 00000c89: PUSH2 0x0485 00000c8c: JUMPI 00000c8d: PUSH1 0x40 00000c8f: MLOAD 00000c90: PUSH3 0x461bcd 00000c94: PUSH1 0xe5 00000c96: SHL 00000c97: DUP2 00000c98: MSTORE 00000c99: PUSH1 0x20 00000c9b: PUSH1 0x04 00000c9d: DUP3 00000c9e: ADD 00000c9f: MSTORE 00000ca0: PUSH1 0x34 00000ca2: PUSH1 0x24 00000ca4: DUP3 00000ca5: ADD 00000ca6: MSTORE 00000ca7: PUSH32 0x5472616e7366657248656c7065723a3a736166655472616e736665724554483a 00000cc8: PUSH1 0x44 00000cca: DUP3 00000ccb: ADD 00000ccc: MSTORE 00000ccd: PUSH20 0x08115512081d1c985b9cd9995c8819985a5b1959 00000ce2: PUSH1 0x62 00000ce4: SHL 00000ce5: PUSH1 0x64 00000ce7: DUP3 00000ce8: ADD 00000ce9: MSTORE 00000cea: PUSH1 0x84 00000cec: ADD 00000ced: PUSH2 0x061c 00000cf0: JUMP 00000cf1: JUMPDEST 00000cf2: PUSH1 0x40 00000cf4: MLOAD 00000cf5: PUSH1 0x01 00000cf7: PUSH1 0x01 00000cf9: PUSH1 0xa0 00000cfb: SHL 00000cfc: SUB 00000cfd: DUP1 00000cfe: DUP6 00000cff: AND 00000d00: PUSH1 0x24 00000d02: DUP4 00000d03: ADD 00000d04: MSTORE 00000d05: DUP4 00000d06: AND 00000d07: PUSH1 0x44 00000d09: DUP3 00000d0a: ADD 00000d0b: MSTORE 00000d0c: PUSH1 0x64 00000d0e: DUP2 00000d0f: ADD 00000d10: DUP3 00000d11: SWAP1 00000d12: MSTORE 00000d13: PUSH2 0x03cb 00000d16: SWAP1 00000d17: DUP6 00000d18: SWAP1 00000d19: PUSH4 0x23b872dd 00000d1e: PUSH1 0xe0 00000d20: SHL 00000d21: SWAP1 00000d22: PUSH1 0x84 00000d24: ADD 00000d25: PUSH2 0x0be0 00000d28: JUMP 00000d29: JUMPDEST 00000d2a: DUP2 00000d2b: EXTCODESIZE 00000d2c: DUP1 00000d2d: PUSH2 0x0d70 00000d30: JUMPI 00000d31: PUSH1 0x40 00000d33: MLOAD 00000d34: PUSH3 0x461bcd 00000d38: PUSH1 0xe5 00000d3a: SHL 00000d3b: DUP2 00000d3c: MSTORE 00000d3d: PUSH1 0x20 00000d3f: PUSH1 0x04 00000d41: DUP3 00000d42: ADD 00000d43: MSTORE 00000d44: PUSH1 0x15 00000d46: PUSH1 0x24 00000d48: DUP3 00000d49: ADD 00000d4a: MSTORE 00000d4b: PUSH21 0x115490cc8c0e881b9bdd08184818dbdb9d1c9858dd 00000d61: PUSH1 0x5a 00000d63: SHL 00000d64: PUSH1 0x44 00000d66: DUP3 00000d67: ADD 00000d68: MSTORE 00000d69: PUSH1 0x64 00000d6b: ADD 00000d6c: PUSH2 0x061c 00000d6f: JUMP 00000d70: JUMPDEST 00000d71: PUSH1 0x00 00000d73: DUP1 00000d74: DUP5 00000d75: PUSH1 0x01 00000d77: PUSH1 0x01 00000d79: PUSH1 0xa0 00000d7b: SHL 00000d7c: SUB 00000d7d: AND 00000d7e: DUP5 00000d7f: PUSH1 0x40 00000d81: MLOAD 00000d82: PUSH2 0x0d8b 00000d85: SWAP2 00000d86: SWAP1 00000d87: PUSH2 0x12a0 00000d8a: JUMP 00000d8b: JUMPDEST 00000d8c: PUSH1 0x00 00000d8e: PUSH1 0x40 00000d90: MLOAD 00000d91: DUP1 00000d92: DUP4 00000d93: SUB 00000d94: DUP2 00000d95: PUSH1 0x00 00000d97: DUP7 00000d98: GAS 00000d99: CALL 00000d9a: SWAP2 00000d9b: POP 00000d9c: POP 00000d9d: RETURNDATASIZE 00000d9e: DUP1 00000d9f: PUSH1 0x00 00000da1: DUP2 00000da2: EQ 00000da3: PUSH2 0x0dc8 00000da6: JUMPI 00000da7: PUSH1 0x40 00000da9: MLOAD 00000daa: SWAP2 00000dab: POP 00000dac: PUSH1 0x1f 00000dae: NOT 00000daf: PUSH1 0x3f 00000db1: RETURNDATASIZE 00000db2: ADD 00000db3: AND 00000db4: DUP3 00000db5: ADD 00000db6: PUSH1 0x40 00000db8: MSTORE 00000db9: RETURNDATASIZE 00000dba: DUP3 00000dbb: MSTORE 00000dbc: RETURNDATASIZE 00000dbd: PUSH1 0x00 00000dbf: PUSH1 0x20 00000dc1: DUP5 00000dc2: ADD 00000dc3: RETURNDATACOPY 00000dc4: PUSH2 0x0dcd 00000dc7: JUMP 00000dc8: JUMPDEST 00000dc9: PUSH1 0x60 00000dcb: SWAP2 00000dcc: POP 00000dcd: JUMPDEST 00000dce: POP 00000dcf: SWAP2 00000dd0: POP 00000dd1: SWAP2 00000dd2: POP 00000dd3: DUP2 00000dd4: PUSH2 0x0e14 00000dd7: JUMPI 00000dd8: PUSH1 0x40 00000dda: MLOAD 00000ddb: PUSH3 0x461bcd 00000ddf: PUSH1 0xe5 00000de1: SHL 00000de2: DUP2 00000de3: MSTORE 00000de4: PUSH1 0x20 00000de6: PUSH1 0x04 00000de8: DUP3 00000de9: ADD 00000dea: MSTORE 00000deb: PUSH1 0x12 00000ded: PUSH1 0x24 00000def: DUP3 00000df0: ADD 00000df1: MSTORE 00000df2: PUSH18 0x115490cc8c0e8818d85b1b0819985a5b1959 00000e05: PUSH1 0x72 00000e07: SHL 00000e08: PUSH1 0x44 00000e0a: DUP3 00000e0b: ADD 00000e0c: MSTORE 00000e0d: PUSH1 0x64 00000e0f: ADD 00000e10: PUSH2 0x061c 00000e13: JUMP 00000e14: JUMPDEST 00000e15: DUP1 00000e16: MLOAD 00000e17: ISZERO 00000e18: PUSH2 0x0a98 00000e1b: JUMPI 00000e1c: DUP1 00000e1d: DUP1 00000e1e: PUSH1 0x20 00000e20: ADD 00000e21: SWAP1 00000e22: MLOAD 00000e23: DUP2 00000e24: ADD 00000e25: SWAP1 00000e26: PUSH2 0x0e2f 00000e29: SWAP2 00000e2a: SWAP1 00000e2b: PUSH2 0x12bc 00000e2e: JUMP 00000e2f: JUMPDEST 00000e30: PUSH2 0x0a98 00000e33: JUMPI 00000e34: PUSH1 0x40 00000e36: MLOAD 00000e37: PUSH3 0x461bcd 00000e3b: PUSH1 0xe5 00000e3d: SHL 00000e3e: DUP2 00000e3f: MSTORE 00000e40: PUSH1 0x20 00000e42: PUSH1 0x04 00000e44: DUP3 00000e45: ADD 00000e46: DUP2 00000e47: SWAP1 00000e48: MSTORE 00000e49: PUSH1 0x24 00000e4b: DUP3 00000e4c: ADD 00000e4d: MSTORE 00000e4e: PUSH32 0x45524332303a206f7065726174696f6e20646964206e6f742073756363656564 00000e6f: PUSH1 0x44 00000e71: DUP3 00000e72: ADD 00000e73: MSTORE 00000e74: PUSH1 0x64 00000e76: ADD 00000e77: PUSH2 0x061c 00000e7a: JUMP 00000e7b: JUMPDEST 00000e7c: PUSH1 0x01 00000e7e: PUSH1 0x01 00000e80: PUSH1 0xa0 00000e82: SHL 00000e83: SUB 00000e84: DUP2 00000e85: AND 00000e86: DUP2 00000e87: EQ 00000e88: PUSH2 0x0395 00000e8b: JUMPI 00000e8c: PUSH1 0x00 00000e8e: DUP1 00000e8f: REVERT 00000e90: JUMPDEST 00000e91: PUSH1 0x00 00000e93: PUSH1 0x20 00000e95: DUP3 00000e96: DUP5 00000e97: SUB 00000e98: SLT 00000e99: ISZERO 00000e9a: PUSH2 0x0ea2 00000e9d: JUMPI 00000e9e: PUSH1 0x00 00000ea0: DUP1 00000ea1: REVERT 00000ea2: JUMPDEST 00000ea3: DUP2 00000ea4: CALLDATALOAD 00000ea5: PUSH2 0x0ead 00000ea8: DUP2 00000ea9: PUSH2 0x0e7b 00000eac: JUMP 00000ead: JUMPDEST 00000eae: SWAP4 00000eaf: SWAP3 00000eb0: POP 00000eb1: POP 00000eb2: POP 00000eb3: JUMP 00000eb4: JUMPDEST 00000eb5: PUSH4 0x4e487b71 00000eba: PUSH1 0xe0 00000ebc: SHL 00000ebd: PUSH1 0x00 00000ebf: MSTORE 00000ec0: PUSH1 0x41 00000ec2: PUSH1 0x04 00000ec4: MSTORE 00000ec5: PUSH1 0x24 00000ec7: PUSH1 0x00 00000ec9: REVERT 00000eca: JUMPDEST 00000ecb: PUSH1 0x00 00000ecd: PUSH1 0x20 00000ecf: DUP3 00000ed0: DUP5 00000ed1: SUB 00000ed2: SLT 00000ed3: ISZERO 00000ed4: PUSH2 0x0edc 00000ed7: JUMPI 00000ed8: PUSH1 0x00 00000eda: DUP1 00000edb: REVERT 00000edc: JUMPDEST 00000edd: DUP2 00000ede: CALLDATALOAD 00000edf: PUSH8 0xffffffffffffffff 00000ee8: DUP1 00000ee9: DUP3 00000eea: GT 00000eeb: ISZERO 00000eec: PUSH2 0x0ef4 00000eef: JUMPI 00000ef0: PUSH1 0x00 00000ef2: DUP1 00000ef3: REVERT 00000ef4: JUMPDEST 00000ef5: DUP2 00000ef6: DUP5 00000ef7: ADD 00000ef8: SWAP2 00000ef9: POP 00000efa: DUP5 00000efb: PUSH1 0x1f 00000efd: DUP4 00000efe: ADD 00000eff: SLT 00000f00: PUSH2 0x0f08 00000f03: JUMPI 00000f04: PUSH1 0x00 00000f06: DUP1 00000f07: REVERT 00000f08: JUMPDEST 00000f09: DUP2 00000f0a: CALLDATALOAD 00000f0b: DUP2 00000f0c: DUP2 00000f0d: GT 00000f0e: ISZERO 00000f0f: PUSH2 0x0f1a 00000f12: JUMPI 00000f13: PUSH2 0x0f1a 00000f16: PUSH2 0x0eb4 00000f19: JUMP 00000f1a: JUMPDEST 00000f1b: PUSH1 0x40 00000f1d: MLOAD 00000f1e: PUSH1 0x1f 00000f20: DUP3 00000f21: ADD 00000f22: PUSH1 0x1f 00000f24: NOT 00000f25: SWAP1 00000f26: DUP2 00000f27: AND 00000f28: PUSH1 0x3f 00000f2a: ADD 00000f2b: AND 00000f2c: DUP2 00000f2d: ADD 00000f2e: SWAP1 00000f2f: DUP4 00000f30: DUP3 00000f31: GT 00000f32: DUP2 00000f33: DUP4 00000f34: LT 00000f35: OR 00000f36: ISZERO 00000f37: PUSH2 0x0f42 00000f3a: JUMPI 00000f3b: PUSH2 0x0f42 00000f3e: PUSH2 0x0eb4 00000f41: JUMP 00000f42: JUMPDEST 00000f43: DUP2 00000f44: PUSH1 0x40 00000f46: MSTORE 00000f47: DUP3 00000f48: DUP2 00000f49: MSTORE 00000f4a: DUP8 00000f4b: PUSH1 0x20 00000f4d: DUP5 00000f4e: DUP8 00000f4f: ADD 00000f50: ADD 00000f51: GT 00000f52: ISZERO 00000f53: PUSH2 0x0f5b 00000f56: JUMPI 00000f57: PUSH1 0x00 00000f59: DUP1 00000f5a: REVERT 00000f5b: JUMPDEST 00000f5c: DUP3 00000f5d: PUSH1 0x20 00000f5f: DUP7 00000f60: ADD 00000f61: PUSH1 0x20 00000f63: DUP4 00000f64: ADD 00000f65: CALLDATACOPY 00000f66: PUSH1 0x00 00000f68: SWAP3 00000f69: DUP2 00000f6a: ADD 00000f6b: PUSH1 0x20 00000f6d: ADD 00000f6e: SWAP3 00000f6f: SWAP1 00000f70: SWAP3 00000f71: MSTORE 00000f72: POP 00000f73: SWAP6 00000f74: SWAP5 00000f75: POP 00000f76: POP 00000f77: POP 00000f78: POP 00000f79: POP 00000f7a: JUMP 00000f7b: JUMPDEST 00000f7c: PUSH1 0x00 00000f7e: PUSH1 0x20 00000f80: DUP3 00000f81: DUP5 00000f82: SUB 00000f83: SLT 00000f84: ISZERO 00000f85: PUSH2 0x0f8d 00000f88: JUMPI 00000f89: PUSH1 0x00 00000f8b: DUP1 00000f8c: REVERT 00000f8d: JUMPDEST 00000f8e: POP 00000f8f: CALLDATALOAD 00000f90: SWAP2 00000f91: SWAP1 00000f92: POP 00000f93: JUMP 00000f94: JUMPDEST 00000f95: DUP1 00000f96: ISZERO 00000f97: ISZERO 00000f98: DUP2 00000f99: EQ 00000f9a: PUSH2 0x0395 00000f9d: JUMPI 00000f9e: PUSH1 0x00 00000fa0: DUP1 00000fa1: REVERT 00000fa2: JUMPDEST 00000fa3: PUSH1 0x00 00000fa5: DUP1 00000fa6: PUSH1 0x40 00000fa8: DUP4 00000fa9: DUP6 00000faa: SUB 00000fab: SLT 00000fac: ISZERO 00000fad: PUSH2 0x0fb5 00000fb0: JUMPI 00000fb1: PUSH1 0x00 00000fb3: DUP1 00000fb4: REVERT 00000fb5: JUMPDEST 00000fb6: DUP3 00000fb7: CALLDATALOAD 00000fb8: PUSH2 0x0fc0 00000fbb: DUP2 00000fbc: PUSH2 0x0e7b 00000fbf: JUMP 00000fc0: JUMPDEST 00000fc1: SWAP2 00000fc2: POP 00000fc3: PUSH1 0x20 00000fc5: DUP4 00000fc6: ADD 00000fc7: CALLDATALOAD 00000fc8: PUSH2 0x0fd0 00000fcb: DUP2 00000fcc: PUSH2 0x0f94 00000fcf: JUMP 00000fd0: JUMPDEST 00000fd1: DUP1 00000fd2: SWAP2 00000fd3: POP 00000fd4: POP 00000fd5: SWAP3 00000fd6: POP 00000fd7: SWAP3 00000fd8: SWAP1 00000fd9: POP 00000fda: JUMP 00000fdb: JUMPDEST 00000fdc: PUSH1 0x00 00000fde: DUP1 00000fdf: PUSH1 0x40 00000fe1: DUP4 00000fe2: DUP6 00000fe3: SUB 00000fe4: SLT 00000fe5: ISZERO 00000fe6: PUSH2 0x0fee 00000fe9: JUMPI 00000fea: PUSH1 0x00 00000fec: DUP1 00000fed: REVERT 00000fee: JUMPDEST 00000fef: DUP3 00000ff0: CALLDATALOAD 00000ff1: SWAP2 00000ff2: POP 00000ff3: PUSH1 0x20 00000ff5: DUP4 00000ff6: ADD 00000ff7: CALLDATALOAD 00000ff8: PUSH2 0x0fd0 00000ffb: DUP2 00000ffc: PUSH2 0x0e7b 00000fff: JUMP 00001000: JUMPDEST 00001001: PUSH1 0x00 00001003: DUP1 00001004: DUP4 00001005: PUSH1 0x1f 00001007: DUP5 00001008: ADD 00001009: SLT 0000100a: PUSH2 0x1012 0000100d: JUMPI 0000100e: PUSH1 0x00 00001010: DUP1 00001011: REVERT 00001012: JUMPDEST 00001013: POP 00001014: DUP2 00001015: CALLDATALOAD 00001016: PUSH8 0xffffffffffffffff 0000101f: DUP2 00001020: GT 00001021: ISZERO 00001022: PUSH2 0x102a 00001025: JUMPI 00001026: PUSH1 0x00 00001028: DUP1 00001029: REVERT 0000102a: JUMPDEST 0000102b: PUSH1 0x20 0000102d: DUP4 0000102e: ADD 0000102f: SWAP2 00001030: POP 00001031: DUP4 00001032: PUSH1 0x20 00001034: DUP3 00001035: DUP6 00001036: ADD 00001037: ADD 00001038: GT 00001039: ISZERO 0000103a: PUSH2 0x1042 0000103d: JUMPI 0000103e: PUSH1 0x00 00001040: DUP1 00001041: REVERT 00001042: JUMPDEST 00001043: SWAP3 00001044: POP 00001045: SWAP3 00001046: SWAP1 00001047: POP 00001048: JUMP 00001049: JUMPDEST 0000104a: PUSH1 0x00 0000104c: DUP1 0000104d: PUSH1 0x00 0000104f: DUP1 00001050: PUSH1 0x60 00001052: DUP6 00001053: DUP8 00001054: SUB 00001055: SLT 00001056: ISZERO 00001057: PUSH2 0x105f 0000105a: JUMPI 0000105b: PUSH1 0x00 0000105d: DUP1 0000105e: REVERT 0000105f: JUMPDEST 00001060: DUP5 00001061: CALLDATALOAD 00001062: SWAP4 00001063: POP 00001064: PUSH1 0x20 00001066: DUP6 00001067: ADD 00001068: CALLDATALOAD 00001069: PUSH2 0x1071 0000106c: DUP2 0000106d: PUSH2 0x0e7b 00001070: JUMP 00001071: JUMPDEST 00001072: SWAP3 00001073: POP 00001074: PUSH1 0x40 00001076: DUP6 00001077: ADD 00001078: CALLDATALOAD 00001079: PUSH8 0xffffffffffffffff 00001082: DUP2 00001083: GT 00001084: ISZERO 00001085: PUSH2 0x108d 00001088: JUMPI 00001089: PUSH1 0x00 0000108b: DUP1 0000108c: REVERT 0000108d: JUMPDEST 0000108e: PUSH2 0x1099 00001091: DUP8 00001092: DUP3 00001093: DUP9 00001094: ADD 00001095: PUSH2 0x1000 00001098: JUMP 00001099: JUMPDEST 0000109a: SWAP6 0000109b: SWAP9 0000109c: SWAP5 0000109d: SWAP8 0000109e: POP 0000109f: SWAP6 000010a0: POP 000010a1: POP 000010a2: POP 000010a3: POP 000010a4: JUMP 000010a5: JUMPDEST 000010a6: PUSH1 0x00 000010a8: JUMPDEST 000010a9: DUP4 000010aa: DUP2 000010ab: LT 000010ac: ISZERO 000010ad: PUSH2 0x10c0 000010b0: JUMPI 000010b1: DUP2 000010b2: DUP2 000010b3: ADD 000010b4: MLOAD 000010b5: DUP4 000010b6: DUP3 000010b7: ADD 000010b8: MSTORE 000010b9: PUSH1 0x20 000010bb: ADD 000010bc: PUSH2 0x10a8 000010bf: JUMP 000010c0: JUMPDEST 000010c1: DUP4 000010c2: DUP2 000010c3: GT 000010c4: ISZERO 000010c5: PUSH2 0x03cb 000010c8: JUMPI 000010c9: POP 000010ca: POP 000010cb: PUSH1 0x00 000010cd: SWAP2 000010ce: ADD 000010cf: MSTORE 000010d0: JUMP 000010d1: JUMPDEST 000010d2: PUSH1 0x20 000010d4: DUP2 000010d5: MSTORE 000010d6: PUSH1 0x00 000010d8: DUP3 000010d9: MLOAD 000010da: DUP1 000010db: PUSH1 0x20 000010dd: DUP5 000010de: ADD 000010df: MSTORE 000010e0: PUSH2 0x10f0 000010e3: DUP2 000010e4: PUSH1 0x40 000010e6: DUP6 000010e7: ADD 000010e8: PUSH1 0x20 000010ea: DUP8 000010eb: ADD 000010ec: PUSH2 0x10a5 000010ef: JUMP 000010f0: JUMPDEST 000010f1: PUSH1 0x1f 000010f3: ADD 000010f4: PUSH1 0x1f 000010f6: NOT 000010f7: AND 000010f8: SWAP2 000010f9: SWAP1 000010fa: SWAP2 000010fb: ADD 000010fc: PUSH1 0x40 000010fe: ADD 000010ff: SWAP3 00001100: SWAP2 00001101: POP 00001102: POP 00001103: JUMP 00001104: JUMPDEST 00001105: PUSH1 0x00 00001107: DUP1 00001108: PUSH1 0x00 0000110a: PUSH1 0x40 0000110c: DUP5 0000110d: DUP7 0000110e: SUB 0000110f: SLT 00001110: ISZERO 00001111: PUSH2 0x1119 00001114: JUMPI 00001115: PUSH1 0x00 00001117: DUP1 00001118: REVERT 00001119: JUMPDEST 0000111a: DUP4 0000111b: CALLDATALOAD 0000111c: SWAP3 0000111d: POP 0000111e: PUSH1 0x20 00001120: DUP5 00001121: ADD 00001122: CALLDATALOAD 00001123: PUSH8 0xffffffffffffffff 0000112c: DUP2 0000112d: GT 0000112e: ISZERO 0000112f: PUSH2 0x1137 00001132: JUMPI 00001133: PUSH1 0x00 00001135: DUP1 00001136: REVERT 00001137: JUMPDEST 00001138: PUSH2 0x1143 0000113b: DUP7 0000113c: DUP3 0000113d: DUP8 0000113e: ADD 0000113f: PUSH2 0x1000 00001142: JUMP 00001143: JUMPDEST 00001144: SWAP5 00001145: SWAP8 00001146: SWAP1 00001147: SWAP7 00001148: POP 00001149: SWAP4 0000114a: SWAP5 0000114b: POP 0000114c: POP 0000114d: POP 0000114e: POP 0000114f: JUMP 00001150: JUMPDEST 00001151: PUSH1 0x00 00001153: DUP1 00001154: PUSH1 0x00 00001156: PUSH1 0x60 00001158: DUP5 00001159: DUP7 0000115a: SUB 0000115b: SLT 0000115c: ISZERO 0000115d: PUSH2 0x1165 00001160: JUMPI 00001161: PUSH1 0x00 00001163: DUP1 00001164: REVERT 00001165: JUMPDEST 00001166: DUP4 00001167: MLOAD 00001168: PUSH2 0x1170 0000116b: DUP2 0000116c: PUSH2 0x0e7b 0000116f: JUMP 00001170: JUMPDEST 00001171: PUSH1 0x20 00001173: DUP6 00001174: ADD 00001175: MLOAD 00001176: SWAP1 00001177: SWAP4 00001178: POP 00001179: PUSH2 0x1181 0000117c: DUP2 0000117d: PUSH2 0x0e7b 00001180: JUMP 00001181: JUMPDEST 00001182: DUP1 00001183: SWAP3 00001184: POP 00001185: POP 00001186: PUSH1 0x40 00001188: DUP5 00001189: ADD 0000118a: MLOAD 0000118b: SWAP1 0000118c: POP 0000118d: SWAP3 0000118e: POP 0000118f: SWAP3 00001190: POP 00001191: SWAP3 00001192: JUMP 00001193: JUMPDEST 00001194: PUSH1 0x00 00001196: DUP1 00001197: PUSH1 0x40 00001199: DUP4 0000119a: DUP6 0000119b: SUB 0000119c: SLT 0000119d: ISZERO 0000119e: PUSH2 0x11a6 000011a1: JUMPI 000011a2: PUSH1 0x00 000011a4: DUP1 000011a5: REVERT 000011a6: JUMPDEST 000011a7: DUP3 000011a8: MLOAD 000011a9: PUSH2 0x11b1 000011ac: DUP2 000011ad: PUSH2 0x0e7b 000011b0: JUMP 000011b1: JUMPDEST 000011b2: PUSH1 0x20 000011b4: SWAP4 000011b5: SWAP1 000011b6: SWAP4 000011b7: ADD 000011b8: MLOAD 000011b9: SWAP3 000011ba: SWAP5 000011bb: SWAP3 000011bc: SWAP4 000011bd: POP 000011be: POP 000011bf: POP 000011c0: JUMP 000011c1: JUMPDEST 000011c2: PUSH1 0x20 000011c4: DUP1 000011c5: DUP3 000011c6: MSTORE 000011c7: PUSH1 0x2e 000011c9: SWAP1 000011ca: DUP3 000011cb: ADD 000011cc: MSTORE 000011cd: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 000011ee: PUSH1 0x40 000011f0: DUP3 000011f1: ADD 000011f2: MSTORE 000011f3: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00001202: PUSH1 0x92 00001204: SHL 00001205: PUSH1 0x60 00001207: DUP3 00001208: ADD 00001209: MSTORE 0000120a: PUSH1 0x80 0000120c: ADD 0000120d: SWAP1 0000120e: JUMP 0000120f: JUMPDEST 00001210: PUSH1 0x00 00001212: DUP1 00001213: PUSH1 0x40 00001215: DUP4 00001216: DUP6 00001217: SUB 00001218: SLT 00001219: ISZERO 0000121a: PUSH2 0x1222 0000121d: JUMPI 0000121e: PUSH1 0x00 00001220: DUP1 00001221: REVERT 00001222: JUMPDEST 00001223: POP 00001224: POP 00001225: DUP1 00001226: CALLDATALOAD 00001227: SWAP3 00001228: PUSH1 0x20 0000122a: SWAP1 0000122b: SWAP2 0000122c: ADD 0000122d: CALLDATALOAD 0000122e: SWAP2 0000122f: POP 00001230: JUMP 00001231: JUMPDEST 00001232: PUSH4 0x4e487b71 00001237: PUSH1 0xe0 00001239: SHL 0000123a: PUSH1 0x00 0000123c: MSTORE 0000123d: PUSH1 0x11 0000123f: PUSH1 0x04 00001241: MSTORE 00001242: PUSH1 0x24 00001244: PUSH1 0x00 00001246: REVERT 00001247: JUMPDEST 00001248: PUSH1 0x00 0000124a: DUP3 0000124b: NOT 0000124c: DUP3 0000124d: GT 0000124e: ISZERO 0000124f: PUSH2 0x125a 00001252: JUMPI 00001253: PUSH2 0x125a 00001256: PUSH2 0x1231 00001259: JUMP 0000125a: JUMPDEST 0000125b: POP 0000125c: ADD 0000125d: SWAP1 0000125e: JUMP 0000125f: JUMPDEST 00001260: PUSH1 0x00 00001262: DUP1 00001263: DUP6 00001264: DUP6 00001265: GT 00001266: ISZERO 00001267: PUSH2 0x126f 0000126a: JUMPI 0000126b: PUSH1 0x00 0000126d: DUP1 0000126e: REVERT 0000126f: JUMPDEST 00001270: DUP4 00001271: DUP7 00001272: GT 00001273: ISZERO 00001274: PUSH2 0x127c 00001277: JUMPI 00001278: PUSH1 0x00 0000127a: DUP1 0000127b: REVERT 0000127c: JUMPDEST 0000127d: POP 0000127e: POP 0000127f: DUP3 00001280: ADD 00001281: SWAP4 00001282: SWAP2 00001283: SWAP1 00001284: SWAP3 00001285: SUB 00001286: SWAP2 00001287: POP 00001288: JUMP 00001289: JUMPDEST 0000128a: PUSH1 0x00 0000128c: DUP3 0000128d: DUP3 0000128e: LT 0000128f: ISZERO 00001290: PUSH2 0x129b 00001293: JUMPI 00001294: PUSH2 0x129b 00001297: PUSH2 0x1231 0000129a: JUMP 0000129b: JUMPDEST 0000129c: POP 0000129d: SUB 0000129e: SWAP1 0000129f: JUMP 000012a0: JUMPDEST 000012a1: PUSH1 0x00 000012a3: DUP3 000012a4: MLOAD 000012a5: PUSH2 0x12b2 000012a8: DUP2 000012a9: DUP5 000012aa: PUSH1 0x20 000012ac: DUP8 000012ad: ADD 000012ae: PUSH2 0x10a5 000012b1: JUMP 000012b2: JUMPDEST 000012b3: SWAP2 000012b4: SWAP1 000012b5: SWAP2 000012b6: ADD 000012b7: SWAP3 000012b8: SWAP2 000012b9: POP 000012ba: POP 000012bb: JUMP 000012bc: JUMPDEST 000012bd: PUSH1 0x00 000012bf: PUSH1 0x20 000012c1: DUP3 000012c2: DUP5 000012c3: SUB 000012c4: SLT 000012c5: ISZERO 000012c6: PUSH2 0x12ce 000012c9: JUMPI 000012ca: PUSH1 0x00 000012cc: DUP1 000012cd: REVERT 000012ce: JUMPDEST 000012cf: DUP2 000012d0: MLOAD 000012d1: PUSH2 0x0ead 000012d4: DUP2 000012d5: PUSH2 0x0f94 000012d8: JUMP 000012d9: INVALID 000012da: LOG2 000012db: PUSH5 0x6970667358 000012e1: UNKNOWN(0x22) 000012e2: SLT 000012e3: KECCAK256 000012e4: PUSH14 0x6e3a51fe324eea35682ba181c612 000012f3: TIMESTAMP 000012f4: GAS 000012f5: TSTORE 000012f6: DELEGATECALL 000012f7: DUP9 000012f8: PUSH21 0x3b994381a96276aa6947ae64736f6c634300080b00 0000130e: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x9ea07b1970c55356a9c9f3b10e30bf7305de15f685cf5f3bb4ebb1d22daafc47
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x9ea07b1970c55356a9c9f3b10e30bf7305de15f685cf5f3bb4ebb1d22daafc47",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc8ba6c87",
"selector": "0xc8ba6c87",
"calldata_variants": [
"0xc8ba6c87",
"0xc8ba6c870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddafda46",
"selector": "0xddafda46",
"calldata_variants": [
"0xddafda46",
"0xddafda460000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe248cff2",
"selector": "0xe248cff2",
"calldata_variants": [
"0xe248cff2",
"0xe248cff20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab5c7bf1",
"selector": "0xab5c7bf1",
"calldata_variants": [
"0xab5c7bf1",
"0xab5c7bf10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb07e54bb",
"selector": "0xb07e54bb",
"calldata_variants": [
"0xb07e54bb",
"0xb07e54bb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb2b8b5dd",
"selector": "0xb2b8b5dd",
"calldata_variants": [
"0xb2b8b5dd",
"0xb2b8b5dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb8fa3736",
"selector": "0xb8fa3736",
"calldata_variants": [
"0xb8fa3736",
"0xb8fa37360000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4854,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x077e19813a3d914cb7de1417d296e93f007ba4220303abeb315c52b4a251fac6
call_targets:
0x3de3826f4d28cf8bbc854c34a16753e9150422a8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x077e19813a3d914cb7de1417d296e93f007ba4220303abeb315c52b4a251fac6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3de3826f4d28cf8bbc854c34a16753e9150422a8"
],
"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": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc8ba6c87",
"selector": "0xc8ba6c87",
"calldata_variants": [
"0xc8ba6c87",
"0xc8ba6c870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddafda46",
"selector": "0xddafda46",
"calldata_variants": [
"0xddafda46",
"0xddafda460000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe248cff2",
"selector": "0xe248cff2",
"calldata_variants": [
"0xe248cff2",
"0xe248cff20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab5c7bf1",
"selector": "0xab5c7bf1",
"calldata_variants": [
"0xab5c7bf1",
"0xab5c7bf10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb07e54bb",
"selector": "0xb07e54bb",
"calldata_variants": [
"0xb07e54bb",
"0xb07e54bb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb2b8b5dd",
"selector": "0xb2b8b5dd",
"calldata_variants": [
"0xb2b8b5dd",
"0xb2b8b5dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb8fa3736",
"selector": "0xb8fa3736",
"calldata_variants": [
"0xb8fa3736",
"0xb8fa37360000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2511,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3150,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3481,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x077e19813a3d914cb7de1417d296e93f007ba4220303abeb315c52b4a251fac6
call_targets:
0x3de3826f4d28cf8bbc854c34a16753e9150422a8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x077e19813a3d914cb7de1417d296e93f007ba4220303abeb315c52b4a251fac6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3de3826f4d28cf8bbc854c34a16753e9150422a8"
],
"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": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc8ba6c87",
"selector": "0xc8ba6c87",
"calldata_variants": [
"0xc8ba6c87",
"0xc8ba6c870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddafda46",
"selector": "0xddafda46",
"calldata_variants": [
"0xddafda46",
"0xddafda460000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe248cff2",
"selector": "0xe248cff2",
"calldata_variants": [
"0xe248cff2",
"0xe248cff20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab5c7bf1",
"selector": "0xab5c7bf1",
"calldata_variants": [
"0xab5c7bf1",
"0xab5c7bf10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb07e54bb",
"selector": "0xb07e54bb",
"calldata_variants": [
"0xb07e54bb",
"0xb07e54bb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb2b8b5dd",
"selector": "0xb2b8b5dd",
"calldata_variants": [
"0xb2b8b5dd",
"0xb2b8b5dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb8fa3736",
"selector": "0xb8fa3736",
"calldata_variants": [
"0xb8fa3736",
"0xb8fa37360000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2511,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3150,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3481,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|