63826368-2868-4338-bf44-3f1ac9518ef4
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 |
|---|---|---|---|---|
| 30335 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74194 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 74195 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 74196 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 74197 | capability.graph | complete | 1 / 3 | 1 week ago |
| 74198 | detector.run | complete | 1 / 3 | 1 week ago |
| 74199 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:569739] OpenAI Codex v0.77.0 (research preview)
[codex:569739] --------
[codex:569739] workdir: /tmp/codex-multi-ozwh7lpr
[codex:569739] model: gpt-5.2-codex
[codex:569739] provider: openai
[codex:569739] approval: never
[codex:569739] sandbox: read-only
[codex:569739] reasoning effort: xhigh
[codex:569739] reasoning summaries: auto
[codex:569739] session id: 019b65ea-e360-7171-aab8-0c3ab7867666
[codex:569739] --------
[codex:569739] user
[codex:569739] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:569739] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:569739] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:569739]
[codex:569739] Scope rules:
[codex:569739] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:569739] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:569739]
[codex:569739] Output MUST be valid JSON matching the provided schema.
[codex:569739] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:569739] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:569739]
[codex:569739] Output constraints (IMPORTANT):
[codex:569739] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:569739] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:569739] mcp startup: no servers
[codex:569739]
[codex:569739] thinking
[codex:569739] **Reading AUDIT_BUNDLE.txt**
[codex:569739] exec
[codex:569739] /bin/bash -lc ls in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739] AUDIT_BUNDLE.txt
[codex:569739] codex-output-schema.json
[codex:569739] contracts
[codex:569739] exec
[codex:569739] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:569739]
[codex:569739] ================================================================================
[codex:569739] FILE: contracts/Contract.sol
[codex:569739] ================================================================================
[codex:569739] /**
[codex:569739] *Submitted for verification at Etherscan.io on 2025-07-11
[codex:569739] */
[codex:569739]
[codex:569739] // Sources flattened with hardhat v2.1.1 https://hardhat.org
[codex:569739]
[codex:569739] // File solidity/contracts/@openzeppelin/contracts/IERC20.sol
[codex:569739]
[codex:569739] // SPDX-License-Identifier: MIT
[codex:569739]
[codex:569739] pragma solidity ^0.8.0;
[codex:569739]
[codex:569739] /**
[codex:569739] * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:569739] */
[codex:569739]
[codex:569739] thinking
[codex:569739] **Preparing for audit by identifying first-party contracts**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "contract|library|interface" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 4:FILE: contracts/Contract.sol
[codex:569739] 12:// File solidity/contracts/@openzeppelin/contracts/IERC20.sol
[codex:569739] 21:interface IERC20 {
[codex:569739] 93:// File solidity/contracts/@openzeppelin/contracts/utils/Address.sol
[codex:569739] 102:library Address {
[codex:569739] 104: * @dev Returns true if `account` is a contract.
[codex:569739] 109: * false is an externally-owned account (EOA) and not a contract.
[codex:569739] 115: * - a contract in construction
[codex:569739] 116: * - an address where a contract will be created
[codex:569739] 117: * - an address where a contract lived, but was destroyed
[codex:569739] 121: // This method relies on extcodesize, which returns 0 for contracts in
[codex:569739] 136: * of certain opcodes, possibly making contracts go over the 2300 gas limit
[codex:569739] 168: * - `target` must be a contract.
[codex:569739] 193: * - the calling contract must have an ETH balance of at least `value`.
[codex:569739] 210: require(isContract(target), "Address: call to non-contract");
[codex:569739] 234: require(isContract(target), "Address: static call to non-contract");
[codex:569739] 258: require(isContract(target), "Address: delegate call to non-contract");
[codex:569739] 286:// File solidity/contracts/@openzeppelin/contracts/SafeERC20.sol
[codex:569739] 296: * contract returns false). Tokens that return no value (and instead revert or
[codex:569739] 299: * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,
[codex:569739]
[codex:569739] thinking
[codex:569739] **Analyzing first-party contracts and dependencies**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "CosmosERC20|Peggy|OwnableUpgradeableWithExpiry" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ozwh7lpr succeeded in 8ms:
[codex:569739] 975:contract CosmosERC20 is ERC20 {
[codex:569739] 995:// File solidity/contracts/@openzeppelin/contracts/OwnableUpgradeableWithExpiry.sol
[codex:569739] 1014:abstract contract OwnableUpgradeableWithExpiry is Initializable, ContextUpgradeable {
[codex:569739] 1105:// File solidity/contracts/Peggy.sol
[codex:569739] 1135:contract Peggy is
[codex:569739] 1137: OwnableUpgradeableWithExpiry,
[codex:569739]
[codex:569739] thinking
[codex:569739] **Examining CosmosERC20 contract segment**
[codex:569739] exec
[codex:569739] /bin/bash -lc "sed -n '930,1015p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739]
[codex:569739] /**
[codex:569739] * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
[codex:569739] *
[codex:569739] * This internal function is equivalent to `approve`, and can be used to
[codex:569739] * e.g. set automatic allowances for certain subsystems, etc.
[codex:569739] *
[codex:569739] * Emits an {Approval} event.
[codex:569739] *
[codex:569739] * Requirements:
[codex:569739] *
[codex:569739] * - `owner` cannot be the zero address.
[codex:569739] * - `spender` cannot be the zero address.
[codex:569739] */
[codex:569739] function _approve(address owner, address spender, uint256 amount) internal virtual {
[codex:569739] require(owner != address(0), "ERC20: approve from the zero address");
[codex:569739] require(spender != address(0), "ERC20: approve to the zero address");
[codex:569739]
[codex:569739] _allowances[owner][spender] = amount;
[codex:569739] emit Approval(owner, spender, amount);
[codex:569739]
[codex:569739]
[codex:569739] thinking
[codex:569739] **Examining upgradeability and signature risks**
[codex:569739] thinking
[codex:569739] **Assessing batch processing and reentrancy details**
[codex:569739]
[codex:569739] There is a lot here! I’m considering how batch nonce use, token transfers, and event nonce sequencing work together, especially focusing on reentrancy risks in updateValset due to external token transfers without a guard. The reentrancy could cause event order inconsistencies that might confuse off-chain consumers, which is subtle but worth noting. I’m also weighing how token behaviors like fee-on-transfer might affect bridging accuracy. Let’s keep analyzing carefully!
[codex:569739] exec
[codex:569739] /bin/bash -lc "sed -n '995,1135p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739] // File solidity/contracts/@openzeppelin/contracts/OwnableUpgradeableWithExpiry.sol
[codex:569739]
[codex:569739]
[codex:569739]
[codex:569739] pragma solidity ^0.8.0;
[codex:569739]
[codex:569739]
[codex:569739] /**
[codex:569739] * @dev Contract module which provides a basic access control mechanism, where
[codex:569739] * there is an account (an owner) that can be granted exclusive access to
[codex:569739] * specific functions.
[codex:569739] *
[codex:569739] * By default, the owner account will be the one that deploys the contract. This
[codex:569739] * can later be changed with {transferOwnership}.
[codex:569739] *
[codex:569739] * This module is used through inheritance. It will make available the modifier
[codex:569739] * `onlyOwner`, which can be applied to your functions to restrict their use to
[codex:569739] * the owner.
[codex:569739] */
[codex:569739] abstract contract OwnableUpgradeableWithExpiry is Initializable, ContextUpgradeable {
[codex:569739]
[codex:569739]
[codex:569739]
[codex:569739] thinking
[codex:569739] **Evaluating subtle contract issues and risks**
[codex:569739]
[codex:569739] I'm examining nuanced potential vulnerabilities like unprotected upgradeable initialization, reentrancy risks from external calls in updateValset, event nonce ordering inconsistencies due to reentrancy, and edge cases in signature validation and power threshold checks. The interaction between event emissions and off-chain bridging reliability draws my attention, especially how reentrant calls might misalign event ordering with on-chain state, possibly impacting cross-chain consensus. Overall, I’m weighing these as mostly low severity or design trade-offs rather than clear exploitable holes.
[codex:569739] thinking
[codex:569739] **Analyzing complex reentrancy and signature scenarios**
[codex:569739]
[codex:569739] I'm exploring how a malicious reward token might reenter updateValset, potentially causing event reorder or multiple valset updates in one transaction if signatures are pre-obtained. Still, exploiting this requires validator collusion or valid signatures, limiting risk. I’m also considering upgradeable contract initialization risks, event nonce handling, and the subtleties of signature domain separation relying solely on peggyId, which could enable cross-deployment replay if reused. Additionally, the potential denial of service if rewards are promised but insufficient tokens exist for payout stands out as an invariant risk tied to validator-controlled parameters rather than external attack.
[codex:569739] thinking
[codex:569739] **Summarizing audit findings and next steps**
[codex:569739]
[codex:569739] I’m consolidating two main findings: the potential exploit if the upgradeable contract isn’t initialized atomically, allowing unauthorized initialization, and a low-severity reentrancy risk from reward token transfers in updateValset causing event ordering inconsistencies. I’m also preparing to confirm file paths and line numbers in contracts/Peggy.sol to produce a precise, evidence-backed report.
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "function initialize|updateValset" contracts/Peggy.sol' in /tmp/codex-multi-ozwh7lpr exited 2 in 7ms:
[codex:569739] rg: contracts/Peggy.sol: IO error for operation on contracts/Peggy.sol: No such file or directory (os error 2)
[codex:569739]
[codex:569739] thinking
[codex:569739] **Checking for contracts directory**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'ls contracts' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] Contract.sol
[codex:569739]
[codex:569739] thinking
[codex:569739] **Preparing to locate function definitions**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "function initialize" contracts/Contract.sol' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 1186: function initialize(
[codex:569739]
[codex:569739] thinking
[codex:569739] **Identifying external call lines**
[codex:569739] exec
[codex:569739] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1170,1320p'" in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 1170 string _cosmosDenom,
[codex:569739] 1171 address indexed _tokenContract,
[codex:569739] 1172 string _name,
[codex:569739] 1173 string _symbol,
[codex:569739] 1174 uint8 _decimals,
[codex:569739] 1175 uint256 _eventNonce
[codex:569739] 1176 );
[codex:569739] 1177 event ValsetUpdatedEvent(
[codex:569739] 1178 uint256 indexed _newValsetNonce,
[codex:569739] 1179 uint256 _eventNonce,
[codex:569739] 1180 uint256 _rewardAmount,
[codex:569739] 1181 address _rewardToken,
[codex:569739] 1182 address[] _validators,
[codex:569739] 1183 uint256[] _powers
[codex:569739] 1184 );
[codex:569739] 1185
[codex:569739] 1186 function initialize(
[codex:569739] 1187 // A unique identifier for this peggy instance to use in signatures
[codex:569739] 1188 bytes32 _peggyId,
[codex:569739] 1189 // How much voting power is needed to approve operations
[codex:569739]
[codex:569739] thinking
[codex:569739] **Continuing to add updateValset call**
[codex:569739] exec
[codex:569739] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1380,1515p'" in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 1380 );
[codex:569739] 1381
[codex:569739] 1382 // Check that the supplied current validator set matches the saved checkpoint
[codex:569739] 1383 require(
[codex:569739] 1384 makeCheckpoint(_currentValset, state_peggyId) ==
[codex:569739] 1385 state_lastValsetCheckpoint,
[codex:569739] 1386 "Supplied current validators and powers do not match checkpoint."
[codex:569739] 1387 );
[codex:569739] 1388
[codex:569739] 1389 // Check that enough current validators have signed off on the new validator set
[codex:569739] 1390 bytes32 newCheckpoint = makeCheckpoint(_newValset, state_peggyId);
[codex:569739] 1391 checkValidatorSignatures(
[codex:569739] 1392 _currentValset.validators,
[codex:569739] 1393 _currentValset.powers,
[codex:569739] 1394 _v,
[codex:569739] 1395 _r,
[codex:569739] 1396 _s,
[codex:569739] 1397 newCheckpoint,
[codex:569739] 1398 state_powerThreshold
[codex:569739] 1399 );
[codex:569739]
[codex:569739]
[codex:569739] thinking
[codex:569739] **Evaluating upgradeability and reentrancy risks**
[codex:569739] thinking
[codex:569739] **Detailing audit findings and report structure**
[codex:569739]
[codex:569739] I'll focus on formalizing the uninitialized upgradeability risk as a medium-severity finding and a minor reentrancy note, then prepare JSON following the required schema including summary, severity, category, exploit scenario, recommendation, and evidence with code locations.
[codex:569739] exec
[codex:569739] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:569739]
[codex:569739] thinking
[codex:569739] **Summarizing security findings with details**
[codex:569739]
[codex:569739] I'm compiling detailed findings on upgradeability and reentrancy issues, noting code locations and evidence to explain risks and recommended fixes clearly.
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "function updateValset" contracts/Contract.sol' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 1349: function updateValset(
[codex:569739]
[codex:569739] thinking
[codex:569739] **Summarizing audit findings**
[codex:569739]
[codex:569739] I’m consolidating two main findings: a high-severity risk of unprotected initialization that could let attackers control the bridge if deployment isn’t atomic, and a low-severity reentrancy issue in `updateValset` via malicious reward tokens causing event desynchronization. I’m carefully outlining exploit scenarios, evidence lines, severity, and recommendations before producing the final JSON output.
[codex:569739] codex
[codex:569739] {"no_findings":false,"summary":"Two issues identified: an initializer front‑run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.","findings":[{"severity":"high","category":"upgradeability","title":"Initializer can be front‑run on uninitialized deployments","exploit_scenario":"If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge.","recommendation":"Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).","evidence":"`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).","locations":["contracts/Contract.sol:1186"]},{"severity":"low","category":"reentrancy","title":"Reward token transfer in updateValset allows reentrancy into state-changing logic","exploit_scenario":"If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre‑signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off‑chain relayers.","recommendation":"Add `nonReentrant` to `updateValset` or adopt a pull‑reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.","evidence":"`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.","locations":["contracts/Contract.sol:1349","contracts/Contract.sol:1410"]}]}
[codex:569739] tokens used
[codex:569739] 76,473
[codex:569739] {"no_findings":false,"summary":"Two issues identified: an initializer front‑run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.","findings":[{"severity":"high","category":"upgradeability","title":"Initializer can be front‑run on uninitialized deployments","exploit_scenario":"If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge.","recommendation":"Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).","evidence":"`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).","locations":["contracts/Contract.sol:1186"]},{"severity":"low","category":"reentrancy","title":"Reward token transfer in updateValset allows reentrancy into state-changing logic","exploit_scenario":"If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre‑signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off‑chain relayers.","recommendation":"Add `nonReentrant` to `updateValset` or adopt a pull‑reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.","evidence":"`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.","locations":["contracts/Contract.sol:1349","contracts/Contract.sol:1410"]}]}
{
"codex": {
"ran_at": "2025-12-28T17:11:35.812932+00:00",
"returncode": 0
},
"summary": "Two issues identified: an initializer front\u2011run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.",
"raw_final": {
"summary": "Two issues identified: an initializer front\u2011run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.",
"findings": [
{
"title": "Initializer can be front\u2011run on uninitialized deployments",
"category": "upgradeability",
"evidence": "`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).",
"severity": "high",
"locations": [
"contracts/Contract.sol:1186"
],
"recommendation": "Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).",
"exploit_scenario": "If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge."
},
{
"title": "Reward token transfer in updateValset allows reentrancy into state-changing logic",
"category": "reentrancy",
"evidence": "`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.",
"severity": "low",
"locations": [
"contracts/Contract.sol:1349",
"contracts/Contract.sol:1410"
],
"recommendation": "Add `nonReentrant` to `updateValset` or adopt a pull\u2011reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.",
"exploit_scenario": "If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre\u2011signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off\u2011chain relayers."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x0142 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x8c64865f 00000026: GT 00000027: PUSH2 0x00b8 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xc359a212 00000031: GT 00000032: PUSH2 0x007c 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xc359a212 0000003c: EQ 0000003d: PUSH2 0x0230 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xdf97174b 00000047: EQ 00000048: PUSH2 0x0243 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xe5a2b5d2 00000052: EQ 00000053: PUSH2 0x0256 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf2b53307 0000005d: EQ 0000005e: PUSH2 0x025e 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xf2fde38b 00000068: EQ 00000069: PUSH2 0x0266 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0xf7955637 00000073: EQ 00000074: PUSH2 0x0279 00000077: JUMPI 00000078: PUSH2 0x0142 0000007b: JUMP 0000007c: JUMPDEST 0000007d: DUP1 0000007e: PUSH4 0x8c64865f 00000083: EQ 00000084: PUSH2 0x01e5 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0x8da5cb5b 0000008e: EQ 0000008f: PUSH2 0x01ed 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xa5352f5b 00000099: EQ 0000009a: PUSH2 0x0202 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0xb24614f2 000000a4: EQ 000000a5: PUSH2 0x0215 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0xb56561fe 000000af: EQ 000000b0: PUSH2 0x0228 000000b3: JUMPI 000000b4: PUSH2 0x0142 000000b7: JUMP 000000b8: JUMPDEST 000000b9: DUP1 000000ba: PUSH4 0x5c975abb 000000bf: GT 000000c0: PUSH2 0x010a 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x5c975abb 000000ca: EQ 000000cb: PUSH2 0x019f 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x69dd3908 000000d5: EQ 000000d6: PUSH2 0x01a7 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x715018a6 000000e0: EQ 000000e1: PUSH2 0x01af 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0x73b20547 000000eb: EQ 000000ec: PUSH2 0x01b7 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0x7dfb6f86 000000f6: EQ 000000f7: PUSH2 0x01bf 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x81747418 00000101: EQ 00000102: PUSH2 0x01d2 00000105: JUMPI 00000106: PUSH2 0x0142 00000109: JUMP 0000010a: JUMPDEST 0000010b: DUP1 0000010c: PUSH4 0x011b2174 00000111: EQ 00000112: PUSH2 0x0147 00000115: JUMPI 00000116: DUP1 00000117: PUSH4 0x1ee7a108 0000011c: EQ 0000011d: PUSH2 0x0170 00000120: JUMPI 00000121: DUP1 00000122: PUSH4 0x4a4e3bd5 00000127: EQ 00000128: PUSH2 0x0178 0000012b: JUMPI 0000012c: DUP1 0000012d: PUSH4 0x51858e27 00000132: EQ 00000133: PUSH2 0x0182 00000136: JUMPI 00000137: DUP1 00000138: PUSH4 0x5afe97bb 0000013d: EQ 0000013e: PUSH2 0x018a 00000141: JUMPI 00000142: JUMPDEST 00000143: PUSH1 0x00 00000145: DUP1 00000146: REVERT 00000147: JUMPDEST 00000148: PUSH2 0x015a 0000014b: PUSH2 0x0155 0000014e: CALLDATASIZE 0000014f: PUSH1 0x04 00000151: PUSH2 0x185d 00000154: JUMP 00000155: JUMPDEST 00000156: PUSH2 0x028c 00000159: JUMP 0000015a: JUMPDEST 0000015b: PUSH1 0x40 0000015d: MLOAD 0000015e: PUSH2 0x0167 00000161: SWAP2 00000162: SWAP1 00000163: PUSH2 0x1ddc 00000166: JUMP 00000167: JUMPDEST 00000168: PUSH1 0x40 0000016a: MLOAD 0000016b: DUP1 0000016c: SWAP2 0000016d: SUB 0000016e: SWAP1 0000016f: RETURN 00000170: JUMPDEST 00000171: PUSH2 0x015a 00000174: PUSH2 0x02ab 00000177: JUMP 00000178: JUMPDEST 00000179: PUSH2 0x0180 0000017c: PUSH2 0x02c4 0000017f: JUMP 00000180: JUMPDEST 00000181: STOP 00000182: JUMPDEST 00000183: PUSH2 0x0180 00000186: PUSH2 0x0316 00000189: JUMP 0000018a: JUMPDEST 0000018b: PUSH2 0x0192 0000018e: PUSH2 0x035d 00000191: JUMP 00000192: JUMPDEST 00000193: PUSH1 0x40 00000195: MLOAD 00000196: PUSH2 0x0167 00000199: SWAP2 0000019a: SWAP1 0000019b: PUSH2 0x1dd1 0000019e: JUMP 0000019f: JUMPDEST 000001a0: PUSH2 0x0192 000001a3: PUSH2 0x036e 000001a6: JUMP 000001a7: JUMPDEST 000001a8: PUSH2 0x015a 000001ab: PUSH2 0x0377 000001ae: JUMP 000001af: JUMPDEST 000001b0: PUSH2 0x0180 000001b3: PUSH2 0x037d 000001b6: JUMP 000001b7: JUMPDEST 000001b8: PUSH2 0x015a 000001bb: PUSH2 0x03c4 000001be: JUMP 000001bf: JUMPDEST 000001c0: PUSH2 0x015a 000001c3: PUSH2 0x01cd 000001c6: CALLDATASIZE 000001c7: PUSH1 0x04 000001c9: PUSH2 0x18fd 000001cc: JUMP 000001cd: JUMPDEST 000001ce: PUSH2 0x03ca 000001d1: JUMP 000001d2: JUMPDEST 000001d3: PUSH2 0x0180 000001d6: PUSH2 0x01e0 000001d9: CALLDATASIZE 000001da: PUSH1 0x04 000001dc: PUSH2 0x1b19 000001df: JUMP 000001e0: JUMPDEST 000001e1: PUSH2 0x03dc 000001e4: JUMP 000001e5: JUMPDEST 000001e6: PUSH2 0x0180 000001e9: PUSH2 0x06e7 000001ec: JUMP 000001ed: JUMPDEST 000001ee: PUSH2 0x01f5 000001f1: PUSH2 0x070b 000001f4: JUMP 000001f5: JUMPDEST 000001f6: PUSH1 0x40 000001f8: MLOAD 000001f9: PUSH2 0x0167 000001fc: SWAP2 000001fd: SWAP1 000001fe: PUSH2 0x1d80 00000201: JUMP 00000202: JUMPDEST 00000203: PUSH2 0x0180 00000206: PUSH2 0x0210 00000209: CALLDATASIZE 0000020a: PUSH1 0x04 0000020c: PUSH2 0x1a3c 0000020f: JUMP 00000210: JUMPDEST 00000211: PUSH2 0x071a 00000214: JUMP 00000215: JUMPDEST 00000216: PUSH2 0x0180 00000219: PUSH2 0x0223 0000021c: CALLDATASIZE 0000021d: PUSH1 0x04 0000021f: PUSH2 0x1877 00000222: JUMP 00000223: JUMPDEST 00000224: PUSH2 0x0a6e 00000227: JUMP 00000228: JUMPDEST 00000229: PUSH2 0x015a 0000022c: PUSH2 0x0b3a 0000022f: JUMP 00000230: JUMPDEST 00000231: PUSH2 0x0180 00000234: PUSH2 0x023e 00000237: CALLDATASIZE 00000238: PUSH1 0x04 0000023a: PUSH2 0x1915 0000023d: JUMP 0000023e: JUMPDEST 0000023f: PUSH2 0x0b40 00000242: JUMP 00000243: JUMPDEST 00000244: PUSH2 0x015a 00000247: PUSH2 0x0251 0000024a: CALLDATASIZE 0000024b: PUSH1 0x04 0000024d: PUSH2 0x185d 00000250: JUMP 00000251: JUMPDEST 00000252: PUSH2 0x0d7e 00000255: JUMP 00000256: JUMPDEST 00000257: PUSH2 0x015a 0000025a: PUSH2 0x0d90 0000025d: JUMP 0000025e: JUMPDEST 0000025f: PUSH2 0x015a 00000262: PUSH2 0x0d96 00000265: JUMP 00000266: JUMPDEST 00000267: PUSH2 0x0180 0000026a: PUSH2 0x0274 0000026d: CALLDATASIZE 0000026e: PUSH1 0x04 00000270: PUSH2 0x185d 00000273: JUMP 00000274: JUMPDEST 00000275: PUSH2 0x0d9c 00000278: JUMP 00000279: JUMPDEST 0000027a: PUSH2 0x0180 0000027d: PUSH2 0x0287 00000280: CALLDATASIZE 00000281: PUSH1 0x04 00000283: PUSH2 0x1995 00000286: JUMP 00000287: JUMPDEST 00000288: PUSH2 0x0e5d 0000028b: JUMP 0000028c: JUMPDEST 0000028d: PUSH1 0x01 0000028f: PUSH1 0x01 00000291: PUSH1 0xa0 00000293: SHL 00000294: SUB 00000295: DUP2 00000296: AND 00000297: PUSH1 0x00 00000299: SWAP1 0000029a: DUP2 0000029b: MSTORE 0000029c: PUSH1 0x69 0000029e: PUSH1 0x20 000002a0: MSTORE 000002a1: PUSH1 0x40 000002a3: SWAP1 000002a4: KECCAK256 000002a5: SLOAD 000002a6: JUMPDEST 000002a7: SWAP2 000002a8: SWAP1 000002a9: POP 000002aa: JUMP 000002ab: JUMPDEST 000002ac: PUSH1 0x00 000002ae: PUSH1 0x34 000002b0: SLOAD 000002b1: PUSH4 0x02f4bd00 000002b6: PUSH2 0x02bf 000002b9: SWAP2 000002ba: SWAP1 000002bb: PUSH2 0x2556 000002be: JUMP 000002bf: JUMPDEST 000002c0: SWAP1 000002c1: POP 000002c2: SWAP1 000002c3: JUMP 000002c4: JUMPDEST 000002c5: PUSH2 0x02cc 000002c8: PUSH2 0x0e75 000002cb: JUMP 000002cc: JUMPDEST 000002cd: PUSH1 0x01 000002cf: PUSH1 0x01 000002d1: PUSH1 0xa0 000002d3: SHL 000002d4: SUB 000002d5: AND 000002d6: PUSH2 0x02dd 000002d9: PUSH2 0x070b 000002dc: JUMP 000002dd: JUMPDEST 000002de: PUSH1 0x01 000002e0: PUSH1 0x01 000002e2: PUSH1 0xa0 000002e4: SHL 000002e5: SUB 000002e6: AND 000002e7: EQ 000002e8: PUSH2 0x030c 000002eb: JUMPI 000002ec: PUSH1 0x40 000002ee: MLOAD 000002ef: PUSH3 0x461bcd 000002f3: PUSH1 0xe5 000002f5: SHL 000002f6: DUP2 000002f7: MSTORE 000002f8: PUSH1 0x04 000002fa: ADD 000002fb: PUSH2 0x0303 000002fe: SWAP1 000002ff: PUSH2 0x21f7 00000302: JUMP 00000303: JUMPDEST 00000304: PUSH1 0x40 00000306: MLOAD 00000307: DUP1 00000308: SWAP2 00000309: SUB 0000030a: SWAP1 0000030b: REVERT 0000030c: JUMPDEST 0000030d: PUSH2 0x0314 00000310: PUSH2 0x0e79 00000313: JUMP 00000314: JUMPDEST 00000315: JUMP 00000316: JUMPDEST 00000317: PUSH2 0x031e 0000031a: PUSH2 0x0e75 0000031d: JUMP 0000031e: JUMPDEST 0000031f: PUSH1 0x01 00000321: PUSH1 0x01 00000323: PUSH1 0xa0 00000325: SHL 00000326: SUB 00000327: AND 00000328: PUSH2 0x032f 0000032b: PUSH2 0x070b 0000032e: JUMP 0000032f: JUMPDEST 00000330: PUSH1 0x01 00000332: PUSH1 0x01 00000334: PUSH1 0xa0 00000336: SHL 00000337: SUB 00000338: AND 00000339: EQ 0000033a: PUSH2 0x0355 0000033d: JUMPI 0000033e: PUSH1 0x40 00000340: MLOAD 00000341: PUSH3 0x461bcd 00000345: PUSH1 0xe5 00000347: SHL 00000348: DUP2 00000349: MSTORE 0000034a: PUSH1 0x04 0000034c: ADD 0000034d: PUSH2 0x0303 00000350: SWAP1 00000351: PUSH2 0x21f7 00000354: JUMP 00000355: JUMPDEST 00000356: PUSH2 0x0314 00000359: PUSH2 0x0ee7 0000035c: JUMP 0000035d: JUMPDEST 0000035e: PUSH1 0x00 00000360: PUSH2 0x0367 00000363: PUSH2 0x02ab 00000366: JUMP 00000367: JUMPDEST 00000368: TIMESTAMP 00000369: GT 0000036a: SWAP1 0000036b: POP 0000036c: SWAP1 0000036d: JUMP 0000036e: JUMPDEST 0000036f: PUSH1 0x66 00000371: SLOAD 00000372: PUSH1 0xff 00000374: AND 00000375: SWAP1 00000376: JUMP 00000377: JUMPDEST 00000378: PUSH1 0x6d 0000037a: SLOAD 0000037b: DUP2 0000037c: JUMP 0000037d: JUMPDEST 0000037e: PUSH2 0x0385 00000381: PUSH2 0x0e75 00000384: JUMP 00000385: JUMPDEST 00000386: PUSH1 0x01 00000388: PUSH1 0x01 0000038a: PUSH1 0xa0 0000038c: SHL 0000038d: SUB 0000038e: AND 0000038f: PUSH2 0x0396 00000392: PUSH2 0x070b 00000395: JUMP 00000396: JUMPDEST 00000397: PUSH1 0x01 00000399: PUSH1 0x01 0000039b: PUSH1 0xa0 0000039d: SHL 0000039e: SUB 0000039f: AND 000003a0: EQ 000003a1: PUSH2 0x03bc 000003a4: JUMPI 000003a5: PUSH1 0x40 000003a7: MLOAD 000003a8: PUSH3 0x461bcd 000003ac: PUSH1 0xe5 000003ae: SHL 000003af: DUP2 000003b0: MSTORE 000003b1: PUSH1 0x04 000003b3: ADD 000003b4: PUSH2 0x0303 000003b7: SWAP1 000003b8: PUSH2 0x21f7 000003bb: JUMP 000003bc: JUMPDEST 000003bd: PUSH2 0x0314 000003c0: PUSH2 0x0f42 000003c3: JUMP 000003c4: JUMPDEST 000003c5: PUSH1 0x6c 000003c7: SLOAD 000003c8: DUP2 000003c9: JUMP 000003ca: JUMPDEST 000003cb: PUSH1 0x6a 000003cd: PUSH1 0x20 000003cf: MSTORE 000003d0: PUSH1 0x00 000003d2: SWAP1 000003d3: DUP2 000003d4: MSTORE 000003d5: PUSH1 0x40 000003d7: SWAP1 000003d8: KECCAK256 000003d9: SLOAD 000003da: DUP2 000003db: JUMP 000003dc: JUMPDEST 000003dd: PUSH1 0x02 000003df: PUSH1 0x67 000003e1: SLOAD 000003e2: EQ 000003e3: ISZERO 000003e4: PUSH2 0x03ff 000003e7: JUMPI 000003e8: PUSH1 0x40 000003ea: MLOAD 000003eb: PUSH3 0x461bcd 000003ef: PUSH1 0xe5 000003f1: SHL 000003f2: DUP2 000003f3: MSTORE 000003f4: PUSH1 0x04 000003f6: ADD 000003f7: PUSH2 0x0303 000003fa: SWAP1 000003fb: PUSH2 0x23fe 000003fe: JUMP 000003ff: JUMPDEST 00000400: PUSH1 0x02 00000402: PUSH1 0x67 00000404: SSTORE 00000405: PUSH2 0x040c 00000408: PUSH2 0x036e 0000040b: JUMP 0000040c: JUMPDEST 0000040d: ISZERO 0000040e: PUSH2 0x0429 00000411: JUMPI 00000412: PUSH1 0x40 00000414: MLOAD 00000415: PUSH3 0x461bcd 00000419: PUSH1 0xe5 0000041b: SHL 0000041c: DUP2 0000041d: MSTORE 0000041e: PUSH1 0x04 00000420: ADD 00000421: PUSH2 0x0303 00000424: SWAP1 00000425: PUSH2 0x20eb 00000428: JUMP 00000429: JUMPDEST 0000042a: PUSH1 0x01 0000042c: PUSH1 0x01 0000042e: PUSH1 0xa0 00000430: SHL 00000431: SUB 00000432: DUP3 00000433: AND 00000434: PUSH1 0x00 00000436: SWAP1 00000437: DUP2 00000438: MSTORE 00000439: PUSH1 0x69 0000043b: PUSH1 0x20 0000043d: MSTORE 0000043e: PUSH1 0x40 00000440: SWAP1 00000441: KECCAK256 00000442: SLOAD 00000443: DUP4 00000444: GT 00000445: PUSH2 0x0460 00000448: JUMPI 00000449: PUSH1 0x40 0000044b: MLOAD 0000044c: PUSH3 0x461bcd 00000450: PUSH1 0xe5 00000452: SHL 00000453: DUP2 00000454: MSTORE 00000455: PUSH1 0x04 00000457: ADD 00000458: PUSH2 0x0303 0000045b: SWAP1 0000045c: PUSH2 0x1f8f 0000045f: JUMP 00000460: JUMPDEST 00000461: DUP1 00000462: NUMBER 00000463: LT 00000464: PUSH2 0x047f 00000467: JUMPI 00000468: PUSH1 0x40 0000046a: MLOAD 0000046b: PUSH3 0x461bcd 0000046f: PUSH1 0xe5 00000471: SHL 00000472: DUP2 00000473: MSTORE 00000474: PUSH1 0x04 00000476: ADD 00000477: PUSH2 0x0303 0000047a: SWAP1 0000047b: PUSH2 0x2163 0000047e: JUMP 0000047f: JUMPDEST 00000480: PUSH1 0x20 00000482: DUP11 00000483: ADD 00000484: MLOAD 00000485: MLOAD 00000486: DUP11 00000487: MLOAD 00000488: MLOAD 00000489: EQ 0000048a: DUP1 0000048b: ISZERO 0000048c: PUSH2 0x0497 0000048f: JUMPI 00000490: POP 00000491: DUP9 00000492: MLOAD 00000493: DUP11 00000494: MLOAD 00000495: MLOAD 00000496: EQ 00000497: JUMPDEST 00000498: DUP1 00000499: ISZERO 0000049a: PUSH2 0x04a5 0000049d: JUMPI 0000049e: POP 0000049f: DUP8 000004a0: MLOAD 000004a1: DUP11 000004a2: MLOAD 000004a3: MLOAD 000004a4: EQ 000004a5: JUMPDEST 000004a6: DUP1 000004a7: ISZERO 000004a8: PUSH2 0x04b3 000004ab: JUMPI 000004ac: POP 000004ad: DUP7 000004ae: MLOAD 000004af: DUP11 000004b0: MLOAD 000004b1: MLOAD 000004b2: EQ 000004b3: JUMPDEST 000004b4: PUSH2 0x04cf 000004b7: JUMPI 000004b8: PUSH1 0x40 000004ba: MLOAD 000004bb: PUSH3 0x461bcd 000004bf: PUSH1 0xe5 000004c1: SHL 000004c2: DUP2 000004c3: MSTORE 000004c4: PUSH1 0x04 000004c6: ADD 000004c7: PUSH2 0x0303 000004ca: SWAP1 000004cb: PUSH2 0x23c7 000004ce: JUMP 000004cf: JUMPDEST 000004d0: PUSH1 0x68 000004d2: SLOAD 000004d3: PUSH2 0x04de 000004d6: DUP12 000004d7: PUSH1 0x6d 000004d9: SLOAD 000004da: PUSH2 0x0f8c 000004dd: JUMP 000004de: JUMPDEST 000004df: EQ 000004e0: PUSH2 0x04fb 000004e3: JUMPI 000004e4: PUSH1 0x40 000004e6: MLOAD 000004e7: PUSH3 0x461bcd 000004eb: PUSH1 0xe5 000004ed: SHL 000004ee: DUP2 000004ef: MSTORE 000004f0: PUSH1 0x04 000004f2: ADD 000004f3: PUSH2 0x0303 000004f6: SWAP1 000004f7: PUSH2 0x1f04 000004fa: JUMP 000004fb: JUMPDEST 000004fc: DUP5 000004fd: MLOAD 000004fe: DUP7 000004ff: MLOAD 00000500: EQ 00000501: DUP1 00000502: ISZERO 00000503: PUSH2 0x050d 00000506: JUMPI 00000507: POP 00000508: DUP4 00000509: MLOAD 0000050a: DUP7 0000050b: MLOAD 0000050c: EQ 0000050d: JUMPDEST 0000050e: PUSH2 0x0529 00000511: JUMPI 00000512: PUSH1 0x40 00000514: MLOAD 00000515: PUSH3 0x461bcd 00000519: PUSH1 0xe5 0000051b: SHL 0000051c: DUP2 0000051d: MSTORE 0000051e: PUSH1 0x04 00000520: ADD 00000521: PUSH2 0x0303 00000524: SWAP1 00000525: PUSH2 0x202b 00000528: JUMP 00000529: JUMPDEST 0000052a: PUSH2 0x058b 0000052d: DUP11 0000052e: PUSH1 0x00 00000530: ADD 00000531: MLOAD 00000532: DUP12 00000533: PUSH1 0x20 00000535: ADD 00000536: MLOAD 00000537: DUP12 00000538: DUP12 00000539: DUP12 0000053a: PUSH1 0x6d 0000053c: SLOAD 0000053d: PUSH16 0x0e8e4c2dce6c2c6e8d2dedc84c2e8c6d 0000054e: PUSH1 0x83 00000550: SHL 00000551: DUP14 00000552: DUP14 00000553: DUP14 00000554: DUP14 00000555: DUP14 00000556: DUP14 00000557: PUSH1 0x40 00000559: MLOAD 0000055a: PUSH1 0x20 0000055c: ADD 0000055d: PUSH2 0x056d 00000560: SWAP9 00000561: SWAP8 00000562: SWAP7 00000563: SWAP6 00000564: SWAP5 00000565: SWAP4 00000566: SWAP3 00000567: SWAP2 00000568: SWAP1 00000569: PUSH2 0x1e41 0000056c: JUMP 0000056d: JUMPDEST 0000056e: PUSH1 0x40 00000570: MLOAD 00000571: PUSH1 0x20 00000573: DUP2 00000574: DUP4 00000575: SUB 00000576: SUB 00000577: DUP2 00000578: MSTORE 00000579: SWAP1 0000057a: PUSH1 0x40 0000057c: MSTORE 0000057d: DUP1 0000057e: MLOAD 0000057f: SWAP1 00000580: PUSH1 0x20 00000582: ADD 00000583: KECCAK256 00000584: PUSH1 0x6e 00000586: SLOAD 00000587: PUSH2 0x0ff6 0000058a: JUMP 0000058b: JUMPDEST 0000058c: PUSH1 0x01 0000058e: PUSH1 0x01 00000590: PUSH1 0xa0 00000592: SHL 00000593: SUB 00000594: DUP3 00000595: AND 00000596: PUSH1 0x00 00000598: SWAP1 00000599: DUP2 0000059a: MSTORE 0000059b: PUSH1 0x69 0000059d: PUSH1 0x20 0000059f: MSTORE 000005a0: PUSH1 0x40 000005a2: DUP2 000005a3: KECCAK256 000005a4: DUP5 000005a5: SWAP1 000005a6: SSTORE 000005a7: DUP1 000005a8: JUMPDEST 000005a9: DUP8 000005aa: MLOAD 000005ab: DUP2 000005ac: LT 000005ad: ISZERO 000005ae: PUSH2 0x0664 000005b1: JUMPI 000005b2: PUSH2 0x061d 000005b5: DUP8 000005b6: DUP3 000005b7: DUP2 000005b8: MLOAD 000005b9: DUP2 000005ba: LT 000005bb: PUSH2 0x05d4 000005be: JUMPI 000005bf: PUSH4 0x4e487b71 000005c4: PUSH1 0xe0 000005c6: SHL 000005c7: PUSH1 0x00 000005c9: MSTORE 000005ca: PUSH1 0x32 000005cc: PUSH1 0x04 000005ce: MSTORE 000005cf: PUSH1 0x24 000005d1: PUSH1 0x00 000005d3: REVERT 000005d4: JUMPDEST 000005d5: PUSH1 0x20 000005d7: MUL 000005d8: PUSH1 0x20 000005da: ADD 000005db: ADD 000005dc: MLOAD 000005dd: DUP10 000005de: DUP4 000005df: DUP2 000005e0: MLOAD 000005e1: DUP2 000005e2: LT 000005e3: PUSH2 0x05fc 000005e6: JUMPI 000005e7: PUSH4 0x4e487b71 000005ec: PUSH1 0xe0 000005ee: SHL 000005ef: PUSH1 0x00 000005f1: MSTORE 000005f2: PUSH1 0x32 000005f4: PUSH1 0x04 000005f6: MSTORE 000005f7: PUSH1 0x24 000005f9: PUSH1 0x00 000005fb: REVERT 000005fc: JUMPDEST 000005fd: PUSH1 0x20 000005ff: MUL 00000600: PUSH1 0x20 00000602: ADD 00000603: ADD 00000604: MLOAD 00000605: DUP7 00000606: PUSH1 0x01 00000608: PUSH1 0x01 0000060a: PUSH1 0xa0 0000060c: SHL 0000060d: SUB 0000060e: AND 0000060f: PUSH2 0x1178 00000612: SWAP1 00000613: SWAP3 00000614: SWAP2 00000615: SWAP1 00000616: PUSH4 0xffffffff 0000061b: AND 0000061c: JUMP 0000061d: JUMPDEST 0000061e: DUP6 0000061f: DUP2 00000620: DUP2 00000621: MLOAD 00000622: DUP2 00000623: LT 00000624: PUSH2 0x063d 00000627: JUMPI 00000628: PUSH4 0x4e487b71 0000062d: PUSH1 0xe0 0000062f: SHL 00000630: PUSH1 0x00 00000632: MSTORE 00000633: PUSH1 0x32 00000635: PUSH1 0x04 00000637: MSTORE 00000638: PUSH1 0x24 0000063a: PUSH1 0x00 0000063c: REVERT 0000063d: JUMPDEST 0000063e: PUSH1 0x20 00000640: MUL 00000641: PUSH1 0x20 00000643: ADD 00000644: ADD 00000645: MLOAD 00000646: DUP3 00000647: PUSH2 0x0650 0000064a: SWAP2 0000064b: SWAP1 0000064c: PUSH2 0x2556 0000064f: JUMP 00000650: JUMPDEST 00000651: SWAP2 00000652: POP 00000653: DUP1 00000654: PUSH2 0x065c 00000657: DUP2 00000658: PUSH2 0x25ac 0000065b: JUMP 0000065c: JUMPDEST 0000065d: SWAP2 0000065e: POP 0000065f: POP 00000660: PUSH2 0x05a8 00000663: JUMP 00000664: JUMPDEST 00000665: POP 00000666: DUP1 00000667: ISZERO 00000668: PUSH2 0x067f 0000066b: JUMPI 0000066c: PUSH2 0x067f 0000066f: PUSH1 0x01 00000671: PUSH1 0x01 00000673: PUSH1 0xa0 00000675: SHL 00000676: SUB 00000677: DUP5 00000678: AND 00000679: CALLER 0000067a: DUP4 0000067b: PUSH2 0x1178 0000067e: JUMP 0000067f: JUMPDEST 00000680: POP 00000681: PUSH1 0x6c 00000683: SLOAD 00000684: PUSH2 0x068e 00000687: SWAP1 00000688: PUSH1 0x01 0000068a: PUSH2 0x2556 0000068d: JUMP 0000068e: JUMPDEST 0000068f: PUSH1 0x6c 00000691: DUP2 00000692: SWAP1 00000693: SSTORE 00000694: PUSH1 0x40 00000696: MLOAD 00000697: PUSH1 0x01 00000699: PUSH1 0x01 0000069b: PUSH1 0xa0 0000069d: SHL 0000069e: SUB 0000069f: DUP5 000006a0: AND 000006a1: SWAP2 000006a2: DUP6 000006a3: SWAP2 000006a4: PUSH32 0x02c7e81975f8edb86e2a0c038b7b86a49c744236abf0f6177ff5afc6986ab708 000006c5: SWAP2 000006c6: PUSH2 0x06ce 000006c9: SWAP2 000006ca: PUSH2 0x1ddc 000006cd: JUMP 000006ce: JUMPDEST 000006cf: PUSH1 0x40 000006d1: MLOAD 000006d2: DUP1 000006d3: SWAP2 000006d4: SUB 000006d5: SWAP1 000006d6: LOG3 000006d7: POP 000006d8: POP 000006d9: PUSH1 0x01 000006db: PUSH1 0x67 000006dd: SSTORE 000006de: POP 000006df: POP 000006e0: POP 000006e1: POP 000006e2: POP 000006e3: POP 000006e4: POP 000006e5: POP 000006e6: JUMP 000006e7: JUMPDEST 000006e8: PUSH2 0x06ef 000006eb: PUSH2 0x035d 000006ee: JUMP 000006ef: JUMPDEST 000006f0: PUSH2 0x03bc 000006f3: JUMPI 000006f4: PUSH1 0x40 000006f6: MLOAD 000006f7: PUSH3 0x461bcd 000006fb: PUSH1 0xe5 000006fd: SHL 000006fe: DUP2 000006ff: MSTORE 00000700: PUSH1 0x04 00000702: ADD 00000703: PUSH2 0x0303 00000706: SWAP1 00000707: PUSH2 0x230f 0000070a: JUMP 0000070b: JUMPDEST 0000070c: PUSH1 0x33 0000070e: SLOAD 0000070f: PUSH1 0x01 00000711: PUSH1 0x01 00000713: PUSH1 0xa0 00000715: SHL 00000716: SUB 00000717: AND 00000718: SWAP1 00000719: JUMP 0000071a: JUMPDEST 0000071b: PUSH2 0x0722 0000071e: PUSH2 0x036e 00000721: JUMP 00000722: JUMPDEST 00000723: ISZERO 00000724: PUSH2 0x073f 00000727: JUMPI 00000728: PUSH1 0x40 0000072a: MLOAD 0000072b: PUSH3 0x461bcd 0000072f: PUSH1 0xe5 00000731: SHL 00000732: DUP2 00000733: MSTORE 00000734: PUSH1 0x04 00000736: ADD 00000737: PUSH2 0x0303 0000073a: SWAP1 0000073b: PUSH2 0x20eb 0000073e: JUMP 0000073f: JUMPDEST 00000740: DUP7 00000741: PUSH1 0x40 00000743: ADD 00000744: CALLDATALOAD 00000745: DUP9 00000746: PUSH1 0x40 00000748: ADD 00000749: CALLDATALOAD 0000074a: GT 0000074b: PUSH2 0x0766 0000074e: JUMPI 0000074f: PUSH1 0x40 00000751: MLOAD 00000752: PUSH3 0x461bcd 00000756: PUSH1 0xe5 00000758: SHL 00000759: DUP2 0000075a: MSTORE 0000075b: PUSH1 0x04 0000075d: ADD 0000075e: PUSH2 0x0303 00000761: SWAP1 00000762: PUSH2 0x22b2 00000765: JUMP 00000766: JUMPDEST 00000767: PUSH2 0x0773 0000076a: PUSH1 0x20 0000076c: DUP10 0000076d: ADD 0000076e: DUP10 0000076f: PUSH2 0x24c1 00000772: JUMP 00000773: JUMPDEST 00000774: SWAP1 00000775: POP 00000776: PUSH2 0x077f 00000779: DUP10 0000077a: DUP1 0000077b: PUSH2 0x24c1 0000077e: JUMP 0000077f: JUMPDEST 00000780: SWAP1 00000781: POP 00000782: EQ 00000783: PUSH2 0x079e 00000786: JUMPI 00000787: PUSH1 0x40 00000789: MLOAD 0000078a: PUSH3 0x461bcd 0000078e: PUSH1 0xe5 00000790: SHL 00000791: DUP2 00000792: MSTORE 00000793: PUSH1 0x04 00000795: ADD 00000796: PUSH2 0x0303 00000799: SWAP1 0000079a: PUSH2 0x21c0 0000079d: JUMP 0000079e: JUMPDEST 0000079f: PUSH2 0x07ab 000007a2: PUSH1 0x20 000007a4: DUP9 000007a5: ADD 000007a6: DUP9 000007a7: PUSH2 0x24c1 000007aa: JUMP 000007ab: JUMPDEST 000007ac: SWAP1 000007ad: POP 000007ae: PUSH2 0x07b7 000007b1: DUP9 000007b2: DUP1 000007b3: PUSH2 0x24c1 000007b6: JUMP 000007b7: JUMPDEST 000007b8: SWAP1 000007b9: POP 000007ba: EQ 000007bb: DUP1 000007bc: ISZERO 000007bd: PUSH2 0x07d0 000007c0: JUMPI 000007c1: POP 000007c2: DUP5 000007c3: PUSH2 0x07cc 000007c6: DUP9 000007c7: DUP1 000007c8: PUSH2 0x24c1 000007cb: JUMP 000007cc: JUMPDEST 000007cd: SWAP1 000007ce: POP 000007cf: EQ 000007d0: JUMPDEST 000007d1: DUP1 000007d2: ISZERO 000007d3: PUSH2 0x07e6 000007d6: JUMPI 000007d7: POP 000007d8: DUP3 000007d9: PUSH2 0x07e2 000007dc: DUP9 000007dd: DUP1 000007de: PUSH2 0x24c1 000007e1: JUMP 000007e2: JUMPDEST 000007e3: SWAP1 000007e4: POP 000007e5: EQ 000007e6: JUMPDEST 000007e7: DUP1 000007e8: ISZERO 000007e9: PUSH2 0x07fc 000007ec: JUMPI 000007ed: POP 000007ee: DUP1 000007ef: PUSH2 0x07f8 000007f2: DUP9 000007f3: DUP1 000007f4: PUSH2 0x24c1 000007f7: JUMP 000007f8: JUMPDEST 000007f9: SWAP1 000007fa: POP 000007fb: EQ 000007fc: JUMPDEST 000007fd: PUSH2 0x0818 00000800: JUMPI 00000801: PUSH1 0x40 00000803: MLOAD 00000804: PUSH3 0x461bcd 00000808: PUSH1 0xe5 0000080a: SHL 0000080b: DUP2 0000080c: MSTORE 0000080d: PUSH1 0x04 0000080f: ADD 00000810: PUSH2 0x0303 00000813: SWAP1 00000814: PUSH2 0x23c7 00000817: JUMP 00000818: JUMPDEST 00000819: PUSH1 0x68 0000081b: SLOAD 0000081c: PUSH2 0x082f 0000081f: PUSH2 0x0827 00000822: DUP10 00000823: PUSH2 0x256e 00000826: JUMP 00000827: JUMPDEST 00000828: PUSH1 0x6d 0000082a: SLOAD 0000082b: PUSH2 0x0f8c 0000082e: JUMP 0000082f: JUMPDEST 00000830: EQ 00000831: PUSH2 0x084c 00000834: JUMPI 00000835: PUSH1 0x40 00000837: MLOAD 00000838: PUSH3 0x461bcd 0000083c: PUSH1 0xe5 0000083e: SHL 0000083f: DUP2 00000840: MSTORE 00000841: PUSH1 0x04 00000843: ADD 00000844: PUSH2 0x0303 00000847: SWAP1 00000848: PUSH2 0x1f04 0000084b: JUMP 0000084c: JUMPDEST 0000084d: PUSH1 0x00 0000084f: PUSH2 0x085a 00000852: PUSH2 0x0827 00000855: DUP11 00000856: PUSH2 0x256e 00000859: JUMP 0000085a: JUMPDEST 0000085b: SWAP1 0000085c: POP 0000085d: PUSH2 0x0977 00000860: PUSH2 0x0869 00000863: DUP10 00000864: DUP1 00000865: PUSH2 0x24c1 00000868: JUMP 00000869: JUMPDEST 0000086a: DUP1 0000086b: DUP1 0000086c: PUSH1 0x20 0000086e: MUL 0000086f: PUSH1 0x20 00000871: ADD 00000872: PUSH1 0x40 00000874: MLOAD 00000875: SWAP1 00000876: DUP2 00000877: ADD 00000878: PUSH1 0x40 0000087a: MSTORE 0000087b: DUP1 0000087c: SWAP4 0000087d: SWAP3 0000087e: SWAP2 0000087f: SWAP1 00000880: DUP2 00000881: DUP2 00000882: MSTORE 00000883: PUSH1 0x20 00000885: ADD 00000886: DUP4 00000887: DUP4 00000888: PUSH1 0x20 0000088a: MUL 0000088b: DUP1 0000088c: DUP3 0000088d: DUP5 0000088e: CALLDATACOPY 0000088f: PUSH1 0x00 00000891: SWAP3 00000892: ADD 00000893: SWAP2 00000894: SWAP1 00000895: SWAP2 00000896: MSTORE 00000897: POP 00000898: PUSH2 0x08a8 0000089b: SWAP3 0000089c: POP 0000089d: POP 0000089e: POP 0000089f: PUSH1 0x20 000008a1: DUP12 000008a2: ADD 000008a3: DUP12 000008a4: PUSH2 0x24c1 000008a7: JUMP 000008a8: JUMPDEST 000008a9: DUP1 000008aa: DUP1 000008ab: PUSH1 0x20 000008ad: MUL 000008ae: PUSH1 0x20 000008b0: ADD 000008b1: PUSH1 0x40 000008b3: MLOAD 000008b4: SWAP1 000008b5: DUP2 000008b6: ADD 000008b7: PUSH1 0x40 000008b9: MSTORE 000008ba: DUP1 000008bb: SWAP4 000008bc: SWAP3 000008bd: SWAP2 000008be: SWAP1 000008bf: DUP2 000008c0: DUP2 000008c1: MSTORE 000008c2: PUSH1 0x20 000008c4: ADD 000008c5: DUP4 000008c6: DUP4 000008c7: PUSH1 0x20 000008c9: MUL 000008ca: DUP1 000008cb: DUP3 000008cc: DUP5 000008cd: CALLDATACOPY 000008ce: PUSH1 0x00 000008d0: SWAP3 000008d1: ADD 000008d2: SWAP2 000008d3: SWAP1 000008d4: SWAP2 000008d5: MSTORE 000008d6: POP 000008d7: POP 000008d8: PUSH1 0x40 000008da: DUP1 000008db: MLOAD 000008dc: PUSH1 0x20 000008de: DUP1 000008df: DUP15 000008e0: MUL 000008e1: DUP3 000008e2: DUP2 000008e3: ADD 000008e4: DUP3 000008e5: ADD 000008e6: SWAP1 000008e7: SWAP4 000008e8: MSTORE 000008e9: DUP14 000008ea: DUP3 000008eb: MSTORE 000008ec: SWAP1 000008ed: SWAP4 000008ee: POP 000008ef: DUP14 000008f0: SWAP3 000008f1: POP 000008f2: DUP13 000008f3: SWAP2 000008f4: DUP3 000008f5: SWAP2 000008f6: DUP6 000008f7: ADD 000008f8: SWAP1 000008f9: DUP5 000008fa: SWAP1 000008fb: DUP1 000008fc: DUP3 000008fd: DUP5 000008fe: CALLDATACOPY 000008ff: PUSH1 0x00 00000901: SWAP3 00000902: ADD 00000903: SWAP2 00000904: SWAP1 00000905: SWAP2 00000906: MSTORE 00000907: POP 00000908: POP 00000909: PUSH1 0x40 0000090b: DUP1 0000090c: MLOAD 0000090d: PUSH1 0x20 0000090f: DUP1 00000910: DUP14 00000911: MUL 00000912: DUP3 00000913: DUP2 00000914: ADD 00000915: DUP3 00000916: ADD 00000917: SWAP1 00000918: SWAP4 00000919: MSTORE 0000091a: DUP13 0000091b: DUP3 0000091c: MSTORE 0000091d: SWAP1 0000091e: SWAP4 0000091f: POP 00000920: DUP13 00000921: SWAP3 00000922: POP 00000923: DUP12 00000924: SWAP2 00000925: DUP3 00000926: SWAP2 00000927: DUP6 00000928: ADD 00000929: SWAP1 0000092a: DUP5 0000092b: SWAP1 0000092c: DUP1 0000092d: DUP3 0000092e: DUP5 0000092f: CALLDATACOPY 00000930: PUSH1 0x00 00000932: SWAP3 00000933: ADD 00000934: SWAP2 00000935: SWAP1 00000936: SWAP2 00000937: MSTORE 00000938: POP 00000939: POP 0000093a: PUSH1 0x40 0000093c: DUP1 0000093d: MLOAD 0000093e: PUSH1 0x20 00000940: DUP1 00000941: DUP13 00000942: MUL 00000943: DUP3 00000944: DUP2 00000945: ADD 00000946: DUP3 00000947: ADD 00000948: SWAP1 00000949: SWAP4 0000094a: MSTORE 0000094b: DUP12 0000094c: DUP3 0000094d: MSTORE 0000094e: SWAP1 0000094f: SWAP4 00000950: POP 00000951: DUP12 00000952: SWAP3 00000953: POP 00000954: DUP11 00000955: SWAP2 00000956: DUP3 00000957: SWAP2 00000958: DUP6 00000959: ADD 0000095a: SWAP1 0000095b: DUP5 0000095c: SWAP1 0000095d: DUP1 0000095e: DUP3 0000095f: DUP5 00000960: CALLDATACOPY 00000961: PUSH1 0x00 00000963: SWAP3 00000964: ADD 00000965: SWAP2 00000966: SWAP1 00000967: SWAP2 00000968: MSTORE 00000969: POP 0000096a: POP 0000096b: PUSH1 0x6e 0000096d: SLOAD 0000096e: DUP10 0000096f: SWAP3 00000970: POP 00000971: SWAP1 00000972: POP 00000973: PUSH2 0x0ff6 00000976: JUMP 00000977: JUMPDEST 00000978: PUSH1 0x68 0000097a: DUP2 0000097b: SWAP1 0000097c: SSTORE 0000097d: PUSH1 0x40 0000097f: DUP10 00000980: ADD 00000981: CALLDATALOAD 00000982: PUSH1 0x6b 00000984: SSTORE 00000985: PUSH1 0x00 00000987: PUSH2 0x0996 0000098a: PUSH1 0xa0 0000098c: DUP12 0000098d: ADD 0000098e: PUSH1 0x80 00000990: DUP13 00000991: ADD 00000992: PUSH2 0x185d 00000995: JUMP 00000996: JUMPDEST 00000997: PUSH1 0x01 00000999: PUSH1 0x01 0000099b: PUSH1 0xa0 0000099d: SHL 0000099e: SUB 0000099f: AND 000009a0: EQ 000009a1: ISZERO 000009a2: DUP1 000009a3: ISZERO 000009a4: PUSH2 0x09b0 000009a7: JUMPI 000009a8: POP 000009a9: PUSH1 0x60 000009ab: DUP10 000009ac: ADD 000009ad: CALLDATALOAD 000009ae: ISZERO 000009af: ISZERO 000009b0: JUMPDEST 000009b1: ISZERO 000009b2: PUSH2 0x09de 000009b5: JUMPI 000009b6: PUSH2 0x09de 000009b9: CALLER 000009ba: PUSH1 0x60 000009bc: DUP12 000009bd: ADD 000009be: CALLDATALOAD 000009bf: PUSH2 0x09ce 000009c2: PUSH1 0xa0 000009c4: DUP14 000009c5: ADD 000009c6: PUSH1 0x80 000009c8: DUP15 000009c9: ADD 000009ca: PUSH2 0x185d 000009cd: JUMP 000009ce: JUMPDEST 000009cf: PUSH1 0x01 000009d1: PUSH1 0x01 000009d3: PUSH1 0xa0 000009d5: SHL 000009d6: SUB 000009d7: AND 000009d8: SWAP2 000009d9: SWAP1 000009da: PUSH2 0x1178 000009dd: JUMP 000009de: JUMPDEST 000009df: PUSH1 0x6c 000009e1: SLOAD 000009e2: PUSH2 0x09ec 000009e5: SWAP1 000009e6: PUSH1 0x01 000009e8: PUSH2 0x2556 000009eb: JUMP 000009ec: JUMPDEST 000009ed: PUSH1 0x6c 000009ef: DUP2 000009f0: SWAP1 000009f1: SSTORE 000009f2: PUSH1 0x40 000009f4: DUP11 000009f5: ADD 000009f6: CALLDATALOAD 000009f7: SWAP1 000009f8: PUSH32 0x76d08978c024a4bf8cbb30c67fd78fcaa1827cbc533e4e175f36d07e64ccf96a 00000a19: SWAP1 00000a1a: PUSH1 0x60 00000a1c: DUP13 00000a1d: ADD 00000a1e: CALLDATALOAD 00000a1f: PUSH2 0x0a2e 00000a22: PUSH1 0xa0 00000a24: DUP15 00000a25: ADD 00000a26: PUSH1 0x80 00000a28: DUP16 00000a29: ADD 00000a2a: PUSH2 0x185d 00000a2d: JUMP 00000a2e: JUMPDEST 00000a2f: PUSH2 0x0a38 00000a32: DUP15 00000a33: DUP1 00000a34: PUSH2 0x24c1 00000a37: JUMP 00000a38: JUMPDEST 00000a39: DUP16 00000a3a: DUP1 00000a3b: PUSH1 0x20 00000a3d: ADD 00000a3e: SWAP1 00000a3f: PUSH2 0x0a48 00000a42: SWAP2 00000a43: SWAP1 00000a44: PUSH2 0x24c1 00000a47: JUMP 00000a48: JUMPDEST 00000a49: PUSH1 0x40 00000a4b: MLOAD 00000a4c: PUSH2 0x0a5b 00000a4f: SWAP8 00000a50: SWAP7 00000a51: SWAP6 00000a52: SWAP5 00000a53: SWAP4 00000a54: SWAP3 00000a55: SWAP2 00000a56: SWAP1 00000a57: PUSH2 0x2435 00000a5a: JUMP 00000a5b: JUMPDEST 00000a5c: PUSH1 0x40 00000a5e: MLOAD 00000a5f: DUP1 00000a60: SWAP2 00000a61: SUB 00000a62: SWAP1 00000a63: LOG2 00000a64: POP 00000a65: POP 00000a66: POP 00000a67: POP 00000a68: POP 00000a69: POP 00000a6a: POP 00000a6b: POP 00000a6c: POP 00000a6d: JUMP 00000a6e: JUMPDEST 00000a6f: PUSH2 0x0a76 00000a72: PUSH2 0x036e 00000a75: JUMP 00000a76: JUMPDEST 00000a77: ISZERO 00000a78: PUSH2 0x0a93 00000a7b: JUMPI 00000a7c: PUSH1 0x40 00000a7e: MLOAD 00000a7f: PUSH3 0x461bcd 00000a83: PUSH1 0xe5 00000a85: SHL 00000a86: DUP2 00000a87: MSTORE 00000a88: PUSH1 0x04 00000a8a: ADD 00000a8b: PUSH2 0x0303 00000a8e: SWAP1 00000a8f: PUSH2 0x20eb 00000a92: JUMP 00000a93: JUMPDEST 00000a94: PUSH1 0x02 00000a96: PUSH1 0x67 00000a98: SLOAD 00000a99: EQ 00000a9a: ISZERO 00000a9b: PUSH2 0x0ab6 00000a9e: JUMPI 00000a9f: PUSH1 0x40 00000aa1: MLOAD 00000aa2: PUSH3 0x461bcd 00000aa6: PUSH1 0xe5 00000aa8: SHL 00000aa9: DUP2 00000aaa: MSTORE 00000aab: PUSH1 0x04 00000aad: ADD 00000aae: PUSH2 0x0303 00000ab1: SWAP1 00000ab2: PUSH2 0x23fe 00000ab5: JUMP 00000ab6: JUMPDEST 00000ab7: PUSH1 0x02 00000ab9: PUSH1 0x67 00000abb: SSTORE 00000abc: PUSH2 0x0ad0 00000abf: PUSH1 0x01 00000ac1: PUSH1 0x01 00000ac3: PUSH1 0xa0 00000ac5: SHL 00000ac6: SUB 00000ac7: DUP7 00000ac8: AND 00000ac9: CALLER 00000aca: ADDRESS 00000acb: DUP7 00000acc: PUSH2 0x11d3 00000acf: JUMP 00000ad0: JUMPDEST 00000ad1: PUSH1 0x6c 00000ad3: SLOAD 00000ad4: PUSH2 0x0ade 00000ad7: SWAP1 00000ad8: PUSH1 0x01 00000ada: PUSH2 0x2556 00000add: JUMP 00000ade: JUMPDEST 00000adf: PUSH1 0x6c 00000ae1: DUP2 00000ae2: SWAP1 00000ae3: SSTORE 00000ae4: PUSH1 0x40 00000ae6: MLOAD 00000ae7: DUP6 00000ae8: SWAP2 00000ae9: CALLER 00000aea: SWAP2 00000aeb: PUSH1 0x01 00000aed: PUSH1 0x01 00000aef: PUSH1 0xa0 00000af1: SHL 00000af2: SUB 00000af3: DUP10 00000af4: AND 00000af5: SWAP2 00000af6: PUSH32 0x21db205faf35053e62272e44562f34122e27a986e21a1030f6bfc21d96eaad09 00000b17: SWAP2 00000b18: PUSH2 0x0b26 00000b1b: SWAP2 00000b1c: DUP10 00000b1d: SWAP2 00000b1e: DUP10 00000b1f: SWAP1 00000b20: DUP10 00000b21: SWAP1 00000b22: PUSH2 0x2484 00000b25: JUMP 00000b26: JUMPDEST 00000b27: PUSH1 0x40 00000b29: MLOAD 00000b2a: DUP1 00000b2b: SWAP2 00000b2c: SUB 00000b2d: SWAP1 00000b2e: LOG4 00000b2f: POP 00000b30: POP 00000b31: PUSH1 0x01 00000b33: PUSH1 0x67 00000b35: SSTORE 00000b36: POP 00000b37: POP 00000b38: POP 00000b39: JUMP 00000b3a: JUMPDEST 00000b3b: PUSH1 0x6b 00000b3d: SLOAD 00000b3e: DUP2 00000b3f: JUMP 00000b40: JUMPDEST 00000b41: PUSH1 0x00 00000b43: SLOAD 00000b44: PUSH2 0x0100 00000b47: SWAP1 00000b48: DIV 00000b49: PUSH1 0xff 00000b4b: AND 00000b4c: DUP1 00000b4d: PUSH2 0x0b59 00000b50: JUMPI 00000b51: POP 00000b52: PUSH1 0x00 00000b54: SLOAD 00000b55: PUSH1 0xff 00000b57: AND 00000b58: ISZERO 00000b59: JUMPDEST 00000b5a: PUSH2 0x0b75 00000b5d: JUMPI 00000b5e: PUSH1 0x40 00000b60: MLOAD 00000b61: PUSH3 0x461bcd 00000b65: PUSH1 0xe5 00000b67: SHL 00000b68: DUP2 00000b69: MSTORE 00000b6a: PUSH1 0x04 00000b6c: ADD 00000b6d: PUSH2 0x0303 00000b70: SWAP1 00000b71: PUSH2 0x2115 00000b74: JUMP 00000b75: JUMPDEST 00000b76: PUSH1 0x00 00000b78: SLOAD 00000b79: PUSH2 0x0100 00000b7c: SWAP1 00000b7d: DIV 00000b7e: PUSH1 0xff 00000b80: AND 00000b81: ISZERO 00000b82: DUP1 00000b83: ISZERO 00000b84: PUSH2 0x0ba0 00000b87: JUMPI 00000b88: PUSH1 0x00 00000b8a: DUP1 00000b8b: SLOAD 00000b8c: PUSH1 0xff 00000b8e: NOT 00000b8f: PUSH2 0xff00 00000b92: NOT 00000b93: SWAP1 00000b94: SWAP2 00000b95: AND 00000b96: PUSH2 0x0100 00000b99: OR 00000b9a: AND 00000b9b: PUSH1 0x01 00000b9d: OR 00000b9e: SWAP1 00000b9f: SSTORE 00000ba0: JUMPDEST 00000ba1: PUSH2 0x0ba8 00000ba4: PUSH2 0x11fa 00000ba7: JUMP 00000ba8: JUMPDEST 00000ba9: PUSH2 0x0bb0 00000bac: PUSH2 0x126f 00000baf: JUMP 00000bb0: JUMPDEST 00000bb1: DUP4 00000bb2: DUP3 00000bb3: EQ 00000bb4: PUSH2 0x0bcf 00000bb7: JUMPI 00000bb8: PUSH1 0x40 00000bba: MLOAD 00000bbb: PUSH3 0x461bcd 00000bbf: PUSH1 0xe5 00000bc1: SHL 00000bc2: DUP2 00000bc3: MSTORE 00000bc4: PUSH1 0x04 00000bc6: ADD 00000bc7: PUSH2 0x0303 00000bca: SWAP1 00000bcb: PUSH2 0x23c7 00000bce: JUMP 00000bcf: JUMPDEST 00000bd0: PUSH1 0x00 00000bd2: DUP1 00000bd3: JUMPDEST 00000bd4: DUP4 00000bd5: DUP2 00000bd6: LT 00000bd7: ISZERO 00000bd8: PUSH2 0x0c2e 00000bdb: JUMPI 00000bdc: DUP5 00000bdd: DUP5 00000bde: DUP3 00000bdf: DUP2 00000be0: DUP2 00000be1: LT 00000be2: PUSH2 0x0bfb 00000be5: JUMPI 00000be6: PUSH4 0x4e487b71 00000beb: PUSH1 0xe0 00000bed: SHL 00000bee: PUSH1 0x00 00000bf0: MSTORE 00000bf1: PUSH1 0x32 00000bf3: PUSH1 0x04 00000bf5: MSTORE 00000bf6: PUSH1 0x24 00000bf8: PUSH1 0x00 00000bfa: REVERT 00000bfb: JUMPDEST 00000bfc: SWAP1 00000bfd: POP 00000bfe: PUSH1 0x20 00000c00: MUL 00000c01: ADD 00000c02: CALLDATALOAD 00000c03: DUP3 00000c04: PUSH2 0x0c0d 00000c07: SWAP2 00000c08: SWAP1 00000c09: PUSH2 0x2556 00000c0c: JUMP 00000c0d: JUMPDEST 00000c0e: SWAP2 00000c0f: POP 00000c10: DUP8 00000c11: DUP3 00000c12: GT 00000c13: ISZERO 00000c14: PUSH2 0x0c1c 00000c17: JUMPI 00000c18: PUSH2 0x0c2e 00000c1b: JUMP 00000c1c: JUMPDEST 00000c1d: DUP1 00000c1e: PUSH2 0x0c26 00000c21: DUP2 00000c22: PUSH2 0x25ac 00000c25: JUMP 00000c26: JUMPDEST 00000c27: SWAP2 00000c28: POP 00000c29: POP 00000c2a: PUSH2 0x0bd3 00000c2d: JUMP 00000c2e: JUMPDEST 00000c2f: POP 00000c30: DUP7 00000c31: DUP2 00000c32: GT 00000c33: PUSH2 0x0c4e 00000c36: JUMPI 00000c37: PUSH1 0x40 00000c39: MLOAD 00000c3a: PUSH3 0x461bcd 00000c3e: PUSH1 0xe5 00000c40: SHL 00000c41: DUP2 00000c42: MSTORE 00000c43: PUSH1 0x04 00000c45: ADD 00000c46: PUSH2 0x0303 00000c49: SWAP1 00000c4a: PUSH2 0x222c 00000c4d: JUMP 00000c4e: JUMPDEST 00000c4f: PUSH2 0x0c56 00000c52: PUSH2 0x1581 00000c55: JUMP 00000c56: JUMPDEST 00000c57: PUSH1 0x40 00000c59: MLOAD 00000c5a: DUP1 00000c5b: PUSH1 0xa0 00000c5d: ADD 00000c5e: PUSH1 0x40 00000c60: MSTORE 00000c61: DUP1 00000c62: DUP9 00000c63: DUP9 00000c64: DUP1 00000c65: DUP1 00000c66: PUSH1 0x20 00000c68: MUL 00000c69: PUSH1 0x20 00000c6b: ADD 00000c6c: PUSH1 0x40 00000c6e: MLOAD 00000c6f: SWAP1 00000c70: DUP2 00000c71: ADD 00000c72: PUSH1 0x40 00000c74: MSTORE 00000c75: DUP1 00000c76: SWAP4 00000c77: SWAP3 00000c78: SWAP2 00000c79: SWAP1 00000c7a: DUP2 00000c7b: DUP2 00000c7c: MSTORE 00000c7d: PUSH1 0x20 00000c7f: ADD 00000c80: DUP4 00000c81: DUP4 00000c82: PUSH1 0x20 00000c84: MUL 00000c85: DUP1 00000c86: DUP3 00000c87: DUP5 00000c88: CALLDATACOPY 00000c89: PUSH1 0x00 00000c8b: SWAP3 00000c8c: ADD 00000c8d: SWAP2 00000c8e: SWAP1 00000c8f: SWAP2 00000c90: MSTORE 00000c91: POP 00000c92: POP 00000c93: POP 00000c94: SWAP1 00000c95: DUP3 00000c96: MSTORE 00000c97: POP 00000c98: PUSH1 0x40 00000c9a: DUP1 00000c9b: MLOAD 00000c9c: PUSH1 0x20 00000c9e: DUP9 00000c9f: DUP2 00000ca0: MUL 00000ca1: DUP3 00000ca2: DUP2 00000ca3: ADD 00000ca4: DUP3 00000ca5: ADD 00000ca6: SWAP1 00000ca7: SWAP4 00000ca8: MSTORE 00000ca9: DUP9 00000caa: DUP3 00000cab: MSTORE 00000cac: SWAP3 00000cad: DUP4 00000cae: ADD 00000caf: SWAP3 00000cb0: SWAP1 00000cb1: SWAP2 00000cb2: DUP10 00000cb3: SWAP2 00000cb4: DUP10 00000cb5: SWAP2 00000cb6: DUP3 00000cb7: SWAP2 00000cb8: DUP6 00000cb9: ADD 00000cba: SWAP1 00000cbb: DUP5 00000cbc: SWAP1 00000cbd: DUP1 00000cbe: DUP3 00000cbf: DUP5 00000cc0: CALLDATACOPY 00000cc1: PUSH1 0x00 00000cc3: SWAP3 00000cc4: ADD 00000cc5: DUP3 00000cc6: SWAP1 00000cc7: MSTORE 00000cc8: POP 00000cc9: SWAP4 00000cca: DUP6 00000ccb: MSTORE 00000ccc: POP 00000ccd: POP 00000cce: POP 00000ccf: PUSH1 0x20 00000cd1: DUP3 00000cd2: ADD 00000cd3: DUP2 00000cd4: SWAP1 00000cd5: MSTORE 00000cd6: PUSH1 0x40 00000cd8: DUP3 00000cd9: ADD 00000cda: DUP2 00000cdb: SWAP1 00000cdc: MSTORE 00000cdd: PUSH1 0x60 00000cdf: SWAP1 00000ce0: SWAP2 00000ce1: ADD 00000ce2: DUP2 00000ce3: SWAP1 00000ce4: MSTORE 00000ce5: SWAP1 00000ce6: SWAP2 00000ce7: POP 00000ce8: PUSH2 0x0cf1 00000ceb: DUP3 00000cec: DUP12 00000ced: PUSH2 0x0f8c 00000cf0: JUMP 00000cf1: JUMPDEST 00000cf2: PUSH1 0x6d 00000cf4: DUP12 00000cf5: SWAP1 00000cf6: SSTORE 00000cf7: PUSH1 0x6e 00000cf9: DUP11 00000cfa: SWAP1 00000cfb: SSTORE 00000cfc: PUSH1 0x68 00000cfe: DUP2 00000cff: SWAP1 00000d00: SSTORE 00000d01: PUSH1 0x6c 00000d03: SLOAD 00000d04: SWAP1 00000d05: SWAP2 00000d06: POP 00000d07: PUSH2 0x0d11 00000d0a: SWAP1 00000d0b: PUSH1 0x01 00000d0d: PUSH2 0x2556 00000d10: JUMP 00000d11: JUMPDEST 00000d12: PUSH1 0x6c 00000d14: DUP2 00000d15: SWAP1 00000d16: SSTORE 00000d17: POP 00000d18: PUSH1 0x6b 00000d1a: SLOAD 00000d1b: PUSH32 0x76d08978c024a4bf8cbb30c67fd78fcaa1827cbc533e4e175f36d07e64ccf96a 00000d3c: PUSH1 0x6c 00000d3e: SLOAD 00000d3f: PUSH1 0x00 00000d41: DUP1 00000d42: DUP13 00000d43: DUP13 00000d44: DUP13 00000d45: DUP13 00000d46: PUSH1 0x40 00000d48: MLOAD 00000d49: PUSH2 0x0d58 00000d4c: SWAP8 00000d4d: SWAP7 00000d4e: SWAP6 00000d4f: SWAP5 00000d50: SWAP4 00000d51: SWAP3 00000d52: SWAP2 00000d53: SWAP1 00000d54: PUSH2 0x2435 00000d57: JUMP 00000d58: JUMPDEST 00000d59: PUSH1 0x40 00000d5b: MLOAD 00000d5c: DUP1 00000d5d: SWAP2 00000d5e: SUB 00000d5f: SWAP1 00000d60: LOG2 00000d61: POP 00000d62: POP 00000d63: POP 00000d64: DUP1 00000d65: ISZERO 00000d66: PUSH2 0x0d75 00000d69: JUMPI 00000d6a: PUSH1 0x00 00000d6c: DUP1 00000d6d: SLOAD 00000d6e: PUSH2 0xff00 00000d71: NOT 00000d72: AND 00000d73: SWAP1 00000d74: SSTORE 00000d75: JUMPDEST 00000d76: POP 00000d77: POP 00000d78: POP 00000d79: POP 00000d7a: POP 00000d7b: POP 00000d7c: POP 00000d7d: JUMP 00000d7e: JUMPDEST 00000d7f: PUSH1 0x69 00000d81: PUSH1 0x20 00000d83: MSTORE 00000d84: PUSH1 0x00 00000d86: SWAP1 00000d87: DUP2 00000d88: MSTORE 00000d89: PUSH1 0x40 00000d8b: SWAP1 00000d8c: KECCAK256 00000d8d: SLOAD 00000d8e: DUP2 00000d8f: JUMP 00000d90: JUMPDEST 00000d91: PUSH1 0x6e 00000d93: SLOAD 00000d94: DUP2 00000d95: JUMP 00000d96: JUMPDEST 00000d97: PUSH1 0x68 00000d99: SLOAD 00000d9a: DUP2 00000d9b: JUMP 00000d9c: JUMPDEST 00000d9d: PUSH2 0x0da4 00000da0: PUSH2 0x0e75 00000da3: JUMP 00000da4: JUMPDEST 00000da5: PUSH1 0x01 00000da7: PUSH1 0x01 00000da9: PUSH1 0xa0 00000dab: SHL 00000dac: SUB 00000dad: AND 00000dae: PUSH2 0x0db5 00000db1: PUSH2 0x070b 00000db4: JUMP 00000db5: JUMPDEST 00000db6: PUSH1 0x01 00000db8: PUSH1 0x01 00000dba: PUSH1 0xa0 00000dbc: SHL 00000dbd: SUB 00000dbe: AND 00000dbf: EQ 00000dc0: PUSH2 0x0ddb 00000dc3: JUMPI 00000dc4: PUSH1 0x40 00000dc6: MLOAD 00000dc7: PUSH3 0x461bcd 00000dcb: PUSH1 0xe5 00000dcd: SHL 00000dce: DUP2 00000dcf: MSTORE 00000dd0: PUSH1 0x04 00000dd2: ADD 00000dd3: PUSH2 0x0303 00000dd6: SWAP1 00000dd7: PUSH2 0x21f7 00000dda: JUMP 00000ddb: JUMPDEST 00000ddc: PUSH1 0x01 00000dde: PUSH1 0x01 00000de0: PUSH1 0xa0 00000de2: SHL 00000de3: SUB 00000de4: DUP2 00000de5: AND 00000de6: PUSH2 0x0e01 00000de9: JUMPI 00000dea: PUSH1 0x40 00000dec: MLOAD 00000ded: PUSH3 0x461bcd 00000df1: PUSH1 0xe5 00000df3: SHL 00000df4: DUP2 00000df5: MSTORE 00000df6: PUSH1 0x04 00000df8: ADD 00000df9: PUSH2 0x0303 00000dfc: SWAP1 00000dfd: PUSH2 0x1fe5 00000e00: JUMP 00000e01: JUMPDEST 00000e02: PUSH1 0x33 00000e04: SLOAD 00000e05: PUSH1 0x40 00000e07: MLOAD 00000e08: PUSH1 0x01 00000e0a: PUSH1 0x01 00000e0c: PUSH1 0xa0 00000e0e: SHL 00000e0f: SUB 00000e10: DUP1 00000e11: DUP5 00000e12: AND 00000e13: SWAP3 00000e14: AND 00000e15: SWAP1 00000e16: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000e37: SWAP1 00000e38: PUSH1 0x00 00000e3a: SWAP1 00000e3b: LOG3 00000e3c: PUSH1 0x33 00000e3e: DUP1 00000e3f: SLOAD 00000e40: PUSH1 0x01 00000e42: PUSH1 0x01 00000e44: PUSH1 0xa0 00000e46: SHL 00000e47: SUB 00000e48: NOT 00000e49: AND 00000e4a: PUSH1 0x01 00000e4c: PUSH1 0x01 00000e4e: PUSH1 0xa0 00000e50: SHL 00000e51: SUB 00000e52: SWAP3 00000e53: SWAP1 00000e54: SWAP3 00000e55: AND 00000e56: SWAP2 00000e57: SWAP1 00000e58: SWAP2 00000e59: OR 00000e5a: SWAP1 00000e5b: SSTORE 00000e5c: JUMP 00000e5d: JUMPDEST 00000e5e: PUSH1 0x40 00000e60: MLOAD 00000e61: PUSH3 0x461bcd 00000e65: PUSH1 0xe5 00000e67: SHL 00000e68: DUP2 00000e69: MSTORE 00000e6a: PUSH1 0x04 00000e6c: ADD 00000e6d: PUSH2 0x0303 00000e70: SWAP1 00000e71: PUSH2 0x2289 00000e74: JUMP 00000e75: JUMPDEST 00000e76: CALLER 00000e77: SWAP1 00000e78: JUMP 00000e79: JUMPDEST 00000e7a: PUSH2 0x0e81 00000e7d: PUSH2 0x036e 00000e80: JUMP 00000e81: JUMPDEST 00000e82: PUSH2 0x0e9d 00000e85: JUMPI 00000e86: PUSH1 0x40 00000e88: MLOAD 00000e89: PUSH3 0x461bcd 00000e8d: PUSH1 0xe5 00000e8f: SHL 00000e90: DUP2 00000e91: MSTORE 00000e92: PUSH1 0x04 00000e94: ADD 00000e95: PUSH2 0x0303 00000e98: SWAP1 00000e99: PUSH2 0x1f61 00000e9c: JUMP 00000e9d: JUMPDEST 00000e9e: PUSH1 0x66 00000ea0: DUP1 00000ea1: SLOAD 00000ea2: PUSH1 0xff 00000ea4: NOT 00000ea5: AND 00000ea6: SWAP1 00000ea7: SSTORE 00000ea8: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 00000ec9: PUSH2 0x0ed0 00000ecc: PUSH2 0x0e75 00000ecf: JUMP 00000ed0: JUMPDEST 00000ed1: PUSH1 0x40 00000ed3: MLOAD 00000ed4: PUSH2 0x0edd 00000ed7: SWAP2 00000ed8: SWAP1 00000ed9: PUSH2 0x1d80 00000edc: JUMP 00000edd: JUMPDEST 00000ede: PUSH1 0x40 00000ee0: MLOAD 00000ee1: DUP1 00000ee2: SWAP2 00000ee3: SUB 00000ee4: SWAP1 00000ee5: LOG1 00000ee6: JUMP 00000ee7: JUMPDEST 00000ee8: PUSH2 0x0eef 00000eeb: PUSH2 0x036e 00000eee: JUMP 00000eef: JUMPDEST 00000ef0: ISZERO 00000ef1: PUSH2 0x0f0c 00000ef4: JUMPI 00000ef5: PUSH1 0x40 00000ef7: MLOAD 00000ef8: PUSH3 0x461bcd 00000efc: PUSH1 0xe5 00000efe: SHL 00000eff: DUP2 00000f00: MSTORE 00000f01: PUSH1 0x04 00000f03: ADD 00000f04: PUSH2 0x0303 00000f07: SWAP1 00000f08: PUSH2 0x20eb 00000f0b: JUMP 00000f0c: JUMPDEST 00000f0d: PUSH1 0x66 00000f0f: DUP1 00000f10: SLOAD 00000f11: PUSH1 0xff 00000f13: NOT 00000f14: AND 00000f15: PUSH1 0x01 00000f17: OR 00000f18: SWAP1 00000f19: SSTORE 00000f1a: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00000f3b: PUSH2 0x0ed0 00000f3e: PUSH2 0x0e75 00000f41: JUMP 00000f42: JUMPDEST 00000f43: PUSH1 0x33 00000f45: SLOAD 00000f46: PUSH1 0x40 00000f48: MLOAD 00000f49: PUSH1 0x00 00000f4b: SWAP2 00000f4c: PUSH1 0x01 00000f4e: PUSH1 0x01 00000f50: PUSH1 0xa0 00000f52: SHL 00000f53: SUB 00000f54: AND 00000f55: SWAP1 00000f56: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000f77: SWAP1 00000f78: DUP4 00000f79: SWAP1 00000f7a: LOG3 00000f7b: PUSH1 0x33 00000f7d: DUP1 00000f7e: SLOAD 00000f7f: PUSH1 0x01 00000f81: PUSH1 0x01 00000f83: PUSH1 0xa0 00000f85: SHL 00000f86: SUB 00000f87: NOT 00000f88: AND 00000f89: SWAP1 00000f8a: SSTORE 00000f8b: JUMP 00000f8c: JUMPDEST 00000f8d: PUSH1 0x00 00000f8f: DUP1 00000f90: PUSH10 0x18da1958dadc1bda5b9d 00000f9b: PUSH1 0xb2 00000f9d: SHL 00000f9e: PUSH1 0x00 00000fa0: SHL 00000fa1: SWAP1 00000fa2: POP 00000fa3: PUSH1 0x00 00000fa5: DUP4 00000fa6: DUP3 00000fa7: DUP7 00000fa8: PUSH1 0x40 00000faa: ADD 00000fab: MLOAD 00000fac: DUP8 00000fad: PUSH1 0x00 00000faf: ADD 00000fb0: MLOAD 00000fb1: DUP9 00000fb2: PUSH1 0x20 00000fb4: ADD 00000fb5: MLOAD 00000fb6: DUP10 00000fb7: PUSH1 0x60 00000fb9: ADD 00000fba: MLOAD 00000fbb: DUP11 00000fbc: PUSH1 0x80 00000fbe: ADD 00000fbf: MLOAD 00000fc0: PUSH1 0x40 00000fc2: MLOAD 00000fc3: PUSH1 0x20 00000fc5: ADD 00000fc6: PUSH2 0x0fd5 00000fc9: SWAP8 00000fca: SWAP7 00000fcb: SWAP6 00000fcc: SWAP5 00000fcd: SWAP4 00000fce: SWAP3 00000fcf: SWAP2 00000fd0: SWAP1 00000fd1: PUSH2 0x1de5 00000fd4: JUMP 00000fd5: JUMPDEST 00000fd6: PUSH1 0x40 00000fd8: DUP1 00000fd9: MLOAD 00000fda: DUP1 00000fdb: DUP4 00000fdc: SUB 00000fdd: PUSH1 0x1f 00000fdf: NOT 00000fe0: ADD 00000fe1: DUP2 00000fe2: MSTORE 00000fe3: SWAP2 00000fe4: SWAP1 00000fe5: MSTORE 00000fe6: DUP1 00000fe7: MLOAD 00000fe8: PUSH1 0x20 00000fea: SWAP1 00000feb: SWAP2 00000fec: ADD 00000fed: KECCAK256 00000fee: SWAP6 00000fef: SWAP5 00000ff0: POP 00000ff1: POP 00000ff2: POP 00000ff3: POP 00000ff4: POP 00000ff5: JUMP 00000ff6: JUMPDEST 00000ff7: PUSH1 0x00 00000ff9: DUP1 00000ffa: JUMPDEST 00000ffb: DUP9 00000ffc: MLOAD 00000ffd: DUP2 00000ffe: LT 00000fff: ISZERO 00001000: PUSH2 0x114e 00001003: JUMPI 00001004: DUP7 00001005: DUP2 00001006: DUP2 00001007: MLOAD 00001008: DUP2 00001009: LT 0000100a: PUSH2 0x1023 0000100d: JUMPI 0000100e: PUSH4 0x4e487b71 00001013: PUSH1 0xe0 00001015: SHL 00001016: PUSH1 0x00 00001018: MSTORE 00001019: PUSH1 0x32 0000101b: PUSH1 0x04 0000101d: MSTORE 0000101e: PUSH1 0x24 00001020: PUSH1 0x00 00001022: REVERT 00001023: JUMPDEST 00001024: PUSH1 0x20 00001026: MUL 00001027: PUSH1 0x20 00001029: ADD 0000102a: ADD 0000102b: MLOAD 0000102c: PUSH1 0xff 0000102e: AND 0000102f: PUSH1 0x00 00001031: EQ 00001032: PUSH2 0x113c 00001035: JUMPI 00001036: PUSH2 0x10de 00001039: DUP10 0000103a: DUP3 0000103b: DUP2 0000103c: MLOAD 0000103d: DUP2 0000103e: LT 0000103f: PUSH2 0x1058 00001042: JUMPI 00001043: PUSH4 0x4e487b71 00001048: PUSH1 0xe0 0000104a: SHL 0000104b: PUSH1 0x00 0000104d: MSTORE 0000104e: PUSH1 0x32 00001050: PUSH1 0x04 00001052: MSTORE 00001053: PUSH1 0x24 00001055: PUSH1 0x00 00001057: REVERT 00001058: JUMPDEST 00001059: PUSH1 0x20 0000105b: MUL 0000105c: PUSH1 0x20 0000105e: ADD 0000105f: ADD 00001060: MLOAD 00001061: DUP6 00001062: DUP10 00001063: DUP5 00001064: DUP2 00001065: MLOAD 00001066: DUP2 00001067: LT 00001068: PUSH2 0x1081 0000106b: JUMPI 0000106c: PUSH4 0x4e487b71 00001071: PUSH1 0xe0 00001073: SHL 00001074: PUSH1 0x00 00001076: MSTORE 00001077: PUSH1 0x32 00001079: PUSH1 0x04 0000107b: MSTORE 0000107c: PUSH1 0x24 0000107e: PUSH1 0x00 00001080: REVERT 00001081: JUMPDEST 00001082: PUSH1 0x20 00001084: MUL 00001085: PUSH1 0x20 00001087: ADD 00001088: ADD 00001089: MLOAD 0000108a: DUP10 0000108b: DUP6 0000108c: DUP2 0000108d: MLOAD 0000108e: DUP2 0000108f: LT 00001090: PUSH2 0x10a9 00001093: JUMPI 00001094: PUSH4 0x4e487b71 00001099: PUSH1 0xe0 0000109b: SHL 0000109c: PUSH1 0x00 0000109e: MSTORE 0000109f: PUSH1 0x32 000010a1: PUSH1 0x04 000010a3: MSTORE 000010a4: PUSH1 0x24 000010a6: PUSH1 0x00 000010a8: REVERT 000010a9: JUMPDEST 000010aa: PUSH1 0x20 000010ac: MUL 000010ad: PUSH1 0x20 000010af: ADD 000010b0: ADD 000010b1: MLOAD 000010b2: DUP10 000010b3: DUP7 000010b4: DUP2 000010b5: MLOAD 000010b6: DUP2 000010b7: LT 000010b8: PUSH2 0x10d1 000010bb: JUMPI 000010bc: PUSH4 0x4e487b71 000010c1: PUSH1 0xe0 000010c3: SHL 000010c4: PUSH1 0x00 000010c6: MSTORE 000010c7: PUSH1 0x32 000010c9: PUSH1 0x04 000010cb: MSTORE 000010cc: PUSH1 0x24 000010ce: PUSH1 0x00 000010d0: REVERT 000010d1: JUMPDEST 000010d2: PUSH1 0x20 000010d4: MUL 000010d5: PUSH1 0x20 000010d7: ADD 000010d8: ADD 000010d9: MLOAD 000010da: PUSH2 0x133f 000010dd: JUMP 000010de: JUMPDEST 000010df: PUSH2 0x10fa 000010e2: JUMPI 000010e3: PUSH1 0x40 000010e5: MLOAD 000010e6: PUSH3 0x461bcd 000010ea: PUSH1 0xe5 000010ec: SHL 000010ed: DUP2 000010ee: MSTORE 000010ef: PUSH1 0x04 000010f1: ADD 000010f2: PUSH2 0x0303 000010f5: SWAP1 000010f6: PUSH2 0x2062 000010f9: JUMP 000010fa: JUMPDEST 000010fb: DUP8 000010fc: DUP2 000010fd: DUP2 000010fe: MLOAD 000010ff: DUP2 00001100: LT 00001101: PUSH2 0x111a 00001104: JUMPI 00001105: PUSH4 0x4e487b71 0000110a: PUSH1 0xe0 0000110c: SHL 0000110d: PUSH1 0x00 0000110f: MSTORE 00001110: PUSH1 0x32 00001112: PUSH1 0x04 00001114: MSTORE 00001115: PUSH1 0x24 00001117: PUSH1 0x00 00001119: REVERT 0000111a: JUMPDEST 0000111b: PUSH1 0x20 0000111d: MUL 0000111e: PUSH1 0x20 00001120: ADD 00001121: ADD 00001122: MLOAD 00001123: DUP3 00001124: PUSH2 0x112d 00001127: SWAP2 00001128: SWAP1 00001129: PUSH2 0x2556 0000112c: JUMP 0000112d: JUMPDEST 0000112e: SWAP2 0000112f: POP 00001130: DUP3 00001131: DUP3 00001132: GT 00001133: ISZERO 00001134: PUSH2 0x113c 00001137: JUMPI 00001138: PUSH2 0x114e 0000113b: JUMP 0000113c: JUMPDEST 0000113d: DUP1 0000113e: PUSH2 0x1146 00001141: DUP2 00001142: PUSH2 0x25ac 00001145: JUMP 00001146: JUMPDEST 00001147: SWAP2 00001148: POP 00001149: POP 0000114a: PUSH2 0x0ffa 0000114d: JUMP 0000114e: JUMPDEST 0000114f: POP 00001150: DUP2 00001151: DUP2 00001152: GT 00001153: PUSH2 0x116e 00001156: JUMPI 00001157: PUSH1 0x40 00001159: MLOAD 0000115a: PUSH3 0x461bcd 0000115e: PUSH1 0xe5 00001160: SHL 00001161: DUP2 00001162: MSTORE 00001163: PUSH1 0x04 00001165: ADD 00001166: PUSH2 0x0303 00001169: SWAP1 0000116a: PUSH2 0x222c 0000116d: JUMP 0000116e: JUMPDEST 0000116f: POP 00001170: POP 00001171: POP 00001172: POP 00001173: POP 00001174: POP 00001175: POP 00001176: POP 00001177: JUMP 00001178: JUMPDEST 00001179: PUSH2 0x11ce 0000117c: DUP4 0000117d: PUSH4 0xa9059cbb 00001182: PUSH1 0xe0 00001184: SHL 00001185: DUP5 00001186: DUP5 00001187: PUSH1 0x40 00001189: MLOAD 0000118a: PUSH1 0x24 0000118c: ADD 0000118d: PUSH2 0x1197 00001190: SWAP3 00001191: SWAP2 00001192: SWAP1 00001193: PUSH2 0x1db8 00001196: JUMP 00001197: JUMPDEST 00001198: PUSH1 0x40 0000119a: DUP1 0000119b: MLOAD 0000119c: PUSH1 0x1f 0000119e: NOT 0000119f: DUP2 000011a0: DUP5 000011a1: SUB 000011a2: ADD 000011a3: DUP2 000011a4: MSTORE 000011a5: SWAP2 000011a6: SWAP1 000011a7: MSTORE 000011a8: PUSH1 0x20 000011aa: DUP2 000011ab: ADD 000011ac: DUP1 000011ad: MLOAD 000011ae: PUSH1 0x01 000011b0: PUSH1 0x01 000011b2: PUSH1 0xe0 000011b4: SHL 000011b5: SUB 000011b6: AND 000011b7: PUSH1 0x01 000011b9: PUSH1 0x01 000011bb: PUSH1 0xe0 000011bd: SHL 000011be: SUB 000011bf: NOT 000011c0: SWAP1 000011c1: SWAP4 000011c2: AND 000011c3: SWAP3 000011c4: SWAP1 000011c5: SWAP3 000011c6: OR 000011c7: SWAP1 000011c8: SWAP2 000011c9: MSTORE 000011ca: PUSH2 0x13da 000011cd: JUMP 000011ce: JUMPDEST 000011cf: POP 000011d0: POP 000011d1: POP 000011d2: JUMP 000011d3: JUMPDEST 000011d4: PUSH2 0x11f4 000011d7: DUP5 000011d8: PUSH4 0x23b872dd 000011dd: PUSH1 0xe0 000011df: SHL 000011e0: DUP6 000011e1: DUP6 000011e2: DUP6 000011e3: PUSH1 0x40 000011e5: MLOAD 000011e6: PUSH1 0x24 000011e8: ADD 000011e9: PUSH2 0x1197 000011ec: SWAP4 000011ed: SWAP3 000011ee: SWAP2 000011ef: SWAP1 000011f0: PUSH2 0x1d94 000011f3: JUMP 000011f4: JUMPDEST 000011f5: POP 000011f6: POP 000011f7: POP 000011f8: POP 000011f9: JUMP 000011fa: JUMPDEST 000011fb: PUSH1 0x00 000011fd: SLOAD 000011fe: PUSH2 0x0100 00001201: SWAP1 00001202: DIV 00001203: PUSH1 0xff 00001205: AND 00001206: DUP1 00001207: PUSH2 0x1213 0000120a: JUMPI 0000120b: POP 0000120c: PUSH1 0x00 0000120e: SLOAD 0000120f: PUSH1 0xff 00001211: AND 00001212: ISZERO 00001213: JUMPDEST 00001214: PUSH2 0x122f 00001217: JUMPI 00001218: PUSH1 0x40 0000121a: MLOAD 0000121b: PUSH3 0x461bcd 0000121f: PUSH1 0xe5 00001221: SHL 00001222: DUP2 00001223: MSTORE 00001224: PUSH1 0x04 00001226: ADD 00001227: PUSH2 0x0303 0000122a: SWAP1 0000122b: PUSH2 0x2115 0000122e: JUMP 0000122f: JUMPDEST 00001230: PUSH1 0x00 00001232: SLOAD 00001233: PUSH2 0x0100 00001236: SWAP1 00001237: DIV 00001238: PUSH1 0xff 0000123a: AND 0000123b: ISZERO 0000123c: DUP1 0000123d: ISZERO 0000123e: PUSH2 0x125a 00001241: JUMPI 00001242: PUSH1 0x00 00001244: DUP1 00001245: SLOAD 00001246: PUSH1 0xff 00001248: NOT 00001249: PUSH2 0xff00 0000124c: NOT 0000124d: SWAP1 0000124e: SWAP2 0000124f: AND 00001250: PUSH2 0x0100 00001253: OR 00001254: AND 00001255: PUSH1 0x01 00001257: OR 00001258: SWAP1 00001259: SSTORE 0000125a: JUMPDEST 0000125b: DUP1 0000125c: ISZERO 0000125d: PUSH2 0x126c 00001260: JUMPI 00001261: PUSH1 0x00 00001263: DUP1 00001264: SLOAD 00001265: PUSH2 0xff00 00001268: NOT 00001269: AND 0000126a: SWAP1 0000126b: SSTORE 0000126c: JUMPDEST 0000126d: POP 0000126e: JUMP 0000126f: JUMPDEST 00001270: PUSH1 0x00 00001272: SLOAD 00001273: PUSH2 0x0100 00001276: SWAP1 00001277: DIV 00001278: PUSH1 0xff 0000127a: AND 0000127b: DUP1 0000127c: PUSH2 0x1288 0000127f: JUMPI 00001280: POP 00001281: PUSH1 0x00 00001283: SLOAD 00001284: PUSH1 0xff 00001286: AND 00001287: ISZERO 00001288: JUMPDEST 00001289: PUSH2 0x12a4 0000128c: JUMPI 0000128d: PUSH1 0x40 0000128f: MLOAD 00001290: PUSH3 0x461bcd 00001294: PUSH1 0xe5 00001296: SHL 00001297: DUP2 00001298: MSTORE 00001299: PUSH1 0x04 0000129b: ADD 0000129c: PUSH2 0x0303 0000129f: SWAP1 000012a0: PUSH2 0x2115 000012a3: JUMP 000012a4: JUMPDEST 000012a5: PUSH1 0x00 000012a7: SLOAD 000012a8: PUSH2 0x0100 000012ab: SWAP1 000012ac: DIV 000012ad: PUSH1 0xff 000012af: AND 000012b0: ISZERO 000012b1: DUP1 000012b2: ISZERO 000012b3: PUSH2 0x12cf 000012b6: JUMPI 000012b7: PUSH1 0x00 000012b9: DUP1 000012ba: SLOAD 000012bb: PUSH1 0xff 000012bd: NOT 000012be: PUSH2 0xff00 000012c1: NOT 000012c2: SWAP1 000012c3: SWAP2 000012c4: AND 000012c5: PUSH2 0x0100 000012c8: OR 000012c9: AND 000012ca: PUSH1 0x01 000012cc: OR 000012cd: SWAP1 000012ce: SSTORE 000012cf: JUMPDEST 000012d0: PUSH1 0x00 000012d2: PUSH2 0x12d9 000012d5: PUSH2 0x0e75 000012d8: JUMP 000012d9: JUMPDEST 000012da: PUSH1 0x33 000012dc: DUP1 000012dd: SLOAD 000012de: PUSH1 0x01 000012e0: PUSH1 0x01 000012e2: PUSH1 0xa0 000012e4: SHL 000012e5: SUB 000012e6: NOT 000012e7: AND 000012e8: PUSH1 0x01 000012ea: PUSH1 0x01 000012ec: PUSH1 0xa0 000012ee: SHL 000012ef: SUB 000012f0: DUP4 000012f1: AND 000012f2: SWAP1 000012f3: DUP2 000012f4: OR 000012f5: SWAP1 000012f6: SWAP2 000012f7: SSTORE 000012f8: TIMESTAMP 000012f9: PUSH1 0x34 000012fb: SSTORE 000012fc: PUSH1 0x40 000012fe: MLOAD 000012ff: SWAP2 00001300: SWAP3 00001301: POP 00001302: SWAP1 00001303: PUSH1 0x00 00001305: SWAP1 00001306: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001327: SWAP1 00001328: DUP3 00001329: SWAP1 0000132a: LOG3 0000132b: POP 0000132c: DUP1 0000132d: ISZERO 0000132e: PUSH2 0x126c 00001331: JUMPI 00001332: PUSH1 0x00 00001334: DUP1 00001335: SLOAD 00001336: PUSH2 0xff00 00001339: NOT 0000133a: AND 0000133b: SWAP1 0000133c: SSTORE 0000133d: POP 0000133e: JUMP 0000133f: JUMPDEST 00001340: PUSH1 0x00 00001342: DUP1 00001343: DUP6 00001344: PUSH1 0x40 00001346: MLOAD 00001347: PUSH1 0x20 00001349: ADD 0000134a: PUSH2 0x1353 0000134d: SWAP2 0000134e: SWAP1 0000134f: PUSH2 0x1d4f 00001352: JUMP 00001353: JUMPDEST 00001354: PUSH1 0x40 00001356: MLOAD 00001357: PUSH1 0x20 00001359: DUP2 0000135a: DUP4 0000135b: SUB 0000135c: SUB 0000135d: DUP2 0000135e: MSTORE 0000135f: SWAP1 00001360: PUSH1 0x40 00001362: MSTORE 00001363: DUP1 00001364: MLOAD 00001365: SWAP1 00001366: PUSH1 0x20 00001368: ADD 00001369: KECCAK256 0000136a: SWAP1 0000136b: POP 0000136c: PUSH1 0x01 0000136e: DUP2 0000136f: DUP7 00001370: DUP7 00001371: DUP7 00001372: PUSH1 0x40 00001374: MLOAD 00001375: PUSH1 0x00 00001377: DUP2 00001378: MSTORE 00001379: PUSH1 0x20 0000137b: ADD 0000137c: PUSH1 0x40 0000137e: MSTORE 0000137f: PUSH1 0x40 00001381: MLOAD 00001382: PUSH2 0x138e 00001385: SWAP5 00001386: SWAP4 00001387: SWAP3 00001388: SWAP2 00001389: SWAP1 0000138a: PUSH2 0x1eb3 0000138d: JUMP 0000138e: JUMPDEST 0000138f: PUSH1 0x20 00001391: PUSH1 0x40 00001393: MLOAD 00001394: PUSH1 0x20 00001396: DUP2 00001397: SUB 00001398: SWAP1 00001399: DUP1 0000139a: DUP5 0000139b: SUB 0000139c: SWAP1 0000139d: DUP6 0000139e: GAS 0000139f: STATICCALL 000013a0: ISZERO 000013a1: DUP1 000013a2: ISZERO 000013a3: PUSH2 0x13b0 000013a6: JUMPI 000013a7: RETURNDATASIZE 000013a8: PUSH1 0x00 000013aa: DUP1 000013ab: RETURNDATACOPY 000013ac: RETURNDATASIZE 000013ad: PUSH1 0x00 000013af: REVERT 000013b0: JUMPDEST 000013b1: POP 000013b2: POP 000013b3: POP 000013b4: PUSH1 0x20 000013b6: PUSH1 0x40 000013b8: MLOAD 000013b9: SUB 000013ba: MLOAD 000013bb: PUSH1 0x01 000013bd: PUSH1 0x01 000013bf: PUSH1 0xa0 000013c1: SHL 000013c2: SUB 000013c3: AND 000013c4: DUP8 000013c5: PUSH1 0x01 000013c7: PUSH1 0x01 000013c9: PUSH1 0xa0 000013cb: SHL 000013cc: SUB 000013cd: AND 000013ce: EQ 000013cf: SWAP2 000013d0: POP 000013d1: POP 000013d2: SWAP6 000013d3: SWAP5 000013d4: POP 000013d5: POP 000013d6: POP 000013d7: POP 000013d8: POP 000013d9: JUMP 000013da: JUMPDEST 000013db: PUSH1 0x00 000013dd: PUSH2 0x142f 000013e0: DUP3 000013e1: PUSH1 0x40 000013e3: MLOAD 000013e4: DUP1 000013e5: PUSH1 0x40 000013e7: ADD 000013e8: PUSH1 0x40 000013ea: MSTORE 000013eb: DUP1 000013ec: PUSH1 0x20 000013ee: DUP2 000013ef: MSTORE 000013f0: PUSH1 0x20 000013f2: ADD 000013f3: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00001414: DUP2 00001415: MSTORE 00001416: POP 00001417: DUP6 00001418: PUSH1 0x01 0000141a: PUSH1 0x01 0000141c: PUSH1 0xa0 0000141e: SHL 0000141f: SUB 00001420: AND 00001421: PUSH2 0x1469 00001424: SWAP1 00001425: SWAP3 00001426: SWAP2 00001427: SWAP1 00001428: PUSH4 0xffffffff 0000142d: AND 0000142e: JUMP 0000142f: JUMPDEST 00001430: DUP1 00001431: MLOAD 00001432: SWAP1 00001433: SWAP2 00001434: POP 00001435: ISZERO 00001436: PUSH2 0x11ce 00001439: JUMPI 0000143a: DUP1 0000143b: DUP1 0000143c: PUSH1 0x20 0000143e: ADD 0000143f: SWAP1 00001440: MLOAD 00001441: DUP2 00001442: ADD 00001443: SWAP1 00001444: PUSH2 0x144d 00001447: SWAP2 00001448: SWAP1 00001449: PUSH2 0x18dd 0000144c: JUMP 0000144d: JUMPDEST 0000144e: PUSH2 0x11ce 00001451: JUMPI 00001452: PUSH1 0x40 00001454: MLOAD 00001455: PUSH3 0x461bcd 00001459: PUSH1 0xe5 0000145b: SHL 0000145c: DUP2 0000145d: MSTORE 0000145e: PUSH1 0x04 00001460: ADD 00001461: PUSH2 0x0303 00001464: SWAP1 00001465: PUSH2 0x237d 00001468: JUMP 00001469: JUMPDEST 0000146a: PUSH1 0x60 0000146c: PUSH2 0x1478 0000146f: DUP5 00001470: DUP5 00001471: PUSH1 0x00 00001473: DUP6 00001474: PUSH2 0x1482 00001477: JUMP 00001478: JUMPDEST 00001479: SWAP1 0000147a: POP 0000147b: JUMPDEST 0000147c: SWAP4 0000147d: SWAP3 0000147e: POP 0000147f: POP 00001480: POP 00001481: JUMP 00001482: JUMPDEST 00001483: PUSH1 0x60 00001485: DUP3 00001486: SELFBALANCE 00001487: LT 00001488: ISZERO 00001489: PUSH2 0x14a4 0000148c: JUMPI 0000148d: PUSH1 0x40 0000148f: MLOAD 00001490: PUSH3 0x461bcd 00001494: PUSH1 0xe5 00001496: SHL 00001497: DUP2 00001498: MSTORE 00001499: PUSH1 0x04 0000149b: ADD 0000149c: PUSH2 0x0303 0000149f: SWAP1 000014a0: PUSH2 0x20a5 000014a3: JUMP 000014a4: JUMPDEST 000014a5: PUSH2 0x14ad 000014a8: DUP6 000014a9: PUSH2 0x1542 000014ac: JUMP 000014ad: JUMPDEST 000014ae: PUSH2 0x14c9 000014b1: JUMPI 000014b2: PUSH1 0x40 000014b4: MLOAD 000014b5: PUSH3 0x461bcd 000014b9: PUSH1 0xe5 000014bb: SHL 000014bc: DUP2 000014bd: MSTORE 000014be: PUSH1 0x04 000014c0: ADD 000014c1: PUSH2 0x0303 000014c4: SWAP1 000014c5: PUSH2 0x2346 000014c8: JUMP 000014c9: JUMPDEST 000014ca: PUSH1 0x00 000014cc: DUP1 000014cd: DUP7 000014ce: PUSH1 0x01 000014d0: PUSH1 0x01 000014d2: PUSH1 0xa0 000014d4: SHL 000014d5: SUB 000014d6: AND 000014d7: DUP6 000014d8: DUP8 000014d9: PUSH1 0x40 000014db: MLOAD 000014dc: PUSH2 0x14e5 000014df: SWAP2 000014e0: SWAP1 000014e1: PUSH2 0x1d33 000014e4: JUMP 000014e5: JUMPDEST 000014e6: PUSH1 0x00 000014e8: PUSH1 0x40 000014ea: MLOAD 000014eb: DUP1 000014ec: DUP4 000014ed: SUB 000014ee: DUP2 000014ef: DUP6 000014f0: DUP8 000014f1: GAS 000014f2: CALL 000014f3: SWAP3 000014f4: POP 000014f5: POP 000014f6: POP 000014f7: RETURNDATASIZE 000014f8: DUP1 000014f9: PUSH1 0x00 000014fb: DUP2 000014fc: EQ 000014fd: PUSH2 0x1522 00001500: JUMPI 00001501: PUSH1 0x40 00001503: MLOAD 00001504: SWAP2 00001505: POP 00001506: PUSH1 0x1f 00001508: NOT 00001509: PUSH1 0x3f 0000150b: RETURNDATASIZE 0000150c: ADD 0000150d: AND 0000150e: DUP3 0000150f: ADD 00001510: PUSH1 0x40 00001512: MSTORE 00001513: RETURNDATASIZE 00001514: DUP3 00001515: MSTORE 00001516: RETURNDATASIZE 00001517: PUSH1 0x00 00001519: PUSH1 0x20 0000151b: DUP5 0000151c: ADD 0000151d: RETURNDATACOPY 0000151e: PUSH2 0x1527 00001521: JUMP 00001522: JUMPDEST 00001523: PUSH1 0x60 00001525: SWAP2 00001526: POP 00001527: JUMPDEST 00001528: POP 00001529: SWAP2 0000152a: POP 0000152b: SWAP2 0000152c: POP 0000152d: PUSH2 0x1537 00001530: DUP3 00001531: DUP3 00001532: DUP7 00001533: PUSH2 0x1548 00001536: JUMP 00001537: JUMPDEST 00001538: SWAP8 00001539: SWAP7 0000153a: POP 0000153b: POP 0000153c: POP 0000153d: POP 0000153e: POP 0000153f: POP 00001540: POP 00001541: JUMP 00001542: JUMPDEST 00001543: EXTCODESIZE 00001544: ISZERO 00001545: ISZERO 00001546: SWAP1 00001547: JUMP 00001548: JUMPDEST 00001549: PUSH1 0x60 0000154b: DUP4 0000154c: ISZERO 0000154d: PUSH2 0x1557 00001550: JUMPI 00001551: POP 00001552: DUP2 00001553: PUSH2 0x147b 00001556: JUMP 00001557: JUMPDEST 00001558: DUP3 00001559: MLOAD 0000155a: ISZERO 0000155b: PUSH2 0x1567 0000155e: JUMPI 0000155f: DUP3 00001560: MLOAD 00001561: DUP1 00001562: DUP5 00001563: PUSH1 0x20 00001565: ADD 00001566: REVERT 00001567: JUMPDEST 00001568: DUP2 00001569: PUSH1 0x40 0000156b: MLOAD 0000156c: PUSH3 0x461bcd 00001570: PUSH1 0xe5 00001572: SHL 00001573: DUP2 00001574: MSTORE 00001575: PUSH1 0x04 00001577: ADD 00001578: PUSH2 0x0303 0000157b: SWAP2 0000157c: SWAP1 0000157d: PUSH2 0x1ed1 00001580: JUMP 00001581: JUMPDEST 00001582: PUSH1 0x40 00001584: MLOAD 00001585: DUP1 00001586: PUSH1 0xa0 00001588: ADD 00001589: PUSH1 0x40 0000158b: MSTORE 0000158c: DUP1 0000158d: PUSH1 0x60 0000158f: DUP2 00001590: MSTORE 00001591: PUSH1 0x20 00001593: ADD 00001594: PUSH1 0x60 00001596: DUP2 00001597: MSTORE 00001598: PUSH1 0x20 0000159a: ADD 0000159b: PUSH1 0x00 0000159d: DUP2 0000159e: MSTORE 0000159f: PUSH1 0x20 000015a1: ADD 000015a2: PUSH1 0x00 000015a4: DUP2 000015a5: MSTORE 000015a6: PUSH1 0x20 000015a8: ADD 000015a9: PUSH1 0x00 000015ab: PUSH1 0x01 000015ad: PUSH1 0x01 000015af: PUSH1 0xa0 000015b1: SHL 000015b2: SUB 000015b3: AND 000015b4: DUP2 000015b5: MSTORE 000015b6: POP 000015b7: SWAP1 000015b8: JUMP 000015b9: JUMPDEST 000015ba: DUP1 000015bb: CALLDATALOAD 000015bc: PUSH1 0x01 000015be: PUSH1 0x01 000015c0: PUSH1 0xa0 000015c2: SHL 000015c3: SUB 000015c4: DUP2 000015c5: AND 000015c6: DUP2 000015c7: EQ 000015c8: PUSH2 0x02a6 000015cb: JUMPI 000015cc: PUSH1 0x00 000015ce: DUP1 000015cf: REVERT 000015d0: JUMPDEST 000015d1: PUSH1 0x00 000015d3: DUP1 000015d4: DUP4 000015d5: PUSH1 0x1f 000015d7: DUP5 000015d8: ADD 000015d9: SLT 000015da: PUSH2 0x15e1 000015dd: JUMPI 000015de: DUP2 000015df: DUP3 000015e0: REVERT 000015e1: JUMPDEST 000015e2: POP 000015e3: DUP2 000015e4: CALLDATALOAD 000015e5: PUSH8 0xffffffffffffffff 000015ee: DUP2 000015ef: GT 000015f0: ISZERO 000015f1: PUSH2 0x15f8 000015f4: JUMPI 000015f5: DUP2 000015f6: DUP3 000015f7: REVERT 000015f8: JUMPDEST 000015f9: PUSH1 0x20 000015fb: DUP4 000015fc: ADD 000015fd: SWAP2 000015fe: POP 000015ff: DUP4 00001600: PUSH1 0x20 00001602: DUP1 00001603: DUP4 00001604: MUL 00001605: DUP6 00001606: ADD 00001607: ADD 00001608: GT 00001609: ISZERO 0000160a: PUSH2 0x1612 0000160d: JUMPI 0000160e: PUSH1 0x00 00001610: DUP1 00001611: REVERT 00001612: JUMPDEST 00001613: SWAP3 00001614: POP 00001615: SWAP3 00001616: SWAP1 00001617: POP 00001618: JUMP 00001619: JUMPDEST 0000161a: PUSH1 0x00 0000161c: DUP3 0000161d: PUSH1 0x1f 0000161f: DUP4 00001620: ADD 00001621: SLT 00001622: PUSH2 0x1629 00001625: JUMPI 00001626: DUP1 00001627: DUP2 00001628: REVERT 00001629: JUMPDEST 0000162a: DUP2 0000162b: CALLDATALOAD 0000162c: PUSH1 0x20 0000162e: PUSH2 0x163e 00001631: PUSH2 0x1639 00001634: DUP4 00001635: PUSH2 0x2532 00001638: JUMP 00001639: JUMPDEST 0000163a: PUSH2 0x2508 0000163d: JUMP 0000163e: JUMPDEST 0000163f: DUP3 00001640: DUP2 00001641: MSTORE 00001642: DUP2 00001643: DUP2 00001644: ADD 00001645: SWAP1 00001646: DUP6 00001647: DUP4 00001648: ADD 00001649: DUP4 0000164a: DUP6 0000164b: MUL 0000164c: DUP8 0000164d: ADD 0000164e: DUP5 0000164f: ADD 00001650: DUP9 00001651: LT 00001652: ISZERO 00001653: PUSH2 0x165a 00001656: JUMPI 00001657: DUP6 00001658: DUP7 00001659: REVERT 0000165a: JUMPDEST 0000165b: DUP6 0000165c: JUMPDEST 0000165d: DUP6 0000165e: DUP2 0000165f: LT 00001660: ISZERO 00001661: PUSH2 0x167f 00001664: JUMPI 00001665: PUSH2 0x166d 00001668: DUP3 00001669: PUSH2 0x15b9 0000166c: JUMP 0000166d: JUMPDEST 0000166e: DUP5 0000166f: MSTORE 00001670: SWAP3 00001671: DUP5 00001672: ADD 00001673: SWAP3 00001674: SWAP1 00001675: DUP5 00001676: ADD 00001677: SWAP1 00001678: PUSH1 0x01 0000167a: ADD 0000167b: PUSH2 0x165c 0000167e: JUMP 0000167f: JUMPDEST 00001680: POP 00001681: SWAP1 00001682: SWAP8 00001683: SWAP7 00001684: POP 00001685: POP 00001686: POP 00001687: POP 00001688: POP 00001689: POP 0000168a: POP 0000168b: JUMP 0000168c: JUMPDEST 0000168d: PUSH1 0x00 0000168f: DUP3 00001690: PUSH1 0x1f 00001692: DUP4 00001693: ADD 00001694: SLT 00001695: PUSH2 0x169c 00001698: JUMPI 00001699: DUP1 0000169a: DUP2 0000169b: REVERT 0000169c: JUMPDEST 0000169d: DUP2 0000169e: CALLDATALOAD 0000169f: PUSH1 0x20 000016a1: PUSH2 0x16ac 000016a4: PUSH2 0x1639 000016a7: DUP4 000016a8: PUSH2 0x2532 000016ab: JUMP 000016ac: JUMPDEST 000016ad: DUP3 000016ae: DUP2 000016af: MSTORE 000016b0: DUP2 000016b1: DUP2 000016b2: ADD 000016b3: SWAP1 000016b4: DUP6 000016b5: DUP4 000016b6: ADD 000016b7: DUP4 000016b8: DUP6 000016b9: MUL 000016ba: DUP8 000016bb: ADD 000016bc: DUP5 000016bd: ADD 000016be: DUP9 000016bf: LT 000016c0: ISZERO 000016c1: PUSH2 0x16c8 000016c4: JUMPI 000016c5: DUP6 000016c6: DUP7 000016c7: REVERT 000016c8: JUMPDEST 000016c9: DUP6 000016ca: JUMPDEST 000016cb: DUP6 000016cc: DUP2 000016cd: LT 000016ce: ISZERO 000016cf: PUSH2 0x167f 000016d2: JUMPI 000016d3: DUP2 000016d4: CALLDATALOAD 000016d5: DUP5 000016d6: MSTORE 000016d7: SWAP3 000016d8: DUP5 000016d9: ADD 000016da: SWAP3 000016db: SWAP1 000016dc: DUP5 000016dd: ADD 000016de: SWAP1 000016df: PUSH1 0x01 000016e1: ADD 000016e2: PUSH2 0x16ca 000016e5: JUMP 000016e6: JUMPDEST 000016e7: PUSH1 0x00 000016e9: DUP3 000016ea: PUSH1 0x1f 000016ec: DUP4 000016ed: ADD 000016ee: SLT 000016ef: PUSH2 0x16f6 000016f2: JUMPI 000016f3: DUP1 000016f4: DUP2 000016f5: REVERT 000016f6: JUMPDEST 000016f7: DUP2 000016f8: CALLDATALOAD 000016f9: PUSH1 0x20 000016fb: PUSH2 0x1706 000016fe: PUSH2 0x1639 00001701: DUP4 00001702: PUSH2 0x2532 00001705: JUMP 00001706: JUMPDEST 00001707: DUP3 00001708: DUP2 00001709: MSTORE 0000170a: DUP2 0000170b: DUP2 0000170c: ADD 0000170d: SWAP1 0000170e: DUP6 0000170f: DUP4 00001710: ADD 00001711: DUP4 00001712: DUP6 00001713: MUL 00001714: DUP8 00001715: ADD 00001716: DUP5 00001717: ADD 00001718: DUP9 00001719: LT 0000171a: ISZERO 0000171b: PUSH2 0x1722 0000171e: JUMPI 0000171f: DUP6 00001720: DUP7 00001721: REVERT 00001722: JUMPDEST 00001723: DUP6 00001724: JUMPDEST 00001725: DUP6 00001726: DUP2 00001727: LT 00001728: ISZERO 00001729: PUSH2 0x167f 0000172c: JUMPI 0000172d: PUSH2 0x1735 00001730: DUP3 00001731: PUSH2 0x184c 00001734: JUMP 00001735: JUMPDEST 00001736: DUP5 00001737: MSTORE 00001738: SWAP3 00001739: DUP5 0000173a: ADD 0000173b: SWAP3 0000173c: SWAP1 0000173d: DUP5 0000173e: ADD 0000173f: SWAP1 00001740: PUSH1 0x01 00001742: ADD 00001743: PUSH2 0x1724 00001746: JUMP 00001747: JUMPDEST 00001748: PUSH1 0x00 0000174a: DUP1 0000174b: DUP4 0000174c: PUSH1 0x1f 0000174e: DUP5 0000174f: ADD 00001750: SLT 00001751: PUSH2 0x1758 00001754: JUMPI 00001755: DUP2 00001756: DUP3 00001757: REVERT 00001758: JUMPDEST 00001759: POP 0000175a: DUP2 0000175b: CALLDATALOAD 0000175c: PUSH8 0xffffffffffffffff 00001765: DUP2 00001766: GT 00001767: ISZERO 00001768: PUSH2 0x176f 0000176b: JUMPI 0000176c: DUP2 0000176d: DUP3 0000176e: REVERT 0000176f: JUMPDEST 00001770: PUSH1 0x20 00001772: DUP4 00001773: ADD 00001774: SWAP2 00001775: POP 00001776: DUP4 00001777: PUSH1 0x20 00001779: DUP3 0000177a: DUP6 0000177b: ADD 0000177c: ADD 0000177d: GT 0000177e: ISZERO 0000177f: PUSH2 0x1612 00001782: JUMPI 00001783: PUSH1 0x00 00001785: DUP1 00001786: REVERT 00001787: JUMPDEST 00001788: PUSH1 0x00 0000178a: PUSH1 0xa0 0000178c: DUP3 0000178d: DUP5 0000178e: SUB 0000178f: SLT 00001790: ISZERO 00001791: PUSH2 0x1798 00001794: JUMPI 00001795: DUP1 00001796: DUP2 00001797: REVERT 00001798: JUMPDEST 00001799: POP 0000179a: SWAP2 0000179b: SWAP1 0000179c: POP 0000179d: JUMP 0000179e: JUMPDEST 0000179f: PUSH1 0x00 000017a1: PUSH1 0xa0 000017a3: DUP3 000017a4: DUP5 000017a5: SUB 000017a6: SLT 000017a7: ISZERO 000017a8: PUSH2 0x17af 000017ab: JUMPI 000017ac: DUP1 000017ad: DUP2 000017ae: REVERT 000017af: JUMPDEST 000017b0: PUSH1 0x40 000017b2: MLOAD 000017b3: PUSH1 0xa0 000017b5: DUP2 000017b6: ADD 000017b7: PUSH8 0xffffffffffffffff 000017c0: DUP3 000017c1: DUP3 000017c2: LT 000017c3: DUP2 000017c4: DUP4 000017c5: GT 000017c6: OR 000017c7: ISZERO 000017c8: PUSH2 0x17d3 000017cb: JUMPI 000017cc: PUSH2 0x17d3 000017cf: PUSH2 0x25dd 000017d2: JUMP 000017d3: JUMPDEST 000017d4: DUP2 000017d5: PUSH1 0x40 000017d7: MSTORE 000017d8: DUP3 000017d9: SWAP4 000017da: POP 000017db: DUP5 000017dc: CALLDATALOAD 000017dd: SWAP2 000017de: POP 000017df: DUP1 000017e0: DUP3 000017e1: GT 000017e2: ISZERO 000017e3: PUSH2 0x17eb 000017e6: JUMPI 000017e7: PUSH1 0x00 000017e9: DUP1 000017ea: REVERT 000017eb: JUMPDEST 000017ec: PUSH2 0x17f7 000017ef: DUP7 000017f0: DUP4 000017f1: DUP8 000017f2: ADD 000017f3: PUSH2 0x1619 000017f6: JUMP 000017f7: JUMPDEST 000017f8: DUP4 000017f9: MSTORE 000017fa: PUSH1 0x20 000017fc: DUP6 000017fd: ADD 000017fe: CALLDATALOAD 000017ff: SWAP2 00001800: POP 00001801: DUP1 00001802: DUP3 00001803: GT 00001804: ISZERO 00001805: PUSH2 0x180d 00001808: JUMPI 00001809: PUSH1 0x00 0000180b: DUP1 0000180c: REVERT 0000180d: JUMPDEST 0000180e: POP 0000180f: PUSH2 0x181a 00001812: DUP6 00001813: DUP3 00001814: DUP7 00001815: ADD 00001816: PUSH2 0x168c 00001819: JUMP 0000181a: JUMPDEST 0000181b: PUSH1 0x20 0000181d: DUP4 0000181e: ADD 0000181f: MSTORE 00001820: POP 00001821: PUSH1 0x40 00001823: DUP4 00001824: ADD 00001825: CALLDATALOAD 00001826: PUSH1 0x40 00001828: DUP3 00001829: ADD 0000182a: MSTORE 0000182b: PUSH1 0x60 0000182d: DUP4 0000182e: ADD 0000182f: CALLDATALOAD 00001830: PUSH1 0x60 00001832: DUP3 00001833: ADD 00001834: MSTORE 00001835: PUSH2 0x1840 00001838: PUSH1 0x80 0000183a: DUP5 0000183b: ADD 0000183c: PUSH2 0x15b9 0000183f: JUMP 00001840: JUMPDEST 00001841: PUSH1 0x80 00001843: DUP3 00001844: ADD 00001845: MSTORE 00001846: POP 00001847: SWAP3 00001848: SWAP2 00001849: POP 0000184a: POP 0000184b: JUMP 0000184c: JUMPDEST 0000184d: DUP1 0000184e: CALLDATALOAD 0000184f: PUSH1 0xff 00001851: DUP2 00001852: AND 00001853: DUP2 00001854: EQ 00001855: PUSH2 0x02a6 00001858: JUMPI 00001859: PUSH1 0x00 0000185b: DUP1 0000185c: REVERT 0000185d: JUMPDEST 0000185e: PUSH1 0x00 00001860: PUSH1 0x20 00001862: DUP3 00001863: DUP5 00001864: SUB 00001865: SLT 00001866: ISZERO 00001867: PUSH2 0x186e 0000186a: JUMPI 0000186b: DUP1 0000186c: DUP2 0000186d: REVERT 0000186e: JUMPDEST 0000186f: PUSH2 0x147b 00001872: DUP3 00001873: PUSH2 0x15b9 00001876: JUMP 00001877: JUMPDEST 00001878: PUSH1 0x00 0000187a: DUP1 0000187b: PUSH1 0x00 0000187d: DUP1 0000187e: PUSH1 0x00 00001880: PUSH1 0x80 00001882: DUP7 00001883: DUP9 00001884: SUB 00001885: SLT 00001886: ISZERO 00001887: PUSH2 0x188e 0000188a: JUMPI 0000188b: DUP1 0000188c: DUP2 0000188d: REVERT 0000188e: JUMPDEST 0000188f: PUSH2 0x1897 00001892: DUP7 00001893: PUSH2 0x15b9 00001896: JUMP 00001897: JUMPDEST 00001898: SWAP5 00001899: POP 0000189a: PUSH1 0x20 0000189c: DUP7 0000189d: ADD 0000189e: CALLDATALOAD 0000189f: SWAP4 000018a0: POP 000018a1: PUSH1 0x40 000018a3: DUP7 000018a4: ADD 000018a5: CALLDATALOAD 000018a6: SWAP3 000018a7: POP 000018a8: PUSH1 0x60 000018aa: DUP7 000018ab: ADD 000018ac: CALLDATALOAD 000018ad: PUSH8 0xffffffffffffffff 000018b6: DUP2 000018b7: GT 000018b8: ISZERO 000018b9: PUSH2 0x18c0 000018bc: JUMPI 000018bd: DUP2 000018be: DUP3 000018bf: REVERT 000018c0: JUMPDEST 000018c1: PUSH2 0x18cc 000018c4: DUP9 000018c5: DUP3 000018c6: DUP10 000018c7: ADD 000018c8: PUSH2 0x1747 000018cb: JUMP 000018cc: JUMPDEST 000018cd: SWAP7 000018ce: SWAP10 000018cf: SWAP6 000018d0: SWAP9 000018d1: POP 000018d2: SWAP4 000018d3: SWAP7 000018d4: POP 000018d5: SWAP3 000018d6: SWAP5 000018d7: SWAP4 000018d8: SWAP3 000018d9: POP 000018da: POP 000018db: POP 000018dc: JUMP 000018dd: JUMPDEST 000018de: PUSH1 0x00 000018e0: PUSH1 0x20 000018e2: DUP3 000018e3: DUP5 000018e4: SUB 000018e5: SLT 000018e6: ISZERO 000018e7: PUSH2 0x18ee 000018ea: JUMPI 000018eb: DUP1 000018ec: DUP2 000018ed: REVERT 000018ee: JUMPDEST 000018ef: DUP2 000018f0: MLOAD 000018f1: DUP1 000018f2: ISZERO 000018f3: ISZERO 000018f4: DUP2 000018f5: EQ 000018f6: PUSH2 0x147b 000018f9: JUMPI 000018fa: DUP2 000018fb: DUP3 000018fc: REVERT 000018fd: JUMPDEST 000018fe: PUSH1 0x00 00001900: PUSH1 0x20 00001902: DUP3 00001903: DUP5 00001904: SUB 00001905: SLT 00001906: ISZERO 00001907: PUSH2 0x190e 0000190a: JUMPI 0000190b: DUP1 0000190c: DUP2 0000190d: REVERT 0000190e: JUMPDEST 0000190f: POP 00001910: CALLDATALOAD 00001911: SWAP2 00001912: SWAP1 00001913: POP 00001914: JUMP 00001915: JUMPDEST 00001916: PUSH1 0x00 00001918: DUP1 00001919: PUSH1 0x00 0000191b: DUP1 0000191c: PUSH1 0x00 0000191e: DUP1 0000191f: PUSH1 0x80 00001921: DUP8 00001922: DUP10 00001923: SUB 00001924: SLT 00001925: ISZERO 00001926: PUSH2 0x192d 00001929: JUMPI 0000192a: DUP4 0000192b: DUP5 0000192c: REVERT 0000192d: JUMPDEST 0000192e: DUP7 0000192f: CALLDATALOAD 00001930: SWAP6 00001931: POP 00001932: PUSH1 0x20 00001934: DUP8 00001935: ADD 00001936: CALLDATALOAD 00001937: SWAP5 00001938: POP 00001939: PUSH1 0x40 0000193b: DUP8 0000193c: ADD 0000193d: CALLDATALOAD 0000193e: PUSH8 0xffffffffffffffff 00001947: DUP1 00001948: DUP3 00001949: GT 0000194a: ISZERO 0000194b: PUSH2 0x1952 0000194e: JUMPI 0000194f: DUP6 00001950: DUP7 00001951: REVERT 00001952: JUMPDEST 00001953: PUSH2 0x195e 00001956: DUP11 00001957: DUP4 00001958: DUP12 00001959: ADD 0000195a: PUSH2 0x15d0 0000195d: JUMP 0000195e: JUMPDEST 0000195f: SWAP1 00001960: SWAP7 00001961: POP 00001962: SWAP5 00001963: POP 00001964: PUSH1 0x60 00001966: DUP10 00001967: ADD 00001968: CALLDATALOAD 00001969: SWAP2 0000196a: POP 0000196b: DUP1 0000196c: DUP3 0000196d: GT 0000196e: ISZERO 0000196f: PUSH2 0x1976 00001972: JUMPI 00001973: DUP3 00001974: DUP4 00001975: REVERT 00001976: JUMPDEST 00001977: POP 00001978: PUSH2 0x1983 0000197b: DUP10 0000197c: DUP3 0000197d: DUP11 0000197e: ADD 0000197f: PUSH2 0x15d0 00001982: JUMP 00001983: JUMPDEST 00001984: SWAP8 00001985: SWAP11 00001986: SWAP7 00001987: SWAP10 00001988: POP 00001989: SWAP5 0000198a: SWAP8 0000198b: POP 0000198c: SWAP3 0000198d: SWAP6 0000198e: SWAP4 0000198f: SWAP5 00001990: SWAP3 00001991: POP 00001992: POP 00001993: POP 00001994: JUMP 00001995: JUMPDEST 00001996: PUSH1 0x00 00001998: DUP1 00001999: PUSH1 0x00 0000199b: DUP1 0000199c: PUSH1 0x00 0000199e: DUP1 0000199f: PUSH1 0x00 000019a1: PUSH1 0x80 000019a3: DUP9 000019a4: DUP11 000019a5: SUB 000019a6: SLT 000019a7: ISZERO 000019a8: PUSH2 0x19af 000019ab: JUMPI 000019ac: DUP5 000019ad: DUP6 000019ae: REVERT 000019af: JUMPDEST 000019b0: DUP8 000019b1: CALLDATALOAD 000019b2: PUSH8 0xffffffffffffffff 000019bb: DUP1 000019bc: DUP3 000019bd: GT 000019be: ISZERO 000019bf: PUSH2 0x19c6 000019c2: JUMPI 000019c3: DUP7 000019c4: DUP8 000019c5: REVERT 000019c6: JUMPDEST 000019c7: PUSH2 0x19d2 000019ca: DUP12 000019cb: DUP4 000019cc: DUP13 000019cd: ADD 000019ce: PUSH2 0x1747 000019d1: JUMP 000019d2: JUMPDEST 000019d3: SWAP1 000019d4: SWAP10 000019d5: POP 000019d6: SWAP8 000019d7: POP 000019d8: PUSH1 0x20 000019da: DUP11 000019db: ADD 000019dc: CALLDATALOAD 000019dd: SWAP2 000019de: POP 000019df: DUP1 000019e0: DUP3 000019e1: GT 000019e2: ISZERO 000019e3: PUSH2 0x19ea 000019e6: JUMPI 000019e7: DUP7 000019e8: DUP8 000019e9: REVERT 000019ea: JUMPDEST 000019eb: PUSH2 0x19f6 000019ee: DUP12 000019ef: DUP4 000019f0: DUP13 000019f1: ADD 000019f2: PUSH2 0x1747 000019f5: JUMP 000019f6: JUMPDEST 000019f7: SWAP1 000019f8: SWAP8 000019f9: POP 000019fa: SWAP6 000019fb: POP 000019fc: PUSH1 0x40 000019fe: DUP11 000019ff: ADD 00001a00: CALLDATALOAD 00001a01: SWAP2 00001a02: POP 00001a03: DUP1 00001a04: DUP3 00001a05: GT 00001a06: ISZERO 00001a07: PUSH2 0x1a0e 00001a0a: JUMPI 00001a0b: DUP3 00001a0c: DUP4 00001a0d: REVERT 00001a0e: JUMPDEST 00001a0f: POP 00001a10: PUSH2 0x1a1b 00001a13: DUP11 00001a14: DUP3 00001a15: DUP12 00001a16: ADD 00001a17: PUSH2 0x1747 00001a1a: JUMP 00001a1b: JUMPDEST 00001a1c: SWAP1 00001a1d: SWAP5 00001a1e: POP 00001a1f: SWAP3 00001a20: POP 00001a21: PUSH2 0x1a2e 00001a24: SWAP1 00001a25: POP 00001a26: PUSH1 0x60 00001a28: DUP10 00001a29: ADD 00001a2a: PUSH2 0x184c 00001a2d: JUMP 00001a2e: JUMPDEST 00001a2f: SWAP1 00001a30: POP 00001a31: SWAP3 00001a32: SWAP6 00001a33: SWAP9 00001a34: SWAP2 00001a35: SWAP5 00001a36: SWAP8 00001a37: POP 00001a38: SWAP3 00001a39: SWAP6 00001a3a: POP 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: PUSH1 0x00 00001a3f: DUP1 00001a40: PUSH1 0x00 00001a42: DUP1 00001a43: PUSH1 0x00 00001a45: DUP1 00001a46: PUSH1 0x00 00001a48: DUP1 00001a49: PUSH1 0xa0 00001a4b: DUP10 00001a4c: DUP12 00001a4d: SUB 00001a4e: SLT 00001a4f: ISZERO 00001a50: PUSH2 0x1a57 00001a53: JUMPI 00001a54: DUP2 00001a55: DUP3 00001a56: REVERT 00001a57: JUMPDEST 00001a58: DUP9 00001a59: CALLDATALOAD 00001a5a: PUSH8 0xffffffffffffffff 00001a63: DUP1 00001a64: DUP3 00001a65: GT 00001a66: ISZERO 00001a67: PUSH2 0x1a6e 00001a6a: JUMPI 00001a6b: DUP4 00001a6c: DUP5 00001a6d: REVERT 00001a6e: JUMPDEST 00001a6f: PUSH2 0x1a7a 00001a72: DUP13 00001a73: DUP4 00001a74: DUP14 00001a75: ADD 00001a76: PUSH2 0x1787 00001a79: JUMP 00001a7a: JUMPDEST 00001a7b: SWAP10 00001a7c: POP 00001a7d: PUSH1 0x20 00001a7f: DUP12 00001a80: ADD 00001a81: CALLDATALOAD 00001a82: SWAP2 00001a83: POP 00001a84: DUP1 00001a85: DUP3 00001a86: GT 00001a87: ISZERO 00001a88: PUSH2 0x1a8f 00001a8b: JUMPI 00001a8c: DUP4 00001a8d: DUP5 00001a8e: REVERT 00001a8f: JUMPDEST 00001a90: PUSH2 0x1a9b 00001a93: DUP13 00001a94: DUP4 00001a95: DUP14 00001a96: ADD 00001a97: PUSH2 0x1787 00001a9a: JUMP 00001a9b: JUMPDEST 00001a9c: SWAP9 00001a9d: POP 00001a9e: PUSH1 0x40 00001aa0: DUP12 00001aa1: ADD 00001aa2: CALLDATALOAD 00001aa3: SWAP2 00001aa4: POP 00001aa5: DUP1 00001aa6: DUP3 00001aa7: GT 00001aa8: ISZERO 00001aa9: PUSH2 0x1ab0 00001aac: JUMPI 00001aad: DUP4 00001aae: DUP5 00001aaf: REVERT 00001ab0: JUMPDEST 00001ab1: PUSH2 0x1abc 00001ab4: DUP13 00001ab5: DUP4 00001ab6: DUP14 00001ab7: ADD 00001ab8: PUSH2 0x15d0 00001abb: JUMP 00001abc: JUMPDEST 00001abd: SWAP1 00001abe: SWAP9 00001abf: POP 00001ac0: SWAP7 00001ac1: POP 00001ac2: PUSH1 0x60 00001ac4: DUP12 00001ac5: ADD 00001ac6: CALLDATALOAD 00001ac7: SWAP2 00001ac8: POP 00001ac9: DUP1 00001aca: DUP3 00001acb: GT 00001acc: ISZERO 00001acd: PUSH2 0x1ad4 00001ad0: JUMPI 00001ad1: DUP4 00001ad2: DUP5 00001ad3: REVERT 00001ad4: JUMPDEST 00001ad5: PUSH2 0x1ae0 00001ad8: DUP13 00001ad9: DUP4 00001ada: DUP14 00001adb: ADD 00001adc: PUSH2 0x15d0 00001adf: JUMP 00001ae0: JUMPDEST 00001ae1: SWAP1 00001ae2: SWAP7 00001ae3: POP 00001ae4: SWAP5 00001ae5: POP 00001ae6: PUSH1 0x80 00001ae8: DUP12 00001ae9: ADD 00001aea: CALLDATALOAD 00001aeb: SWAP2 00001aec: POP 00001aed: DUP1 00001aee: DUP3 00001aef: GT 00001af0: ISZERO 00001af1: PUSH2 0x1af8 00001af4: JUMPI 00001af5: DUP4 00001af6: DUP5 00001af7: REVERT 00001af8: JUMPDEST 00001af9: POP 00001afa: PUSH2 0x1b05 00001afd: DUP12 00001afe: DUP3 00001aff: DUP13 00001b00: ADD 00001b01: PUSH2 0x15d0 00001b04: JUMP 00001b05: JUMPDEST 00001b06: SWAP10 00001b07: SWAP13 00001b08: SWAP9 00001b09: SWAP12 00001b0a: POP 00001b0b: SWAP7 00001b0c: SWAP10 00001b0d: POP 00001b0e: SWAP5 00001b0f: SWAP8 00001b10: SWAP4 00001b11: SWAP7 00001b12: SWAP3 00001b13: SWAP6 00001b14: SWAP5 00001b15: POP 00001b16: POP 00001b17: POP 00001b18: JUMP 00001b19: JUMPDEST 00001b1a: PUSH1 0x00 00001b1c: DUP1 00001b1d: PUSH1 0x00 00001b1f: DUP1 00001b20: PUSH1 0x00 00001b22: DUP1 00001b23: PUSH1 0x00 00001b25: DUP1 00001b26: PUSH1 0x00 00001b28: DUP1 00001b29: PUSH2 0x0140 00001b2c: DUP12 00001b2d: DUP14 00001b2e: SUB 00001b2f: SLT 00001b30: ISZERO 00001b31: PUSH2 0x1b38 00001b34: JUMPI 00001b35: DUP4 00001b36: DUP5 00001b37: REVERT 00001b38: JUMPDEST 00001b39: DUP11 00001b3a: CALLDATALOAD 00001b3b: PUSH8 0xffffffffffffffff 00001b44: DUP1 00001b45: DUP3 00001b46: GT 00001b47: ISZERO 00001b48: PUSH2 0x1b4f 00001b4b: JUMPI 00001b4c: DUP6 00001b4d: DUP7 00001b4e: REVERT 00001b4f: JUMPDEST 00001b50: PUSH2 0x1b5b 00001b53: DUP15 00001b54: DUP4 00001b55: DUP16 00001b56: ADD 00001b57: PUSH2 0x179e 00001b5a: JUMP 00001b5b: JUMPDEST 00001b5c: SWAP12 00001b5d: POP 00001b5e: PUSH1 0x20 00001b60: DUP14 00001b61: ADD 00001b62: CALLDATALOAD 00001b63: SWAP2 00001b64: POP 00001b65: DUP1 00001b66: DUP3 00001b67: GT 00001b68: ISZERO 00001b69: PUSH2 0x1b70 00001b6c: JUMPI 00001b6d: DUP6 00001b6e: DUP7 00001b6f: REVERT 00001b70: JUMPDEST 00001b71: PUSH2 0x1b7c 00001b74: DUP15 00001b75: DUP4 00001b76: DUP16 00001b77: ADD 00001b78: PUSH2 0x16e6 00001b7b: JUMP 00001b7c: JUMPDEST 00001b7d: SWAP11 00001b7e: POP 00001b7f: PUSH1 0x40 00001b81: DUP14 00001b82: ADD 00001b83: CALLDATALOAD 00001b84: SWAP2 00001b85: POP 00001b86: DUP1 00001b87: DUP3 00001b88: GT 00001b89: ISZERO 00001b8a: PUSH2 0x1b91 00001b8d: JUMPI 00001b8e: DUP6 00001b8f: DUP7 00001b90: REVERT 00001b91: JUMPDEST 00001b92: PUSH2 0x1b9d 00001b95: DUP15 00001b96: DUP4 00001b97: DUP16 00001b98: ADD 00001b99: PUSH2 0x168c 00001b9c: JUMP 00001b9d: JUMPDEST 00001b9e: SWAP10 00001b9f: POP 00001ba0: PUSH1 0x60 00001ba2: DUP14 00001ba3: ADD 00001ba4: CALLDATALOAD 00001ba5: SWAP2 00001ba6: POP 00001ba7: DUP1 00001ba8: DUP3 00001ba9: GT 00001baa: ISZERO 00001bab: PUSH2 0x1bb2 00001bae: JUMPI 00001baf: DUP6 00001bb0: DUP7 00001bb1: REVERT 00001bb2: JUMPDEST 00001bb3: PUSH2 0x1bbe 00001bb6: DUP15 00001bb7: DUP4 00001bb8: DUP16 00001bb9: ADD 00001bba: PUSH2 0x168c 00001bbd: JUMP 00001bbe: JUMPDEST 00001bbf: SWAP9 00001bc0: POP 00001bc1: PUSH1 0x80 00001bc3: DUP14 00001bc4: ADD 00001bc5: CALLDATALOAD 00001bc6: SWAP2 00001bc7: POP 00001bc8: DUP1 00001bc9: DUP3 00001bca: GT 00001bcb: ISZERO 00001bcc: PUSH2 0x1bd3 00001bcf: JUMPI 00001bd0: DUP6 00001bd1: DUP7 00001bd2: REVERT 00001bd3: JUMPDEST 00001bd4: PUSH2 0x1bdf 00001bd7: DUP15 00001bd8: DUP4 00001bd9: DUP16 00001bda: ADD 00001bdb: PUSH2 0x168c 00001bde: JUMP 00001bdf: JUMPDEST 00001be0: SWAP8 00001be1: POP 00001be2: PUSH1 0xa0 00001be4: DUP14 00001be5: ADD 00001be6: CALLDATALOAD 00001be7: SWAP2 00001be8: POP 00001be9: DUP1 00001bea: DUP3 00001beb: GT 00001bec: ISZERO 00001bed: PUSH2 0x1bf4 00001bf0: JUMPI 00001bf1: DUP6 00001bf2: DUP7 00001bf3: REVERT 00001bf4: JUMPDEST 00001bf5: PUSH2 0x1c00 00001bf8: DUP15 00001bf9: DUP4 00001bfa: DUP16 00001bfb: ADD 00001bfc: PUSH2 0x1619 00001bff: JUMP 00001c00: JUMPDEST 00001c01: SWAP7 00001c02: POP 00001c03: PUSH1 0xc0 00001c05: DUP14 00001c06: ADD 00001c07: CALLDATALOAD 00001c08: SWAP2 00001c09: POP 00001c0a: DUP1 00001c0b: DUP3 00001c0c: GT 00001c0d: ISZERO 00001c0e: PUSH2 0x1c15 00001c11: JUMPI 00001c12: DUP6 00001c13: DUP7 00001c14: REVERT 00001c15: JUMPDEST 00001c16: POP 00001c17: PUSH2 0x1c22 00001c1a: DUP14 00001c1b: DUP3 00001c1c: DUP15 00001c1d: ADD 00001c1e: PUSH2 0x168c 00001c21: JUMP 00001c22: JUMPDEST 00001c23: SWAP5 00001c24: POP 00001c25: POP 00001c26: PUSH1 0xe0 00001c28: DUP12 00001c29: ADD 00001c2a: CALLDATALOAD 00001c2b: SWAP3 00001c2c: POP 00001c2d: PUSH2 0x1c39 00001c30: PUSH2 0x0100 00001c33: DUP13 00001c34: ADD 00001c35: PUSH2 0x15b9 00001c38: JUMP 00001c39: JUMPDEST 00001c3a: SWAP2 00001c3b: POP 00001c3c: PUSH2 0x0120 00001c3f: DUP12 00001c40: ADD 00001c41: CALLDATALOAD 00001c42: SWAP1 00001c43: POP 00001c44: SWAP3 00001c45: SWAP6 00001c46: SWAP9 00001c47: SWAP12 00001c48: SWAP2 00001c49: SWAP5 00001c4a: SWAP8 00001c4b: SWAP11 00001c4c: POP 00001c4d: SWAP3 00001c4e: SWAP6 00001c4f: SWAP9 00001c50: POP 00001c51: JUMP 00001c52: JUMPDEST 00001c53: PUSH1 0x00 00001c55: DUP3 00001c56: DUP5 00001c57: MSTORE 00001c58: PUSH1 0x20 00001c5a: DUP1 00001c5b: DUP6 00001c5c: ADD 00001c5d: SWAP5 00001c5e: POP 00001c5f: DUP3 00001c60: DUP3 00001c61: JUMPDEST 00001c62: DUP6 00001c63: DUP2 00001c64: LT 00001c65: ISZERO 00001c66: PUSH2 0x1c8d 00001c69: JUMPI 00001c6a: PUSH1 0x01 00001c6c: PUSH1 0x01 00001c6e: PUSH1 0xa0 00001c70: SHL 00001c71: SUB 00001c72: PUSH2 0x1c7a 00001c75: DUP4 00001c76: PUSH2 0x15b9 00001c79: JUMP 00001c7a: JUMPDEST 00001c7b: AND 00001c7c: DUP8 00001c7d: MSTORE 00001c7e: SWAP6 00001c7f: DUP3 00001c80: ADD 00001c81: SWAP6 00001c82: SWAP1 00001c83: DUP3 00001c84: ADD 00001c85: SWAP1 00001c86: PUSH1 0x01 00001c88: ADD 00001c89: PUSH2 0x1c61 00001c8c: JUMP 00001c8d: JUMPDEST 00001c8e: POP 00001c8f: SWAP5 00001c90: SWAP6 00001c91: SWAP5 00001c92: POP 00001c93: POP 00001c94: POP 00001c95: POP 00001c96: POP 00001c97: JUMP 00001c98: JUMPDEST 00001c99: PUSH1 0x00 00001c9b: DUP2 00001c9c: MLOAD 00001c9d: DUP1 00001c9e: DUP5 00001c9f: MSTORE 00001ca0: PUSH1 0x20 00001ca2: DUP1 00001ca3: DUP6 00001ca4: ADD 00001ca5: SWAP5 00001ca6: POP 00001ca7: DUP1 00001ca8: DUP5 00001ca9: ADD 00001caa: DUP4 00001cab: JUMPDEST 00001cac: DUP4 00001cad: DUP2 00001cae: LT 00001caf: ISZERO 00001cb0: PUSH2 0x1c8d 00001cb3: JUMPI 00001cb4: DUP2 00001cb5: MLOAD 00001cb6: PUSH1 0x01 00001cb8: PUSH1 0x01 00001cba: PUSH1 0xa0 00001cbc: SHL 00001cbd: SUB 00001cbe: AND 00001cbf: DUP8 00001cc0: MSTORE 00001cc1: SWAP6 00001cc2: DUP3 00001cc3: ADD 00001cc4: SWAP6 00001cc5: SWAP1 00001cc6: DUP3 00001cc7: ADD 00001cc8: SWAP1 00001cc9: PUSH1 0x01 00001ccb: ADD 00001ccc: PUSH2 0x1cab 00001ccf: JUMP 00001cd0: JUMPDEST 00001cd1: DUP2 00001cd2: DUP4 00001cd3: MSTORE 00001cd4: PUSH1 0x00 00001cd6: PUSH1 0x01 00001cd8: PUSH1 0x01 00001cda: PUSH1 0xfb 00001cdc: SHL 00001cdd: SUB 00001cde: DUP4 00001cdf: GT 00001ce0: ISZERO 00001ce1: PUSH2 0x1ce8 00001ce4: JUMPI 00001ce5: DUP1 00001ce6: DUP2 00001ce7: REVERT 00001ce8: JUMPDEST 00001ce9: PUSH1 0x20 00001ceb: DUP4 00001cec: MUL 00001ced: DUP1 00001cee: DUP4 00001cef: PUSH1 0x20 00001cf1: DUP8 00001cf2: ADD 00001cf3: CALLDATACOPY 00001cf4: SWAP4 00001cf5: SWAP1 00001cf6: SWAP4 00001cf7: ADD 00001cf8: PUSH1 0x20 00001cfa: ADD 00001cfb: SWAP3 00001cfc: DUP4 00001cfd: MSTORE 00001cfe: POP 00001cff: SWAP1 00001d00: SWAP2 00001d01: SWAP1 00001d02: POP 00001d03: JUMP 00001d04: JUMPDEST 00001d05: PUSH1 0x00 00001d07: DUP2 00001d08: MLOAD 00001d09: DUP1 00001d0a: DUP5 00001d0b: MSTORE 00001d0c: PUSH1 0x20 00001d0e: DUP1 00001d0f: DUP6 00001d10: ADD 00001d11: SWAP5 00001d12: POP 00001d13: DUP1 00001d14: DUP5 00001d15: ADD 00001d16: DUP4 00001d17: JUMPDEST 00001d18: DUP4 00001d19: DUP2 00001d1a: LT 00001d1b: ISZERO 00001d1c: PUSH2 0x1c8d 00001d1f: JUMPI 00001d20: DUP2 00001d21: MLOAD 00001d22: DUP8 00001d23: MSTORE 00001d24: SWAP6 00001d25: DUP3 00001d26: ADD 00001d27: SWAP6 00001d28: SWAP1 00001d29: DUP3 00001d2a: ADD 00001d2b: SWAP1 00001d2c: PUSH1 0x01 00001d2e: ADD 00001d2f: PUSH2 0x1d17 00001d32: JUMP 00001d33: JUMPDEST 00001d34: PUSH1 0x00 00001d36: DUP3 00001d37: MLOAD 00001d38: PUSH2 0x1d45 00001d3b: DUP2 00001d3c: DUP5 00001d3d: PUSH1 0x20 00001d3f: DUP8 00001d40: ADD 00001d41: PUSH2 0x2580 00001d44: JUMP 00001d45: JUMPDEST 00001d46: SWAP2 00001d47: SWAP1 00001d48: SWAP2 00001d49: ADD 00001d4a: SWAP3 00001d4b: SWAP2 00001d4c: POP 00001d4d: POP 00001d4e: JUMP 00001d4f: JUMPDEST 00001d50: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00001d71: DUP2 00001d72: MSTORE 00001d73: PUSH1 0x1c 00001d75: DUP2 00001d76: ADD 00001d77: SWAP2 00001d78: SWAP1 00001d79: SWAP2 00001d7a: MSTORE 00001d7b: PUSH1 0x3c 00001d7d: ADD 00001d7e: SWAP1 00001d7f: JUMP 00001d80: JUMPDEST 00001d81: PUSH1 0x01 00001d83: PUSH1 0x01 00001d85: PUSH1 0xa0 00001d87: SHL 00001d88: SUB 00001d89: SWAP2 00001d8a: SWAP1 00001d8b: SWAP2 00001d8c: AND 00001d8d: DUP2 00001d8e: MSTORE 00001d8f: PUSH1 0x20 00001d91: ADD 00001d92: SWAP1 00001d93: JUMP 00001d94: JUMPDEST 00001d95: PUSH1 0x01 00001d97: PUSH1 0x01 00001d99: PUSH1 0xa0 00001d9b: SHL 00001d9c: SUB 00001d9d: SWAP4 00001d9e: DUP5 00001d9f: AND 00001da0: DUP2 00001da1: MSTORE 00001da2: SWAP2 00001da3: SWAP1 00001da4: SWAP3 00001da5: AND 00001da6: PUSH1 0x20 00001da8: DUP3 00001da9: ADD 00001daa: MSTORE 00001dab: PUSH1 0x40 00001dad: DUP2 00001dae: ADD 00001daf: SWAP2 00001db0: SWAP1 00001db1: SWAP2 00001db2: MSTORE 00001db3: PUSH1 0x60 00001db5: ADD 00001db6: SWAP1 00001db7: JUMP 00001db8: JUMPDEST 00001db9: PUSH1 0x01 00001dbb: PUSH1 0x01 00001dbd: PUSH1 0xa0 00001dbf: SHL 00001dc0: SUB 00001dc1: SWAP3 00001dc2: SWAP1 00001dc3: SWAP3 00001dc4: AND 00001dc5: DUP3 00001dc6: MSTORE 00001dc7: PUSH1 0x20 00001dc9: DUP3 00001dca: ADD 00001dcb: MSTORE 00001dcc: PUSH1 0x40 00001dce: ADD 00001dcf: SWAP1 00001dd0: JUMP 00001dd1: JUMPDEST 00001dd2: SWAP1 00001dd3: ISZERO 00001dd4: ISZERO 00001dd5: DUP2 00001dd6: MSTORE 00001dd7: PUSH1 0x20 00001dd9: ADD 00001dda: SWAP1 00001ddb: JUMP 00001ddc: JUMPDEST 00001ddd: SWAP1 00001dde: DUP2 00001ddf: MSTORE 00001de0: PUSH1 0x20 00001de2: ADD 00001de3: SWAP1 00001de4: JUMP 00001de5: JUMPDEST 00001de6: PUSH1 0x00 00001de8: DUP9 00001de9: DUP3 00001dea: MSTORE 00001deb: DUP8 00001dec: PUSH1 0x20 00001dee: DUP4 00001def: ADD 00001df0: MSTORE 00001df1: DUP7 00001df2: PUSH1 0x40 00001df4: DUP4 00001df5: ADD 00001df6: MSTORE 00001df7: PUSH1 0xe0 00001df9: PUSH1 0x60 00001dfb: DUP4 00001dfc: ADD 00001dfd: MSTORE 00001dfe: PUSH2 0x1e0a 00001e01: PUSH1 0xe0 00001e03: DUP4 00001e04: ADD 00001e05: DUP8 00001e06: PUSH2 0x1c98 00001e09: JUMP 00001e0a: JUMPDEST 00001e0b: DUP3 00001e0c: DUP2 00001e0d: SUB 00001e0e: PUSH1 0x80 00001e10: DUP5 00001e11: ADD 00001e12: MSTORE 00001e13: PUSH2 0x1e1c 00001e16: DUP2 00001e17: DUP8 00001e18: PUSH2 0x1d04 00001e1b: JUMP 00001e1c: JUMPDEST 00001e1d: PUSH1 0xa0 00001e1f: DUP5 00001e20: ADD 00001e21: SWAP6 00001e22: SWAP1 00001e23: SWAP6 00001e24: MSTORE 00001e25: POP 00001e26: POP 00001e27: PUSH1 0x01 00001e29: PUSH1 0x01 00001e2b: PUSH1 0xa0 00001e2d: SHL 00001e2e: SUB 00001e2f: SWAP2 00001e30: SWAP1 00001e31: SWAP2 00001e32: AND 00001e33: PUSH1 0xc0 00001e35: SWAP1 00001e36: SWAP2 00001e37: ADD 00001e38: MSTORE 00001e39: SWAP6 00001e3a: SWAP5 00001e3b: POP 00001e3c: POP 00001e3d: POP 00001e3e: POP 00001e3f: POP 00001e40: JUMP 00001e41: JUMPDEST 00001e42: PUSH1 0x00 00001e44: PUSH2 0x0100 00001e47: DUP11 00001e48: DUP4 00001e49: MSTORE 00001e4a: DUP10 00001e4b: PUSH1 0x20 00001e4d: DUP5 00001e4e: ADD 00001e4f: MSTORE 00001e50: DUP1 00001e51: PUSH1 0x40 00001e53: DUP5 00001e54: ADD 00001e55: MSTORE 00001e56: PUSH2 0x1e61 00001e59: DUP2 00001e5a: DUP5 00001e5b: ADD 00001e5c: DUP11 00001e5d: PUSH2 0x1d04 00001e60: JUMP 00001e61: JUMPDEST 00001e62: SWAP1 00001e63: POP 00001e64: DUP3 00001e65: DUP2 00001e66: SUB 00001e67: PUSH1 0x60 00001e69: DUP5 00001e6a: ADD 00001e6b: MSTORE 00001e6c: PUSH2 0x1e75 00001e6f: DUP2 00001e70: DUP10 00001e71: PUSH2 0x1c98 00001e74: JUMP 00001e75: JUMPDEST 00001e76: SWAP1 00001e77: POP 00001e78: DUP3 00001e79: DUP2 00001e7a: SUB 00001e7b: PUSH1 0x80 00001e7d: DUP5 00001e7e: ADD 00001e7f: MSTORE 00001e80: PUSH2 0x1e89 00001e83: DUP2 00001e84: DUP9 00001e85: PUSH2 0x1d04 00001e88: JUMP 00001e89: JUMPDEST 00001e8a: PUSH1 0xa0 00001e8c: DUP5 00001e8d: ADD 00001e8e: SWAP7 00001e8f: SWAP1 00001e90: SWAP7 00001e91: MSTORE 00001e92: POP 00001e93: POP 00001e94: PUSH1 0x01 00001e96: PUSH1 0x01 00001e98: PUSH1 0xa0 00001e9a: SHL 00001e9b: SUB 00001e9c: SWAP3 00001e9d: SWAP1 00001e9e: SWAP3 00001e9f: AND 00001ea0: PUSH1 0xc0 00001ea2: DUP4 00001ea3: ADD 00001ea4: MSTORE 00001ea5: PUSH1 0xe0 00001ea7: SWAP1 00001ea8: SWAP2 00001ea9: ADD 00001eaa: MSTORE 00001eab: SWAP6 00001eac: SWAP5 00001ead: POP 00001eae: POP 00001eaf: POP 00001eb0: POP 00001eb1: POP 00001eb2: JUMP 00001eb3: JUMPDEST 00001eb4: SWAP4 00001eb5: DUP5 00001eb6: MSTORE 00001eb7: PUSH1 0xff 00001eb9: SWAP3 00001eba: SWAP1 00001ebb: SWAP3 00001ebc: AND 00001ebd: PUSH1 0x20 00001ebf: DUP5 00001ec0: ADD 00001ec1: MSTORE 00001ec2: PUSH1 0x40 00001ec4: DUP4 00001ec5: ADD 00001ec6: MSTORE 00001ec7: PUSH1 0x60 00001ec9: DUP3 00001eca: ADD 00001ecb: MSTORE 00001ecc: PUSH1 0x80 00001ece: ADD 00001ecf: SWAP1 00001ed0: JUMP 00001ed1: JUMPDEST 00001ed2: PUSH1 0x00 00001ed4: PUSH1 0x20 00001ed6: DUP3 00001ed7: MSTORE 00001ed8: DUP3 00001ed9: MLOAD 00001eda: DUP1 00001edb: PUSH1 0x20 00001edd: DUP5 00001ede: ADD 00001edf: MSTORE 00001ee0: PUSH2 0x1ef0 00001ee3: DUP2 00001ee4: PUSH1 0x40 00001ee6: DUP6 00001ee7: ADD 00001ee8: PUSH1 0x20 00001eea: DUP8 00001eeb: ADD 00001eec: PUSH2 0x2580 00001eef: JUMP 00001ef0: JUMPDEST 00001ef1: PUSH1 0x1f 00001ef3: ADD 00001ef4: PUSH1 0x1f 00001ef6: NOT 00001ef7: AND 00001ef8: SWAP2 00001ef9: SWAP1 00001efa: SWAP2 00001efb: ADD 00001efc: PUSH1 0x40 00001efe: ADD 00001eff: SWAP3 00001f00: SWAP2 00001f01: POP 00001f02: POP 00001f03: JUMP 00001f04: JUMPDEST 00001f05: PUSH1 0x20 00001f07: DUP1 00001f08: DUP3 00001f09: MSTORE 00001f0a: PUSH1 0x3f 00001f0c: SWAP1 00001f0d: DUP3 00001f0e: ADD 00001f0f: MSTORE 00001f10: PUSH32 0x537570706c6965642063757272656e742076616c696461746f727320616e6420 00001f31: PUSH1 0x40 00001f33: DUP3 00001f34: ADD 00001f35: MSTORE 00001f36: PUSH32 0x706f7765727320646f206e6f74206d6174636820636865636b706f696e742e00 00001f57: PUSH1 0x60 00001f59: DUP3 00001f5a: ADD 00001f5b: MSTORE 00001f5c: PUSH1 0x80 00001f5e: ADD 00001f5f: SWAP1 00001f60: JUMP 00001f61: JUMPDEST 00001f62: PUSH1 0x20 00001f64: DUP1 00001f65: DUP3 00001f66: MSTORE 00001f67: PUSH1 0x14 00001f69: SWAP1 00001f6a: DUP3 00001f6b: ADD 00001f6c: MSTORE 00001f6d: PUSH20 0x14185d5cd8589b194e881b9bdd081c185d5cd959 00001f82: PUSH1 0x62 00001f84: SHL 00001f85: PUSH1 0x40 00001f87: DUP3 00001f88: ADD 00001f89: MSTORE 00001f8a: PUSH1 0x60 00001f8c: ADD 00001f8d: SWAP1 00001f8e: JUMP 00001f8f: JUMPDEST 00001f90: PUSH1 0x20 00001f92: DUP1 00001f93: DUP3 00001f94: MSTORE 00001f95: PUSH1 0x36 00001f97: SWAP1 00001f98: DUP3 00001f99: ADD 00001f9a: MSTORE 00001f9b: PUSH32 0x4e6577206261746368206e6f6e6365206d757374206265206772656174657220 00001fbc: PUSH1 0x40 00001fbe: DUP3 00001fbf: ADD 00001fc0: MSTORE 00001fc1: PUSH22 0x7468616e207468652063757272656e74206e6f6e6365 00001fd8: PUSH1 0x50 00001fda: SHL 00001fdb: PUSH1 0x60 00001fdd: DUP3 00001fde: ADD 00001fdf: MSTORE 00001fe0: PUSH1 0x80 00001fe2: ADD 00001fe3: SWAP1 00001fe4: JUMP 00001fe5: JUMPDEST 00001fe6: PUSH1 0x20 00001fe8: DUP1 00001fe9: DUP3 00001fea: MSTORE 00001feb: PUSH1 0x26 00001fed: SWAP1 00001fee: DUP3 00001fef: ADD 00001ff0: MSTORE 00001ff1: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00002012: PUSH1 0x40 00002014: DUP3 00002015: ADD 00002016: MSTORE 00002017: PUSH6 0x646472657373 0000201e: PUSH1 0xd0 00002020: SHL 00002021: PUSH1 0x60 00002023: DUP3 00002024: ADD 00002025: MSTORE 00002026: PUSH1 0x80 00002028: ADD 00002029: SWAP1 0000202a: JUMP 0000202b: JUMPDEST 0000202c: PUSH1 0x20 0000202e: DUP1 0000202f: DUP3 00002030: MSTORE 00002031: PUSH1 0x1f 00002033: SWAP1 00002034: DUP3 00002035: ADD 00002036: MSTORE 00002037: PUSH32 0x4d616c666f726d6564206261746368206f66207472616e73616374696f6e7300 00002058: PUSH1 0x40 0000205a: DUP3 0000205b: ADD 0000205c: MSTORE 0000205d: PUSH1 0x60 0000205f: ADD 00002060: SWAP1 00002061: JUMP 00002062: JUMPDEST 00002063: PUSH1 0x20 00002065: DUP1 00002066: DUP3 00002067: MSTORE 00002068: PUSH1 0x23 0000206a: SWAP1 0000206b: DUP3 0000206c: ADD 0000206d: MSTORE 0000206e: PUSH32 0x56616c696461746f72207369676e617475726520646f6573206e6f74206d6174 0000208f: PUSH1 0x40 00002091: DUP3 00002092: ADD 00002093: MSTORE 00002094: PUSH3 0x31b417 00002098: PUSH1 0xe9 0000209a: SHL 0000209b: PUSH1 0x60 0000209d: DUP3 0000209e: ADD 0000209f: MSTORE 000020a0: PUSH1 0x80 000020a2: ADD 000020a3: SWAP1 000020a4: JUMP 000020a5: JUMPDEST 000020a6: PUSH1 0x20 000020a8: DUP1 000020a9: DUP3 000020aa: MSTORE 000020ab: PUSH1 0x26 000020ad: SWAP1 000020ae: DUP3 000020af: ADD 000020b0: MSTORE 000020b1: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 000020d2: PUSH1 0x40 000020d4: DUP3 000020d5: ADD 000020d6: MSTORE 000020d7: PUSH6 0x1c8818d85b1b 000020de: PUSH1 0xd2 000020e0: SHL 000020e1: PUSH1 0x60 000020e3: DUP3 000020e4: ADD 000020e5: MSTORE 000020e6: PUSH1 0x80 000020e8: ADD 000020e9: SWAP1 000020ea: JUMP 000020eb: JUMPDEST 000020ec: PUSH1 0x20 000020ee: DUP1 000020ef: DUP3 000020f0: MSTORE 000020f1: PUSH1 0x10 000020f3: SWAP1 000020f4: DUP3 000020f5: ADD 000020f6: MSTORE 000020f7: PUSH16 0x14185d5cd8589b194e881c185d5cd959 00002108: PUSH1 0x82 0000210a: SHL 0000210b: PUSH1 0x40 0000210d: DUP3 0000210e: ADD 0000210f: MSTORE 00002110: PUSH1 0x60 00002112: ADD 00002113: SWAP1 00002114: JUMP 00002115: JUMPDEST 00002116: PUSH1 0x20 00002118: DUP1 00002119: DUP3 0000211a: MSTORE 0000211b: PUSH1 0x2e 0000211d: SWAP1 0000211e: DUP3 0000211f: ADD 00002120: MSTORE 00002121: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00002142: PUSH1 0x40 00002144: DUP3 00002145: ADD 00002146: MSTORE 00002147: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00002156: PUSH1 0x92 00002158: SHL 00002159: PUSH1 0x60 0000215b: DUP3 0000215c: ADD 0000215d: MSTORE 0000215e: PUSH1 0x80 00002160: ADD 00002161: SWAP1 00002162: JUMP 00002163: JUMPDEST 00002164: PUSH1 0x20 00002166: DUP1 00002167: DUP3 00002168: MSTORE 00002169: PUSH1 0x3b 0000216b: SWAP1 0000216c: DUP3 0000216d: ADD 0000216e: MSTORE 0000216f: PUSH32 0x42617463682074696d656f7574206d7573742062652067726561746572207468 00002190: PUSH1 0x40 00002192: DUP3 00002193: ADD 00002194: MSTORE 00002195: PUSH32 0x616e207468652063757272656e7420626c6f636b206865696768740000000000 000021b6: PUSH1 0x60 000021b8: DUP3 000021b9: ADD 000021ba: MSTORE 000021bb: PUSH1 0x80 000021bd: ADD 000021be: SWAP1 000021bf: JUMP 000021c0: JUMPDEST 000021c1: PUSH1 0x20 000021c3: DUP1 000021c4: DUP3 000021c5: MSTORE 000021c6: PUSH1 0x1b 000021c8: SWAP1 000021c9: DUP3 000021ca: ADD 000021cb: MSTORE 000021cc: PUSH32 0x4d616c666f726d6564206e65772076616c696461746f72207365740000000000 000021ed: PUSH1 0x40 000021ef: DUP3 000021f0: ADD 000021f1: MSTORE 000021f2: PUSH1 0x60 000021f4: ADD 000021f5: SWAP1 000021f6: JUMP 000021f7: JUMPDEST 000021f8: PUSH1 0x20 000021fa: DUP1 000021fb: DUP3 000021fc: MSTORE 000021fd: DUP2 000021fe: DUP2 000021ff: ADD 00002200: MSTORE 00002201: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00002222: PUSH1 0x40 00002224: DUP3 00002225: ADD 00002226: MSTORE 00002227: PUSH1 0x60 00002229: ADD 0000222a: SWAP1 0000222b: JUMP 0000222c: JUMPDEST 0000222d: PUSH1 0x20 0000222f: DUP1 00002230: DUP3 00002231: MSTORE 00002232: PUSH1 0x3c 00002234: SWAP1 00002235: DUP3 00002236: ADD 00002237: MSTORE 00002238: PUSH32 0x5375626d69747465642076616c696461746f7220736574207369676e61747572 00002259: PUSH1 0x40 0000225b: DUP3 0000225c: ADD 0000225d: MSTORE 0000225e: PUSH32 0x657320646f206e6f74206861766520656e6f75676820706f7765722e00000000 0000227f: PUSH1 0x60 00002281: DUP3 00002282: ADD 00002283: MSTORE 00002284: PUSH1 0x80 00002286: ADD 00002287: SWAP1 00002288: JUMP 00002289: JUMPDEST 0000228a: PUSH1 0x20 0000228c: DUP1 0000228d: DUP3 0000228e: MSTORE 0000228f: PUSH1 0x0f 00002291: SWAP1 00002292: DUP3 00002293: ADD 00002294: MSTORE 00002295: PUSH15 0x139bdd081a5b5c1b195b595b9d1959 000022a5: PUSH1 0x8a 000022a7: SHL 000022a8: PUSH1 0x40 000022aa: DUP3 000022ab: ADD 000022ac: MSTORE 000022ad: PUSH1 0x60 000022af: ADD 000022b0: SWAP1 000022b1: JUMP 000022b2: JUMPDEST 000022b3: PUSH1 0x20 000022b5: DUP1 000022b6: DUP3 000022b7: MSTORE 000022b8: PUSH1 0x37 000022ba: SWAP1 000022bb: DUP3 000022bc: ADD 000022bd: MSTORE 000022be: PUSH32 0x4e65772076616c736574206e6f6e6365206d7573742062652067726561746572 000022df: PUSH1 0x40 000022e1: DUP3 000022e2: ADD 000022e3: MSTORE 000022e4: PUSH32 0x207468616e207468652063757272656e74206e6f6e6365000000000000000000 00002305: PUSH1 0x60 00002307: DUP3 00002308: ADD 00002309: MSTORE 0000230a: PUSH1 0x80 0000230c: ADD 0000230d: SWAP1 0000230e: JUMP 0000230f: JUMPDEST 00002310: PUSH1 0x20 00002312: DUP1 00002313: DUP3 00002314: MSTORE 00002315: PUSH1 0x19 00002317: SWAP1 00002318: DUP3 00002319: ADD 0000231a: MSTORE 0000231b: PUSH32 0x4f776e657273686970206e6f7420796574206578706972656400000000000000 0000233c: PUSH1 0x40 0000233e: DUP3 0000233f: ADD 00002340: MSTORE 00002341: PUSH1 0x60 00002343: ADD 00002344: SWAP1 00002345: JUMP 00002346: JUMPDEST 00002347: PUSH1 0x20 00002349: DUP1 0000234a: DUP3 0000234b: MSTORE 0000234c: PUSH1 0x1d 0000234e: SWAP1 0000234f: DUP3 00002350: ADD 00002351: MSTORE 00002352: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00002373: PUSH1 0x40 00002375: DUP3 00002376: ADD 00002377: MSTORE 00002378: PUSH1 0x60 0000237a: ADD 0000237b: SWAP1 0000237c: JUMP 0000237d: JUMPDEST 0000237e: PUSH1 0x20 00002380: DUP1 00002381: DUP3 00002382: MSTORE 00002383: PUSH1 0x2a 00002385: SWAP1 00002386: DUP3 00002387: ADD 00002388: MSTORE 00002389: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 000023aa: PUSH1 0x40 000023ac: DUP3 000023ad: ADD 000023ae: MSTORE 000023af: PUSH10 0x1bdd081cdd58d8d95959 000023ba: PUSH1 0xb2 000023bc: SHL 000023bd: PUSH1 0x60 000023bf: DUP3 000023c0: ADD 000023c1: MSTORE 000023c2: PUSH1 0x80 000023c4: ADD 000023c5: SWAP1 000023c6: JUMP 000023c7: JUMPDEST 000023c8: PUSH1 0x20 000023ca: DUP1 000023cb: DUP3 000023cc: MSTORE 000023cd: PUSH1 0x1f 000023cf: SWAP1 000023d0: DUP3 000023d1: ADD 000023d2: MSTORE 000023d3: PUSH32 0x4d616c666f726d65642063757272656e742076616c696461746f722073657400 000023f4: PUSH1 0x40 000023f6: DUP3 000023f7: ADD 000023f8: MSTORE 000023f9: PUSH1 0x60 000023fb: ADD 000023fc: SWAP1 000023fd: JUMP 000023fe: JUMPDEST 000023ff: PUSH1 0x20 00002401: DUP1 00002402: DUP3 00002403: MSTORE 00002404: PUSH1 0x1f 00002406: SWAP1 00002407: DUP3 00002408: ADD 00002409: MSTORE 0000240a: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 0000242b: PUSH1 0x40 0000242d: DUP3 0000242e: ADD 0000242f: MSTORE 00002430: PUSH1 0x60 00002432: ADD 00002433: SWAP1 00002434: JUMP 00002435: JUMPDEST 00002436: PUSH1 0x00 00002438: DUP9 00002439: DUP3 0000243a: MSTORE 0000243b: DUP8 0000243c: PUSH1 0x20 0000243e: DUP4 0000243f: ADD 00002440: MSTORE 00002441: PUSH1 0x01 00002443: DUP1 00002444: PUSH1 0xa0 00002446: SHL 00002447: SUB 00002448: DUP8 00002449: AND 0000244a: PUSH1 0x40 0000244c: DUP4 0000244d: ADD 0000244e: MSTORE 0000244f: PUSH1 0xa0 00002451: PUSH1 0x60 00002453: DUP4 00002454: ADD 00002455: MSTORE 00002456: PUSH2 0x2463 00002459: PUSH1 0xa0 0000245b: DUP4 0000245c: ADD 0000245d: DUP7 0000245e: DUP9 0000245f: PUSH2 0x1c52 00002462: JUMP 00002463: JUMPDEST 00002464: DUP3 00002465: DUP2 00002466: SUB 00002467: PUSH1 0x80 00002469: DUP5 0000246a: ADD 0000246b: MSTORE 0000246c: PUSH2 0x2476 0000246f: DUP2 00002470: DUP6 00002471: DUP8 00002472: PUSH2 0x1cd0 00002475: JUMP 00002476: JUMPDEST 00002477: SWAP11 00002478: SWAP10 00002479: POP 0000247a: POP 0000247b: POP 0000247c: POP 0000247d: POP 0000247e: POP 0000247f: POP 00002480: POP 00002481: POP 00002482: POP 00002483: JUMP 00002484: JUMPDEST 00002485: PUSH1 0x00 00002487: DUP6 00002488: DUP3 00002489: MSTORE 0000248a: DUP5 0000248b: PUSH1 0x20 0000248d: DUP4 0000248e: ADD 0000248f: MSTORE 00002490: PUSH1 0x60 00002492: PUSH1 0x40 00002494: DUP4 00002495: ADD 00002496: MSTORE 00002497: DUP3 00002498: PUSH1 0x60 0000249a: DUP4 0000249b: ADD 0000249c: MSTORE 0000249d: DUP3 0000249e: DUP5 0000249f: PUSH1 0x80 000024a1: DUP5 000024a2: ADD 000024a3: CALLDATACOPY 000024a4: DUP2 000024a5: DUP4 000024a6: ADD 000024a7: PUSH1 0x80 000024a9: SWAP1 000024aa: DUP2 000024ab: ADD 000024ac: SWAP2 000024ad: SWAP1 000024ae: SWAP2 000024af: MSTORE 000024b0: PUSH1 0x1f 000024b2: SWAP1 000024b3: SWAP3 000024b4: ADD 000024b5: PUSH1 0x1f 000024b7: NOT 000024b8: AND 000024b9: ADD 000024ba: ADD 000024bb: SWAP4 000024bc: SWAP3 000024bd: POP 000024be: POP 000024bf: POP 000024c0: JUMP 000024c1: JUMPDEST 000024c2: PUSH1 0x00 000024c4: DUP1 000024c5: DUP4 000024c6: CALLDATALOAD 000024c7: PUSH1 0x1e 000024c9: NOT 000024ca: DUP5 000024cb: CALLDATASIZE 000024cc: SUB 000024cd: ADD 000024ce: DUP2 000024cf: SLT 000024d0: PUSH2 0x24d7 000024d3: JUMPI 000024d4: DUP3 000024d5: DUP4 000024d6: REVERT 000024d7: JUMPDEST 000024d8: DUP4 000024d9: ADD 000024da: DUP1 000024db: CALLDATALOAD 000024dc: SWAP2 000024dd: POP 000024de: PUSH8 0xffffffffffffffff 000024e7: DUP3 000024e8: GT 000024e9: ISZERO 000024ea: PUSH2 0x24f1 000024ed: JUMPI 000024ee: DUP3 000024ef: DUP4 000024f0: REVERT 000024f1: JUMPDEST 000024f2: PUSH1 0x20 000024f4: SWAP1 000024f5: DUP2 000024f6: ADD 000024f7: SWAP3 000024f8: POP 000024f9: DUP2 000024fa: MUL 000024fb: CALLDATASIZE 000024fc: SUB 000024fd: DUP3 000024fe: SGT 000024ff: ISZERO 00002500: PUSH2 0x1612 00002503: JUMPI 00002504: PUSH1 0x00 00002506: DUP1 00002507: REVERT 00002508: JUMPDEST 00002509: PUSH1 0x40 0000250b: MLOAD 0000250c: DUP2 0000250d: DUP2 0000250e: ADD 0000250f: PUSH8 0xffffffffffffffff 00002518: DUP2 00002519: GT 0000251a: DUP3 0000251b: DUP3 0000251c: LT 0000251d: OR 0000251e: ISZERO 0000251f: PUSH2 0x252a 00002522: JUMPI 00002523: PUSH2 0x252a 00002526: PUSH2 0x25dd 00002529: JUMP 0000252a: JUMPDEST 0000252b: PUSH1 0x40 0000252d: MSTORE 0000252e: SWAP2 0000252f: SWAP1 00002530: POP 00002531: JUMP 00002532: JUMPDEST 00002533: PUSH1 0x00 00002535: PUSH8 0xffffffffffffffff 0000253e: DUP3 0000253f: GT 00002540: ISZERO 00002541: PUSH2 0x254c 00002544: JUMPI 00002545: PUSH2 0x254c 00002548: PUSH2 0x25dd 0000254b: JUMP 0000254c: JUMPDEST 0000254d: POP 0000254e: PUSH1 0x20 00002550: SWAP1 00002551: DUP2 00002552: MUL 00002553: ADD 00002554: SWAP1 00002555: JUMP 00002556: JUMPDEST 00002557: PUSH1 0x00 00002559: DUP3 0000255a: NOT 0000255b: DUP3 0000255c: GT 0000255d: ISZERO 0000255e: PUSH2 0x2569 00002561: JUMPI 00002562: PUSH2 0x2569 00002565: PUSH2 0x25c7 00002568: JUMP 00002569: JUMPDEST 0000256a: POP 0000256b: ADD 0000256c: SWAP1 0000256d: JUMP 0000256e: JUMPDEST 0000256f: PUSH1 0x00 00002571: PUSH2 0x257a 00002574: CALLDATASIZE 00002575: DUP4 00002576: PUSH2 0x179e 00002579: JUMP 0000257a: JUMPDEST 0000257b: SWAP3 0000257c: SWAP2 0000257d: POP 0000257e: POP 0000257f: JUMP 00002580: JUMPDEST 00002581: PUSH1 0x00 00002583: JUMPDEST 00002584: DUP4 00002585: DUP2 00002586: LT 00002587: ISZERO 00002588: PUSH2 0x259b 0000258b: JUMPI 0000258c: DUP2 0000258d: DUP2 0000258e: ADD 0000258f: MLOAD 00002590: DUP4 00002591: DUP3 00002592: ADD 00002593: MSTORE 00002594: PUSH1 0x20 00002596: ADD 00002597: PUSH2 0x2583 0000259a: JUMP 0000259b: JUMPDEST 0000259c: DUP4 0000259d: DUP2 0000259e: GT 0000259f: ISZERO 000025a0: PUSH2 0x11f4 000025a3: JUMPI 000025a4: POP 000025a5: POP 000025a6: PUSH1 0x00 000025a8: SWAP2 000025a9: ADD 000025aa: MSTORE 000025ab: JUMP 000025ac: JUMPDEST 000025ad: PUSH1 0x00 000025af: PUSH1 0x00 000025b1: NOT 000025b2: DUP3 000025b3: EQ 000025b4: ISZERO 000025b5: PUSH2 0x25c0 000025b8: JUMPI 000025b9: PUSH2 0x25c0 000025bc: PUSH2 0x25c7 000025bf: JUMP 000025c0: JUMPDEST 000025c1: POP 000025c2: PUSH1 0x01 000025c4: ADD 000025c5: SWAP1 000025c6: JUMP 000025c7: JUMPDEST 000025c8: PUSH4 0x4e487b71 000025cd: PUSH1 0xe0 000025cf: SHL 000025d0: PUSH1 0x00 000025d2: MSTORE 000025d3: PUSH1 0x11 000025d5: PUSH1 0x04 000025d7: MSTORE 000025d8: PUSH1 0x24 000025da: PUSH1 0x00 000025dc: REVERT 000025dd: JUMPDEST 000025de: PUSH4 0x4e487b71 000025e3: PUSH1 0xe0 000025e5: SHL 000025e6: PUSH1 0x00 000025e8: MSTORE 000025e9: PUSH1 0x41 000025eb: PUSH1 0x04 000025ed: MSTORE 000025ee: PUSH1 0x24 000025f0: PUSH1 0x00 000025f2: REVERT 000025f3: INVALID 000025f4: LOG2 000025f5: PUSH5 0x6970667358 000025fb: UNKNOWN(0x22) 000025fc: SLT 000025fd: KECCAK256 000025fe: UNKNOWN(0xDE) 000025ff: UNKNOWN(0x2D) 00002600: UNKNOWN(0xB1) 00002601: UNKNOWN(0xD8) 00002602: ADDRESS 00002603: RETURN 00002604: MULMOD 00002605: SHR 00002606: UNKNOWN(0xD0) 00002607: SWAP4 00002608: UNKNOWN(0x0D) 00002609: GASLIMIT 0000260a: UNKNOWN(0xD8) 0000260b: CALLVALUE 0000260c: UNKNOWN(0xB9) 0000260d: DUP10 0000260e: UNKNOWN(0xE0) 0000260f: EQ 00002610: UNKNOWN(0xD9) 00002611: PUSH25
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | codex | Initializer can be front‑run on uninitialized deployments | 85 | no | — |
viewevidence_json{
"evidence": "`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).",
"locations": [
"contracts/Contract.sol:1186"
],
"recommendation": "Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).",
"exploit_scenario": "If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8
call_targets:
0x100dcb8b78c608d148cb207ac3875935dfe6abdc
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x100dcb8b78c608d148cb207ac3875935dfe6abdc"
],
"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": "0xc359a212",
"selector": "0xc359a212",
"calldata_variants": [
"0xc359a212",
"0xc359a2120000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdf97174b",
"selector": "0xdf97174b",
"calldata_variants": [
"0xdf97174b",
"0xdf97174b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5a2b5d2",
"selector": "0xe5a2b5d2",
"calldata_variants": [
"0xe5a2b5d2",
"0xe5a2b5d20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2b53307",
"selector": "0xf2b53307",
"calldata_variants": [
"0xf2b53307",
"0xf2b533070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7955637",
"selector": "0xf7955637",
"calldata_variants": [
"0xf7955637",
"0xf79556370000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8c64865f",
"selector": "0x8c64865f",
"calldata_variants": [
"0x8c64865f",
"0x8c64865f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5362,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8
call_targets:
0x100dcb8b78c608d148cb207ac3875935dfe6abdc
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x100dcb8b78c608d148cb207ac3875935dfe6abdc"
],
"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": "0xc359a212",
"selector": "0xc359a212",
"calldata_variants": [
"0xc359a212",
"0xc359a2120000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdf97174b",
"selector": "0xdf97174b",
"calldata_variants": [
"0xdf97174b",
"0xdf97174b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5a2b5d2",
"selector": "0xe5a2b5d2",
"calldata_variants": [
"0xe5a2b5d2",
"0xe5a2b5d20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2b53307",
"selector": "0xf2b53307",
"calldata_variants": [
"0xf2b53307",
"0xf2b533070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7955637",
"selector": "0xf7955637",
"calldata_variants": [
"0xf7955637",
"0xf79556370000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8c64865f",
"selector": "0x8c64865f",
"calldata_variants": [
"0x8c64865f",
"0x8c64865f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5362,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| low | reentrancy | codex | Reward token transfer in updateValset allows reentrancy into state-changing logic | 65 | no | — |
viewevidence_json{
"evidence": "`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.",
"locations": [
"contracts/Contract.sol:1349",
"contracts/Contract.sol:1410"
],
"recommendation": "Add `nonReentrant` to `updateValset` or adopt a pull\u2011reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.",
"exploit_scenario": "If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre\u2011signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off\u2011chain relayers."
}
|