b479bfda-eb37-43d5-85e2-1aa5c65f698f
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 |
|---|---|---|---|---|
| 30523 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 103997 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 103998 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 103999 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 104000 | capability.graph | complete | 1 / 3 | 1 week ago |
| 104001 | detector.run | complete | 1 / 3 | 1 week ago |
| 104002 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:581875] OpenAI Codex v0.77.0 (research preview)
[codex:581875] --------
[codex:581875] workdir: /tmp/codex-multi-kmss4gaz
[codex:581875] model: gpt-5.2-codex
[codex:581875] provider: openai
[codex:581875] approval: never
[codex:581875] sandbox: read-only
[codex:581875] reasoning effort: xhigh
[codex:581875] reasoning summaries: auto
[codex:581875] session id: 019b6ae5-9dea-7f30-a0ca-41f1fb69b1b7
[codex:581875] --------
[codex:581875] user
[codex:581875] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:581875] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:581875] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:581875]
[codex:581875] Scope rules:
[codex:581875] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:581875] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:581875]
[codex:581875] Output MUST be valid JSON matching the provided schema.
[codex:581875] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:581875] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:581875]
[codex:581875] Output constraints (IMPORTANT):
[codex:581875] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:581875] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:581875] mcp startup: no servers
[codex:581875]
[codex:581875] thinking
[codex:581875] **Planning to read AUDIT_BUNDLE.txt**
[codex:581875] exec
[codex:581875] /bin/bash -lc ls in /tmp/codex-multi-kmss4gaz succeeded in 6ms:
[codex:581875] AUDIT_BUNDLE.txt
[codex:581875] codex-output-schema.json
[codex:581875] contracts
[codex:581875]
[codex:581875] thinking
[codex:581875] **Reading AUDIT_BUNDLE.txt**
[codex:581875] exec
[codex:581875] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-kmss4gaz succeeded in 5ms:
[codex:581875] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:581875]
[codex:581875] ================================================================================
[codex:581875] FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:581875] ================================================================================
[codex:581875] // SPDX-License-Identifier: MIT
[codex:581875]
[codex:581875] pragma solidity >=0.6.0 <0.8.0;
[codex:581875]
[codex:581875] import "../utils/ContextUpgradeable.sol";
[codex:581875] import "../proxy/Initializable.sol";
[codex:581875] /**
[codex:581875] * @dev Contract module which provides a basic access control mechanism, where
[codex:581875] * there is an account (an owner) that can be granted exclusive access to
[codex:581875] * specific functions.
[codex:581875] *
[codex:581875] * By default, the owner account will be the one that deploys the contract. This
[codex:581875] * can later be changed with {transferOwnership}.
[codex:581875] *
[codex:581875] * This module is used through inheritance. It will make available the modifier
[codex:581875]
[codex:581875] thinking
[codex:581875] **Inspecting AUDIT_BUNDLE contents**
[codex:581875] exec
[codex:581875] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-kmss4gaz succeeded in 11ms:
[codex:581875] 4:FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:581875] 83:FILE: contracts/@openzeppelin/contracts-upgradeable/math/MathUpgradeable.sol
[codex:581875] 118:FILE: contracts/@openzeppelin/contracts-upgradeable/math/SafeMathUpgradeable.sol
[codex:581875] 336:FILE: contracts/@openzeppelin/contracts-upgradeable/proxy/Initializable.sol
[codex:581875] 395:FILE: contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol
[codex:581875] 712:FILE: contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol
[codex:581875] 793:FILE: contracts/@openzeppelin/contracts-upgradeable/token/ERC20/SafeERC20Upgradeable.sol
[codex:581875] 872:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
[codex:581875] 1041:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
[codex:581875] 1077:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol
[codex:581875] 1178:FILE: contracts/contracts/fxPortal/IFxStateSender.sol
[codex:581875] 1188:FILE: contracts/contracts/interfaces/ILiquidityPool.sol
[codex:581875] 1261:FILE: contracts/contracts/interfaces/IManager.sol
[codex:581875] 1380:FILE: contracts/contracts/interfaces/events/BalanceUpdateEvent.sol
[codex:581875] 1394:FILE: contracts/contracts/interfaces/events/Destinations.sol
[codex:581875] 1406:FILE: contracts/contracts/pools/Pool.sol
[codex:581875]
[codex:581875]
[codex:581875]
[codex:581875]
[codex:581875] thinking
[codex:581875] **Analyzing Pool contract for vulnerabilities**
[codex:581875] thinking
[codex:581875] **Detailing deposit and proxy initialization concerns**
[codex:581875]
[codex:581875] I’m noting that minting before transferring underlying can cause undercollateralization with fee-on-transfer tokens, which is a serious accounting mismatch. Also, the public initialize function without access control risks uninitialized proxy takeover if not called during deployment—a common upgradeable contract pitfall worth flagging here.
[codex:581875] thinking
[codex:581875] **Highlighting proxy initialization and token handling issues**
[codex:581875]
[codex:581875] I’m outlining that failing to initialize the proxy atomically allows anyone to seize control by calling initialize, which is a serious upgradeability risk. Also, depositing fee-on-transfer tokens causes incorrect accounting since minted tokens assume full amount received, leading to potential insolvency. Lastly, external calls during transfers could trigger reentrancy or DoS if the event sender contract misbehaves, though these rely on trusted owner configurations.
[codex:581875] thinking
[codex:581875] **Evaluating reentrancy paths and state consistency**
[codex:581875]
[codex:581875] I'm examining how reentrancy via malicious token hooks could affect withheldLiquidity and whether transfer and withdrawal logic maintains consistency during such calls. While some complex interactions exist, they rely on allowances and owner-controlled settings, limiting exploitability. I’m also weighing misconfiguration risks around public initialization and fee-on-transfer token handling to ensure findings are meaningful yet accurate.
[codex:581875] exec
[codex:581875] /bin/bash -lc 'rg -n "function initialize|function _deposit" -n contracts/contracts/pools/Pool.sol' in /tmp/codex-multi-kmss4gaz succeeded in 8ms:
[codex:581875] 51: function initialize(
[codex:581875] 228: function _deposit(
[codex:581875]
[codex:581875] thinking
[codex:581875] **Preparing to show code context with line numbers**
[codex:581875] exec
[codex:581875] /bin/bash -lc "nl -ba contracts/contracts/pools/Pool.sol | sed -n '45,90p'" in /tmp/codex-multi-kmss4gaz succeeded in 6ms:
[codex:581875] 45 modifier onEventSend() {
[codex:581875] 46 if(_eventSend) {
[codex:581875] 47 _;
[codex:581875] 48 }
[codex:581875] 49 }
[codex:581875] 50
[codex:581875] 51 function initialize(
[codex:581875] 52 ERC20 _underlyer,
[codex:581875] 53 IManager _manager,
[codex:581875] 54 string memory _name,
[codex:581875] 55 string memory _symbol
[codex:581875] 56 ) public initializer {
[codex:581875] 57 require(address(_underlyer) != address(0), "ZERO_ADDRESS");
[codex:581875] 58 require(address(_manager) != address(0), "ZERO_ADDRESS");
[codex:581875] 59
[codex:581875] 60 __Context_init_unchained();
[codex:581875] 61 __Ownable_init_unchained();
[codex:581875] 62 __Pausable_init_unchained();
[codex:581875] 63 __ERC20_init_unchained(_name, _symbol);
[codex:581875] 64
[codex:581875]
[codex:581875] thinking
[codex:581875] **Reviewing _deposit lines**
[codex:581875] exec
[codex:581875] /bin/bash -lc "nl -ba contracts/contracts/pools/Pool.sol | sed -n '220,270p'" in /tmp/codex-multi-kmss4gaz succeeded in 6ms:
[codex:581875] 220 }
[codex:581875] 221
[codex:581875] 222 function setEventSend(bool _eventSendSet) external override onlyOwner {
[codex:581875] 223 _eventSend = _eventSendSet;
[codex:581875] 224
[codex:581875] 225 emit EventSendSet(_eventSendSet);
[codex:581875] 226 }
[codex:581875] 227
[codex:581875] 228 function _deposit(
[codex:581875] 229 address fromAccount,
[codex:581875] 230 address toAccount,
[codex:581875] 231 uint256 amount
[codex:581875] 232 ) internal {
[codex:581875] 233 require(amount > 0, "INVALID_AMOUNT");
[codex:581875] 234 require(toAccount != address(0), "INVALID_ADDRESS");
[codex:581875] 235
[codex:581875] 236 _mint(toAccount, amount);
[codex:581875] 237 underlyer.safeTransferFrom(fromAccount, address(this), amount);
[codex:581875] 238
[codex:581875] 239 bytes32 eventSig = "Deposit";
[codex:581875]
[codex:581875] thinking
[codex:581875] **Preparing JSON report structure and findings**
[codex:581875] exec
[codex:581875] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-kmss4gaz succeeded in 5ms:
[codex:581875] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:581875]
[codex:581875] thinking
[codex:581875] **Summarizing audit findings in JSON**
[codex:581875]
[codex:581875] I'll prepare a concise JSON report with two findings: one about an unprotected initializer vulnerable to front-running on uninitialized proxies, and another about deposits incorrectly assuming 1:1 token transfers causing under-collateralization with fee-on-transfer tokens. I’ll ensure all fields and formatting meet JSON standards without extra commentary.
[codex:581875] codex
[codex:581875] {"no_findings":false,"summary":"Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.","findings":[{"severity":"medium","category":"upgradeability","title":"Initializer callable by anyone if proxy is left uninitialized","exploit_scenario":"If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager.","recommendation":"Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.","evidence":"`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.","locations":["contracts/contracts/pools/Pool.sol:51"]},{"severity":"low","category":"other","title":"Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens","exploit_scenario":"If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available.","recommendation":"Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.","evidence":"`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).","locations":["contracts/contracts/pools/Pool.sol:228"]}]}
[codex:581875] tokens used
[codex:581875] 50,043
[codex:581875] {"no_findings":false,"summary":"Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.","findings":[{"severity":"medium","category":"upgradeability","title":"Initializer callable by anyone if proxy is left uninitialized","exploit_scenario":"If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager.","recommendation":"Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.","evidence":"`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.","locations":["contracts/contracts/pools/Pool.sol:51"]},{"severity":"low","category":"other","title":"Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens","exploit_scenario":"If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available.","recommendation":"Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.","evidence":"`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).","locations":["contracts/contracts/pools/Pool.sol:228"]}]}
{
"codex": {
"ran_at": "2025-12-29T16:21:58.426337+00:00",
"returncode": 0
},
"summary": "Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.",
"raw_final": {
"summary": "Identified 2 issues: an unprotected initializer that can be front-run on an uninitialized proxy and a deposit accounting assumption that breaks with fee-on-transfer/rebasing underlyers.",
"findings": [
{
"title": "Initializer callable by anyone if proxy is left uninitialized",
"category": "upgradeability",
"evidence": "`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.",
"severity": "medium",
"locations": [
"contracts/contracts/pools/Pool.sol:51"
],
"recommendation": "Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.",
"exploit_scenario": "If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager."
},
{
"title": "Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens",
"category": "other",
"evidence": "`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).",
"severity": "low",
"locations": [
"contracts/contracts/pools/Pool.sol:228"
],
"recommendation": "Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.",
"exploit_scenario": "If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x01e5 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x715018a6 00000026: GT 00000027: PUSH2 0x010f 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0x9ee679e8 00000031: GT 00000032: PUSH2 0x00a2 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xbb582d80 0000003c: GT 0000003d: PUSH2 0x0071 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xbb582d80 00000047: EQ 00000048: PUSH2 0x03ab 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xdd62ed3e 00000052: EQ 00000053: PUSH2 0x03cc 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xe912b5ee 0000005d: EQ 0000005e: PUSH2 0x03df 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xf2fde38b 00000068: EQ 00000069: PUSH2 0x03f2 0000006c: JUMPI 0000006d: PUSH2 0x01e5 00000070: JUMP 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0x9ee679e8 00000078: EQ 00000079: PUSH2 0x035f 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xa457c2d7 00000083: EQ 00000084: PUSH2 0x0372 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xa9059cbb 0000008e: EQ 0000008f: PUSH2 0x0385 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xb6b55f25 00000099: EQ 0000009a: PUSH2 0x0398 0000009d: JUMPI 0000009e: PUSH2 0x01e5 000000a1: JUMP 000000a2: JUMPDEST 000000a3: DUP1 000000a4: PUSH4 0x8456cb59 000000a9: GT 000000aa: PUSH2 0x00de 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x8456cb59 000000b4: EQ 000000b5: PUSH2 0x0331 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x8d17b383 000000bf: EQ 000000c0: PUSH2 0x0339 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x8da5cb5b 000000ca: EQ 000000cb: PUSH2 0x034f 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x95d89b41 000000d5: EQ 000000d6: PUSH2 0x0357 000000d9: JUMPI 000000da: PUSH2 0x01e5 000000dd: JUMP 000000de: JUMPDEST 000000df: DUP1 000000e0: PUSH4 0x715018a6 000000e5: EQ 000000e6: PUSH2 0x0306 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x7758f3fa 000000f0: EQ 000000f1: PUSH2 0x030e 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0x7d6eae72 000000fb: EQ 000000fc: PUSH2 0x0316 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0x80e702da 00000106: EQ 00000107: PUSH2 0x0329 0000010a: JUMPI 0000010b: PUSH2 0x01e5 0000010e: JUMP 0000010f: JUMPDEST 00000110: DUP1 00000111: PUSH4 0x2f4f21e2 00000116: GT 00000117: PUSH2 0x0187 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x481c6a75 00000121: GT 00000122: PUSH2 0x0156 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x481c6a75 0000012c: EQ 0000012d: PUSH2 0x02ce 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x5842f88c 00000137: EQ 00000138: PUSH2 0x02e3 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0x5c975abb 00000142: EQ 00000143: PUSH2 0x02eb 00000146: JUMPI 00000147: DUP1 00000148: PUSH4 0x70a08231 0000014d: EQ 0000014e: PUSH2 0x02f3 00000151: JUMPI 00000152: PUSH2 0x01e5 00000155: JUMP 00000156: JUMPDEST 00000157: DUP1 00000158: PUSH4 0x2f4f21e2 0000015d: EQ 0000015e: PUSH2 0x028b 00000161: JUMPI 00000162: DUP1 00000163: PUSH4 0x313ce567 00000168: EQ 00000169: PUSH2 0x029e 0000016c: JUMPI 0000016d: DUP1 0000016e: PUSH4 0x39509351 00000173: EQ 00000174: PUSH2 0x02b3 00000177: JUMPI 00000178: DUP1 00000179: PUSH4 0x3f4ba83a 0000017e: EQ 0000017f: PUSH2 0x02c6 00000182: JUMPI 00000183: PUSH2 0x01e5 00000186: JUMP 00000187: JUMPDEST 00000188: DUP1 00000189: PUSH4 0x18160ddd 0000018e: GT 0000018f: PUSH2 0x01c3 00000192: JUMPI 00000193: DUP1 00000194: PUSH4 0x18160ddd 00000199: EQ 0000019a: PUSH2 0x023d 0000019d: JUMPI 0000019e: DUP1 0000019f: PUSH4 0x2016a0d2 000001a4: EQ 000001a5: PUSH2 0x0252 000001a8: JUMPI 000001a9: DUP1 000001aa: PUSH4 0x23b872dd 000001af: EQ 000001b0: PUSH2 0x0265 000001b3: JUMPI 000001b4: DUP1 000001b5: PUSH4 0x2e1a7d4d 000001ba: EQ 000001bb: PUSH2 0x0278 000001be: JUMPI 000001bf: PUSH2 0x01e5 000001c2: JUMP 000001c3: JUMPDEST 000001c4: DUP1 000001c5: PUSH4 0x020935c5 000001ca: EQ 000001cb: PUSH2 0x01ea 000001ce: JUMPI 000001cf: DUP1 000001d0: PUSH4 0x06fdde03 000001d5: EQ 000001d6: PUSH2 0x01ff 000001d9: JUMPI 000001da: DUP1 000001db: PUSH4 0x095ea7b3 000001e0: EQ 000001e1: PUSH2 0x021d 000001e4: JUMPI 000001e5: JUMPDEST 000001e6: PUSH1 0x00 000001e8: DUP1 000001e9: REVERT 000001ea: JUMPDEST 000001eb: PUSH2 0x01fd 000001ee: PUSH2 0x01f8 000001f1: CALLDATASIZE 000001f2: PUSH1 0x04 000001f4: PUSH2 0x317c 000001f7: JUMP 000001f8: JUMPDEST 000001f9: PUSH2 0x0405 000001fc: JUMP 000001fd: JUMPDEST 000001fe: STOP 000001ff: JUMPDEST 00000200: PUSH2 0x0207 00000203: PUSH2 0x05cf 00000206: JUMP 00000207: JUMPDEST 00000208: PUSH1 0x40 0000020a: MLOAD 0000020b: PUSH2 0x0214 0000020e: SWAP2 0000020f: SWAP1 00000210: PUSH2 0x330c 00000213: JUMP 00000214: JUMPDEST 00000215: PUSH1 0x40 00000217: MLOAD 00000218: DUP1 00000219: SWAP2 0000021a: SUB 0000021b: SWAP1 0000021c: RETURN 0000021d: JUMPDEST 0000021e: PUSH2 0x0230 00000221: PUSH2 0x022b 00000224: CALLDATASIZE 00000225: PUSH1 0x04 00000227: PUSH2 0x3093 0000022a: JUMP 0000022b: JUMPDEST 0000022c: PUSH2 0x0684 0000022f: JUMP 00000230: JUMPDEST 00000231: PUSH1 0x40 00000233: MLOAD 00000234: PUSH2 0x0214 00000237: SWAP2 00000238: SWAP1 00000239: PUSH2 0x3301 0000023c: JUMP 0000023d: JUMPDEST 0000023e: PUSH2 0x0245 00000241: PUSH2 0x06a1 00000244: JUMP 00000245: JUMPDEST 00000246: PUSH1 0x40 00000248: MLOAD 00000249: PUSH2 0x0214 0000024c: SWAP2 0000024d: SWAP1 0000024e: PUSH2 0x3a55 00000251: JUMP 00000252: JUMPDEST 00000253: PUSH2 0x01fd 00000256: PUSH2 0x0260 00000259: CALLDATASIZE 0000025a: PUSH1 0x04 0000025c: PUSH2 0x30f6 0000025f: JUMP 00000260: JUMPDEST 00000261: PUSH2 0x06a7 00000264: JUMP 00000265: JUMPDEST 00000266: PUSH2 0x0230 00000269: PUSH2 0x0273 0000026c: CALLDATASIZE 0000026d: PUSH1 0x04 0000026f: PUSH2 0x3053 00000272: JUMP 00000273: JUMPDEST 00000274: PUSH2 0x08b1 00000277: JUMP 00000278: JUMPDEST 00000279: PUSH2 0x01fd 0000027c: PUSH2 0x0286 0000027f: CALLDATASIZE 00000280: PUSH1 0x04 00000282: PUSH2 0x317c 00000285: JUMP 00000286: JUMPDEST 00000287: PUSH2 0x094b 0000028a: JUMP 0000028b: JUMPDEST 0000028c: PUSH2 0x01fd 0000028f: PUSH2 0x0299 00000292: CALLDATASIZE 00000293: PUSH1 0x04 00000295: PUSH2 0x3093 00000298: JUMP 00000299: JUMPDEST 0000029a: PUSH2 0x0d33 0000029d: JUMP 0000029e: JUMPDEST 0000029f: PUSH2 0x02a6 000002a2: PUSH2 0x0d7d 000002a5: JUMP 000002a6: JUMPDEST 000002a7: PUSH1 0x40 000002a9: MLOAD 000002aa: PUSH2 0x0214 000002ad: SWAP2 000002ae: SWAP1 000002af: PUSH2 0x3a6c 000002b2: JUMP 000002b3: JUMPDEST 000002b4: PUSH2 0x0230 000002b7: PUSH2 0x02c1 000002ba: CALLDATASIZE 000002bb: PUSH1 0x04 000002bd: PUSH2 0x3093 000002c0: JUMP 000002c1: JUMPDEST 000002c2: PUSH2 0x0e25 000002c5: JUMP 000002c6: JUMPDEST 000002c7: PUSH2 0x01fd 000002ca: PUSH2 0x0e8b 000002cd: JUMP 000002ce: JUMPDEST 000002cf: PUSH2 0x02d6 000002d2: PUSH2 0x0f08 000002d5: JUMP 000002d6: JUMPDEST 000002d7: PUSH1 0x40 000002d9: MLOAD 000002da: PUSH2 0x0214 000002dd: SWAP2 000002de: SWAP1 000002df: PUSH2 0x3233 000002e2: JUMP 000002e3: JUMPDEST 000002e4: PUSH2 0x0245 000002e7: PUSH2 0x0f24 000002ea: JUMP 000002eb: JUMPDEST 000002ec: PUSH2 0x0230 000002ef: PUSH2 0x0f2a 000002f2: JUMP 000002f3: JUMPDEST 000002f4: PUSH2 0x0245 000002f7: PUSH2 0x0301 000002fa: CALLDATASIZE 000002fb: PUSH1 0x04 000002fd: PUSH2 0x2fff 00000300: JUMP 00000301: JUMPDEST 00000302: PUSH2 0x0f33 00000305: JUMP 00000306: JUMPDEST 00000307: PUSH2 0x01fd 0000030a: PUSH2 0x0f5b 0000030d: JUMP 0000030e: JUMPDEST 0000030f: PUSH2 0x02d6 00000312: PUSH2 0x103d 00000315: JUMP 00000316: JUMPDEST 00000317: PUSH2 0x01fd 0000031a: PUSH2 0x0324 0000031d: CALLDATASIZE 0000031e: PUSH1 0x04 00000320: PUSH2 0x301b 00000323: JUMP 00000324: JUMPDEST 00000325: PUSH2 0x1059 00000328: JUMP 00000329: JUMPDEST 0000032a: PUSH2 0x0230 0000032d: PUSH2 0x11f9 00000330: JUMP 00000331: JUMPDEST 00000332: PUSH2 0x01fd 00000335: PUSH2 0x1207 00000338: JUMP 00000339: JUMPDEST 0000033a: PUSH2 0x0341 0000033d: PUSH2 0x1282 00000340: JUMP 00000341: JUMPDEST 00000342: PUSH1 0x40 00000344: MLOAD 00000345: PUSH2 0x0214 00000348: SWAP3 00000349: SWAP2 0000034a: SWAP1 0000034b: PUSH2 0x327a 0000034e: JUMP 0000034f: JUMPDEST 00000350: PUSH2 0x02d6 00000353: PUSH2 0x12a5 00000356: JUMP 00000357: JUMPDEST 00000358: PUSH2 0x0207 0000035b: PUSH2 0x12c1 0000035e: JUMP 0000035f: JUMPDEST 00000360: PUSH2 0x01fd 00000363: PUSH2 0x036d 00000366: CALLDATASIZE 00000367: PUSH1 0x04 00000369: PUSH2 0x317c 0000036c: JUMP 0000036d: JUMPDEST 0000036e: PUSH2 0x1340 00000371: JUMP 00000372: JUMPDEST 00000373: PUSH2 0x0230 00000376: PUSH2 0x0380 00000379: CALLDATASIZE 0000037a: PUSH1 0x04 0000037c: PUSH2 0x3093 0000037f: JUMP 00000380: JUMPDEST 00000381: PUSH2 0x1625 00000384: JUMP 00000385: JUMPDEST 00000386: PUSH2 0x0230 00000389: PUSH2 0x0393 0000038c: CALLDATASIZE 0000038d: PUSH1 0x04 0000038f: PUSH2 0x3093 00000392: JUMP 00000393: JUMPDEST 00000394: PUSH2 0x16a0 00000397: JUMP 00000398: JUMPDEST 00000399: PUSH2 0x01fd 0000039c: PUSH2 0x03a6 0000039f: CALLDATASIZE 000003a0: PUSH1 0x04 000003a2: PUSH2 0x317c 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH2 0x1736 000003aa: JUMP 000003ab: JUMPDEST 000003ac: PUSH2 0x03be 000003af: PUSH2 0x03b9 000003b2: CALLDATASIZE 000003b3: PUSH1 0x04 000003b5: PUSH2 0x2fff 000003b8: JUMP 000003b9: JUMPDEST 000003ba: PUSH2 0x1783 000003bd: JUMP 000003be: JUMPDEST 000003bf: PUSH1 0x40 000003c1: MLOAD 000003c2: PUSH2 0x0214 000003c5: SWAP3 000003c6: SWAP2 000003c7: SWAP1 000003c8: PUSH2 0x3a5e 000003cb: JUMP 000003cc: JUMPDEST 000003cd: PUSH2 0x0245 000003d0: PUSH2 0x03da 000003d3: CALLDATASIZE 000003d4: PUSH1 0x04 000003d6: PUSH2 0x301b 000003d9: JUMP 000003da: JUMPDEST 000003db: PUSH2 0x179c 000003de: JUMP 000003df: JUMPDEST 000003e0: PUSH2 0x01fd 000003e3: PUSH2 0x03ed 000003e6: CALLDATASIZE 000003e7: PUSH1 0x04 000003e9: PUSH2 0x30be 000003ec: JUMP 000003ed: JUMPDEST 000003ee: PUSH2 0x17d4 000003f1: JUMP 000003f2: JUMPDEST 000003f3: PUSH2 0x01fd 000003f6: PUSH2 0x0400 000003f9: CALLDATASIZE 000003fa: PUSH1 0x04 000003fc: PUSH2 0x2fff 000003ff: JUMP 00000400: JUMPDEST 00000401: PUSH2 0x18a7 00000404: JUMP 00000405: JUMPDEST 00000406: PUSH2 0x040d 00000409: PUSH2 0x19f5 0000040c: JUMP 0000040d: JUMPDEST 0000040e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000423: AND 00000424: PUSH2 0x042b 00000427: PUSH2 0x12a5 0000042a: JUMP 0000042b: JUMPDEST 0000042c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000441: AND 00000442: EQ 00000443: PUSH2 0x0481 00000446: JUMPI 00000447: PUSH1 0x40 00000449: MLOAD 0000044a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000046b: DUP2 0000046c: MSTORE 0000046d: PUSH1 0x04 0000046f: ADD 00000470: PUSH2 0x0478 00000473: SWAP1 00000474: PUSH2 0x3784 00000477: JUMP 00000478: JUMPDEST 00000479: PUSH1 0x40 0000047b: MLOAD 0000047c: DUP1 0000047d: SWAP2 0000047e: SUB 0000047f: SWAP1 00000480: REVERT 00000481: JUMPDEST 00000482: PUSH1 0xc9 00000484: SLOAD 00000485: PUSH1 0xca 00000487: SLOAD 00000488: PUSH1 0x40 0000048a: MLOAD 0000048b: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 000004ac: DUP2 000004ad: MSTORE 000004ae: PUSH1 0x00 000004b0: SWAP3 000004b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004c6: SWAP1 000004c7: DUP2 000004c8: AND 000004c9: SWAP3 000004ca: PUSH4 0xdd62ed3e 000004cf: SWAP3 000004d0: PUSH2 0x04df 000004d3: SWAP3 000004d4: ADDRESS 000004d5: SWAP3 000004d6: AND 000004d7: SWAP1 000004d8: PUSH1 0x04 000004da: ADD 000004db: PUSH2 0x327a 000004de: JUMP 000004df: JUMPDEST 000004e0: PUSH1 0x20 000004e2: PUSH1 0x40 000004e4: MLOAD 000004e5: DUP1 000004e6: DUP4 000004e7: SUB 000004e8: DUP2 000004e9: DUP7 000004ea: DUP1 000004eb: EXTCODESIZE 000004ec: ISZERO 000004ed: DUP1 000004ee: ISZERO 000004ef: PUSH2 0x04f7 000004f2: JUMPI 000004f3: PUSH1 0x00 000004f5: DUP1 000004f6: REVERT 000004f7: JUMPDEST 000004f8: POP 000004f9: GAS 000004fa: STATICCALL 000004fb: ISZERO 000004fc: DUP1 000004fd: ISZERO 000004fe: PUSH2 0x050b 00000501: JUMPI 00000502: RETURNDATASIZE 00000503: PUSH1 0x00 00000505: DUP1 00000506: RETURNDATACOPY 00000507: RETURNDATASIZE 00000508: PUSH1 0x00 0000050a: REVERT 0000050b: JUMPDEST 0000050c: POP 0000050d: POP 0000050e: POP 0000050f: POP 00000510: PUSH1 0x40 00000512: MLOAD 00000513: RETURNDATASIZE 00000514: PUSH1 0x1f 00000516: NOT 00000517: PUSH1 0x1f 00000519: DUP3 0000051a: ADD 0000051b: AND 0000051c: DUP3 0000051d: ADD 0000051e: DUP1 0000051f: PUSH1 0x40 00000521: MSTORE 00000522: POP 00000523: DUP2 00000524: ADD 00000525: SWAP1 00000526: PUSH2 0x052f 00000529: SWAP2 0000052a: SWAP1 0000052b: PUSH2 0x3194 0000052e: JUMP 0000052f: JUMPDEST 00000530: SWAP1 00000531: POP 00000532: DUP2 00000533: DUP2 00000534: LT 00000535: ISZERO 00000536: PUSH2 0x0584 00000539: JUMPI 0000053a: PUSH1 0x00 0000053c: PUSH2 0x054b 0000053f: DUP4 00000540: DUP4 00000541: PUSH4 0xffffffff 00000546: PUSH2 0x19f9 00000549: AND 0000054a: JUMP 0000054b: JUMPDEST 0000054c: PUSH1 0xca 0000054e: SLOAD 0000054f: PUSH1 0xc9 00000551: SLOAD 00000552: SWAP2 00000553: SWAP3 00000554: POP 00000555: PUSH2 0x057e 00000558: SWAP2 00000559: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000056e: SWAP1 0000056f: DUP2 00000570: AND 00000571: SWAP2 00000572: AND 00000573: DUP4 00000574: PUSH4 0xffffffff 00000579: PUSH2 0x1a3b 0000057c: AND 0000057d: JUMP 0000057e: JUMPDEST 0000057f: POP 00000580: PUSH2 0x05cb 00000583: JUMP 00000584: JUMPDEST 00000585: PUSH1 0x00 00000587: PUSH2 0x0596 0000058a: DUP3 0000058b: DUP5 0000058c: PUSH4 0xffffffff 00000591: PUSH2 0x19f9 00000594: AND 00000595: JUMP 00000596: JUMPDEST 00000597: PUSH1 0xca 00000599: SLOAD 0000059a: PUSH1 0xc9 0000059c: SLOAD 0000059d: SWAP2 0000059e: SWAP3 0000059f: POP 000005a0: PUSH2 0x05c9 000005a3: SWAP2 000005a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005b9: SWAP1 000005ba: DUP2 000005bb: AND 000005bc: SWAP2 000005bd: AND 000005be: DUP4 000005bf: PUSH4 0xffffffff 000005c4: PUSH2 0x1b3d 000005c7: AND 000005c8: JUMP 000005c9: JUMPDEST 000005ca: POP 000005cb: JUMPDEST 000005cc: POP 000005cd: POP 000005ce: JUMP 000005cf: JUMPDEST 000005d0: PUSH1 0x36 000005d2: DUP1 000005d3: SLOAD 000005d4: PUSH1 0x40 000005d6: DUP1 000005d7: MLOAD 000005d8: PUSH1 0x20 000005da: PUSH1 0x1f 000005dc: PUSH1 0x02 000005de: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000005ff: PUSH2 0x0100 00000602: PUSH1 0x01 00000604: DUP9 00000605: AND 00000606: ISZERO 00000607: MUL 00000608: ADD 00000609: SWAP1 0000060a: SWAP6 0000060b: AND 0000060c: SWAP5 0000060d: SWAP1 0000060e: SWAP5 0000060f: DIV 00000610: SWAP4 00000611: DUP5 00000612: ADD 00000613: DUP2 00000614: SWAP1 00000615: DIV 00000616: DUP2 00000617: MUL 00000618: DUP3 00000619: ADD 0000061a: DUP2 0000061b: ADD 0000061c: SWAP1 0000061d: SWAP3 0000061e: MSTORE 0000061f: DUP3 00000620: DUP2 00000621: MSTORE 00000622: PUSH1 0x60 00000624: SWAP4 00000625: SWAP1 00000626: SWAP3 00000627: SWAP1 00000628: SWAP2 00000629: DUP4 0000062a: ADD 0000062b: DUP3 0000062c: DUP3 0000062d: DUP1 0000062e: ISZERO 0000062f: PUSH2 0x0679 00000632: JUMPI 00000633: DUP1 00000634: PUSH1 0x1f 00000636: LT 00000637: PUSH2 0x064e 0000063a: JUMPI 0000063b: PUSH2 0x0100 0000063e: DUP1 0000063f: DUP4 00000640: SLOAD 00000641: DIV 00000642: MUL 00000643: DUP4 00000644: MSTORE 00000645: SWAP2 00000646: PUSH1 0x20 00000648: ADD 00000649: SWAP2 0000064a: PUSH2 0x0679 0000064d: JUMP 0000064e: JUMPDEST 0000064f: DUP3 00000650: ADD 00000651: SWAP2 00000652: SWAP1 00000653: PUSH1 0x00 00000655: MSTORE 00000656: PUSH1 0x20 00000658: PUSH1 0x00 0000065a: KECCAK256 0000065b: SWAP1 0000065c: JUMPDEST 0000065d: DUP2 0000065e: SLOAD 0000065f: DUP2 00000660: MSTORE 00000661: SWAP1 00000662: PUSH1 0x01 00000664: ADD 00000665: SWAP1 00000666: PUSH1 0x20 00000668: ADD 00000669: DUP1 0000066a: DUP4 0000066b: GT 0000066c: PUSH2 0x065c 0000066f: JUMPI 00000670: DUP3 00000671: SWAP1 00000672: SUB 00000673: PUSH1 0x1f 00000675: AND 00000676: DUP3 00000677: ADD 00000678: SWAP2 00000679: JUMPDEST 0000067a: POP 0000067b: POP 0000067c: POP 0000067d: POP 0000067e: POP 0000067f: SWAP1 00000680: POP 00000681: JUMPDEST 00000682: SWAP1 00000683: JUMP 00000684: JUMPDEST 00000685: PUSH1 0x00 00000687: PUSH2 0x0698 0000068a: PUSH2 0x0691 0000068d: PUSH2 0x19f5 00000690: JUMP 00000691: JUMPDEST 00000692: DUP5 00000693: DUP5 00000694: PUSH2 0x1c0d 00000697: JUMP 00000698: JUMPDEST 00000699: POP 0000069a: PUSH1 0x01 0000069c: SWAP3 0000069d: SWAP2 0000069e: POP 0000069f: POP 000006a0: JUMP 000006a1: JUMPDEST 000006a2: PUSH1 0x35 000006a4: SLOAD 000006a5: SWAP1 000006a6: JUMP 000006a7: JUMPDEST 000006a8: PUSH1 0x00 000006aa: SLOAD 000006ab: PUSH2 0x0100 000006ae: SWAP1 000006af: DIV 000006b0: PUSH1 0xff 000006b2: AND 000006b3: DUP1 000006b4: PUSH2 0x06c0 000006b7: JUMPI 000006b8: POP 000006b9: PUSH2 0x06c0 000006bc: PUSH2 0x1d1c 000006bf: JUMP 000006c0: JUMPDEST 000006c1: DUP1 000006c2: PUSH2 0x06ce 000006c5: JUMPI 000006c6: POP 000006c7: PUSH1 0x00 000006c9: SLOAD 000006ca: PUSH1 0xff 000006cc: AND 000006cd: ISZERO 000006ce: JUMPDEST 000006cf: PUSH2 0x0704 000006d2: JUMPI 000006d3: PUSH1 0x40 000006d5: MLOAD 000006d6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000006f7: DUP2 000006f8: MSTORE 000006f9: PUSH1 0x04 000006fb: ADD 000006fc: PUSH2 0x0478 000006ff: SWAP1 00000700: PUSH2 0x3682 00000703: JUMP 00000704: JUMPDEST 00000705: PUSH1 0x00 00000707: SLOAD 00000708: PUSH2 0x0100 0000070b: SWAP1 0000070c: DIV 0000070d: PUSH1 0xff 0000070f: AND 00000710: ISZERO 00000711: DUP1 00000712: ISZERO 00000713: PUSH2 0x076a 00000716: JUMPI 00000717: PUSH1 0x00 00000719: DUP1 0000071a: SLOAD 0000071b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 0000073c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 0000075d: SWAP1 0000075e: SWAP2 0000075f: AND 00000760: PUSH2 0x0100 00000763: OR 00000764: AND 00000765: PUSH1 0x01 00000767: OR 00000768: SWAP1 00000769: SSTORE 0000076a: JUMPDEST 0000076b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000780: DUP6 00000781: AND 00000782: PUSH2 0x07b7 00000785: JUMPI 00000786: PUSH1 0x40 00000788: MLOAD 00000789: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000007aa: DUP2 000007ab: MSTORE 000007ac: PUSH1 0x04 000007ae: ADD 000007af: PUSH2 0x0478 000007b2: SWAP1 000007b3: PUSH2 0x364b 000007b6: JUMP 000007b7: JUMPDEST 000007b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007cd: DUP5 000007ce: AND 000007cf: PUSH2 0x0804 000007d2: JUMPI 000007d3: PUSH1 0x40 000007d5: MLOAD 000007d6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000007f7: DUP2 000007f8: MSTORE 000007f9: PUSH1 0x04 000007fb: ADD 000007fc: PUSH2 0x0478 000007ff: SWAP1 00000800: PUSH2 0x364b 00000803: JUMP 00000804: JUMPDEST 00000805: PUSH2 0x080c 00000808: PUSH2 0x1d2d 0000080b: JUMP 0000080c: JUMPDEST 0000080d: PUSH2 0x0814 00000810: PUSH2 0x1e21 00000813: JUMP 00000814: JUMPDEST 00000815: PUSH2 0x081c 00000818: PUSH2 0x1f92 0000081b: JUMP 0000081c: JUMPDEST 0000081d: PUSH2 0x0826 00000820: DUP4 00000821: DUP4 00000822: PUSH2 0x20ae 00000825: JUMP 00000826: JUMPDEST 00000827: PUSH1 0xc9 00000829: DUP1 0000082a: SLOAD 0000082b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000840: DUP1 00000841: DUP9 00000842: AND 00000843: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000864: SWAP3 00000865: DUP4 00000866: AND 00000867: OR 00000868: SWAP1 00000869: SWAP3 0000086a: SSTORE 0000086b: PUSH1 0xca 0000086d: DUP1 0000086e: SLOAD 0000086f: SWAP3 00000870: DUP8 00000871: AND 00000872: SWAP3 00000873: SWAP1 00000874: SWAP2 00000875: AND 00000876: SWAP2 00000877: SWAP1 00000878: SWAP2 00000879: OR 0000087a: SWAP1 0000087b: SSTORE 0000087c: DUP1 0000087d: ISZERO 0000087e: PUSH2 0x08aa 00000881: JUMPI 00000882: PUSH1 0x00 00000884: DUP1 00000885: SLOAD 00000886: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 000008a7: AND 000008a8: SWAP1 000008a9: SSTORE 000008aa: JUMPDEST 000008ab: POP 000008ac: POP 000008ad: POP 000008ae: POP 000008af: POP 000008b0: JUMP 000008b1: JUMPDEST 000008b2: PUSH1 0x00 000008b4: PUSH2 0x08bb 000008b7: PUSH2 0x0f2a 000008ba: JUMP 000008bb: JUMPDEST 000008bc: ISZERO 000008bd: PUSH2 0x08f2 000008c0: JUMPI 000008c1: PUSH1 0x40 000008c3: MLOAD 000008c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000008e5: DUP2 000008e6: MSTORE 000008e7: PUSH1 0x04 000008e9: ADD 000008ea: PUSH2 0x0478 000008ed: SWAP1 000008ee: PUSH2 0x3614 000008f1: JUMP 000008f2: JUMPDEST 000008f3: PUSH2 0x08fc 000008f6: DUP5 000008f7: DUP4 000008f8: PUSH2 0x21f7 000008fb: JUMP 000008fc: JUMPDEST 000008fd: PUSH1 0x00 000008ff: PUSH2 0x0909 00000902: DUP6 00000903: DUP6 00000904: DUP6 00000905: PUSH2 0x2343 00000908: JUMP 00000909: JUMPDEST 0000090a: SWAP1 0000090b: POP 0000090c: PUSH32 0x5472616e73666572000000000000000000000000000000000000000000000000 0000092d: PUSH2 0x0936 00000930: DUP2 00000931: DUP8 00000932: PUSH2 0x23e5 00000935: JUMP 00000936: JUMPDEST 00000937: PUSH2 0x0940 0000093a: DUP2 0000093b: DUP7 0000093c: PUSH2 0x23e5 0000093f: JUMP 00000940: JUMPDEST 00000941: POP 00000942: SWAP1 00000943: POP 00000944: JUMPDEST 00000945: SWAP4 00000946: SWAP3 00000947: POP 00000948: POP 00000949: POP 0000094a: JUMP 0000094b: JUMPDEST 0000094c: PUSH2 0x0953 0000094f: PUSH2 0x0f2a 00000952: JUMP 00000953: JUMPDEST 00000954: ISZERO 00000955: PUSH2 0x098a 00000958: JUMPI 00000959: PUSH1 0x40 0000095b: MLOAD 0000095c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000097d: DUP2 0000097e: MSTORE 0000097f: PUSH1 0x04 00000981: ADD 00000982: PUSH2 0x0478 00000985: SWAP1 00000986: PUSH2 0x3614 00000989: JUMP 0000098a: JUMPDEST 0000098b: PUSH1 0xcd 0000098d: SLOAD 0000098e: PUSH1 0xff 00000990: AND 00000991: ISZERO 00000992: PUSH2 0x09c7 00000995: JUMPI 00000996: PUSH1 0x40 00000998: MLOAD 00000999: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000009ba: DUP2 000009bb: MSTORE 000009bc: PUSH1 0x04 000009be: ADD 000009bf: PUSH2 0x0478 000009c2: SWAP1 000009c3: PUSH2 0x399b 000009c6: JUMP 000009c7: JUMPDEST 000009c8: PUSH1 0xcd 000009ca: DUP1 000009cb: SLOAD 000009cc: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000009ed: AND 000009ee: PUSH1 0x01 000009f0: SWAP1 000009f1: DUP2 000009f2: OR 000009f3: SWAP1 000009f4: SWAP2 000009f5: SSTORE 000009f6: CALLER 000009f7: PUSH1 0x00 000009f9: SWAP1 000009fa: DUP2 000009fb: MSTORE 000009fc: PUSH1 0xcc 000009fe: PUSH1 0x20 00000a00: MSTORE 00000a01: PUSH1 0x40 00000a03: SWAP1 00000a04: KECCAK256 00000a05: ADD 00000a06: SLOAD 00000a07: DUP2 00000a08: GT 00000a09: ISZERO 00000a0a: PUSH2 0x0a3f 00000a0d: JUMPI 00000a0e: PUSH1 0x40 00000a10: MLOAD 00000a11: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a32: DUP2 00000a33: MSTORE 00000a34: PUSH1 0x04 00000a36: ADD 00000a37: PUSH2 0x0478 00000a3a: SWAP1 00000a3b: PUSH2 0x374d 00000a3e: JUMP 00000a3f: JUMPDEST 00000a40: PUSH1 0x00 00000a42: DUP2 00000a43: GT 00000a44: PUSH2 0x0a79 00000a47: JUMPI 00000a48: PUSH1 0x40 00000a4a: MLOAD 00000a4b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a6c: DUP2 00000a6d: MSTORE 00000a6e: PUSH1 0x04 00000a70: ADD 00000a71: PUSH2 0x0478 00000a74: SWAP1 00000a75: PUSH2 0x35a6 00000a78: JUMP 00000a79: JUMPDEST 00000a7a: PUSH1 0xc9 00000a7c: SLOAD 00000a7d: PUSH1 0x40 00000a7f: MLOAD 00000a80: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00000aa1: DUP2 00000aa2: MSTORE 00000aa3: DUP3 00000aa4: SWAP2 00000aa5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aba: AND 00000abb: SWAP1 00000abc: PUSH4 0x70a08231 00000ac1: SWAP1 00000ac2: PUSH2 0x0acf 00000ac5: SWAP1 00000ac6: ADDRESS 00000ac7: SWAP1 00000ac8: PUSH1 0x04 00000aca: ADD 00000acb: PUSH2 0x3233 00000ace: JUMP 00000acf: JUMPDEST 00000ad0: PUSH1 0x20 00000ad2: PUSH1 0x40 00000ad4: MLOAD 00000ad5: DUP1 00000ad6: DUP4 00000ad7: SUB 00000ad8: DUP2 00000ad9: DUP7 00000ada: DUP1 00000adb: EXTCODESIZE 00000adc: ISZERO 00000add: DUP1 00000ade: ISZERO 00000adf: PUSH2 0x0ae7 00000ae2: JUMPI 00000ae3: PUSH1 0x00 00000ae5: DUP1 00000ae6: REVERT 00000ae7: JUMPDEST 00000ae8: POP 00000ae9: GAS 00000aea: STATICCALL 00000aeb: ISZERO 00000aec: DUP1 00000aed: ISZERO 00000aee: PUSH2 0x0afb 00000af1: JUMPI 00000af2: RETURNDATASIZE 00000af3: PUSH1 0x00 00000af5: DUP1 00000af6: RETURNDATACOPY 00000af7: RETURNDATASIZE 00000af8: PUSH1 0x00 00000afa: REVERT 00000afb: JUMPDEST 00000afc: POP 00000afd: POP 00000afe: POP 00000aff: POP 00000b00: PUSH1 0x40 00000b02: MLOAD 00000b03: RETURNDATASIZE 00000b04: PUSH1 0x1f 00000b06: NOT 00000b07: PUSH1 0x1f 00000b09: DUP3 00000b0a: ADD 00000b0b: AND 00000b0c: DUP3 00000b0d: ADD 00000b0e: DUP1 00000b0f: PUSH1 0x40 00000b11: MSTORE 00000b12: POP 00000b13: DUP2 00000b14: ADD 00000b15: SWAP1 00000b16: PUSH2 0x0b1f 00000b19: SWAP2 00000b1a: SWAP1 00000b1b: PUSH2 0x3194 00000b1e: JUMP 00000b1f: JUMPDEST 00000b20: LT 00000b21: ISZERO 00000b22: PUSH2 0x0b57 00000b25: JUMPI 00000b26: PUSH1 0x40 00000b28: MLOAD 00000b29: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000b4a: DUP2 00000b4b: MSTORE 00000b4c: PUSH1 0x04 00000b4e: ADD 00000b4f: PUSH2 0x0478 00000b52: SWAP1 00000b53: PUSH2 0x36df 00000b56: JUMP 00000b57: JUMPDEST 00000b58: PUSH1 0xca 00000b5a: PUSH1 0x00 00000b5c: SWAP1 00000b5d: SLOAD 00000b5e: SWAP1 00000b5f: PUSH2 0x0100 00000b62: EXP 00000b63: SWAP1 00000b64: DIV 00000b65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b7a: AND 00000b7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b90: AND 00000b91: PUSH4 0x85790945 00000b96: PUSH1 0x40 00000b98: MLOAD 00000b99: DUP2 00000b9a: PUSH4 0xffffffff 00000b9f: AND 00000ba0: PUSH1 0xe0 00000ba2: SHL 00000ba3: DUP2 00000ba4: MSTORE 00000ba5: PUSH1 0x04 00000ba7: ADD 00000ba8: PUSH1 0x20 00000baa: PUSH1 0x40 00000bac: MLOAD 00000bad: DUP1 00000bae: DUP4 00000baf: SUB 00000bb0: DUP2 00000bb1: DUP7 00000bb2: DUP1 00000bb3: EXTCODESIZE 00000bb4: ISZERO 00000bb5: DUP1 00000bb6: ISZERO 00000bb7: PUSH2 0x0bbf 00000bba: JUMPI 00000bbb: PUSH1 0x00 00000bbd: DUP1 00000bbe: REVERT 00000bbf: JUMPDEST 00000bc0: POP 00000bc1: GAS 00000bc2: STATICCALL 00000bc3: ISZERO 00000bc4: DUP1 00000bc5: ISZERO 00000bc6: PUSH2 0x0bd3 00000bc9: JUMPI 00000bca: RETURNDATASIZE 00000bcb: PUSH1 0x00 00000bcd: DUP1 00000bce: RETURNDATACOPY 00000bcf: RETURNDATASIZE 00000bd0: PUSH1 0x00 00000bd2: REVERT 00000bd3: JUMPDEST 00000bd4: POP 00000bd5: POP 00000bd6: POP 00000bd7: POP 00000bd8: PUSH1 0x40 00000bda: MLOAD 00000bdb: RETURNDATASIZE 00000bdc: PUSH1 0x1f 00000bde: NOT 00000bdf: PUSH1 0x1f 00000be1: DUP3 00000be2: ADD 00000be3: AND 00000be4: DUP3 00000be5: ADD 00000be6: DUP1 00000be7: PUSH1 0x40 00000be9: MSTORE 00000bea: POP 00000beb: DUP2 00000bec: ADD 00000bed: SWAP1 00000bee: PUSH2 0x0bf7 00000bf1: SWAP2 00000bf2: SWAP1 00000bf3: PUSH2 0x3194 00000bf6: JUMP 00000bf7: JUMPDEST 00000bf8: CALLER 00000bf9: PUSH1 0x00 00000bfb: SWAP1 00000bfc: DUP2 00000bfd: MSTORE 00000bfe: PUSH1 0xcc 00000c00: PUSH1 0x20 00000c02: MSTORE 00000c03: PUSH1 0x40 00000c05: SWAP1 00000c06: KECCAK256 00000c07: SLOAD 00000c08: GT 00000c09: ISZERO 00000c0a: PUSH2 0x0c3f 00000c0d: JUMPI 00000c0e: PUSH1 0x40 00000c10: MLOAD 00000c11: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c32: DUP2 00000c33: MSTORE 00000c34: PUSH1 0x04 00000c36: ADD 00000c37: PUSH2 0x0478 00000c3a: SWAP1 00000c3b: PUSH2 0x35dd 00000c3e: JUMP 00000c3f: JUMPDEST 00000c40: CALLER 00000c41: PUSH1 0x00 00000c43: SWAP1 00000c44: DUP2 00000c45: MSTORE 00000c46: PUSH1 0xcc 00000c48: PUSH1 0x20 00000c4a: MSTORE 00000c4b: PUSH1 0x40 00000c4d: SWAP1 00000c4e: KECCAK256 00000c4f: PUSH1 0x01 00000c51: ADD 00000c52: SLOAD 00000c53: PUSH2 0x0c62 00000c56: SWAP1 00000c57: DUP3 00000c58: PUSH4 0xffffffff 00000c5d: PUSH2 0x19f9 00000c60: AND 00000c61: JUMP 00000c62: JUMPDEST 00000c63: CALLER 00000c64: PUSH1 0x00 00000c66: SWAP1 00000c67: DUP2 00000c68: MSTORE 00000c69: PUSH1 0xcc 00000c6b: PUSH1 0x20 00000c6d: MSTORE 00000c6e: PUSH1 0x40 00000c70: SWAP1 00000c71: KECCAK256 00000c72: PUSH1 0x01 00000c74: ADD 00000c75: DUP2 00000c76: SWAP1 00000c77: SSTORE 00000c78: PUSH2 0x0c92 00000c7b: JUMPI 00000c7c: CALLER 00000c7d: PUSH1 0x00 00000c7f: SWAP1 00000c80: DUP2 00000c81: MSTORE 00000c82: PUSH1 0xcc 00000c84: PUSH1 0x20 00000c86: MSTORE 00000c87: PUSH1 0x40 00000c89: DUP2 00000c8a: KECCAK256 00000c8b: DUP2 00000c8c: DUP2 00000c8d: SSTORE 00000c8e: PUSH1 0x01 00000c90: ADD 00000c91: SSTORE 00000c92: JUMPDEST 00000c93: PUSH1 0xcb 00000c95: SLOAD 00000c96: PUSH2 0x0ca5 00000c99: SWAP1 00000c9a: DUP3 00000c9b: PUSH4 0xffffffff 00000ca0: PUSH2 0x19f9 00000ca3: AND 00000ca4: JUMP 00000ca5: JUMPDEST 00000ca6: PUSH1 0xcb 00000ca8: SSTORE 00000ca9: PUSH2 0x0cb2 00000cac: CALLER 00000cad: DUP3 00000cae: PUSH2 0x25c1 00000cb1: JUMP 00000cb2: JUMPDEST 00000cb3: PUSH1 0xc9 00000cb5: SLOAD 00000cb6: PUSH2 0x0cdc 00000cb9: SWAP1 00000cba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ccf: AND 00000cd0: CALLER 00000cd1: DUP4 00000cd2: PUSH4 0xffffffff 00000cd7: PUSH2 0x26fd 00000cda: AND 00000cdb: JUMP 00000cdc: JUMPDEST 00000cdd: PUSH32 0x5769746864726177000000000000000000000000000000000000000000000000 00000cfe: PUSH2 0x0d07 00000d01: DUP2 00000d02: CALLER 00000d03: PUSH2 0x23e5 00000d06: JUMP 00000d07: JUMPDEST 00000d08: POP 00000d09: POP 00000d0a: PUSH1 0xcd 00000d0c: DUP1 00000d0d: SLOAD 00000d0e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00000d2f: AND 00000d30: SWAP1 00000d31: SSTORE 00000d32: JUMP 00000d33: JUMPDEST 00000d34: PUSH2 0x0d3b 00000d37: PUSH2 0x0f2a 00000d3a: JUMP 00000d3b: JUMPDEST 00000d3c: ISZERO 00000d3d: PUSH2 0x0d72 00000d40: JUMPI 00000d41: PUSH1 0x40 00000d43: MLOAD 00000d44: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d65: DUP2 00000d66: MSTORE 00000d67: PUSH1 0x04 00000d69: ADD 00000d6a: PUSH2 0x0478 00000d6d: SWAP1 00000d6e: PUSH2 0x3614 00000d71: JUMP 00000d72: JUMPDEST 00000d73: PUSH2 0x05cb 00000d76: CALLER 00000d77: DUP4 00000d78: DUP4 00000d79: PUSH2 0x271c 00000d7c: JUMP 00000d7d: JUMPDEST 00000d7e: PUSH1 0xc9 00000d80: SLOAD 00000d81: PUSH1 0x40 00000d83: DUP1 00000d84: MLOAD 00000d85: PUSH32 0x313ce56700000000000000000000000000000000000000000000000000000000 00000da6: DUP2 00000da7: MSTORE 00000da8: SWAP1 00000da9: MLOAD 00000daa: PUSH1 0x00 00000dac: SWAP3 00000dad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dc2: AND 00000dc3: SWAP2 00000dc4: PUSH4 0x313ce567 00000dc9: SWAP2 00000dca: PUSH1 0x04 00000dcc: DUP1 00000dcd: DUP4 00000dce: ADD 00000dcf: SWAP3 00000dd0: PUSH1 0x20 00000dd2: SWAP3 00000dd3: SWAP2 00000dd4: SWAP1 00000dd5: DUP3 00000dd6: SWAP1 00000dd7: SUB 00000dd8: ADD 00000dd9: DUP2 00000dda: DUP7 00000ddb: DUP1 00000ddc: EXTCODESIZE 00000ddd: ISZERO 00000dde: DUP1 00000ddf: ISZERO 00000de0: PUSH2 0x0de8 00000de3: JUMPI 00000de4: PUSH1 0x00 00000de6: DUP1 00000de7: REVERT 00000de8: JUMPDEST 00000de9: POP 00000dea: GAS 00000deb: STATICCALL 00000dec: ISZERO 00000ded: DUP1 00000dee: ISZERO 00000def: PUSH2 0x0dfc 00000df2: JUMPI 00000df3: RETURNDATASIZE 00000df4: PUSH1 0x00 00000df6: DUP1 00000df7: RETURNDATACOPY 00000df8: RETURNDATASIZE 00000df9: PUSH1 0x00 00000dfb: REVERT 00000dfc: JUMPDEST 00000dfd: POP 00000dfe: POP 00000dff: POP 00000e00: POP 00000e01: PUSH1 0x40 00000e03: MLOAD 00000e04: RETURNDATASIZE 00000e05: PUSH1 0x1f 00000e07: NOT 00000e08: PUSH1 0x1f 00000e0a: DUP3 00000e0b: ADD 00000e0c: AND 00000e0d: DUP3 00000e0e: ADD 00000e0f: DUP1 00000e10: PUSH1 0x40 00000e12: MSTORE 00000e13: POP 00000e14: DUP2 00000e15: ADD 00000e16: SWAP1 00000e17: PUSH2 0x0e20 00000e1a: SWAP2 00000e1b: SWAP1 00000e1c: PUSH2 0x31ac 00000e1f: JUMP 00000e20: JUMPDEST 00000e21: SWAP1 00000e22: POP 00000e23: SWAP1 00000e24: JUMP 00000e25: JUMPDEST 00000e26: PUSH1 0x00 00000e28: PUSH2 0x0698 00000e2b: PUSH2 0x0e32 00000e2e: PUSH2 0x19f5 00000e31: JUMP 00000e32: JUMPDEST 00000e33: DUP5 00000e34: PUSH2 0x0e86 00000e37: DUP6 00000e38: PUSH1 0x34 00000e3a: PUSH1 0x00 00000e3c: PUSH2 0x0e43 00000e3f: PUSH2 0x19f5 00000e42: JUMP 00000e43: JUMPDEST 00000e44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e59: SWAP1 00000e5a: DUP2 00000e5b: AND 00000e5c: DUP3 00000e5d: MSTORE 00000e5e: PUSH1 0x20 00000e60: DUP1 00000e61: DUP4 00000e62: ADD 00000e63: SWAP4 00000e64: SWAP1 00000e65: SWAP4 00000e66: MSTORE 00000e67: PUSH1 0x40 00000e69: SWAP2 00000e6a: DUP3 00000e6b: ADD 00000e6c: PUSH1 0x00 00000e6e: SWAP1 00000e6f: DUP2 00000e70: KECCAK256 00000e71: SWAP2 00000e72: DUP13 00000e73: AND 00000e74: DUP2 00000e75: MSTORE 00000e76: SWAP3 00000e77: MSTORE 00000e78: SWAP1 00000e79: KECCAK256 00000e7a: SLOAD 00000e7b: SWAP1 00000e7c: PUSH4 0xffffffff 00000e81: PUSH2 0x2803 00000e84: AND 00000e85: JUMP 00000e86: JUMPDEST 00000e87: PUSH2 0x1c0d 00000e8a: JUMP 00000e8b: JUMPDEST 00000e8c: PUSH2 0x0e93 00000e8f: PUSH2 0x19f5 00000e92: JUMP 00000e93: JUMPDEST 00000e94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ea9: AND 00000eaa: PUSH2 0x0eb1 00000ead: PUSH2 0x12a5 00000eb0: JUMP 00000eb1: JUMPDEST 00000eb2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ec7: AND 00000ec8: EQ 00000ec9: PUSH2 0x0efe 00000ecc: JUMPI 00000ecd: PUSH1 0x40 00000ecf: MLOAD 00000ed0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000ef1: DUP2 00000ef2: MSTORE 00000ef3: PUSH1 0x04 00000ef5: ADD 00000ef6: PUSH2 0x0478 00000ef9: SWAP1 00000efa: PUSH2 0x3784 00000efd: JUMP 00000efe: JUMPDEST 00000eff: PUSH2 0x0f06 00000f02: PUSH2 0x2842 00000f05: JUMP 00000f06: JUMPDEST 00000f07: JUMP 00000f08: JUMPDEST 00000f09: PUSH1 0xca 00000f0b: SLOAD 00000f0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f21: AND 00000f22: DUP2 00000f23: JUMP 00000f24: JUMPDEST 00000f25: PUSH1 0xcb 00000f27: SLOAD 00000f28: DUP2 00000f29: JUMP 00000f2a: JUMPDEST 00000f2b: PUSH1 0x97 00000f2d: SLOAD 00000f2e: PUSH1 0xff 00000f30: AND 00000f31: SWAP1 00000f32: JUMP 00000f33: JUMPDEST 00000f34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f49: AND 00000f4a: PUSH1 0x00 00000f4c: SWAP1 00000f4d: DUP2 00000f4e: MSTORE 00000f4f: PUSH1 0x33 00000f51: PUSH1 0x20 00000f53: MSTORE 00000f54: PUSH1 0x40 00000f56: SWAP1 00000f57: KECCAK256 00000f58: SLOAD 00000f59: SWAP1 00000f5a: JUMP 00000f5b: JUMPDEST 00000f5c: PUSH2 0x0f63 00000f5f: PUSH2 0x19f5 00000f62: JUMP 00000f63: JUMPDEST 00000f64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f79: AND 00000f7a: PUSH2 0x0f81 00000f7d: PUSH2 0x12a5 00000f80: JUMP 00000f81: JUMPDEST 00000f82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f97: AND 00000f98: EQ 00000f99: PUSH2 0x0fce 00000f9c: JUMPI 00000f9d: PUSH1 0x40 00000f9f: MLOAD 00000fa0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000fc1: DUP2 00000fc2: MSTORE 00000fc3: PUSH1 0x04 00000fc5: ADD 00000fc6: PUSH2 0x0478 00000fc9: SWAP1 00000fca: PUSH2 0x3784 00000fcd: JUMP 00000fce: JUMPDEST 00000fcf: PUSH1 0x65 00000fd1: SLOAD 00000fd2: PUSH1 0x40 00000fd4: MLOAD 00000fd5: PUSH1 0x00 00000fd7: SWAP2 00000fd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fed: AND 00000fee: SWAP1 00000fef: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001010: SWAP1 00001011: DUP4 00001012: SWAP1 00001013: LOG3 00001014: PUSH1 0x65 00001016: DUP1 00001017: SLOAD 00001018: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001039: AND 0000103a: SWAP1 0000103b: SSTORE 0000103c: JUMP 0000103d: JUMPDEST 0000103e: PUSH1 0xc9 00001040: SLOAD 00001041: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001056: AND 00001057: DUP2 00001058: JUMP 00001059: JUMPDEST 0000105a: PUSH2 0x1061 0000105d: PUSH2 0x19f5 00001060: JUMP 00001061: JUMPDEST 00001062: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001077: AND 00001078: PUSH2 0x107f 0000107b: PUSH2 0x12a5 0000107e: JUMP 0000107f: JUMPDEST 00001080: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001095: AND 00001096: EQ 00001097: PUSH2 0x10cc 0000109a: JUMPI 0000109b: PUSH1 0x40 0000109d: MLOAD 0000109e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000010bf: DUP2 000010c0: MSTORE 000010c1: PUSH1 0x04 000010c3: ADD 000010c4: PUSH2 0x0478 000010c7: SWAP1 000010c8: PUSH2 0x3784 000010cb: JUMP 000010cc: JUMPDEST 000010cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010e2: DUP3 000010e3: AND 000010e4: PUSH2 0x1119 000010e7: JUMPI 000010e8: PUSH1 0x40 000010ea: MLOAD 000010eb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000110c: DUP2 0000110d: MSTORE 0000110e: PUSH1 0x04 00001110: ADD 00001111: PUSH2 0x0478 00001114: SWAP1 00001115: PUSH2 0x337c 00001118: JUMP 00001119: JUMPDEST 0000111a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000112f: DUP2 00001130: AND 00001131: PUSH2 0x1166 00001134: JUMPI 00001135: PUSH1 0x40 00001137: MLOAD 00001138: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001159: DUP2 0000115a: MSTORE 0000115b: PUSH1 0x04 0000115d: ADD 0000115e: PUSH2 0x0478 00001161: SWAP1 00001162: PUSH2 0x337c 00001165: JUMP 00001166: JUMPDEST 00001167: PUSH1 0xce 00001169: DUP1 0000116a: SLOAD 0000116b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001180: DUP1 00001181: DUP6 00001182: AND 00001183: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000011a4: SWAP3 000011a5: DUP4 000011a6: AND 000011a7: OR 000011a8: SWAP1 000011a9: SWAP3 000011aa: SSTORE 000011ab: PUSH1 0xcf 000011ad: DUP1 000011ae: SLOAD 000011af: SWAP3 000011b0: DUP5 000011b1: AND 000011b2: SWAP3 000011b3: SWAP1 000011b4: SWAP2 000011b5: AND 000011b6: SWAP2 000011b7: SWAP1 000011b8: SWAP2 000011b9: OR 000011ba: SWAP1 000011bb: SSTORE 000011bc: PUSH1 0x40 000011be: MLOAD 000011bf: PUSH32 0xdd38196ae61206d6b7c944929ca054465eec5bbec09f0d942bd3f5569601e4e5 000011e0: SWAP1 000011e1: PUSH2 0x11ed 000011e4: SWAP1 000011e5: DUP5 000011e6: SWAP1 000011e7: DUP5 000011e8: SWAP1 000011e9: PUSH2 0x327a 000011ec: JUMP 000011ed: JUMPDEST 000011ee: PUSH1 0x40 000011f0: MLOAD 000011f1: DUP1 000011f2: SWAP2 000011f3: SUB 000011f4: SWAP1 000011f5: LOG1 000011f6: POP 000011f7: POP 000011f8: JUMP 000011f9: JUMPDEST 000011fa: PUSH1 0xcd 000011fc: SLOAD 000011fd: PUSH2 0x0100 00001200: SWAP1 00001201: DIV 00001202: PUSH1 0xff 00001204: AND 00001205: DUP2 00001206: JUMP 00001207: JUMPDEST 00001208: PUSH2 0x120f 0000120b: PUSH2 0x19f5 0000120e: JUMP 0000120f: JUMPDEST 00001210: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001225: AND 00001226: PUSH2 0x122d 00001229: PUSH2 0x12a5 0000122c: JUMP 0000122d: JUMPDEST 0000122e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001243: AND 00001244: EQ 00001245: PUSH2 0x127a 00001248: JUMPI 00001249: PUSH1 0x40 0000124b: MLOAD 0000124c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000126d: DUP2 0000126e: MSTORE 0000126f: PUSH1 0x04 00001271: ADD 00001272: PUSH2 0x0478 00001275: SWAP1 00001276: PUSH2 0x3784 00001279: JUMP 0000127a: JUMPDEST 0000127b: PUSH2 0x0f06 0000127e: PUSH2 0x28e8 00001281: JUMP 00001282: JUMPDEST 00001283: PUSH1 0xce 00001285: SLOAD 00001286: PUSH1 0xcf 00001288: SLOAD 00001289: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000129e: SWAP2 0000129f: DUP3 000012a0: AND 000012a1: SWAP2 000012a2: AND 000012a3: DUP3 000012a4: JUMP 000012a5: JUMPDEST 000012a6: PUSH1 0x65 000012a8: SLOAD 000012a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012be: AND 000012bf: SWAP1 000012c0: JUMP 000012c1: JUMPDEST 000012c2: PUSH1 0x37 000012c4: DUP1 000012c5: SLOAD 000012c6: PUSH1 0x40 000012c8: DUP1 000012c9: MLOAD 000012ca: PUSH1 0x20 000012cc: PUSH1 0x1f 000012ce: PUSH1 0x02 000012d0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000012f1: PUSH2 0x0100 000012f4: PUSH1 0x01 000012f6: DUP9 000012f7: AND 000012f8: ISZERO 000012f9: MUL 000012fa: ADD 000012fb: SWAP1 000012fc: SWAP6 000012fd: AND 000012fe: SWAP5 000012ff: SWAP1 00001300: SWAP5 00001301: DIV 00001302: SWAP4 00001303: DUP5 00001304: ADD 00001305: DUP2 00001306: SWAP1 00001307: DIV 00001308: DUP2 00001309: MUL 0000130a: DUP3 0000130b: ADD 0000130c: DUP2 0000130d: ADD 0000130e: SWAP1 0000130f: SWAP3 00001310: MSTORE 00001311: DUP3 00001312: DUP2 00001313: MSTORE 00001314: PUSH1 0x60 00001316: SWAP4 00001317: SWAP1 00001318: SWAP3 00001319: SWAP1 0000131a: SWAP2 0000131b: DUP4 0000131c: ADD 0000131d: DUP3 0000131e: DUP3 0000131f: DUP1 00001320: ISZERO 00001321: PUSH2 0x0679 00001324: JUMPI 00001325: DUP1 00001326: PUSH1 0x1f 00001328: LT 00001329: PUSH2 0x064e 0000132c: JUMPI 0000132d: PUSH2 0x0100 00001330: DUP1 00001331: DUP4 00001332: SLOAD 00001333: DIV 00001334: MUL 00001335: DUP4 00001336: MSTORE 00001337: SWAP2 00001338: PUSH1 0x20 0000133a: ADD 0000133b: SWAP2 0000133c: PUSH2 0x0679 0000133f: JUMP 00001340: JUMPDEST 00001341: PUSH1 0x00 00001343: DUP2 00001344: GT 00001345: PUSH2 0x137a 00001348: JUMPI 00001349: PUSH1 0x40 0000134b: MLOAD 0000134c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000136d: DUP2 0000136e: MSTORE 0000136f: PUSH1 0x04 00001371: ADD 00001372: PUSH2 0x0478 00001375: SWAP1 00001376: PUSH2 0x3964 00001379: JUMP 0000137a: JUMPDEST 0000137b: PUSH2 0x1383 0000137e: CALLER 0000137f: PUSH2 0x0f33 00001382: JUMP 00001383: JUMPDEST 00001384: DUP2 00001385: GT 00001386: ISZERO 00001387: PUSH2 0x13bc 0000138a: JUMPI 0000138b: PUSH1 0x40 0000138d: MLOAD 0000138e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000013af: DUP2 000013b0: MSTORE 000013b1: PUSH1 0x04 000013b3: ADD 000013b4: PUSH2 0x0478 000013b7: SWAP1 000013b8: PUSH2 0x33ea 000013bb: JUMP 000013bc: JUMPDEST 000013bd: CALLER 000013be: PUSH1 0x00 000013c0: SWAP1 000013c1: DUP2 000013c2: MSTORE 000013c3: PUSH1 0xcc 000013c5: PUSH1 0x20 000013c7: MSTORE 000013c8: PUSH1 0x40 000013ca: SWAP1 000013cb: KECCAK256 000013cc: PUSH1 0x01 000013ce: ADD 000013cf: SLOAD 000013d0: PUSH1 0xcb 000013d2: SLOAD 000013d3: PUSH2 0x13f3 000013d6: SWAP2 000013d7: DUP4 000013d8: SWAP2 000013d9: PUSH2 0x13e7 000013dc: SWAP2 000013dd: PUSH4 0xffffffff 000013e2: PUSH2 0x19f9 000013e5: AND 000013e6: JUMP 000013e7: JUMPDEST 000013e8: SWAP1 000013e9: PUSH4 0xffffffff 000013ee: PUSH2 0x2803 000013f1: AND 000013f2: JUMP 000013f3: JUMPDEST 000013f4: PUSH1 0xcb 000013f6: SSTORE 000013f7: CALLER 000013f8: PUSH1 0x00 000013fa: SWAP1 000013fb: DUP2 000013fc: MSTORE 000013fd: PUSH1 0xcc 000013ff: PUSH1 0x20 00001401: SWAP1 00001402: DUP2 00001403: MSTORE 00001404: PUSH1 0x40 00001406: SWAP2 00001407: DUP3 00001408: SWAP1 00001409: KECCAK256 0000140a: PUSH1 0x01 0000140c: ADD 0000140d: DUP4 0000140e: SWAP1 0000140f: SSTORE 00001410: PUSH1 0xca 00001412: SLOAD 00001413: DUP3 00001414: MLOAD 00001415: PUSH32 0xf99476c900000000000000000000000000000000000000000000000000000000 00001436: DUP2 00001437: MSTORE 00001438: SWAP3 00001439: MLOAD 0000143a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000144f: SWAP1 00001450: SWAP2 00001451: AND 00001452: SWAP3 00001453: PUSH4 0xf99476c9 00001458: SWAP3 00001459: PUSH1 0x04 0000145b: DUP1 0000145c: DUP4 0000145d: ADD 0000145e: SWAP4 0000145f: SWAP2 00001460: SWAP3 00001461: DUP3 00001462: SWAP1 00001463: SUB 00001464: ADD 00001465: DUP2 00001466: DUP7 00001467: DUP1 00001468: EXTCODESIZE 00001469: ISZERO 0000146a: DUP1 0000146b: ISZERO 0000146c: PUSH2 0x1474 0000146f: JUMPI 00001470: PUSH1 0x00 00001472: DUP1 00001473: REVERT 00001474: JUMPDEST 00001475: POP 00001476: GAS 00001477: STATICCALL 00001478: ISZERO 00001479: DUP1 0000147a: ISZERO 0000147b: PUSH2 0x1488 0000147e: JUMPI 0000147f: RETURNDATASIZE 00001480: PUSH1 0x00 00001482: DUP1 00001483: RETURNDATACOPY 00001484: RETURNDATASIZE 00001485: PUSH1 0x00 00001487: REVERT 00001488: JUMPDEST 00001489: POP 0000148a: POP 0000148b: POP 0000148c: POP 0000148d: PUSH1 0x40 0000148f: MLOAD 00001490: RETURNDATASIZE 00001491: PUSH1 0x1f 00001493: NOT 00001494: PUSH1 0x1f 00001496: DUP3 00001497: ADD 00001498: AND 00001499: DUP3 0000149a: ADD 0000149b: DUP1 0000149c: PUSH1 0x40 0000149e: MSTORE 0000149f: POP 000014a0: DUP2 000014a1: ADD 000014a2: SWAP1 000014a3: PUSH2 0x14ac 000014a6: SWAP2 000014a7: SWAP1 000014a8: PUSH2 0x30da 000014ab: JUMP 000014ac: JUMPDEST 000014ad: ISZERO 000014ae: PUSH2 0x156b 000014b1: JUMPI 000014b2: PUSH2 0x1556 000014b5: PUSH1 0x02 000014b7: PUSH1 0xca 000014b9: PUSH1 0x00 000014bb: SWAP1 000014bc: SLOAD 000014bd: SWAP1 000014be: PUSH2 0x0100 000014c1: EXP 000014c2: SWAP1 000014c3: DIV 000014c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014d9: AND 000014da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014ef: AND 000014f0: PUSH4 0x85790945 000014f5: PUSH1 0x40 000014f7: MLOAD 000014f8: DUP2 000014f9: PUSH4 0xffffffff 000014fe: AND 000014ff: PUSH1 0xe0 00001501: SHL 00001502: DUP2 00001503: MSTORE 00001504: PUSH1 0x04 00001506: ADD 00001507: PUSH1 0x20 00001509: PUSH1 0x40 0000150b: MLOAD 0000150c: DUP1 0000150d: DUP4 0000150e: SUB 0000150f: DUP2 00001510: DUP7 00001511: DUP1 00001512: EXTCODESIZE 00001513: ISZERO 00001514: DUP1 00001515: ISZERO 00001516: PUSH2 0x151e 00001519: JUMPI 0000151a: PUSH1 0x00 0000151c: DUP1 0000151d: REVERT 0000151e: JUMPDEST 0000151f: POP 00001520: GAS 00001521: STATICCALL 00001522: ISZERO 00001523: DUP1 00001524: ISZERO 00001525: PUSH2 0x1532 00001528: JUMPI 00001529: RETURNDATASIZE 0000152a: PUSH1 0x00 0000152c: DUP1 0000152d: RETURNDATACOPY 0000152e: RETURNDATASIZE 0000152f: PUSH1 0x00 00001531: REVERT 00001532: JUMPDEST 00001533: POP 00001534: POP 00001535: POP 00001536: POP 00001537: PUSH1 0x40 00001539: MLOAD 0000153a: RETURNDATASIZE 0000153b: PUSH1 0x1f 0000153d: NOT 0000153e: PUSH1 0x1f 00001540: DUP3 00001541: ADD 00001542: AND 00001543: DUP3 00001544: ADD 00001545: DUP1 00001546: PUSH1 0x40 00001548: MSTORE 00001549: POP 0000154a: DUP2 0000154b: ADD 0000154c: SWAP1 0000154d: PUSH2 0x13e7 00001550: SWAP2 00001551: SWAP1 00001552: PUSH2 0x3194 00001555: JUMP 00001556: JUMPDEST 00001557: CALLER 00001558: PUSH1 0x00 0000155a: SWAP1 0000155b: DUP2 0000155c: MSTORE 0000155d: PUSH1 0xcc 0000155f: PUSH1 0x20 00001561: MSTORE 00001562: PUSH1 0x40 00001564: SWAP1 00001565: KECCAK256 00001566: SSTORE 00001567: PUSH2 0x15e9 0000156a: JUMP 0000156b: JUMPDEST 0000156c: PUSH2 0x15d8 0000156f: PUSH1 0x01 00001571: PUSH1 0xca 00001573: PUSH1 0x00 00001575: SWAP1 00001576: SLOAD 00001577: SWAP1 00001578: PUSH2 0x0100 0000157b: EXP 0000157c: SWAP1 0000157d: DIV 0000157e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001593: AND 00001594: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015a9: AND 000015aa: PUSH4 0x85790945 000015af: PUSH1 0x40 000015b1: MLOAD 000015b2: DUP2 000015b3: PUSH4 0xffffffff 000015b8: AND 000015b9: PUSH1 0xe0 000015bb: SHL 000015bc: DUP2 000015bd: MSTORE 000015be: PUSH1 0x04 000015c0: ADD 000015c1: PUSH1 0x20 000015c3: PUSH1 0x40 000015c5: MLOAD 000015c6: DUP1 000015c7: DUP4 000015c8: SUB 000015c9: DUP2 000015ca: DUP7 000015cb: DUP1 000015cc: EXTCODESIZE 000015cd: ISZERO 000015ce: DUP1 000015cf: ISZERO 000015d0: PUSH2 0x151e 000015d3: JUMPI 000015d4: PUSH1 0x00 000015d6: DUP1 000015d7: REVERT 000015d8: JUMPDEST 000015d9: CALLER 000015da: PUSH1 0x00 000015dc: SWAP1 000015dd: DUP2 000015de: MSTORE 000015df: PUSH1 0xcc 000015e1: PUSH1 0x20 000015e3: MSTORE 000015e4: PUSH1 0x40 000015e6: SWAP1 000015e7: KECCAK256 000015e8: SSTORE 000015e9: JUMPDEST 000015ea: PUSH32 0xe670e4e82118d22a1f9ee18920455ebc958bae26a90a05d31d3378788b1b0e44 0000160b: CALLER 0000160c: DUP3 0000160d: PUSH1 0x40 0000160f: MLOAD 00001610: PUSH2 0x161a 00001613: SWAP3 00001614: SWAP2 00001615: SWAP1 00001616: PUSH2 0x3254 00001619: JUMP 0000161a: JUMPDEST 0000161b: PUSH1 0x40 0000161d: MLOAD 0000161e: DUP1 0000161f: SWAP2 00001620: SUB 00001621: SWAP1 00001622: LOG1 00001623: POP 00001624: JUMP 00001625: JUMPDEST 00001626: PUSH1 0x00 00001628: PUSH2 0x0698 0000162b: PUSH2 0x1632 0000162e: PUSH2 0x19f5 00001631: JUMP 00001632: JUMPDEST 00001633: DUP5 00001634: PUSH2 0x0e86 00001637: DUP6 00001638: PUSH1 0x40 0000163a: MLOAD 0000163b: DUP1 0000163c: PUSH1 0x60 0000163e: ADD 0000163f: PUSH1 0x40 00001641: MSTORE 00001642: DUP1 00001643: PUSH1 0x25 00001645: DUP2 00001646: MSTORE 00001647: PUSH1 0x20 00001649: ADD 0000164a: PUSH2 0x3b70 0000164d: PUSH1 0x25 0000164f: SWAP2 00001650: CODECOPY 00001651: PUSH1 0x34 00001653: PUSH1 0x00 00001655: PUSH2 0x165c 00001658: PUSH2 0x19f5 0000165b: JUMP 0000165c: JUMPDEST 0000165d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001672: SWAP1 00001673: DUP2 00001674: AND 00001675: DUP3 00001676: MSTORE 00001677: PUSH1 0x20 00001679: DUP1 0000167a: DUP4 0000167b: ADD 0000167c: SWAP4 0000167d: SWAP1 0000167e: SWAP4 0000167f: MSTORE 00001680: PUSH1 0x40 00001682: SWAP2 00001683: DUP3 00001684: ADD 00001685: PUSH1 0x00 00001687: SWAP1 00001688: DUP2 00001689: KECCAK256 0000168a: SWAP2 0000168b: DUP14 0000168c: AND 0000168d: DUP2 0000168e: MSTORE 0000168f: SWAP3 00001690: MSTORE 00001691: SWAP1 00001692: KECCAK256 00001693: SLOAD 00001694: SWAP2 00001695: SWAP1 00001696: PUSH4 0xffffffff 0000169b: PUSH2 0x297b 0000169e: AND 0000169f: JUMP 000016a0: JUMPDEST 000016a1: PUSH1 0x00 000016a3: PUSH2 0x16aa 000016a6: PUSH2 0x0f2a 000016a9: JUMP 000016aa: JUMPDEST 000016ab: ISZERO 000016ac: PUSH2 0x16e1 000016af: JUMPI 000016b0: PUSH1 0x40 000016b2: MLOAD 000016b3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000016d4: DUP2 000016d5: MSTORE 000016d6: PUSH1 0x04 000016d8: ADD 000016d9: PUSH2 0x0478 000016dc: SWAP1 000016dd: PUSH2 0x3614 000016e0: JUMP 000016e1: JUMPDEST 000016e2: PUSH2 0x16eb 000016e5: CALLER 000016e6: DUP4 000016e7: PUSH2 0x21f7 000016ea: JUMP 000016eb: JUMPDEST 000016ec: PUSH1 0x00 000016ee: PUSH2 0x16f7 000016f1: DUP5 000016f2: DUP5 000016f3: PUSH2 0x29c1 000016f6: JUMP 000016f7: JUMPDEST 000016f8: SWAP1 000016f9: POP 000016fa: PUSH32 0x5472616e73666572000000000000000000000000000000000000000000000000 0000171b: PUSH2 0x1724 0000171e: DUP2 0000171f: CALLER 00001720: PUSH2 0x23e5 00001723: JUMP 00001724: JUMPDEST 00001725: PUSH2 0x172e 00001728: DUP2 00001729: DUP7 0000172a: PUSH2 0x23e5 0000172d: JUMP 0000172e: JUMPDEST 0000172f: POP 00001730: SWAP4 00001731: SWAP3 00001732: POP 00001733: POP 00001734: POP 00001735: JUMP 00001736: JUMPDEST 00001737: PUSH2 0x173e 0000173a: PUSH2 0x0f2a 0000173d: JUMP 0000173e: JUMPDEST 0000173f: ISZERO 00001740: PUSH2 0x1775 00001743: JUMPI 00001744: PUSH1 0x40 00001746: MLOAD 00001747: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001768: DUP2 00001769: MSTORE 0000176a: PUSH1 0x04 0000176c: ADD 0000176d: PUSH2 0x0478 00001770: SWAP1 00001771: PUSH2 0x3614 00001774: JUMP 00001775: JUMPDEST 00001776: PUSH2 0x1780 00001779: CALLER 0000177a: CALLER 0000177b: DUP4 0000177c: PUSH2 0x271c 0000177f: JUMP 00001780: JUMPDEST 00001781: POP 00001782: JUMP 00001783: JUMPDEST 00001784: PUSH1 0xcc 00001786: PUSH1 0x20 00001788: MSTORE 00001789: PUSH1 0x00 0000178b: SWAP1 0000178c: DUP2 0000178d: MSTORE 0000178e: PUSH1 0x40 00001790: SWAP1 00001791: KECCAK256 00001792: DUP1 00001793: SLOAD 00001794: PUSH1 0x01 00001796: SWAP1 00001797: SWAP2 00001798: ADD 00001799: SLOAD 0000179a: DUP3 0000179b: JUMP 0000179c: JUMPDEST 0000179d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017b2: SWAP2 000017b3: DUP3 000017b4: AND 000017b5: PUSH1 0x00 000017b7: SWAP1 000017b8: DUP2 000017b9: MSTORE 000017ba: PUSH1 0x34 000017bc: PUSH1 0x20 000017be: SWAP1 000017bf: DUP2 000017c0: MSTORE 000017c1: PUSH1 0x40 000017c3: DUP1 000017c4: DUP4 000017c5: KECCAK256 000017c6: SWAP4 000017c7: SWAP1 000017c8: SWAP5 000017c9: AND 000017ca: DUP3 000017cb: MSTORE 000017cc: SWAP2 000017cd: SWAP1 000017ce: SWAP2 000017cf: MSTORE 000017d0: KECCAK256 000017d1: SLOAD 000017d2: SWAP1 000017d3: JUMP 000017d4: JUMPDEST 000017d5: PUSH2 0x17dc 000017d8: PUSH2 0x19f5 000017db: JUMP 000017dc: JUMPDEST 000017dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017f2: AND 000017f3: PUSH2 0x17fa 000017f6: PUSH2 0x12a5 000017f9: JUMP 000017fa: JUMPDEST 000017fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001810: AND 00001811: EQ 00001812: PUSH2 0x1847 00001815: JUMPI 00001816: PUSH1 0x40 00001818: MLOAD 00001819: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000183a: DUP2 0000183b: MSTORE 0000183c: PUSH1 0x04 0000183e: ADD 0000183f: PUSH2 0x0478 00001842: SWAP1 00001843: PUSH2 0x3784 00001846: JUMP 00001847: JUMPDEST 00001848: PUSH1 0xcd 0000184a: DUP1 0000184b: SLOAD 0000184c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 0000186d: AND 0000186e: PUSH2 0x0100 00001871: DUP4 00001872: ISZERO 00001873: ISZERO 00001874: MUL 00001875: OR 00001876: SWAP1 00001877: SSTORE 00001878: PUSH1 0x40 0000187a: MLOAD 0000187b: PUSH32 0xe7123337c95757f19d69c6dcdd015734e22a7750c921506a2d02f487678e8aea 0000189c: SWAP1 0000189d: PUSH2 0x161a 000018a0: SWAP1 000018a1: DUP4 000018a2: SWAP1 000018a3: PUSH2 0x3301 000018a6: JUMP 000018a7: JUMPDEST 000018a8: PUSH2 0x18af 000018ab: PUSH2 0x19f5 000018ae: JUMP 000018af: JUMPDEST 000018b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018c5: AND 000018c6: PUSH2 0x18cd 000018c9: PUSH2 0x12a5 000018cc: JUMP 000018cd: JUMPDEST 000018ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018e3: AND 000018e4: EQ 000018e5: PUSH2 0x191a 000018e8: JUMPI 000018e9: PUSH1 0x40 000018eb: MLOAD 000018ec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000190d: DUP2 0000190e: MSTORE 0000190f: PUSH1 0x04 00001911: ADD 00001912: PUSH2 0x0478 00001915: SWAP1 00001916: PUSH2 0x3784 00001919: JUMP 0000191a: JUMPDEST 0000191b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001930: DUP2 00001931: AND 00001932: PUSH2 0x1967 00001935: JUMPI 00001936: PUSH1 0x40 00001938: MLOAD 00001939: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000195a: DUP2 0000195b: MSTORE 0000195c: PUSH1 0x04 0000195e: ADD 0000195f: PUSH2 0x0478 00001962: SWAP1 00001963: PUSH2 0x3421 00001966: JUMP 00001967: JUMPDEST 00001968: PUSH1 0x65 0000196a: SLOAD 0000196b: PUSH1 0x40 0000196d: MLOAD 0000196e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001983: DUP1 00001984: DUP5 00001985: AND 00001986: SWAP3 00001987: AND 00001988: SWAP1 00001989: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000019aa: SWAP1 000019ab: PUSH1 0x00 000019ad: SWAP1 000019ae: LOG3 000019af: PUSH1 0x65 000019b1: DUP1 000019b2: SLOAD 000019b3: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000019d4: AND 000019d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019ea: SWAP3 000019eb: SWAP1 000019ec: SWAP3 000019ed: AND 000019ee: SWAP2 000019ef: SWAP1 000019f0: SWAP2 000019f1: OR 000019f2: SWAP1 000019f3: SSTORE 000019f4: JUMP 000019f5: JUMPDEST 000019f6: CALLER 000019f7: SWAP1 000019f8: JUMP 000019f9: JUMPDEST 000019fa: PUSH1 0x00 000019fc: DUP3 000019fd: DUP3 000019fe: GT 000019ff: ISZERO 00001a00: PUSH2 0x1a35 00001a03: JUMPI 00001a04: PUSH1 0x40 00001a06: MLOAD 00001a07: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a28: DUP2 00001a29: MSTORE 00001a2a: PUSH1 0x04 00001a2c: ADD 00001a2d: PUSH2 0x0478 00001a30: SWAP1 00001a31: PUSH2 0x3512 00001a34: JUMP 00001a35: JUMPDEST 00001a36: POP 00001a37: SWAP1 00001a38: SUB 00001a39: SWAP1 00001a3a: JUMP 00001a3b: JUMPDEST 00001a3c: PUSH1 0x00 00001a3e: PUSH2 0x1a94 00001a41: DUP3 00001a42: DUP6 00001a43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a58: AND 00001a59: PUSH4 0xdd62ed3e 00001a5e: ADDRESS 00001a5f: DUP8 00001a60: PUSH1 0x40 00001a62: MLOAD 00001a63: DUP4 00001a64: PUSH4 0xffffffff 00001a69: AND 00001a6a: PUSH1 0xe0 00001a6c: SHL 00001a6d: DUP2 00001a6e: MSTORE 00001a6f: PUSH1 0x04 00001a71: ADD 00001a72: PUSH2 0x1a7c 00001a75: SWAP3 00001a76: SWAP2 00001a77: SWAP1 00001a78: PUSH2 0x327a 00001a7b: JUMP 00001a7c: JUMPDEST 00001a7d: PUSH1 0x20 00001a7f: PUSH1 0x40 00001a81: MLOAD 00001a82: DUP1 00001a83: DUP4 00001a84: SUB 00001a85: DUP2 00001a86: DUP7 00001a87: DUP1 00001a88: EXTCODESIZE 00001a89: ISZERO 00001a8a: DUP1 00001a8b: ISZERO 00001a8c: PUSH2 0x151e 00001a8f: JUMPI 00001a90: PUSH1 0x00 00001a92: DUP1 00001a93: REVERT 00001a94: JUMPDEST 00001a95: SWAP1 00001a96: POP 00001a97: PUSH2 0x1b37 00001a9a: DUP5 00001a9b: PUSH4 0x095ea7b3 00001aa0: PUSH1 0xe0 00001aa2: SHL 00001aa3: DUP6 00001aa4: DUP5 00001aa5: PUSH1 0x40 00001aa7: MLOAD 00001aa8: PUSH1 0x24 00001aaa: ADD 00001aab: PUSH2 0x1ab5 00001aae: SWAP3 00001aaf: SWAP2 00001ab0: SWAP1 00001ab1: PUSH2 0x3254 00001ab4: JUMP 00001ab5: JUMPDEST 00001ab6: PUSH1 0x40 00001ab8: DUP1 00001ab9: MLOAD 00001aba: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001adb: DUP2 00001adc: DUP5 00001add: SUB 00001ade: ADD 00001adf: DUP2 00001ae0: MSTORE 00001ae1: SWAP2 00001ae2: SWAP1 00001ae3: MSTORE 00001ae4: PUSH1 0x20 00001ae6: DUP2 00001ae7: ADD 00001ae8: DUP1 00001ae9: MLOAD 00001aea: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001b07: AND 00001b08: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00001b29: SWAP1 00001b2a: SWAP4 00001b2b: AND 00001b2c: SWAP3 00001b2d: SWAP1 00001b2e: SWAP3 00001b2f: OR 00001b30: SWAP1 00001b31: SWAP2 00001b32: MSTORE 00001b33: PUSH2 0x29d5 00001b36: JUMP 00001b37: JUMPDEST 00001b38: POP 00001b39: POP 00001b3a: POP 00001b3b: POP 00001b3c: JUMP 00001b3d: JUMPDEST 00001b3e: PUSH1 0x00 00001b40: PUSH2 0x1a94 00001b43: DUP3 00001b44: PUSH1 0x40 00001b46: MLOAD 00001b47: DUP1 00001b48: PUSH1 0x60 00001b4a: ADD 00001b4b: PUSH1 0x40 00001b4d: MSTORE 00001b4e: DUP1 00001b4f: PUSH1 0x29 00001b51: DUP2 00001b52: MSTORE 00001b53: PUSH1 0x20 00001b55: ADD 00001b56: PUSH2 0x3af9 00001b59: PUSH1 0x29 00001b5b: SWAP2 00001b5c: CODECOPY 00001b5d: PUSH1 0x40 00001b5f: MLOAD 00001b60: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 00001b81: DUP2 00001b82: MSTORE 00001b83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b98: DUP9 00001b99: AND 00001b9a: SWAP1 00001b9b: PUSH4 0xdd62ed3e 00001ba0: SWAP1 00001ba1: PUSH2 0x1bb0 00001ba4: SWAP1 00001ba5: ADDRESS 00001ba6: SWAP1 00001ba7: DUP11 00001ba8: SWAP1 00001ba9: PUSH1 0x04 00001bab: ADD 00001bac: PUSH2 0x327a 00001baf: JUMP 00001bb0: JUMPDEST 00001bb1: PUSH1 0x20 00001bb3: PUSH1 0x40 00001bb5: MLOAD 00001bb6: DUP1 00001bb7: DUP4 00001bb8: SUB 00001bb9: DUP2 00001bba: DUP7 00001bbb: DUP1 00001bbc: EXTCODESIZE 00001bbd: ISZERO 00001bbe: DUP1 00001bbf: ISZERO 00001bc0: PUSH2 0x1bc8 00001bc3: JUMPI 00001bc4: PUSH1 0x00 00001bc6: DUP1 00001bc7: REVERT 00001bc8: JUMPDEST 00001bc9: POP 00001bca: GAS 00001bcb: STATICCALL 00001bcc: ISZERO 00001bcd: DUP1 00001bce: ISZERO 00001bcf: PUSH2 0x1bdc 00001bd2: JUMPI 00001bd3: RETURNDATASIZE 00001bd4: PUSH1 0x00 00001bd6: DUP1 00001bd7: RETURNDATACOPY 00001bd8: RETURNDATASIZE 00001bd9: PUSH1 0x00 00001bdb: REVERT 00001bdc: JUMPDEST 00001bdd: POP 00001bde: POP 00001bdf: POP 00001be0: POP 00001be1: PUSH1 0x40 00001be3: MLOAD 00001be4: RETURNDATASIZE 00001be5: PUSH1 0x1f 00001be7: NOT 00001be8: PUSH1 0x1f 00001bea: DUP3 00001beb: ADD 00001bec: AND 00001bed: DUP3 00001bee: ADD 00001bef: DUP1 00001bf0: PUSH1 0x40 00001bf2: MSTORE 00001bf3: POP 00001bf4: DUP2 00001bf5: ADD 00001bf6: SWAP1 00001bf7: PUSH2 0x1c00 00001bfa: SWAP2 00001bfb: SWAP1 00001bfc: PUSH2 0x3194 00001bff: JUMP 00001c00: JUMPDEST 00001c01: SWAP2 00001c02: SWAP1 00001c03: PUSH4 0xffffffff 00001c08: PUSH2 0x297b 00001c0b: AND 00001c0c: JUMP 00001c0d: JUMPDEST 00001c0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c23: DUP4 00001c24: AND 00001c25: PUSH2 0x1c5a 00001c28: JUMPI 00001c29: PUSH1 0x40 00001c2b: MLOAD 00001c2c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c4d: DUP2 00001c4e: MSTORE 00001c4f: PUSH1 0x04 00001c51: ADD 00001c52: PUSH2 0x0478 00001c55: SWAP1 00001c56: PUSH2 0x3873 00001c59: JUMP 00001c5a: JUMPDEST 00001c5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c70: DUP3 00001c71: AND 00001c72: PUSH2 0x1ca7 00001c75: JUMPI 00001c76: PUSH1 0x40 00001c78: MLOAD 00001c79: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c9a: DUP2 00001c9b: MSTORE 00001c9c: PUSH1 0x04 00001c9e: ADD 00001c9f: PUSH2 0x0478 00001ca2: SWAP1 00001ca3: PUSH2 0x347e 00001ca6: JUMP 00001ca7: JUMPDEST 00001ca8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cbd: DUP1 00001cbe: DUP5 00001cbf: AND 00001cc0: PUSH1 0x00 00001cc2: DUP2 00001cc3: DUP2 00001cc4: MSTORE 00001cc5: PUSH1 0x34 00001cc7: PUSH1 0x20 00001cc9: SWAP1 00001cca: DUP2 00001ccb: MSTORE 00001ccc: PUSH1 0x40 00001cce: DUP1 00001ccf: DUP4 00001cd0: KECCAK256 00001cd1: SWAP5 00001cd2: DUP8 00001cd3: AND 00001cd4: DUP1 00001cd5: DUP5 00001cd6: MSTORE 00001cd7: SWAP5 00001cd8: SWAP1 00001cd9: SWAP2 00001cda: MSTORE 00001cdb: SWAP1 00001cdc: DUP2 00001cdd: SWAP1 00001cde: KECCAK256 00001cdf: DUP5 00001ce0: SWAP1 00001ce1: SSTORE 00001ce2: MLOAD 00001ce3: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00001d04: SWAP1 00001d05: PUSH2 0x1d0f 00001d08: SWAP1 00001d09: DUP6 00001d0a: SWAP1 00001d0b: PUSH2 0x3a55 00001d0e: JUMP 00001d0f: JUMPDEST 00001d10: PUSH1 0x40 00001d12: MLOAD 00001d13: DUP1 00001d14: SWAP2 00001d15: SUB 00001d16: SWAP1 00001d17: LOG3 00001d18: POP 00001d19: POP 00001d1a: POP 00001d1b: JUMP 00001d1c: JUMPDEST 00001d1d: PUSH1 0x00 00001d1f: PUSH2 0x1d27 00001d22: ADDRESS 00001d23: PUSH2 0x2a8b 00001d26: JUMP 00001d27: JUMPDEST 00001d28: ISZERO 00001d29: SWAP1 00001d2a: POP 00001d2b: SWAP1 00001d2c: JUMP 00001d2d: JUMPDEST 00001d2e: PUSH1 0x00 00001d30: SLOAD 00001d31: PUSH2 0x0100 00001d34: SWAP1 00001d35: DIV 00001d36: PUSH1 0xff 00001d38: AND 00001d39: DUP1 00001d3a: PUSH2 0x1d46 00001d3d: JUMPI 00001d3e: POP 00001d3f: PUSH2 0x1d46 00001d42: PUSH2 0x1d1c 00001d45: JUMP 00001d46: JUMPDEST 00001d47: DUP1 00001d48: PUSH2 0x1d54 00001d4b: JUMPI 00001d4c: POP 00001d4d: PUSH1 0x00 00001d4f: SLOAD 00001d50: PUSH1 0xff 00001d52: AND 00001d53: ISZERO 00001d54: JUMPDEST 00001d55: PUSH2 0x1d8a 00001d58: JUMPI 00001d59: PUSH1 0x40 00001d5b: MLOAD 00001d5c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001d7d: DUP2 00001d7e: MSTORE 00001d7f: PUSH1 0x04 00001d81: ADD 00001d82: PUSH2 0x0478 00001d85: SWAP1 00001d86: PUSH2 0x3682 00001d89: JUMP 00001d8a: JUMPDEST 00001d8b: PUSH1 0x00 00001d8d: SLOAD 00001d8e: PUSH2 0x0100 00001d91: SWAP1 00001d92: DIV 00001d93: PUSH1 0xff 00001d95: AND 00001d96: ISZERO 00001d97: DUP1 00001d98: ISZERO 00001d99: PUSH2 0x1df0 00001d9c: JUMPI 00001d9d: PUSH1 0x00 00001d9f: DUP1 00001da0: SLOAD 00001da1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001dc2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001de3: SWAP1 00001de4: SWAP2 00001de5: AND 00001de6: PUSH2 0x0100 00001de9: OR 00001dea: AND 00001deb: PUSH1 0x01 00001ded: OR 00001dee: SWAP1 00001def: SSTORE 00001df0: JUMPDEST 00001df1: DUP1 00001df2: ISZERO 00001df3: PUSH2 0x1780 00001df6: JUMPI 00001df7: PUSH1 0x00 00001df9: DUP1 00001dfa: SLOAD 00001dfb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001e1c: AND 00001e1d: SWAP1 00001e1e: SSTORE 00001e1f: POP 00001e20: JUMP 00001e21: JUMPDEST 00001e22: PUSH1 0x00 00001e24: SLOAD 00001e25: PUSH2 0x0100 00001e28: SWAP1 00001e29: DIV 00001e2a: PUSH1 0xff 00001e2c: AND 00001e2d: DUP1 00001e2e: PUSH2 0x1e3a 00001e31: JUMPI 00001e32: POP 00001e33: PUSH2 0x1e3a 00001e36: PUSH2 0x1d1c 00001e39: JUMP 00001e3a: JUMPDEST 00001e3b: DUP1 00001e3c: PUSH2 0x1e48 00001e3f: JUMPI 00001e40: POP 00001e41: PUSH1 0x00 00001e43: SLOAD 00001e44: PUSH1 0xff 00001e46: AND 00001e47: ISZERO 00001e48: JUMPDEST 00001e49: PUSH2 0x1e7e 00001e4c: JUMPI 00001e4d: PUSH1 0x40 00001e4f: MLOAD 00001e50: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001e71: DUP2 00001e72: MSTORE 00001e73: PUSH1 0x04 00001e75: ADD 00001e76: PUSH2 0x0478 00001e79: SWAP1 00001e7a: PUSH2 0x3682 00001e7d: JUMP 00001e7e: JUMPDEST 00001e7f: PUSH1 0x00 00001e81: SLOAD 00001e82: PUSH2 0x0100 00001e85: SWAP1 00001e86: DIV 00001e87: PUSH1 0xff 00001e89: AND 00001e8a: ISZERO 00001e8b: DUP1 00001e8c: ISZERO 00001e8d: PUSH2 0x1ee4 00001e90: JUMPI 00001e91: PUSH1 0x00 00001e93: DUP1 00001e94: SLOAD 00001e95: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001eb6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001ed7: SWAP1 00001ed8: SWAP2 00001ed9: AND 00001eda: PUSH2 0x0100 00001edd: OR 00001ede: AND 00001edf: PUSH1 0x01 00001ee1: OR 00001ee2: SWAP1 00001ee3: SSTORE 00001ee4: JUMPDEST 00001ee5: PUSH1 0x00 00001ee7: PUSH2 0x1eee 00001eea: PUSH2 0x19f5 00001eed: JUMP 00001eee: JUMPDEST 00001eef: PUSH1 0x65 00001ef1: DUP1 00001ef2: SLOAD 00001ef3: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001f14: AND 00001f15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f2a: DUP4 00001f2b: AND 00001f2c: SWAP1 00001f2d: DUP2 00001f2e: OR 00001f2f: SWAP1 00001f30: SWAP2 00001f31: SSTORE 00001f32: PUSH1 0x40 00001f34: MLOAD 00001f35: SWAP2 00001f36: SWAP3 00001f37: POP 00001f38: SWAP1 00001f39: PUSH1 0x00 00001f3b: SWAP1 00001f3c: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001f5d: SWAP1 00001f5e: DUP3 00001f5f: SWAP1 00001f60: LOG3 00001f61: POP 00001f62: DUP1 00001f63: ISZERO 00001f64: PUSH2 0x1780 00001f67: JUMPI 00001f68: PUSH1 0x00 00001f6a: DUP1 00001f6b: SLOAD 00001f6c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001f8d: AND 00001f8e: SWAP1 00001f8f: SSTORE 00001f90: POP 00001f91: JUMP 00001f92: JUMPDEST 00001f93: PUSH1 0x00 00001f95: SLOAD 00001f96: PUSH2 0x0100 00001f99: SWAP1 00001f9a: DIV 00001f9b: PUSH1 0xff 00001f9d: AND 00001f9e: DUP1 00001f9f: PUSH2 0x1fab 00001fa2: JUMPI 00001fa3: POP 00001fa4: PUSH2 0x1fab 00001fa7: PUSH2 0x1d1c 00001faa: JUMP 00001fab: JUMPDEST 00001fac: DUP1 00001fad: PUSH2 0x1fb9 00001fb0: JUMPI 00001fb1: POP 00001fb2: PUSH1 0x00 00001fb4: SLOAD 00001fb5: PUSH1 0xff 00001fb7: AND 00001fb8: ISZERO 00001fb9: JUMPDEST 00001fba: PUSH2 0x1fef 00001fbd: JUMPI 00001fbe: PUSH1 0x40 00001fc0: MLOAD 00001fc1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001fe2: DUP2 00001fe3: MSTORE 00001fe4: PUSH1 0x04 00001fe6: ADD 00001fe7: PUSH2 0x0478 00001fea: SWAP1 00001feb: PUSH2 0x3682 00001fee: JUMP 00001fef: JUMPDEST 00001ff0: PUSH1 0x00 00001ff2: SLOAD 00001ff3: PUSH2 0x0100 00001ff6: SWAP1 00001ff7: DIV 00001ff8: PUSH1 0xff 00001ffa: AND 00001ffb: ISZERO 00001ffc: DUP1 00001ffd: ISZERO 00001ffe: PUSH2 0x2055 00002001: JUMPI 00002002: PUSH1 0x00 00002004: DUP1 00002005: SLOAD 00002006: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002027: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00002048: SWAP1 00002049: SWAP2 0000204a: AND 0000204b: PUSH2 0x0100 0000204e: OR 0000204f: AND 00002050: PUSH1 0x01 00002052: OR 00002053: SWAP1 00002054: SSTORE 00002055: JUMPDEST 00002056: PUSH1 0x97 00002058: DUP1 00002059: SLOAD 0000205a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 0000207b: AND 0000207c: SWAP1 0000207d: SSTORE 0000207e: DUP1 0000207f: ISZERO 00002080: PUSH2 0x1780 00002083: JUMPI 00002084: PUSH1 0x00 00002086: DUP1 00002087: SLOAD 00002088: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 000020a9: AND 000020aa: SWAP1 000020ab: SSTORE 000020ac: POP 000020ad: JUMP 000020ae: JUMPDEST 000020af: PUSH1 0x00 000020b1: SLOAD 000020b2: PUSH2 0x0100 000020b5: SWAP1 000020b6: DIV 000020b7: PUSH1 0xff 000020b9: AND 000020ba: DUP1 000020bb: PUSH2 0x20c7 000020be: JUMPI 000020bf: POP 000020c0: PUSH2 0x20c7 000020c3: PUSH2 0x1d1c 000020c6: JUMP 000020c7: JUMPDEST 000020c8: DUP1 000020c9: PUSH2 0x20d5 000020cc: JUMPI 000020cd: POP 000020ce: PUSH1 0x00 000020d0: SLOAD 000020d1: PUSH1 0xff 000020d3: AND 000020d4: ISZERO 000020d5: JUMPDEST 000020d6: PUSH2 0x210b 000020d9: JUMPI 000020da: PUSH1 0x40 000020dc: MLOAD 000020dd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000020fe: DUP2 000020ff: MSTORE 00002100: PUSH1 0x04 00002102: ADD 00002103: PUSH2 0x0478 00002106: SWAP1 00002107: PUSH2 0x3682 0000210a: JUMP 0000210b: JUMPDEST 0000210c: PUSH1 0x00 0000210e: SLOAD 0000210f: PUSH2 0x0100 00002112: SWAP1 00002113: DIV 00002114: PUSH1 0xff 00002116: AND 00002117: ISZERO 00002118: DUP1 00002119: ISZERO 0000211a: PUSH2 0x2171 0000211d: JUMPI 0000211e: PUSH1 0x00 00002120: DUP1 00002121: SLOAD 00002122: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002143: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00002164: SWAP1 00002165: SWAP2 00002166: AND 00002167: PUSH2 0x0100 0000216a: OR 0000216b: AND 0000216c: PUSH1 0x01 0000216e: OR 0000216f: SWAP1 00002170: SSTORE 00002171: JUMPDEST 00002172: DUP3 00002173: MLOAD 00002174: PUSH2 0x2184 00002177: SWAP1 00002178: PUSH1 0x36 0000217a: SWAP1 0000217b: PUSH1 0x20 0000217d: DUP7 0000217e: ADD 0000217f: SWAP1 00002180: PUSH2 0x2ecb 00002183: JUMP 00002184: JUMPDEST 00002185: POP 00002186: DUP2 00002187: MLOAD 00002188: PUSH2 0x2198 0000218b: SWAP1 0000218c: PUSH1 0x37 0000218e: SWAP1 0000218f: PUSH1 0x20 00002191: DUP6 00002192: ADD 00002193: SWAP1 00002194: PUSH2 0x2ecb 00002197: JUMP 00002198: JUMPDEST 00002199: POP 0000219a: PUSH1 0x38 0000219c: DUP1 0000219d: SLOAD 0000219e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000021bf: AND 000021c0: PUSH1 0x12 000021c2: OR 000021c3: SWAP1 000021c4: SSTORE 000021c5: DUP1 000021c6: ISZERO 000021c7: PUSH2 0x05c9 000021ca: JUMPI 000021cb: PUSH1 0x00 000021cd: DUP1 000021ce: SLOAD 000021cf: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 000021f0: AND 000021f1: SWAP1 000021f2: SSTORE 000021f3: POP 000021f4: POP 000021f5: POP 000021f6: JUMP 000021f7: JUMPDEST 000021f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000220d: DUP3 0000220e: AND 0000220f: PUSH1 0x00 00002211: SWAP1 00002212: DUP2 00002213: MSTORE 00002214: PUSH1 0xcc 00002216: PUSH1 0x20 00002218: MSTORE 00002219: PUSH1 0x40 0000221b: SWAP1 0000221c: KECCAK256 0000221d: PUSH1 0x01 0000221f: ADD 00002220: SLOAD 00002221: ISZERO 00002222: PUSH2 0x05cb 00002225: JUMPI 00002226: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000223b: DUP3 0000223c: AND 0000223d: PUSH1 0x00 0000223f: SWAP1 00002240: DUP2 00002241: MSTORE 00002242: PUSH1 0xcc 00002244: PUSH1 0x20 00002246: MSTORE 00002247: PUSH1 0x40 00002249: DUP2 0000224a: KECCAK256 0000224b: PUSH1 0x01 0000224d: ADD 0000224e: SLOAD 0000224f: PUSH2 0x2292 00002252: SWAP1 00002253: PUSH2 0x225d 00002256: SWAP1 00002257: DUP5 00002258: SWAP1 00002259: PUSH2 0x2a91 0000225c: JUMP 0000225d: JUMPDEST 0000225e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002273: DUP6 00002274: AND 00002275: PUSH1 0x00 00002277: SWAP1 00002278: DUP2 00002279: MSTORE 0000227a: PUSH1 0xcc 0000227c: PUSH1 0x20 0000227e: MSTORE 0000227f: PUSH1 0x40 00002281: SWAP1 00002282: KECCAK256 00002283: PUSH1 0x01 00002285: ADD 00002286: SLOAD 00002287: SWAP1 00002288: PUSH4 0xffffffff 0000228d: PUSH2 0x19f9 00002290: AND 00002291: JUMP 00002292: JUMPDEST 00002293: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022a8: DUP5 000022a9: AND 000022aa: PUSH1 0x00 000022ac: SWAP1 000022ad: DUP2 000022ae: MSTORE 000022af: PUSH1 0xcc 000022b1: PUSH1 0x20 000022b3: MSTORE 000022b4: PUSH1 0x40 000022b6: SWAP1 000022b7: KECCAK256 000022b8: PUSH1 0x01 000022ba: ADD 000022bb: SLOAD 000022bc: SWAP1 000022bd: SWAP2 000022be: POP 000022bf: PUSH2 0x22e1 000022c2: SWAP1 000022c3: PUSH2 0x22d2 000022c6: SWAP1 000022c7: DUP4 000022c8: PUSH4 0xffffffff 000022cd: PUSH2 0x19f9 000022d0: AND 000022d1: JUMP 000022d2: JUMPDEST 000022d3: PUSH1 0xcb 000022d5: SLOAD 000022d6: SWAP1 000022d7: PUSH4 0xffffffff 000022dc: PUSH2 0x19f9 000022df: AND 000022e0: JUMP 000022e1: JUMPDEST 000022e2: PUSH1 0xcb 000022e4: SSTORE 000022e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022fa: DUP4 000022fb: AND 000022fc: PUSH1 0x00 000022fe: SWAP1 000022ff: DUP2 00002300: MSTORE 00002301: PUSH1 0xcc 00002303: PUSH1 0x20 00002305: MSTORE 00002306: PUSH1 0x40 00002308: SWAP1 00002309: KECCAK256 0000230a: PUSH1 0x01 0000230c: ADD 0000230d: DUP2 0000230e: SWAP1 0000230f: SSTORE 00002310: DUP1 00002311: PUSH2 0x05c9 00002314: JUMPI 00002315: POP 00002316: POP 00002317: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000232c: AND 0000232d: PUSH1 0x00 0000232f: SWAP1 00002330: DUP2 00002331: MSTORE 00002332: PUSH1 0xcc 00002334: PUSH1 0x20 00002336: MSTORE 00002337: PUSH1 0x40 00002339: DUP2 0000233a: KECCAK256 0000233b: DUP2 0000233c: DUP2 0000233d: SSTORE 0000233e: PUSH1 0x01 00002340: ADD 00002341: SSTORE 00002342: JUMP 00002343: JUMPDEST 00002344: PUSH1 0x00 00002346: PUSH2 0x2350 00002349: DUP5 0000234a: DUP5 0000234b: DUP5 0000234c: PUSH2 0x2aa7 0000234f: JUMP 00002350: JUMPDEST 00002351: PUSH2 0x23db 00002354: DUP5 00002355: PUSH2 0x235c 00002358: PUSH2 0x19f5 0000235b: JUMP 0000235c: JUMPDEST 0000235d: PUSH2 0x0e86 00002360: DUP6 00002361: PUSH1 0x40 00002363: MLOAD 00002364: DUP1 00002365: PUSH1 0x60 00002367: ADD 00002368: PUSH1 0x40 0000236a: MSTORE 0000236b: DUP1 0000236c: PUSH1 0x28 0000236e: DUP2 0000236f: MSTORE 00002370: PUSH1 0x20 00002372: ADD 00002373: PUSH2 0x3b48 00002376: PUSH1 0x28 00002378: SWAP2 00002379: CODECOPY 0000237a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000238f: DUP11 00002390: AND 00002391: PUSH1 0x00 00002393: SWAP1 00002394: DUP2 00002395: MSTORE 00002396: PUSH1 0x34 00002398: PUSH1 0x20 0000239a: MSTORE 0000239b: PUSH1 0x40 0000239d: DUP2 0000239e: KECCAK256 0000239f: SWAP1 000023a0: PUSH2 0x23a7 000023a3: PUSH2 0x19f5 000023a6: JUMP 000023a7: JUMPDEST 000023a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023bd: AND 000023be: DUP2 000023bf: MSTORE 000023c0: PUSH1 0x20 000023c2: DUP2 000023c3: ADD 000023c4: SWAP2 000023c5: SWAP1 000023c6: SWAP2 000023c7: MSTORE 000023c8: PUSH1 0x40 000023ca: ADD 000023cb: PUSH1 0x00 000023cd: KECCAK256 000023ce: SLOAD 000023cf: SWAP2 000023d0: SWAP1 000023d1: PUSH4 0xffffffff 000023d6: PUSH2 0x297b 000023d9: AND 000023da: JUMP 000023db: JUMPDEST 000023dc: POP 000023dd: PUSH1 0x01 000023df: SWAP4 000023e0: SWAP3 000023e1: POP 000023e2: POP 000023e3: POP 000023e4: JUMP 000023e5: JUMPDEST 000023e6: PUSH1 0xcd 000023e8: SLOAD 000023e9: PUSH2 0x0100 000023ec: SWAP1 000023ed: DIV 000023ee: PUSH1 0xff 000023f0: AND 000023f1: ISZERO 000023f2: PUSH2 0x05cb 000023f5: JUMPI 000023f6: PUSH1 0xce 000023f8: SLOAD 000023f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000240e: AND 0000240f: PUSH2 0x2444 00002412: JUMPI 00002413: PUSH1 0x40 00002415: MLOAD 00002416: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002437: DUP2 00002438: MSTORE 00002439: PUSH1 0x04 0000243b: ADD 0000243c: PUSH2 0x0478 0000243f: SWAP1 00002440: PUSH2 0x3716 00002443: JUMP 00002444: JUMPDEST 00002445: PUSH1 0xcf 00002447: SLOAD 00002448: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000245d: AND 0000245e: PUSH2 0x2493 00002461: JUMPI 00002462: PUSH1 0x40 00002464: MLOAD 00002465: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002486: DUP2 00002487: MSTORE 00002488: PUSH1 0x04 0000248a: ADD 0000248b: PUSH2 0x0478 0000248e: SWAP1 0000248f: PUSH2 0x3716 00002492: JUMP 00002493: JUMPDEST 00002494: PUSH1 0x00 00002496: PUSH2 0x249e 00002499: DUP3 0000249a: PUSH2 0x0f33 0000249d: JUMP 0000249e: JUMPDEST 0000249f: SWAP1 000024a0: POP 000024a1: PUSH1 0x60 000024a3: PUSH1 0x40 000024a5: MLOAD 000024a6: DUP1 000024a7: PUSH1 0x80 000024a9: ADD 000024aa: PUSH1 0x40 000024ac: MSTORE 000024ad: DUP1 000024ae: DUP6 000024af: DUP2 000024b0: MSTORE 000024b1: PUSH1 0x20 000024b3: ADD 000024b4: DUP5 000024b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024ca: AND 000024cb: DUP2 000024cc: MSTORE 000024cd: PUSH1 0x20 000024cf: ADD 000024d0: ADDRESS 000024d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024e6: AND 000024e7: DUP2 000024e8: MSTORE 000024e9: PUSH1 0x20 000024eb: ADD 000024ec: DUP4 000024ed: DUP2 000024ee: MSTORE 000024ef: POP 000024f0: PUSH1 0x40 000024f2: MLOAD 000024f3: PUSH1 0x20 000024f5: ADD 000024f6: PUSH2 0x24ff 000024f9: SWAP2 000024fa: SWAP1 000024fb: PUSH2 0x3a09 000024fe: JUMP 000024ff: JUMPDEST 00002500: PUSH1 0x40 00002502: DUP1 00002503: MLOAD 00002504: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002525: DUP2 00002526: DUP5 00002527: SUB 00002528: ADD 00002529: DUP2 0000252a: MSTORE 0000252b: SWAP1 0000252c: DUP3 0000252d: SWAP1 0000252e: MSTORE 0000252f: PUSH1 0xce 00002531: SLOAD 00002532: PUSH1 0xcf 00002534: SLOAD 00002535: PUSH32 0xb472047700000000000000000000000000000000000000000000000000000000 00002556: DUP5 00002557: MSTORE 00002558: SWAP2 00002559: SWAP4 0000255a: POP 0000255b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002570: SWAP1 00002571: DUP2 00002572: AND 00002573: SWAP3 00002574: PUSH4 0xb4720477 00002579: SWAP3 0000257a: PUSH2 0x2589 0000257d: SWAP3 0000257e: AND 0000257f: SWAP1 00002580: DUP6 00002581: SWAP1 00002582: PUSH1 0x04 00002584: ADD 00002585: PUSH2 0x32d2 00002588: JUMP 00002589: JUMPDEST 0000258a: PUSH1 0x00 0000258c: PUSH1 0x40 0000258e: MLOAD 0000258f: DUP1 00002590: DUP4 00002591: SUB 00002592: DUP2 00002593: PUSH1 0x00 00002595: DUP8 00002596: DUP1 00002597: EXTCODESIZE 00002598: ISZERO 00002599: DUP1 0000259a: ISZERO 0000259b: PUSH2 0x25a3 0000259e: JUMPI 0000259f: PUSH1 0x00 000025a1: DUP1 000025a2: REVERT 000025a3: JUMPDEST 000025a4: POP 000025a5: GAS 000025a6: CALL 000025a7: ISZERO 000025a8: DUP1 000025a9: ISZERO 000025aa: PUSH2 0x25b7 000025ad: JUMPI 000025ae: RETURNDATASIZE 000025af: PUSH1 0x00 000025b1: DUP1 000025b2: RETURNDATACOPY 000025b3: RETURNDATASIZE 000025b4: PUSH1 0x00 000025b6: REVERT 000025b7: JUMPDEST 000025b8: POP 000025b9: POP 000025ba: POP 000025bb: POP 000025bc: POP 000025bd: POP 000025be: POP 000025bf: POP 000025c0: JUMP 000025c1: JUMPDEST 000025c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025d7: DUP3 000025d8: AND 000025d9: PUSH2 0x260e 000025dc: JUMPI 000025dd: PUSH1 0x40 000025df: MLOAD 000025e0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002601: DUP2 00002602: MSTORE 00002603: PUSH1 0x04 00002605: ADD 00002606: PUSH2 0x0478 00002609: SWAP1 0000260a: PUSH2 0x37b9 0000260d: JUMP 0000260e: JUMPDEST 0000260f: PUSH2 0x261a 00002612: DUP3 00002613: PUSH1 0x00 00002615: DUP4 00002616: PUSH2 0x05c9 00002619: JUMP 0000261a: JUMPDEST 0000261b: PUSH2 0x266a 0000261e: DUP2 0000261f: PUSH1 0x40 00002621: MLOAD 00002622: DUP1 00002623: PUSH1 0x60 00002625: ADD 00002626: PUSH1 0x40 00002628: MSTORE 00002629: DUP1 0000262a: PUSH1 0x22 0000262c: DUP2 0000262d: MSTORE 0000262e: PUSH1 0x20 00002630: ADD 00002631: PUSH2 0x3ad7 00002634: PUSH1 0x22 00002636: SWAP2 00002637: CODECOPY 00002638: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000264d: DUP6 0000264e: AND 0000264f: PUSH1 0x00 00002651: SWAP1 00002652: DUP2 00002653: MSTORE 00002654: PUSH1 0x33 00002656: PUSH1 0x20 00002658: MSTORE 00002659: PUSH1 0x40 0000265b: SWAP1 0000265c: KECCAK256 0000265d: SLOAD 0000265e: SWAP2 0000265f: SWAP1 00002660: PUSH4 0xffffffff 00002665: PUSH2 0x297b 00002668: AND 00002669: JUMP 0000266a: JUMPDEST 0000266b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002680: DUP4 00002681: AND 00002682: PUSH1 0x00 00002684: SWAP1 00002685: DUP2 00002686: MSTORE 00002687: PUSH1 0x33 00002689: PUSH1 0x20 0000268b: MSTORE 0000268c: PUSH1 0x40 0000268e: SWAP1 0000268f: KECCAK256 00002690: SSTORE 00002691: PUSH1 0x35 00002693: SLOAD 00002694: PUSH2 0x26a3 00002697: SWAP1 00002698: DUP3 00002699: PUSH4 0xffffffff 0000269e: PUSH2 0x19f9 000026a1: AND 000026a2: JUMP 000026a3: JUMPDEST 000026a4: PUSH1 0x35 000026a6: SSTORE 000026a7: PUSH1 0x40 000026a9: MLOAD 000026aa: PUSH1 0x00 000026ac: SWAP1 000026ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026c2: DUP5 000026c3: AND 000026c4: SWAP1 000026c5: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000026e6: SWAP1 000026e7: PUSH2 0x26f1 000026ea: SWAP1 000026eb: DUP6 000026ec: SWAP1 000026ed: PUSH2 0x3a55 000026f0: JUMP 000026f1: JUMPDEST 000026f2: PUSH1 0x40 000026f4: MLOAD 000026f5: DUP1 000026f6: SWAP2 000026f7: SUB 000026f8: SWAP1 000026f9: LOG3 000026fa: POP 000026fb: POP 000026fc: JUMP 000026fd: JUMPDEST 000026fe: PUSH2 0x05c9 00002701: DUP4 00002702: PUSH4 0xa9059cbb 00002707: PUSH1 0xe0 00002709: SHL 0000270a: DUP5 0000270b: DUP5 0000270c: PUSH1 0x40 0000270e: MLOAD 0000270f: PUSH1 0x24 00002711: ADD 00002712: PUSH2 0x1ab5 00002715: SWAP3 00002716: SWAP2 00002717: SWAP1 00002718: PUSH2 0x3254 0000271b: JUMP 0000271c: JUMPDEST 0000271d: PUSH1 0x00 0000271f: DUP2 00002720: GT 00002721: PUSH2 0x2756 00002724: JUMPI 00002725: PUSH1 0x40 00002727: MLOAD 00002728: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002749: DUP2 0000274a: MSTORE 0000274b: PUSH1 0x04 0000274d: ADD 0000274e: PUSH2 0x0478 00002751: SWAP1 00002752: PUSH2 0x3964 00002755: JUMP 00002756: JUMPDEST 00002757: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000276c: DUP3 0000276d: AND 0000276e: PUSH2 0x27a3 00002771: JUMPI 00002772: PUSH1 0x40 00002774: MLOAD 00002775: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002796: DUP2 00002797: MSTORE 00002798: PUSH1 0x04 0000279a: ADD 0000279b: PUSH2 0x0478 0000279e: SWAP1 0000279f: PUSH2 0x337c 000027a2: JUMP 000027a3: JUMPDEST 000027a4: PUSH2 0x27ad 000027a7: DUP3 000027a8: DUP3 000027a9: PUSH2 0x2c3d 000027ac: JUMP 000027ad: JUMPDEST 000027ae: PUSH1 0xc9 000027b0: SLOAD 000027b1: PUSH2 0x27d8 000027b4: SWAP1 000027b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027ca: AND 000027cb: DUP5 000027cc: ADDRESS 000027cd: DUP5 000027ce: PUSH4 0xffffffff 000027d3: PUSH2 0x2d3e 000027d6: AND 000027d7: JUMP 000027d8: JUMPDEST 000027d9: PUSH32 0x4465706f73697400000000000000000000000000000000000000000000000000 000027fa: PUSH2 0x1b37 000027fd: DUP2 000027fe: DUP5 000027ff: PUSH2 0x23e5 00002802: JUMP 00002803: JUMPDEST 00002804: PUSH1 0x00 00002806: DUP3 00002807: DUP3 00002808: ADD 00002809: DUP4 0000280a: DUP2 0000280b: LT 0000280c: ISZERO 0000280d: PUSH2 0x0944 00002810: JUMPI 00002811: PUSH1 0x40 00002813: MLOAD 00002814: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002835: DUP2 00002836: MSTORE 00002837: PUSH1 0x04 00002839: ADD 0000283a: PUSH2 0x0478 0000283d: SWAP1 0000283e: PUSH2 0x34db 00002841: JUMP 00002842: JUMPDEST 00002843: PUSH2 0x284a 00002846: PUSH2 0x0f2a 00002849: JUMP 0000284a: JUMPDEST 0000284b: PUSH2 0x2880 0000284e: JUMPI 0000284f: PUSH1 0x40 00002851: MLOAD 00002852: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002873: DUP2 00002874: MSTORE 00002875: PUSH1 0x04 00002877: ADD 00002878: PUSH2 0x0478 0000287b: SWAP1 0000287c: PUSH2 0x33b3 0000287f: JUMP 00002880: JUMPDEST 00002881: PUSH1 0x97 00002883: DUP1 00002884: SLOAD 00002885: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000028a6: AND 000028a7: SWAP1 000028a8: SSTORE 000028a9: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 000028ca: PUSH2 0x28d1 000028cd: PUSH2 0x19f5 000028d0: JUMP 000028d1: JUMPDEST 000028d2: PUSH1 0x40 000028d4: MLOAD 000028d5: PUSH2 0x28de 000028d8: SWAP2 000028d9: SWAP1 000028da: PUSH2 0x3233 000028dd: JUMP 000028de: JUMPDEST 000028df: PUSH1 0x40 000028e1: MLOAD 000028e2: DUP1 000028e3: SWAP2 000028e4: SUB 000028e5: SWAP1 000028e6: LOG1 000028e7: JUMP 000028e8: JUMPDEST 000028e9: PUSH2 0x28f0 000028ec: PUSH2 0x0f2a 000028ef: JUMP 000028f0: JUMPDEST 000028f1: ISZERO 000028f2: PUSH2 0x2927 000028f5: JUMPI 000028f6: PUSH1 0x40 000028f8: MLOAD 000028f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000291a: DUP2 0000291b: MSTORE 0000291c: PUSH1 0x04 0000291e: ADD 0000291f: PUSH2 0x0478 00002922: SWAP1 00002923: PUSH2 0x3614 00002926: JUMP 00002927: JUMPDEST 00002928: PUSH1 0x97 0000292a: DUP1 0000292b: SLOAD 0000292c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 0000294d: AND 0000294e: PUSH1 0x01 00002950: OR 00002951: SWAP1 00002952: SSTORE 00002953: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00002974: PUSH2 0x28d1 00002977: PUSH2 0x19f5 0000297a: JUMP 0000297b: JUMPDEST 0000297c: PUSH1 0x00 0000297e: DUP2 0000297f: DUP5 00002980: DUP5 00002981: GT 00002982: ISZERO 00002983: PUSH2 0x29b9 00002986: JUMPI 00002987: PUSH1 0x40 00002989: MLOAD 0000298a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000029ab: DUP2 000029ac: MSTORE 000029ad: PUSH1 0x04 000029af: ADD 000029b0: PUSH2 0x0478 000029b3: SWAP2 000029b4: SWAP1 000029b5: PUSH2 0x330c 000029b8: JUMP 000029b9: JUMPDEST 000029ba: POP 000029bb: POP 000029bc: POP 000029bd: SWAP1 000029be: SUB 000029bf: SWAP1 000029c0: JUMP 000029c1: JUMPDEST 000029c2: PUSH1 0x00 000029c4: PUSH2 0x0698 000029c7: PUSH2 0x29ce 000029ca: PUSH2 0x19f5 000029cd: JUMP 000029ce: JUMPDEST 000029cf: DUP5 000029d0: DUP5 000029d1: PUSH2 0x2aa7 000029d4: JUMP 000029d5: JUMPDEST 000029d6: PUSH1 0x60 000029d8: PUSH2 0x2a37 000029db: DUP3 000029dc: PUSH1 0x40 000029de: MLOAD 000029df: DUP1 000029e0: PUSH1 0x40 000029e2: ADD 000029e3: PUSH1 0x40 000029e5: MSTORE 000029e6: DUP1 000029e7: PUSH1 0x20 000029e9: DUP2 000029ea: MSTORE 000029eb: PUSH1 0x20 000029ed: ADD 000029ee: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00002a0f: DUP2 00002a10: MSTORE 00002a11: POP 00002a12: DUP6 00002a13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a28: AND 00002a29: PUSH2 0x2d5f 00002a2c: SWAP1 00002a2d: SWAP3 00002a2e: SWAP2 00002a2f: SWAP1 00002a30: PUSH4 0xffffffff 00002a35: AND 00002a36: JUMP 00002a37: JUMPDEST 00002a38: DUP1 00002a39: MLOAD 00002a3a: SWAP1 00002a3b: SWAP2 00002a3c: POP 00002a3d: ISZERO 00002a3e: PUSH2 0x05c9 00002a41: JUMPI 00002a42: DUP1 00002a43: DUP1 00002a44: PUSH1 0x20 00002a46: ADD 00002a47: SWAP1 00002a48: MLOAD 00002a49: DUP2 00002a4a: ADD 00002a4b: SWAP1 00002a4c: PUSH2 0x2a55 00002a4f: SWAP2 00002a50: SWAP1 00002a51: PUSH2 0x30da 00002a54: JUMP 00002a55: JUMPDEST 00002a56: PUSH2 0x05c9 00002a59: JUMPI 00002a5a: PUSH1 0x40 00002a5c: MLOAD 00002a5d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002a7e: DUP2 00002a7f: MSTORE 00002a80: PUSH1 0x04 00002a82: ADD 00002a83: PUSH2 0x0478 00002a86: SWAP1 00002a87: PUSH2 0x3907 00002a8a: JUMP 00002a8b: JUMPDEST 00002a8c: EXTCODESIZE 00002a8d: ISZERO 00002a8e: ISZERO 00002a8f: SWAP1 00002a90: JUMP 00002a91: JUMPDEST 00002a92: PUSH1 0x00 00002a94: DUP2 00002a95: DUP4 00002a96: LT 00002a97: PUSH2 0x2aa0 00002a9a: JUMPI 00002a9b: DUP2 00002a9c: PUSH2 0x0944 00002a9f: JUMP 00002aa0: JUMPDEST 00002aa1: POP 00002aa2: SWAP1 00002aa3: SWAP2 00002aa4: SWAP1 00002aa5: POP 00002aa6: JUMP 00002aa7: JUMPDEST 00002aa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002abd: DUP4 00002abe: AND 00002abf: PUSH2 0x2af4 00002ac2: JUMPI 00002ac3: PUSH1 0x40 00002ac5: MLOAD 00002ac6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002ae7: DUP2 00002ae8: MSTORE 00002ae9: PUSH1 0x04 00002aeb: ADD 00002aec: PUSH2 0x0478 00002aef: SWAP1 00002af0: PUSH2 0x3816 00002af3: JUMP 00002af4: JUMPDEST 00002af5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b0a: DUP3 00002b0b: AND 00002b0c: PUSH2 0x2b41 00002b0f: JUMPI 00002b10: PUSH1 0x40 00002b12: MLOAD 00002b13: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002b34: DUP2 00002b35: MSTORE 00002b36: PUSH1 0x04 00002b38: ADD 00002b39: PUSH2 0x0478 00002b3c: SWAP1 00002b3d: PUSH2 0x331f 00002b40: JUMP 00002b41: JUMPDEST 00002b42: PUSH2 0x2b4c 00002b45: DUP4 00002b46: DUP4 00002b47: DUP4 00002b48: PUSH2 0x05c9 00002b4b: JUMP 00002b4c: JUMPDEST 00002b4d: PUSH2 0x2b9c 00002b50: DUP2 00002b51: PUSH1 0x40 00002b53: MLOAD 00002b54: DUP1 00002b55: PUSH1 0x60 00002b57: ADD 00002b58: PUSH1 0x40 00002b5a: MSTORE 00002b5b: DUP1 00002b5c: PUSH1 0x26 00002b5e: DUP2 00002b5f: MSTORE 00002b60: PUSH1 0x20 00002b62: ADD 00002b63: PUSH2 0x3b22 00002b66: PUSH1 0x26 00002b68: SWAP2 00002b69: CODECOPY 00002b6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b7f: DUP7 00002b80: AND 00002b81: PUSH1 0x00 00002b83: SWAP1 00002b84: DUP2 00002b85: MSTORE 00002b86: PUSH1 0x33 00002b88: PUSH1 0x20 00002b8a: MSTORE 00002b8b: PUSH1 0x40 00002b8d: SWAP1 00002b8e: KECCAK256 00002b8f: SLOAD 00002b90: SWAP2 00002b91: SWAP1 00002b92: PUSH4 0xffffffff 00002b97: PUSH2 0x297b 00002b9a: AND 00002b9b: JUMP 00002b9c: JUMPDEST 00002b9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002bb2: DUP1 00002bb3: DUP6 00002bb4: AND 00002bb5: PUSH1 0x00 00002bb7: SWAP1 00002bb8: DUP2 00002bb9: MSTORE 00002bba: PUSH1 0x33 00002bbc: PUSH1 0x20 00002bbe: MSTORE 00002bbf: PUSH1 0x40 00002bc1: DUP1 00002bc2: DUP3 00002bc3: KECCAK256 00002bc4: SWAP4 00002bc5: SWAP1 00002bc6: SWAP4 00002bc7: SSTORE 00002bc8: SWAP1 00002bc9: DUP5 00002bca: AND 00002bcb: DUP2 00002bcc: MSTORE 00002bcd: KECCAK256 00002bce: SLOAD 00002bcf: PUSH2 0x2bde 00002bd2: SWAP1 00002bd3: DUP3 00002bd4: PUSH4 0xffffffff 00002bd9: PUSH2 0x2803 00002bdc: AND 00002bdd: JUMP 00002bde: JUMPDEST 00002bdf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002bf4: DUP1 00002bf5: DUP5 00002bf6: AND 00002bf7: PUSH1 0x00 00002bf9: DUP2 00002bfa: DUP2 00002bfb: MSTORE 00002bfc: PUSH1 0x33 00002bfe: PUSH1 0x20 00002c00: MSTORE 00002c01: PUSH1 0x40 00002c03: SWAP1 00002c04: DUP2 00002c05: SWAP1 00002c06: KECCAK256 00002c07: SWAP4 00002c08: SWAP1 00002c09: SWAP4 00002c0a: SSTORE 00002c0b: SWAP2 00002c0c: MLOAD 00002c0d: SWAP1 00002c0e: DUP6 00002c0f: AND 00002c10: SWAP1 00002c11: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002c32: SWAP1 00002c33: PUSH2 0x1d0f 00002c36: SWAP1 00002c37: DUP6 00002c38: SWAP1 00002c39: PUSH2 0x3a55 00002c3c: JUMP 00002c3d: JUMPDEST 00002c3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c53: DUP3 00002c54: AND 00002c55: PUSH2 0x2c8a 00002c58: JUMPI 00002c59: PUSH1 0x40 00002c5b: MLOAD 00002c5c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002c7d: DUP2 00002c7e: MSTORE 00002c7f: PUSH1 0x04 00002c81: ADD 00002c82: PUSH2 0x0478 00002c85: SWAP1 00002c86: PUSH2 0x39d2 00002c89: JUMP 00002c8a: JUMPDEST 00002c8b: PUSH2 0x2c96 00002c8e: PUSH1 0x00 00002c90: DUP4 00002c91: DUP4 00002c92: PUSH2 0x05c9 00002c95: JUMP 00002c96: JUMPDEST 00002c97: PUSH1 0x35 00002c99: SLOAD 00002c9a: PUSH2 0x2ca9 00002c9d: SWAP1 00002c9e: DUP3 00002c9f: PUSH4 0xffffffff 00002ca4: PUSH2 0x2803 00002ca7: AND 00002ca8: JUMP 00002ca9: JUMPDEST 00002caa: PUSH1 0x35 00002cac: SSTORE 00002cad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cc2: DUP3 00002cc3: AND 00002cc4: PUSH1 0x00 00002cc6: SWAP1 00002cc7: DUP2 00002cc8: MSTORE 00002cc9: PUSH1 0x33 00002ccb: PUSH1 0x20 00002ccd: MSTORE 00002cce: PUSH1 0x40 00002cd0: SWAP1 00002cd1: KECCAK256 00002cd2: SLOAD 00002cd3: PUSH2 0x2ce2 00002cd6: SWAP1 00002cd7: DUP3 00002cd8: PUSH4 0xffffffff 00002cdd: PUSH2 0x2803 00002ce0: AND 00002ce1: JUMP 00002ce2: JUMPDEST 00002ce3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cf8: DUP4 00002cf9: AND 00002cfa: PUSH1 0x00 00002cfc: DUP2 00002cfd: DUP2 00002cfe: MSTORE 00002cff: PUSH1 0x33 00002d01: PUSH1 0x20 00002d03: MSTORE 00002d04: PUSH1 0x40 00002d06: DUP1 00002d07: DUP3 00002d08: KECCAK256 00002d09: SWAP4 00002d0a: SWAP1 00002d0b: SWAP4 00002d0c: SSTORE 00002d0d: SWAP2 00002d0e: MLOAD 00002d0f: SWAP1 00002d10: SWAP2 00002d11: SWAP1 00002d12: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002d33: SWAP1 00002d34: PUSH2 0x26f1 00002d37: SWAP1 00002d38: DUP6 00002d39: SWAP1 00002d3a: PUSH2 0x3a55 00002d3d: JUMP 00002d3e: JUMPDEST 00002d3f: PUSH2 0x1b37 00002d42: DUP5 00002d43: PUSH4 0x23b872dd 00002d48: PUSH1 0xe0 00002d4a: SHL 00002d4b: DUP6 00002d4c: DUP6 00002d4d: DUP6 00002d4e: PUSH1 0x40 00002d50: MLOAD 00002d51: PUSH1 0x24 00002d53: ADD 00002d54: PUSH2 0x1ab5 00002d57: SWAP4 00002d58: SWAP3 00002d59: SWAP2 00002d5a: SWAP1 00002d5b: PUSH2 0x32a1 00002d5e: JUMP 00002d5f: JUMPDEST 00002d60: PUSH1 0x60 00002d62: PUSH2 0x2d6e 00002d65: DUP5 00002d66: DUP5 00002d67: PUSH1 0x00 00002d69: DUP6 00002d6a: PUSH2 0x2d76 00002d6d: JUMP 00002d6e: JUMPDEST 00002d6f: SWAP5 00002d70: SWAP4 00002d71: POP 00002d72: POP 00002d73: POP 00002d74: POP 00002d75: JUMP 00002d76: JUMPDEST 00002d77: PUSH1 0x60 00002d79: DUP3 00002d7a: SELFBALANCE 00002d7b: LT 00002d7c: ISZERO 00002d7d: PUSH2 0x2db2 00002d80: JUMPI 00002d81: PUSH1 0x40 00002d83: MLOAD 00002d84: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002da5: DUP2 00002da6: MSTORE 00002da7: PUSH1 0x04 00002da9: ADD 00002daa: PUSH2 0x0478 00002dad: SWAP1 00002dae: PUSH2 0x3549 00002db1: JUMP 00002db2: JUMPDEST 00002db3: PUSH2 0x2dbb 00002db6: DUP6 00002db7: PUSH2 0x2a8b 00002dba: JUMP 00002dbb: JUMPDEST 00002dbc: PUSH2 0x2df1 00002dbf: JUMPI 00002dc0: PUSH1 0x40 00002dc2: MLOAD 00002dc3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002de4: DUP2 00002de5: MSTORE 00002de6: PUSH1 0x04 00002de8: ADD 00002de9: PUSH2 0x0478 00002dec: SWAP1 00002ded: PUSH2 0x38d0 00002df0: JUMP 00002df1: JUMPDEST 00002df2: PUSH1 0x00 00002df4: PUSH1 0x60 00002df6: DUP7 00002df7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e0c: AND 00002e0d: DUP6 00002e0e: DUP8 00002e0f: PUSH1 0x40 00002e11: MLOAD 00002e12: PUSH2 0x2e1b 00002e15: SWAP2 00002e16: SWAP1 00002e17: PUSH2 0x3217 00002e1a: JUMP 00002e1b: JUMPDEST 00002e1c: PUSH1 0x00 00002e1e: PUSH1 0x40 00002e20: MLOAD 00002e21: DUP1 00002e22: DUP4 00002e23: SUB 00002e24: DUP2 00002e25: DUP6 00002e26: DUP8 00002e27: GAS 00002e28: CALL 00002e29: SWAP3 00002e2a: POP 00002e2b: POP 00002e2c: POP 00002e2d: RETURNDATASIZE 00002e2e: DUP1 00002e2f: PUSH1 0x00 00002e31: DUP2 00002e32: EQ 00002e33: PUSH2 0x2e58 00002e36: JUMPI 00002e37: PUSH1 0x40 00002e39: MLOAD 00002e3a: SWAP2 00002e3b: POP 00002e3c: PUSH1 0x1f 00002e3e: NOT 00002e3f: PUSH1 0x3f 00002e41: RETURNDATASIZE 00002e42: ADD 00002e43: AND 00002e44: DUP3 00002e45: ADD 00002e46: PUSH1 0x40 00002e48: MSTORE 00002e49: RETURNDATASIZE 00002e4a: DUP3 00002e4b: MSTORE 00002e4c: RETURNDATASIZE 00002e4d: PUSH1 0x00 00002e4f: PUSH1 0x20 00002e51: DUP5 00002e52: ADD 00002e53: RETURNDATACOPY 00002e54: PUSH2 0x2e5d 00002e57: JUMP 00002e58: JUMPDEST 00002e59: PUSH1 0x60 00002e5b: SWAP2 00002e5c: POP 00002e5d: JUMPDEST 00002e5e: POP 00002e5f: SWAP2 00002e60: POP 00002e61: SWAP2 00002e62: POP 00002e63: PUSH2 0x2e6d 00002e66: DUP3 00002e67: DUP3 00002e68: DUP7 00002e69: PUSH2 0x2e78 00002e6c: JUMP 00002e6d: JUMPDEST 00002e6e: SWAP8 00002e6f: SWAP7 00002e70: POP 00002e71: POP 00002e72: POP 00002e73: POP 00002e74: POP 00002e75: POP 00002e76: POP 00002e77: JUMP 00002e78: JUMPDEST 00002e79: PUSH1 0x60 00002e7b: DUP4 00002e7c: ISZERO 00002e7d: PUSH2 0x2e87 00002e80: JUMPI 00002e81: POP 00002e82: DUP2 00002e83: PUSH2 0x0944 00002e86: JUMP 00002e87: JUMPDEST 00002e88: DUP3 00002e89: MLOAD 00002e8a: ISZERO 00002e8b: PUSH2 0x2e97 00002e8e: JUMPI 00002e8f: DUP3 00002e90: MLOAD 00002e91: DUP1 00002e92: DUP5 00002e93: PUSH1 0x20 00002e95: ADD 00002e96: REVERT 00002e97: JUMPDEST 00002e98: DUP2 00002e99: PUSH1 0x40 00002e9b: MLOAD 00002e9c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002ebd: DUP2 00002ebe: MSTORE 00002ebf: PUSH1 0x04 00002ec1: ADD 00002ec2: PUSH2 0x0478 00002ec5: SWAP2 00002ec6: SWAP1 00002ec7: PUSH2 0x330c 00002eca: JUMP 00002ecb: JUMPDEST 00002ecc: DUP3 00002ecd: DUP1 00002ece: SLOAD 00002ecf: PUSH1 0x01 00002ed1: DUP2 00002ed2: PUSH1 0x01 00002ed4: AND 00002ed5: ISZERO 00002ed6: PUSH2 0x0100 00002ed9: MUL 00002eda: SUB 00002edb: AND 00002edc: PUSH1 0x02 00002ede: SWAP1 00002edf: DIV 00002ee0: SWAP1 00002ee1: PUSH1 0x00 00002ee3: MSTORE 00002ee4: PUSH1 0x20 00002ee6: PUSH1 0x00 00002ee8: KECCAK256 00002ee9: SWAP1 00002eea: PUSH1 0x1f 00002eec: ADD 00002eed: PUSH1 0x20 00002eef: SWAP1 00002ef0: DIV 00002ef1: DUP2 00002ef2: ADD 00002ef3: SWAP3 00002ef4: DUP3 00002ef5: PUSH1 0x1f 00002ef7: LT 00002ef8: PUSH2 0x2f0c 00002efb: JUMPI 00002efc: DUP1 00002efd: MLOAD 00002efe: PUSH1 0xff 00002f00: NOT 00002f01: AND 00002f02: DUP4 00002f03: DUP1 00002f04: ADD 00002f05: OR 00002f06: DUP6 00002f07: SSTORE 00002f08: PUSH2 0x2f39 00002f0b: JUMP 00002f0c: JUMPDEST 00002f0d: DUP3 00002f0e: DUP1 00002f0f: ADD 00002f10: PUSH1 0x01 00002f12: ADD 00002f13: DUP6 00002f14: SSTORE 00002f15: DUP3 00002f16: ISZERO 00002f17: PUSH2 0x2f39 00002f1a: JUMPI 00002f1b: SWAP2 00002f1c: DUP3 00002f1d: ADD 00002f1e: JUMPDEST 00002f1f: DUP3 00002f20: DUP2 00002f21: GT 00002f22: ISZERO 00002f23: PUSH2 0x2f39 00002f26: JUMPI 00002f27: DUP3 00002f28: MLOAD 00002f29: DUP3 00002f2a: SSTORE 00002f2b: SWAP2 00002f2c: PUSH1 0x20 00002f2e: ADD 00002f2f: SWAP2 00002f30: SWAP1 00002f31: PUSH1 0x01 00002f33: ADD 00002f34: SWAP1 00002f35: PUSH2 0x2f1e 00002f38: JUMP 00002f39: JUMPDEST 00002f3a: POP 00002f3b: PUSH2 0x2f45 00002f3e: SWAP3 00002f3f: SWAP2 00002f40: POP 00002f41: PUSH2 0x2f49 00002f44: JUMP 00002f45: JUMPDEST 00002f46: POP 00002f47: SWAP1 00002f48: JUMP 00002f49: JUMPDEST 00002f4a: PUSH2 0x0681 00002f4d: SWAP2 00002f4e: SWAP1 00002f4f: JUMPDEST 00002f50: DUP1 00002f51: DUP3 00002f52: GT 00002f53: ISZERO 00002f54: PUSH2 0x2f45 00002f57: JUMPI 00002f58: PUSH1 0x00 00002f5a: DUP2 00002f5b: SSTORE 00002f5c: PUSH1 0x01 00002f5e: ADD 00002f5f: PUSH2 0x2f4f 00002f62: JUMP 00002f63: JUMPDEST 00002f64: PUSH1 0x00 00002f66: DUP3 00002f67: PUSH1 0x1f 00002f69: DUP4 00002f6a: ADD 00002f6b: SLT 00002f6c: PUSH2 0x2f73 00002f6f: JUMPI 00002f70: DUP1 00002f71: DUP2 00002f72: REVERT 00002f73: JUMPDEST 00002f74: DUP2 00002f75: CALLDATALOAD 00002f76: PUSH8 0xffffffffffffffff 00002f7f: DUP1 00002f80: DUP3 00002f81: GT 00002f82: ISZERO 00002f83: PUSH2 0x2f8a 00002f86: JUMPI 00002f87: DUP3 00002f88: DUP4 00002f89: REVERT 00002f8a: JUMPDEST 00002f8b: PUSH1 0x40 00002f8d: MLOAD 00002f8e: PUSH1 0x20 00002f90: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002fb1: PUSH1 0x1f 00002fb3: DUP6 00002fb4: ADD 00002fb5: AND 00002fb6: DUP3 00002fb7: ADD 00002fb8: ADD 00002fb9: DUP2 00002fba: DUP2 00002fbb: LT 00002fbc: DUP4 00002fbd: DUP3 00002fbe: GT 00002fbf: OR 00002fc0: ISZERO 00002fc1: PUSH2 0x2fc8 00002fc4: JUMPI 00002fc5: DUP5 00002fc6: DUP6 00002fc7: REVERT 00002fc8: JUMPDEST 00002fc9: PUSH1 0x40 00002fcb: MSTORE 00002fcc: DUP3 00002fcd: DUP2 00002fce: MSTORE 00002fcf: SWAP3 00002fd0: POP 00002fd1: DUP3 00002fd2: DUP5 00002fd3: DUP4 00002fd4: ADD 00002fd5: PUSH1 0x20 00002fd7: ADD 00002fd8: DUP7 00002fd9: LT 00002fda: ISZERO 00002fdb: PUSH2 0x2fe3 00002fde: JUMPI 00002fdf: PUSH1 0x00 00002fe1: DUP1 00002fe2: REVERT 00002fe3: JUMPDEST 00002fe4: DUP3 00002fe5: PUSH1 0x20 00002fe7: DUP7 00002fe8: ADD 00002fe9: PUSH1 0x20 00002feb: DUP4 00002fec: ADD 00002fed: CALLDATACOPY 00002fee: PUSH1 0x00 00002ff0: PUSH1 0x20 00002ff2: DUP5 00002ff3: DUP4 00002ff4: ADD 00002ff5: ADD 00002ff6: MSTORE 00002ff7: POP 00002ff8: POP 00002ff9: POP 00002ffa: SWAP3 00002ffb: SWAP2 00002ffc: POP 00002ffd: POP 00002ffe: JUMP 00002fff: JUMPDEST 00003000: PUSH1 0x00 00003002: PUSH1 0x20 00003004: DUP3 00003005: DUP5 00003006: SUB 00003007: SLT 00003008: ISZERO 00003009: PUSH2 0x3010 0000300c: JUMPI 0000300d: DUP1 0000300e: DUP2 0000300f: REVERT 00003010: JUMPDEST 00003011: DUP2 00003012: CALLDATALOAD 00003013: PUSH2 0x0944 00003016: DUP2 00003017: PUSH2 0x3aa6 0000301a: JUMP 0000301b: JUMPDEST 0000301c: PUSH1 0x00 0000301e: DUP1 0000301f: PUSH1 0x40 00003021: DUP4 00003022: DUP6 00003023: SUB 00003024: SLT 00003025: ISZERO 00003026: PUSH2 0x302d 00003029: JUMPI 0000302a: DUP1 0000302b: DUP2 0000302c: REVERT 0000302d: JUMPDEST 0000302e: DUP3 0000302f: CALLDATALOAD 00003030: PUSH2 0x3038 00003033: DUP2 00003034: PUSH2 0x3aa6 00003037: JUMP 00003038: JUMPDEST 00003039: SWAP2 0000303a: POP 0000303b: PUSH1 0x20 0000303d: DUP4 0000303e: ADD 0000303f: CALLDATALOAD 00003040: PUSH2 0x3048 00003043: DUP2 00003044: PUSH2 0x3aa6 00003047: JUMP 00003048: JUMPDEST 00003049: DUP1 0000304a: SWAP2 0000304b: POP 0000304c: POP 0000304d: SWAP3 0000304e: POP 0000304f: SWAP3 00003050: SWAP1 00003051: POP 00003052: JUMP 00003053: JUMPDEST 00003054: PUSH1 0x00 00003056: DUP1 00003057: PUSH1 0x00 00003059: PUSH1 0x60 0000305b: DUP5 0000305c: DUP7 0000305d: SUB 0000305e: SLT 0000305f: ISZERO 00003060: PUSH2 0x3067 00003063: JUMPI 00003064: DUP1 00003065: DUP2 00003066: REVERT 00003067: JUMPDEST 00003068: DUP4 00003069: CALLDATALOAD 0000306a: PUSH2 0x3072 0000306d: DUP2 0000306e: PUSH2 0x3aa6 00003071: JUMP 00003072: JUMPDEST 00003073: SWAP3 00003074: POP 00003075: PUSH1 0x20 00003077: DUP5 00003078: ADD 00003079: CALLDATALOAD 0000307a: PUSH2 0x3082 0000307d: DUP2 0000307e: PUSH2 0x3aa6 00003081: JUMP 00003082: JUMPDEST 00003083: SWAP3 00003084: SWAP6 00003085: SWAP3 00003086: SWAP5 00003087: POP 00003088: POP 00003089: POP 0000308a: PUSH1 0x40 0000308c: SWAP2 0000308d: SWAP1 0000308e: SWAP2 0000308f: ADD 00003090: CALLDATALOAD 00003091: SWAP1 00003092: JUMP 00003093: JUMPDEST 00003094: PUSH1 0x00 00003096: DUP1 00003097: PUSH1 0x40 00003099: DUP4 0000309a: DUP6 0000309b: SUB 0000309c: SLT 0000309d: ISZERO 0000309e: PUSH2 0x30a5 000030a1: JUMPI 000030a2: DUP2 000030a3: DUP3 000030a4: REVERT 000030a5: JUMPDEST 000030a6: DUP3 000030a7: CALLDATALOAD 000030a8: PUSH2 0x30b0 000030ab: DUP2 000030ac: PUSH2 0x3aa6 000030af: JUMP 000030b0: JUMPDEST 000030b1: SWAP5 000030b2: PUSH1 0x20 000030b4: SWAP4 000030b5: SWAP1 000030b6: SWAP4 000030b7: ADD 000030b8: CALLDATALOAD 000030b9: SWAP4 000030ba: POP 000030bb: POP 000030bc: POP 000030bd: JUMP 000030be: JUMPDEST 000030bf: PUSH1 0x00 000030c1: PUSH1 0x20 000030c3: DUP3 000030c4: DUP5 000030c5: SUB 000030c6: SLT 000030c7: ISZERO 000030c8: PUSH2 0x30cf 000030cb: JUMPI 000030cc: DUP1 000030cd: DUP2 000030ce: REVERT 000030cf: JUMPDEST 000030d0: DUP2 000030d1: CALLDATALOAD 000030d2: PUSH2 0x0944 000030d5: DUP2 000030d6: PUSH2 0x3ac8 000030d9: JUMP 000030da: JUMPDEST 000030db: PUSH1 0x00 000030dd: PUSH1 0x20 000030df: DUP3 000030e0: DUP5 000030e1: SUB 000030e2: SLT 000030e3: ISZERO 000030e4: PUSH2 0x30eb 000030e7: JUMPI 000030e8: DUP1 000030e9: DUP2 000030ea: REVERT 000030eb: JUMPDEST 000030ec: DUP2 000030ed: MLOAD 000030ee: PUSH2 0x0944 000030f1: DUP2 000030f2: PUSH2 0x3ac8 000030f5: JUMP 000030f6: JUMPDEST 000030f7: PUSH1 0x00 000030f9: DUP1 000030fa: PUSH1 0x00 000030fc: DUP1 000030fd: PUSH1 0x80 000030ff: DUP6 00003100: DUP8 00003101: SUB 00003102: SLT 00003103: ISZERO 00003104: PUSH2 0x310b 00003107: JUMPI 00003108: DUP1 00003109: DUP2 0000310a: REVERT 0000310b: JUMPDEST 0000310c: DUP5 0000310d: CALLDATALOAD 0000310e: PUSH2 0x3116 00003111: DUP2 00003112: PUSH2 0x3aa6 00003115: JUMP 00003116: JUMPDEST 00003117: SWAP4 00003118: POP 00003119: PUSH1 0x20 0000311b: DUP6 0000311c: ADD 0000311d: CALLDATALOAD 0000311e: PUSH2 0x3126 00003121: DUP2 00003122: PUSH2 0x3aa6 00003125: JUMP 00003126: JUMPDEST 00003127: SWAP3 00003128: POP 00003129: PUSH1 0x40 0000312b: DUP6 0000312c: ADD 0000312d: CALLDATALOAD 0000312e: PUSH8 0xffffffffffffffff 00003137: DUP1 00003138: DUP3 00003139: GT 0000313a: ISZERO 0000313b: PUSH2 0x3142 0000313e: JUMPI 0000313f: DUP3 00003140: DUP4 00003141: REVERT 00003142: JUMPDEST 00003143: PUSH2 0x314e 00003146: DUP9 00003147: DUP4 00003148: DUP10 00003149: ADD 0000314a: PUSH2 0x2f63 0000314d: JUMP 0000314e: JUMPDEST 0000314f: SWAP4 00003150: POP 00003151: PUSH1 0x60 00003153: DUP8 00003154: ADD 00003155: CALLDATALOAD 00003156: SWAP2 00003157: POP 00003158: DUP1 00003159: DUP3 0000315a: GT 0000315b: ISZERO 0000315c: PUSH2 0x3163 0000315f: JUMPI 00003160: DUP3 00003161: DUP4 00003162: REVERT 00003163: JUMPDEST 00003164: POP 00003165: PUSH2 0x3170 00003168: DUP8 00003169: DUP3 0000316a: DUP9 0000316b: ADD 0000316c: PUSH2 0x2f63 0000316f: JUMP 00003170: JUMPDEST 00003171: SWAP2 00003172: POP 00003173: POP 00003174: SWAP3 00003175: SWAP6 00003176: SWAP2 00003177: SWAP5 00003178: POP 00003179: SWAP3 0000317a: POP 0000317b: JUMP 0000317c: JUMPDEST 0000317d: PUSH1 0x00 0000317f: PUSH1 0x20 00003181: DUP3 00003182: DUP5 00003183: SUB 00003184: SLT 00003185: ISZERO 00003186: PUSH2 0x318d 00003189: JUMPI 0000318a: DUP1 0000318b: DUP2 0000318c: REVERT 0000318d: JUMPDEST 0000318e: POP 0000318f: CALLDATALOAD 00003190: SWAP2 00003191: SWAP1 00003192: POP 00003193: JUMP 00003194: JUMPDEST 00003195: PUSH1 0x00 00003197: PUSH1 0x20 00003199: DUP3 0000319a: DUP5 0000319b: SUB 0000319c: SLT 0000319d: ISZERO 0000319e: PUSH2 0x31a5 000031a1: JUMPI 000031a2: DUP1 000031a3: DUP2 000031a4: REVERT 000031a5: JUMPDEST 000031a6: POP 000031a7: MLOAD 000031a8: SWAP2 000031a9: SWAP1 000031aa: POP 000031ab: JUMP 000031ac: JUMPDEST 000031ad: PUSH1 0x00 000031af: PUSH1 0x20 000031b1: DUP3 000031b2: DUP5 000031b3: SUB 000031b4: SLT 000031b5: ISZERO 000031b6: PUSH2 0x31bd 000031b9: JUMPI 000031ba: DUP1 000031bb: DUP2 000031bc: REVERT 000031bd: JUMPDEST 000031be: DUP2 000031bf: MLOAD 000031c0: PUSH1 0xff 000031c2: DUP2 000031c3: AND 000031c4: DUP2 000031c5: EQ 000031c6: PUSH2 0x0944 000031c9: JUMPI 000031ca: DUP2 000031cb: DUP3 000031cc: REVERT 000031cd: JUMPDEST 000031ce: PUSH1 0x00 000031d0: DUP2 000031d1: MLOAD 000031d2: DUP1 000031d3: DUP5 000031d4: MSTORE 000031d5: PUSH2 0x31e5 000031d8: DUP2 000031d9: PUSH1 0x20 000031db: DUP7 000031dc: ADD 000031dd: PUSH1 0x20 000031df: DUP7 000031e0: ADD 000031e1: PUSH2 0x3a7a 000031e4: JUMP 000031e5: JUMPDEST 000031e6: PUSH1 0x1f 000031e8: ADD 000031e9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000320a: AND 0000320b: SWAP3 0000320c: SWAP1 0000320d: SWAP3 0000320e: ADD 0000320f: PUSH1 0x20 00003211: ADD 00003212: SWAP3 00003213: SWAP2 00003214: POP 00003215: POP 00003216: JUMP 00003217: JUMPDEST 00003218: PUSH1 0x00 0000321a: DUP3 0000321b: MLOAD 0000321c: PUSH2 0x3229 0000321f: DUP2 00003220: DUP5 00003221: PUSH1 0x20 00003223: DUP8 00003224: ADD 00003225: PUSH2 0x3a7a 00003228: JUMP 00003229: JUMPDEST 0000322a: SWAP2 0000322b: SWAP1 0000322c: SWAP2 0000322d: ADD 0000322e: SWAP3 0000322f: SWAP2 00003230: POP 00003231: POP 00003232: JUMP 00003233: JUMPDEST 00003234: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003249: SWAP2 0000324a: SWAP1 0000324b: SWAP2 0000324c: AND 0000324d: DUP2 0000324e: MSTORE 0000324f: PUSH1 0x20 00003251: ADD 00003252: SWAP1 00003253: JUMP 00003254: JUMPDEST 00003255: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000326a: SWAP3 0000326b: SWAP1 0000326c: SWAP3 0000326d: AND 0000326e: DUP3 0000326f: MSTORE 00003270: PUSH1 0x20 00003272: DUP3 00003273: ADD 00003274: MSTORE 00003275: PUSH1 0x40 00003277: ADD 00003278: SWAP1 00003279: JUMP 0000327a: JUMPDEST 0000327b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003290: SWAP3 00003291: DUP4 00003292: AND 00003293: DUP2 00003294: MSTORE 00003295: SWAP2 00003296: AND 00003297: PUSH1 0x20 00003299: DUP3 0000329a: ADD 0000329b: MSTORE 0000329c: PUSH1 0x40 0000329e: ADD 0000329f: SWAP1 000032a0: JUMP 000032a1: JUMPDEST 000032a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000032b7: SWAP4 000032b8: DUP5 000032b9: AND 000032ba: DUP2 000032bb: MSTORE 000032bc: SWAP2 000032bd: SWAP1 000032be: SWAP3 000032bf: AND 000032c0: PUSH1 0x20 000032c2: DUP3 000032c3: ADD 000032c4: MSTORE 000032c5: PUSH1 0x40 000032c7: DUP2 000032c8: ADD 000032c9: SWAP2 000032ca: SWAP1 000032cb: SWAP2 000032cc: MSTORE 000032cd: PUSH1 0x60 000032cf: ADD 000032d0: SWAP1 000032d1: JUMP 000032d2: JUMPDEST 000032d3: PUSH1 0x00 000032d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000032ea: DUP5 000032eb: AND 000032ec: DUP3 000032ed: MSTORE 000032ee: PUSH1 0x40 000032f0: PUSH1 0x20 000032f2: DUP4 000032f3: ADD 000032f4: MSTORE 000032f5: PUSH2 0x2d6e 000032f8: PUSH1 0x40 000032fa: DUP4 000032fb: ADD 000032fc: DUP5 000032fd: PUSH2 0x31cd 00003300: JUMP 00003301: JUMPDEST 00003302: SWAP1 00003303: ISZERO 00003304: ISZERO 00003305: DUP2 00003306: MSTORE 00003307: PUSH1 0x20 00003309: ADD 0000330a: SWAP1 0000330b: JUMP 0000330c: JUMPDEST 0000330d: PUSH1 0x00 0000330f: PUSH1 0x20 00003311: DUP3 00003312: MSTORE 00003313: PUSH2 0x0944 00003316: PUSH1 0x20 00003318: DUP4 00003319: ADD 0000331a: DUP5 0000331b: PUSH2 0x31cd 0000331e: JUMP 0000331f: JUMPDEST 00003320: PUSH1 0x20 00003322: DUP1 00003323: DUP3 00003324: MSTORE 00003325: PUSH1 0x23 00003327: SWAP1 00003328: DUP3 00003329: ADD 0000332a: MSTORE 0000332b: PUSH32 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472 0000334c: PUSH1 0x40 0000334e: DUP3 0000334f: ADD 00003350: MSTORE 00003351: PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 00003372: PUSH1 0x60 00003374: DUP3 00003375: ADD 00003376: MSTORE 00003377: PUSH1 0x80 00003379: ADD 0000337a: SWAP1 0000337b: JUMP 0000337c: JUMPDEST 0000337d: PUSH1 0x20 0000337f: DUP1 00003380: DUP3 00003381: MSTORE 00003382: PUSH1 0x0f 00003384: SWAP1 00003385: DUP3 00003386: ADD 00003387: MSTORE 00003388: PUSH32 0x494e56414c49445f414444524553530000000000000000000000000000000000 000033a9: PUSH1 0x40 000033ab: DUP3 000033ac: ADD 000033ad: MSTORE 000033ae: PUSH1 0x60 000033b0: ADD 000033b1: SWAP1 000033b2: JUMP 000033b3: JUMPDEST 000033b4: PUSH1 0x20 000033b6: DUP1 000033b7: DUP3 000033b8: MSTORE 000033b9: PUSH1 0x14 000033bb: SWAP1 000033bc: DUP3 000033bd: ADD 000033be: MSTORE 000033bf: PUSH32 0x5061757361626c653a206e6f7420706175736564000000000000000000000000 000033e0: PUSH1 0x40 000033e2: DUP3 000033e3: ADD 000033e4: MSTORE 000033e5: PUSH1 0x60 000033e7: ADD 000033e8: SWAP1 000033e9: JUMP 000033ea: JUMPDEST 000033eb: PUSH1 0x20 000033ed: DUP1 000033ee: DUP3 000033ef: MSTORE 000033f0: PUSH1 0x14 000033f2: SWAP1 000033f3: DUP3 000033f4: ADD 000033f5: MSTORE 000033f6: PUSH32 0x494e53554646494349454e545f42414c414e4345000000000000000000000000 00003417: PUSH1 0x40 00003419: DUP3 0000341a: ADD 0000341b: MSTORE 0000341c: PUSH1 0x60 0000341e: ADD 0000341f: SWAP1 00003420: JUMP 00003421: JUMPDEST 00003422: PUSH1 0x20 00003424: DUP1 00003425: DUP3 00003426: MSTORE 00003427: PUSH1 0x26 00003429: SWAP1 0000342a: DUP3 0000342b: ADD 0000342c: MSTORE 0000342d: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 0000344e: PUSH1 0x40 00003450: DUP3 00003451: ADD 00003452: MSTORE 00003453: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 00003474: PUSH1 0x60 00003476: DUP3 00003477: ADD 00003478: MSTORE 00003479: PUSH1 0x80 0000347b: ADD 0000347c: SWAP1 0000347d: JUMP 0000347e: JUMPDEST 0000347f: PUSH1 0x20 00003481: DUP1 00003482: DUP3 00003483: MSTORE 00003484: PUSH1 0x22 00003486: SWAP1 00003487: DUP3 00003488: ADD 00003489: MSTORE 0000348a: PUSH32 0x45524332303a20617070726f766520746f20746865207a65726f206164647265 000034ab: PUSH1 0x40 000034ad: DUP3 000034ae: ADD 000034af: MSTORE 000034b0: PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 000034d1: PUSH1 0x60 000034d3: DUP3 000034d4: ADD 000034d5: MSTORE 000034d6: PUSH1 0x80 000034d8: ADD 000034d9: SWAP1 000034da: JUMP 000034db: JUMPDEST 000034dc: PUSH1 0x20 000034de: DUP1 000034df: DUP3 000034e0: MSTORE 000034e1: PUSH1 0x1b 000034e3: SWAP1 000034e4: DUP3 000034e5: ADD 000034e6: MSTORE 000034e7: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 00003508: PUSH1 0x40 0000350a: DUP3 0000350b: ADD 0000350c: MSTORE 0000350d: PUSH1 0x60 0000350f: ADD 00003510: SWAP1 00003511: JUMP 00003512: JUMPDEST 00003513: PUSH1 0x20 00003515: DUP1 00003516: DUP3 00003517: MSTORE 00003518: PUSH1 0x1e 0000351a: SWAP1 0000351b: DUP3 0000351c: ADD 0000351d: MSTORE 0000351e: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 0000353f: PUSH1 0x40 00003541: DUP3 00003542: ADD 00003543: MSTORE 00003544: PUSH1 0x60 00003546: ADD 00003547: SWAP1 00003548: JUMP 00003549: JUMPDEST 0000354a: PUSH1 0x20 0000354c: DUP1 0000354d: DUP3 0000354e: MSTORE 0000354f: PUSH1 0x26 00003551: SWAP1 00003552: DUP3 00003553: ADD 00003554: MSTORE 00003555: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00003576: PUSH1 0x40 00003578: DUP3 00003579: ADD 0000357a: MSTORE 0000357b: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 0000359c: PUSH1 0x60 0000359e: DUP3 0000359f: ADD 000035a0: MSTORE 000035a1: PUSH1 0x80 000035a3: ADD 000035a4: SWAP1 000035a5: JUMP 000035a6: JUMPDEST 000035a7: PUSH1 0x20 000035a9: DUP1 000035aa: DUP3 000035ab: MSTORE 000035ac: PUSH1 0x0d 000035ae: SWAP1 000035af: DUP3 000035b0: ADD 000035b1: MSTORE 000035b2: PUSH32 0x4e4f5f5749544844524157414c00000000000000000000000000000000000000 000035d3: PUSH1 0x40 000035d5: DUP3 000035d6: ADD 000035d7: MSTORE 000035d8: PUSH1 0x60 000035da: ADD 000035db: SWAP1 000035dc: JUMP 000035dd: JUMPDEST 000035de: PUSH1 0x20 000035e0: DUP1 000035e1: DUP3 000035e2: MSTORE 000035e3: PUSH1 0x0d 000035e5: SWAP1 000035e6: DUP3 000035e7: ADD 000035e8: MSTORE 000035e9: PUSH32 0x494e56414c49445f4359434c4500000000000000000000000000000000000000 0000360a: PUSH1 0x40 0000360c: DUP3 0000360d: ADD 0000360e: MSTORE 0000360f: PUSH1 0x60 00003611: ADD 00003612: SWAP1 00003613: JUMP 00003614: JUMPDEST 00003615: PUSH1 0x20 00003617: DUP1 00003618: DUP3 00003619: MSTORE 0000361a: PUSH1 0x10 0000361c: SWAP1 0000361d: DUP3 0000361e: ADD 0000361f: MSTORE 00003620: PUSH32 0x5061757361626c653a2070617573656400000000000000000000000000000000 00003641: PUSH1 0x40 00003643: DUP3 00003644: ADD 00003645: MSTORE 00003646: PUSH1 0x60 00003648: ADD 00003649: SWAP1 0000364a: JUMP 0000364b: JUMPDEST 0000364c: PUSH1 0x20 0000364e: DUP1 0000364f: DUP3 00003650: MSTORE 00003651: PUSH1 0x0c 00003653: SWAP1 00003654: DUP3 00003655: ADD 00003656: MSTORE 00003657: PUSH32 0x5a45524f5f414444524553530000000000000000000000000000000000000000 00003678: PUSH1 0x40 0000367a: DUP3 0000367b: ADD 0000367c: MSTORE 0000367d: PUSH1 0x60 0000367f: ADD 00003680: SWAP1 00003681: JUMP 00003682: JUMPDEST 00003683: PUSH1 0x20 00003685: DUP1 00003686: DUP3 00003687: MSTORE 00003688: PUSH1 0x2e 0000368a: SWAP1 0000368b: DUP3 0000368c: ADD 0000368d: MSTORE 0000368e: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 000036af: PUSH1 0x40 000036b1: DUP3 000036b2: ADD 000036b3: MSTORE 000036b4: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000 000036d5: PUSH1 0x60 000036d7: DUP3 000036d8: ADD 000036d9: MSTORE 000036da: PUSH1 0x80 000036dc: ADD 000036dd: SWAP1 000036de: JUMP 000036df: JUMPDEST 000036e0: PUSH1 0x20 000036e2: DUP1 000036e3: DUP3 000036e4: MSTORE 000036e5: PUSH1 0x19 000036e7: SWAP1 000036e8: DUP3 000036e9: ADD 000036ea: MSTORE 000036eb: PUSH32 0x494e53554646494349454e545f504f4f4c5f42414c414e434500000000000000 0000370c: PUSH1 0x40 0000370e: DUP3 0000370f: ADD 00003710: MSTORE 00003711: PUSH1 0x60 00003713: ADD 00003714: SWAP1 00003715: JUMP 00003716: JUMPDEST 00003717: PUSH1 0x20 00003719: DUP1 0000371a: DUP3 0000371b: MSTORE 0000371c: PUSH1 0x0f 0000371e: SWAP1 0000371f: DUP3 00003720: ADD 00003721: MSTORE 00003722: PUSH32 0x414444524553535f4e4f545f5345540000000000000000000000000000000000 00003743: PUSH1 0x40 00003745: DUP3 00003746: ADD 00003747: MSTORE 00003748: PUSH1 0x60 0000374a: ADD 0000374b: SWAP1 0000374c: JUMP 0000374d: JUMPDEST 0000374e: PUSH1 0x20 00003750: DUP1 00003751: DUP3 00003752: MSTORE 00003753: PUSH1 0x1d 00003755: SWAP1 00003756: DUP3 00003757: ADD 00003758: MSTORE 00003759: PUSH32 0x57495448445241575f494e53554646494349454e545f42414c414e4345000000 0000377a: PUSH1 0x40 0000377c: DUP3 0000377d: ADD 0000377e: MSTORE 0000377f: PUSH1 0x60 00003781: ADD 00003782: SWAP1 00003783: JUMP 00003784: JUMPDEST 00003785: PUSH1 0x20 00003787: DUP1 00003788: DUP3 00003789: MSTORE 0000378a: DUP2 0000378b: DUP2 0000378c: ADD 0000378d: MSTORE 0000378e: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 000037af: PUSH1 0x40 000037b1: DUP3 000037b2: ADD 000037b3: MSTORE 000037b4: PUSH1 0x60 000037b6: ADD 000037b7: SWAP1 000037b8: JUMP 000037b9: JUMPDEST 000037ba: PUSH1 0x20 000037bc: DUP1 000037bd: DUP3 000037be: MSTORE 000037bf: PUSH1 0x21 000037c1: SWAP1 000037c2: DUP3 000037c3: ADD 000037c4: MSTORE 000037c5: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573 000037e6: PUSH1 0x40 000037e8: DUP3 000037e9: ADD 000037ea: MSTORE 000037eb: PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000 0000380c: PUSH1 0x60 0000380e: DUP3 0000380f: ADD 00003810: MSTORE 00003811: PUSH1 0x80 00003813: ADD 00003814: SWAP1 00003815: JUMP 00003816: JUMPDEST 00003817: PUSH1 0x20 00003819: DUP1 0000381a: DUP3 0000381b: MSTORE 0000381c: PUSH1 0x25 0000381e: SWAP1 0000381f: DUP3 00003820: ADD 00003821: MSTORE 00003822: PUSH32 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164 00003843: PUSH1 0x40 00003845: DUP3 00003846: ADD 00003847: MSTORE 00003848: PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 00003869: PUSH1 0x60 0000386b: DUP3 0000386c: ADD 0000386d: MSTORE 0000386e: PUSH1 0x80 00003870: ADD 00003871: SWAP1 00003872: JUMP 00003873: JUMPDEST 00003874: PUSH1 0x20 00003876: DUP1 00003877: DUP3 00003878: MSTORE 00003879: PUSH1 0x24 0000387b: SWAP1 0000387c: DUP3 0000387d: ADD 0000387e: MSTORE 0000387f: PUSH32 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464 000038a0: PUSH1 0x40 000038a2: DUP3 000038a3: ADD 000038a4: MSTORE 000038a5: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 000038c6: PUSH1 0x60 000038c8: DUP3 000038c9: ADD 000038ca: MSTORE 000038cb: PUSH1 0x80 000038cd: ADD 000038ce: SWAP1 000038cf: JUMP 000038d0: JUMPDEST 000038d1: PUSH1 0x20 000038d3: DUP1 000038d4: DUP3 000038d5: MSTORE 000038d6: PUSH1 0x1d 000038d8: SWAP1 000038d9: DUP3 000038da: ADD 000038db: MSTORE 000038dc: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000038fd: PUSH1 0x40 000038ff: DUP3 00003900: ADD 00003901: MSTORE 00003902: PUSH1 0x60 00003904: ADD 00003905: SWAP1 00003906: JUMP 00003907: JUMPDEST 00003908: PUSH1 0x20 0000390a: DUP1 0000390b: DUP3 0000390c: MSTORE 0000390d: PUSH1 0x2a 0000390f: SWAP1 00003910: DUP3 00003911: ADD 00003912: MSTORE 00003913: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00003934: PUSH1 0x40 00003936: DUP3 00003937: ADD 00003938: MSTORE 00003939: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 0000395a: PUSH1 0x60 0000395c: DUP3 0000395d: ADD 0000395e: MSTORE 0000395f: PUSH1 0x80 00003961: ADD 00003962: SWAP1 00003963: JUMP 00003964: JUMPDEST 00003965: PUSH1 0x20 00003967: DUP1 00003968: DUP3 00003969: MSTORE 0000396a: PUSH1 0x0e 0000396c: SWAP1 0000396d: DUP3 0000396e: ADD 0000396f: MSTORE 00003970: PUSH32 0x494e56414c49445f414d4f554e54000000000000000000000000000000000000 00003991: PUSH1 0x40 00003993: DUP3 00003994: ADD 00003995: MSTORE 00003996: PUSH1 0x60 00003998: ADD 00003999: SWAP1 0000399a: JUMP 0000399b: JUMPDEST 0000399c: PUSH1 0x20 0000399e: DUP1 0000399f: DUP3 000039a0: MSTORE 000039a1: PUSH1 0x1f 000039a3: SWAP1 000039a4: DUP3 000039a5: ADD 000039a6: MSTORE 000039a7: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 000039c8: PUSH1 0x40 000039ca: DUP3 000039cb: ADD 000039cc: MSTORE 000039cd: PUSH1 0x60 000039cf: ADD 000039d0: SWAP1 000039d1: JUMP 000039d2: JUMPDEST 000039d3: PUSH1 0x20 000039d5: DUP1 000039d6: DUP3 000039d7: MSTORE 000039d8: PUSH1 0x1f 000039da: SWAP1 000039db: DUP3 000039dc: ADD 000039dd: MSTORE 000039de: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300 000039ff: PUSH1 0x40 00003a01: DUP3 00003a02: ADD 00003a03: MSTORE 00003a04: PUSH1 0x60 00003a06: ADD 00003a07: SWAP1 00003a08: JUMP 00003a09: JUMPDEST 00003a0a: PUSH1 0x00 00003a0c: PUSH1 0x80 00003a0e: DUP3 00003a0f: ADD 00003a10: SWAP1 00003a11: POP 00003a12: DUP3 00003a13: MLOAD 00003a14: DUP3 00003a15: MSTORE 00003a16: PUSH1 0x20 00003a18: DUP4 00003a19: ADD 00003a1a: MLOAD 00003a1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a30: DUP1 00003a31: DUP3 00003a32: AND 00003a33: PUSH1 0x20 00003a35: DUP6 00003a36: ADD 00003a37: MSTORE 00003a38: DUP1 00003a39: PUSH1 0x40 00003a3b: DUP7 00003a3c: ADD 00003a3d: MLOAD 00003a3e: AND 00003a3f: PUSH1 0x40 00003a41: DUP6 00003a42: ADD 00003a43: MSTORE 00003a44: POP 00003a45: POP 00003a46: PUSH1 0x60 00003a48: DUP4 00003a49: ADD 00003a4a: MLOAD 00003a4b: PUSH1 0x60 00003a4d: DUP4 00003a4e: ADD 00003a4f: MSTORE 00003a50: SWAP3 00003a51: SWAP2 00003a52: POP 00003a53: POP 00003a54: JUMP 00003a55: JUMPDEST 00003a56: SWAP1 00003a57: DUP2 00003a58: MSTORE 00003a59: PUSH1 0x20 00003a5b: ADD 00003a5c: SWAP1 00003a5d: JUMP 00003a5e: JUMPDEST 00003a5f: SWAP2 00003a60: DUP3 00003a61: MSTORE 00003a62: PUSH1 0x20 00003a64: DUP3 00003a65: ADD 00003a66: MSTORE 00003a67: PUSH1 0x40 00003a69: ADD 00003a6a: SWAP1 00003a6b: JUMP 00003a6c: JUMPDEST 00003a6d: PUSH1 0xff 00003a6f: SWAP2 00003a70: SWAP1 00003a71: SWAP2 00003a72: AND 00003a73: DUP2 00003a74: MSTORE 00003a75: PUSH1 0x20 00003a77: ADD 00003a78: SWAP1 00003a79: JUMP 00003a7a: JUMPDEST 00003a7b: PUSH1 0x00 00003a7d: JUMPDEST 00003a7e: DUP4 00003a7f: DUP2 00003a80: LT 00003a81: ISZERO 00003a82: PUSH2 0x3a95 00003a85: JUMPI 00003a86: DUP2 00003a87: DUP2 00003a88: ADD 00003a89: MLOAD 00003a8a: DUP4 00003a8b: DUP3 00003a8c: ADD 00003a8d: MSTORE 00003a8e: PUSH1 0x20 00003a90: ADD 00003a91: PUSH2 0x3a7d 00003a94: JUMP 00003a95: JUMPDEST 00003a96: DUP4 00003a97: DUP2 00003a98: GT 00003a99: ISZERO 00003a9a: PUSH2 0x1b37 00003a9d: JUMPI 00003a9e: POP 00003a9f: POP 00003aa0: PUSH1 0x00 00003aa2: SWAP2 00003aa3: ADD 00003aa4: MSTORE 00003aa5: JUMP 00003aa6: JUMPDEST 00003aa7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003abc: DUP2 00003abd: AND 00003abe: DUP2 00003abf: EQ 00003ac0: PUSH2 0x1780 00003ac3: JUMPI 00003ac4: PUSH1 0x00 00003ac6: DUP1 00003ac7: REVERT 00003ac8: JUMPDEST 00003ac9: DUP1 00003aca: ISZERO 00003acb: ISZERO 00003acc: DUP2 00003acd: EQ 00003ace: PUSH2 0x1780 00003ad1: JUMPI 00003ad2: PUSH1 0x00 00003ad4: DUP1 00003ad5: REVERT 00003ad6: INVALID 00003ad7: GASLIMIT 00003ad8: MSTORE 00003ad9: NUMBER 00003ada: ORIGIN 00003adb: ADDRESS 00003adc: GASPRICE 00003add: KECCAK256 00003ade: PUSH3 0x75726e 00003ae2: KECCAK256 00003ae3: PUSH2 0x6d6f 00003ae6: PUSH22 0x6e7420657863656564732062616c616e636553616665 00003afd: GASLIMIT 00003afe: MSTORE 00003aff: NUMBER 00003b00: ORIGIN 00003b01: ADDRESS 00003b02: GASPRICE 00003b03: KECCAK256 00003b04: PUSH5 0x6563726561 00003b0a: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a 00003b1f: PUSH6 0x726f45524332 00003b26: ADDRESS 00003b27: GASPRICE 00003b28: KECCAK256 00003b29: PUSH21 0x72616e7366657220616d6f756e7420657863656564 00003b3f: PUSH20 0x2062616c616e636545524332303a207472616e73 00003b54: PUSH7 0x657220616d6f75 00003b5c: PUSH15 0x74206578636565647320616c6c6f77 00003b6c: PUSH2 0x6e63 00003b6f: PUSH6 0x45524332303a 00003b76: KECCAK256 00003b77: PUSH5 0x6563726561 00003b7d: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a 00003b92: PUSH6 0x726fa2646970 00003b99: PUSH7 0x73582212200cf5 00003ba1: SWAP16 00003ba2: UNKNOWN(0xE4) 00003ba3: CALLVALUE 00003ba4: SSTORE 00003ba5: TIMESTAMP 00003ba6: PUSH7 0x6e9a19c0a19277 00003bae: GT 00003baf: UNKNOWN(0x2B) 00003bb0: UNKNOWN(0x25) 00003bb1: PUSH20 0xb16a249f84e9df782d62ade5c164736f6c634300 00003bc6: MOD 00003bc7: SIGNEXTEND 00003bc8: STOP 00003bc9: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xbb582d80",
"selector": "0xbb582d80",
"calldata_variants": [
"0xbb582d80",
"0xbb582d800000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe912b5ee",
"selector": "0xe912b5ee",
"calldata_variants": [
"0xe912b5ee",
"0xe912b5ee0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9ee679e8",
"selector": "0x9ee679e8",
"calldata_variants": [
"0x9ee679e8",
"0x9ee679e80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa457c2d7",
"selector": "0xa457c2d7",
"calldata_variants": [
"0xa457c2d7",
"0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6b55f25",
"selector": "0xb6b55f25",
"calldata_variants": [
"0xb6b55f25",
"0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 15066,
"type": "tx_origin_used"
},
{
"pc": 15104,
"type": "tx_origin_used"
}
]
}
|
| medium | upgradeability | codex | Initializer callable by anyone if proxy is left uninitialized | 75 | no | — |
viewevidence_json{
"evidence": "`initialize` is `public` and assigns ownership to `msg.sender` via `__Ownable_init_unchained()` without any access control beyond the `initializer` guard.",
"locations": [
"contracts/contracts/pools/Pool.sol:51"
],
"recommendation": "Ensure proxies are initialized atomically at deployment (constructor `_data` or factory pattern). Consider locking the implementation (e.g., a constructor that sets the initialized flag) so the implementation itself cannot be initialized by arbitrary accounts.",
"exploit_scenario": "If a proxy is deployed without calling `initialize` in the same transaction, an attacker can call `initialize`, become the owner (via `__Ownable_init_unchained()`), set `manager`/`underlyer`, and then use owner-only functions (e.g., `approveManager`) to siphon funds via a malicious manager."
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4
call_targets:
0xd899ac9283a44533c36bc8373f5c898b0d5fc03e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd899ac9283a44533c36bc8373f5c898b0d5fc03e"
],
"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": "0xbb582d80",
"selector": "0xbb582d80",
"calldata_variants": [
"0xbb582d80",
"0xbb582d800000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe912b5ee",
"selector": "0xe912b5ee",
"calldata_variants": [
"0xe912b5ee",
"0xe912b5ee0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9ee679e8",
"selector": "0x9ee679e8",
"calldata_variants": [
"0x9ee679e8",
"0x9ee679e80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa457c2d7",
"selector": "0xa457c2d7",
"calldata_variants": [
"0xa457c2d7",
"0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6b55f25",
"selector": "0xb6b55f25",
"calldata_variants": [
"0xb6b55f25",
"0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 9638,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 11816,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 15066,
"type": "tx_origin_used"
},
{
"pc": 15104,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4
call_targets:
0xd899ac9283a44533c36bc8373f5c898b0d5fc03e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x07dc3383d8068c98745dbb3f8c04d268cb1ab8a2a355b13e519b837b20c753b4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd899ac9283a44533c36bc8373f5c898b0d5fc03e"
],
"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": "0xbb582d80",
"selector": "0xbb582d80",
"calldata_variants": [
"0xbb582d80",
"0xbb582d800000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe912b5ee",
"selector": "0xe912b5ee",
"calldata_variants": [
"0xe912b5ee",
"0xe912b5ee0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9ee679e8",
"selector": "0x9ee679e8",
"calldata_variants": [
"0x9ee679e8",
"0x9ee679e80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa457c2d7",
"selector": "0xa457c2d7",
"calldata_variants": [
"0xa457c2d7",
"0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6b55f25",
"selector": "0xb6b55f25",
"calldata_variants": [
"0xb6b55f25",
"0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 9638,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 11816,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 15066,
"type": "tx_origin_used"
},
{
"pc": 15104,
"type": "tx_origin_used"
}
]
}
|
| low | other | codex | Deposits assume 1:1 transfers, enabling under-collateralization with fee-on-transfer tokens | 65 | no | — |
viewevidence_json{
"evidence": "`_deposit` mints before transferring and never checks the actual amount received (`_mint(toAccount, amount);` then `underlyer.safeTransferFrom(..., amount);`).",
"locations": [
"contracts/contracts/pools/Pool.sol:228"
],
"recommendation": "Mint based on the actual received amount (measure balance before/after), or explicitly restrict the underlyer to non-fee, non-rebasing ERC20s and enforce that invariant at deployment.",
"exploit_scenario": "If the underlyer charges transfer fees or is deflationary, `_deposit` mints `amount` fTokens but the pool receives less than `amount` of underlying. Users can repeatedly deposit to mint excess fTokens, and later withdraw more underlying than the pool actually received, draining other liquidity once funds are available."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 11
}
|