019bab3b-ab05-7055-bef7-363c9c09e395
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 |
|---|---|---|---|---|
| 38450 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38451 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38452 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38453 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38454 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38455 | detector.run | complete | 1 / 3 | 3 months ago |
| 38456 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39009 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrancy enables double-withdraw of staked VIRTUE","exploit_scenario":"A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked.","recommendation":"Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.","evidence":"`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.","locations":["contracts/VirtueStaking.sol:92","contracts/VirtueStaking.sol:119","contracts/VirtueStaking.sol:131","contracts/VirtueStaking.sol:214"]},{"severity":"low","category":"math","title":"Division by zero when no VIRTUE is staked can revert sales/reward distribution","exploit_scenario":"If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept.","recommendation":"Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.","evidence":"`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.","locations":["contracts/VirtueStaking.sol:204"]},{"severity":"medium","category":"math","title":"Slashing can cause underflow and permanently block reward updates","exploit_scenario":"If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH.","recommendation":"Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.","evidence":"`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.","locations":["contracts/IdolMain.sol:288","contracts/IdolMain.sol:295","contracts/IdolMain.sol:297"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-valssxo8
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab85-a317-7262-9aa8-d592b293c29b
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-valssxo8 succeeded in 9ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/IdolMain.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
import "hardhat/console.sol";
import "./VirtueToken.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/interfaces/IERC20.sol";
import "@openzeppelin/contracts/interfaces/IERC2981.sol";
contract IdolMain is ERC721Enumerable, IERC2981, Ownable, ReentrancyGuard {
// stethPrincipalBalance tracks the treasury's principal stETH balance.
uint public stethPrincipalBalance;
thinking
**Preparing to parse audit bundle**
exec
/bin/bash -lc 'rg --no-line-number "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-valssxo8 succeeded in 12ms:
FILE: contracts/IdolMain.sol
FILE: contracts/IdolMarketplace.sol
FILE: contracts/VirtueStaking.sol
FILE: contracts/VirtueToken.sol
FILE: contracts/interface/IRewards.sol
FILE: hardhat/console.sol
thinking
**Planning file extraction**
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-valssxo8 succeeded in 7ms:
5:FILE: contracts/IdolMain.sol
477:FILE: contracts/IdolMarketplace.sol
689:FILE: contracts/VirtueStaking.sol
933:FILE: contracts/VirtueToken.sol
1078:FILE: contracts/interface/IRewards.sol
1090:FILE: hardhat/console.sol
thinking
**Preparing to view file sections**
exec
/bin/bash -lc "sed -n '1,520p' AUDIT_BUNDLE.txt" in /tmp/codex-valssxo8 succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/IdolMain.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
import "hardhat/console.sol";
import "./VirtueToken.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/interfaces/IERC20.sol";
import "@openzeppelin/contracts/interfaces/IERC2981.sol";
contract IdolMain is ERC721Enumerable, IERC2981, Ownable, ReentrancyGuard {
// stethPrincipalBalance tracks the treasury's principal stETH balance.
uint public stethPrincipalBalance;
thinking
**Continuing to review IdolMarketplace code**
exec
/bin/bash -lc "sed -n '520,920p' AUDIT_BUNDLE.txt" in /tmp/codex-valssxo8 succeeded in 27ms:
mapping (uint => Listing) public godListings;
// Mapping containing the active bids for each god.
mapping (uint => Bid) public godBids;
// Mapping containing pending balances that users can withdraw.
mapping (address => uint) public pendingWithdrawals;
IdolMain public immutable idolMain;
event GodListed(uint indexed _godId, uint _minValue, address indexed _toAddress);
event GodBidEntered(uint indexed _godId, uint _value, address indexed _fromAddress);
event GodBidWithdrawn(uint indexed _godId, uint _value, address indexed _fromAddress);
event GodBought(uint indexed _godId, uint _value, address indexed _fromAddress, address indexed _toAddress, uint cumulativeETH);
event GodUnlisted(uint indexed _godId);
constructor(address _idolMintAddress, address _idolMainAddress, address _virtueTokenAddress)
VirtueStaking(_idolMintAddress, _virtueTokenAddress)
{
idolMain = IdolMain(_idolMainAddress);
exec
/bin/bash -lc "sed -n '920,1220p' AUDIT_BUNDLE.txt" in /tmp/codex-valssxo8 succeeded in 13ms:
function claimExtraRewards(address _user) public nonReentrant {
for (uint i = 0; i < extraRewards.length; i++) {
IRewards(extraRewards[i]).claimRewards(_user);
}
}
modifier onlyMintContract {
require(msg.sender == mintContractAddress);
_;
}
}
================================================================================
FILE: contracts/VirtueToken.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
import "hardhat/console.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
thinking
**Evaluating contract reentrancy and access controls**
I'm analyzing potential reentrancy and access control issues across the main contracts. There are uses of ReentrancyGuard that prevent some attacks, but certain external calls precede state updates, which is risky. I notice possible division-by-zero bugs causing transaction reverts if stakes drop to zero, which might lead to denial-of-service. Also, some privileged bypasses, like marketplace auto-approval and mintContract permissions, raise centralization risks. Reentrancy via external extraRewards calls looks concerning since state changes happen after these calls. Lastly, handling of undercollateralization and slashing in reward calculations seems fragile and prone to revert, which could block critical updates. I'll keep clarifying how these risks interplay.
thinking
**Identifying reentrancy in stake adjustments**
I'm exploring how increaseVirtueStake and decreaseVirtueStake allow reentrancy via external ETH transfers in claimEthRewards that can reenter these functions before state updates complete. This can enable double-withdrawal of tokens in decreaseVirtueStake by exploiting stale state variables, leading to a serious vulnerability. I’m also noting how external calls to owner-controlled extraRewards before state updates could worsen reentrancy risks. This looks like a critical issue needing fixes like nonReentrant guards or reordering state changes.
thinking
**Detailing specific vulnerability categories and locations**
I'm sorting the issues into categories: reentrancy from unguarded external calls in increase/decreaseVirtueStake, math errors like division by zero in _distributeRewards and underflow in updateRewardPerGod, and noting operational quirks like state updates after sends in withdrawPendingFunds. I want to confirm file and line references for key functions in VirtueStaking and IdolMarketplace to back these findings with evidence. This will help make the report precise and actionable.
exec
/bin/bash -lc 'rg -n "decreaseVirtueStake|increaseVirtueStake|_distributeRewards" contracts/VirtueStaking.sol' in /tmp/codex-valssxo8 succeeded in 17ms:
89: @notice increaseVirtueStake increases a user's VIRTUE stake.
92: function increaseVirtueStake(uint _virtueTokenAmt)
115: @notice decreaseVirtueStake decreases a user's VIRTUE stake.
119: function decreaseVirtueStake(uint _virtueTokenAmt)
193: _distributeRewards(msg.value);
197: @notice This contract's receive function also calls _distributeRewards if any ETH is sent to
201: _distributeRewards(msg.value);
204: function _distributeRewards(uint _ethAmt)
thinking
**Checking line numbers for functions**
exec
/bin/bash -lc "nl -ba contracts/VirtueStaking.sol | sed -n '90,170p'" in /tmp/codex-valssxo8 succeeded in 14ms:
90 @param _virtueTokenAmt The amount of VIRTUE to stake on behalf of the user
91 */
92 function increaseVirtueStake(uint _virtueTokenAmt)
93 external
94 {
95 // Also stake with any linked extraRewards contracts.
96 for (uint i = 0; i < extraRewards.length; i++) {
97 IRewards(extraRewards[i]).increaseStake(msg.sender, _virtueTokenAmt);
98 }
99
100 uint currentStake = userStakes[msg.sender];
101 // If the sender has any pending ETH gains from staking, claim them before increasing their stake.
102 if (currentStake > 0) {
103 claimEthRewards(msg.sender);
104 } else {
105 claimedSnapshots[msg.sender] = cumulativeETH;
106 }
107 userStakes[msg.sender] = currentStake + _virtueTokenAmt;
108 require(
109 virtueToken.transferFrom(msg.sender, address(this), _virtueTokenAmt),
thinking
**Requesting line numbers for function**
exec
/bin/bash -lc "nl -ba contracts/VirtueStaking.sol | sed -n '190,230p'" in /tmp/codex-valssxo8 succeeded in 14ms:
190 external
191 payable
192 {
193 _distributeRewards(msg.value);
194 }
195
196 /**
197 @notice This contract's receive function also calls _distributeRewards if any ETH is sent to
198 the contract.
199 */
200 receive() external payable {
201 _distributeRewards(msg.value);
202 }
203
204 function _distributeRewards(uint _ethAmt)
205 internal
206 {
207 cumulativeETH = cumulativeETH + (_ethAmt * DECIMAL_PRECISION) / getTotalVirtueStake();
208 }
209
thinking
**Considering IdolMain updateRewardPerGod**
exec
/bin/bash -lc 'rg -n "updateRewardPerGod" contracts/IdolMain.sol' in /tmp/codex-valssxo8 succeeded in 30ms:
135: calling updateRewardPerGod.
288: function updateRewardPerGod()
320: updateRewardPerGod, as an incentive to spend the gas costs on calling the function.
thinking
**Navigating updateRewardPerGod function**
exec
/bin/bash -lc "nl -ba contracts/IdolMain.sol | sed -n '280,340p'" in /tmp/codex-valssxo8 succeeded in 6ms:
280 require(steth.transferFrom(msg.sender, address(this), _stethAmt));
281 stethPrincipalBalance = stethPrincipalBalance + _stethAmt;
282 }
283
284 /**
285 @notice this function updates rewardPerGod based on the relationship between steth prin bal
286 and actual steth in the contract
287 */
288 function updateRewardPerGod()
289 public
290 nonReentrant
291 {
292 uint256 stethBal = steth.balanceOf(address(this));
293 // This should only occur if steth has experienced slashing.
294 // Reduce stethPrincipalBalance to stethBal minus previously allocated rewards.
295 if (stethBal < (stethPrincipalBalance + allocatedStethRewards)) {
296 emit RewardPerGodUpdated(rewardPerGod, stethPrincipalBalance + allocatedStethRewards - stethBal, msg.sender);
297 stethPrincipalBalance = stethBal - allocatedStethRewards;
298 return;
299 }
thinking
**Summarizing audit findings and crafting JSON output**
I'm gathering key security issues like reentrancy in token withdrawal, division-by-zero causing DoS in reward distribution, and underflow risk in reward updates due to slashing. I'll organize these findings with evidence lines, severity levels, categories, attack scenarios, and recommendations before formatting them into the final JSON output per the schema.
codex
{"no_findings":false,"summary":"Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrancy enables double-withdraw of staked VIRTUE","exploit_scenario":"A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked.","recommendation":"Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.","evidence":"`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.","locations":["contracts/VirtueStaking.sol:92","contracts/VirtueStaking.sol:119","contracts/VirtueStaking.sol:131","contracts/VirtueStaking.sol:214"]},{"severity":"low","category":"math","title":"Division by zero when no VIRTUE is staked can revert sales/reward distribution","exploit_scenario":"If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept.","recommendation":"Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.","evidence":"`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.","locations":["contracts/VirtueStaking.sol:204"]},{"severity":"medium","category":"math","title":"Slashing can cause underflow and permanently block reward updates","exploit_scenario":"If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH.","recommendation":"Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.","evidence":"`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.","locations":["contracts/IdolMain.sol:288","contracts/IdolMain.sol:295","contracts/IdolMain.sol:297"]}]}
tokens used
44,685
{
"codex": {
"ran_at": "2026-01-11T05:30:37.185573+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 26,
"import_count": 32,
"first_party_contracts_count": 6
},
"summary": "Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.",
"raw_final": {
"summary": "Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.",
"findings": [
{
"title": "Reentrancy enables double-withdraw of staked VIRTUE",
"category": "reentrancy",
"evidence": "`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.",
"severity": "high",
"locations": [
"contracts/VirtueStaking.sol:92",
"contracts/VirtueStaking.sol:119",
"contracts/VirtueStaking.sol:131",
"contracts/VirtueStaking.sol:214"
],
"recommendation": "Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.",
"exploit_scenario": "A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked."
},
{
"title": "Division by zero when no VIRTUE is staked can revert sales/reward distribution",
"category": "math",
"evidence": "`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.",
"severity": "low",
"locations": [
"contracts/VirtueStaking.sol:204"
],
"recommendation": "Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.",
"exploit_scenario": "If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept."
},
{
"title": "Slashing can cause underflow and permanently block reward updates",
"category": "math",
"evidence": "`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.",
"severity": "medium",
"locations": [
"contracts/IdolMain.sol:288",
"contracts/IdolMain.sol:295",
"contracts/IdolMain.sol:297"
],
"recommendation": "Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.",
"exploit_scenario": "If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01e6 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x7e89236f 00000019: GT 0000001a: PUSH2 0x0102 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xd55a23f4 00000024: GT 00000025: PUSH2 0x0095 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xec81290e 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xec81290e 0000003a: EQ 0000003b: PUSH2 0x067d 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xeee10501 00000045: EQ 00000046: PUSH2 0x06a6 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf2fde38b 00000050: EQ 00000051: PUSH2 0x06d1 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf3f43703 0000005b: EQ 0000005c: PUSH2 0x06fa 0000005f: JUMPI 00000060: PUSH2 0x01f6 00000063: JUMP 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xd55a23f4 0000006b: EQ 0000006c: PUSH2 0x05c3 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xda2d09c1 00000076: EQ 00000077: PUSH2 0x05ee 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xdbe1499a 00000081: EQ 00000082: PUSH2 0x0617 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xddeeacec 0000008c: EQ 0000008d: PUSH2 0x0640 00000090: JUMPI 00000091: PUSH2 0x01f6 00000094: JUMP 00000095: JUMPDEST 00000096: DUP1 00000097: PUSH4 0x8da5cb5b 0000009c: GT 0000009d: PUSH2 0x00d1 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x8da5cb5b 000000a7: EQ 000000a8: PUSH2 0x051b 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xa41ba44f 000000b2: EQ 000000b3: PUSH2 0x0546 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xa65705f5 000000bd: EQ 000000be: PUSH2 0x056f 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xc115b22c 000000c8: EQ 000000c9: PUSH2 0x059a 000000cc: JUMPI 000000cd: PUSH2 0x01f6 000000d0: JUMP 000000d1: JUMPDEST 000000d2: DUP1 000000d3: PUSH4 0x7e89236f 000000d8: EQ 000000d9: PUSH2 0x044e 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x804cc777 000000e3: EQ 000000e4: PUSH2 0x0477 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x86eebfba 000000ee: EQ 000000ef: PUSH2 0x04a0 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0x8b9345ad 000000f9: EQ 000000fa: PUSH2 0x04de 000000fd: JUMPI 000000fe: PUSH2 0x01f6 00000101: JUMP 00000102: JUMPDEST 00000103: DUP1 00000104: PUSH4 0x483c2d6e 00000109: GT 0000010a: PUSH2 0x017a 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x5e43c47b 00000114: GT 00000115: PUSH2 0x0149 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x5e43c47b 0000011f: EQ 00000120: PUSH2 0x03d9 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x682dd599 0000012a: EQ 0000012b: PUSH2 0x0402 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x6f4a2cd0 00000135: EQ 00000136: PUSH2 0x042d 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x715018a6 00000140: EQ 00000141: PUSH2 0x0437 00000144: JUMPI 00000145: PUSH2 0x01f6 00000148: JUMP 00000149: JUMPDEST 0000014a: DUP1 0000014b: PUSH4 0x483c2d6e 00000150: EQ 00000151: PUSH2 0x033e 00000154: JUMPI 00000155: DUP1 00000156: PUSH4 0x49c657db 0000015b: EQ 0000015c: PUSH2 0x035a 0000015f: JUMPI 00000160: DUP1 00000161: PUSH4 0x58cd5272 00000166: EQ 00000167: PUSH2 0x0385 0000016a: JUMPI 0000016b: DUP1 0000016c: PUSH4 0x5b1161ac 00000171: EQ 00000172: PUSH2 0x03b0 00000175: JUMPI 00000176: PUSH2 0x01f6 00000179: JUMP 0000017a: JUMPDEST 0000017b: DUP1 0000017c: PUSH4 0x217847d8 00000181: GT 00000182: PUSH2 0x01b6 00000185: JUMPI 00000186: DUP1 00000187: PUSH4 0x217847d8 0000018c: EQ 0000018d: PUSH2 0x0270 00000190: JUMPI 00000191: DUP1 00000192: PUSH4 0x2533a8c1 00000197: EQ 00000198: PUSH2 0x02af 0000019b: JUMPI 0000019c: DUP1 0000019d: PUSH4 0x40c35446 000001a2: EQ 000001a3: PUSH2 0x02d8 000001a6: JUMPI 000001a7: DUP1 000001a8: PUSH4 0x40d391af 000001ad: EQ 000001ae: PUSH2 0x0315 000001b1: JUMPI 000001b2: PUSH2 0x01f6 000001b5: JUMP 000001b6: JUMPDEST 000001b7: DUP1 000001b8: PUSH3 0xb82784 000001bc: EQ 000001bd: PUSH2 0x01fb 000001c0: JUMPI 000001c1: DUP1 000001c2: PUSH4 0x0569d388 000001c7: EQ 000001c8: PUSH2 0x0217 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0x0a7636ac 000001d2: EQ 000001d3: PUSH2 0x022e 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0x0ff24edb 000001dd: EQ 000001de: PUSH2 0x0245 000001e1: JUMPI 000001e2: PUSH2 0x01f6 000001e5: JUMP 000001e6: JUMPDEST 000001e7: CALLDATASIZE 000001e8: PUSH2 0x01f6 000001eb: JUMPI 000001ec: PUSH2 0x01f4 000001ef: CALLVALUE 000001f0: PUSH2 0x0737 000001f3: JUMP 000001f4: JUMPDEST 000001f5: STOP 000001f6: JUMPDEST 000001f7: PUSH1 0x00 000001f9: DUP1 000001fa: REVERT 000001fb: JUMPDEST 000001fc: PUSH2 0x0215 000001ff: PUSH1 0x04 00000201: DUP1 00000202: CALLDATASIZE 00000203: SUB 00000204: DUP2 00000205: ADD 00000206: SWAP1 00000207: PUSH2 0x0210 0000020a: SWAP2 0000020b: SWAP1 0000020c: PUSH2 0x3448 0000020f: JUMP 00000210: JUMPDEST 00000211: PUSH2 0x0773 00000214: JUMP 00000215: JUMPDEST 00000216: STOP 00000217: JUMPDEST 00000218: CALLVALUE 00000219: DUP1 0000021a: ISZERO 0000021b: PUSH2 0x0223 0000021e: JUMPI 0000021f: PUSH1 0x00 00000221: DUP1 00000222: REVERT 00000223: JUMPDEST 00000224: POP 00000225: PUSH2 0x022c 00000228: PUSH2 0x0c54 0000022b: JUMP 0000022c: JUMPDEST 0000022d: STOP 0000022e: JUMPDEST 0000022f: CALLVALUE 00000230: DUP1 00000231: ISZERO 00000232: PUSH2 0x023a 00000235: JUMPI 00000236: PUSH1 0x00 00000238: DUP1 00000239: REVERT 0000023a: JUMPDEST 0000023b: POP 0000023c: PUSH2 0x0243 0000023f: PUSH2 0x0ce0 00000242: JUMP 00000243: JUMPDEST 00000244: STOP 00000245: JUMPDEST 00000246: CALLVALUE 00000247: DUP1 00000248: ISZERO 00000249: PUSH2 0x0251 0000024c: JUMPI 0000024d: PUSH1 0x00 0000024f: DUP1 00000250: REVERT 00000251: JUMPDEST 00000252: POP 00000253: PUSH2 0x025a 00000256: PUSH2 0x0dc4 00000259: JUMP 0000025a: JUMPDEST 0000025b: PUSH1 0x40 0000025d: MLOAD 0000025e: PUSH2 0x0267 00000261: SWAP2 00000262: SWAP1 00000263: PUSH2 0x3484 00000266: JUMP 00000267: JUMPDEST 00000268: PUSH1 0x40 0000026a: MLOAD 0000026b: DUP1 0000026c: SWAP2 0000026d: SUB 0000026e: SWAP1 0000026f: RETURN 00000270: JUMPDEST 00000271: CALLVALUE 00000272: DUP1 00000273: ISZERO 00000274: PUSH2 0x027c 00000277: JUMPI 00000278: PUSH1 0x00 0000027a: DUP1 0000027b: REVERT 0000027c: JUMPDEST 0000027d: POP 0000027e: PUSH2 0x0297 00000281: PUSH1 0x04 00000283: DUP1 00000284: CALLDATASIZE 00000285: SUB 00000286: DUP2 00000287: ADD 00000288: SWAP1 00000289: PUSH2 0x0292 0000028c: SWAP2 0000028d: SWAP1 0000028e: PUSH2 0x3448 00000291: JUMP 00000292: JUMPDEST 00000293: PUSH2 0x0e76 00000296: JUMP 00000297: JUMPDEST 00000298: PUSH1 0x40 0000029a: MLOAD 0000029b: PUSH2 0x02a6 0000029e: SWAP4 0000029f: SWAP3 000002a0: SWAP2 000002a1: SWAP1 000002a2: PUSH2 0x34e0 000002a5: JUMP 000002a6: JUMPDEST 000002a7: PUSH1 0x40 000002a9: MLOAD 000002aa: DUP1 000002ab: SWAP2 000002ac: SUB 000002ad: SWAP1 000002ae: RETURN 000002af: JUMPDEST 000002b0: CALLVALUE 000002b1: DUP1 000002b2: ISZERO 000002b3: PUSH2 0x02bb 000002b6: JUMPI 000002b7: PUSH1 0x00 000002b9: DUP1 000002ba: REVERT 000002bb: JUMPDEST 000002bc: POP 000002bd: PUSH2 0x02d6 000002c0: PUSH1 0x04 000002c2: DUP1 000002c3: CALLDATASIZE 000002c4: SUB 000002c5: DUP2 000002c6: ADD 000002c7: SWAP1 000002c8: PUSH2 0x02d1 000002cb: SWAP2 000002cc: SWAP1 000002cd: PUSH2 0x3517 000002d0: JUMP 000002d1: JUMPDEST 000002d2: PUSH2 0x0ee0 000002d5: JUMP 000002d6: JUMPDEST 000002d7: STOP 000002d8: JUMPDEST 000002d9: CALLVALUE 000002da: DUP1 000002db: ISZERO 000002dc: PUSH2 0x02e4 000002df: JUMPI 000002e0: PUSH1 0x00 000002e2: DUP1 000002e3: REVERT 000002e4: JUMPDEST 000002e5: POP 000002e6: PUSH2 0x02ff 000002e9: PUSH1 0x04 000002eb: DUP1 000002ec: CALLDATASIZE 000002ed: SUB 000002ee: DUP2 000002ef: ADD 000002f0: SWAP1 000002f1: PUSH2 0x02fa 000002f4: SWAP2 000002f5: SWAP1 000002f6: PUSH2 0x3448 000002f9: JUMP 000002fa: JUMPDEST 000002fb: PUSH2 0x1198 000002fe: JUMP 000002ff: JUMPDEST 00000300: PUSH1 0x40 00000302: MLOAD 00000303: PUSH2 0x030c 00000306: SWAP2 00000307: SWAP1 00000308: PUSH2 0x3557 0000030b: JUMP 0000030c: JUMPDEST 0000030d: PUSH1 0x40 0000030f: MLOAD 00000310: DUP1 00000311: SWAP2 00000312: SUB 00000313: SWAP1 00000314: RETURN 00000315: JUMPDEST 00000316: CALLVALUE 00000317: DUP1 00000318: ISZERO 00000319: PUSH2 0x0321 0000031c: JUMPI 0000031d: PUSH1 0x00 0000031f: DUP1 00000320: REVERT 00000321: JUMPDEST 00000322: POP 00000323: PUSH2 0x033c 00000326: PUSH1 0x04 00000328: DUP1 00000329: CALLDATASIZE 0000032a: SUB 0000032b: DUP2 0000032c: ADD 0000032d: SWAP1 0000032e: PUSH2 0x0337 00000331: SWAP2 00000332: SWAP1 00000333: PUSH2 0x3448 00000336: JUMP 00000337: JUMPDEST 00000338: PUSH2 0x11d7 0000033b: JUMP 0000033c: JUMPDEST 0000033d: STOP 0000033e: JUMPDEST 0000033f: PUSH2 0x0358 00000342: PUSH1 0x04 00000344: DUP1 00000345: CALLDATASIZE 00000346: SUB 00000347: DUP2 00000348: ADD 00000349: SWAP1 0000034a: PUSH2 0x0353 0000034d: SWAP2 0000034e: SWAP1 0000034f: PUSH2 0x3448 00000352: JUMP 00000353: JUMPDEST 00000354: PUSH2 0x1674 00000357: JUMP 00000358: JUMPDEST 00000359: STOP 0000035a: JUMPDEST 0000035b: CALLVALUE 0000035c: DUP1 0000035d: ISZERO 0000035e: PUSH2 0x0366 00000361: JUMPI 00000362: PUSH1 0x00 00000364: DUP1 00000365: REVERT 00000366: JUMPDEST 00000367: POP 00000368: PUSH2 0x036f 0000036b: PUSH2 0x1cbf 0000036e: JUMP 0000036f: JUMPDEST 00000370: PUSH1 0x40 00000372: MLOAD 00000373: PUSH2 0x037c 00000376: SWAP2 00000377: SWAP1 00000378: PUSH2 0x3484 0000037b: JUMP 0000037c: JUMPDEST 0000037d: PUSH1 0x40 0000037f: MLOAD 00000380: DUP1 00000381: SWAP2 00000382: SUB 00000383: SWAP1 00000384: RETURN 00000385: JUMPDEST 00000386: CALLVALUE 00000387: DUP1 00000388: ISZERO 00000389: PUSH2 0x0391 0000038c: JUMPI 0000038d: PUSH1 0x00 0000038f: DUP1 00000390: REVERT 00000391: JUMPDEST 00000392: POP 00000393: PUSH2 0x039a 00000396: PUSH2 0x1cc5 00000399: JUMP 0000039a: JUMPDEST 0000039b: PUSH1 0x40 0000039d: MLOAD 0000039e: PUSH2 0x03a7 000003a1: SWAP2 000003a2: SWAP1 000003a3: PUSH2 0x3484 000003a6: JUMP 000003a7: JUMPDEST 000003a8: PUSH1 0x40 000003aa: MLOAD 000003ab: DUP1 000003ac: SWAP2 000003ad: SUB 000003ae: SWAP1 000003af: RETURN 000003b0: JUMPDEST 000003b1: CALLVALUE 000003b2: DUP1 000003b3: ISZERO 000003b4: PUSH2 0x03bc 000003b7: JUMPI 000003b8: PUSH1 0x00 000003ba: DUP1 000003bb: REVERT 000003bc: JUMPDEST 000003bd: POP 000003be: PUSH2 0x03d7 000003c1: PUSH1 0x04 000003c3: DUP1 000003c4: CALLDATASIZE 000003c5: SUB 000003c6: DUP2 000003c7: ADD 000003c8: SWAP1 000003c9: PUSH2 0x03d2 000003cc: SWAP2 000003cd: SWAP1 000003ce: PUSH2 0x359e 000003d1: JUMP 000003d2: JUMPDEST 000003d3: PUSH2 0x1ccb 000003d6: JUMP 000003d7: JUMPDEST 000003d8: STOP 000003d9: JUMPDEST 000003da: CALLVALUE 000003db: DUP1 000003dc: ISZERO 000003dd: PUSH2 0x03e5 000003e0: JUMPI 000003e1: PUSH1 0x00 000003e3: DUP1 000003e4: REVERT 000003e5: JUMPDEST 000003e6: POP 000003e7: PUSH2 0x0400 000003ea: PUSH1 0x04 000003ec: DUP1 000003ed: CALLDATASIZE 000003ee: SUB 000003ef: DUP2 000003f0: ADD 000003f1: SWAP1 000003f2: PUSH2 0x03fb 000003f5: SWAP2 000003f6: SWAP1 000003f7: PUSH2 0x35f1 000003fa: JUMP 000003fb: JUMPDEST 000003fc: PUSH2 0x1f82 000003ff: JUMP 00000400: JUMPDEST 00000401: STOP 00000402: JUMPDEST 00000403: CALLVALUE 00000404: DUP1 00000405: ISZERO 00000406: PUSH2 0x040e 00000409: JUMPI 0000040a: PUSH1 0x00 0000040c: DUP1 0000040d: REVERT 0000040e: JUMPDEST 0000040f: POP 00000410: PUSH2 0x0417 00000413: PUSH2 0x2064 00000416: JUMP 00000417: JUMPDEST 00000418: PUSH1 0x40 0000041a: MLOAD 0000041b: PUSH2 0x0424 0000041e: SWAP2 0000041f: SWAP1 00000420: PUSH2 0x3557 00000423: JUMP 00000424: JUMPDEST 00000425: PUSH1 0x40 00000427: MLOAD 00000428: DUP1 00000429: SWAP2 0000042a: SUB 0000042b: SWAP1 0000042c: RETURN 0000042d: JUMPDEST 0000042e: PUSH2 0x0435 00000431: PUSH2 0x2088 00000434: JUMP 00000435: JUMPDEST 00000436: STOP 00000437: JUMPDEST 00000438: CALLVALUE 00000439: DUP1 0000043a: ISZERO 0000043b: PUSH2 0x0443 0000043e: JUMPI 0000043f: PUSH1 0x00 00000441: DUP1 00000442: REVERT 00000443: JUMPDEST 00000444: POP 00000445: PUSH2 0x044c 00000448: PUSH2 0x2093 0000044b: JUMP 0000044c: JUMPDEST 0000044d: STOP 0000044e: JUMPDEST 0000044f: CALLVALUE 00000450: DUP1 00000451: ISZERO 00000452: PUSH2 0x045a 00000455: JUMPI 00000456: PUSH1 0x00 00000458: DUP1 00000459: REVERT 0000045a: JUMPDEST 0000045b: POP 0000045c: PUSH2 0x0475 0000045f: PUSH1 0x04 00000461: DUP1 00000462: CALLDATASIZE 00000463: SUB 00000464: DUP2 00000465: ADD 00000466: SWAP1 00000467: PUSH2 0x0470 0000046a: SWAP2 0000046b: SWAP1 0000046c: PUSH2 0x35f1 0000046f: JUMP 00000470: JUMPDEST 00000471: PUSH2 0x211b 00000474: JUMP 00000475: JUMPDEST 00000476: STOP 00000477: JUMPDEST 00000478: CALLVALUE 00000479: DUP1 0000047a: ISZERO 0000047b: PUSH2 0x0483 0000047e: JUMPI 0000047f: PUSH1 0x00 00000481: DUP1 00000482: REVERT 00000483: JUMPDEST 00000484: POP 00000485: PUSH2 0x049e 00000488: PUSH1 0x04 0000048a: DUP1 0000048b: CALLDATASIZE 0000048c: SUB 0000048d: DUP2 0000048e: ADD 0000048f: SWAP1 00000490: PUSH2 0x0499 00000493: SWAP2 00000494: SWAP1 00000495: PUSH2 0x3448 00000498: JUMP 00000499: JUMPDEST 0000049a: PUSH2 0x21b7 0000049d: JUMP 0000049e: JUMPDEST 0000049f: STOP 000004a0: JUMPDEST 000004a1: CALLVALUE 000004a2: DUP1 000004a3: ISZERO 000004a4: PUSH2 0x04ac 000004a7: JUMPI 000004a8: PUSH1 0x00 000004aa: DUP1 000004ab: REVERT 000004ac: JUMPDEST 000004ad: POP 000004ae: PUSH2 0x04c7 000004b1: PUSH1 0x04 000004b3: DUP1 000004b4: CALLDATASIZE 000004b5: SUB 000004b6: DUP2 000004b7: ADD 000004b8: SWAP1 000004b9: PUSH2 0x04c2 000004bc: SWAP2 000004bd: SWAP1 000004be: PUSH2 0x3448 000004c1: JUMP 000004c2: JUMPDEST 000004c3: PUSH2 0x236e 000004c6: JUMP 000004c7: JUMPDEST 000004c8: PUSH1 0x40 000004ca: MLOAD 000004cb: PUSH2 0x04d5 000004ce: SWAP3 000004cf: SWAP2 000004d0: SWAP1 000004d1: PUSH2 0x361e 000004d4: JUMP 000004d5: JUMPDEST 000004d6: PUSH1 0x40 000004d8: MLOAD 000004d9: DUP1 000004da: SWAP2 000004db: SUB 000004dc: SWAP1 000004dd: RETURN 000004de: JUMPDEST 000004df: CALLVALUE 000004e0: DUP1 000004e1: ISZERO 000004e2: PUSH2 0x04ea 000004e5: JUMPI 000004e6: PUSH1 0x00 000004e8: DUP1 000004e9: REVERT 000004ea: JUMPDEST 000004eb: POP 000004ec: PUSH2 0x0505 000004ef: PUSH1 0x04 000004f1: DUP1 000004f2: CALLDATASIZE 000004f3: SUB 000004f4: DUP2 000004f5: ADD 000004f6: SWAP1 000004f7: PUSH2 0x0500 000004fa: SWAP2 000004fb: SWAP1 000004fc: PUSH2 0x35f1 000004ff: JUMP 00000500: JUMPDEST 00000501: PUSH2 0x23b2 00000504: JUMP 00000505: JUMPDEST 00000506: PUSH1 0x40 00000508: MLOAD 00000509: PUSH2 0x0512 0000050c: SWAP2 0000050d: SWAP1 0000050e: PUSH2 0x3484 00000511: JUMP 00000512: JUMPDEST 00000513: PUSH1 0x40 00000515: MLOAD 00000516: DUP1 00000517: SWAP2 00000518: SUB 00000519: SWAP1 0000051a: RETURN 0000051b: JUMPDEST 0000051c: CALLVALUE 0000051d: DUP1 0000051e: ISZERO 0000051f: PUSH2 0x0527 00000522: JUMPI 00000523: PUSH1 0x00 00000525: DUP1 00000526: REVERT 00000527: JUMPDEST 00000528: POP 00000529: PUSH2 0x0530 0000052c: PUSH2 0x2465 0000052f: JUMP 00000530: JUMPDEST 00000531: PUSH1 0x40 00000533: MLOAD 00000534: PUSH2 0x053d 00000537: SWAP2 00000538: SWAP1 00000539: PUSH2 0x3557 0000053c: JUMP 0000053d: JUMPDEST 0000053e: PUSH1 0x40 00000540: MLOAD 00000541: DUP1 00000542: SWAP2 00000543: SUB 00000544: SWAP1 00000545: RETURN 00000546: JUMPDEST 00000547: CALLVALUE 00000548: DUP1 00000549: ISZERO 0000054a: PUSH2 0x0552 0000054d: JUMPI 0000054e: PUSH1 0x00 00000550: DUP1 00000551: REVERT 00000552: JUMPDEST 00000553: POP 00000554: PUSH2 0x056d 00000557: PUSH1 0x04 00000559: DUP1 0000055a: CALLDATASIZE 0000055b: SUB 0000055c: DUP2 0000055d: ADD 0000055e: SWAP1 0000055f: PUSH2 0x0568 00000562: SWAP2 00000563: SWAP1 00000564: PUSH2 0x35f1 00000567: JUMP 00000568: JUMPDEST 00000569: PUSH2 0x248f 0000056c: JUMP 0000056d: JUMPDEST 0000056e: STOP 0000056f: JUMPDEST 00000570: CALLVALUE 00000571: DUP1 00000572: ISZERO 00000573: PUSH2 0x057b 00000576: JUMPI 00000577: PUSH1 0x00 00000579: DUP1 0000057a: REVERT 0000057b: JUMPDEST 0000057c: POP 0000057d: PUSH2 0x0584 00000580: PUSH2 0x25b5 00000583: JUMP 00000584: JUMPDEST 00000585: PUSH1 0x40 00000587: MLOAD 00000588: PUSH2 0x0591 0000058b: SWAP2 0000058c: SWAP1 0000058d: PUSH2 0x36a6 00000590: JUMP 00000591: JUMPDEST 00000592: PUSH1 0x40 00000594: MLOAD 00000595: DUP1 00000596: SWAP2 00000597: SUB 00000598: SWAP1 00000599: RETURN 0000059a: JUMPDEST 0000059b: CALLVALUE 0000059c: DUP1 0000059d: ISZERO 0000059e: PUSH2 0x05a6 000005a1: JUMPI 000005a2: PUSH1 0x00 000005a4: DUP1 000005a5: REVERT 000005a6: JUMPDEST 000005a7: POP 000005a8: PUSH2 0x05c1 000005ab: PUSH1 0x04 000005ad: DUP1 000005ae: CALLDATASIZE 000005af: SUB 000005b0: DUP2 000005b1: ADD 000005b2: SWAP1 000005b3: PUSH2 0x05bc 000005b6: SWAP2 000005b7: SWAP1 000005b8: PUSH2 0x35f1 000005bb: JUMP 000005bc: JUMPDEST 000005bd: PUSH2 0x25db 000005c0: JUMP 000005c1: JUMPDEST 000005c2: STOP 000005c3: JUMPDEST 000005c4: CALLVALUE 000005c5: DUP1 000005c6: ISZERO 000005c7: PUSH2 0x05cf 000005ca: JUMPI 000005cb: PUSH1 0x00 000005cd: DUP1 000005ce: REVERT 000005cf: JUMPDEST 000005d0: POP 000005d1: PUSH2 0x05d8 000005d4: PUSH2 0x269c 000005d7: JUMP 000005d8: JUMPDEST 000005d9: PUSH1 0x40 000005db: MLOAD 000005dc: PUSH2 0x05e5 000005df: SWAP2 000005e0: SWAP1 000005e1: PUSH2 0x3484 000005e4: JUMP 000005e5: JUMPDEST 000005e6: PUSH1 0x40 000005e8: MLOAD 000005e9: DUP1 000005ea: SWAP2 000005eb: SUB 000005ec: SWAP1 000005ed: RETURN 000005ee: JUMPDEST 000005ef: CALLVALUE 000005f0: DUP1 000005f1: ISZERO 000005f2: PUSH2 0x05fa 000005f5: JUMPI 000005f6: PUSH1 0x00 000005f8: DUP1 000005f9: REVERT 000005fa: JUMPDEST 000005fb: POP 000005fc: PUSH2 0x0615 000005ff: PUSH1 0x04 00000601: DUP1 00000602: CALLDATASIZE 00000603: SUB 00000604: DUP2 00000605: ADD 00000606: SWAP1 00000607: PUSH2 0x0610 0000060a: SWAP2 0000060b: SWAP1 0000060c: PUSH2 0x3448 0000060f: JUMP 00000610: JUMPDEST 00000611: PUSH2 0x26a9 00000614: JUMP 00000615: JUMPDEST 00000616: STOP 00000617: JUMPDEST 00000618: CALLVALUE 00000619: DUP1 0000061a: ISZERO 0000061b: PUSH2 0x0623 0000061e: JUMPI 0000061f: PUSH1 0x00 00000621: DUP1 00000622: REVERT 00000623: JUMPDEST 00000624: POP 00000625: PUSH2 0x063e 00000628: PUSH1 0x04 0000062a: DUP1 0000062b: CALLDATASIZE 0000062c: SUB 0000062d: DUP2 0000062e: ADD 0000062f: SWAP1 00000630: PUSH2 0x0639 00000633: SWAP2 00000634: SWAP1 00000635: PUSH2 0x3448 00000638: JUMP 00000639: JUMPDEST 0000063a: PUSH2 0x295d 0000063d: JUMP 0000063e: JUMPDEST 0000063f: STOP 00000640: JUMPDEST 00000641: CALLVALUE 00000642: DUP1 00000643: ISZERO 00000644: PUSH2 0x064c 00000647: JUMPI 00000648: PUSH1 0x00 0000064a: DUP1 0000064b: REVERT 0000064c: JUMPDEST 0000064d: POP 0000064e: PUSH2 0x0667 00000651: PUSH1 0x04 00000653: DUP1 00000654: CALLDATASIZE 00000655: SUB 00000656: DUP2 00000657: ADD 00000658: SWAP1 00000659: PUSH2 0x0662 0000065c: SWAP2 0000065d: SWAP1 0000065e: PUSH2 0x35f1 00000661: JUMP 00000662: JUMPDEST 00000663: PUSH2 0x2a63 00000666: JUMP 00000667: JUMPDEST 00000668: PUSH1 0x40 0000066a: MLOAD 0000066b: PUSH2 0x0674 0000066e: SWAP2 0000066f: SWAP1 00000670: PUSH2 0x3484 00000673: JUMP 00000674: JUMPDEST 00000675: PUSH1 0x40 00000677: MLOAD 00000678: DUP1 00000679: SWAP2 0000067a: SUB 0000067b: SWAP1 0000067c: RETURN 0000067d: JUMPDEST 0000067e: CALLVALUE 0000067f: DUP1 00000680: ISZERO 00000681: PUSH2 0x0689 00000684: JUMPI 00000685: PUSH1 0x00 00000687: DUP1 00000688: REVERT 00000689: JUMPDEST 0000068a: POP 0000068b: PUSH2 0x06a4 0000068e: PUSH1 0x04 00000690: DUP1 00000691: CALLDATASIZE 00000692: SUB 00000693: DUP2 00000694: ADD 00000695: SWAP1 00000696: PUSH2 0x069f 00000699: SWAP2 0000069a: SWAP1 0000069b: PUSH2 0x3517 0000069e: JUMP 0000069f: JUMPDEST 000006a0: PUSH2 0x2aac 000006a3: JUMP 000006a4: JUMPDEST 000006a5: STOP 000006a6: JUMPDEST 000006a7: CALLVALUE 000006a8: DUP1 000006a9: ISZERO 000006aa: PUSH2 0x06b2 000006ad: JUMPI 000006ae: PUSH1 0x00 000006b0: DUP1 000006b1: REVERT 000006b2: JUMPDEST 000006b3: POP 000006b4: PUSH2 0x06bb 000006b7: PUSH2 0x2f7b 000006ba: JUMP 000006bb: JUMPDEST 000006bc: PUSH1 0x40 000006be: MLOAD 000006bf: PUSH2 0x06c8 000006c2: SWAP2 000006c3: SWAP1 000006c4: PUSH2 0x36e2 000006c7: JUMP 000006c8: JUMPDEST 000006c9: PUSH1 0x40 000006cb: MLOAD 000006cc: DUP1 000006cd: SWAP2 000006ce: SUB 000006cf: SWAP1 000006d0: RETURN 000006d1: JUMPDEST 000006d2: CALLVALUE 000006d3: DUP1 000006d4: ISZERO 000006d5: PUSH2 0x06dd 000006d8: JUMPI 000006d9: PUSH1 0x00 000006db: DUP1 000006dc: REVERT 000006dd: JUMPDEST 000006de: POP 000006df: PUSH2 0x06f8 000006e2: PUSH1 0x04 000006e4: DUP1 000006e5: CALLDATASIZE 000006e6: SUB 000006e7: DUP2 000006e8: ADD 000006e9: SWAP1 000006ea: PUSH2 0x06f3 000006ed: SWAP2 000006ee: SWAP1 000006ef: PUSH2 0x35f1 000006f2: JUMP 000006f3: JUMPDEST 000006f4: PUSH2 0x2f9f 000006f7: JUMP 000006f8: JUMPDEST 000006f9: STOP 000006fa: JUMPDEST 000006fb: CALLVALUE 000006fc: DUP1 000006fd: ISZERO 000006fe: PUSH2 0x0706 00000701: JUMPI 00000702: PUSH1 0x00 00000704: DUP1 00000705: REVERT 00000706: JUMPDEST 00000707: POP 00000708: PUSH2 0x0721 0000070b: PUSH1 0x04 0000070d: DUP1 0000070e: CALLDATASIZE 0000070f: SUB 00000710: DUP2 00000711: ADD 00000712: SWAP1 00000713: PUSH2 0x071c 00000716: SWAP2 00000717: SWAP1 00000718: PUSH2 0x35f1 0000071b: JUMP 0000071c: JUMPDEST 0000071d: PUSH2 0x3097 00000720: JUMP 00000721: JUMPDEST 00000722: PUSH1 0x40 00000724: MLOAD 00000725: PUSH2 0x072e 00000728: SWAP2 00000729: SWAP1 0000072a: PUSH2 0x3484 0000072d: JUMP 0000072e: JUMPDEST 0000072f: PUSH1 0x40 00000731: MLOAD 00000732: DUP1 00000733: SWAP2 00000734: SUB 00000735: SWAP1 00000736: RETURN 00000737: JUMPDEST 00000738: PUSH2 0x073f 0000073b: PUSH2 0x0dc4 0000073e: JUMP 0000073f: JUMPDEST 00000740: PUSH8 0x0de0b6b3a7640000 00000749: DUP3 0000074a: PUSH2 0x0753 0000074d: SWAP2 0000074e: SWAP1 0000074f: PUSH2 0x372c 00000752: JUMP 00000753: JUMPDEST 00000754: PUSH2 0x075d 00000757: SWAP2 00000758: SWAP1 00000759: PUSH2 0x37b5 0000075c: JUMP 0000075d: JUMPDEST 0000075e: PUSH1 0x03 00000760: SLOAD 00000761: PUSH2 0x076a 00000764: SWAP2 00000765: SWAP1 00000766: PUSH2 0x37e6 00000769: JUMP 0000076a: JUMPDEST 0000076b: PUSH1 0x03 0000076d: DUP2 0000076e: SWAP1 0000076f: SSTORE 00000770: POP 00000771: POP 00000772: JUMP 00000773: JUMPDEST 00000774: PUSH1 0x02 00000776: PUSH1 0x00 00000778: SLOAD 00000779: EQ 0000077a: ISZERO 0000077b: PUSH2 0x07b9 0000077e: JUMPI 0000077f: PUSH1 0x40 00000781: MLOAD 00000782: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000007a3: DUP2 000007a4: MSTORE 000007a5: PUSH1 0x04 000007a7: ADD 000007a8: PUSH2 0x07b0 000007ab: SWAP1 000007ac: PUSH2 0x3899 000007af: JUMP 000007b0: JUMPDEST 000007b1: PUSH1 0x40 000007b3: MLOAD 000007b4: DUP1 000007b5: SWAP2 000007b6: SUB 000007b7: SWAP1 000007b8: REVERT 000007b9: JUMPDEST 000007ba: PUSH1 0x02 000007bc: PUSH1 0x00 000007be: DUP2 000007bf: SWAP1 000007c0: SSTORE 000007c1: POP 000007c2: PUSH1 0x00 000007c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007d9: AND 000007da: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 000007fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000810: AND 00000811: PUSH4 0x6352211e 00000816: DUP4 00000817: PUSH1 0x40 00000819: MLOAD 0000081a: DUP3 0000081b: PUSH4 0xffffffff 00000820: AND 00000821: PUSH1 0xe0 00000823: SHL 00000824: DUP2 00000825: MSTORE 00000826: PUSH1 0x04 00000828: ADD 00000829: PUSH2 0x0832 0000082c: SWAP2 0000082d: SWAP1 0000082e: PUSH2 0x3484 00000831: JUMP 00000832: JUMPDEST 00000833: PUSH1 0x20 00000835: PUSH1 0x40 00000837: MLOAD 00000838: DUP1 00000839: DUP4 0000083a: SUB 0000083b: DUP2 0000083c: DUP7 0000083d: DUP1 0000083e: EXTCODESIZE 0000083f: ISZERO 00000840: DUP1 00000841: ISZERO 00000842: PUSH2 0x084a 00000845: JUMPI 00000846: PUSH1 0x00 00000848: DUP1 00000849: REVERT 0000084a: JUMPDEST 0000084b: POP 0000084c: GAS 0000084d: STATICCALL 0000084e: ISZERO 0000084f: DUP1 00000850: ISZERO 00000851: PUSH2 0x085e 00000854: JUMPI 00000855: RETURNDATASIZE 00000856: PUSH1 0x00 00000858: DUP1 00000859: RETURNDATACOPY 0000085a: RETURNDATASIZE 0000085b: PUSH1 0x00 0000085d: REVERT 0000085e: JUMPDEST 0000085f: POP 00000860: POP 00000861: POP 00000862: POP 00000863: PUSH1 0x40 00000865: MLOAD 00000866: RETURNDATASIZE 00000867: PUSH1 0x1f 00000869: NOT 0000086a: PUSH1 0x1f 0000086c: DUP3 0000086d: ADD 0000086e: AND 0000086f: DUP3 00000870: ADD 00000871: DUP1 00000872: PUSH1 0x40 00000874: MSTORE 00000875: POP 00000876: DUP2 00000877: ADD 00000878: SWAP1 00000879: PUSH2 0x0882 0000087c: SWAP2 0000087d: SWAP1 0000087e: PUSH2 0x38ce 00000881: JUMP 00000882: JUMPDEST 00000883: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000898: AND 00000899: EQ 0000089a: ISZERO 0000089b: PUSH2 0x08d9 0000089e: JUMPI 0000089f: PUSH1 0x40 000008a1: MLOAD 000008a2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000008c3: DUP2 000008c4: MSTORE 000008c5: PUSH1 0x04 000008c7: ADD 000008c8: PUSH2 0x08d0 000008cb: SWAP1 000008cc: PUSH2 0x396d 000008cf: JUMP 000008d0: JUMPDEST 000008d1: PUSH1 0x40 000008d3: MLOAD 000008d4: DUP1 000008d5: SWAP2 000008d6: SUB 000008d7: SWAP1 000008d8: REVERT 000008d9: JUMPDEST 000008da: CALLER 000008db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008f0: AND 000008f1: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 00000912: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000927: AND 00000928: PUSH4 0x6352211e 0000092d: DUP4 0000092e: PUSH1 0x40 00000930: MLOAD 00000931: DUP3 00000932: PUSH4 0xffffffff 00000937: AND 00000938: PUSH1 0xe0 0000093a: SHL 0000093b: DUP2 0000093c: MSTORE 0000093d: PUSH1 0x04 0000093f: ADD 00000940: PUSH2 0x0949 00000943: SWAP2 00000944: SWAP1 00000945: PUSH2 0x3484 00000948: JUMP 00000949: JUMPDEST 0000094a: PUSH1 0x20 0000094c: PUSH1 0x40 0000094e: MLOAD 0000094f: DUP1 00000950: DUP4 00000951: SUB 00000952: DUP2 00000953: DUP7 00000954: DUP1 00000955: EXTCODESIZE 00000956: ISZERO 00000957: DUP1 00000958: ISZERO 00000959: PUSH2 0x0961 0000095c: JUMPI 0000095d: PUSH1 0x00 0000095f: DUP1 00000960: REVERT 00000961: JUMPDEST 00000962: POP 00000963: GAS 00000964: STATICCALL 00000965: ISZERO 00000966: DUP1 00000967: ISZERO 00000968: PUSH2 0x0975 0000096b: JUMPI 0000096c: RETURNDATASIZE 0000096d: PUSH1 0x00 0000096f: DUP1 00000970: RETURNDATACOPY 00000971: RETURNDATASIZE 00000972: PUSH1 0x00 00000974: REVERT 00000975: JUMPDEST 00000976: POP 00000977: POP 00000978: POP 00000979: POP 0000097a: PUSH1 0x40 0000097c: MLOAD 0000097d: RETURNDATASIZE 0000097e: PUSH1 0x1f 00000980: NOT 00000981: PUSH1 0x1f 00000983: DUP3 00000984: ADD 00000985: AND 00000986: DUP3 00000987: ADD 00000988: DUP1 00000989: PUSH1 0x40 0000098b: MSTORE 0000098c: POP 0000098d: DUP2 0000098e: ADD 0000098f: SWAP1 00000990: PUSH2 0x0999 00000993: SWAP2 00000994: SWAP1 00000995: PUSH2 0x38ce 00000998: JUMP 00000999: JUMPDEST 0000099a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009af: AND 000009b0: EQ 000009b1: ISZERO 000009b2: PUSH2 0x09f0 000009b5: JUMPI 000009b6: PUSH1 0x40 000009b8: MLOAD 000009b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000009da: DUP2 000009db: MSTORE 000009dc: PUSH1 0x04 000009de: ADD 000009df: PUSH2 0x09e7 000009e2: SWAP1 000009e3: PUSH2 0x39ff 000009e6: JUMP 000009e7: JUMPDEST 000009e8: PUSH1 0x40 000009ea: MLOAD 000009eb: DUP1 000009ec: SWAP2 000009ed: SUB 000009ee: SWAP1 000009ef: REVERT 000009f0: JUMPDEST 000009f1: PUSH1 0x00 000009f3: CALLVALUE 000009f4: GT 000009f5: PUSH2 0x0a33 000009f8: JUMPI 000009f9: PUSH1 0x40 000009fb: MLOAD 000009fc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a1d: DUP2 00000a1e: MSTORE 00000a1f: PUSH1 0x04 00000a21: ADD 00000a22: PUSH2 0x0a2a 00000a25: SWAP1 00000a26: PUSH2 0x3a91 00000a29: JUMP 00000a2a: JUMPDEST 00000a2b: PUSH1 0x40 00000a2d: MLOAD 00000a2e: DUP1 00000a2f: SWAP2 00000a30: SUB 00000a31: SWAP1 00000a32: REVERT 00000a33: JUMPDEST 00000a34: PUSH1 0x00 00000a36: PUSH1 0x08 00000a38: PUSH1 0x00 00000a3a: DUP4 00000a3b: DUP2 00000a3c: MSTORE 00000a3d: PUSH1 0x20 00000a3f: ADD 00000a40: SWAP1 00000a41: DUP2 00000a42: MSTORE 00000a43: PUSH1 0x20 00000a45: ADD 00000a46: PUSH1 0x00 00000a48: KECCAK256 00000a49: PUSH1 0x40 00000a4b: MLOAD 00000a4c: DUP1 00000a4d: PUSH1 0x40 00000a4f: ADD 00000a50: PUSH1 0x40 00000a52: MSTORE 00000a53: SWAP1 00000a54: DUP2 00000a55: PUSH1 0x00 00000a57: DUP3 00000a58: ADD 00000a59: PUSH1 0x00 00000a5b: SWAP1 00000a5c: SLOAD 00000a5d: SWAP1 00000a5e: PUSH2 0x0100 00000a61: EXP 00000a62: SWAP1 00000a63: DIV 00000a64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a79: AND 00000a7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a8f: AND 00000a90: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aa5: AND 00000aa6: DUP2 00000aa7: MSTORE 00000aa8: PUSH1 0x20 00000aaa: ADD 00000aab: PUSH1 0x01 00000aad: DUP3 00000aae: ADD 00000aaf: SLOAD 00000ab0: DUP2 00000ab1: MSTORE 00000ab2: POP 00000ab3: POP 00000ab4: SWAP1 00000ab5: POP 00000ab6: DUP1 00000ab7: PUSH1 0x20 00000ab9: ADD 00000aba: MLOAD 00000abb: CALLVALUE 00000abc: GT 00000abd: PUSH2 0x0afb 00000ac0: JUMPI 00000ac1: PUSH1 0x40 00000ac3: MLOAD 00000ac4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000ae5: DUP2 00000ae6: MSTORE 00000ae7: PUSH1 0x04 00000ae9: ADD 00000aea: PUSH2 0x0af2 00000aed: SWAP1 00000aee: PUSH2 0x3b23 00000af1: JUMP 00000af2: JUMPDEST 00000af3: PUSH1 0x40 00000af5: MLOAD 00000af6: DUP1 00000af7: SWAP2 00000af8: SUB 00000af9: SWAP1 00000afa: REVERT 00000afb: JUMPDEST 00000afc: PUSH1 0x00 00000afe: DUP2 00000aff: PUSH1 0x20 00000b01: ADD 00000b02: MLOAD 00000b03: GT 00000b04: ISZERO 00000b05: PUSH2 0x0b67 00000b08: JUMPI 00000b09: DUP1 00000b0a: PUSH1 0x20 00000b0c: ADD 00000b0d: MLOAD 00000b0e: PUSH1 0x09 00000b10: PUSH1 0x00 00000b12: DUP4 00000b13: PUSH1 0x00 00000b15: ADD 00000b16: MLOAD 00000b17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b2c: AND 00000b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b42: AND 00000b43: DUP2 00000b44: MSTORE 00000b45: PUSH1 0x20 00000b47: ADD 00000b48: SWAP1 00000b49: DUP2 00000b4a: MSTORE 00000b4b: PUSH1 0x20 00000b4d: ADD 00000b4e: PUSH1 0x00 00000b50: KECCAK256 00000b51: PUSH1 0x00 00000b53: DUP3 00000b54: DUP3 00000b55: SLOAD 00000b56: PUSH2 0x0b5f 00000b59: SWAP2 00000b5a: SWAP1 00000b5b: PUSH2 0x37e6 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: SWAP3 00000b61: POP 00000b62: POP 00000b63: DUP2 00000b64: SWAP1 00000b65: SSTORE 00000b66: POP 00000b67: JUMPDEST 00000b68: PUSH1 0x40 00000b6a: MLOAD 00000b6b: DUP1 00000b6c: PUSH1 0x40 00000b6e: ADD 00000b6f: PUSH1 0x40 00000b71: MSTORE 00000b72: DUP1 00000b73: CALLER 00000b74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b89: AND 00000b8a: DUP2 00000b8b: MSTORE 00000b8c: PUSH1 0x20 00000b8e: ADD 00000b8f: CALLVALUE 00000b90: DUP2 00000b91: MSTORE 00000b92: POP 00000b93: PUSH1 0x08 00000b95: PUSH1 0x00 00000b97: DUP5 00000b98: DUP2 00000b99: MSTORE 00000b9a: PUSH1 0x20 00000b9c: ADD 00000b9d: SWAP1 00000b9e: DUP2 00000b9f: MSTORE 00000ba0: PUSH1 0x20 00000ba2: ADD 00000ba3: PUSH1 0x00 00000ba5: KECCAK256 00000ba6: PUSH1 0x00 00000ba8: DUP3 00000ba9: ADD 00000baa: MLOAD 00000bab: DUP2 00000bac: PUSH1 0x00 00000bae: ADD 00000baf: PUSH1 0x00 00000bb1: PUSH2 0x0100 00000bb4: EXP 00000bb5: DUP2 00000bb6: SLOAD 00000bb7: DUP2 00000bb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bcd: MUL 00000bce: NOT 00000bcf: AND 00000bd0: SWAP1 00000bd1: DUP4 00000bd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000be7: AND 00000be8: MUL 00000be9: OR 00000bea: SWAP1 00000beb: SSTORE 00000bec: POP 00000bed: PUSH1 0x20 00000bef: DUP3 00000bf0: ADD 00000bf1: MLOAD 00000bf2: DUP2 00000bf3: PUSH1 0x01 00000bf5: ADD 00000bf6: SSTORE 00000bf7: SWAP1 00000bf8: POP 00000bf9: POP 00000bfa: CALLER 00000bfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c10: AND 00000c11: DUP3 00000c12: PUSH32 0xd7a3862e3e7daca19b2761a32e2720e9beac70cfadbd48bc3c91af7b71d87060 00000c33: CALLVALUE 00000c34: PUSH1 0x40 00000c36: MLOAD 00000c37: PUSH2 0x0c40 00000c3a: SWAP2 00000c3b: SWAP1 00000c3c: PUSH2 0x3484 00000c3f: JUMP 00000c40: JUMPDEST 00000c41: PUSH1 0x40 00000c43: MLOAD 00000c44: DUP1 00000c45: SWAP2 00000c46: SUB 00000c47: SWAP1 00000c48: LOG3 00000c49: POP 00000c4a: PUSH1 0x01 00000c4c: PUSH1 0x00 00000c4e: DUP2 00000c4f: SWAP1 00000c50: SSTORE 00000c51: POP 00000c52: POP 00000c53: JUMP 00000c54: JUMPDEST 00000c55: PUSH2 0x0c5c 00000c58: PUSH2 0x30af 00000c5b: JUMP 00000c5c: JUMPDEST 00000c5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c72: AND 00000c73: PUSH2 0x0c7a 00000c76: PUSH2 0x2465 00000c79: JUMP 00000c7a: JUMPDEST 00000c7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c90: AND 00000c91: EQ 00000c92: PUSH2 0x0cd0 00000c95: JUMPI 00000c96: PUSH1 0x40 00000c98: MLOAD 00000c99: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000cba: DUP2 00000cbb: MSTORE 00000cbc: PUSH1 0x04 00000cbe: ADD 00000cbf: PUSH2 0x0cc7 00000cc2: SWAP1 00000cc3: PUSH2 0x3b8f 00000cc6: JUMP 00000cc7: JUMPDEST 00000cc8: PUSH1 0x40 00000cca: MLOAD 00000ccb: DUP1 00000ccc: SWAP2 00000ccd: SUB 00000cce: SWAP1 00000ccf: REVERT 00000cd0: JUMPDEST 00000cd1: PUSH1 0x06 00000cd3: PUSH1 0x00 00000cd5: PUSH2 0x0cde 00000cd8: SWAP2 00000cd9: SWAP1 00000cda: PUSH2 0x33cf 00000cdd: JUMP 00000cde: JUMPDEST 00000cdf: JUMP 00000ce0: JUMPDEST 00000ce1: PUSH1 0x02 00000ce3: PUSH1 0x00 00000ce5: SLOAD 00000ce6: EQ 00000ce7: ISZERO 00000ce8: PUSH2 0x0d26 00000ceb: JUMPI 00000cec: PUSH1 0x40 00000cee: MLOAD 00000cef: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d10: DUP2 00000d11: MSTORE 00000d12: PUSH1 0x04 00000d14: ADD 00000d15: PUSH2 0x0d1d 00000d18: SWAP1 00000d19: PUSH2 0x3899 00000d1c: JUMP 00000d1d: JUMPDEST 00000d1e: PUSH1 0x40 00000d20: MLOAD 00000d21: DUP1 00000d22: SWAP2 00000d23: SUB 00000d24: SWAP1 00000d25: REVERT 00000d26: JUMPDEST 00000d27: PUSH1 0x02 00000d29: PUSH1 0x00 00000d2b: DUP2 00000d2c: SWAP1 00000d2d: SSTORE 00000d2e: POP 00000d2f: PUSH2 0x0d77 00000d32: CALLER 00000d33: PUSH1 0x09 00000d35: PUSH1 0x00 00000d37: CALLER 00000d38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d4d: AND 00000d4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d63: AND 00000d64: DUP2 00000d65: MSTORE 00000d66: PUSH1 0x20 00000d68: ADD 00000d69: SWAP1 00000d6a: DUP2 00000d6b: MSTORE 00000d6c: PUSH1 0x20 00000d6e: ADD 00000d6f: PUSH1 0x00 00000d71: KECCAK256 00000d72: SLOAD 00000d73: PUSH2 0x30b7 00000d76: JUMP 00000d77: JUMPDEST 00000d78: PUSH1 0x09 00000d7a: PUSH1 0x00 00000d7c: CALLER 00000d7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d92: AND 00000d93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000da8: AND 00000da9: DUP2 00000daa: MSTORE 00000dab: PUSH1 0x20 00000dad: ADD 00000dae: SWAP1 00000daf: DUP2 00000db0: MSTORE 00000db1: PUSH1 0x20 00000db3: ADD 00000db4: PUSH1 0x00 00000db6: KECCAK256 00000db7: PUSH1 0x00 00000db9: SWAP1 00000dba: SSTORE 00000dbb: PUSH1 0x01 00000dbd: PUSH1 0x00 00000dbf: DUP2 00000dc0: SWAP1 00000dc1: SSTORE 00000dc2: POP 00000dc3: JUMP 00000dc4: JUMPDEST 00000dc5: PUSH1 0x00 00000dc7: PUSH1 0x02 00000dc9: PUSH1 0x00 00000dcb: SWAP1 00000dcc: SLOAD 00000dcd: SWAP1 00000dce: PUSH2 0x0100 00000dd1: EXP 00000dd2: SWAP1 00000dd3: DIV 00000dd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000de9: AND 00000dea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dff: AND 00000e00: PUSH4 0x70a08231 00000e05: ADDRESS 00000e06: PUSH1 0x40 00000e08: MLOAD 00000e09: DUP3 00000e0a: PUSH4 0xffffffff 00000e0f: AND 00000e10: PUSH1 0xe0 00000e12: SHL 00000e13: DUP2 00000e14: MSTORE 00000e15: PUSH1 0x04 00000e17: ADD 00000e18: PUSH2 0x0e21 00000e1b: SWAP2 00000e1c: SWAP1 00000e1d: PUSH2 0x3557 00000e20: JUMP 00000e21: JUMPDEST 00000e22: PUSH1 0x20 00000e24: PUSH1 0x40 00000e26: MLOAD 00000e27: DUP1 00000e28: DUP4 00000e29: SUB 00000e2a: DUP2 00000e2b: DUP7 00000e2c: DUP1 00000e2d: EXTCODESIZE 00000e2e: ISZERO 00000e2f: DUP1 00000e30: ISZERO 00000e31: PUSH2 0x0e39 00000e34: JUMPI 00000e35: PUSH1 0x00 00000e37: DUP1 00000e38: REVERT 00000e39: JUMPDEST 00000e3a: POP 00000e3b: GAS 00000e3c: STATICCALL 00000e3d: ISZERO 00000e3e: DUP1 00000e3f: ISZERO 00000e40: PUSH2 0x0e4d 00000e43: JUMPI 00000e44: RETURNDATASIZE 00000e45: PUSH1 0x00 00000e47: DUP1 00000e48: RETURNDATACOPY 00000e49: RETURNDATASIZE 00000e4a: PUSH1 0x00 00000e4c: REVERT 00000e4d: JUMPDEST 00000e4e: POP 00000e4f: POP 00000e50: POP 00000e51: POP 00000e52: PUSH1 0x40 00000e54: MLOAD 00000e55: RETURNDATASIZE 00000e56: PUSH1 0x1f 00000e58: NOT 00000e59: PUSH1 0x1f 00000e5b: DUP3 00000e5c: ADD 00000e5d: AND 00000e5e: DUP3 00000e5f: ADD 00000e60: DUP1 00000e61: PUSH1 0x40 00000e63: MSTORE 00000e64: POP 00000e65: DUP2 00000e66: ADD 00000e67: SWAP1 00000e68: PUSH2 0x0e71 00000e6b: SWAP2 00000e6c: SWAP1 00000e6d: PUSH2 0x3bc4 00000e70: JUMP 00000e71: JUMPDEST 00000e72: SWAP1 00000e73: POP 00000e74: SWAP1 00000e75: JUMP 00000e76: JUMPDEST 00000e77: PUSH1 0x07 00000e79: PUSH1 0x20 00000e7b: MSTORE 00000e7c: DUP1 00000e7d: PUSH1 0x00 00000e7f: MSTORE 00000e80: PUSH1 0x40 00000e82: PUSH1 0x00 00000e84: KECCAK256 00000e85: PUSH1 0x00 00000e87: SWAP2 00000e88: POP 00000e89: SWAP1 00000e8a: POP 00000e8b: DUP1 00000e8c: PUSH1 0x00 00000e8e: ADD 00000e8f: PUSH1 0x00 00000e91: SWAP1 00000e92: SLOAD 00000e93: SWAP1 00000e94: PUSH2 0x0100 00000e97: EXP 00000e98: SWAP1 00000e99: DIV 00000e9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eaf: AND 00000eb0: SWAP1 00000eb1: DUP1 00000eb2: PUSH1 0x01 00000eb4: ADD 00000eb5: SLOAD 00000eb6: SWAP1 00000eb7: DUP1 00000eb8: PUSH1 0x02 00000eba: ADD 00000ebb: PUSH1 0x00 00000ebd: SWAP1 00000ebe: SLOAD 00000ebf: SWAP1 00000ec0: PUSH2 0x0100 00000ec3: EXP 00000ec4: SWAP1 00000ec5: DIV 00000ec6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000edb: AND 00000edc: SWAP1 00000edd: POP 00000ede: DUP4 00000edf: JUMP 00000ee0: JUMPDEST 00000ee1: DUP2 00000ee2: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 00000f03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f18: AND 00000f19: PUSH4 0x6352211e 00000f1e: DUP3 00000f1f: PUSH1 0x40 00000f21: MLOAD 00000f22: DUP3 00000f23: PUSH4 0xffffffff 00000f28: AND 00000f29: PUSH1 0xe0 00000f2b: SHL 00000f2c: DUP2 00000f2d: MSTORE 00000f2e: PUSH1 0x04 00000f30: ADD 00000f31: PUSH2 0x0f3a 00000f34: SWAP2 00000f35: SWAP1 00000f36: PUSH2 0x3484 00000f39: JUMP 00000f3a: JUMPDEST 00000f3b: PUSH1 0x20 00000f3d: PUSH1 0x40 00000f3f: MLOAD 00000f40: DUP1 00000f41: DUP4 00000f42: SUB 00000f43: DUP2 00000f44: DUP7 00000f45: DUP1 00000f46: EXTCODESIZE 00000f47: ISZERO 00000f48: DUP1 00000f49: ISZERO 00000f4a: PUSH2 0x0f52 00000f4d: JUMPI 00000f4e: PUSH1 0x00 00000f50: DUP1 00000f51: REVERT 00000f52: JUMPDEST 00000f53: POP 00000f54: GAS 00000f55: STATICCALL 00000f56: ISZERO 00000f57: DUP1 00000f58: ISZERO 00000f59: PUSH2 0x0f66 00000f5c: JUMPI 00000f5d: RETURNDATASIZE 00000f5e: PUSH1 0x00 00000f60: DUP1 00000f61: RETURNDATACOPY 00000f62: RETURNDATASIZE 00000f63: PUSH1 0x00 00000f65: REVERT 00000f66: JUMPDEST 00000f67: POP 00000f68: POP 00000f69: POP 00000f6a: POP 00000f6b: PUSH1 0x40 00000f6d: MLOAD 00000f6e: RETURNDATASIZE 00000f6f: PUSH1 0x1f 00000f71: NOT 00000f72: PUSH1 0x1f 00000f74: DUP3 00000f75: ADD 00000f76: AND 00000f77: DUP3 00000f78: ADD 00000f79: DUP1 00000f7a: PUSH1 0x40 00000f7c: MSTORE 00000f7d: POP 00000f7e: DUP2 00000f7f: ADD 00000f80: SWAP1 00000f81: PUSH2 0x0f8a 00000f84: SWAP2 00000f85: SWAP1 00000f86: PUSH2 0x38ce 00000f89: JUMP 00000f8a: JUMPDEST 00000f8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fa0: AND 00000fa1: CALLER 00000fa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fb7: AND 00000fb8: EQ 00000fb9: PUSH2 0x0ff7 00000fbc: JUMPI 00000fbd: PUSH1 0x40 00000fbf: MLOAD 00000fc0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000fe1: DUP2 00000fe2: MSTORE 00000fe3: PUSH1 0x04 00000fe5: ADD 00000fe6: PUSH2 0x0fee 00000fe9: SWAP1 00000fea: PUSH2 0x3c63 00000fed: JUMP 00000fee: JUMPDEST 00000fef: PUSH1 0x40 00000ff1: MLOAD 00000ff2: DUP1 00000ff3: SWAP2 00000ff4: SUB 00000ff5: SWAP1 00000ff6: REVERT 00000ff7: JUMPDEST 00000ff8: PUSH1 0x02 00000ffa: PUSH1 0x00 00000ffc: SLOAD 00000ffd: EQ 00000ffe: ISZERO 00000fff: PUSH2 0x103d 00001002: JUMPI 00001003: PUSH1 0x40 00001005: MLOAD 00001006: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001027: DUP2 00001028: MSTORE 00001029: PUSH1 0x04 0000102b: ADD 0000102c: PUSH2 0x1034 0000102f: SWAP1 00001030: PUSH2 0x3899 00001033: JUMP 00001034: JUMPDEST 00001035: PUSH1 0x40 00001037: MLOAD 00001038: DUP1 00001039: SWAP2 0000103a: SUB 0000103b: SWAP1 0000103c: REVERT 0000103d: JUMPDEST 0000103e: PUSH1 0x02 00001040: PUSH1 0x00 00001042: DUP2 00001043: SWAP1 00001044: SSTORE 00001045: POP 00001046: PUSH1 0x40 00001048: MLOAD 00001049: DUP1 0000104a: PUSH1 0x60 0000104c: ADD 0000104d: PUSH1 0x40 0000104f: MSTORE 00001050: DUP1 00001051: CALLER 00001052: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001067: AND 00001068: DUP2 00001069: MSTORE 0000106a: PUSH1 0x20 0000106c: ADD 0000106d: DUP4 0000106e: DUP2 0000106f: MSTORE 00001070: PUSH1 0x20 00001072: ADD 00001073: PUSH1 0x00 00001075: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000108a: AND 0000108b: DUP2 0000108c: MSTORE 0000108d: POP 0000108e: PUSH1 0x07 00001090: PUSH1 0x00 00001092: DUP6 00001093: DUP2 00001094: MSTORE 00001095: PUSH1 0x20 00001097: ADD 00001098: SWAP1 00001099: DUP2 0000109a: MSTORE 0000109b: PUSH1 0x20 0000109d: ADD 0000109e: PUSH1 0x00 000010a0: KECCAK256 000010a1: PUSH1 0x00 000010a3: DUP3 000010a4: ADD 000010a5: MLOAD 000010a6: DUP2 000010a7: PUSH1 0x00 000010a9: ADD 000010aa: PUSH1 0x00 000010ac: PUSH2 0x0100 000010af: EXP 000010b0: DUP2 000010b1: SLOAD 000010b2: DUP2 000010b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010c8: MUL 000010c9: NOT 000010ca: AND 000010cb: SWAP1 000010cc: DUP4 000010cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010e2: AND 000010e3: MUL 000010e4: OR 000010e5: SWAP1 000010e6: SSTORE 000010e7: POP 000010e8: PUSH1 0x20 000010ea: DUP3 000010eb: ADD 000010ec: MLOAD 000010ed: DUP2 000010ee: PUSH1 0x01 000010f0: ADD 000010f1: SSTORE 000010f2: PUSH1 0x40 000010f4: DUP3 000010f5: ADD 000010f6: MLOAD 000010f7: DUP2 000010f8: PUSH1 0x02 000010fa: ADD 000010fb: PUSH1 0x00 000010fd: PUSH2 0x0100 00001100: EXP 00001101: DUP2 00001102: SLOAD 00001103: DUP2 00001104: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001119: MUL 0000111a: NOT 0000111b: AND 0000111c: SWAP1 0000111d: DUP4 0000111e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001133: AND 00001134: MUL 00001135: OR 00001136: SWAP1 00001137: SSTORE 00001138: POP 00001139: SWAP1 0000113a: POP 0000113b: POP 0000113c: PUSH1 0x00 0000113e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001153: AND 00001154: DUP4 00001155: PUSH32 0xb4068a58f26236f9510889485e92ef54b0ff6efea8e4d8067b8839e77fa9997a 00001176: DUP5 00001177: PUSH1 0x40 00001179: MLOAD 0000117a: PUSH2 0x1183 0000117d: SWAP2 0000117e: SWAP1 0000117f: PUSH2 0x3484 00001182: JUMP 00001183: JUMPDEST 00001184: PUSH1 0x40 00001186: MLOAD 00001187: DUP1 00001188: SWAP2 00001189: SUB 0000118a: SWAP1 0000118b: LOG3 0000118c: PUSH1 0x01 0000118e: PUSH1 0x00 00001190: DUP2 00001191: SWAP1 00001192: SSTORE 00001193: POP 00001194: POP 00001195: POP 00001196: POP 00001197: JUMP 00001198: JUMPDEST 00001199: PUSH1 0x06 0000119b: DUP2 0000119c: DUP2 0000119d: SLOAD 0000119e: DUP2 0000119f: LT 000011a0: PUSH2 0x11a8 000011a3: JUMPI 000011a4: PUSH1 0x00 000011a6: DUP1 000011a7: REVERT 000011a8: JUMPDEST 000011a9: SWAP1 000011aa: PUSH1 0x00 000011ac: MSTORE 000011ad: PUSH1 0x20 000011af: PUSH1 0x00 000011b1: KECCAK256 000011b2: ADD 000011b3: PUSH1 0x00 000011b5: SWAP2 000011b6: POP 000011b7: SLOAD 000011b8: SWAP1 000011b9: PUSH2 0x0100 000011bc: EXP 000011bd: SWAP1 000011be: DIV 000011bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011d4: AND 000011d5: DUP2 000011d6: JUMP 000011d7: JUMPDEST 000011d8: PUSH1 0x00 000011da: PUSH1 0x05 000011dc: PUSH1 0x00 000011de: CALLER 000011df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011f4: AND 000011f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000120a: AND 0000120b: DUP2 0000120c: MSTORE 0000120d: PUSH1 0x20 0000120f: ADD 00001210: SWAP1 00001211: DUP2 00001212: MSTORE 00001213: PUSH1 0x20 00001215: ADD 00001216: PUSH1 0x00 00001218: KECCAK256 00001219: SLOAD 0000121a: SWAP1 0000121b: POP 0000121c: PUSH1 0x00 0000121e: DUP2 0000121f: GT 00001220: PUSH2 0x125e 00001223: JUMPI 00001224: PUSH1 0x40 00001226: MLOAD 00001227: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001248: DUP2 00001249: MSTORE 0000124a: PUSH1 0x04 0000124c: ADD 0000124d: PUSH2 0x1255 00001250: SWAP1 00001251: PUSH2 0x3cf5 00001254: JUMP 00001255: JUMPDEST 00001256: PUSH1 0x40 00001258: MLOAD 00001259: DUP1 0000125a: SWAP2 0000125b: SUB 0000125c: SWAP1 0000125d: REVERT 0000125e: JUMPDEST 0000125f: PUSH1 0x00 00001261: JUMPDEST 00001262: PUSH1 0x06 00001264: DUP1 00001265: SLOAD 00001266: SWAP1 00001267: POP 00001268: DUP2 00001269: LT 0000126a: ISZERO 0000126b: PUSH2 0x132c 0000126e: JUMPI 0000126f: PUSH1 0x06 00001271: DUP2 00001272: DUP2 00001273: SLOAD 00001274: DUP2 00001275: LT 00001276: PUSH2 0x1282 00001279: JUMPI 0000127a: PUSH2 0x1281 0000127d: PUSH2 0x3d15 00001280: JUMP 00001281: JUMPDEST 00001282: JUMPDEST 00001283: SWAP1 00001284: PUSH1 0x00 00001286: MSTORE 00001287: PUSH1 0x20 00001289: PUSH1 0x00 0000128b: KECCAK256 0000128c: ADD 0000128d: PUSH1 0x00 0000128f: SWAP1 00001290: SLOAD 00001291: SWAP1 00001292: PUSH2 0x0100 00001295: EXP 00001296: SWAP1 00001297: DIV 00001298: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012ad: AND 000012ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c3: AND 000012c4: PUSH4 0x1a73ba01 000012c9: CALLER 000012ca: DUP6 000012cb: PUSH1 0x40 000012cd: MLOAD 000012ce: DUP4 000012cf: PUSH4 0xffffffff 000012d4: AND 000012d5: PUSH1 0xe0 000012d7: SHL 000012d8: DUP2 000012d9: MSTORE 000012da: PUSH1 0x04 000012dc: ADD 000012dd: PUSH2 0x12e7 000012e0: SWAP3 000012e1: SWAP2 000012e2: SWAP1 000012e3: PUSH2 0x361e 000012e6: JUMP 000012e7: JUMPDEST 000012e8: PUSH1 0x00 000012ea: PUSH1 0x40 000012ec: MLOAD 000012ed: DUP1 000012ee: DUP4 000012ef: SUB 000012f0: DUP2 000012f1: PUSH1 0x00 000012f3: DUP8 000012f4: DUP1 000012f5: EXTCODESIZE 000012f6: ISZERO 000012f7: DUP1 000012f8: ISZERO 000012f9: PUSH2 0x1301 000012fc: JUMPI 000012fd: PUSH1 0x00 000012ff: DUP1 00001300: REVERT 00001301: JUMPDEST 00001302: POP 00001303: GAS 00001304: CALL 00001305: ISZERO 00001306: DUP1 00001307: ISZERO 00001308: PUSH2 0x1315 0000130b: JUMPI 0000130c: RETURNDATASIZE 0000130d: PUSH1 0x00 0000130f: DUP1 00001310: RETURNDATACOPY 00001311: RETURNDATASIZE 00001312: PUSH1 0x00 00001314: REVERT 00001315: JUMPDEST 00001316: POP 00001317: POP 00001318: POP 00001319: POP 0000131a: DUP1 0000131b: DUP1 0000131c: PUSH2 0x1324 0000131f: SWAP1 00001320: PUSH2 0x3d44 00001323: JUMP 00001324: JUMPDEST 00001325: SWAP2 00001326: POP 00001327: POP 00001328: PUSH2 0x1261 0000132b: JUMP 0000132c: JUMPDEST 0000132d: POP 0000132e: PUSH2 0x1336 00001331: CALLER 00001332: PUSH2 0x25db 00001335: JUMP 00001336: JUMPDEST 00001337: DUP2 00001338: DUP2 00001339: GT 0000133a: PUSH2 0x14f4 0000133d: JUMPI 0000133e: PUSH1 0x05 00001340: PUSH1 0x00 00001342: CALLER 00001343: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001358: AND 00001359: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000136e: AND 0000136f: DUP2 00001370: MSTORE 00001371: PUSH1 0x20 00001373: ADD 00001374: SWAP1 00001375: DUP2 00001376: MSTORE 00001377: PUSH1 0x20 00001379: ADD 0000137a: PUSH1 0x00 0000137c: KECCAK256 0000137d: PUSH1 0x00 0000137f: SWAP1 00001380: SSTORE 00001381: PUSH1 0x04 00001383: PUSH1 0x00 00001385: CALLER 00001386: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000139b: AND 0000139c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013b1: AND 000013b2: DUP2 000013b3: MSTORE 000013b4: PUSH1 0x20 000013b6: ADD 000013b7: SWAP1 000013b8: DUP2 000013b9: MSTORE 000013ba: PUSH1 0x20 000013bc: ADD 000013bd: PUSH1 0x00 000013bf: KECCAK256 000013c0: PUSH1 0x00 000013c2: SWAP1 000013c3: SSTORE 000013c4: PUSH2 0x1401 000013c7: PUSH1 0x40 000013c9: MLOAD 000013ca: DUP1 000013cb: PUSH1 0x40 000013cd: ADD 000013ce: PUSH1 0x40 000013d0: MSTORE 000013d1: DUP1 000013d2: PUSH1 0x04 000013d4: DUP2 000013d5: MSTORE 000013d6: PUSH1 0x20 000013d8: ADD 000013d9: PUSH32 0x6865726500000000000000000000000000000000000000000000000000000000 000013fa: DUP2 000013fb: MSTORE 000013fc: POP 000013fd: PUSH2 0x31ab 00001400: JUMP 00001401: JUMPDEST 00001402: PUSH1 0x02 00001404: PUSH1 0x00 00001406: SWAP1 00001407: SLOAD 00001408: SWAP1 00001409: PUSH2 0x0100 0000140c: EXP 0000140d: SWAP1 0000140e: DIV 0000140f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001424: AND 00001425: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000143a: AND 0000143b: PUSH4 0xa9059cbb 00001440: CALLER 00001441: DUP4 00001442: PUSH1 0x40 00001444: MLOAD 00001445: DUP4 00001446: PUSH4 0xffffffff 0000144b: AND 0000144c: PUSH1 0xe0 0000144e: SHL 0000144f: DUP2 00001450: MSTORE 00001451: PUSH1 0x04 00001453: ADD 00001454: PUSH2 0x145e 00001457: SWAP3 00001458: SWAP2 00001459: SWAP1 0000145a: PUSH2 0x361e 0000145d: JUMP 0000145e: JUMPDEST 0000145f: PUSH1 0x20 00001461: PUSH1 0x40 00001463: MLOAD 00001464: DUP1 00001465: DUP4 00001466: SUB 00001467: DUP2 00001468: PUSH1 0x00 0000146a: DUP8 0000146b: DUP1 0000146c: EXTCODESIZE 0000146d: ISZERO 0000146e: DUP1 0000146f: ISZERO 00001470: PUSH2 0x1478 00001473: JUMPI 00001474: PUSH1 0x00 00001476: DUP1 00001477: REVERT 00001478: JUMPDEST 00001479: POP 0000147a: GAS 0000147b: CALL 0000147c: ISZERO 0000147d: DUP1 0000147e: ISZERO 0000147f: PUSH2 0x148c 00001482: JUMPI 00001483: RETURNDATASIZE 00001484: PUSH1 0x00 00001486: DUP1 00001487: RETURNDATACOPY 00001488: RETURNDATASIZE 00001489: PUSH1 0x00 0000148b: REVERT 0000148c: JUMPDEST 0000148d: POP 0000148e: POP 0000148f: POP 00001490: POP 00001491: PUSH1 0x40 00001493: MLOAD 00001494: RETURNDATASIZE 00001495: PUSH1 0x1f 00001497: NOT 00001498: PUSH1 0x1f 0000149a: DUP3 0000149b: ADD 0000149c: AND 0000149d: DUP3 0000149e: ADD 0000149f: DUP1 000014a0: PUSH1 0x40 000014a2: MSTORE 000014a3: POP 000014a4: DUP2 000014a5: ADD 000014a6: SWAP1 000014a7: PUSH2 0x14b0 000014aa: SWAP2 000014ab: SWAP1 000014ac: PUSH2 0x3dc5 000014af: JUMP 000014b0: JUMPDEST 000014b1: PUSH2 0x14ef 000014b4: JUMPI 000014b5: PUSH1 0x40 000014b7: MLOAD 000014b8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000014d9: DUP2 000014da: MSTORE 000014db: PUSH1 0x04 000014dd: ADD 000014de: PUSH2 0x14e6 000014e1: SWAP1 000014e2: PUSH2 0x3e64 000014e5: JUMP 000014e6: JUMPDEST 000014e7: PUSH1 0x40 000014e9: MLOAD 000014ea: DUP1 000014eb: SWAP2 000014ec: SUB 000014ed: SWAP1 000014ee: REVERT 000014ef: JUMPDEST 000014f0: PUSH2 0x1670 000014f3: JUMP 000014f4: JUMPDEST 000014f5: DUP2 000014f6: DUP2 000014f7: PUSH2 0x1500 000014fa: SWAP2 000014fb: SWAP1 000014fc: PUSH2 0x3e84 000014ff: JUMP 00001500: JUMPDEST 00001501: PUSH1 0x05 00001503: PUSH1 0x00 00001505: CALLER 00001506: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000151b: AND 0000151c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001531: AND 00001532: DUP2 00001533: MSTORE 00001534: PUSH1 0x20 00001536: ADD 00001537: SWAP1 00001538: DUP2 00001539: MSTORE 0000153a: PUSH1 0x20 0000153c: ADD 0000153d: PUSH1 0x00 0000153f: KECCAK256 00001540: DUP2 00001541: SWAP1 00001542: SSTORE 00001543: POP 00001544: PUSH2 0x1581 00001547: PUSH1 0x40 00001549: MLOAD 0000154a: DUP1 0000154b: PUSH1 0x40 0000154d: ADD 0000154e: PUSH1 0x40 00001550: MSTORE 00001551: DUP1 00001552: PUSH1 0x05 00001554: DUP2 00001555: MSTORE 00001556: PUSH1 0x20 00001558: ADD 00001559: PUSH32 0x7468657265000000000000000000000000000000000000000000000000000000 0000157a: DUP2 0000157b: MSTORE 0000157c: POP 0000157d: PUSH2 0x31ab 00001580: JUMP 00001581: JUMPDEST 00001582: PUSH1 0x02 00001584: PUSH1 0x00 00001586: SWAP1 00001587: SLOAD 00001588: SWAP1 00001589: PUSH2 0x0100 0000158c: EXP 0000158d: SWAP1 0000158e: DIV 0000158f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015a4: AND 000015a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015ba: AND 000015bb: PUSH4 0xa9059cbb 000015c0: CALLER 000015c1: DUP5 000015c2: PUSH1 0x40 000015c4: MLOAD 000015c5: DUP4 000015c6: PUSH4 0xffffffff 000015cb: AND 000015cc: PUSH1 0xe0 000015ce: SHL 000015cf: DUP2 000015d0: MSTORE 000015d1: PUSH1 0x04 000015d3: ADD 000015d4: PUSH2 0x15de 000015d7: SWAP3 000015d8: SWAP2 000015d9: SWAP1 000015da: PUSH2 0x361e 000015dd: JUMP 000015de: JUMPDEST 000015df: PUSH1 0x20 000015e1: PUSH1 0x40 000015e3: MLOAD 000015e4: DUP1 000015e5: DUP4 000015e6: SUB 000015e7: DUP2 000015e8: PUSH1 0x00 000015ea: DUP8 000015eb: DUP1 000015ec: EXTCODESIZE 000015ed: ISZERO 000015ee: DUP1 000015ef: ISZERO 000015f0: PUSH2 0x15f8 000015f3: JUMPI 000015f4: PUSH1 0x00 000015f6: DUP1 000015f7: REVERT 000015f8: JUMPDEST 000015f9: POP 000015fa: GAS 000015fb: CALL 000015fc: ISZERO 000015fd: DUP1 000015fe: ISZERO 000015ff: PUSH2 0x160c 00001602: JUMPI 00001603: RETURNDATASIZE 00001604: PUSH1 0x00 00001606: DUP1 00001607: RETURNDATACOPY 00001608: RETURNDATASIZE 00001609: PUSH1 0x00 0000160b: REVERT 0000160c: JUMPDEST 0000160d: POP 0000160e: POP 0000160f: POP 00001610: POP 00001611: PUSH1 0x40 00001613: MLOAD 00001614: RETURNDATASIZE 00001615: PUSH1 0x1f 00001617: NOT 00001618: PUSH1 0x1f 0000161a: DUP3 0000161b: ADD 0000161c: AND 0000161d: DUP3 0000161e: ADD 0000161f: DUP1 00001620: PUSH1 0x40 00001622: MSTORE 00001623: POP 00001624: DUP2 00001625: ADD 00001626: SWAP1 00001627: PUSH2 0x1630 0000162a: SWAP2 0000162b: SWAP1 0000162c: PUSH2 0x3dc5 0000162f: JUMP 00001630: JUMPDEST 00001631: PUSH2 0x166f 00001634: JUMPI 00001635: PUSH1 0x40 00001637: MLOAD 00001638: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001659: DUP2 0000165a: MSTORE 0000165b: PUSH1 0x04 0000165d: ADD 0000165e: PUSH2 0x1666 00001661: SWAP1 00001662: PUSH2 0x3e64 00001665: JUMP 00001666: JUMPDEST 00001667: PUSH1 0x40 00001669: MLOAD 0000166a: DUP1 0000166b: SWAP2 0000166c: SUB 0000166d: SWAP1 0000166e: REVERT 0000166f: JUMPDEST 00001670: JUMPDEST 00001671: POP 00001672: POP 00001673: JUMP 00001674: JUMPDEST 00001675: PUSH1 0x02 00001677: PUSH1 0x00 00001679: SLOAD 0000167a: EQ 0000167b: ISZERO 0000167c: PUSH2 0x16ba 0000167f: JUMPI 00001680: PUSH1 0x40 00001682: MLOAD 00001683: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000016a4: DUP2 000016a5: MSTORE 000016a6: PUSH1 0x04 000016a8: ADD 000016a9: PUSH2 0x16b1 000016ac: SWAP1 000016ad: PUSH2 0x3899 000016b0: JUMP 000016b1: JUMPDEST 000016b2: PUSH1 0x40 000016b4: MLOAD 000016b5: DUP1 000016b6: SWAP2 000016b7: SUB 000016b8: SWAP1 000016b9: REVERT 000016ba: JUMPDEST 000016bb: PUSH1 0x02 000016bd: PUSH1 0x00 000016bf: DUP2 000016c0: SWAP1 000016c1: SSTORE 000016c2: POP 000016c3: PUSH1 0x00 000016c5: PUSH1 0x07 000016c7: PUSH1 0x00 000016c9: DUP4 000016ca: DUP2 000016cb: MSTORE 000016cc: PUSH1 0x20 000016ce: ADD 000016cf: SWAP1 000016d0: DUP2 000016d1: MSTORE 000016d2: PUSH1 0x20 000016d4: ADD 000016d5: PUSH1 0x00 000016d7: KECCAK256 000016d8: PUSH1 0x40 000016da: MLOAD 000016db: DUP1 000016dc: PUSH1 0x60 000016de: ADD 000016df: PUSH1 0x40 000016e1: MSTORE 000016e2: SWAP1 000016e3: DUP2 000016e4: PUSH1 0x00 000016e6: DUP3 000016e7: ADD 000016e8: PUSH1 0x00 000016ea: SWAP1 000016eb: SLOAD 000016ec: SWAP1 000016ed: PUSH2 0x0100 000016f0: EXP 000016f1: SWAP1 000016f2: DIV 000016f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001708: AND 00001709: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000171e: AND 0000171f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001734: AND 00001735: DUP2 00001736: MSTORE 00001737: PUSH1 0x20 00001739: ADD 0000173a: PUSH1 0x01 0000173c: DUP3 0000173d: ADD 0000173e: SLOAD 0000173f: DUP2 00001740: MSTORE 00001741: PUSH1 0x20 00001743: ADD 00001744: PUSH1 0x02 00001746: DUP3 00001747: ADD 00001748: PUSH1 0x00 0000174a: SWAP1 0000174b: SLOAD 0000174c: SWAP1 0000174d: PUSH2 0x0100 00001750: EXP 00001751: SWAP1 00001752: DIV 00001753: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001768: AND 00001769: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000177e: AND 0000177f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001794: AND 00001795: DUP2 00001796: MSTORE 00001797: POP 00001798: POP 00001799: SWAP1 0000179a: POP 0000179b: PUSH1 0x00 0000179d: DUP2 0000179e: PUSH1 0x20 000017a0: ADD 000017a1: MLOAD 000017a2: GT 000017a3: PUSH2 0x17e1 000017a6: JUMPI 000017a7: PUSH1 0x40 000017a9: MLOAD 000017aa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000017cb: DUP2 000017cc: MSTORE 000017cd: PUSH1 0x04 000017cf: ADD 000017d0: PUSH2 0x17d8 000017d3: SWAP1 000017d4: PUSH2 0x3f2a 000017d7: JUMP 000017d8: JUMPDEST 000017d9: PUSH1 0x40 000017db: MLOAD 000017dc: DUP1 000017dd: SWAP2 000017de: SUB 000017df: SWAP1 000017e0: REVERT 000017e1: JUMPDEST 000017e2: PUSH1 0x00 000017e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017f9: AND 000017fa: DUP2 000017fb: PUSH1 0x40 000017fd: ADD 000017fe: MLOAD 000017ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001814: AND 00001815: EQ 00001816: DUP1 00001817: PUSH2 0x184f 0000181a: JUMPI 0000181b: POP 0000181c: CALLER 0000181d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001832: AND 00001833: DUP2 00001834: PUSH1 0x40 00001836: ADD 00001837: MLOAD 00001838: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000184d: AND 0000184e: EQ 0000184f: JUMPDEST 00001850: PUSH2 0x188e 00001853: JUMPI 00001854: PUSH1 0x40 00001856: MLOAD 00001857: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001878: DUP2 00001879: MSTORE 0000187a: PUSH1 0x04 0000187c: ADD 0000187d: PUSH2 0x1885 00001880: SWAP1 00001881: PUSH2 0x3fbc 00001884: JUMP 00001885: JUMPDEST 00001886: PUSH1 0x40 00001888: MLOAD 00001889: DUP1 0000188a: SWAP2 0000188b: SUB 0000188c: SWAP1 0000188d: REVERT 0000188e: JUMPDEST 0000188f: DUP1 00001890: PUSH1 0x20 00001892: ADD 00001893: MLOAD 00001894: CALLVALUE 00001895: LT 00001896: ISZERO 00001897: PUSH2 0x18d5 0000189a: JUMPI 0000189b: PUSH1 0x40 0000189d: MLOAD 0000189e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000018bf: DUP2 000018c0: MSTORE 000018c1: PUSH1 0x04 000018c3: ADD 000018c4: PUSH2 0x18cc 000018c7: SWAP1 000018c8: PUSH2 0x404e 000018cb: JUMP 000018cc: JUMPDEST 000018cd: PUSH1 0x40 000018cf: MLOAD 000018d0: DUP1 000018d1: SWAP2 000018d2: SUB 000018d3: SWAP1 000018d4: REVERT 000018d5: JUMPDEST 000018d6: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 000018f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000190c: AND 0000190d: PUSH4 0x6352211e 00001912: DUP4 00001913: PUSH1 0x40 00001915: MLOAD 00001916: DUP3 00001917: PUSH4 0xffffffff 0000191c: AND 0000191d: PUSH1 0xe0 0000191f: SHL 00001920: DUP2 00001921: MSTORE 00001922: PUSH1 0x04 00001924: ADD 00001925: PUSH2 0x192e 00001928: SWAP2 00001929: SWAP1 0000192a: PUSH2 0x3484 0000192d: JUMP 0000192e: JUMPDEST 0000192f: PUSH1 0x20 00001931: PUSH1 0x40 00001933: MLOAD 00001934: DUP1 00001935: DUP4 00001936: SUB 00001937: DUP2 00001938: DUP7 00001939: DUP1 0000193a: EXTCODESIZE 0000193b: ISZERO 0000193c: DUP1 0000193d: ISZERO 0000193e: PUSH2 0x1946 00001941: JUMPI 00001942: PUSH1 0x00 00001944: DUP1 00001945: REVERT 00001946: JUMPDEST 00001947: POP 00001948: GAS 00001949: STATICCALL 0000194a: ISZERO 0000194b: DUP1 0000194c: ISZERO 0000194d: PUSH2 0x195a 00001950: JUMPI 00001951: RETURNDATASIZE 00001952: PUSH1 0x00 00001954: DUP1 00001955: RETURNDATACOPY 00001956: RETURNDATASIZE 00001957: PUSH1 0x00 00001959: REVERT 0000195a: JUMPDEST 0000195b: POP 0000195c: POP 0000195d: POP 0000195e: POP 0000195f: PUSH1 0x40 00001961: MLOAD 00001962: RETURNDATASIZE 00001963: PUSH1 0x1f 00001965: NOT 00001966: PUSH1 0x1f 00001968: DUP3 00001969: ADD 0000196a: AND 0000196b: DUP3 0000196c: ADD 0000196d: DUP1 0000196e: PUSH1 0x40 00001970: MSTORE 00001971: POP 00001972: DUP2 00001973: ADD 00001974: SWAP1 00001975: PUSH2 0x197e 00001978: SWAP2 00001979: SWAP1 0000197a: PUSH2 0x38ce 0000197d: JUMP 0000197e: JUMPDEST 0000197f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001994: AND 00001995: DUP2 00001996: PUSH1 0x00 00001998: ADD 00001999: MLOAD 0000199a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019af: AND 000019b0: EQ 000019b1: PUSH2 0x19ef 000019b4: JUMPI 000019b5: PUSH1 0x40 000019b7: MLOAD 000019b8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000019d9: DUP2 000019da: MSTORE 000019db: PUSH1 0x04 000019dd: ADD 000019de: PUSH2 0x19e6 000019e1: SWAP1 000019e2: PUSH2 0x4106 000019e5: JUMP 000019e6: JUMPDEST 000019e7: PUSH1 0x40 000019e9: MLOAD 000019ea: DUP1 000019eb: SWAP2 000019ec: SUB 000019ed: SWAP1 000019ee: REVERT 000019ef: JUMPDEST 000019f0: PUSH1 0x00 000019f2: DUP2 000019f3: PUSH1 0x00 000019f5: ADD 000019f6: MLOAD 000019f7: SWAP1 000019f8: POP 000019f9: PUSH2 0x1a01 000019fc: DUP4 000019fd: PUSH2 0x3244 00001a00: JUMP 00001a01: JUMPDEST 00001a02: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 00001a23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a38: AND 00001a39: PUSH4 0x42842e0e 00001a3e: DUP3 00001a3f: CALLER 00001a40: DUP7 00001a41: PUSH1 0x40 00001a43: MLOAD 00001a44: DUP5 00001a45: PUSH4 0xffffffff 00001a4a: AND 00001a4b: PUSH1 0xe0 00001a4d: SHL 00001a4e: DUP2 00001a4f: MSTORE 00001a50: PUSH1 0x04 00001a52: ADD 00001a53: PUSH2 0x1a5e 00001a56: SWAP4 00001a57: SWAP3 00001a58: SWAP2 00001a59: SWAP1 00001a5a: PUSH2 0x4126 00001a5d: JUMP 00001a5e: JUMPDEST 00001a5f: PUSH1 0x00 00001a61: PUSH1 0x40 00001a63: MLOAD 00001a64: DUP1 00001a65: DUP4 00001a66: SUB 00001a67: DUP2 00001a68: PUSH1 0x00 00001a6a: DUP8 00001a6b: DUP1 00001a6c: EXTCODESIZE 00001a6d: ISZERO 00001a6e: DUP1 00001a6f: ISZERO 00001a70: PUSH2 0x1a78 00001a73: JUMPI 00001a74: PUSH1 0x00 00001a76: DUP1 00001a77: REVERT 00001a78: JUMPDEST 00001a79: POP 00001a7a: GAS 00001a7b: CALL 00001a7c: ISZERO 00001a7d: DUP1 00001a7e: ISZERO 00001a7f: PUSH2 0x1a8c 00001a82: JUMPI 00001a83: RETURNDATASIZE 00001a84: PUSH1 0x00 00001a86: DUP1 00001a87: RETURNDATACOPY 00001a88: RETURNDATASIZE 00001a89: PUSH1 0x00 00001a8b: REVERT 00001a8c: JUMPDEST 00001a8d: POP 00001a8e: POP 00001a8f: POP 00001a90: POP 00001a91: PUSH1 0x00 00001a93: CALLVALUE 00001a94: SWAP1 00001a95: POP 00001a96: PUSH1 0x00 00001a98: PUSH2 0x2710 00001a9b: PUSH2 0x02ee 00001a9e: DUP4 00001a9f: PUSH2 0x1aa8 00001aa2: SWAP2 00001aa3: SWAP1 00001aa4: PUSH2 0x372c 00001aa7: JUMP 00001aa8: JUMPDEST 00001aa9: PUSH2 0x1ab2 00001aac: SWAP2 00001aad: SWAP1 00001aae: PUSH2 0x37b5 00001ab1: JUMP 00001ab2: JUMPDEST 00001ab3: SWAP1 00001ab4: POP 00001ab5: PUSH1 0x00 00001ab7: DUP2 00001ab8: DUP4 00001ab9: PUSH2 0x1ac2 00001abc: SWAP2 00001abd: SWAP1 00001abe: PUSH2 0x3e84 00001ac1: JUMP 00001ac2: JUMPDEST 00001ac3: SWAP1 00001ac4: POP 00001ac5: DUP1 00001ac6: PUSH1 0x09 00001ac8: PUSH1 0x00 00001aca: DUP7 00001acb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ae0: AND 00001ae1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001af6: AND 00001af7: DUP2 00001af8: MSTORE 00001af9: PUSH1 0x20 00001afb: ADD 00001afc: SWAP1 00001afd: DUP2 00001afe: MSTORE 00001aff: PUSH1 0x20 00001b01: ADD 00001b02: PUSH1 0x00 00001b04: KECCAK256 00001b05: PUSH1 0x00 00001b07: DUP3 00001b08: DUP3 00001b09: SLOAD 00001b0a: PUSH2 0x1b13 00001b0d: SWAP2 00001b0e: SWAP1 00001b0f: PUSH2 0x37e6 00001b12: JUMP 00001b13: JUMPDEST 00001b14: SWAP3 00001b15: POP 00001b16: POP 00001b17: DUP2 00001b18: SWAP1 00001b19: SSTORE 00001b1a: POP 00001b1b: PUSH2 0x1b23 00001b1e: DUP3 00001b1f: PUSH2 0x0737 00001b22: JUMP 00001b23: JUMPDEST 00001b24: CALLER 00001b25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b3a: AND 00001b3b: DUP5 00001b3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b51: AND 00001b52: DUP8 00001b53: PUSH32 0x10da7de539762d5a4215e91a34acd5eba17edf57b64b53ed63b52bfb248b6551 00001b74: CALLVALUE 00001b75: PUSH1 0x03 00001b77: SLOAD 00001b78: PUSH1 0x40 00001b7a: MLOAD 00001b7b: PUSH2 0x1b85 00001b7e: SWAP3 00001b7f: SWAP2 00001b80: SWAP1 00001b81: PUSH2 0x415d 00001b84: JUMP 00001b85: JUMPDEST 00001b86: PUSH1 0x40 00001b88: MLOAD 00001b89: DUP1 00001b8a: SWAP2 00001b8b: SUB 00001b8c: SWAP1 00001b8d: LOG4 00001b8e: CALLER 00001b8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ba4: AND 00001ba5: PUSH1 0x08 00001ba7: PUSH1 0x00 00001ba9: DUP9 00001baa: DUP2 00001bab: MSTORE 00001bac: PUSH1 0x20 00001bae: ADD 00001baf: SWAP1 00001bb0: DUP2 00001bb1: MSTORE 00001bb2: PUSH1 0x20 00001bb4: ADD 00001bb5: PUSH1 0x00 00001bb7: KECCAK256 00001bb8: PUSH1 0x00 00001bba: ADD 00001bbb: PUSH1 0x00 00001bbd: SWAP1 00001bbe: SLOAD 00001bbf: SWAP1 00001bc0: PUSH2 0x0100 00001bc3: EXP 00001bc4: SWAP1 00001bc5: DIV 00001bc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bdb: AND 00001bdc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bf1: AND 00001bf2: EQ 00001bf3: ISZERO 00001bf4: PUSH2 0x1caf 00001bf7: JUMPI 00001bf8: PUSH1 0x00 00001bfa: PUSH1 0x08 00001bfc: PUSH1 0x00 00001bfe: DUP9 00001bff: DUP2 00001c00: MSTORE 00001c01: PUSH1 0x20 00001c03: ADD 00001c04: SWAP1 00001c05: DUP2 00001c06: MSTORE 00001c07: PUSH1 0x20 00001c09: ADD 00001c0a: PUSH1 0x00 00001c0c: KECCAK256 00001c0d: PUSH1 0x01 00001c0f: ADD 00001c10: SLOAD 00001c11: SWAP1 00001c12: POP 00001c13: PUSH1 0x08 00001c15: PUSH1 0x00 00001c17: DUP9 00001c18: DUP2 00001c19: MSTORE 00001c1a: PUSH1 0x20 00001c1c: ADD 00001c1d: SWAP1 00001c1e: DUP2 00001c1f: MSTORE 00001c20: PUSH1 0x20 00001c22: ADD 00001c23: PUSH1 0x00 00001c25: KECCAK256 00001c26: PUSH1 0x00 00001c28: DUP1 00001c29: DUP3 00001c2a: ADD 00001c2b: PUSH1 0x00 00001c2d: PUSH2 0x0100 00001c30: EXP 00001c31: DUP2 00001c32: SLOAD 00001c33: SWAP1 00001c34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c49: MUL 00001c4a: NOT 00001c4b: AND 00001c4c: SWAP1 00001c4d: SSTORE 00001c4e: PUSH1 0x01 00001c50: DUP3 00001c51: ADD 00001c52: PUSH1 0x00 00001c54: SWAP1 00001c55: SSTORE 00001c56: POP 00001c57: POP 00001c58: DUP1 00001c59: PUSH1 0x09 00001c5b: PUSH1 0x00 00001c5d: CALLER 00001c5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c73: AND 00001c74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c89: AND 00001c8a: DUP2 00001c8b: MSTORE 00001c8c: PUSH1 0x20 00001c8e: ADD 00001c8f: SWAP1 00001c90: DUP2 00001c91: MSTORE 00001c92: PUSH1 0x20 00001c94: ADD 00001c95: PUSH1 0x00 00001c97: KECCAK256 00001c98: PUSH1 0x00 00001c9a: DUP3 00001c9b: DUP3 00001c9c: SLOAD 00001c9d: PUSH2 0x1ca6 00001ca0: SWAP2 00001ca1: SWAP1 00001ca2: PUSH2 0x37e6 00001ca5: JUMP 00001ca6: JUMPDEST 00001ca7: SWAP3 00001ca8: POP 00001ca9: POP 00001caa: DUP2 00001cab: SWAP1 00001cac: SSTORE 00001cad: POP 00001cae: POP 00001caf: JUMPDEST 00001cb0: POP 00001cb1: POP 00001cb2: POP 00001cb3: POP 00001cb4: POP 00001cb5: PUSH1 0x01 00001cb7: PUSH1 0x00 00001cb9: DUP2 00001cba: SWAP1 00001cbb: SSTORE 00001cbc: POP 00001cbd: POP 00001cbe: JUMP 00001cbf: JUMPDEST 00001cc0: PUSH2 0x02ee 00001cc3: DUP2 00001cc4: JUMP 00001cc5: JUMPDEST 00001cc6: PUSH1 0x03 00001cc8: SLOAD 00001cc9: DUP2 00001cca: JUMP 00001ccb: JUMPDEST 00001ccc: DUP3 00001ccd: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 00001cee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d03: AND 00001d04: PUSH4 0x6352211e 00001d09: DUP3 00001d0a: PUSH1 0x40 00001d0c: MLOAD 00001d0d: DUP3 00001d0e: PUSH4 0xffffffff 00001d13: AND 00001d14: PUSH1 0xe0 00001d16: SHL 00001d17: DUP2 00001d18: MSTORE 00001d19: PUSH1 0x04 00001d1b: ADD 00001d1c: PUSH2 0x1d25 00001d1f: SWAP2 00001d20: SWAP1 00001d21: PUSH2 0x3484 00001d24: JUMP 00001d25: JUMPDEST 00001d26: PUSH1 0x20 00001d28: PUSH1 0x40 00001d2a: MLOAD 00001d2b: DUP1 00001d2c: DUP4 00001d2d: SUB 00001d2e: DUP2 00001d2f: DUP7 00001d30: DUP1 00001d31: EXTCODESIZE 00001d32: ISZERO 00001d33: DUP1 00001d34: ISZERO 00001d35: PUSH2 0x1d3d 00001d38: JUMPI 00001d39: PUSH1 0x00 00001d3b: DUP1 00001d3c: REVERT 00001d3d: JUMPDEST 00001d3e: POP 00001d3f: GAS 00001d40: STATICCALL 00001d41: ISZERO 00001d42: DUP1 00001d43: ISZERO 00001d44: PUSH2 0x1d51 00001d47: JUMPI 00001d48: RETURNDATASIZE 00001d49: PUSH1 0x00 00001d4b: DUP1 00001d4c: RETURNDATACOPY 00001d4d: RETURNDATASIZE 00001d4e: PUSH1 0x00 00001d50: REVERT 00001d51: JUMPDEST 00001d52: POP 00001d53: POP 00001d54: POP 00001d55: POP 00001d56: PUSH1 0x40 00001d58: MLOAD 00001d59: RETURNDATASIZE 00001d5a: PUSH1 0x1f 00001d5c: NOT 00001d5d: PUSH1 0x1f 00001d5f: DUP3 00001d60: ADD 00001d61: AND 00001d62: DUP3 00001d63: ADD 00001d64: DUP1 00001d65: PUSH1 0x40 00001d67: MSTORE 00001d68: POP 00001d69: DUP2 00001d6a: ADD 00001d6b: SWAP1 00001d6c: PUSH2 0x1d75 00001d6f: SWAP2 00001d70: SWAP1 00001d71: PUSH2 0x38ce 00001d74: JUMP 00001d75: JUMPDEST 00001d76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d8b: AND 00001d8c: CALLER 00001d8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001da2: AND 00001da3: EQ 00001da4: PUSH2 0x1de2 00001da7: JUMPI 00001da8: PUSH1 0x40 00001daa: MLOAD 00001dab: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001dcc: DUP2 00001dcd: MSTORE 00001dce: PUSH1 0x04 00001dd0: ADD 00001dd1: PUSH2 0x1dd9 00001dd4: SWAP1 00001dd5: PUSH2 0x3c63 00001dd8: JUMP 00001dd9: JUMPDEST 00001dda: PUSH1 0x40 00001ddc: MLOAD 00001ddd: DUP1 00001dde: SWAP2 00001ddf: SUB 00001de0: SWAP1 00001de1: REVERT 00001de2: JUMPDEST 00001de3: PUSH1 0x02 00001de5: PUSH1 0x00 00001de7: SLOAD 00001de8: EQ 00001de9: ISZERO 00001dea: PUSH2 0x1e28 00001ded: JUMPI 00001dee: PUSH1 0x40 00001df0: MLOAD 00001df1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001e12: DUP2 00001e13: MSTORE 00001e14: PUSH1 0x04 00001e16: ADD 00001e17: PUSH2 0x1e1f 00001e1a: SWAP1 00001e1b: PUSH2 0x3899 00001e1e: JUMP 00001e1f: JUMPDEST 00001e20: PUSH1 0x40 00001e22: MLOAD 00001e23: DUP1 00001e24: SWAP2 00001e25: SUB 00001e26: SWAP1 00001e27: REVERT 00001e28: JUMPDEST 00001e29: PUSH1 0x02 00001e2b: PUSH1 0x00 00001e2d: DUP2 00001e2e: SWAP1 00001e2f: SSTORE 00001e30: POP 00001e31: PUSH1 0x40 00001e33: MLOAD 00001e34: DUP1 00001e35: PUSH1 0x60 00001e37: ADD 00001e38: PUSH1 0x40 00001e3a: MSTORE 00001e3b: DUP1 00001e3c: CALLER 00001e3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e52: AND 00001e53: DUP2 00001e54: MSTORE 00001e55: PUSH1 0x20 00001e57: ADD 00001e58: DUP5 00001e59: DUP2 00001e5a: MSTORE 00001e5b: PUSH1 0x20 00001e5d: ADD 00001e5e: DUP4 00001e5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e74: AND 00001e75: DUP2 00001e76: MSTORE 00001e77: POP 00001e78: PUSH1 0x07 00001e7a: PUSH1 0x00 00001e7c: DUP7 00001e7d: DUP2 00001e7e: MSTORE 00001e7f: PUSH1 0x20 00001e81: ADD 00001e82: SWAP1 00001e83: DUP2 00001e84: MSTORE 00001e85: PUSH1 0x20 00001e87: ADD 00001e88: PUSH1 0x00 00001e8a: KECCAK256 00001e8b: PUSH1 0x00 00001e8d: DUP3 00001e8e: ADD 00001e8f: MLOAD 00001e90: DUP2 00001e91: PUSH1 0x00 00001e93: ADD 00001e94: PUSH1 0x00 00001e96: PUSH2 0x0100 00001e99: EXP 00001e9a: DUP2 00001e9b: SLOAD 00001e9c: DUP2 00001e9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eb2: MUL 00001eb3: NOT 00001eb4: AND 00001eb5: SWAP1 00001eb6: DUP4 00001eb7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ecc: AND 00001ecd: MUL 00001ece: OR 00001ecf: SWAP1 00001ed0: SSTORE 00001ed1: POP 00001ed2: PUSH1 0x20 00001ed4: DUP3 00001ed5: ADD 00001ed6: MLOAD 00001ed7: DUP2 00001ed8: PUSH1 0x01 00001eda: ADD 00001edb: SSTORE 00001edc: PUSH1 0x40 00001ede: DUP3 00001edf: ADD 00001ee0: MLOAD 00001ee1: DUP2 00001ee2: PUSH1 0x02 00001ee4: ADD 00001ee5: PUSH1 0x00 00001ee7: PUSH2 0x0100 00001eea: EXP 00001eeb: DUP2 00001eec: SLOAD 00001eed: DUP2 00001eee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f03: MUL 00001f04: NOT 00001f05: AND 00001f06: SWAP1 00001f07: DUP4 00001f08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f1d: AND 00001f1e: MUL 00001f1f: OR 00001f20: SWAP1 00001f21: SSTORE 00001f22: POP 00001f23: SWAP1 00001f24: POP 00001f25: POP 00001f26: DUP2 00001f27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f3c: AND 00001f3d: DUP5 00001f3e: PUSH32 0xb4068a58f26236f9510889485e92ef54b0ff6efea8e4d8067b8839e77fa9997a 00001f5f: DUP6 00001f60: PUSH1 0x40 00001f62: MLOAD 00001f63: PUSH2 0x1f6c 00001f66: SWAP2 00001f67: SWAP1 00001f68: PUSH2 0x3484 00001f6b: JUMP 00001f6c: JUMPDEST 00001f6d: PUSH1 0x40 00001f6f: MLOAD 00001f70: DUP1 00001f71: SWAP2 00001f72: SUB 00001f73: SWAP1 00001f74: LOG3 00001f75: PUSH1 0x01 00001f77: PUSH1 0x00 00001f79: DUP2 00001f7a: SWAP1 00001f7b: SSTORE 00001f7c: POP 00001f7d: POP 00001f7e: POP 00001f7f: POP 00001f80: POP 00001f81: JUMP 00001f82: JUMPDEST 00001f83: PUSH2 0x1f8a 00001f86: PUSH2 0x30af 00001f89: JUMP 00001f8a: JUMPDEST 00001f8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fa0: AND 00001fa1: PUSH2 0x1fa8 00001fa4: PUSH2 0x2465 00001fa7: JUMP 00001fa8: JUMPDEST 00001fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fbe: AND 00001fbf: EQ 00001fc0: PUSH2 0x1ffe 00001fc3: JUMPI 00001fc4: PUSH1 0x40 00001fc6: MLOAD 00001fc7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001fe8: DUP2 00001fe9: MSTORE 00001fea: PUSH1 0x04 00001fec: ADD 00001fed: PUSH2 0x1ff5 00001ff0: SWAP1 00001ff1: PUSH2 0x3b8f 00001ff4: JUMP 00001ff5: JUMPDEST 00001ff6: PUSH1 0x40 00001ff8: MLOAD 00001ff9: DUP1 00001ffa: SWAP2 00001ffb: SUB 00001ffc: SWAP1 00001ffd: REVERT 00001ffe: JUMPDEST 00001fff: PUSH1 0x06 00002001: DUP2 00002002: SWAP1 00002003: DUP1 00002004: PUSH1 0x01 00002006: DUP2 00002007: SLOAD 00002008: ADD 00002009: DUP1 0000200a: DUP3 0000200b: SSTORE 0000200c: DUP1 0000200d: SWAP2 0000200e: POP 0000200f: POP 00002010: PUSH1 0x01 00002012: SWAP1 00002013: SUB 00002014: SWAP1 00002015: PUSH1 0x00 00002017: MSTORE 00002018: PUSH1 0x20 0000201a: PUSH1 0x00 0000201c: KECCAK256 0000201d: ADD 0000201e: PUSH1 0x00 00002020: SWAP1 00002021: SWAP2 00002022: SWAP1 00002023: SWAP2 00002024: SWAP1 00002025: SWAP2 00002026: PUSH2 0x0100 00002029: EXP 0000202a: DUP2 0000202b: SLOAD 0000202c: DUP2 0000202d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002042: MUL 00002043: NOT 00002044: AND 00002045: SWAP1 00002046: DUP4 00002047: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000205c: AND 0000205d: MUL 0000205e: OR 0000205f: SWAP1 00002060: SSTORE 00002061: POP 00002062: POP 00002063: JUMP 00002064: JUMPDEST 00002065: PUSH32 0x0000000000000000000000007b4b02372d8e54c1c0454d97f01d85ef203cdc5e 00002086: DUP2 00002087: JUMP 00002088: JUMPDEST 00002089: PUSH2 0x2091 0000208c: CALLVALUE 0000208d: PUSH2 0x0737 00002090: JUMP 00002091: JUMPDEST 00002092: JUMP 00002093: JUMPDEST 00002094: PUSH2 0x209b 00002097: PUSH2 0x30af 0000209a: JUMP 0000209b: JUMPDEST 0000209c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020b1: AND 000020b2: PUSH2 0x20b9 000020b5: PUSH2 0x2465 000020b8: JUMP 000020b9: JUMPDEST 000020ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020cf: AND 000020d0: EQ 000020d1: PUSH2 0x210f 000020d4: JUMPI 000020d5: PUSH1 0x40 000020d7: MLOAD 000020d8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000020f9: DUP2 000020fa: MSTORE 000020fb: PUSH1 0x04 000020fd: ADD 000020fe: PUSH2 0x2106 00002101: SWAP1 00002102: PUSH2 0x3b8f 00002105: JUMP 00002106: JUMPDEST 00002107: PUSH1 0x40 00002109: MLOAD 0000210a: DUP1 0000210b: SWAP2 0000210c: SUB 0000210d: SWAP1 0000210e: REVERT 0000210f: JUMPDEST 00002110: PUSH2 0x2119 00002113: PUSH1 0x00 00002115: PUSH2 0x32e0 00002118: JUMP 00002119: JUMPDEST 0000211a: JUMP 0000211b: JUMPDEST 0000211c: PUSH32 0x0000000000000000000000007b4b02372d8e54c1c0454d97f01d85ef203cdc5e 0000213d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002152: AND 00002153: CALLER 00002154: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002169: AND 0000216a: EQ 0000216b: PUSH2 0x2173 0000216e: JUMPI 0000216f: PUSH1 0x00 00002171: DUP1 00002172: REVERT 00002173: JUMPDEST 00002174: DUP1 00002175: PUSH1 0x02 00002177: PUSH1 0x00 00002179: PUSH2 0x0100 0000217c: EXP 0000217d: DUP2 0000217e: SLOAD 0000217f: DUP2 00002180: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002195: MUL 00002196: NOT 00002197: AND 00002198: SWAP1 00002199: DUP4 0000219a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021af: AND 000021b0: MUL 000021b1: OR 000021b2: SWAP1 000021b3: SSTORE 000021b4: POP 000021b5: POP 000021b6: JUMP 000021b7: JUMPDEST 000021b8: PUSH1 0x02 000021ba: PUSH1 0x00 000021bc: SLOAD 000021bd: EQ 000021be: ISZERO 000021bf: PUSH2 0x21fd 000021c2: JUMPI 000021c3: PUSH1 0x40 000021c5: MLOAD 000021c6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000021e7: DUP2 000021e8: MSTORE 000021e9: PUSH1 0x04 000021eb: ADD 000021ec: PUSH2 0x21f4 000021ef: SWAP1 000021f0: PUSH2 0x3899 000021f3: JUMP 000021f4: JUMPDEST 000021f5: PUSH1 0x40 000021f7: MLOAD 000021f8: DUP1 000021f9: SWAP2 000021fa: SUB 000021fb: SWAP1 000021fc: REVERT 000021fd: JUMPDEST 000021fe: PUSH1 0x02 00002200: PUSH1 0x00 00002202: DUP2 00002203: SWAP1 00002204: SSTORE 00002205: POP 00002206: CALLER 00002207: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000221c: AND 0000221d: PUSH1 0x08 0000221f: PUSH1 0x00 00002221: DUP4 00002222: DUP2 00002223: MSTORE 00002224: PUSH1 0x20 00002226: ADD 00002227: SWAP1 00002228: DUP2 00002229: MSTORE 0000222a: PUSH1 0x20 0000222c: ADD 0000222d: PUSH1 0x00 0000222f: KECCAK256 00002230: PUSH1 0x00 00002232: ADD 00002233: PUSH1 0x00 00002235: SWAP1 00002236: SLOAD 00002237: SWAP1 00002238: PUSH2 0x0100 0000223b: EXP 0000223c: SWAP1 0000223d: DIV 0000223e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002253: AND 00002254: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002269: AND 0000226a: EQ 0000226b: PUSH2 0x22a9 0000226e: JUMPI 0000226f: PUSH1 0x40 00002271: MLOAD 00002272: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002293: DUP2 00002294: MSTORE 00002295: PUSH1 0x04 00002297: ADD 00002298: PUSH2 0x22a0 0000229b: SWAP1 0000229c: PUSH2 0x41f8 0000229f: JUMP 000022a0: JUMPDEST 000022a1: PUSH1 0x40 000022a3: MLOAD 000022a4: DUP1 000022a5: SWAP2 000022a6: SUB 000022a7: SWAP1 000022a8: REVERT 000022a9: JUMPDEST 000022aa: PUSH1 0x00 000022ac: PUSH1 0x08 000022ae: PUSH1 0x00 000022b0: DUP4 000022b1: DUP2 000022b2: MSTORE 000022b3: PUSH1 0x20 000022b5: ADD 000022b6: SWAP1 000022b7: DUP2 000022b8: MSTORE 000022b9: PUSH1 0x20 000022bb: ADD 000022bc: PUSH1 0x00 000022be: KECCAK256 000022bf: PUSH1 0x01 000022c1: ADD 000022c2: SLOAD 000022c3: SWAP1 000022c4: POP 000022c5: CALLER 000022c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022db: AND 000022dc: DUP3 000022dd: PUSH32 0xef51c4d065b866a9c198da97f97048098ecfff666a93233dc909f8f2dfe02a22 000022fe: DUP4 000022ff: PUSH1 0x40 00002301: MLOAD 00002302: PUSH2 0x230b 00002305: SWAP2 00002306: SWAP1 00002307: PUSH2 0x3484 0000230a: JUMP 0000230b: JUMPDEST 0000230c: PUSH1 0x40 0000230e: MLOAD 0000230f: DUP1 00002310: SWAP2 00002311: SUB 00002312: SWAP1 00002313: LOG3 00002314: PUSH1 0x08 00002316: PUSH1 0x00 00002318: DUP4 00002319: DUP2 0000231a: MSTORE 0000231b: PUSH1 0x20 0000231d: ADD 0000231e: SWAP1 0000231f: DUP2 00002320: MSTORE 00002321: PUSH1 0x20 00002323: ADD 00002324: PUSH1 0x00 00002326: KECCAK256 00002327: PUSH1 0x00 00002329: DUP1 0000232a: DUP3 0000232b: ADD 0000232c: PUSH1 0x00 0000232e: PUSH2 0x0100 00002331: EXP 00002332: DUP2 00002333: SLOAD 00002334: SWAP1 00002335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000234a: MUL 0000234b: NOT 0000234c: AND 0000234d: SWAP1 0000234e: SSTORE 0000234f: PUSH1 0x01 00002351: DUP3 00002352: ADD 00002353: PUSH1 0x00 00002355: SWAP1 00002356: SSTORE 00002357: POP 00002358: POP 00002359: PUSH2 0x2362 0000235c: CALLER 0000235d: DUP3 0000235e: PUSH2 0x30b7 00002361: JUMP 00002362: JUMPDEST 00002363: POP 00002364: PUSH1 0x01 00002366: PUSH1 0x00 00002368: DUP2 00002369: SWAP1 0000236a: SSTORE 0000236b: POP 0000236c: POP 0000236d: JUMP 0000236e: JUMPDEST 0000236f: PUSH1 0x08 00002371: PUSH1 0x20 00002373: MSTORE 00002374: DUP1 00002375: PUSH1 0x00 00002377: MSTORE 00002378: PUSH1 0x40 0000237a: PUSH1 0x00 0000237c: KECCAK256 0000237d: PUSH1 0x00 0000237f: SWAP2 00002380: POP 00002381: SWAP1 00002382: POP 00002383: DUP1 00002384: PUSH1 0x00 00002386: ADD 00002387: PUSH1 0x00 00002389: SWAP1 0000238a: SLOAD 0000238b: SWAP1 0000238c: PUSH2 0x0100 0000238f: EXP 00002390: SWAP1 00002391: DIV 00002392: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023a7: AND 000023a8: SWAP1 000023a9: DUP1 000023aa: PUSH1 0x01 000023ac: ADD 000023ad: SLOAD 000023ae: SWAP1 000023af: POP 000023b0: DUP3 000023b1: JUMP 000023b2: JUMPDEST 000023b3: PUSH1 0x00 000023b5: PUSH8 0x0de0b6b3a7640000 000023be: PUSH1 0x04 000023c0: PUSH1 0x00 000023c2: DUP5 000023c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023d8: AND 000023d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023ee: AND 000023ef: DUP2 000023f0: MSTORE 000023f1: PUSH1 0x20 000023f3: ADD 000023f4: SWAP1 000023f5: DUP2 000023f6: MSTORE 000023f7: PUSH1 0x20 000023f9: ADD 000023fa: PUSH1 0x00 000023fc: KECCAK256 000023fd: SLOAD 000023fe: PUSH1 0x03 00002400: SLOAD 00002401: PUSH2 0x240a 00002404: SWAP2 00002405: SWAP1 00002406: PUSH2 0x3e84 00002409: JUMP 0000240a: JUMPDEST 0000240b: PUSH1 0x05 0000240d: PUSH1 0x00 0000240f: DUP6 00002410: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002425: AND 00002426: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000243b: AND 0000243c: DUP2 0000243d: MSTORE 0000243e: PUSH1 0x20 00002440: ADD 00002441: SWAP1 00002442: DUP2 00002443: MSTORE 00002444: PUSH1 0x20 00002446: ADD 00002447: PUSH1 0x00 00002449: KECCAK256 0000244a: SLOAD 0000244b: PUSH2 0x2454 0000244e: SWAP2 0000244f: SWAP1 00002450: PUSH2 0x372c 00002453: JUMP 00002454: JUMPDEST 00002455: PUSH2 0x245e 00002458: SWAP2 00002459: SWAP1 0000245a: PUSH2 0x37b5 0000245d: JUMP 0000245e: JUMPDEST 0000245f: SWAP1 00002460: POP 00002461: SWAP2 00002462: SWAP1 00002463: POP 00002464: JUMP 00002465: JUMPDEST 00002466: PUSH1 0x00 00002468: PUSH1 0x01 0000246a: PUSH1 0x00 0000246c: SWAP1 0000246d: SLOAD 0000246e: SWAP1 0000246f: PUSH2 0x0100 00002472: EXP 00002473: SWAP1 00002474: DIV 00002475: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000248a: AND 0000248b: SWAP1 0000248c: POP 0000248d: SWAP1 0000248e: JUMP 0000248f: JUMPDEST 00002490: PUSH1 0x02 00002492: PUSH1 0x00 00002494: SLOAD 00002495: EQ 00002496: ISZERO 00002497: PUSH2 0x24d5 0000249a: JUMPI 0000249b: PUSH1 0x40 0000249d: MLOAD 0000249e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000024bf: DUP2 000024c0: MSTORE 000024c1: PUSH1 0x04 000024c3: ADD 000024c4: PUSH2 0x24cc 000024c7: SWAP1 000024c8: PUSH2 0x3899 000024cb: JUMP 000024cc: JUMPDEST 000024cd: PUSH1 0x40 000024cf: MLOAD 000024d0: DUP1 000024d1: SWAP2 000024d2: SUB 000024d3: SWAP1 000024d4: REVERT 000024d5: JUMPDEST 000024d6: PUSH1 0x02 000024d8: PUSH1 0x00 000024da: DUP2 000024db: SWAP1 000024dc: SSTORE 000024dd: POP 000024de: PUSH1 0x00 000024e0: JUMPDEST 000024e1: PUSH1 0x06 000024e3: DUP1 000024e4: SLOAD 000024e5: SWAP1 000024e6: POP 000024e7: DUP2 000024e8: LT 000024e9: ISZERO 000024ea: PUSH2 0x25a9 000024ed: JUMPI 000024ee: PUSH1 0x06 000024f0: DUP2 000024f1: DUP2 000024f2: SLOAD 000024f3: DUP2 000024f4: LT 000024f5: PUSH2 0x2501 000024f8: JUMPI 000024f9: PUSH2 0x2500 000024fc: PUSH2 0x3d15 000024ff: JUMP 00002500: JUMPDEST 00002501: JUMPDEST 00002502: SWAP1 00002503: PUSH1 0x00 00002505: MSTORE 00002506: PUSH1 0x20 00002508: PUSH1 0x00 0000250a: KECCAK256 0000250b: ADD 0000250c: PUSH1 0x00 0000250e: SWAP1 0000250f: SLOAD 00002510: SWAP1 00002511: PUSH2 0x0100 00002514: EXP 00002515: SWAP1 00002516: DIV 00002517: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000252c: AND 0000252d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002542: AND 00002543: PUSH4 0xef5cfb8c 00002548: DUP4 00002549: PUSH1 0x40 0000254b: MLOAD 0000254c: DUP3 0000254d: PUSH4 0xffffffff 00002552: AND 00002553: PUSH1 0xe0 00002555: SHL 00002556: DUP2 00002557: MSTORE 00002558: PUSH1 0x04 0000255a: ADD 0000255b: PUSH2 0x2564 0000255e: SWAP2 0000255f: SWAP1 00002560: PUSH2 0x3557 00002563: JUMP 00002564: JUMPDEST 00002565: PUSH1 0x00 00002567: PUSH1 0x40 00002569: MLOAD 0000256a: DUP1 0000256b: DUP4 0000256c: SUB 0000256d: DUP2 0000256e: PUSH1 0x00 00002570: DUP8 00002571: DUP1 00002572: EXTCODESIZE 00002573: ISZERO 00002574: DUP1 00002575: ISZERO 00002576: PUSH2 0x257e 00002579: JUMPI 0000257a: PUSH1 0x00 0000257c: DUP1 0000257d: REVERT 0000257e: JUMPDEST 0000257f: POP 00002580: GAS 00002581: CALL 00002582: ISZERO 00002583: DUP1 00002584: ISZERO 00002585: PUSH2 0x2592 00002588: JUMPI 00002589: RETURNDATASIZE 0000258a: PUSH1 0x00 0000258c: DUP1 0000258d: RETURNDATACOPY 0000258e: RETURNDATASIZE 0000258f: PUSH1 0x00 00002591: REVERT 00002592: JUMPDEST 00002593: POP 00002594: POP 00002595: POP 00002596: POP 00002597: DUP1 00002598: DUP1 00002599: PUSH2 0x25a1 0000259c: SWAP1 0000259d: PUSH2 0x3d44 000025a0: JUMP 000025a1: JUMPDEST 000025a2: SWAP2 000025a3: POP 000025a4: POP 000025a5: PUSH2 0x24e0 000025a8: JUMP 000025a9: JUMPDEST 000025aa: POP 000025ab: PUSH1 0x01 000025ad: PUSH1 0x00 000025af: DUP2 000025b0: SWAP1 000025b1: SSTORE 000025b2: POP 000025b3: POP 000025b4: JUMP 000025b5: JUMPDEST 000025b6: PUSH1 0x02 000025b8: PUSH1 0x00 000025ba: SWAP1 000025bb: SLOAD 000025bc: SWAP1 000025bd: PUSH2 0x0100 000025c0: EXP 000025c1: SWAP1 000025c2: DIV 000025c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025d8: AND 000025d9: DUP2 000025da: JUMP 000025db: JUMPDEST 000025dc: PUSH1 0x02 000025de: PUSH1 0x00 000025e0: SLOAD 000025e1: EQ 000025e2: ISZERO 000025e3: PUSH2 0x2621 000025e6: JUMPI 000025e7: PUSH1 0x40 000025e9: MLOAD 000025ea: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000260b: DUP2 0000260c: MSTORE 0000260d: PUSH1 0x04 0000260f: ADD 00002610: PUSH2 0x2618 00002613: SWAP1 00002614: PUSH2 0x3899 00002617: JUMP 00002618: JUMPDEST 00002619: PUSH1 0x40 0000261b: MLOAD 0000261c: DUP1 0000261d: SWAP2 0000261e: SUB 0000261f: SWAP1 00002620: REVERT 00002621: JUMPDEST 00002622: PUSH1 0x02 00002624: PUSH1 0x00 00002626: DUP2 00002627: SWAP1 00002628: SSTORE 00002629: POP 0000262a: PUSH1 0x00 0000262c: PUSH2 0x2634 0000262f: DUP3 00002630: PUSH2 0x23b2 00002633: JUMP 00002634: JUMPDEST 00002635: SWAP1 00002636: POP 00002637: PUSH1 0x00 00002639: DUP2 0000263a: GT 0000263b: ISZERO 0000263c: PUSH2 0x2690 0000263f: JUMPI 00002640: PUSH1 0x03 00002642: SLOAD 00002643: PUSH1 0x04 00002645: PUSH1 0x00 00002647: DUP5 00002648: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000265d: AND 0000265e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002673: AND 00002674: DUP2 00002675: MSTORE 00002676: PUSH1 0x20 00002678: ADD 00002679: SWAP1 0000267a: DUP2 0000267b: MSTORE 0000267c: PUSH1 0x20 0000267e: ADD 0000267f: PUSH1 0x00 00002681: KECCAK256 00002682: DUP2 00002683: SWAP1 00002684: SSTORE 00002685: POP 00002686: PUSH2 0x268f 00002689: DUP3 0000268a: DUP3 0000268b: PUSH2 0x30b7 0000268e: JUMP 0000268f: JUMPDEST 00002690: JUMPDEST 00002691: POP 00002692: PUSH1 0x01 00002694: PUSH1 0x00 00002696: DUP2 00002697: SWAP1 00002698: SSTORE 00002699: POP 0000269a: POP 0000269b: JUMP 0000269c: JUMPDEST 0000269d: PUSH1 0x00 0000269f: PUSH1 0x06 000026a1: DUP1 000026a2: SLOAD 000026a3: SWAP1 000026a4: POP 000026a5: SWAP1 000026a6: POP 000026a7: SWAP1 000026a8: JUMP 000026a9: JUMPDEST 000026aa: PUSH1 0x00 000026ac: JUMPDEST 000026ad: PUSH1 0x06 000026af: DUP1 000026b0: SLOAD 000026b1: SWAP1 000026b2: POP 000026b3: DUP2 000026b4: LT 000026b5: ISZERO 000026b6: PUSH2 0x2777 000026b9: JUMPI 000026ba: PUSH1 0x06 000026bc: DUP2 000026bd: DUP2 000026be: SLOAD 000026bf: DUP2 000026c0: LT 000026c1: PUSH2 0x26cd 000026c4: JUMPI 000026c5: PUSH2 0x26cc 000026c8: PUSH2 0x3d15 000026cb: JUMP 000026cc: JUMPDEST 000026cd: JUMPDEST 000026ce: SWAP1 000026cf: PUSH1 0x00 000026d1: MSTORE 000026d2: PUSH1 0x20 000026d4: PUSH1 0x00 000026d6: KECCAK256 000026d7: ADD 000026d8: PUSH1 0x00 000026da: SWAP1 000026db: SLOAD 000026dc: SWAP1 000026dd: PUSH2 0x0100 000026e0: EXP 000026e1: SWAP1 000026e2: DIV 000026e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026f8: AND 000026f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000270e: AND 0000270f: PUSH4 0x5d7e9467 00002714: CALLER 00002715: DUP5 00002716: PUSH1 0x40 00002718: MLOAD 00002719: DUP4 0000271a: PUSH4 0xffffffff 0000271f: AND 00002720: PUSH1 0xe0 00002722: SHL 00002723: DUP2 00002724: MSTORE 00002725: PUSH1 0x04 00002727: ADD 00002728: PUSH2 0x2732 0000272b: SWAP3 0000272c: SWAP2 0000272d: SWAP1 0000272e: PUSH2 0x361e 00002731: JUMP 00002732: JUMPDEST 00002733: PUSH1 0x00 00002735: PUSH1 0x40 00002737: MLOAD 00002738: DUP1 00002739: DUP4 0000273a: SUB 0000273b: DUP2 0000273c: PUSH1 0x00 0000273e: DUP8 0000273f: DUP1 00002740: EXTCODESIZE 00002741: ISZERO 00002742: DUP1 00002743: ISZERO 00002744: PUSH2 0x274c 00002747: JUMPI 00002748: PUSH1 0x00 0000274a: DUP1 0000274b: REVERT 0000274c: JUMPDEST 0000274d: POP 0000274e: GAS 0000274f: CALL 00002750: ISZERO 00002751: DUP1 00002752: ISZERO 00002753: PUSH2 0x2760 00002756: JUMPI 00002757: RETURNDATASIZE 00002758: PUSH1 0x00 0000275a: DUP1 0000275b: RETURNDATACOPY 0000275c: RETURNDATASIZE 0000275d: PUSH1 0x00 0000275f: REVERT 00002760: JUMPDEST 00002761: POP 00002762: POP 00002763: POP 00002764: POP 00002765: DUP1 00002766: DUP1 00002767: PUSH2 0x276f 0000276a: SWAP1 0000276b: PUSH2 0x3d44 0000276e: JUMP 0000276f: JUMPDEST 00002770: SWAP2 00002771: POP 00002772: POP 00002773: PUSH2 0x26ac 00002776: JUMP 00002777: JUMPDEST 00002778: POP 00002779: PUSH1 0x00 0000277b: PUSH1 0x05 0000277d: PUSH1 0x00 0000277f: CALLER 00002780: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002795: AND 00002796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027ab: AND 000027ac: DUP2 000027ad: MSTORE 000027ae: PUSH1 0x20 000027b0: ADD 000027b1: SWAP1 000027b2: DUP2 000027b3: MSTORE 000027b4: PUSH1 0x20 000027b6: ADD 000027b7: PUSH1 0x00 000027b9: KECCAK256 000027ba: SLOAD 000027bb: SWAP1 000027bc: POP 000027bd: PUSH1 0x00 000027bf: DUP2 000027c0: GT 000027c1: ISZERO 000027c2: PUSH2 0x27d3 000027c5: JUMPI 000027c6: PUSH2 0x27ce 000027c9: CALLER 000027ca: PUSH2 0x25db 000027cd: JUMP 000027ce: JUMPDEST 000027cf: PUSH2 0x281a 000027d2: JUMP 000027d3: JUMPDEST 000027d4: PUSH1 0x03 000027d6: SLOAD 000027d7: PUSH1 0x04 000027d9: PUSH1 0x00 000027db: CALLER 000027dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027f1: AND 000027f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002807: AND 00002808: DUP2 00002809: MSTORE 0000280a: PUSH1 0x20 0000280c: ADD 0000280d: SWAP1 0000280e: DUP2 0000280f: MSTORE 00002810: PUSH1 0x20 00002812: ADD 00002813: PUSH1 0x00 00002815: KECCAK256 00002816: DUP2 00002817: SWAP1 00002818: SSTORE 00002819: POP 0000281a: JUMPDEST 0000281b: DUP2 0000281c: DUP2 0000281d: PUSH2 0x2826 00002820: SWAP2 00002821: SWAP1 00002822: PUSH2 0x37e6 00002825: JUMP 00002826: JUMPDEST 00002827: PUSH1 0x05 00002829: PUSH1 0x00 0000282b: CALLER 0000282c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002841: AND 00002842: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002857: AND 00002858: DUP2 00002859: MSTORE 0000285a: PUSH1 0x20 0000285c: ADD 0000285d: SWAP1 0000285e: DUP2 0000285f: MSTORE 00002860: PUSH1 0x20 00002862: ADD 00002863: PUSH1 0x00 00002865: KECCAK256 00002866: DUP2 00002867: SWAP1 00002868: SSTORE 00002869: POP 0000286a: PUSH1 0x02 0000286c: PUSH1 0x00 0000286e: SWAP1 0000286f: SLOAD 00002870: SWAP1 00002871: PUSH2 0x0100 00002874: EXP 00002875: SWAP1 00002876: DIV 00002877: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000288c: AND 0000288d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028a2: AND 000028a3: PUSH4 0x23b872dd 000028a8: CALLER 000028a9: ADDRESS 000028aa: DUP6 000028ab: PUSH1 0x40 000028ad: MLOAD 000028ae: DUP5 000028af: PUSH4 0xffffffff 000028b4: AND 000028b5: PUSH1 0xe0 000028b7: SHL 000028b8: DUP2 000028b9: MSTORE 000028ba: PUSH1 0x04 000028bc: ADD 000028bd: PUSH2 0x28c8 000028c0: SWAP4 000028c1: SWAP3 000028c2: SWAP2 000028c3: SWAP1 000028c4: PUSH2 0x4126 000028c7: JUMP 000028c8: JUMPDEST 000028c9: PUSH1 0x20 000028cb: PUSH1 0x40 000028cd: MLOAD 000028ce: DUP1 000028cf: DUP4 000028d0: SUB 000028d1: DUP2 000028d2: PUSH1 0x00 000028d4: DUP8 000028d5: DUP1 000028d6: EXTCODESIZE 000028d7: ISZERO 000028d8: DUP1 000028d9: ISZERO 000028da: PUSH2 0x28e2 000028dd: JUMPI 000028de: PUSH1 0x00 000028e0: DUP1 000028e1: REVERT 000028e2: JUMPDEST 000028e3: POP 000028e4: GAS 000028e5: CALL 000028e6: ISZERO 000028e7: DUP1 000028e8: ISZERO 000028e9: PUSH2 0x28f6 000028ec: JUMPI 000028ed: RETURNDATASIZE 000028ee: PUSH1 0x00 000028f0: DUP1 000028f1: RETURNDATACOPY 000028f2: RETURNDATASIZE 000028f3: PUSH1 0x00 000028f5: REVERT 000028f6: JUMPDEST 000028f7: POP 000028f8: POP 000028f9: POP 000028fa: POP 000028fb: PUSH1 0x40 000028fd: MLOAD 000028fe: RETURNDATASIZE 000028ff: PUSH1 0x1f 00002901: NOT 00002902: PUSH1 0x1f 00002904: DUP3 00002905: ADD 00002906: AND 00002907: DUP3 00002908: ADD 00002909: DUP1 0000290a: PUSH1 0x40 0000290c: MSTORE 0000290d: POP 0000290e: DUP2 0000290f: ADD 00002910: SWAP1 00002911: PUSH2 0x291a 00002914: SWAP2 00002915: SWAP1 00002916: PUSH2 0x3dc5 00002919: JUMP 0000291a: JUMPDEST 0000291b: PUSH2 0x2959 0000291e: JUMPI 0000291f: PUSH1 0x40 00002921: MLOAD 00002922: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002943: DUP2 00002944: MSTORE 00002945: PUSH1 0x04 00002947: ADD 00002948: PUSH2 0x2950 0000294b: SWAP1 0000294c: PUSH2 0x42b0 0000294f: JUMP 00002950: JUMPDEST 00002951: PUSH1 0x40 00002953: MLOAD 00002954: DUP1 00002955: SWAP2 00002956: SUB 00002957: SWAP1 00002958: REVERT 00002959: JUMPDEST 0000295a: POP 0000295b: POP 0000295c: JUMP 0000295d: JUMPDEST 0000295e: PUSH1 0x02 00002960: PUSH1 0x00 00002962: SLOAD 00002963: EQ 00002964: ISZERO 00002965: PUSH2 0x29a3 00002968: JUMPI 00002969: PUSH1 0x40 0000296b: MLOAD 0000296c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000298d: DUP2 0000298e: MSTORE 0000298f: PUSH1 0x04 00002991: ADD 00002992: PUSH2 0x299a 00002995: SWAP1 00002996: PUSH2 0x3899 00002999: JUMP 0000299a: JUMPDEST 0000299b: PUSH1 0x40 0000299d: MLOAD 0000299e: DUP1 0000299f: SWAP2 000029a0: SUB 000029a1: SWAP1 000029a2: REVERT 000029a3: JUMPDEST 000029a4: PUSH1 0x02 000029a6: PUSH1 0x00 000029a8: DUP2 000029a9: SWAP1 000029aa: SSTORE 000029ab: POP 000029ac: PUSH1 0x07 000029ae: PUSH1 0x00 000029b0: DUP3 000029b1: DUP2 000029b2: MSTORE 000029b3: PUSH1 0x20 000029b5: ADD 000029b6: SWAP1 000029b7: DUP2 000029b8: MSTORE 000029b9: PUSH1 0x20 000029bb: ADD 000029bc: PUSH1 0x00 000029be: KECCAK256 000029bf: PUSH1 0x00 000029c1: ADD 000029c2: PUSH1 0x00 000029c4: SWAP1 000029c5: SLOAD 000029c6: SWAP1 000029c7: PUSH2 0x0100 000029ca: EXP 000029cb: SWAP1 000029cc: DIV 000029cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029e2: AND 000029e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029f8: AND 000029f9: CALLER 000029fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a0f: AND 00002a10: EQ 00002a11: PUSH2 0x2a4f 00002a14: JUMPI 00002a15: PUSH1 0x40 00002a17: MLOAD 00002a18: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002a39: DUP2 00002a3a: MSTORE 00002a3b: PUSH1 0x04 00002a3d: ADD 00002a3e: PUSH2 0x2a46 00002a41: SWAP1 00002a42: PUSH2 0x4342 00002a45: JUMP 00002a46: JUMPDEST 00002a47: PUSH1 0x40 00002a49: MLOAD 00002a4a: DUP1 00002a4b: SWAP2 00002a4c: SUB 00002a4d: SWAP1 00002a4e: REVERT 00002a4f: JUMPDEST 00002a50: PUSH2 0x2a58 00002a53: DUP2 00002a54: PUSH2 0x3244 00002a57: JUMP 00002a58: JUMPDEST 00002a59: PUSH1 0x01 00002a5b: PUSH1 0x00 00002a5d: DUP2 00002a5e: SWAP1 00002a5f: SSTORE 00002a60: POP 00002a61: POP 00002a62: JUMP 00002a63: JUMPDEST 00002a64: PUSH1 0x00 00002a66: PUSH1 0x05 00002a68: PUSH1 0x00 00002a6a: DUP4 00002a6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a80: AND 00002a81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a96: AND 00002a97: DUP2 00002a98: MSTORE 00002a99: PUSH1 0x20 00002a9b: ADD 00002a9c: SWAP1 00002a9d: DUP2 00002a9e: MSTORE 00002a9f: PUSH1 0x20 00002aa1: ADD 00002aa2: PUSH1 0x00 00002aa4: KECCAK256 00002aa5: SLOAD 00002aa6: SWAP1 00002aa7: POP 00002aa8: SWAP2 00002aa9: SWAP1 00002aaa: POP 00002aab: JUMP 00002aac: JUMPDEST 00002aad: DUP2 00002aae: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 00002acf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ae4: AND 00002ae5: PUSH4 0x6352211e 00002aea: DUP3 00002aeb: PUSH1 0x40 00002aed: MLOAD 00002aee: DUP3 00002aef: PUSH4 0xffffffff 00002af4: AND 00002af5: PUSH1 0xe0 00002af7: SHL 00002af8: DUP2 00002af9: MSTORE 00002afa: PUSH1 0x04 00002afc: ADD 00002afd: PUSH2 0x2b06 00002b00: SWAP2 00002b01: SWAP1 00002b02: PUSH2 0x3484 00002b05: JUMP 00002b06: JUMPDEST 00002b07: PUSH1 0x20 00002b09: PUSH1 0x40 00002b0b: MLOAD 00002b0c: DUP1 00002b0d: DUP4 00002b0e: SUB 00002b0f: DUP2 00002b10: DUP7 00002b11: DUP1 00002b12: EXTCODESIZE 00002b13: ISZERO 00002b14: DUP1 00002b15: ISZERO 00002b16: PUSH2 0x2b1e 00002b19: JUMPI 00002b1a: PUSH1 0x00 00002b1c: DUP1 00002b1d: REVERT 00002b1e: JUMPDEST 00002b1f: POP 00002b20: GAS 00002b21: STATICCALL 00002b22: ISZERO 00002b23: DUP1 00002b24: ISZERO 00002b25: PUSH2 0x2b32 00002b28: JUMPI 00002b29: RETURNDATASIZE 00002b2a: PUSH1 0x00 00002b2c: DUP1 00002b2d: RETURNDATACOPY 00002b2e: RETURNDATASIZE 00002b2f: PUSH1 0x00 00002b31: REVERT 00002b32: JUMPDEST 00002b33: POP 00002b34: POP 00002b35: POP 00002b36: POP 00002b37: PUSH1 0x40 00002b39: MLOAD 00002b3a: RETURNDATASIZE 00002b3b: PUSH1 0x1f 00002b3d: NOT 00002b3e: PUSH1 0x1f 00002b40: DUP3 00002b41: ADD 00002b42: AND 00002b43: DUP3 00002b44: ADD 00002b45: DUP1 00002b46: PUSH1 0x40 00002b48: MSTORE 00002b49: POP 00002b4a: DUP2 00002b4b: ADD 00002b4c: SWAP1 00002b4d: PUSH2 0x2b56 00002b50: SWAP2 00002b51: SWAP1 00002b52: PUSH2 0x38ce 00002b55: JUMP 00002b56: JUMPDEST 00002b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b6c: AND 00002b6d: CALLER 00002b6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b83: AND 00002b84: EQ 00002b85: PUSH2 0x2bc3 00002b88: JUMPI 00002b89: PUSH1 0x40 00002b8b: MLOAD 00002b8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002bad: DUP2 00002bae: MSTORE 00002baf: PUSH1 0x04 00002bb1: ADD 00002bb2: PUSH2 0x2bba 00002bb5: SWAP1 00002bb6: PUSH2 0x3c63 00002bb9: JUMP 00002bba: JUMPDEST 00002bbb: PUSH1 0x40 00002bbd: MLOAD 00002bbe: DUP1 00002bbf: SWAP2 00002bc0: SUB 00002bc1: SWAP1 00002bc2: REVERT 00002bc3: JUMPDEST 00002bc4: PUSH1 0x02 00002bc6: PUSH1 0x00 00002bc8: SLOAD 00002bc9: EQ 00002bca: ISZERO 00002bcb: PUSH2 0x2c09 00002bce: JUMPI 00002bcf: PUSH1 0x40 00002bd1: MLOAD 00002bd2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002bf3: DUP2 00002bf4: MSTORE 00002bf5: PUSH1 0x04 00002bf7: ADD 00002bf8: PUSH2 0x2c00 00002bfb: SWAP1 00002bfc: PUSH2 0x3899 00002bff: JUMP 00002c00: JUMPDEST 00002c01: PUSH1 0x40 00002c03: MLOAD 00002c04: DUP1 00002c05: SWAP2 00002c06: SUB 00002c07: SWAP1 00002c08: REVERT 00002c09: JUMPDEST 00002c0a: PUSH1 0x02 00002c0c: PUSH1 0x00 00002c0e: DUP2 00002c0f: SWAP1 00002c10: SSTORE 00002c11: POP 00002c12: PUSH1 0x00 00002c14: PUSH1 0x08 00002c16: PUSH1 0x00 00002c18: DUP6 00002c19: DUP2 00002c1a: MSTORE 00002c1b: PUSH1 0x20 00002c1d: ADD 00002c1e: SWAP1 00002c1f: DUP2 00002c20: MSTORE 00002c21: PUSH1 0x20 00002c23: ADD 00002c24: PUSH1 0x00 00002c26: KECCAK256 00002c27: PUSH1 0x40 00002c29: MLOAD 00002c2a: DUP1 00002c2b: PUSH1 0x40 00002c2d: ADD 00002c2e: PUSH1 0x40 00002c30: MSTORE 00002c31: SWAP1 00002c32: DUP2 00002c33: PUSH1 0x00 00002c35: DUP3 00002c36: ADD 00002c37: PUSH1 0x00 00002c39: SWAP1 00002c3a: SLOAD 00002c3b: SWAP1 00002c3c: PUSH2 0x0100 00002c3f: EXP 00002c40: SWAP1 00002c41: DIV 00002c42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c57: AND 00002c58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c6d: AND 00002c6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c83: AND 00002c84: DUP2 00002c85: MSTORE 00002c86: PUSH1 0x20 00002c88: ADD 00002c89: PUSH1 0x01 00002c8b: DUP3 00002c8c: ADD 00002c8d: SLOAD 00002c8e: DUP2 00002c8f: MSTORE 00002c90: POP 00002c91: POP 00002c92: SWAP1 00002c93: POP 00002c94: PUSH1 0x00 00002c96: DUP2 00002c97: PUSH1 0x20 00002c99: ADD 00002c9a: MLOAD 00002c9b: GT 00002c9c: PUSH2 0x2cda 00002c9f: JUMPI 00002ca0: PUSH1 0x40 00002ca2: MLOAD 00002ca3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002cc4: DUP2 00002cc5: MSTORE 00002cc6: PUSH1 0x04 00002cc8: ADD 00002cc9: PUSH2 0x2cd1 00002ccc: SWAP1 00002ccd: PUSH2 0x43ae 00002cd0: JUMP 00002cd1: JUMPDEST 00002cd2: PUSH1 0x40 00002cd4: MLOAD 00002cd5: DUP1 00002cd6: SWAP2 00002cd7: SUB 00002cd8: SWAP1 00002cd9: REVERT 00002cda: JUMPDEST 00002cdb: DUP3 00002cdc: DUP2 00002cdd: PUSH1 0x20 00002cdf: ADD 00002ce0: MLOAD 00002ce1: LT 00002ce2: ISZERO 00002ce3: PUSH2 0x2d21 00002ce6: JUMPI 00002ce7: PUSH1 0x40 00002ce9: MLOAD 00002cea: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002d0b: DUP2 00002d0c: MSTORE 00002d0d: PUSH1 0x04 00002d0f: ADD 00002d10: PUSH2 0x2d18 00002d13: SWAP1 00002d14: PUSH2 0x4440 00002d17: JUMP 00002d18: JUMPDEST 00002d19: PUSH1 0x40 00002d1b: MLOAD 00002d1c: DUP1 00002d1d: SWAP2 00002d1e: SUB 00002d1f: SWAP1 00002d20: REVERT 00002d21: JUMPDEST 00002d22: PUSH1 0x07 00002d24: PUSH1 0x00 00002d26: DUP6 00002d27: DUP2 00002d28: MSTORE 00002d29: PUSH1 0x20 00002d2b: ADD 00002d2c: SWAP1 00002d2d: DUP2 00002d2e: MSTORE 00002d2f: PUSH1 0x20 00002d31: ADD 00002d32: PUSH1 0x00 00002d34: KECCAK256 00002d35: PUSH1 0x00 00002d37: DUP1 00002d38: DUP3 00002d39: ADD 00002d3a: PUSH1 0x00 00002d3c: PUSH2 0x0100 00002d3f: EXP 00002d40: DUP2 00002d41: SLOAD 00002d42: SWAP1 00002d43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d58: MUL 00002d59: NOT 00002d5a: AND 00002d5b: SWAP1 00002d5c: SSTORE 00002d5d: PUSH1 0x01 00002d5f: DUP3 00002d60: ADD 00002d61: PUSH1 0x00 00002d63: SWAP1 00002d64: SSTORE 00002d65: PUSH1 0x02 00002d67: DUP3 00002d68: ADD 00002d69: PUSH1 0x00 00002d6b: PUSH2 0x0100 00002d6e: EXP 00002d6f: DUP2 00002d70: SLOAD 00002d71: SWAP1 00002d72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d87: MUL 00002d88: NOT 00002d89: AND 00002d8a: SWAP1 00002d8b: SSTORE 00002d8c: POP 00002d8d: POP 00002d8e: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 00002daf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002dc4: AND 00002dc5: PUSH4 0x42842e0e 00002dca: CALLER 00002dcb: DUP4 00002dcc: PUSH1 0x00 00002dce: ADD 00002dcf: MLOAD 00002dd0: DUP8 00002dd1: PUSH1 0x40 00002dd3: MLOAD 00002dd4: DUP5 00002dd5: PUSH4 0xffffffff 00002dda: AND 00002ddb: PUSH1 0xe0 00002ddd: SHL 00002dde: DUP2 00002ddf: MSTORE 00002de0: PUSH1 0x04 00002de2: ADD 00002de3: PUSH2 0x2dee 00002de6: SWAP4 00002de7: SWAP3 00002de8: SWAP2 00002de9: SWAP1 00002dea: PUSH2 0x4126 00002ded: JUMP 00002dee: JUMPDEST 00002def: PUSH1 0x00 00002df1: PUSH1 0x40 00002df3: MLOAD 00002df4: DUP1 00002df5: DUP4 00002df6: SUB 00002df7: DUP2 00002df8: PUSH1 0x00 00002dfa: DUP8 00002dfb: DUP1 00002dfc: EXTCODESIZE 00002dfd: ISZERO 00002dfe: DUP1 00002dff: ISZERO 00002e00: PUSH2 0x2e08 00002e03: JUMPI 00002e04: PUSH1 0x00 00002e06: DUP1 00002e07: REVERT 00002e08: JUMPDEST 00002e09: POP 00002e0a: GAS 00002e0b: CALL 00002e0c: ISZERO 00002e0d: DUP1 00002e0e: ISZERO 00002e0f: PUSH2 0x2e1c 00002e12: JUMPI 00002e13: RETURNDATASIZE 00002e14: PUSH1 0x00 00002e16: DUP1 00002e17: RETURNDATACOPY 00002e18: RETURNDATASIZE 00002e19: PUSH1 0x00 00002e1b: REVERT 00002e1c: JUMPDEST 00002e1d: POP 00002e1e: POP 00002e1f: POP 00002e20: POP 00002e21: PUSH1 0x00 00002e23: DUP2 00002e24: PUSH1 0x20 00002e26: ADD 00002e27: MLOAD 00002e28: SWAP1 00002e29: POP 00002e2a: PUSH1 0x08 00002e2c: PUSH1 0x00 00002e2e: DUP7 00002e2f: DUP2 00002e30: MSTORE 00002e31: PUSH1 0x20 00002e33: ADD 00002e34: SWAP1 00002e35: DUP2 00002e36: MSTORE 00002e37: PUSH1 0x20 00002e39: ADD 00002e3a: PUSH1 0x00 00002e3c: KECCAK256 00002e3d: PUSH1 0x00 00002e3f: DUP1 00002e40: DUP3 00002e41: ADD 00002e42: PUSH1 0x00 00002e44: PUSH2 0x0100 00002e47: EXP 00002e48: DUP2 00002e49: SLOAD 00002e4a: SWAP1 00002e4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e60: MUL 00002e61: NOT 00002e62: AND 00002e63: SWAP1 00002e64: SSTORE 00002e65: PUSH1 0x01 00002e67: DUP3 00002e68: ADD 00002e69: PUSH1 0x00 00002e6b: SWAP1 00002e6c: SSTORE 00002e6d: POP 00002e6e: POP 00002e6f: PUSH1 0x00 00002e71: PUSH2 0x2710 00002e74: PUSH2 0x02ee 00002e77: DUP4 00002e78: PUSH2 0x2e81 00002e7b: SWAP2 00002e7c: SWAP1 00002e7d: PUSH2 0x372c 00002e80: JUMP 00002e81: JUMPDEST 00002e82: PUSH2 0x2e8b 00002e85: SWAP2 00002e86: SWAP1 00002e87: PUSH2 0x37b5 00002e8a: JUMP 00002e8b: JUMPDEST 00002e8c: SWAP1 00002e8d: POP 00002e8e: PUSH1 0x00 00002e90: DUP2 00002e91: DUP4 00002e92: PUSH2 0x2e9b 00002e95: SWAP2 00002e96: SWAP1 00002e97: PUSH2 0x3e84 00002e9a: JUMP 00002e9b: JUMPDEST 00002e9c: SWAP1 00002e9d: POP 00002e9e: DUP1 00002e9f: PUSH1 0x09 00002ea1: PUSH1 0x00 00002ea3: CALLER 00002ea4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002eb9: AND 00002eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ecf: AND 00002ed0: DUP2 00002ed1: MSTORE 00002ed2: PUSH1 0x20 00002ed4: ADD 00002ed5: SWAP1 00002ed6: DUP2 00002ed7: MSTORE 00002ed8: PUSH1 0x20 00002eda: ADD 00002edb: PUSH1 0x00 00002edd: KECCAK256 00002ede: PUSH1 0x00 00002ee0: DUP3 00002ee1: DUP3 00002ee2: SLOAD 00002ee3: PUSH2 0x2eec 00002ee6: SWAP2 00002ee7: SWAP1 00002ee8: PUSH2 0x37e6 00002eeb: JUMP 00002eec: JUMPDEST 00002eed: SWAP3 00002eee: POP 00002eef: POP 00002ef0: DUP2 00002ef1: SWAP1 00002ef2: SSTORE 00002ef3: POP 00002ef4: PUSH2 0x2efc 00002ef7: DUP3 00002ef8: PUSH2 0x0737 00002efb: JUMP 00002efc: JUMPDEST 00002efd: DUP4 00002efe: PUSH1 0x00 00002f00: ADD 00002f01: MLOAD 00002f02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f17: AND 00002f18: CALLER 00002f19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f2e: AND 00002f2f: DUP9 00002f30: PUSH32 0x10da7de539762d5a4215e91a34acd5eba17edf57b64b53ed63b52bfb248b6551 00002f51: DUP7 00002f52: PUSH1 0x03 00002f54: SLOAD 00002f55: PUSH1 0x40 00002f57: MLOAD 00002f58: PUSH2 0x2f62 00002f5b: SWAP3 00002f5c: SWAP2 00002f5d: SWAP1 00002f5e: PUSH2 0x415d 00002f61: JUMP 00002f62: JUMPDEST 00002f63: PUSH1 0x40 00002f65: MLOAD 00002f66: DUP1 00002f67: SWAP2 00002f68: SUB 00002f69: SWAP1 00002f6a: LOG4 00002f6b: POP 00002f6c: POP 00002f6d: POP 00002f6e: POP 00002f6f: PUSH1 0x01 00002f71: PUSH1 0x00 00002f73: DUP2 00002f74: SWAP1 00002f75: SSTORE 00002f76: POP 00002f77: POP 00002f78: POP 00002f79: POP 00002f7a: JUMP 00002f7b: JUMPDEST 00002f7c: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094 00002f9d: DUP2 00002f9e: JUMP 00002f9f: JUMPDEST 00002fa0: PUSH2 0x2fa7 00002fa3: PUSH2 0x30af 00002fa6: JUMP 00002fa7: JUMPDEST 00002fa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fbd: AND 00002fbe: PUSH2 0x2fc5 00002fc1: PUSH2 0x2465 00002fc4: JUMP 00002fc5: JUMPDEST 00002fc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fdb: AND 00002fdc: EQ 00002fdd: PUSH2 0x301b 00002fe0: JUMPI 00002fe1: PUSH1 0x40 00002fe3: MLOAD 00002fe4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003005: DUP2 00003006: MSTORE 00003007: PUSH1 0x04 00003009: ADD 0000300a: PUSH2 0x3012 0000300d: SWAP1 0000300e: PUSH2 0x3b8f 00003011: JUMP 00003012: JUMPDEST 00003013: PUSH1 0x40 00003015: MLOAD 00003016: DUP1 00003017: SWAP2 00003018: SUB 00003019: SWAP1 0000301a: REVERT 0000301b: JUMPDEST 0000301c: PUSH1 0x00 0000301e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003033: AND 00003034: DUP2 00003035: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000304a: AND 0000304b: EQ 0000304c: ISZERO 0000304d: PUSH2 0x308b 00003050: JUMPI 00003051: PUSH1 0x40 00003053: MLOAD 00003054: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003075: DUP2 00003076: MSTORE 00003077: PUSH1 0x04 00003079: ADD 0000307a: PUSH2 0x3082 0000307d: SWAP1 0000307e: PUSH2 0x44d2 00003081: JUMP 00003082: JUMPDEST 00003083: PUSH1 0x40 00003085: MLOAD 00003086: DUP1 00003087: SWAP2 00003088: SUB 00003089: SWAP1 0000308a: REVERT 0000308b: JUMPDEST 0000308c: PUSH2 0x3094 0000308f: DUP2 00003090: PUSH2 0x32e0 00003093: JUMP 00003094: JUMPDEST 00003095: POP 00003096: JUMP 00003097: JUMPDEST 00003098: PUSH1 0x09 0000309a: PUSH1 0x20 0000309c: MSTORE 0000309d: DUP1 0000309e: PUSH1 0x00 000030a0: MSTORE 000030a1: PUSH1 0x40 000030a3: PUSH1 0x00 000030a5: KECCAK256 000030a6: PUSH1 0x00 000030a8: SWAP2 000030a9: POP 000030aa: SWAP1 000030ab: POP 000030ac: SLOAD 000030ad: DUP2 000030ae: JUMP 000030af: JUMPDEST 000030b0: PUSH1 0x00 000030b2: CALLER 000030b3: SWAP1 000030b4: POP 000030b5: SWAP1 000030b6: JUMP 000030b7: JUMPDEST 000030b8: DUP1 000030b9: SELFBALANCE 000030ba: LT 000030bb: ISZERO 000030bc: PUSH2 0x30fa 000030bf: JUMPI 000030c0: PUSH1 0x40 000030c2: MLOAD 000030c3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000030e4: DUP2 000030e5: MSTORE 000030e6: PUSH1 0x04 000030e8: ADD 000030e9: PUSH2 0x30f1 000030ec: SWAP1 000030ed: PUSH2 0x453e 000030f0: JUMP 000030f1: JUMPDEST 000030f2: PUSH1 0x40 000030f4: MLOAD 000030f5: DUP1 000030f6: SWAP2 000030f7: SUB 000030f8: SWAP1 000030f9: REVERT 000030fa: JUMPDEST 000030fb: PUSH1 0x00 000030fd: DUP3 000030fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003113: AND 00003114: DUP3 00003115: PUSH1 0x40 00003117: MLOAD 00003118: PUSH2 0x3120 0000311b: SWAP1 0000311c: PUSH2 0x458f 0000311f: JUMP 00003120: JUMPDEST 00003121: PUSH1 0x00 00003123: PUSH1 0x40 00003125: MLOAD 00003126: DUP1 00003127: DUP4 00003128: SUB 00003129: DUP2 0000312a: DUP6 0000312b: DUP8 0000312c: GAS 0000312d: CALL 0000312e: SWAP3 0000312f: POP 00003130: POP 00003131: POP 00003132: RETURNDATASIZE 00003133: DUP1 00003134: PUSH1 0x00 00003136: DUP2 00003137: EQ 00003138: PUSH2 0x315d 0000313b: JUMPI 0000313c: PUSH1 0x40 0000313e: MLOAD 0000313f: SWAP2 00003140: POP 00003141: PUSH1 0x1f 00003143: NOT 00003144: PUSH1 0x3f 00003146: RETURNDATASIZE 00003147: ADD 00003148: AND 00003149: DUP3 0000314a: ADD 0000314b: PUSH1 0x40 0000314d: MSTORE 0000314e: RETURNDATASIZE 0000314f: DUP3 00003150: MSTORE 00003151: RETURNDATASIZE 00003152: PUSH1 0x00 00003154: PUSH1 0x20 00003156: DUP5 00003157: ADD 00003158: RETURNDATACOPY 00003159: PUSH2 0x3162 0000315c: JUMP 0000315d: JUMPDEST 0000315e: PUSH1 0x60 00003160: SWAP2 00003161: POP 00003162: JUMPDEST 00003163: POP 00003164: POP 00003165: SWAP1 00003166: POP 00003167: DUP1 00003168: PUSH2 0x31a6 0000316b: JUMPI 0000316c: PUSH1 0x40 0000316e: MLOAD 0000316f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003190: DUP2 00003191: MSTORE 00003192: PUSH1 0x04 00003194: ADD 00003195: PUSH2 0x319d 00003198: SWAP1 00003199: PUSH2 0x4616 0000319c: JUMP 0000319d: JUMPDEST 0000319e: PUSH1 0x40 000031a0: MLOAD 000031a1: DUP1 000031a2: SWAP2 000031a3: SUB 000031a4: SWAP1 000031a5: REVERT 000031a6: JUMPDEST 000031a7: POP 000031a8: POP 000031a9: POP 000031aa: JUMP 000031ab: JUMPDEST 000031ac: PUSH2 0x3241 000031af: DUP2 000031b0: PUSH1 0x40 000031b2: MLOAD 000031b3: PUSH1 0x24 000031b5: ADD 000031b6: PUSH2 0x31bf 000031b9: SWAP2 000031ba: SWAP1 000031bb: PUSH2 0x46be 000031be: JUMP 000031bf: JUMPDEST 000031c0: PUSH1 0x40 000031c2: MLOAD 000031c3: PUSH1 0x20 000031c5: DUP2 000031c6: DUP4 000031c7: SUB 000031c8: SUB 000031c9: DUP2 000031ca: MSTORE 000031cb: SWAP1 000031cc: PUSH1 0x40 000031ce: MSTORE 000031cf: PUSH32 0x41304fac00000000000000000000000000000000000000000000000000000000 000031f0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000320d: NOT 0000320e: AND 0000320f: PUSH1 0x20 00003211: DUP3 00003212: ADD 00003213: DUP1 00003214: MLOAD 00003215: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003232: DUP4 00003233: DUP2 00003234: DUP4 00003235: AND 00003236: OR 00003237: DUP4 00003238: MSTORE 00003239: POP 0000323a: POP 0000323b: POP 0000323c: POP 0000323d: PUSH2 0x33a6 00003240: JUMP 00003241: JUMPDEST 00003242: POP 00003243: JUMP 00003244: JUMPDEST 00003245: PUSH1 0x07 00003247: PUSH1 0x00 00003249: DUP3 0000324a: DUP2 0000324b: MSTORE 0000324c: PUSH1 0x20 0000324e: ADD 0000324f: SWAP1 00003250: DUP2 00003251: MSTORE 00003252: PUSH1 0x20 00003254: ADD 00003255: PUSH1 0x00 00003257: KECCAK256 00003258: PUSH1 0x00 0000325a: DUP1 0000325b: DUP3 0000325c: ADD 0000325d: PUSH1 0x00 0000325f: PUSH2 0x0100 00003262: EXP 00003263: DUP2 00003264: SLOAD 00003265: SWAP1 00003266: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000327b: MUL 0000327c: NOT 0000327d: AND 0000327e: SWAP1 0000327f: SSTORE 00003280: PUSH1 0x01 00003282: DUP3 00003283: ADD 00003284: PUSH1 0x00 00003286: SWAP1 00003287: SSTORE 00003288: PUSH1 0x02 0000328a: DUP3 0000328b: ADD 0000328c: PUSH1 0x00 0000328e: PUSH2 0x0100 00003291: EXP 00003292: DUP2 00003293: SLOAD 00003294: SWAP1 00003295: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000032aa: MUL 000032ab: NOT 000032ac: AND 000032ad: SWAP1 000032ae: SSTORE 000032af: POP 000032b0: POP 000032b1: DUP1 000032b2: PUSH32 0x8cf331587d51f02fe3cd55b9d645a7a01c2b76d0477e35348e21b1344b9d79bc 000032d3: PUSH1 0x40 000032d5: MLOAD 000032d6: PUSH1 0x40 000032d8: MLOAD 000032d9: DUP1 000032da: SWAP2 000032db: SUB 000032dc: SWAP1 000032dd: LOG2 000032de: POP 000032df: JUMP 000032e0: JUMPDEST 000032e1: PUSH1 0x00 000032e3: PUSH1 0x01 000032e5: PUSH1 0x00 000032e7: SWAP1 000032e8: SLOAD 000032e9: SWAP1 000032ea: PUSH2 0x0100 000032ed: EXP 000032ee: SWAP1 000032ef: DIV 000032f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003305: AND 00003306: SWAP1 00003307: POP 00003308: DUP2 00003309: PUSH1 0x01 0000330b: PUSH1 0x00 0000330d: PUSH2 0x0100 00003310: EXP 00003311: DUP2 00003312: SLOAD 00003313: DUP2 00003314: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003329: MUL 0000332a: NOT 0000332b: AND 0000332c: SWAP1 0000332d: DUP4 0000332e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003343: AND 00003344: MUL 00003345: OR 00003346: SWAP1 00003347: SSTORE 00003348: POP 00003349: DUP2 0000334a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000335f: AND 00003360: DUP2 00003361: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003376: AND 00003377: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00003398: PUSH1 0x40 0000339a: MLOAD 0000339b: PUSH1 0x40 0000339d: MLOAD 0000339e: DUP1 0000339f: SWAP2 000033a0: SUB 000033a1: SWAP1 000033a2: LOG3 000033a3: POP 000033a4: POP 000033a5: JUMP 000033a6: JUMPDEST 000033a7: PUSH1 0x00 000033a9: DUP2 000033aa: MLOAD 000033ab: SWAP1 000033ac: POP 000033ad: PUSH1 0x00 000033af: PUSH11 0x636f6e736f6c652e6c6f67 000033bb: SWAP1 000033bc: POP 000033bd: PUSH1 0x20 000033bf: DUP4 000033c0: ADD 000033c1: PUSH1 0x00 000033c3: DUP1 000033c4: DUP5 000033c5: DUP4 000033c6: DUP6 000033c7: GAS 000033c8: STATICCALL 000033c9: POP 000033ca: POP 000033cb: POP 000033cc: POP 000033cd: POP 000033ce: JUMP 000033cf: JUMPDEST 000033d0: POP 000033d1: DUP1 000033d2: SLOAD 000033d3: PUSH1 0x00 000033d5: DUP3 000033d6: SSTORE 000033d7: SWAP1 000033d8: PUSH1 0x00 000033da: MSTORE 000033db: PUSH1 0x20 000033dd: PUSH1 0x00 000033df: KECCAK256 000033e0: SWAP1 000033e1: DUP2 000033e2: ADD 000033e3: SWAP1 000033e4: PUSH2 0x33ed 000033e7: SWAP2 000033e8: SWAP1 000033e9: PUSH2 0x33f0 000033ec: JUMP 000033ed: JUMPDEST 000033ee: POP 000033ef: JUMP 000033f0: JUMPDEST 000033f1: JUMPDEST 000033f2: DUP1 000033f3: DUP3 000033f4: GT 000033f5: ISZERO 000033f6: PUSH2 0x3409 000033f9: JUMPI 000033fa: PUSH1 0x00 000033fc: DUP2 000033fd: PUSH1 0x00 000033ff: SWAP1 00003400: SSTORE 00003401: POP 00003402: PUSH1 0x01 00003404: ADD 00003405: PUSH2 0x33f1 00003408: JUMP 00003409: JUMPDEST 0000340a: POP 0000340b: SWAP1 0000340c: JUMP 0000340d: JUMPDEST 0000340e: PUSH1 0x00 00003410: DUP1 00003411: REVERT 00003412: JUMPDEST 00003413: PUSH1 0x00 00003415: DUP2 00003416: SWAP1 00003417: POP 00003418: SWAP2 00003419: SWAP1 0000341a: POP 0000341b: JUMP 0000341c: JUMPDEST 0000341d: PUSH2 0x3425 00003420: DUP2 00003421: PUSH2 0x3412 00003424: JUMP 00003425: JUMPDEST 00003426: DUP2 00003427: EQ 00003428: PUSH2 0x3430 0000342b: JUMPI 0000342c: PUSH1 0x00 0000342e: DUP1 0000342f: REVERT 00003430: JUMPDEST 00003431: POP 00003432: JUMP 00003433: JUMPDEST 00003434: PUSH1 0x00 00003436: DUP2 00003437: CALLDATALOAD 00003438: SWAP1 00003439: POP 0000343a: PUSH2 0x3442 0000343d: DUP2 0000343e: PUSH2 0x341c 00003441: JUMP 00003442: JUMPDEST 00003443: SWAP3 00003444: SWAP2 00003445: POP 00003446: POP 00003447: JUMP 00003448: JUMPDEST 00003449: PUSH1 0x00 0000344b: PUSH1 0x20 0000344d: DUP3 0000344e: DUP5 0000344f: SUB 00003450: SLT 00003451: ISZERO 00003452: PUSH2 0x345e 00003455: JUMPI 00003456: PUSH2 0x345d 00003459: PUSH2 0x340d 0000345c: JUMP 0000345d: JUMPDEST 0000345e: JUMPDEST 0000345f: PUSH1 0x00 00003461: PUSH2 0x346c 00003464: DUP5 00003465: DUP3 00003466: DUP6 00003467: ADD 00003468: PUSH2 0x3433 0000346b: JUMP 0000346c: JUMPDEST 0000346d: SWAP2 0000346e: POP 0000346f: POP 00003470: SWAP3 00003471: SWAP2 00003472: POP 00003473: POP 00003474: JUMP 00003475: JUMPDEST 00003476: PUSH2 0x347e 00003479: DUP2 0000347a: PUSH2 0x3412 0000347d: JUMP 0000347e: JUMPDEST 0000347f: DUP3 00003480: MSTORE 00003481: POP 00003482: POP 00003483: JUMP 00003484: JUMPDEST 00003485: PUSH1 0x00 00003487: PUSH1 0x20 00003489: DUP3 0000348a: ADD 0000348b: SWAP1 0000348c: POP 0000348d: PUSH2 0x3499 00003490: PUSH1 0x00 00003492: DUP4 00003493: ADD 00003494: DUP5 00003495: PUSH2 0x3475 00003498: JUMP 00003499: JUMPDEST 0000349a: SWAP3 0000349b: SWAP2 0000349c: POP 0000349d: POP 0000349e: JUMP 0000349f: JUMPDEST 000034a0: PUSH1 0x00 000034a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034b7: DUP3 000034b8: AND 000034b9: SWAP1 000034ba: POP 000034bb: SWAP2 000034bc: SWAP1 000034bd: POP 000034be: JUMP 000034bf: JUMPDEST 000034c0: PUSH1 0x00 000034c2: PUSH2 0x34ca 000034c5: DUP3 000034c6: PUSH2 0x349f 000034c9: JUMP 000034ca: JUMPDEST 000034cb: SWAP1 000034cc: POP 000034cd: SWAP2 000034ce: SWAP1 000034cf: POP 000034d0: JUMP 000034d1: JUMPDEST 000034d2: PUSH2 0x34da 000034d5: DUP2 000034d6: PUSH2 0x34bf 000034d9: JUMP 000034da: JUMPDEST 000034db: DUP3 000034dc: MSTORE 000034dd: POP 000034de: POP 000034df: JUMP 000034e0: JUMPDEST 000034e1: PUSH1 0x00 000034e3: PUSH1 0x60 000034e5: DUP3 000034e6: ADD 000034e7: SWAP1 000034e8: POP 000034e9: PUSH2 0x34f5 000034ec: PUSH1 0x00 000034ee: DUP4 000034ef: ADD 000034f0: DUP7 000034f1: PUSH2 0x34d1 000034f4: JUMP 000034f5: JUMPDEST 000034f6: PUSH2 0x3502 000034f9: PUSH1 0x20 000034fb: DUP4 000034fc: ADD 000034fd: DUP6 000034fe: PUSH2 0x3475 00003501: JUMP 00003502: JUMPDEST 00003503: PUSH2 0x350f 00003506: PUSH1 0x40 00003508: DUP4 00003509: ADD 0000350a: DUP5 0000350b: PUSH2 0x34d1 0000350e: JUMP 0000350f: JUMPDEST 00003510: SWAP5 00003511: SWAP4 00003512: POP 00003513: POP 00003514: POP 00003515: POP 00003516: JUMP 00003517: JUMPDEST 00003518: PUSH1 0x00 0000351a: DUP1 0000351b: PUSH1 0x40 0000351d: DUP4 0000351e: DUP6 0000351f: SUB 00003520: SLT 00003521: ISZERO 00003522: PUSH2 0x352e 00003525: JUMPI 00003526: PUSH2 0x352d 00003529: PUSH2 0x340d 0000352c: JUMP 0000352d: JUMPDEST 0000352e: JUMPDEST 0000352f: PUSH1 0x00 00003531: PUSH2 0x353c 00003534: DUP6 00003535: DUP3 00003536: DUP7 00003537: ADD 00003538: PUSH2 0x3433 0000353b: JUMP 0000353c: JUMPDEST 0000353d: SWAP3 0000353e: POP 0000353f: POP 00003540: PUSH1 0x20 00003542: PUSH2 0x354d 00003545: DUP6 00003546: DUP3 00003547: DUP7 00003548: ADD 00003549: PUSH2 0x3433 0000354c: JUMP 0000354d: JUMPDEST 0000354e: SWAP2 0000354f: POP 00003550: POP 00003551: SWAP3 00003552: POP 00003553: SWAP3 00003554: SWAP1 00003555: POP 00003556: JUMP 00003557: JUMPDEST 00003558: PUSH1 0x00 0000355a: PUSH1 0x20 0000355c: DUP3 0000355d: ADD 0000355e: SWAP1 0000355f: POP 00003560: PUSH2 0x356c 00003563: PUSH1 0x00 00003565: DUP4 00003566: ADD 00003567: DUP5 00003568: PUSH2 0x34d1 0000356b: JUMP 0000356c: JUMPDEST 0000356d: SWAP3 0000356e: SWAP2 0000356f: POP 00003570: POP 00003571: JUMP 00003572: JUMPDEST 00003573: PUSH2 0x357b 00003576: DUP2 00003577: PUSH2 0x34bf 0000357a: JUMP 0000357b: JUMPDEST 0000357c: DUP2 0000357d: EQ 0000357e: PUSH2 0x3586 00003581: JUMPI 00003582: PUSH1 0x00 00003584: DUP1 00003585: REVERT 00003586: JUMPDEST 00003587: POP 00003588: JUMP 00003589: JUMPDEST 0000358a: PUSH1 0x00 0000358c: DUP2 0000358d: CALLDATALOAD 0000358e: SWAP1 0000358f: POP 00003590: PUSH2 0x3598 00003593: DUP2 00003594: PUSH2 0x3572 00003597: JUMP 00003598: JUMPDEST 00003599: SWAP3 0000359a: SWAP2 0000359b: POP 0000359c: POP 0000359d: JUMP 0000359e: JUMPDEST 0000359f: PUSH1 0x00 000035a1: DUP1 000035a2: PUSH1 0x00 000035a4: PUSH1 0x60 000035a6: DUP5 000035a7: DUP7 000035a8: SUB 000035a9: SLT 000035aa: ISZERO 000035ab: PUSH2 0x35b7 000035ae: JUMPI 000035af: PUSH2 0x35b6 000035b2: PUSH2 0x340d 000035b5: JUMP 000035b6: JUMPDEST 000035b7: JUMPDEST 000035b8: PUSH1 0x00 000035ba: PUSH2 0x35c5 000035bd: DUP7 000035be: DUP3 000035bf: DUP8 000035c0: ADD 000035c1: PUSH2 0x3433 000035c4: JUMP 000035c5: JUMPDEST 000035c6: SWAP4 000035c7: POP 000035c8: POP 000035c9: PUSH1 0x20 000035cb: PUSH2 0x35d6 000035ce: DUP7 000035cf: DUP3 000035d0: DUP8 000035d1: ADD 000035d2: PUSH2 0x3433 000035d5: JUMP 000035d6: JUMPDEST 000035d7: SWAP3 000035d8: POP 000035d9: POP 000035da: PUSH1 0x40 000035dc: PUSH2 0x35e7 000035df: DUP7 000035e0: DUP3 000035e1: DUP8 000035e2: ADD 000035e3: PUSH2 0x3589 000035e6: JUMP 000035e7: JUMPDEST 000035e8: SWAP2 000035e9: POP 000035ea: POP 000035eb: SWAP3 000035ec: POP 000035ed: SWAP3 000035ee: POP 000035ef: SWAP3 000035f0: JUMP 000035f1: JUMPDEST 000035f2: PUSH1 0x00 000035f4: PUSH1 0x20 000035f6: DUP3 000035f7: DUP5 000035f8: SUB 000035f9: SLT 000035fa: ISZERO 000035fb: PUSH2 0x3607 000035fe: JUMPI 000035ff: PUSH2 0x3606 00003602: PUSH2 0x340d 00003605: JUMP 00003606: JUMPDEST 00003607: JUMPDEST 00003608: PUSH1 0x00 0000360a: PUSH2 0x3615 0000360d: DUP5 0000360e: DUP3 0000360f: DUP6 00003610: ADD 00003611: PUSH2 0x3589 00003614: JUMP 00003615: JUMPDEST 00003616: SWAP2 00003617: POP 00003618: POP 00003619: SWAP3 0000361a: SWAP2 0000361b: POP 0000361c: POP 0000361d: JUMP 0000361e: JUMPDEST 0000361f: PUSH1 0x00 00003621: PUSH1 0x40 00003623: DUP3 00003624: ADD 00003625: SWAP1 00003626: POP 00003627: PUSH2 0x3633 0000362a: PUSH1 0x00 0000362c: DUP4 0000362d: ADD 0000362e: DUP6 0000362f: PUSH2 0x34d1 00003632: JUMP 00003633: JUMPDEST 00003634: PUSH2 0x3640 00003637: PUSH1 0x20 00003639: DUP4 0000363a: ADD 0000363b: DUP5 0000363c: PUSH2 0x3475 0000363f: JUMP 00003640: JUMPDEST 00003641: SWAP4 00003642: SWAP3 00003643: POP 00003644: POP 00003645: POP 00003646: JUMP 00003647: JUMPDEST 00003648: PUSH1 0x00 0000364a: DUP2 0000364b: SWAP1 0000364c: POP 0000364d: SWAP2 0000364e: SWAP1 0000364f: POP 00003650: JUMP 00003651: JUMPDEST 00003652: PUSH1 0x00 00003654: PUSH2 0x366c 00003657: PUSH2 0x3667 0000365a: PUSH2 0x3662 0000365d: DUP5 0000365e: PUSH2 0x349f 00003661: JUMP 00003662: JUMPDEST 00003663: PUSH2 0x3647 00003666: JUMP 00003667: JUMPDEST 00003668: PUSH2 0x349f 0000366b: JUMP 0000366c: JUMPDEST 0000366d: SWAP1 0000366e: POP 0000366f: SWAP2 00003670: SWAP1 00003671: POP 00003672: JUMP 00003673: JUMPDEST 00003674: PUSH1 0x00 00003676: PUSH2 0x367e 00003679: DUP3 0000367a: PUSH2 0x3651 0000367d: JUMP 0000367e: JUMPDEST 0000367f: SWAP1 00003680: POP 00003681: SWAP2 00003682: SWAP1 00003683: POP 00003684: JUMP 00003685: JUMPDEST 00003686: PUSH1 0x00 00003688: PUSH2 0x3690 0000368b: DUP3 0000368c: PUSH2 0x3673 0000368f: JUMP 00003690: JUMPDEST 00003691: SWAP1 00003692: POP 00003693: SWAP2 00003694: SWAP1 00003695: POP 00003696: JUMP 00003697: JUMPDEST 00003698: PUSH2 0x36a0 0000369b: DUP2 0000369c: PUSH2 0x3685 0000369f: JUMP 000036a0: JUMPDEST 000036a1: DUP3 000036a2: MSTORE 000036a3: POP 000036a4: POP 000036a5: JUMP 000036a6: JUMPDEST 000036a7: PUSH1 0x00 000036a9: PUSH1 0x20 000036ab: DUP3 000036ac: ADD 000036ad: SWAP1 000036ae: POP 000036af: PUSH2 0x36bb 000036b2: PUSH1 0x00 000036b4: DUP4 000036b5: ADD 000036b6: DUP5 000036b7: PUSH2 0x3697 000036ba: JUMP 000036bb: JUMPDEST 000036bc: SWAP3 000036bd: SWAP2 000036be: POP 000036bf: POP 000036c0: JUMP 000036c1: JUMPDEST 000036c2: PUSH1 0x00 000036c4: PUSH2 0x36cc 000036c7: DUP3 000036c8: PUSH2 0x3673 000036cb: JUMP 000036cc: JUMPDEST 000036cd: SWAP1 000036ce: POP 000036cf: SWAP2 000036d0: SWAP1 000036d1: POP 000036d2: JUMP 000036d3: JUMPDEST 000036d4: PUSH2 0x36dc 000036d7: DUP2 000036d8: PUSH2 0x36c1 000036db: JUMP 000036dc: JUMPDEST 000036dd: DUP3 000036de: MSTORE 000036df: POP 000036e0: POP 000036e1: JUMP 000036e2: JUMPDEST 000036e3: PUSH1 0x00 000036e5: PUSH1 0x20 000036e7: DUP3 000036e8: ADD 000036e9: SWAP1 000036ea: POP 000036eb: PUSH2 0x36f7 000036ee: PUSH1 0x00 000036f0: DUP4 000036f1: ADD 000036f2: DUP5 000036f3: PUSH2 0x36d3 000036f6: JUMP 000036f7: JUMPDEST 000036f8: SWAP3 000036f9: SWAP2 000036fa: POP 000036fb: POP 000036fc: JUMP 000036fd: JUMPDEST 000036fe: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000371f: PUSH1 0x00 00003721: MSTORE 00003722: PUSH1 0x11 00003724: PUSH1 0x04 00003726: MSTORE 00003727: PUSH1 0x24 00003729: PUSH1 0x00 0000372b: REVERT 0000372c: JUMPDEST 0000372d: PUSH1 0x00 0000372f: PUSH2 0x3737 00003732: DUP3 00003733: PUSH2 0x3412 00003736: JUMP 00003737: JUMPDEST 00003738: SWAP2 00003739: POP 0000373a: PUSH2 0x3742 0000373d: DUP4 0000373e: PUSH2 0x3412 00003741: JUMP 00003742: JUMPDEST 00003743: SWAP3 00003744: POP 00003745: DUP2 00003746: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003767: DIV 00003768: DUP4 00003769: GT 0000376a: DUP3 0000376b: ISZERO 0000376c: ISZERO 0000376d: AND 0000376e: ISZERO 0000376f: PUSH2 0x377b 00003772: JUMPI 00003773: PUSH2 0x377a 00003776: PUSH2 0x36fd 00003779: JUMP 0000377a: JUMPDEST 0000377b: JUMPDEST 0000377c: DUP3 0000377d: DUP3 0000377e: MUL 0000377f: SWAP1 00003780: POP 00003781: SWAP3 00003782: SWAP2 00003783: POP 00003784: POP 00003785: JUMP 00003786: JUMPDEST 00003787: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000037a8: PUSH1 0x00 000037aa: MSTORE 000037ab: PUSH1 0x12 000037ad: PUSH1 0x04 000037af: MSTORE 000037b0: PUSH1 0x24 000037b2: PUSH1 0x00 000037b4: REVERT 000037b5: JUMPDEST 000037b6: PUSH1 0x00 000037b8: PUSH2 0x37c0 000037bb: DUP3 000037bc: PUSH2 0x3412 000037bf: JUMP 000037c0: JUMPDEST 000037c1: SWAP2 000037c2: POP 000037c3: PUSH2 0x37cb 000037c6: DUP4 000037c7: PUSH2 0x3412 000037ca: JUMP 000037cb: JUMPDEST 000037cc: SWAP3 000037cd: POP 000037ce: DUP3 000037cf: PUSH2 0x37db 000037d2: JUMPI 000037d3: PUSH2 0x37da 000037d6: PUSH2 0x3786 000037d9: JUMP 000037da: JUMPDEST 000037db: JUMPDEST 000037dc: DUP3 000037dd: DUP3 000037de: DIV 000037df: SWAP1 000037e0: POP 000037e1: SWAP3 000037e2: SWAP2 000037e3: POP 000037e4: POP 000037e5: JUMP 000037e6: JUMPDEST 000037e7: PUSH1 0x00 000037e9: PUSH2 0x37f1 000037ec: DUP3 000037ed: PUSH2 0x3412 000037f0: JUMP 000037f1: JUMPDEST 000037f2: SWAP2 000037f3: POP 000037f4: PUSH2 0x37fc 000037f7: DUP4 000037f8: PUSH2 0x3412 000037fb: JUMP 000037fc: JUMPDEST 000037fd: SWAP3 000037fe: POP 000037ff: DUP3 00003800: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003821: SUB 00003822: DUP3 00003823: GT 00003824: ISZERO 00003825: PUSH2 0x3831 00003828: JUMPI 00003829: PUSH2 0x3830 0000382c: PUSH2 0x36fd 0000382f: JUMP 00003830: JUMPDEST 00003831: JUMPDEST 00003832: DUP3 00003833: DUP3 00003834: ADD 00003835: SWAP1 00003836: POP 00003837: SWAP3 00003838: SWAP2 00003839: POP 0000383a: POP 0000383b: JUMP 0000383c: JUMPDEST 0000383d: PUSH1 0x00 0000383f: DUP3 00003840: DUP3 00003841: MSTORE 00003842: PUSH1 0x20 00003844: DUP3 00003845: ADD 00003846: SWAP1 00003847: POP 00003848: SWAP3 00003849: SWAP2 0000384a: POP 0000384b: POP 0000384c: JUMP 0000384d: JUMPDEST 0000384e: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 0000386f: PUSH1 0x00 00003871: DUP3 00003872: ADD 00003873: MSTORE 00003874: POP 00003875: JUMP 00003876: JUMPDEST 00003877: PUSH1 0x00 00003879: PUSH2 0x3883 0000387c: PUSH1 0x1f 0000387e: DUP4 0000387f: PUSH2 0x383c 00003882: JUMP 00003883: JUMPDEST 00003884: SWAP2 00003885: POP 00003886: PUSH2 0x388e 00003889: DUP3 0000388a: PUSH2 0x384d 0000388d: JUMP 0000388e: JUMPDEST 0000388f: PUSH1 0x20 00003891: DUP3 00003892: ADD 00003893: SWAP1 00003894: POP 00003895: SWAP2 00003896: SWAP1 00003897: POP 00003898: JUMP 00003899: JUMPDEST 0000389a: PUSH1 0x00 0000389c: PUSH1 0x20 0000389e: DUP3 0000389f: ADD 000038a0: SWAP1 000038a1: POP 000038a2: DUP2 000038a3: DUP2 000038a4: SUB 000038a5: PUSH1 0x00 000038a7: DUP4 000038a8: ADD 000038a9: MSTORE 000038aa: PUSH2 0x38b2 000038ad: DUP2 000038ae: PUSH2 0x3876 000038b1: JUMP 000038b2: JUMPDEST 000038b3: SWAP1 000038b4: POP 000038b5: SWAP2 000038b6: SWAP1 000038b7: POP 000038b8: JUMP 000038b9: JUMPDEST 000038ba: PUSH1 0x00 000038bc: DUP2 000038bd: MLOAD 000038be: SWAP1 000038bf: POP 000038c0: PUSH2 0x38c8 000038c3: DUP2 000038c4: PUSH2 0x3572 000038c7: JUMP 000038c8: JUMPDEST 000038c9: SWAP3 000038ca: SWAP2 000038cb: POP 000038cc: POP 000038cd: JUMP 000038ce: JUMPDEST 000038cf: PUSH1 0x00 000038d1: PUSH1 0x20 000038d3: DUP3 000038d4: DUP5 000038d5: SUB 000038d6: SLT 000038d7: ISZERO 000038d8: PUSH2 0x38e4 000038db: JUMPI 000038dc: PUSH2 0x38e3 000038df: PUSH2 0x340d 000038e2: JUMP 000038e3: JUMPDEST 000038e4: JUMPDEST 000038e5: PUSH1 0x00 000038e7: PUSH2 0x38f2 000038ea: DUP5 000038eb: DUP3 000038ec: DUP6 000038ed: ADD 000038ee: PUSH2 0x38b9 000038f1: JUMP 000038f2: JUMPDEST 000038f3: SWAP2 000038f4: POP 000038f5: POP 000038f6: SWAP3 000038f7: SWAP2 000038f8: POP 000038f9: POP 000038fa: JUMP 000038fb: JUMPDEST 000038fc: PUSH32 0x43616e6e6f7420626964206f6e20676f642061737369676e656420746f207468 0000391d: PUSH1 0x00 0000391f: DUP3 00003920: ADD 00003921: MSTORE 00003922: PUSH32 0x652030783020616464726573732e000000000000000000000000000000000000 00003943: PUSH1 0x20 00003945: DUP3 00003946: ADD 00003947: MSTORE 00003948: POP 00003949: JUMP 0000394a: JUMPDEST 0000394b: PUSH1 0x00 0000394d: PUSH2 0x3957 00003950: PUSH1 0x2e 00003952: DUP4 00003953: PUSH2 0x383c 00003956: JUMP 00003957: JUMPDEST 00003958: SWAP2 00003959: POP 0000395a: PUSH2 0x3962 0000395d: DUP3 0000395e: PUSH2 0x38fb 00003961: JUMP 00003962: JUMPDEST 00003963: PUSH1 0x40 00003965: DUP3 00003966: ADD 00003967: SWAP1 00003968: POP 00003969: SWAP2 0000396a: SWAP1 0000396b: POP 0000396c: JUMP 0000396d: JUMPDEST 0000396e: PUSH1 0x00 00003970: PUSH1 0x20 00003972: DUP3 00003973: ADD 00003974: SWAP1 00003975: POP 00003976: DUP2 00003977: DUP2 00003978: SUB 00003979: PUSH1 0x00 0000397b: DUP4 0000397c: ADD 0000397d: MSTORE 0000397e: PUSH2 0x3986 00003981: DUP2 00003982: PUSH2 0x394a 00003985: JUMP 00003986: JUMPDEST 00003987: SWAP1 00003988: POP 00003989: SWAP2 0000398a: SWAP1 0000398b: POP 0000398c: JUMP 0000398d: JUMPDEST 0000398e: PUSH32 0x43616e6e6f7420626964206f6e206120676f64206f776e656420627920746865 000039af: PUSH1 0x00 000039b1: DUP3 000039b2: ADD 000039b3: MSTORE 000039b4: PUSH32 0x206269646465722e000000000000000000000000000000000000000000000000 000039d5: PUSH1 0x20 000039d7: DUP3 000039d8: ADD 000039d9: MSTORE 000039da: POP 000039db: JUMP 000039dc: JUMPDEST 000039dd: PUSH1 0x00 000039df: PUSH2 0x39e9 000039e2: PUSH1 0x28 000039e4: DUP4 000039e5: PUSH2 0x383c 000039e8: JUMP 000039e9: JUMPDEST 000039ea: SWAP2 000039eb: POP 000039ec: PUSH2 0x39f4 000039ef: DUP3 000039f0: PUSH2 0x398d 000039f3: JUMP 000039f4: JUMPDEST 000039f5: PUSH1 0x40 000039f7: DUP3 000039f8: ADD 000039f9: SWAP1 000039fa: POP 000039fb: SWAP2 000039fc: SWAP1 000039fd: POP 000039fe: JUMP 000039ff: JUMPDEST 00003a00: PUSH1 0x00 00003a02: PUSH1 0x20 00003a04: DUP3 00003a05: ADD 00003a06: SWAP1 00003a07: POP 00003a08: DUP2 00003a09: DUP2 00003a0a: SUB 00003a0b: PUSH1 0x00 00003a0d: DUP4 00003a0e: ADD 00003a0f: MSTORE 00003a10: PUSH2 0x3a18 00003a13: DUP2 00003a14: PUSH2 0x39dc 00003a17: JUMP 00003a18: JUMPDEST 00003a19: SWAP1 00003a1a: POP 00003a1b: SWAP2 00003a1c: SWAP1 00003a1d: POP 00003a1e: JUMP 00003a1f: JUMPDEST 00003a20: PUSH32 0x4d757374206f666665722061206e6f6e7a65726f20616d6f756e7420666f7220 00003a41: PUSH1 0x00 00003a43: DUP3 00003a44: ADD 00003a45: MSTORE 00003a46: PUSH32 0x62696464696e672e000000000000000000000000000000000000000000000000 00003a67: PUSH1 0x20 00003a69: DUP3 00003a6a: ADD 00003a6b: MSTORE 00003a6c: POP 00003a6d: JUMP 00003a6e: JUMPDEST 00003a6f: PUSH1 0x00 00003a71: PUSH2 0x3a7b 00003a74: PUSH1 0x28 00003a76: DUP4 00003a77: PUSH2 0x383c 00003a7a: JUMP 00003a7b: JUMPDEST 00003a7c: SWAP2 00003a7d: POP 00003a7e: PUSH2 0x3a86 00003a81: DUP3 00003a82: PUSH2 0x3a1f 00003a85: JUMP 00003a86: JUMPDEST 00003a87: PUSH1 0x40 00003a89: DUP3 00003a8a: ADD 00003a8b: SWAP1 00003a8c: POP 00003a8d: SWAP2 00003a8e: SWAP1 00003a8f: POP 00003a90: JUMP 00003a91: JUMPDEST 00003a92: PUSH1 0x00 00003a94: PUSH1 0x20 00003a96: DUP3 00003a97: ADD 00003a98: SWAP1 00003a99: POP 00003a9a: DUP2 00003a9b: DUP2 00003a9c: SUB 00003a9d: PUSH1 0x00 00003a9f: DUP4 00003aa0: ADD 00003aa1: MSTORE 00003aa2: PUSH2 0x3aaa 00003aa5: DUP2 00003aa6: PUSH2 0x3a6e 00003aa9: JUMP 00003aaa: JUMPDEST 00003aab: SWAP1 00003aac: POP 00003aad: SWAP2 00003aae: SWAP1 00003aaf: POP 00003ab0: JUMP 00003ab1: JUMPDEST 00003ab2: PUSH32 0x4120686967686572206269642068617320616c7265616479206265656e206d61 00003ad3: PUSH1 0x00 00003ad5: DUP3 00003ad6: ADD 00003ad7: MSTORE 00003ad8: PUSH32 0x646520666f72207468697320676f642e00000000000000000000000000000000 00003af9: PUSH1 0x20 00003afb: DUP3 00003afc: ADD 00003afd: MSTORE 00003afe: POP 00003aff: JUMP 00003b00: JUMPDEST 00003b01: PUSH1 0x00 00003b03: PUSH2 0x3b0d 00003b06: PUSH1 0x30 00003b08: DUP4 00003b09: PUSH2 0x383c 00003b0c: JUMP 00003b0d: JUMPDEST 00003b0e: SWAP2 00003b0f: POP 00003b10: PUSH2 0x3b18 00003b13: DUP3 00003b14: PUSH2 0x3ab1 00003b17: JUMP 00003b18: JUMPDEST 00003b19: PUSH1 0x40 00003b1b: DUP3 00003b1c: ADD 00003b1d: SWAP1 00003b1e: POP 00003b1f: SWAP2 00003b20: SWAP1 00003b21: POP 00003b22: JUMP 00003b23: JUMPDEST 00003b24: PUSH1 0x00 00003b26: PUSH1 0x20 00003b28: DUP3 00003b29: ADD 00003b2a: SWAP1 00003b2b: POP 00003b2c: DUP2 00003b2d: DUP2 00003b2e: SUB 00003b2f: PUSH1 0x00 00003b31: DUP4 00003b32: ADD 00003b33: MSTORE 00003b34: PUSH2 0x3b3c 00003b37: DUP2 00003b38: PUSH2 0x3b00 00003b3b: JUMP 00003b3c: JUMPDEST 00003b3d: SWAP1 00003b3e: POP 00003b3f: SWAP2 00003b40: SWAP1 00003b41: POP 00003b42: JUMP 00003b43: JUMPDEST 00003b44: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00003b65: PUSH1 0x00 00003b67: DUP3 00003b68: ADD 00003b69: MSTORE 00003b6a: POP 00003b6b: JUMP 00003b6c: JUMPDEST 00003b6d: PUSH1 0x00 00003b6f: PUSH2 0x3b79 00003b72: PUSH1 0x20 00003b74: DUP4 00003b75: PUSH2 0x383c 00003b78: JUMP 00003b79: JUMPDEST 00003b7a: SWAP2 00003b7b: POP 00003b7c: PUSH2 0x3b84 00003b7f: DUP3 00003b80: PUSH2 0x3b43 00003b83: JUMP 00003b84: JUMPDEST 00003b85: PUSH1 0x20 00003b87: DUP3 00003b88: ADD 00003b89: SWAP1 00003b8a: POP 00003b8b: SWAP2 00003b8c: SWAP1 00003b8d: POP 00003b8e: JUMP 00003b8f: JUMPDEST 00003b90: PUSH1 0x00 00003b92: PUSH1 0x20 00003b94: DUP3 00003b95: ADD 00003b96: SWAP1 00003b97: POP 00003b98: DUP2 00003b99: DUP2 00003b9a: SUB 00003b9b: PUSH1 0x00 00003b9d: DUP4 00003b9e: ADD 00003b9f: MSTORE 00003ba0: PUSH2 0x3ba8 00003ba3: DUP2 00003ba4: PUSH2 0x3b6c 00003ba7: JUMP 00003ba8: JUMPDEST 00003ba9: SWAP1 00003baa: POP 00003bab: SWAP2 00003bac: SWAP1 00003bad: POP 00003bae: JUMP 00003baf: JUMPDEST 00003bb0: PUSH1 0x00 00003bb2: DUP2 00003bb3: MLOAD 00003bb4: SWAP1 00003bb5: POP 00003bb6: PUSH2 0x3bbe 00003bb9: DUP2 00003bba: PUSH2 0x341c 00003bbd: JUMP 00003bbe: JUMPDEST 00003bbf: SWAP3 00003bc0: SWAP2 00003bc1: POP 00003bc2: POP 00003bc3: JUMP 00003bc4: JUMPDEST 00003bc5: PUSH1 0x00 00003bc7: PUSH1 0x20 00003bc9: DUP3 00003bca: DUP5 00003bcb: SUB 00003bcc: SLT 00003bcd: ISZERO 00003bce: PUSH2 0x3bda 00003bd1: JUMPI 00003bd2: PUSH2 0x3bd9 00003bd5: PUSH2 0x340d 00003bd8: JUMP 00003bd9: JUMPDEST 00003bda: JUMPDEST 00003bdb: PUSH1 0x00 00003bdd: PUSH2 0x3be8 00003be0: DUP5 00003be1: DUP3 00003be2: DUP6 00003be3: ADD 00003be4: PUSH2 0x3baf 00003be7: JUMP 00003be8: JUMPDEST 00003be9: SWAP2 00003bea: POP 00003beb: POP 00003bec: SWAP3 00003bed: SWAP2 00003bee: POP 00003bef: POP 00003bf0: JUMP 00003bf1: JUMPDEST 00003bf2: PUSH32 0x4d757374206f776e207468652073706563696669656420476f6420746f206361 00003c13: PUSH1 0x00 00003c15: DUP3 00003c16: ADD 00003c17: MSTORE 00003c18: PUSH32 0x6c6c20746869732066756e6374696f6e2e000000000000000000000000000000 00003c39: PUSH1 0x20 00003c3b: DUP3 00003c3c: ADD 00003c3d: MSTORE 00003c3e: POP 00003c3f: JUMP 00003c40: JUMPDEST 00003c41: PUSH1 0x00 00003c43: PUSH2 0x3c4d 00003c46: PUSH1 0x31 00003c48: DUP4 00003c49: PUSH2 0x383c 00003c4c: JUMP 00003c4d: JUMPDEST 00003c4e: SWAP2 00003c4f: POP 00003c50: PUSH2 0x3c58 00003c53: DUP3 00003c54: PUSH2 0x3bf1 00003c57: JUMP 00003c58: JUMPDEST 00003c59: PUSH1 0x40 00003c5b: DUP3 00003c5c: ADD 00003c5d: SWAP1 00003c5e: POP 00003c5f: SWAP2 00003c60: SWAP1 00003c61: POP 00003c62: JUMP 00003c63: JUMPDEST 00003c64: PUSH1 0x00 00003c66: PUSH1 0x20 00003c68: DUP3 00003c69: ADD 00003c6a: SWAP1 00003c6b: POP 00003c6c: DUP2 00003c6d: DUP2 00003c6e: SUB 00003c6f: PUSH1 0x00 00003c71: DUP4 00003c72: ADD 00003c73: MSTORE 00003c74: PUSH2 0x3c7c 00003c77: DUP2 00003c78: PUSH2 0x3c40 00003c7b: JUMP 00003c7c: JUMPDEST 00003c7d: SWAP1 00003c7e: POP 00003c7f: SWAP2 00003c80: SWAP1 00003c81: POP 00003c82: JUMP 00003c83: JUMPDEST 00003c84: PUSH32 0x55736572206d75737420686176652063757272656e74207374616b6520696e20 00003ca5: PUSH1 0x00 00003ca7: DUP3 00003ca8: ADD 00003ca9: MSTORE 00003caa: PUSH32 0x6f7264657220746f20756e7374616b6500000000000000000000000000000000 00003ccb: PUSH1 0x20 00003ccd: DUP3 00003cce: ADD 00003ccf: MSTORE 00003cd0: POP 00003cd1: JUMP 00003cd2: JUMPDEST 00003cd3: PUSH1 0x00 00003cd5: PUSH2 0x3cdf 00003cd8: PUSH1 0x30 00003cda: DUP4 00003cdb: PUSH2 0x383c 00003cde: JUMP 00003cdf: JUMPDEST 00003ce0: SWAP2 00003ce1: POP 00003ce2: PUSH2 0x3cea 00003ce5: DUP3 00003ce6: PUSH2 0x3c83 00003ce9: JUMP 00003cea: JUMPDEST 00003ceb: PUSH1 0x40 00003ced: DUP3 00003cee: ADD 00003cef: SWAP1 00003cf0: POP 00003cf1: SWAP2 00003cf2: SWAP1 00003cf3: POP 00003cf4: JUMP 00003cf5: JUMPDEST 00003cf6: PUSH1 0x00 00003cf8: PUSH1 0x20 00003cfa: DUP3 00003cfb: ADD 00003cfc: SWAP1 00003cfd: POP 00003cfe: DUP2 00003cff: DUP2 00003d00: SUB 00003d01: PUSH1 0x00 00003d03: DUP4 00003d04: ADD 00003d05: MSTORE 00003d06: PUSH2 0x3d0e 00003d09: DUP2 00003d0a: PUSH2 0x3cd2 00003d0d: JUMP 00003d0e: JUMPDEST 00003d0f: SWAP1 00003d10: POP 00003d11: SWAP2 00003d12: SWAP1 00003d13: POP 00003d14: JUMP 00003d15: JUMPDEST 00003d16: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003d37: PUSH1 0x00 00003d39: MSTORE 00003d3a: PUSH1 0x32 00003d3c: PUSH1 0x04 00003d3e: MSTORE 00003d3f: PUSH1 0x24 00003d41: PUSH1 0x00 00003d43: REVERT 00003d44: JUMPDEST 00003d45: PUSH1 0x00 00003d47: PUSH2 0x3d4f 00003d4a: DUP3 00003d4b: PUSH2 0x3412 00003d4e: JUMP 00003d4f: JUMPDEST 00003d50: SWAP2 00003d51: POP 00003d52: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003d73: DUP3 00003d74: EQ 00003d75: ISZERO 00003d76: PUSH2 0x3d82 00003d79: JUMPI 00003d7a: PUSH2 0x3d81 00003d7d: PUSH2 0x36fd 00003d80: JUMP 00003d81: JUMPDEST 00003d82: JUMPDEST 00003d83: PUSH1 0x01 00003d85: DUP3 00003d86: ADD 00003d87: SWAP1 00003d88: POP 00003d89: SWAP2 00003d8a: SWAP1 00003d8b: POP 00003d8c: JUMP 00003d8d: JUMPDEST 00003d8e: PUSH1 0x00 00003d90: DUP2 00003d91: ISZERO 00003d92: ISZERO 00003d93: SWAP1 00003d94: POP 00003d95: SWAP2 00003d96: SWAP1 00003d97: POP 00003d98: JUMP 00003d99: JUMPDEST 00003d9a: PUSH2 0x3da2 00003d9d: DUP2 00003d9e: PUSH2 0x3d8d 00003da1: JUMP 00003da2: JUMPDEST 00003da3: DUP2 00003da4: EQ 00003da5: PUSH2 0x3dad 00003da8: JUMPI 00003da9: PUSH1 0x00 00003dab: DUP1 00003dac: REVERT 00003dad: JUMPDEST 00003dae: POP 00003daf: JUMP 00003db0: JUMPDEST 00003db1: PUSH1 0x00 00003db3: DUP2 00003db4: MLOAD 00003db5: SWAP1 00003db6: POP 00003db7: PUSH2 0x3dbf 00003dba: DUP2 00003dbb: PUSH2 0x3d99 00003dbe: JUMP 00003dbf: JUMPDEST 00003dc0: SWAP3 00003dc1: SWAP2 00003dc2: POP 00003dc3: POP 00003dc4: JUMP 00003dc5: JUMPDEST 00003dc6: PUSH1 0x00 00003dc8: PUSH1 0x20 00003dca: DUP3 00003dcb: DUP5 00003dcc: SUB 00003dcd: SLT 00003dce: ISZERO 00003dcf: PUSH2 0x3ddb 00003dd2: JUMPI 00003dd3: PUSH2 0x3dda 00003dd6: PUSH2 0x340d 00003dd9: JUMP 00003dda: JUMPDEST 00003ddb: JUMPDEST 00003ddc: PUSH1 0x00 00003dde: PUSH2 0x3de9 00003de1: DUP5 00003de2: DUP3 00003de3: DUP6 00003de4: ADD 00003de5: PUSH2 0x3db0 00003de8: JUMP 00003de9: JUMPDEST 00003dea: SWAP2 00003deb: POP 00003dec: POP 00003ded: SWAP3 00003dee: SWAP2 00003def: POP 00003df0: POP 00003df1: JUMP 00003df2: JUMPDEST 00003df3: PUSH32 0x526576657274696e6720626563617573652063616c6c20746f20766972747565 00003e14: PUSH1 0x00 00003e16: DUP3 00003e17: ADD 00003e18: MSTORE 00003e19: PUSH32 0x546f6b656e2e7472616e736665722072657475726e65642066616c7365000000 00003e3a: PUSH1 0x20 00003e3c: DUP3 00003e3d: ADD 00003e3e: MSTORE 00003e3f: POP 00003e40: JUMP 00003e41: JUMPDEST 00003e42: PUSH1 0x00 00003e44: PUSH2 0x3e4e 00003e47: PUSH1 0x3d 00003e49: DUP4 00003e4a: PUSH2 0x383c 00003e4d: JUMP 00003e4e: JUMPDEST 00003e4f: SWAP2 00003e50: POP 00003e51: PUSH2 0x3e59 00003e54: DUP3 00003e55: PUSH2 0x3df2 00003e58: JUMP 00003e59: JUMPDEST 00003e5a: PUSH1 0x40 00003e5c: DUP3 00003e5d: ADD 00003e5e: SWAP1 00003e5f: POP 00003e60: SWAP2 00003e61: SWAP1 00003e62: POP 00003e63: JUMP 00003e64: JUMPDEST 00003e65: PUSH1 0x00 00003e67: PUSH1 0x20 00003e69: DUP3 00003e6a: ADD 00003e6b: SWAP1 00003e6c: POP 00003e6d: DUP2 00003e6e: DUP2 00003e6f: SUB 00003e70: PUSH1 0x00 00003e72: DUP4 00003e73: ADD 00003e74: MSTORE 00003e75: PUSH2 0x3e7d 00003e78: DUP2 00003e79: PUSH2 0x3e41 00003e7c: JUMP 00003e7d: JUMPDEST 00003e7e: SWAP1 00003e7f: POP 00003e80: SWAP2 00003e81: SWAP1 00003e82: POP 00003e83: JUMP 00003e84: JUMPDEST 00003e85: PUSH1 0x00 00003e87: PUSH2 0x3e8f 00003e8a: DUP3 00003e8b: PUSH2 0x3412 00003e8e: JUMP 00003e8f: JUMPDEST 00003e90: SWAP2 00003e91: POP 00003e92: PUSH2 0x3e9a 00003e95: DUP4 00003e96: PUSH2 0x3412 00003e99: JUMP 00003e9a: JUMPDEST 00003e9b: SWAP3 00003e9c: POP 00003e9d: DUP3 00003e9e: DUP3 00003e9f: LT 00003ea0: ISZERO 00003ea1: PUSH2 0x3ead 00003ea4: JUMPI 00003ea5: PUSH2 0x3eac 00003ea8: PUSH2 0x36fd 00003eab: JUMP 00003eac: JUMPDEST 00003ead: JUMPDEST 00003eae: DUP3 00003eaf: DUP3 00003eb0: SUB 00003eb1: SWAP1 00003eb2: POP 00003eb3: SWAP3 00003eb4: SWAP2 00003eb5: POP 00003eb6: POP 00003eb7: JUMP 00003eb8: JUMPDEST 00003eb9: PUSH32 0x43616e206f6e6c7920627579206120676f642074686174206973206c69737465 00003eda: PUSH1 0x00 00003edc: DUP3 00003edd: ADD 00003ede: MSTORE 00003edf: PUSH32 0x6420666f722073616c652e000000000000000000000000000000000000000000 00003f00: PUSH1 0x20 00003f02: DUP3 00003f03: ADD 00003f04: MSTORE 00003f05: POP 00003f06: JUMP 00003f07: JUMPDEST 00003f08: PUSH1 0x00 00003f0a: PUSH2 0x3f14 00003f0d: PUSH1 0x2b 00003f0f: DUP4 00003f10: PUSH2 0x383c 00003f13: JUMP 00003f14: JUMPDEST 00003f15: SWAP2 00003f16: POP 00003f17: PUSH2 0x3f1f 00003f1a: DUP3 00003f1b: PUSH2 0x3eb8 00003f1e: JUMP 00003f1f: JUMPDEST 00003f20: PUSH1 0x40 00003f22: DUP3 00003f23: ADD 00003f24: SWAP1 00003f25: POP 00003f26: SWAP2 00003f27: SWAP1 00003f28: POP 00003f29: JUMP 00003f2a: JUMPDEST 00003f2b: PUSH1 0x00 00003f2d: PUSH1 0x20 00003f2f: DUP3 00003f30: ADD 00003f31: SWAP1 00003f32: POP 00003f33: DUP2 00003f34: DUP2 00003f35: SUB 00003f36: PUSH1 0x00 00003f38: DUP4 00003f39: ADD 00003f3a: MSTORE 00003f3b: PUSH2 0x3f43 00003f3e: DUP2 00003f3f: PUSH2 0x3f07 00003f42: JUMP 00003f43: JUMPDEST 00003f44: SWAP1 00003f45: POP 00003f46: SWAP2 00003f47: SWAP1 00003f48: POP 00003f49: JUMP 00003f4a: JUMPDEST 00003f4b: PUSH32 0x4f776e65722068617320726573657276656420676f64206c697374696e672066 00003f6c: PUSH1 0x00 00003f6e: DUP3 00003f6f: ADD 00003f70: MSTORE 00003f71: PUSH32 0x6f72206120646966666572656e7420616464726573732e000000000000000000 00003f92: PUSH1 0x20 00003f94: DUP3 00003f95: ADD 00003f96: MSTORE 00003f97: POP 00003f98: JUMP 00003f99: JUMPDEST 00003f9a: PUSH1 0x00 00003f9c: PUSH2 0x3fa6 00003f9f: PUSH1 0x37 00003fa1: DUP4 00003fa2: PUSH2 0x383c 00003fa5: JUMP 00003fa6: JUMPDEST 00003fa7: SWAP2 00003fa8: POP 00003fa9: PUSH2 0x3fb1 00003fac: DUP3 00003fad: PUSH2 0x3f4a 00003fb0: JUMP 00003fb1: JUMPDEST 00003fb2: PUSH1 0x40 00003fb4: DUP3 00003fb5: ADD 00003fb6: SWAP1 00003fb7: POP 00003fb8: SWAP2 00003fb9: SWAP1 00003fba: POP 00003fbb: JUMP 00003fbc: JUMPDEST 00003fbd: PUSH1 0x00 00003fbf: PUSH1 0x20 00003fc1: DUP3 00003fc2: ADD 00003fc3: SWAP1 00003fc4: POP 00003fc5: DUP2 00003fc6: DUP2 00003fc7: SUB 00003fc8: PUSH1 0x00 00003fca: DUP4 00003fcb: ADD 00003fcc: MSTORE 00003fcd: PUSH2 0x3fd5 00003fd0: DUP2 00003fd1: PUSH2 0x3f99 00003fd4: JUMP 00003fd5: JUMPDEST 00003fd6: SWAP1 00003fd7: POP 00003fd8: SWAP2 00003fd9: SWAP1 00003fda: POP 00003fdb: JUMP 00003fdc: JUMPDEST 00003fdd: PUSH32 0x4d75737420706179206174206c6561737420746865206d696e50726963652074 00003ffe: PUSH1 0x00 00004000: DUP3 00004001: ADD 00004002: MSTORE 00004003: PUSH32 0x68617420746865206c697374696e67207370656369666965732e000000000000 00004024: PUSH1 0x20 00004026: DUP3 00004027: ADD 00004028: MSTORE 00004029: POP 0000402a: JUMP 0000402b: JUMPDEST 0000402c: PUSH1 0x00 0000402e: PUSH2 0x4038 00004031: PUSH1 0x3a 00004033: DUP4 00004034: PUSH2 0x383c 00004037: JUMP 00004038: JUMPDEST 00004039: SWAP2 0000403a: POP 0000403b: PUSH2 0x4043 0000403e: DUP3 0000403f: PUSH2 0x3fdc 00004042: JUMP 00004043: JUMPDEST 00004044: PUSH1 0x40 00004046: DUP3 00004047: ADD 00004048: SWAP1 00004049: POP 0000404a: SWAP2 0000404b: SWAP1 0000404c: POP 0000404d: JUMP 0000404e: JUMPDEST 0000404f: PUSH1 0x00 00004051: PUSH1 0x20 00004053: DUP3 00004054: ADD 00004055: SWAP1 00004056: POP 00004057: DUP2 00004058: DUP2 00004059: SUB 0000405a: PUSH1 0x00 0000405c: DUP4 0000405d: ADD 0000405e: MSTORE 0000405f: PUSH2 0x4067 00004062: DUP2 00004063: PUSH2 0x402b 00004066: JUMP 00004067: JUMPDEST 00004068: SWAP1 00004069: POP 0000406a: SWAP2 0000406b: SWAP1 0000406c: POP 0000406d: JUMP 0000406e: JUMPDEST 0000406f: PUSH32 0x4c697374696e67206973206f7574646174656420616e6420776173206e6f7420 00004090: PUSH1 0x00 00004092: DUP3 00004093: ADD 00004094: MSTORE 00004095: PUSH32 0x706f737465642062792074686520676f6427732063757272656e74206f776e65 000040b6: PUSH1 0x20 000040b8: DUP3 000040b9: ADD 000040ba: MSTORE 000040bb: PUSH32 0x722e000000000000000000000000000000000000000000000000000000000000 000040dc: PUSH1 0x40 000040de: DUP3 000040df: ADD 000040e0: MSTORE 000040e1: POP 000040e2: JUMP 000040e3: JUMPDEST 000040e4: PUSH1 0x00 000040e6: PUSH2 0x40f0 000040e9: PUSH1 0x42 000040eb: DUP4 000040ec: PUSH2 0x383c 000040ef: JUMP 000040f0: JUMPDEST 000040f1: SWAP2 000040f2: POP 000040f3: PUSH2 0x40fb 000040f6: DUP3 000040f7: PUSH2 0x406e 000040fa: JUMP 000040fb: JUMPDEST 000040fc: PUSH1 0x60 000040fe: DUP3 000040ff: ADD 00004100: SWAP1 00004101: POP 00004102: SWAP2 00004103: SWAP1 00004104: POP 00004105: JUMP 00004106: JUMPDEST 00004107: PUSH1 0x00 00004109: PUSH1 0x20 0000410b: DUP3 0000410c: ADD 0000410d: SWAP1 0000410e: POP 0000410f: DUP2 00004110: DUP2 00004111: SUB 00004112: PUSH1 0x00 00004114: DUP4 00004115: ADD 00004116: MSTORE 00004117: PUSH2 0x411f 0000411a: DUP2 0000411b: PUSH2 0x40e3 0000411e: JUMP 0000411f: JUMPDEST 00004120: SWAP1 00004121: POP 00004122: SWAP2 00004123: SWAP1 00004124: POP 00004125: JUMP 00004126: JUMPDEST 00004127: PUSH1 0x00 00004129: PUSH1 0x60 0000412b: DUP3 0000412c: ADD 0000412d: SWAP1 0000412e: POP 0000412f: PUSH2 0x413b 00004132: PUSH1 0x00 00004134: DUP4 00004135: ADD 00004136: DUP7 00004137: PUSH2 0x34d1 0000413a: JUMP 0000413b: JUMPDEST 0000413c: PUSH2 0x4148 0000413f: PUSH1 0x20 00004141: DUP4 00004142: ADD 00004143: DUP6 00004144: PUSH2 0x34d1 00004147: JUMP 00004148: JUMPDEST 00004149: PUSH2 0x4155 0000414c: PUSH1 0x40 0000414e: DUP4 0000414f: ADD 00004150: DUP5 00004151: PUSH2 0x3475 00004154: JUMP 00004155: JUMPDEST 00004156: SWAP5 00004157: SWAP4 00004158: POP 00004159: POP 0000415a: POP 0000415b: POP 0000415c: JUMP 0000415d: JUMPDEST 0000415e: PUSH1 0x00 00004160: PUSH1 0x40 00004162: DUP3 00004163: ADD 00004164: SWAP1 00004165: POP 00004166: PUSH2 0x4172 00004169: PUSH1 0x00 0000416b: DUP4 0000416c: ADD 0000416d: DUP6 0000416e: PUSH2 0x3475 00004171: JUMP 00004172: JUMPDEST 00004173: PUSH2 0x417f 00004176: PUSH1 0x20 00004178: DUP4 00004179: ADD 0000417a: DUP5 0000417b: PUSH2 0x3475 0000417e: JUMP 0000417f: JUMPDEST 00004180: SWAP4 00004181: SWAP3 00004182: POP 00004183: POP 00004184: POP 00004185: JUMP 00004186: JUMPDEST 00004187: PUSH32 0x43616e6e6f74207769746864726177206120626964206e6f74206d6164652062 000041a8: PUSH1 0x00 000041aa: DUP3 000041ab: ADD 000041ac: MSTORE 000041ad: PUSH32 0x79207468652073656e6465722e00000000000000000000000000000000000000 000041ce: PUSH1 0x20 000041d0: DUP3 000041d1: ADD 000041d2: MSTORE 000041d3: POP 000041d4: JUMP 000041d5: JUMPDEST 000041d6: PUSH1 0x00 000041d8: PUSH2 0x41e2 000041db: PUSH1 0x2d 000041dd: DUP4 000041de: PUSH2 0x383c 000041e1: JUMP 000041e2: JUMPDEST 000041e3: SWAP2 000041e4: POP 000041e5: PUSH2 0x41ed 000041e8: DUP3 000041e9: PUSH2 0x4186 000041ec: JUMP 000041ed: JUMPDEST 000041ee: PUSH1 0x40 000041f0: DUP3 000041f1: ADD 000041f2: SWAP1 000041f3: POP 000041f4: SWAP2 000041f5: SWAP1 000041f6: POP 000041f7: JUMP 000041f8: JUMPDEST 000041f9: PUSH1 0x00 000041fb: PUSH1 0x20 000041fd: DUP3 000041fe: ADD 000041ff: SWAP1 00004200: POP 00004201: DUP2 00004202: DUP2 00004203: SUB 00004204: PUSH1 0x00 00004206: DUP4 00004207: ADD 00004208: MSTORE 00004209: PUSH2 0x4211 0000420c: DUP2 0000420d: PUSH2 0x41d5 00004210: JUMP 00004211: JUMPDEST 00004212: SWAP1 00004213: POP 00004214: SWAP2 00004215: SWAP1 00004216: POP 00004217: JUMP 00004218: JUMPDEST 00004219: PUSH32 0x526576657274696e6720626563617573652063616c6c20746f20766972747565 0000423a: PUSH1 0x00 0000423c: DUP3 0000423d: ADD 0000423e: MSTORE 0000423f: PUSH32 0x546f6b656e2e7472616e7366657246726f6d2072657475726e65642066616c73 00004260: PUSH1 0x20 00004262: DUP3 00004263: ADD 00004264: MSTORE 00004265: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 00004286: PUSH1 0x40 00004288: DUP3 00004289: ADD 0000428a: MSTORE 0000428b: POP 0000428c: JUMP 0000428d: JUMPDEST 0000428e: PUSH1 0x00 00004290: PUSH2 0x429a 00004293: PUSH1 0x41 00004295: DUP4 00004296: PUSH2 0x383c 00004299: JUMP 0000429a: JUMPDEST 0000429b: SWAP2 0000429c: POP 0000429d: PUSH2 0x42a5 000042a0: DUP3 000042a1: PUSH2 0x4218 000042a4: JUMP 000042a5: JUMPDEST 000042a6: PUSH1 0x60 000042a8: DUP3 000042a9: ADD 000042aa: SWAP1 000042ab: POP 000042ac: SWAP2 000042ad: SWAP1 000042ae: POP 000042af: JUMP 000042b0: JUMPDEST 000042b1: PUSH1 0x00 000042b3: PUSH1 0x20 000042b5: DUP3 000042b6: ADD 000042b7: SWAP1 000042b8: POP 000042b9: DUP2 000042ba: DUP2 000042bb: SUB 000042bc: PUSH1 0x00 000042be: DUP4 000042bf: ADD 000042c0: MSTORE 000042c1: PUSH2 0x42c9 000042c4: DUP2 000042c5: PUSH2 0x428d 000042c8: JUMP 000042c9: JUMPDEST 000042ca: SWAP1 000042cb: POP 000042cc: SWAP2 000042cd: SWAP1 000042ce: POP 000042cf: JUMP 000042d0: JUMPDEST 000042d1: PUSH32 0x43616e206f6e6c792072656d6f76652061206c697374696e6720776865726520 000042f2: PUSH1 0x00 000042f4: DUP3 000042f5: ADD 000042f6: MSTORE 000042f7: PUSH32 0x6d73672e73656e646572206973207468652073656c6c65720000000000000000 00004318: PUSH1 0x20 0000431a: DUP3 0000431b: ADD 0000431c: MSTORE 0000431d: POP 0000431e: JUMP 0000431f: JUMPDEST 00004320: PUSH1 0x00 00004322: PUSH2 0x432c 00004325: PUSH1 0x38 00004327: DUP4 00004328: PUSH2 0x383c 0000432b: JUMP 0000432c: JUMPDEST 0000432d: SWAP2 0000432e: POP 0000432f: PUSH2 0x4337 00004332: DUP3 00004333: PUSH2 0x42d0 00004336: JUMP 00004337: JUMPDEST 00004338: PUSH1 0x40 0000433a: DUP3 0000433b: ADD 0000433c: SWAP1 0000433d: POP 0000433e: SWAP2 0000433f: SWAP1 00004340: POP 00004341: JUMP 00004342: JUMPDEST 00004343: PUSH1 0x00 00004345: PUSH1 0x20 00004347: DUP3 00004348: ADD 00004349: SWAP1 0000434a: POP 0000434b: DUP2 0000434c: DUP2 0000434d: SUB 0000434e: PUSH1 0x00 00004350: DUP4 00004351: ADD 00004352: MSTORE 00004353: PUSH2 0x435b 00004356: DUP2 00004357: PUSH2 0x431f 0000435a: JUMP 0000435b: JUMPDEST 0000435c: SWAP1 0000435d: POP 0000435e: SWAP2 0000435f: SWAP1 00004360: POP 00004361: JUMP 00004362: JUMPDEST 00004363: PUSH32 0x43616e6e6f742061636365707420612030206269642e00000000000000000000 00004384: PUSH1 0x00 00004386: DUP3 00004387: ADD 00004388: MSTORE 00004389: POP 0000438a: JUMP 0000438b: JUMPDEST 0000438c: PUSH1 0x00 0000438e: PUSH2 0x4398 00004391: PUSH1 0x16 00004393: DUP4 00004394: PUSH2 0x383c 00004397: JUMP 00004398: JUMPDEST 00004399: SWAP2 0000439a: POP 0000439b: PUSH2 0x43a3 0000439e: DUP3 0000439f: PUSH2 0x4362 000043a2: JUMP 000043a3: JUMPDEST 000043a4: PUSH1 0x20 000043a6: DUP3 000043a7: ADD 000043a8: SWAP1 000043a9: POP 000043aa: SWAP2 000043ab: SWAP1 000043ac: POP 000043ad: JUMP 000043ae: JUMPDEST 000043af: PUSH1 0x00 000043b1: PUSH1 0x20 000043b3: DUP3 000043b4: ADD 000043b5: SWAP1 000043b6: POP 000043b7: DUP2 000043b8: DUP2 000043b9: SUB 000043ba: PUSH1 0x00 000043bc: DUP4 000043bd: ADD 000043be: MSTORE 000043bf: PUSH2 0x43c7 000043c2: DUP2 000043c3: PUSH2 0x438b 000043c6: JUMP 000043c7: JUMPDEST 000043c8: SWAP1 000043c9: POP 000043ca: SWAP2 000043cb: SWAP1 000043cc: POP 000043cd: JUMP 000043ce: JUMPDEST 000043cf: PUSH32 0x4578697374696e6720626964206973206c6f776572207468616e207468652073 000043f0: PUSH1 0x00 000043f2: DUP3 000043f3: ADD 000043f4: MSTORE 000043f5: PUSH32 0x7065636966696564205f6d696e50726963652e00000000000000000000000000 00004416: PUSH1 0x20 00004418: DUP3 00004419: ADD 0000441a: MSTORE 0000441b: POP 0000441c: JUMP 0000441d: JUMPDEST 0000441e: PUSH1 0x00 00004420: PUSH2 0x442a 00004423: PUSH1 0x33 00004425: DUP4 00004426: PUSH2 0x383c 00004429: JUMP 0000442a: JUMPDEST 0000442b: SWAP2 0000442c: POP 0000442d: PUSH2 0x4435 00004430: DUP3 00004431: PUSH2 0x43ce 00004434: JUMP 00004435: JUMPDEST 00004436: PUSH1 0x40 00004438: DUP3 00004439: ADD 0000443a: SWAP1 0000443b: POP 0000443c: SWAP2 0000443d: SWAP1 0000443e: POP 0000443f: JUMP 00004440: JUMPDEST 00004441: PUSH1 0x00 00004443: PUSH1 0x20 00004445: DUP3 00004446: ADD 00004447: SWAP1 00004448: POP 00004449: DUP2 0000444a: DUP2 0000444b: SUB 0000444c: PUSH1 0x00 0000444e: DUP4 0000444f: ADD 00004450: MSTORE 00004451: PUSH2 0x4459 00004454: DUP2 00004455: PUSH2 0x441d 00004458: JUMP 00004459: JUMPDEST 0000445a: SWAP1 0000445b: POP 0000445c: SWAP2 0000445d: SWAP1 0000445e: POP 0000445f: JUMP 00004460: JUMPDEST 00004461: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00004482: PUSH1 0x00 00004484: DUP3 00004485: ADD 00004486: MSTORE 00004487: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 000044a8: PUSH1 0x20 000044aa: DUP3 000044ab: ADD 000044ac: MSTORE 000044ad: POP 000044ae: JUMP 000044af: JUMPDEST 000044b0: PUSH1 0x00 000044b2: PUSH2 0x44bc 000044b5: PUSH1 0x26 000044b7: DUP4 000044b8: PUSH2 0x383c 000044bb: JUMP 000044bc: JUMPDEST 000044bd: SWAP2 000044be: POP 000044bf: PUSH2 0x44c7 000044c2: DUP3 000044c3: PUSH2 0x4460 000044c6: JUMP 000044c7: JUMPDEST 000044c8: PUSH1 0x40 000044ca: DUP3 000044cb: ADD 000044cc: SWAP1 000044cd: POP 000044ce: SWAP2 000044cf: SWAP1 000044d0: POP 000044d1: JUMP 000044d2: JUMPDEST 000044d3: PUSH1 0x00 000044d5: PUSH1 0x20 000044d7: DUP3 000044d8: ADD 000044d9: SWAP1 000044da: POP 000044db: DUP2 000044dc: DUP2 000044dd: SUB 000044de: PUSH1 0x00 000044e0: DUP4 000044e1: ADD 000044e2: MSTORE 000044e3: PUSH2 0x44eb 000044e6: DUP2 000044e7: PUSH2 0x44af 000044ea: JUMP 000044eb: JUMPDEST 000044ec: SWAP1 000044ed: POP 000044ee: SWAP2 000044ef: SWAP1 000044f0: POP 000044f1: JUMP 000044f2: JUMPDEST 000044f3: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000 00004514: PUSH1 0x00 00004516: DUP3 00004517: ADD 00004518: MSTORE 00004519: POP 0000451a: JUMP 0000451b: JUMPDEST 0000451c: PUSH1 0x00 0000451e: PUSH2 0x4528 00004521: PUSH1 0x1d 00004523: DUP4 00004524: PUSH2 0x383c 00004527: JUMP 00004528: JUMPDEST 00004529: SWAP2 0000452a: POP 0000452b: PUSH2 0x4533 0000452e: DUP3 0000452f: PUSH2 0x44f2 00004532: JUMP 00004533: JUMPDEST 00004534: PUSH1 0x20 00004536: DUP3 00004537: ADD 00004538: SWAP1 00004539: POP 0000453a: SWAP2 0000453b: SWAP1 0000453c: POP 0000453d: JUMP 0000453e: JUMPDEST 0000453f: PUSH1 0x00 00004541: PUSH1 0x20 00004543: DUP3 00004544: ADD 00004545: SWAP1 00004546: POP 00004547: DUP2 00004548: DUP2 00004549: SUB 0000454a: PUSH1 0x00 0000454c: DUP4 0000454d: ADD 0000454e: MSTORE 0000454f: PUSH2 0x4557 00004552: DUP2 00004553: PUSH2 0x451b 00004556: JUMP 00004557: JUMPDEST 00004558: SWAP1 00004559: POP 0000455a: SWAP2 0000455b: SWAP1 0000455c: POP 0000455d: JUMP 0000455e: JUMPDEST 0000455f: PUSH1 0x00 00004561: DUP2 00004562: SWAP1 00004563: POP 00004564: SWAP3 00004565: SWAP2 00004566: POP 00004567: POP 00004568: JUMP 00004569: JUMPDEST 0000456a: POP 0000456b: JUMP 0000456c: JUMPDEST 0000456d: PUSH1 0x00 0000456f: PUSH2 0x4579 00004572: PUSH1 0x00 00004574: DUP4 00004575: PUSH2 0x455e 00004578: JUMP 00004579: JUMPDEST 0000457a: SWAP2 0000457b: POP 0000457c: PUSH2 0x4584 0000457f: DUP3 00004580: PUSH2 0x4569 00004583: JUMP 00004584: JUMPDEST 00004585: PUSH1 0x00 00004587: DUP3 00004588: ADD 00004589: SWAP1 0000458a: POP 0000458b: SWAP2 0000458c: SWAP1 0000458d: POP 0000458e: JUMP 0000458f: JUMPDEST 00004590: PUSH1 0x00 00004592: PUSH2 0x459a 00004595: DUP3 00004596: PUSH2 0x456c 00004599: JUMP 0000459a: JUMPDEST 0000459b: SWAP2 0000459c: POP 0000459d: DUP2 0000459e: SWAP1 0000459f: POP 000045a0: SWAP2 000045a1: SWAP1 000045a2: POP 000045a3: JUMP 000045a4: JUMPDEST 000045a5: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072 000045c6: PUSH1 0x00 000045c8: DUP3 000045c9: ADD 000045ca: MSTORE 000045cb: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000 000045ec: PUSH1 0x20 000045ee: DUP3 000045ef: ADD 000045f0: MSTORE 000045f1: POP 000045f2: JUMP 000045f3: JUMPDEST 000045f4: PUSH1 0x00 000045f6: PUSH2 0x4600 000045f9: PUSH1 0x3a 000045fb: DUP4 000045fc: PUSH2 0x383c 000045ff: JUMP 00004600: JUMPDEST 00004601: SWAP2 00004602: POP 00004603: PUSH2 0x460b 00004606: DUP3 00004607: PUSH2 0x45a4 0000460a: JUMP 0000460b: JUMPDEST 0000460c: PUSH1 0x40 0000460e: DUP3 0000460f: ADD 00004610: SWAP1 00004611: POP 00004612: SWAP2 00004613: SWAP1 00004614: POP 00004615: JUMP 00004616: JUMPDEST 00004617: PUSH1 0x00 00004619: PUSH1 0x20 0000461b: DUP3 0000461c: ADD 0000461d: SWAP1 0000461e: POP 0000461f: DUP2 00004620: DUP2 00004621: SUB 00004622: PUSH1 0x00 00004624: DUP4 00004625: ADD 00004626: MSTORE 00004627: PUSH2 0x462f 0000462a: DUP2 0000462b: PUSH2 0x45f3 0000462e: JUMP 0000462f: JUMPDEST 00004630: SWAP1 00004631: POP 00004632: SWAP2 00004633: SWAP1 00004634: POP 00004635: JUMP 00004636: JUMPDEST 00004637: PUSH1 0x00 00004639: DUP2 0000463a: MLOAD 0000463b: SWAP1 0000463c: POP 0000463d: SWAP2 0000463e: SWAP1 0000463f: POP 00004640: JUMP 00004641: JUMPDEST 00004642: PUSH1 0x00 00004644: JUMPDEST 00004645: DUP4 00004646: DUP2 00004647: LT 00004648: ISZERO 00004649: PUSH2 0x465f 0000464c: JUMPI 0000464d: DUP1 0000464e: DUP3 0000464f: ADD 00004650: MLOAD 00004651: DUP2 00004652: DUP5 00004653: ADD 00004654: MSTORE 00004655: PUSH1 0x20 00004657: DUP2 00004658: ADD 00004659: SWAP1 0000465a: POP 0000465b: PUSH2 0x4644 0000465e: JUMP 0000465f: JUMPDEST 00004660: DUP4 00004661: DUP2 00004662: GT 00004663: ISZERO 00004664: PUSH2 0x466e 00004667: JUMPI 00004668: PUSH1 0x00 0000466a: DUP5 0000466b: DUP5 0000466c: ADD 0000466d: MSTORE 0000466e: JUMPDEST 0000466f: POP 00004670: POP 00004671: POP 00004672: POP 00004673: JUMP 00004674: JUMPDEST 00004675: PUSH1 0x00 00004677: PUSH1 0x1f 00004679: NOT 0000467a: PUSH1 0x1f 0000467c: DUP4 0000467d: ADD 0000467e: AND 0000467f: SWAP1 00004680: POP 00004681: SWAP2 00004682: SWAP1 00004683: POP 00004684: JUMP 00004685: JUMPDEST 00004686: PUSH1 0x00 00004688: PUSH2 0x4690 0000468b: DUP3 0000468c: PUSH2 0x4636 0000468f: JUMP 00004690: JUMPDEST 00004691: PUSH2 0x469a 00004694: DUP2 00004695: DUP6 00004696: PUSH2 0x383c 00004699: JUMP 0000469a: JUMPDEST 0000469b: SWAP4 0000469c: POP 0000469d: PUSH2 0x46aa 000046a0: DUP2 000046a1: DUP6 000046a2: PUSH1 0x20 000046a4: DUP7 000046a5: ADD 000046a6: PUSH2 0x4641 000046a9: JUMP 000046aa: JUMPDEST 000046ab: PUSH2 0x46b3 000046ae: DUP2 000046af: PUSH2 0x4674 000046b2: JUMP 000046b3: JUMPDEST 000046b4: DUP5 000046b5: ADD 000046b6: SWAP2 000046b7: POP 000046b8: POP 000046b9: SWAP3 000046ba: SWAP2 000046bb: POP 000046bc: POP 000046bd: JUMP 000046be: JUMPDEST 000046bf: PUSH1 0x00 000046c1: PUSH1 0x20 000046c3: DUP3 000046c4: ADD 000046c5: SWAP1 000046c6: POP 000046c7: DUP2 000046c8: DUP2 000046c9: SUB 000046ca: PUSH1 0x00 000046cc: DUP4 000046cd: ADD 000046ce: MSTORE 000046cf: PUSH2 0x46d8 000046d2: DUP2 000046d3: DUP5 000046d4: PUSH2 0x4685 000046d7: JUMP 000046d8: JUMPDEST 000046d9: SWAP1 000046da: POP 000046db: SWAP3 000046dc: SWAP2 000046dd: POP 000046de: POP 000046df: JUMP 000046e0: INVALID 000046e1: LOG2 000046e2: PUSH5 0x6970667358 000046e8: UNKNOWN(0x22) 000046e9: SLT 000046ea: KECCAK256 000046eb: UNKNOWN(0x2D) 000046ec: PUSH10 0x38282c9d665a3deb5e71 000046f7: UNKNOWN(0xFC) 000046f8: SWAP13 000046f9: PUSH6 0x12a652aee354 00004700: EXTCODESIZE 00004701: CALLDATACOPY 00004702: MCOPY 00004703: UNKNOWN(0xC1) 00004704: UNKNOWN(0x0E) 00004705: SWAP11 00004706: STOP 00004707: EXP 00004708: UNKNOWN(0xB4) 00004709: UNKNOWN(0xBC) 0000470a: LT 0000470b: PUSH5 0x736f6c6343 00004711: STOP 00004712: ADDMOD 00004713: MULMOD 00004714: STOP 00004715: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | reentrancy | codex | Reentrancy enables double-withdraw of staked VIRTUE | 85 | no | — |
viewevidence_json{
"evidence": "`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.",
"locations": [
"contracts/VirtueStaking.sol:92",
"contracts/VirtueStaking.sol:119",
"contracts/VirtueStaking.sol:131",
"contracts/VirtueStaking.sol:214"
],
"recommendation": "Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.",
"exploit_scenario": "A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked."
}
|
| medium | math | codex | Slashing can cause underflow and permanently block reward updates | 75 | no | — |
viewevidence_json{
"evidence": "`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.",
"locations": [
"contracts/IdolMain.sol:288",
"contracts/IdolMain.sol:295",
"contracts/IdolMain.sol:297"
],
"recommendation": "Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.",
"exploit_scenario": "If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH."
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7
call_targets:
0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7"
],
"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": "0xec81290e",
"selector": "0xec81290e",
"calldata_variants": [
"0xec81290e",
"0xec81290e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeee10501",
"selector": "0xeee10501",
"calldata_variants": [
"0xeee10501",
"0xeee105010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3f43703",
"selector": "0xf3f43703",
"calldata_variants": [
"0xf3f43703",
"0xf3f437030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd55a23f4",
"selector": "0xd55a23f4",
"calldata_variants": [
"0xd55a23f4",
"0xd55a23f40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xda2d09c1",
"selector": "0xda2d09c1",
"calldata_variants": [
"0xda2d09c1",
"0xda2d09c10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdbe1499a",
"selector": "0xdbe1499a",
"calldata_variants": [
"0xdbe1499a",
"0xdbe1499a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddeeacec",
"selector": "0xddeeacec",
"calldata_variants": [
"0xddeeacec",
"0xddeeacec0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4868,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5243,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5627,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 9,
"guards_detected": [
{
"pc": 4001,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7564,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 8531,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10745,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 11117,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7
call_targets:
0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7"
],
"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": "0xec81290e",
"selector": "0xec81290e",
"calldata_variants": [
"0xec81290e",
"0xec81290e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeee10501",
"selector": "0xeee10501",
"calldata_variants": [
"0xeee10501",
"0xeee105010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3f43703",
"selector": "0xf3f43703",
"calldata_variants": [
"0xf3f43703",
"0xf3f437030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd55a23f4",
"selector": "0xd55a23f4",
"calldata_variants": [
"0xd55a23f4",
"0xd55a23f40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xda2d09c1",
"selector": "0xda2d09c1",
"calldata_variants": [
"0xda2d09c1",
"0xda2d09c10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdbe1499a",
"selector": "0xdbe1499a",
"calldata_variants": [
"0xdbe1499a",
"0xdbe1499a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddeeacec",
"selector": "0xddeeacec",
"calldata_variants": [
"0xddeeacec",
"0xddeeacec0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4868,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5243,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5627,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 9,
"guards_detected": [
{
"pc": 4001,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7564,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 8531,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10745,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 11117,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 9
}
|
| low | math | codex | Division by zero when no VIRTUE is staked can revert sales/reward distribution | 65 | no | — |
viewevidence_json{
"evidence": "`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.",
"locations": [
"contracts/VirtueStaking.sol:204"
],
"recommendation": "Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.",
"exploit_scenario": "If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept."
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 17
}
|
| 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": 16
}
|