019bb50b-e0f2-711c-aedb-1c48d3e2f46f
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 |
|---|---|---|---|---|
| 40303 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 40304 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 40305 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 40306 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 40307 | capability.graph | complete | 1 / 3 | 3 months ago |
| 40308 | detector.run | complete | 1 / 3 | 3 months ago |
| 40309 | validation.fork | complete | 1 / 3 | 3 months ago |
| 40458 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 40459 | tool.slither | failed | 2 / 2 | 3 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-nmek44wq)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-nmek44wq)
'forge' returned non-zero exit code 1
Compiling 8 files with Solc 0.8.19
stdout: Solc 0.8.19 finished in 236.05ms
Error: Compiler run failed:
stderr: Error: Compiler error (/solidity/libsolidity/codegen/LValue.cpp:52):Stack too deep. Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` (standard JSON) while enabling the optimizer. Otherwise, try removing local variables.
stderr: --> contracts/Subs.sol:122:89:
stderr: |
stderr: 122 | bytes32 subId = getSubId(msg.sender, currentPeriod, expiration, amountPerCycle, receiver, sharesAccumulator, sharesLeft);
stderr: | ^^^^^^^^
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-nmek44wq/out/build-info is not a directory.
{"no_findings":false,"summary":"One high-severity accounting issue: share inflation attack if the adapter is deployed without the initial share seeding described in comments.","findings":[{"severity":"high","category":"math","title":"ERC4626-style share inflation lets early depositor steal later deposits","exploit_scenario":"An attacker makes the first tiny subscription to mint a minimal number of shares, then transfers a large amount of assets directly to the contract (not via subscribe), inflating totalAssets without increasing totalSupply. Subsequent subscribers mint zero/near-zero shares because shares = assets * totalSupply / totalAssets rounds down. The attacker later redeems their shares to withdraw all assets, including victims’ deposits.","recommendation":"Enforce the initial share seeding/virtual share defense inside the adapter (mint+burn seed shares or use virtual shares) rather than relying on an external factory, or hard-block direct asset donations from affecting share price accounting.","evidence":"BaseAdapter deposit/convertToShares uses totalAssets and totalSupply directly with no on-chain seed share defense; comment explicitly notes ERC4626 inflation risk.","locations":["contracts/yield/BaseAdapter.sol:72","contracts/yield/BaseAdapter.sol:91"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-56igszl3
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb510-0e12-7922-a174-b581be567852
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc ls in /tmp/codex-56igszl3 succeeded in 7ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
solmate
thinking
**Reading AUDIT_BUNDLE.txt**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-56igszl3 succeeded in 10ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Subs.sol
================================================================================
pragma solidity ^0.8.19;
import {ERC20} from "solmate/src/tokens/ERC20.sol";
import {SafeTransferLib} from "solmate/src/utils/SafeTransferLib.sol";
import {BoringBatchable} from "./fork/BoringBatchable.sol";
import {AaveV3Adapter} from "./yield/AaveV3Adapter.sol";
import {FixedPointMathLib} from "solmate/src/utils/FixedPointMathLib.sol";
contract Subs is BoringBatchable, AaveV3Adapter {
using SafeTransferLib for ERC20;
using FixedPointMathLib for uint256;
uint public immutable periodDuration;
address public immutable feeCollector;
thinking
**Recovering full BaseAdapter content**
exec
/bin/bash -lc "sed -n '1,260p' contracts/yield/BaseAdapter.sol" in /tmp/codex-56igszl3 succeeded in 5ms:
pragma solidity ^0.8.19;
import {ERC20} from "solmate/src/tokens/ERC20.sol";
import {SafeTransferLib} from "solmate/src/utils/SafeTransferLib.sol";
import {FixedPointMathLib} from "solmate/src/utils/FixedPointMathLib.sol";
import {Owned} from "solmate/src/auth/Owned.sol";
/*
This is vulnerable to ERC4626 inflation attacks!
See https://docs.openzeppelin.com/contracts/5.x/erc4626 and https://blog.openzeppelin.com/a-novel-defense-against-erc4626-inflation-attacks
This is solved through SubsFactory, which creates some shares upon deployment and burns them.
*/
abstract contract BaseAdapter is Owned {
using SafeTransferLib for ERC20;
using FixedPointMathLib for uint256;
ERC20 public immutable asset;
address public rewardRecipient;
thinking
**Analyzing contract reentrancy and state update risks**
I'm auditing potential vulnerabilities focused on reentrancy around asset transfers and state updates in subscription and adapter contracts. The timing of share minting before asset transfers could allow reentrancy if tokens have callbacks. I’m also evaluating arithmetic risks from share calculations, potential underflows from price drops, and how outdated share price snapshots might be gamed. There’s concern over improper access controls and order of state changes around external calls that might allow exploits or cause user fund locking. Overall, I’m carefully piecing together function interactions to identify any critical attack vectors.
thinking
**Examining share price manipulation via asset transfers**
I'm exploring how an attacker might influence share price by transferring assets directly to the contract, affecting sharesPerPeriod calculations and potentially altering receiver payouts. The dynamics between totalAssets, totalSupply, and shares minted per period suggest possible economic manipulation but also some balancing mechanisms. I’m considering if temporary asset donations combined with timing of updates could let an attacker game share accruals or withdraw more than they should, especially via flash loans or strategic redemptions. The interaction is complex, so I’m carefully weighing whether these scenarios open exploitable gaps or are controlled by the contract’s accounting.
thinking
**Identifying key vulnerabilities and accounting nuances**
I’m unpacking several potential issues, including the major inflation attack risk where an initial depositor can skew share price by donating assets directly, causing later subscribers to get zero shares and lose funds. I also see how deflationary tokens or fee-on-transfer behavior might cause under-collateralization. Beyond that, I’m noting subtle state update orders that might allow reentrancy or inconsistent accounting but appear limited due to checks. Most non-critical findings seem more like design quirks than exploitable bugs, focusing my attention mainly on the inflation attack and asset transfer nuances.
thinking
**Analyzing minor issues and auditing completeness**
I’m looking at small quirks like rounding losses in fee splits during claims and potential reentrancy via token transfers, but these don’t appear to cause serious problems. I also note how large periods can cause expensive loops, though partial update functions help mitigate that. Finally, I want to carefully reread the full audit bundle in segments to ensure no important detail is missed due to output truncation.
exec
/bin/bash -lc "sed -n '1,400p' AUDIT_BUNDLE.txt" in /tmp/codex-56igszl3 succeeded in 7ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Subs.sol
================================================================================
pragma solidity ^0.8.19;
import {ERC20} from "solmate/src/tokens/ERC20.sol";
import {SafeTransferLib} from "solmate/src/utils/SafeTransferLib.sol";
import {BoringBatchable} from "./fork/BoringBatchable.sol";
import {AaveV3Adapter} from "./yield/AaveV3Adapter.sol";
import {FixedPointMathLib} from "solmate/src/utils/FixedPointMathLib.sol";
contract Subs is BoringBatchable, AaveV3Adapter {
using SafeTransferLib for ERC20;
using FixedPointMathLib for uint256;
uint public immutable periodDuration;
address public immutable feeCollector;
exec
/bin/bash -lc "sed -n '401,800p' AUDIT_BUNDLE.txt" in /tmp/codex-56igszl3 succeeded in 6ms:
uint pullAmount = oldTotalAssets - newTotalAssets;
require(pullAmount < maxToPull, ">maxToPull");
asset.safeTransferFrom(msg.sender, address(this), pullAmount);
}
}
function forceDeposit(uint assets) internal virtual;
// Yield buffer
// Most of the gas cost in calls to subscribe() comes moving the coins into the yield-generating vault
// For small subscriptions this means that users might end up paying more in gas costs than the yield they generate,
// so to greatly reduce gas costs and amortize them among all users we've implemented a yield buffer.
// When new coins are deposited they'll be simply stored in the contract, with no extra gas costs,
// then, when we trigger it, all coins will be moved to the yield vault, thus aggregating all these user deposits
// into a single large deposit for which we pay O(1) gas, thus amortizing costs.
// This means that some money will sit idle and not earn any yield, but thats ok.
// This also applies for withdrawals, if we have enough money in the buffer we'll just use that so we don't have to pull money from vault
function deposit(uint256 assets) internal returns (uint shares) {
shares = totalSupply == 0 ? assets : assets.mulDivDown(totalSupply, totalAssets());
totalSupply += shares;
exec
/bin/bash -lc "sed -n '801,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-56igszl3 succeeded in 6ms:
}
default {
switch mod(n, 2)
case 0 {
// If n is even, store scalar in z for now.
z := scalar
}
default {
// If n is odd, store x in z for now.
z := x
}
// Shifting right by 1 is like dividing by 2.
let half := shr(1, scalar)
for {
// Shift n right by 1 before looping to halve it.
n := shr(1, n)
} n {
// Shift n right by 1 each iteration to halve it.
thinking
**Preparing to analyze BaseAdapter vulnerability**
exec
/bin/bash -lc "nl -ba contracts/yield/BaseAdapter.sol | sed -n '60,150p'" in /tmp/codex-56igszl3 succeeded in 6ms:
60
61 function forceDeposit(uint assets) internal virtual;
62
63 // Yield buffer
64 // Most of the gas cost in calls to subscribe() comes moving the coins into the yield-generating vault
65 // For small subscriptions this means that users might end up paying more in gas costs than the yield they generate,
66 // so to greatly reduce gas costs and amortize them among all users we've implemented a yield buffer.
67 // When new coins are deposited they'll be simply stored in the contract, with no extra gas costs,
68 // then, when we trigger it, all coins will be moved to the yield vault, thus aggregating all these user deposits
69 // into a single large deposit for which we pay O(1) gas, thus amortizing costs.
70 // This means that some money will sit idle and not earn any yield, but thats ok.
71 // This also applies for withdrawals, if we have enough money in the buffer we'll just use that so we don't have to pull money from vault
72 function deposit(uint256 assets) internal returns (uint shares) {
73 shares = totalSupply == 0 ? assets : assets.mulDivDown(totalSupply, totalAssets());
74 totalSupply += shares;
75 }
76
77 function forceRedeem(uint assets, address receiver) internal virtual;
78
79 function redeem(uint256 shares, address receiver) internal {
thinking
**Summarizing ERC4626 inflation vulnerability**
I’m outlining a high-severity finding about an inflation attack where initial share seeding is missing, letting an attacker inflate share price by donating assets directly. This causes later subscribers to mint few or zero shares, losing assets to the attacker. I’ll include details on the affected lines in BaseAdapter.sol and mention mitigations like minting initial shares or restricting direct transfers. I'll also touch on minor points like fee-on-transfer asset risks and claim rounding effects, but focus on the main exploitable issue.
codex
{"no_findings":false,"summary":"One high-severity accounting issue: share inflation attack if the adapter is deployed without the initial share seeding described in comments.","findings":[{"severity":"high","category":"math","title":"ERC4626-style share inflation lets early depositor steal later deposits","exploit_scenario":"An attacker makes the first tiny subscription to mint a minimal number of shares, then transfers a large amount of assets directly to the contract (not via subscribe), inflating totalAssets without increasing totalSupply. Subsequent subscribers mint zero/near-zero shares because shares = assets * totalSupply / totalAssets rounds down. The attacker later redeems their shares to withdraw all assets, including victims’ deposits.","recommendation":"Enforce the initial share seeding/virtual share defense inside the adapter (mint+burn seed shares or use virtual shares) rather than relying on an external factory, or hard-block direct asset donations from affecting share price accounting.","evidence":"BaseAdapter deposit/convertToShares uses totalAssets and totalSupply directly with no on-chain seed share defense; comment explicitly notes ERC4626 inflation risk.","locations":["contracts/yield/BaseAdapter.sol:72","contracts/yield/BaseAdapter.sol:91"]}]}
tokens used
39,669
{
"codex": {
"ran_at": "2026-01-13T01:59:35.804623+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 8,
"import_count": 8,
"first_party_contracts_count": 8
},
"summary": "One high-severity accounting issue: share inflation attack if the adapter is deployed without the initial share seeding described in comments.",
"raw_final": {
"summary": "One high-severity accounting issue: share inflation attack if the adapter is deployed without the initial share seeding described in comments.",
"findings": [
{
"title": "ERC4626-style share inflation lets early depositor steal later deposits",
"category": "math",
"evidence": "BaseAdapter deposit/convertToShares uses totalAssets and totalSupply directly with no on-chain seed share defense; comment explicitly notes ERC4626 inflation risk.",
"severity": "high",
"locations": [
"contracts/yield/BaseAdapter.sol:72",
"contracts/yield/BaseAdapter.sol:91"
],
"recommendation": "Enforce the initial share seeding/virtual share defense inside the adapter (mint+burn seed shares or use virtual shares) rather than relying on an external factory, or hard-block direct asset donations from affecting share price accounting.",
"exploit_scenario": "An attacker makes the first tiny subscription to mint a minimal number of shares, then transfers a large amount of assets directly to the contract (not via subscribe), inflating totalAssets without increasing totalSupply. Subsequent subscribers mint zero/near-zero shares because shares = assets * totalSupply / totalAssets rounds down. The attacker later redeems their shares to withdraw all assets, including victims\u2019 deposits."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: ISZERO 0000000a: PUSH2 0x0012 0000000d: JUMPI 0000000e: PUSH1 0x00 00000010: DUP1 00000011: REVERT 00000012: JUMPDEST 00000013: PUSH1 0x00 00000015: CALLDATALOAD 00000016: PUSH1 0xe0 00000018: SHR 00000019: DUP1 0000001a: PUSH4 0x01e1d114 0000001f: EQ 00000020: PUSH2 0x0217 00000023: JUMPI 00000024: DUP1 00000025: PUSH4 0x06040618 0000002a: EQ 0000002b: PUSH2 0x0212 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0x07a2d13a 00000035: EQ 00000036: PUSH2 0x020d 00000039: JUMPI 0000003a: DUP1 0000003b: PUSH4 0x1468026d 00000040: EQ 00000041: PUSH2 0x0208 00000044: JUMPI 00000045: DUP1 00000046: PUSH4 0x17f33340 0000004b: EQ 0000004c: PUSH2 0x0203 0000004f: JUMPI 00000050: DUP1 00000051: PUSH4 0x18160ddd 00000056: EQ 00000057: PUSH2 0x01fe 0000005a: JUMPI 0000005b: DUP1 0000005c: PUSH4 0x19d10f09 00000061: EQ 00000062: PUSH2 0x01f9 00000065: JUMPI 00000066: DUP1 00000067: PUSH4 0x3410fe6e 0000006c: EQ 0000006d: PUSH2 0x01f4 00000070: JUMPI 00000071: DUP1 00000072: PUSH4 0x372500ab 00000077: EQ 00000078: PUSH2 0x01ef 0000007b: JUMPI 0000007c: DUP1 0000007d: PUSH4 0x379607f5 00000082: EQ 00000083: PUSH2 0x01ea 00000086: JUMPI 00000087: DUP1 00000088: PUSH4 0x38d52e0f 0000008d: EQ 0000008e: PUSH2 0x01e5 00000091: JUMPI 00000092: DUP1 00000093: PUSH4 0x535a05e2 00000098: EQ 00000099: PUSH2 0x01e0 0000009c: JUMPI 0000009d: DUP1 0000009e: PUSH4 0x5fb030c1 000000a3: EQ 000000a4: PUSH2 0x01db 000000a7: JUMPI 000000a8: DUP1 000000a9: PUSH4 0x6b82b985 000000ae: EQ 000000af: PUSH2 0x01d6 000000b2: JUMPI 000000b3: DUP1 000000b4: PUSH4 0x6bb65f53 000000b9: EQ 000000ba: PUSH2 0x01d1 000000bd: JUMPI 000000be: DUP1 000000bf: PUSH4 0x78316317 000000c4: EQ 000000c5: PUSH2 0x01cc 000000c8: JUMPI 000000c9: DUP1 000000ca: PUSH4 0x7c516e94 000000cf: EQ 000000d0: PUSH2 0x01c7 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x8da5cb5b 000000da: EQ 000000db: PUSH2 0x01c2 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x9c9b85b6 000000e5: EQ 000000e6: PUSH2 0x01bd 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0xa0c1f15e 000000f0: EQ 000000f1: PUSH2 0x01b8 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0xa59a9973 000000fb: EQ 000000fc: PUSH2 0x01b3 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0xb470aade 00000106: EQ 00000107: PUSH2 0x01ae 0000010a: JUMPI 0000010b: DUP1 0000010c: PUSH4 0xbf33a1f5 00000111: EQ 00000112: PUSH2 0x01a9 00000115: JUMPI 00000116: DUP1 00000117: PUSH4 0xc0d672c0 0000011c: EQ 0000011d: PUSH2 0x01a4 00000120: JUMPI 00000121: DUP1 00000122: PUSH4 0xc415b95c 00000127: EQ 00000128: PUSH2 0x019f 0000012b: JUMPI 0000012c: DUP1 0000012d: PUSH4 0xc6e6f592 00000132: EQ 00000133: PUSH2 0x019a 00000136: JUMPI 00000137: DUP1 00000138: PUSH4 0xd2423b51 0000013d: EQ 0000013e: PUSH2 0x0195 00000141: JUMPI 00000142: DUP1 00000143: PUSH4 0xd8dc8be8 00000148: EQ 00000149: PUSH2 0x0190 0000014c: JUMPI 0000014d: DUP1 0000014e: PUSH4 0xdd674836 00000153: EQ 00000154: PUSH2 0x018b 00000157: JUMPI 00000158: DUP1 00000159: PUSH4 0xdf11784a 0000015e: EQ 0000015f: PUSH2 0x0186 00000162: JUMPI 00000163: DUP1 00000164: PUSH4 0xe521136f 00000169: EQ 0000016a: PUSH2 0x0181 0000016d: JUMPI 0000016e: PUSH4 0xf2fde38b 00000173: EQ 00000174: PUSH2 0x017c 00000177: JUMPI 00000178: PUSH1 0x00 0000017a: DUP1 0000017b: REVERT 0000017c: JUMPDEST 0000017d: PUSH2 0x15b9 00000180: JUMP 00000181: JUMPDEST 00000182: PUSH2 0x152a 00000185: JUMP 00000186: JUMPDEST 00000187: PUSH2 0x13d0 0000018a: JUMP 0000018b: JUMPDEST 0000018c: PUSH2 0x1118 0000018f: JUMP 00000190: JUMPDEST 00000191: PUSH2 0x106b 00000194: JUMP 00000195: JUMPDEST 00000196: PUSH2 0x0fef 00000199: JUMP 0000019a: JUMPDEST 0000019b: PUSH2 0x0fb3 0000019e: JUMP 0000019f: JUMPDEST 000001a0: PUSH2 0x0f44 000001a3: JUMP 000001a4: JUMPDEST 000001a5: PUSH2 0x0ecd 000001a8: JUMP 000001a9: JUMPDEST 000001aa: PUSH2 0x0d8d 000001ad: JUMP 000001ae: JUMPDEST 000001af: PUSH2 0x0d34 000001b2: JUMP 000001b3: JUMPDEST 000001b4: PUSH2 0x0cc5 000001b7: JUMP 000001b8: JUMPDEST 000001b9: PUSH2 0x0c56 000001bc: JUMP 000001bd: JUMPDEST 000001be: PUSH2 0x0b38 000001c1: JUMP 000001c2: JUMPDEST 000001c3: PUSH2 0x0ae6 000001c6: JUMP 000001c7: JUMPDEST 000001c8: PUSH2 0x09dc 000001cb: JUMP 000001cc: JUMPDEST 000001cd: PUSH2 0x089a 000001d0: JUMP 000001d1: JUMPDEST 000001d2: PUSH2 0x082b 000001d5: JUMP 000001d6: JUMPDEST 000001d7: PUSH2 0x07dc 000001da: JUMP 000001db: JUMPDEST 000001dc: PUSH2 0x075c 000001df: JUMP 000001e0: JUMPDEST 000001e1: PUSH2 0x06f6 000001e4: JUMP 000001e5: JUMPDEST 000001e6: PUSH2 0x0669 000001e9: JUMP 000001ea: JUMPDEST 000001eb: PUSH2 0x0590 000001ee: JUMP 000001ef: JUMPDEST 000001f0: PUSH2 0x0452 000001f3: JUMP 000001f4: JUMPDEST 000001f5: PUSH2 0x03f9 000001f8: JUMP 000001f9: JUMPDEST 000001fa: PUSH2 0x03af 000001fd: JUMP 000001fe: JUMPDEST 000001ff: PUSH2 0x0373 00000202: JUMP 00000203: JUMPDEST 00000204: PUSH2 0x0321 00000207: JUMP 00000208: JUMPDEST 00000209: PUSH2 0x02e5 0000020c: JUMP 0000020d: JUMPDEST 0000020e: PUSH2 0x02a9 00000211: JUMP 00000212: JUMPDEST 00000213: PUSH2 0x026d 00000216: JUMP 00000217: JUMPDEST 00000218: PUSH2 0x022c 0000021b: JUMP 0000021c: JUMPDEST 0000021d: PUSH1 0x00 0000021f: SWAP2 00000220: SUB 00000221: SLT 00000222: PUSH2 0x0227 00000225: JUMPI 00000226: JUMP 00000227: JUMPDEST 00000228: PUSH1 0x00 0000022a: DUP1 0000022b: REVERT 0000022c: JUMPDEST 0000022d: CALLVALUE 0000022e: PUSH2 0x0227 00000231: JUMPI 00000232: PUSH1 0x00 00000234: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000255: CALLDATASIZE 00000256: ADD 00000257: SLT 00000258: PUSH2 0x0227 0000025b: JUMPI 0000025c: PUSH1 0x20 0000025e: PUSH2 0x0265 00000261: PUSH2 0x2258 00000264: JUMP 00000265: JUMPDEST 00000266: PUSH1 0x40 00000268: MLOAD 00000269: SWAP1 0000026a: DUP2 0000026b: MSTORE 0000026c: RETURN 0000026d: JUMPDEST 0000026e: CALLVALUE 0000026f: PUSH2 0x0227 00000272: JUMPI 00000273: PUSH1 0x00 00000275: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000296: CALLDATASIZE 00000297: ADD 00000298: SLT 00000299: PUSH2 0x0227 0000029c: JUMPI 0000029d: PUSH1 0x20 0000029f: PUSH1 0x03 000002a1: SLOAD 000002a2: PUSH1 0x40 000002a4: MLOAD 000002a5: SWAP1 000002a6: DUP2 000002a7: MSTORE 000002a8: RETURN 000002a9: JUMPDEST 000002aa: CALLVALUE 000002ab: PUSH2 0x0227 000002ae: JUMPI 000002af: PUSH1 0x20 000002b1: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000002d2: CALLDATASIZE 000002d3: ADD 000002d4: SLT 000002d5: PUSH2 0x0227 000002d8: JUMPI 000002d9: PUSH1 0x20 000002db: PUSH2 0x0265 000002de: PUSH1 0x04 000002e0: CALLDATALOAD 000002e1: PUSH2 0x262d 000002e4: JUMP 000002e5: JUMPDEST 000002e6: CALLVALUE 000002e7: PUSH2 0x0227 000002ea: JUMPI 000002eb: PUSH1 0x00 000002ed: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000030e: CALLDATASIZE 0000030f: ADD 00000310: SLT 00000311: PUSH2 0x0227 00000314: JUMPI 00000315: PUSH1 0x20 00000317: PUSH1 0x04 00000319: SLOAD 0000031a: PUSH1 0x40 0000031c: MLOAD 0000031d: SWAP1 0000031e: DUP2 0000031f: MSTORE 00000320: RETURN 00000321: JUMPDEST 00000322: CALLVALUE 00000323: PUSH2 0x0227 00000326: JUMPI 00000327: PUSH1 0x00 00000329: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000034a: CALLDATASIZE 0000034b: ADD 0000034c: SLT 0000034d: PUSH2 0x0227 00000350: JUMPI 00000351: PUSH1 0x20 00000353: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000368: PUSH1 0x01 0000036a: SLOAD 0000036b: AND 0000036c: PUSH1 0x40 0000036e: MLOAD 0000036f: SWAP1 00000370: DUP2 00000371: MSTORE 00000372: RETURN 00000373: JUMPDEST 00000374: CALLVALUE 00000375: PUSH2 0x0227 00000378: JUMPI 00000379: PUSH1 0x00 0000037b: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000039c: CALLDATASIZE 0000039d: ADD 0000039e: SLT 0000039f: PUSH2 0x0227 000003a2: JUMPI 000003a3: PUSH1 0x20 000003a5: PUSH1 0x02 000003a7: SLOAD 000003a8: PUSH1 0x40 000003aa: MLOAD 000003ab: SWAP1 000003ac: DUP2 000003ad: MSTORE 000003ae: RETURN 000003af: JUMPDEST 000003b0: CALLVALUE 000003b1: PUSH2 0x0227 000003b4: JUMPI 000003b5: PUSH1 0x20 000003b7: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000003d8: CALLDATASIZE 000003d9: ADD 000003da: SLT 000003db: PUSH2 0x0227 000003de: JUMPI 000003df: PUSH1 0x04 000003e1: CALLDATALOAD 000003e2: PUSH1 0x00 000003e4: MSTORE 000003e5: PUSH1 0x07 000003e7: PUSH1 0x20 000003e9: MSTORE 000003ea: PUSH1 0x20 000003ec: PUSH1 0x40 000003ee: PUSH1 0x00 000003f0: KECCAK256 000003f1: SLOAD 000003f2: PUSH1 0x40 000003f4: MLOAD 000003f5: SWAP1 000003f6: DUP2 000003f7: MSTORE 000003f8: RETURN 000003f9: JUMPDEST 000003fa: CALLVALUE 000003fb: PUSH2 0x0227 000003fe: JUMPI 000003ff: PUSH1 0x00 00000401: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000422: CALLDATASIZE 00000423: ADD 00000424: SLT 00000425: PUSH2 0x0227 00000428: JUMPI 00000429: PUSH1 0x20 0000042b: PUSH1 0x40 0000042d: MLOAD 0000042e: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240 0000044f: DUP2 00000450: MSTORE 00000451: RETURN 00000452: JUMPDEST 00000453: CALLVALUE 00000454: PUSH2 0x0227 00000457: JUMPI 00000458: PUSH1 0x00 0000045a: DUP1 0000045b: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000047c: CALLDATASIZE 0000047d: ADD 0000047e: SLT 0000047f: PUSH2 0x058d 00000482: JUMPI 00000483: PUSH2 0x0534 00000486: DUP2 00000487: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000049c: DUP1 0000049d: PUSH1 0x01 0000049f: SLOAD 000004a0: AND 000004a1: SWAP1 000004a2: PUSH2 0x04ac 000004a5: DUP3 000004a6: CALLER 000004a7: EQ 000004a8: PUSH2 0x2007 000004ab: JUMP 000004ac: JUMPDEST 000004ad: PUSH2 0x04b4 000004b0: PUSH2 0x2084 000004b3: JUMP 000004b4: JUMPDEST 000004b5: PUSH2 0x04fe 000004b8: DUP3 000004b9: PUSH32 0x00000000000000000000000098c23e9d8f34fefb1b7bd6a91b7ff122f4e16f5c 000004da: AND 000004db: PUSH2 0x04e3 000004de: DUP4 000004df: PUSH2 0x209e 000004e2: JUMP 000004e3: JUMPDEST 000004e4: SWAP1 000004e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004fa: AND 000004fb: SWAP1 000004fc: MSTORE 000004fd: JUMP 000004fe: JUMPDEST 000004ff: DUP4 00000500: PUSH1 0x40 00000502: MLOAD 00000503: DUP1 00000504: SWAP7 00000505: DUP2 00000506: SWAP6 00000507: DUP3 00000508: SWAP5 00000509: PUSH32 0xbb492bf500000000000000000000000000000000000000000000000000000000 0000052a: DUP5 0000052b: MSTORE 0000052c: PUSH1 0x04 0000052e: DUP5 0000052f: ADD 00000530: PUSH2 0x21d8 00000533: JUMP 00000534: JUMPDEST 00000535: SUB 00000536: SWAP3 00000537: PUSH32 0x0000000000000000000000008164cc65827dcfe994ab23944cbc90e0aa80bfcb 00000558: AND 00000559: GAS 0000055a: CALL 0000055b: DUP1 0000055c: ISZERO 0000055d: PUSH2 0x0588 00000560: JUMPI 00000561: PUSH2 0x0568 00000564: JUMPI 00000565: POP 00000566: DUP1 00000567: RETURN 00000568: JUMPDEST 00000569: PUSH2 0x0583 0000056c: SWAP1 0000056d: RETURNDATASIZE 0000056e: DUP1 0000056f: DUP5 00000570: DUP4 00000571: RETURNDATACOPY 00000572: PUSH2 0x057b 00000575: DUP2 00000576: DUP4 00000577: PUSH2 0x19f2 0000057a: JUMP 0000057b: JUMPDEST 0000057c: DUP2 0000057d: ADD 0000057e: SWAP1 0000057f: PUSH2 0x2138 00000582: JUMP 00000583: JUMPDEST 00000584: POP 00000585: POP 00000586: DUP1 00000587: RETURN 00000588: JUMPDEST 00000589: PUSH2 0x1ffb 0000058c: JUMP 0000058d: JUMPDEST 0000058e: DUP1 0000058f: REVERT 00000590: JUMPDEST 00000591: CALLVALUE 00000592: PUSH2 0x0227 00000595: JUMPI 00000596: PUSH1 0x20 00000598: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000005b9: CALLDATASIZE 000005ba: ADD 000005bb: SLT 000005bc: PUSH2 0x0227 000005bf: JUMPI 000005c0: PUSH1 0x04 000005c2: CALLDATALOAD 000005c3: PUSH2 0x05cc 000005c6: TIMESTAMP 000005c7: CALLER 000005c8: PUSH2 0x1703 000005cb: JUMP 000005cc: JUMPDEST 000005cd: CALLER 000005ce: PUSH1 0x00 000005d0: MSTORE 000005d1: PUSH1 0x06 000005d3: PUSH1 0x20 000005d5: MSTORE 000005d6: PUSH1 0x40 000005d8: PUSH1 0x00 000005da: KECCAK256 000005db: DUP1 000005dc: SLOAD 000005dd: SWAP1 000005de: DUP3 000005df: DUP3 000005e0: SUB 000005e1: SWAP2 000005e2: DUP3 000005e3: GT 000005e4: PUSH2 0x0664 000005e7: JUMPI 000005e8: SSTORE 000005e9: PUSH1 0x63 000005eb: DUP2 000005ec: MUL 000005ed: DUP2 000005ee: DUP2 000005ef: DIV 000005f0: PUSH1 0x63 000005f2: EQ 000005f3: DUP3 000005f4: ISZERO 000005f5: OR 000005f6: ISZERO 000005f7: PUSH2 0x0664 000005fa: JUMPI 000005fb: PUSH2 0x0608 000005fe: SWAP1 000005ff: PUSH1 0x64 00000601: CALLER 00000602: SWAP2 00000603: DIV 00000604: PUSH2 0x2479 00000607: JUMP 00000608: JUMPDEST 00000609: PUSH2 0x0660 0000060c: PUSH1 0x64 0000060e: PUSH2 0x0657 00000611: PUSH32 0x0000000000000000000000009fe36b2d3cc3fb56f35225c2912ee5283464842e 00000632: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000647: AND 00000648: PUSH1 0x00 0000064a: MSTORE 0000064b: PUSH1 0x06 0000064d: PUSH1 0x20 0000064f: MSTORE 00000650: PUSH1 0x40 00000652: PUSH1 0x00 00000654: KECCAK256 00000655: SWAP1 00000656: JUMP 00000657: JUMPDEST 00000658: SWAP3 00000659: DIV 0000065a: DUP3 0000065b: SLOAD 0000065c: PUSH2 0x169d 0000065f: JUMP 00000660: JUMPDEST 00000661: SWAP1 00000662: SSTORE 00000663: STOP 00000664: JUMPDEST 00000665: PUSH2 0x166e 00000668: JUMP 00000669: JUMPDEST 0000066a: CALLVALUE 0000066b: PUSH2 0x0227 0000066e: JUMPI 0000066f: PUSH1 0x00 00000671: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000692: CALLDATASIZE 00000693: ADD 00000694: SLT 00000695: PUSH2 0x0227 00000698: JUMPI 00000699: PUSH1 0x20 0000069b: PUSH1 0x40 0000069d: MLOAD 0000069e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006b3: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000006d4: AND 000006d5: DUP2 000006d6: MSTORE 000006d7: RETURN 000006d8: JUMPDEST 000006d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ee: DUP2 000006ef: AND 000006f0: SUB 000006f1: PUSH2 0x0227 000006f4: JUMPI 000006f5: JUMP 000006f6: JUMPDEST 000006f7: CALLVALUE 000006f8: PUSH2 0x0227 000006fb: JUMPI 000006fc: PUSH1 0xe0 000006fe: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000071f: CALLDATASIZE 00000720: ADD 00000721: SLT 00000722: PUSH2 0x0227 00000725: JUMPI 00000726: PUSH1 0x20 00000728: PUSH2 0x0265 0000072b: PUSH1 0x04 0000072d: CALLDATALOAD 0000072e: PUSH2 0x0736 00000731: DUP2 00000732: PUSH2 0x06d8 00000735: JUMP 00000736: JUMPDEST 00000737: PUSH1 0x84 00000739: CALLDATALOAD 0000073a: SWAP1 0000073b: PUSH2 0x0743 0000073e: DUP3 0000073f: PUSH2 0x06d8 00000742: JUMP 00000743: JUMPDEST 00000744: PUSH1 0xc4 00000746: CALLDATALOAD 00000747: SWAP2 00000748: PUSH1 0xa4 0000074a: CALLDATALOAD 0000074b: SWAP2 0000074c: PUSH1 0x64 0000074e: CALLDATALOAD 0000074f: SWAP1 00000750: PUSH1 0x44 00000752: CALLDATALOAD 00000753: SWAP1 00000754: PUSH1 0x24 00000756: CALLDATALOAD 00000757: SWAP1 00000758: PUSH2 0x1a33 0000075b: JUMP 0000075c: JUMPDEST 0000075d: CALLVALUE 0000075e: PUSH2 0x0227 00000761: JUMPI 00000762: PUSH1 0x20 00000764: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000785: CALLDATASIZE 00000786: ADD 00000787: SLT 00000788: PUSH2 0x0227 0000078b: JUMPI 0000078c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007a1: PUSH1 0x04 000007a3: CALLDATALOAD 000007a4: PUSH2 0x07ac 000007a7: DUP2 000007a8: PUSH2 0x06d8 000007ab: JUMP 000007ac: JUMPDEST 000007ad: AND 000007ae: PUSH1 0x00 000007b0: MSTORE 000007b1: PUSH1 0x06 000007b3: PUSH1 0x20 000007b5: MSTORE 000007b6: PUSH1 0x60 000007b8: PUSH1 0x40 000007ba: PUSH1 0x00 000007bc: KECCAK256 000007bd: DUP1 000007be: SLOAD 000007bf: SWAP1 000007c0: PUSH1 0x02 000007c2: PUSH1 0x01 000007c4: DUP3 000007c5: ADD 000007c6: SLOAD 000007c7: SWAP2 000007c8: ADD 000007c9: SLOAD 000007ca: SWAP1 000007cb: PUSH1 0x40 000007cd: MLOAD 000007ce: SWAP3 000007cf: DUP4 000007d0: MSTORE 000007d1: PUSH1 0x20 000007d3: DUP4 000007d4: ADD 000007d5: MSTORE 000007d6: PUSH1 0x40 000007d8: DUP3 000007d9: ADD 000007da: MSTORE 000007db: RETURN 000007dc: JUMPDEST 000007dd: CALLVALUE 000007de: PUSH2 0x0227 000007e1: JUMPI 000007e2: PUSH1 0x20 000007e4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000805: CALLDATASIZE 00000806: ADD 00000807: SLT 00000808: PUSH2 0x0227 0000080b: JUMPI 0000080c: PUSH1 0x04 0000080e: CALLDATALOAD 0000080f: PUSH1 0x00 00000811: MSTORE 00000812: PUSH1 0x08 00000814: PUSH1 0x20 00000816: MSTORE 00000817: PUSH1 0x20 00000819: PUSH1 0xff 0000081b: PUSH1 0x40 0000081d: PUSH1 0x00 0000081f: KECCAK256 00000820: SLOAD 00000821: AND 00000822: PUSH1 0x40 00000824: MLOAD 00000825: SWAP1 00000826: ISZERO 00000827: ISZERO 00000828: DUP2 00000829: MSTORE 0000082a: RETURN 0000082b: JUMPDEST 0000082c: CALLVALUE 0000082d: PUSH2 0x0227 00000830: JUMPI 00000831: PUSH1 0x00 00000833: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000854: CALLDATASIZE 00000855: ADD 00000856: SLT 00000857: PUSH2 0x0227 0000085a: JUMPI 0000085b: PUSH1 0x20 0000085d: PUSH1 0x40 0000085f: MLOAD 00000860: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000875: PUSH32 0x0000000000000000000000008164cc65827dcfe994ab23944cbc90e0aa80bfcb 00000896: AND 00000897: DUP2 00000898: MSTORE 00000899: RETURN 0000089a: JUMPDEST 0000089b: CALLVALUE 0000089c: PUSH2 0x0227 0000089f: JUMPI 000008a0: PUSH1 0xa0 000008a2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000008c3: CALLDATASIZE 000008c4: ADD 000008c5: SLT 000008c6: PUSH2 0x0227 000008c9: JUMPI 000008ca: PUSH1 0x04 000008cc: CALLDATALOAD 000008cd: PUSH2 0x08d5 000008d0: DUP2 000008d1: PUSH2 0x06d8 000008d4: JUMP 000008d5: JUMPDEST 000008d6: PUSH1 0x44 000008d8: CALLDATALOAD 000008d9: SWAP1 000008da: PUSH1 0x24 000008dc: CALLDATALOAD 000008dd: PUSH1 0x64 000008df: CALLDATALOAD 000008e0: DUP2 000008e1: DUP5 000008e2: LT 000008e3: PUSH2 0x097e 000008e6: JUMPI 000008e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008fc: PUSH2 0x0140 000008ff: SWAP4 00000900: PUSH2 0x0936 00000903: DUP4 00000904: PUSH32 0xc5f7d2537bccbf672a30f34c54dc9c79ade308a26616c2c448ecb31db28d948d 00000925: SWAP8 00000926: PUSH2 0x092f 00000929: TIMESTAMP 0000092a: DUP6 0000092b: PUSH2 0x1703 0000092e: JUMP 0000092f: JUMPDEST 00000930: DUP7 00000931: DUP5 00000932: PUSH2 0x1b06 00000935: JUMP 00000936: JUMPDEST 00000937: SWAP4 00000938: SWAP1 00000939: SWAP3 0000093a: PUSH1 0x03 0000093c: SLOAD 0000093d: SWAP7 0000093e: PUSH1 0x04 00000940: SLOAD 00000941: SWAP4 00000942: PUSH1 0x40 00000944: MLOAD 00000945: SWAP9 00000946: CALLER 00000947: DUP11 00000948: MSTORE 00000949: PUSH1 0x20 0000094b: DUP11 0000094c: ADD 0000094d: MSTORE 0000094e: PUSH1 0x40 00000950: DUP10 00000951: ADD 00000952: MSTORE 00000953: PUSH1 0x60 00000955: DUP9 00000956: ADD 00000957: MSTORE 00000958: AND 00000959: PUSH1 0x80 0000095b: DUP7 0000095c: ADD 0000095d: MSTORE 0000095e: PUSH1 0xa0 00000960: DUP6 00000961: ADD 00000962: MSTORE 00000963: PUSH1 0xc0 00000965: DUP5 00000966: ADD 00000967: MSTORE 00000968: PUSH1 0xe0 0000096a: DUP4 0000096b: ADD 0000096c: MSTORE 0000096d: PUSH2 0x0100 00000970: DUP3 00000971: ADD 00000972: MSTORE 00000973: PUSH1 0x84 00000975: CALLDATALOAD 00000976: PUSH2 0x0120 00000979: DUP3 0000097a: ADD 0000097b: MSTORE 0000097c: LOG1 0000097d: STOP 0000097e: JUMPDEST 0000097f: PUSH1 0x64 00000981: PUSH1 0x40 00000983: MLOAD 00000984: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000009a5: DUP2 000009a6: MSTORE 000009a7: PUSH1 0x20 000009a9: PUSH1 0x04 000009ab: DUP3 000009ac: ADD 000009ad: MSTORE 000009ae: PUSH1 0x20 000009b0: PUSH1 0x24 000009b2: DUP3 000009b3: ADD 000009b4: MSTORE 000009b5: PUSH32 0x616d6f756e74466f72467574757265203c20616d6f756e745065724379636c65 000009d6: PUSH1 0x44 000009d8: DUP3 000009d9: ADD 000009da: MSTORE 000009db: REVERT 000009dc: JUMPDEST 000009dd: CALLVALUE 000009de: PUSH2 0x0227 000009e1: JUMPI 000009e2: PUSH2 0x0100 000009e5: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000a06: CALLDATASIZE 00000a07: ADD 00000a08: SLT 00000a09: PUSH2 0x0227 00000a0c: JUMPI 00000a0d: PUSH1 0x04 00000a0f: CALLDATALOAD 00000a10: PUSH2 0x0a18 00000a13: DUP2 00000a14: PUSH2 0x06d8 00000a17: JUMP 00000a18: JUMPDEST 00000a19: PUSH1 0x24 00000a1b: CALLDATALOAD 00000a1c: PUSH2 0x0a24 00000a1f: DUP2 00000a20: PUSH2 0x06d8 00000a23: JUMP 00000a24: JUMPDEST 00000a25: PUSH1 0x44 00000a27: CALLDATALOAD 00000a28: SWAP2 00000a29: PUSH2 0x0a31 00000a2c: DUP4 00000a2d: PUSH2 0x06d8 00000a30: JUMP 00000a31: JUMPDEST 00000a32: PUSH1 0xa4 00000a34: CALLDATALOAD 00000a35: SWAP2 00000a36: PUSH1 0xff 00000a38: DUP4 00000a39: AND 00000a3a: DUP1 00000a3b: SWAP4 00000a3c: SUB 00000a3d: PUSH2 0x0227 00000a40: JUMPI 00000a41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a56: DUP1 00000a57: SWAP3 00000a58: AND 00000a59: SWAP1 00000a5a: DUP2 00000a5b: EXTCODESIZE 00000a5c: ISZERO 00000a5d: PUSH2 0x0227 00000a60: JUMPI 00000a61: PUSH1 0x00 00000a63: PUSH1 0xe4 00000a65: SWAP3 00000a66: DUP2 00000a67: SWAP6 00000a68: DUP6 00000a69: PUSH1 0x40 00000a6b: MLOAD 00000a6c: SWAP9 00000a6d: DUP10 00000a6e: SWAP8 00000a6f: DUP9 00000a70: SWAP7 00000a71: PUSH32 0xd505accf00000000000000000000000000000000000000000000000000000000 00000a92: DUP9 00000a93: MSTORE 00000a94: AND 00000a95: PUSH1 0x04 00000a97: DUP8 00000a98: ADD 00000a99: MSTORE 00000a9a: AND 00000a9b: PUSH1 0x24 00000a9d: DUP6 00000a9e: ADD 00000a9f: MSTORE 00000aa0: PUSH1 0x64 00000aa2: CALLDATALOAD 00000aa3: PUSH1 0x44 00000aa5: DUP6 00000aa6: ADD 00000aa7: MSTORE 00000aa8: PUSH1 0x84 00000aaa: CALLDATALOAD 00000aab: PUSH1 0x64 00000aad: DUP6 00000aae: ADD 00000aaf: MSTORE 00000ab0: PUSH1 0x84 00000ab2: DUP5 00000ab3: ADD 00000ab4: MSTORE 00000ab5: PUSH1 0xc4 00000ab7: CALLDATALOAD 00000ab8: PUSH1 0xa4 00000aba: DUP5 00000abb: ADD 00000abc: MSTORE 00000abd: DUP4 00000abe: CALLDATALOAD 00000abf: PUSH1 0xc4 00000ac1: DUP5 00000ac2: ADD 00000ac3: MSTORE 00000ac4: GAS 00000ac5: CALL 00000ac6: DUP1 00000ac7: ISZERO 00000ac8: PUSH2 0x0588 00000acb: JUMPI 00000acc: PUSH2 0x0ad1 00000acf: JUMPI 00000ad0: STOP 00000ad1: JUMPDEST 00000ad2: DUP1 00000ad3: PUSH2 0x0ade 00000ad6: PUSH2 0x0ae4 00000ad9: SWAP3 00000ada: PUSH2 0x19bd 00000add: JUMP 00000ade: JUMPDEST 00000adf: DUP1 00000ae0: PUSH2 0x021c 00000ae3: JUMP 00000ae4: JUMPDEST 00000ae5: STOP 00000ae6: JUMPDEST 00000ae7: CALLVALUE 00000ae8: PUSH2 0x0227 00000aeb: JUMPI 00000aec: PUSH1 0x00 00000aee: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000b0f: CALLDATASIZE 00000b10: ADD 00000b11: SLT 00000b12: PUSH2 0x0227 00000b15: JUMPI 00000b16: PUSH1 0x20 00000b18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b2d: PUSH1 0x00 00000b2f: SLOAD 00000b30: AND 00000b31: PUSH1 0x40 00000b33: MLOAD 00000b34: SWAP1 00000b35: DUP2 00000b36: MSTORE 00000b37: RETURN 00000b38: JUMPDEST 00000b39: CALLVALUE 00000b3a: PUSH2 0x0227 00000b3d: JUMPI 00000b3e: PUSH1 0x80 00000b40: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000b61: CALLDATASIZE 00000b62: ADD 00000b63: SLT 00000b64: PUSH2 0x0227 00000b67: JUMPI 00000b68: PUSH1 0x04 00000b6a: CALLDATALOAD 00000b6b: PUSH2 0x0b73 00000b6e: DUP2 00000b6f: PUSH2 0x06d8 00000b72: JUMP 00000b73: JUMPDEST 00000b74: PUSH1 0x24 00000b76: CALLDATALOAD 00000b77: PUSH2 0x0b80 00000b7a: TIMESTAMP 00000b7b: DUP4 00000b7c: PUSH2 0x1703 00000b7f: JUMP 00000b80: JUMPDEST 00000b81: PUSH1 0x03 00000b83: SLOAD 00000b84: SWAP1 00000b85: PUSH32 0x0000000000000000000000000000000000000000000000000000000000278d00 00000ba6: SWAP2 00000ba7: DUP3 00000ba8: DUP2 00000ba9: ADD 00000baa: DUP1 00000bab: SWAP2 00000bac: GT 00000bad: PUSH2 0x0664 00000bb0: JUMPI 00000bb1: TIMESTAMP 00000bb2: DUP2 00000bb3: SUB 00000bb4: SWAP1 00000bb5: DUP2 00000bb6: GT 00000bb7: PUSH2 0x0664 00000bba: JUMPI 00000bbb: PUSH32 0x7738243047b841a251d42cf97044d157c4995a38ee47272bb948a87d99a0afb3 00000bdc: SWAP4 00000bdd: PUSH2 0x0c14 00000be0: PUSH2 0x0c0a 00000be3: PUSH2 0x0120 00000be6: SWAP6 00000be7: PUSH2 0x0c05 00000bea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bff: SWAP6 00000c00: DUP8 00000c01: PUSH2 0x16b7 00000c04: JUMP 00000c05: JUMPDEST 00000c06: PUSH2 0x16ca 00000c09: JUMP 00000c0a: JUMPDEST 00000c0b: PUSH1 0x44 00000c0d: CALLDATALOAD 00000c0e: DUP6 00000c0f: DUP5 00000c10: PUSH2 0x1b06 00000c13: JUMP 00000c14: JUMPDEST 00000c15: SWAP4 00000c16: SWAP1 00000c17: SWAP3 00000c18: PUSH1 0x03 00000c1a: SLOAD 00000c1b: SWAP6 00000c1c: PUSH1 0x04 00000c1e: SLOAD 00000c1f: SWAP4 00000c20: PUSH1 0x40 00000c22: MLOAD 00000c23: SWAP8 00000c24: CALLER 00000c25: DUP10 00000c26: MSTORE 00000c27: PUSH1 0x20 00000c29: DUP10 00000c2a: ADD 00000c2b: MSTORE 00000c2c: PUSH1 0x40 00000c2e: DUP9 00000c2f: ADD 00000c30: MSTORE 00000c31: PUSH1 0x60 00000c33: DUP8 00000c34: ADD 00000c35: MSTORE 00000c36: AND 00000c37: PUSH1 0x80 00000c39: DUP6 00000c3a: ADD 00000c3b: MSTORE 00000c3c: PUSH1 0xa0 00000c3e: DUP5 00000c3f: ADD 00000c40: MSTORE 00000c41: PUSH1 0xc0 00000c43: DUP4 00000c44: ADD 00000c45: MSTORE 00000c46: PUSH1 0xe0 00000c48: DUP3 00000c49: ADD 00000c4a: MSTORE 00000c4b: PUSH1 0x64 00000c4d: CALLDATALOAD 00000c4e: PUSH2 0x0100 00000c51: DUP3 00000c52: ADD 00000c53: MSTORE 00000c54: LOG1 00000c55: STOP 00000c56: JUMPDEST 00000c57: CALLVALUE 00000c58: PUSH2 0x0227 00000c5b: JUMPI 00000c5c: PUSH1 0x00 00000c5e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000c7f: CALLDATASIZE 00000c80: ADD 00000c81: SLT 00000c82: PUSH2 0x0227 00000c85: JUMPI 00000c86: PUSH1 0x20 00000c88: PUSH1 0x40 00000c8a: MLOAD 00000c8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca0: PUSH32 0x00000000000000000000000098c23e9d8f34fefb1b7bd6a91b7ff122f4e16f5c 00000cc1: AND 00000cc2: DUP2 00000cc3: MSTORE 00000cc4: RETURN 00000cc5: JUMPDEST 00000cc6: CALLVALUE 00000cc7: PUSH2 0x0227 00000cca: JUMPI 00000ccb: PUSH1 0x00 00000ccd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000cee: CALLDATASIZE 00000cef: ADD 00000cf0: SLT 00000cf1: PUSH2 0x0227 00000cf4: JUMPI 00000cf5: PUSH1 0x20 00000cf7: PUSH1 0x40 00000cf9: MLOAD 00000cfa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d0f: PUSH32 0x00000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2 00000d30: AND 00000d31: DUP2 00000d32: MSTORE 00000d33: RETURN 00000d34: JUMPDEST 00000d35: CALLVALUE 00000d36: PUSH2 0x0227 00000d39: JUMPI 00000d3a: PUSH1 0x00 00000d3c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000d5d: CALLDATASIZE 00000d5e: ADD 00000d5f: SLT 00000d60: PUSH2 0x0227 00000d63: JUMPI 00000d64: PUSH1 0x20 00000d66: PUSH1 0x40 00000d68: MLOAD 00000d69: PUSH32 0x0000000000000000000000000000000000000000000000000000000000278d00 00000d8a: DUP2 00000d8b: MSTORE 00000d8c: RETURN 00000d8d: JUMPDEST 00000d8e: CALLVALUE 00000d8f: PUSH2 0x0227 00000d92: JUMPI 00000d93: PUSH1 0x00 00000d95: DUP1 00000d96: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000db7: CALLDATASIZE 00000db8: ADD 00000db9: SLT 00000dba: PUSH2 0x058d 00000dbd: JUMPI 00000dbe: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00000ddf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000df4: PUSH32 0x00000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2 00000e15: AND 00000e16: PUSH1 0x20 00000e18: DUP4 00000e19: PUSH1 0x44 00000e1b: PUSH1 0x40 00000e1d: MLOAD 00000e1e: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00000e3f: DUP2 00000e40: MSTORE 00000e41: DUP5 00000e42: PUSH1 0x04 00000e44: DUP3 00000e45: ADD 00000e46: MSTORE 00000e47: DUP3 00000e48: PUSH1 0x24 00000e4a: DUP3 00000e4b: ADD 00000e4c: MSTORE 00000e4d: DUP3 00000e4e: DUP7 00000e4f: GAS 00000e50: CALL 00000e51: RETURNDATASIZE 00000e52: ISZERO 00000e53: PUSH1 0x1f 00000e55: RETURNDATASIZE 00000e56: GT 00000e57: PUSH1 0x01 00000e59: DUP7 00000e5a: MLOAD 00000e5b: EQ 00000e5c: AND 00000e5d: OR 00000e5e: AND 00000e5f: ISZERO 00000e60: PUSH2 0x0e6f 00000e63: JUMPI 00000e64: PUSH2 0x0e6c 00000e67: SWAP2 00000e68: PUSH2 0x284e 00000e6b: JUMP 00000e6c: JUMPDEST 00000e6d: DUP1 00000e6e: RETURN 00000e6f: JUMPDEST 00000e70: PUSH1 0x64 00000e72: PUSH1 0x40 00000e74: MLOAD 00000e75: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e96: DUP2 00000e97: MSTORE 00000e98: PUSH1 0x20 00000e9a: PUSH1 0x04 00000e9c: DUP3 00000e9d: ADD 00000e9e: MSTORE 00000e9f: PUSH1 0x0e 00000ea1: PUSH1 0x24 00000ea3: DUP3 00000ea4: ADD 00000ea5: MSTORE 00000ea6: PUSH32 0x415050524f56455f4641494c4544000000000000000000000000000000000000 00000ec7: PUSH1 0x44 00000ec9: DUP3 00000eca: ADD 00000ecb: MSTORE 00000ecc: REVERT 00000ecd: JUMPDEST 00000ece: CALLVALUE 00000ecf: PUSH2 0x0227 00000ed2: JUMPI 00000ed3: PUSH1 0x40 00000ed5: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000ef6: CALLDATASIZE 00000ef7: ADD 00000ef8: SLT 00000ef9: PUSH2 0x0227 00000efc: JUMPI 00000efd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f12: PUSH1 0x04 00000f14: CALLDATALOAD 00000f15: PUSH2 0x0f1d 00000f18: DUP2 00000f19: PUSH2 0x06d8 00000f1c: JUMP 00000f1d: JUMPDEST 00000f1e: AND 00000f1f: PUSH1 0x00 00000f21: MSTORE 00000f22: PUSH1 0x05 00000f24: PUSH1 0x20 00000f26: MSTORE 00000f27: PUSH1 0x40 00000f29: PUSH1 0x00 00000f2b: KECCAK256 00000f2c: PUSH1 0x24 00000f2e: CALLDATALOAD 00000f2f: PUSH1 0x00 00000f31: MSTORE 00000f32: PUSH1 0x20 00000f34: MSTORE 00000f35: PUSH1 0x20 00000f37: PUSH1 0x40 00000f39: PUSH1 0x00 00000f3b: KECCAK256 00000f3c: SLOAD 00000f3d: PUSH1 0x40 00000f3f: MLOAD 00000f40: SWAP1 00000f41: DUP2 00000f42: MSTORE 00000f43: RETURN 00000f44: JUMPDEST 00000f45: CALLVALUE 00000f46: PUSH2 0x0227 00000f49: JUMPI 00000f4a: PUSH1 0x00 00000f4c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000f6d: CALLDATASIZE 00000f6e: ADD 00000f6f: SLT 00000f70: PUSH2 0x0227 00000f73: JUMPI 00000f74: PUSH1 0x20 00000f76: PUSH1 0x40 00000f78: MLOAD 00000f79: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f8e: PUSH32 0x0000000000000000000000009fe36b2d3cc3fb56f35225c2912ee5283464842e 00000faf: AND 00000fb0: DUP2 00000fb1: MSTORE 00000fb2: RETURN 00000fb3: JUMPDEST 00000fb4: CALLVALUE 00000fb5: PUSH2 0x0227 00000fb8: JUMPI 00000fb9: PUSH1 0x20 00000fbb: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000fdc: CALLDATASIZE 00000fdd: ADD 00000fde: SLT 00000fdf: PUSH2 0x0227 00000fe2: JUMPI 00000fe3: PUSH1 0x20 00000fe5: PUSH2 0x0265 00000fe8: PUSH1 0x04 00000fea: CALLDATALOAD 00000feb: PUSH2 0x2614 00000fee: JUMP 00000fef: JUMPDEST 00000ff0: PUSH1 0x40 00000ff2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001013: CALLDATASIZE 00001014: ADD 00001015: SLT 00001016: PUSH2 0x0227 00001019: JUMPI 0000101a: PUSH1 0x04 0000101c: CALLDATALOAD 0000101d: PUSH8 0xffffffffffffffff 00001026: DUP1 00001027: DUP3 00001028: GT 00001029: PUSH2 0x0227 0000102c: JUMPI 0000102d: CALLDATASIZE 0000102e: PUSH1 0x23 00001030: DUP4 00001031: ADD 00001032: SLT 00001033: ISZERO 00001034: PUSH2 0x0227 00001037: JUMPI 00001038: DUP2 00001039: PUSH1 0x04 0000103b: ADD 0000103c: CALLDATALOAD 0000103d: SWAP1 0000103e: DUP2 0000103f: GT 00001040: PUSH2 0x0227 00001043: JUMPI 00001044: CALLDATASIZE 00001045: PUSH1 0x24 00001047: DUP3 00001048: PUSH1 0x05 0000104a: SHL 0000104b: DUP5 0000104c: ADD 0000104d: ADD 0000104e: GT 0000104f: PUSH2 0x0227 00001052: JUMPI 00001053: PUSH1 0x24 00001055: CALLDATALOAD 00001056: SWAP1 00001057: DUP2 00001058: ISZERO 00001059: ISZERO 0000105a: DUP3 0000105b: SUB 0000105c: PUSH2 0x0227 0000105f: JUMPI 00001060: PUSH1 0x24 00001062: PUSH2 0x0ae4 00001065: SWAP4 00001066: ADD 00001067: PUSH2 0x1e34 0000106a: JUMP 0000106b: JUMPDEST 0000106c: CALLVALUE 0000106d: PUSH2 0x0227 00001070: JUMPI 00001071: PUSH1 0x40 00001073: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001094: CALLDATASIZE 00001095: ADD 00001096: SLT 00001097: PUSH2 0x0227 0000109a: JUMPI 0000109b: PUSH1 0x04 0000109d: CALLDATALOAD 0000109e: PUSH2 0x10a6 000010a1: DUP2 000010a2: PUSH2 0x06d8 000010a5: JUMP 000010a6: JUMPDEST 000010a7: PUSH1 0x24 000010a9: CALLDATALOAD 000010aa: TIMESTAMP 000010ab: DUP2 000010ac: LT 000010ad: ISZERO 000010ae: PUSH2 0x10ba 000010b1: JUMPI 000010b2: PUSH2 0x0ae4 000010b5: SWAP2 000010b6: PUSH2 0x1703 000010b9: JUMP 000010ba: JUMPDEST 000010bb: PUSH1 0x64 000010bd: PUSH1 0x40 000010bf: MLOAD 000010c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000010e1: DUP2 000010e2: MSTORE 000010e3: PUSH1 0x20 000010e5: PUSH1 0x04 000010e7: DUP3 000010e8: ADD 000010e9: MSTORE 000010ea: PUSH1 0x0d 000010ec: PUSH1 0x24 000010ee: DUP3 000010ef: ADD 000010f0: MSTORE 000010f1: PUSH32 0x6c696d697420746f6f2062696700000000000000000000000000000000000000 00001112: PUSH1 0x44 00001114: DUP3 00001115: ADD 00001116: MSTORE 00001117: REVERT 00001118: JUMPDEST 00001119: CALLVALUE 0000111a: PUSH2 0x0227 0000111d: JUMPI 0000111e: PUSH1 0xc0 00001120: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001141: CALLDATASIZE 00001142: ADD 00001143: SLT 00001144: PUSH2 0x0227 00001147: JUMPI 00001148: PUSH1 0x64 0000114a: CALLDATALOAD 0000114b: PUSH1 0x04 0000114d: CALLDATALOAD 0000114e: PUSH1 0x44 00001150: CALLDATALOAD 00001151: PUSH1 0x24 00001153: CALLDATALOAD 00001154: PUSH2 0x115c 00001157: DUP5 00001158: PUSH2 0x06d8 0000115b: JUMP 0000115c: JUMPDEST 0000115d: PUSH1 0xa4 0000115f: CALLDATALOAD 00001160: PUSH1 0x84 00001162: CALLDATALOAD 00001163: PUSH2 0x117a 00001166: DUP3 00001167: DUP3 00001168: DUP9 00001169: DUP8 0000116a: DUP8 0000116b: DUP11 0000116c: PUSH2 0x1174 0000116f: TIMESTAMP 00001170: PUSH2 0x18a4 00001173: JUMP 00001174: JUMPDEST 00001175: CALLER 00001176: PUSH2 0x1a33 00001179: JUMP 0000117a: JUMPDEST 0000117b: SWAP5 0000117c: PUSH2 0x11a6 0000117f: PUSH1 0x01 00001181: PUSH2 0x119e 00001184: PUSH2 0x1197 00001187: DUP10 00001188: PUSH1 0x00 0000118a: MSTORE 0000118b: PUSH1 0x08 0000118d: PUSH1 0x20 0000118f: MSTORE 00001190: PUSH1 0x40 00001192: PUSH1 0x00 00001194: KECCAK256 00001195: SWAP1 00001196: JUMP 00001197: JUMPDEST 00001198: SLOAD 00001199: PUSH1 0xff 0000119b: AND 0000119c: SWAP1 0000119d: JUMP 0000119e: JUMPDEST 0000119f: ISZERO 000011a0: ISZERO 000011a1: EQ 000011a2: PUSH2 0x1cea 000011a5: JUMP 000011a6: JUMPDEST 000011a7: PUSH2 0x11e5 000011aa: PUSH2 0x11bd 000011ad: DUP8 000011ae: PUSH1 0x00 000011b0: MSTORE 000011b1: PUSH1 0x08 000011b3: PUSH1 0x20 000011b5: MSTORE 000011b6: PUSH1 0x40 000011b8: PUSH1 0x00 000011ba: KECCAK256 000011bb: SWAP1 000011bc: JUMP 000011bd: JUMPDEST 000011be: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000011df: DUP2 000011e0: SLOAD 000011e1: AND 000011e2: SWAP1 000011e3: SSTORE 000011e4: JUMP 000011e5: JUMPDEST 000011e6: TIMESTAMP 000011e7: DUP5 000011e8: LT 000011e9: PUSH2 0x130a 000011ec: JUMPI 000011ed: POP 000011ee: PUSH2 0x12d9 000011f1: PUSH32 0x893fd01daa6afc79c31ef343da6349fe3770d6be153aebf639378d0f1c69795e 00001212: SWAP7 00001213: PUSH2 0x12a6 00001216: PUSH2 0x1305 00001219: SWAP8 0000121a: SWAP7 0000121b: SWAP6 0000121c: PUSH2 0x126d 0000121f: PUSH2 0x12f2 00001222: SWAP7 00001223: PUSH2 0x1268 00001226: PUSH2 0x1234 00001229: PUSH2 0x12ea 0000122c: SWAP9 0000122d: PUSH1 0x04 0000122f: SLOAD 00001230: PUSH2 0x16aa 00001233: JUMP 00001234: JUMPDEST 00001235: SWAP2 00001236: PUSH2 0x1262 00001239: CALLER 0000123a: SWAP4 0000123b: DUP13 0000123c: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240 0000125d: SWAP2 0000125e: PUSH2 0x267b 00001261: JUMP 00001262: JUMPDEST 00001263: SWAP1 00001264: PUSH2 0x16aa 00001267: JUMP 00001268: JUMPDEST 00001269: PUSH2 0x2479 0000126c: JUMP 0000126d: JUMPDEST 0000126e: PUSH2 0x1297 00001271: DUP4 00001272: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001287: AND 00001288: PUSH1 0x00 0000128a: MSTORE 0000128b: PUSH1 0x05 0000128d: PUSH1 0x20 0000128f: MSTORE 00001290: PUSH1 0x40 00001292: PUSH1 0x00 00001294: KECCAK256 00001295: SWAP1 00001296: JUMP 00001297: JUMPDEST 00001298: SWAP1 00001299: PUSH1 0x00 0000129b: MSTORE 0000129c: PUSH1 0x20 0000129e: MSTORE 0000129f: PUSH1 0x40 000012a1: PUSH1 0x00 000012a3: KECCAK256 000012a4: SWAP1 000012a5: JUMP 000012a6: JUMPDEST 000012a7: PUSH2 0x12b1 000012aa: DUP7 000012ab: DUP3 000012ac: SLOAD 000012ad: PUSH2 0x16aa 000012b0: JUMP 000012b1: JUMPDEST 000012b2: SWAP1 000012b3: SSTORE 000012b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c9: AND 000012ca: PUSH1 0x00 000012cc: MSTORE 000012cd: PUSH1 0x05 000012cf: PUSH1 0x20 000012d1: MSTORE 000012d2: PUSH1 0x40 000012d4: PUSH1 0x00 000012d6: KECCAK256 000012d7: SWAP1 000012d8: JUMP 000012d9: JUMPDEST 000012da: PUSH1 0x03 000012dc: SLOAD 000012dd: PUSH1 0x00 000012df: MSTORE 000012e0: PUSH1 0x20 000012e2: MSTORE 000012e3: PUSH1 0x40 000012e5: PUSH1 0x00 000012e7: KECCAK256 000012e8: SWAP1 000012e9: JUMP 000012ea: JUMPDEST 000012eb: SWAP2 000012ec: DUP3 000012ed: SLOAD 000012ee: PUSH2 0x169d 000012f1: JUMP 000012f2: JUMPDEST 000012f3: SWAP1 000012f4: SSTORE 000012f5: JUMPDEST 000012f6: PUSH1 0x40 000012f8: MLOAD 000012f9: SWAP1 000012fa: DUP2 000012fb: MSTORE 000012fc: SWAP1 000012fd: DUP2 000012fe: SWAP1 000012ff: PUSH1 0x20 00001301: DUP3 00001302: ADD 00001303: SWAP1 00001304: JUMP 00001305: JUMPDEST 00001306: SUB 00001307: SWAP1 00001308: LOG1 00001309: STOP 0000130a: JUMPDEST 0000130b: PUSH1 0x00 0000130d: SWAP7 0000130e: POP 0000130f: SWAP2 00001310: SWAP3 00001311: PUSH32 0x0000000000000000000000000000000000000000000000000000000000278d00 00001332: SWAP2 00001333: POP 00001334: JUMPDEST 00001335: DUP1 00001336: DUP4 00001337: LT 00001338: PUSH2 0x139d 0000133b: JUMPI 0000133c: POP 0000133d: POP 0000133e: POP 0000133f: PUSH2 0x1305 00001342: SWAP3 00001343: SWAP2 00001344: PUSH2 0x1268 00001347: PUSH2 0x1398 0000134a: SWAP3 0000134b: PUSH2 0x1262 0000134e: PUSH32 0x893fd01daa6afc79c31ef343da6349fe3770d6be153aebf639378d0f1c69795e 0000136f: SWAP8 00001370: CALLER 00001371: SWAP5 00001372: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240 00001393: SWAP2 00001394: PUSH2 0x267b 00001397: JUMP 00001398: JUMPDEST 00001399: PUSH2 0x12f5 0000139c: JUMP 0000139d: JUMPDEST 0000139e: SWAP1 0000139f: SWAP2 000013a0: SWAP6 000013a1: DUP3 000013a2: PUSH2 0x13c3 000013a5: PUSH2 0x13c9 000013a8: SWAP3 000013a9: PUSH2 0x13bc 000013ac: DUP11 000013ad: PUSH1 0x00 000013af: MSTORE 000013b0: PUSH1 0x07 000013b2: PUSH1 0x20 000013b4: MSTORE 000013b5: PUSH1 0x40 000013b7: PUSH1 0x00 000013b9: KECCAK256 000013ba: SWAP1 000013bb: JUMP 000013bc: JUMPDEST 000013bd: SLOAD 000013be: SWAP1 000013bf: PUSH2 0x169d 000013c2: JUMP 000013c3: JUMPDEST 000013c4: SWAP8 000013c5: PUSH2 0x169d 000013c8: JUMP 000013c9: JUMPDEST 000013ca: SWAP2 000013cb: SWAP1 000013cc: PUSH2 0x1334 000013cf: JUMP 000013d0: JUMPDEST 000013d1: CALLVALUE 000013d2: PUSH2 0x0227 000013d5: JUMPI 000013d6: PUSH1 0x40 000013d8: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000013f9: CALLDATASIZE 000013fa: ADD 000013fb: SLT 000013fc: PUSH2 0x0227 000013ff: JUMPI 00001400: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001415: PUSH1 0x00 00001417: SWAP1 00001418: PUSH2 0x1425 0000141b: DUP2 0000141c: DUP4 0000141d: SLOAD 0000141e: AND 0000141f: CALLER 00001420: EQ 00001421: PUSH2 0x237b 00001424: JUMP 00001425: JUMPDEST 00001426: PUSH2 0x142d 00001429: PUSH2 0x2258 0000142c: JUMP 0000142d: JUMPDEST 0000142e: SWAP1 0000142f: DUP3 00001430: DUP2 00001431: PUSH32 0x00000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2 00001452: AND 00001453: SWAP2 00001454: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00001475: SWAP3 00001476: DUP1 00001477: EXTCODESIZE 00001478: ISZERO 00001479: PUSH2 0x1526 0000147c: JUMPI 0000147d: PUSH1 0x84 0000147f: DUP4 00001480: SWAP3 00001481: PUSH1 0x40 00001483: MLOAD 00001484: SWAP5 00001485: DUP6 00001486: SWAP4 00001487: DUP5 00001488: SWAP3 00001489: PUSH32 0x617ba03700000000000000000000000000000000000000000000000000000000 000014aa: DUP5 000014ab: MSTORE 000014ac: DUP9 000014ad: AND 000014ae: PUSH1 0x04 000014b0: DUP5 000014b1: ADD 000014b2: MSTORE 000014b3: PUSH1 0x04 000014b5: CALLDATALOAD 000014b6: PUSH1 0x24 000014b8: DUP5 000014b9: ADD 000014ba: MSTORE 000014bb: ADDRESS 000014bc: PUSH1 0x44 000014be: DUP5 000014bf: ADD 000014c0: MSTORE 000014c1: DUP2 000014c2: PUSH1 0x64 000014c4: DUP5 000014c5: ADD 000014c6: MSTORE 000014c7: GAS 000014c8: CALL 000014c9: DUP1 000014ca: ISZERO 000014cb: PUSH2 0x0588 000014ce: JUMPI 000014cf: PUSH2 0x1513 000014d2: JUMPI 000014d3: JUMPDEST 000014d4: POP 000014d5: PUSH2 0x14dc 000014d8: PUSH2 0x2258 000014db: JUMP 000014dc: JUMPDEST 000014dd: SWAP2 000014de: DUP1 000014df: DUP4 000014e0: LT 000014e1: PUSH2 0x14e8 000014e4: JUMPI 000014e5: DUP4 000014e6: DUP1 000014e7: RETURN 000014e8: JUMPDEST 000014e9: PUSH2 0x150c 000014ec: SWAP3 000014ed: PUSH2 0x14f5 000014f0: SWAP2 000014f1: PUSH2 0x16aa 000014f4: JUMP 000014f5: JUMPDEST 000014f6: SWAP1 000014f7: PUSH2 0x1503 000014fa: PUSH1 0x24 000014fc: CALLDATALOAD 000014fd: DUP4 000014fe: LT 000014ff: PUSH2 0x23e0 00001502: JUMP 00001503: JUMPDEST 00001504: ADDRESS 00001505: SWAP1 00001506: CALLER 00001507: SWAP1 00001508: PUSH2 0x26b7 0000150b: JUMP 0000150c: JUMPDEST 0000150d: CODESIZE 0000150e: DUP1 0000150f: DUP1 00001510: DUP4 00001511: DUP1 00001512: RETURN 00001513: JUMPDEST 00001514: DUP1 00001515: PUSH2 0x0ade 00001518: PUSH2 0x1520 0000151b: SWAP3 0000151c: PUSH2 0x19bd 0000151f: JUMP 00001520: JUMPDEST 00001521: CODESIZE 00001522: PUSH2 0x14d3 00001525: JUMP 00001526: JUMPDEST 00001527: DUP3 00001528: DUP1 00001529: REVERT 0000152a: JUMPDEST 0000152b: CALLVALUE 0000152c: PUSH2 0x0227 0000152f: JUMPI 00001530: PUSH1 0x20 00001532: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001553: CALLDATASIZE 00001554: ADD 00001555: SLT 00001556: PUSH2 0x0227 00001559: JUMPI 0000155a: PUSH1 0x04 0000155c: CALLDATALOAD 0000155d: PUSH2 0x1565 00001560: DUP2 00001561: PUSH2 0x06d8 00001564: JUMP 00001565: JUMPDEST 00001566: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000157b: SWAP1 0000157c: PUSH2 0x158a 0000157f: DUP3 00001580: PUSH1 0x00 00001582: SLOAD 00001583: AND 00001584: CALLER 00001585: EQ 00001586: PUSH2 0x237b 00001589: JUMP 0000158a: JUMPDEST 0000158b: AND 0000158c: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000015ad: PUSH1 0x01 000015af: SLOAD 000015b0: AND 000015b1: OR 000015b2: PUSH1 0x01 000015b4: SSTORE 000015b5: PUSH1 0x00 000015b7: DUP1 000015b8: RETURN 000015b9: JUMPDEST 000015ba: CALLVALUE 000015bb: PUSH2 0x0227 000015be: JUMPI 000015bf: PUSH1 0x20 000015c1: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000015e2: CALLDATASIZE 000015e3: ADD 000015e4: SLT 000015e5: PUSH2 0x0227 000015e8: JUMPI 000015e9: PUSH1 0x04 000015eb: CALLDATALOAD 000015ec: PUSH2 0x15f4 000015ef: DUP2 000015f0: PUSH2 0x06d8 000015f3: JUMP 000015f4: JUMPDEST 000015f5: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001616: PUSH1 0x00 00001618: SWAP2 00001619: DUP3 0000161a: SLOAD 0000161b: SWAP1 0000161c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001631: SWAP1 00001632: PUSH2 0x163e 00001635: DUP3 00001636: DUP5 00001637: AND 00001638: CALLER 00001639: EQ 0000163a: PUSH2 0x237b 0000163d: JUMP 0000163e: JUMPDEST 0000163f: AND 00001640: SWAP2 00001641: DUP3 00001642: SWAP2 00001643: AND 00001644: OR 00001645: DUP3 00001646: SSTORE 00001647: CALLER 00001648: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001669: DUP4 0000166a: DUP1 0000166b: LOG3 0000166c: DUP1 0000166d: RETURN 0000166e: JUMPDEST 0000166f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001690: PUSH1 0x00 00001692: MSTORE 00001693: PUSH1 0x11 00001695: PUSH1 0x04 00001697: MSTORE 00001698: PUSH1 0x24 0000169a: PUSH1 0x00 0000169c: REVERT 0000169d: JUMPDEST 0000169e: SWAP2 0000169f: SWAP1 000016a0: DUP3 000016a1: ADD 000016a2: DUP1 000016a3: SWAP3 000016a4: GT 000016a5: PUSH2 0x0664 000016a8: JUMPI 000016a9: JUMP 000016aa: JUMPDEST 000016ab: SWAP2 000016ac: SWAP1 000016ad: DUP3 000016ae: SUB 000016af: SWAP2 000016b0: DUP3 000016b1: GT 000016b2: PUSH2 0x0664 000016b5: JUMPI 000016b6: JUMP 000016b7: JUMPDEST 000016b8: DUP2 000016b9: DUP2 000016ba: MUL 000016bb: SWAP3 000016bc: SWAP2 000016bd: DUP2 000016be: ISZERO 000016bf: SWAP2 000016c0: DUP5 000016c1: DIV 000016c2: EQ 000016c3: OR 000016c4: ISZERO 000016c5: PUSH2 0x0664 000016c8: JUMPI 000016c9: JUMP 000016ca: JUMPDEST 000016cb: DUP2 000016cc: ISZERO 000016cd: PUSH2 0x16d4 000016d0: JUMPI 000016d1: DIV 000016d2: SWAP1 000016d3: JUMP 000016d4: JUMPDEST 000016d5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000016f6: PUSH1 0x00 000016f8: MSTORE 000016f9: PUSH1 0x12 000016fb: PUSH1 0x04 000016fd: MSTORE 000016fe: PUSH1 0x24 00001700: PUSH1 0x00 00001702: REVERT 00001703: JUMPDEST 00001704: PUSH2 0x172d 00001707: DUP2 00001708: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000171d: AND 0000171e: PUSH1 0x00 00001720: MSTORE 00001721: PUSH1 0x06 00001723: PUSH1 0x20 00001725: MSTORE 00001726: PUSH1 0x40 00001728: PUSH1 0x00 0000172a: KECCAK256 0000172b: SWAP1 0000172c: JUMP 0000172d: JUMPDEST 0000172e: SWAP2 0000172f: PUSH1 0x02 00001731: DUP4 00001732: ADD 00001733: SWAP2 00001734: DUP3 00001735: SLOAD 00001736: SWAP4 00001737: PUSH32 0x0000000000000000000000000000000000000000000000000000000000278d00 00001758: SWAP1 00001759: PUSH2 0x1762 0000175c: DUP3 0000175d: DUP8 0000175e: PUSH2 0x169d 00001761: JUMP 00001762: JUMPDEST 00001763: TIMESTAMP 00001764: GT 00001765: PUSH2 0x1771 00001768: JUMPI 00001769: JUMPDEST 0000176a: POP 0000176b: POP 0000176c: POP 0000176d: POP 0000176e: POP 0000176f: POP 00001770: JUMP 00001771: JUMPDEST 00001772: PUSH2 0x177a 00001775: DUP5 00001776: PUSH2 0x18a4 00001779: JUMP 0000177a: JUMPDEST 0000177b: DUP6 0000177c: PUSH2 0x1795 0000177f: JUMPI 00001780: POP 00001781: POP 00001782: PUSH1 0x03 00001784: SLOAD 00001785: SWAP4 00001786: POP 00001787: POP 00001788: POP 00001789: JUMPDEST 0000178a: SSTORE 0000178b: CODESIZE 0000178c: DUP1 0000178d: DUP1 0000178e: DUP1 0000178f: DUP1 00001790: DUP1 00001791: PUSH2 0x1769 00001794: JUMP 00001795: JUMPDEST 00001796: DUP1 00001797: SLOAD 00001798: SWAP2 00001799: PUSH1 0x01 0000179b: SWAP1 0000179c: DUP2 0000179d: DUP1 0000179e: DUP5 0000179f: ADD 000017a0: SWAP6 000017a1: PUSH2 0x17ae 000017a4: DUP8 000017a5: SLOAD 000017a6: SWAP9 000017a7: PUSH1 0x03 000017a9: SLOAD 000017aa: PUSH2 0x197d 000017ad: JUMP 000017ae: JUMPDEST 000017af: DUP3 000017b0: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240 000017d1: SWAP4 000017d2: JUMPDEST 000017d3: PUSH2 0x17e4 000017d6: JUMPI 000017d7: JUMPDEST 000017d8: POP 000017d9: POP 000017da: POP 000017db: POP 000017dc: POP 000017dd: POP 000017de: SSTORE 000017df: SSTORE 000017e0: PUSH2 0x1789 000017e3: JUMP 000017e4: JUMPDEST 000017e5: SWAP11 000017e6: DUP5 000017e7: SWAP8 000017e8: SWAP10 000017e9: SWAP2 000017ea: SWAP3 000017eb: SWAP4 000017ec: SWAP5 000017ed: SWAP6 000017ee: SWAP12 000017ef: ISZERO 000017f0: PUSH2 0x1882 000017f3: JUMPI 000017f4: JUMPDEST 000017f5: PUSH1 0x00 000017f7: SWAP2 000017f8: DUP2 000017f9: PUSH2 0x1822 000017fc: DUP7 000017fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001812: AND 00001813: PUSH1 0x00 00001815: MSTORE 00001816: PUSH1 0x05 00001818: PUSH1 0x20 0000181a: MSTORE 0000181b: PUSH1 0x40 0000181d: PUSH1 0x00 0000181f: KECCAK256 00001820: SWAP1 00001821: JUMP 00001822: JUMPDEST 00001823: PUSH1 0x00 00001825: SWAP2 00001826: DUP3 00001827: MSTORE 00001828: PUSH1 0x20 0000182a: MSTORE 0000182b: PUSH1 0x40 0000182d: SWAP1 0000182e: KECCAK256 0000182f: SLOAD 00001830: PUSH2 0x1838 00001833: SWAP2 00001834: PUSH2 0x16aa 00001837: JUMP 00001838: JUMPDEST 00001839: SWAP10 0000183a: DUP6 0000183b: PUSH2 0x184e 0000183e: DUP4 0000183f: PUSH1 0x00 00001841: MSTORE 00001842: PUSH1 0x07 00001844: PUSH1 0x20 00001846: MSTORE 00001847: PUSH1 0x40 00001849: PUSH1 0x00 0000184b: KECCAK256 0000184c: SWAP1 0000184d: JUMP 0000184e: JUMPDEST 0000184f: SLOAD 00001850: PUSH2 0x1859 00001853: SWAP1 00001854: DUP14 00001855: PUSH2 0x16b7 00001858: JUMP 00001859: JUMPDEST 0000185a: SWAP1 0000185b: PUSH2 0x1863 0000185e: SWAP2 0000185f: PUSH2 0x16ca 00001862: JUMP 00001863: JUMPDEST 00001864: PUSH2 0x186c 00001867: SWAP2 00001868: PUSH2 0x169d 0000186b: JUMP 0000186c: JUMPDEST 0000186d: SWAP8 0000186e: PUSH2 0x1876 00001871: SWAP2 00001872: PUSH2 0x169d 00001875: JUMP 00001876: JUMPDEST 00001877: SWAP11 00001878: SWAP5 00001879: SWAP4 0000187a: SWAP3 0000187b: SWAP2 0000187c: SWAP1 0000187d: DUP6 0000187e: PUSH2 0x17d2 00001881: JUMP 00001882: JUMPDEST 00001883: SWAP1 00001884: SWAP2 00001885: DUP1 00001886: SWAP4 00001887: SWAP5 00001888: SWAP6 00001889: POP 0000188a: DUP2 0000188b: LT 0000188c: ISZERO 0000188d: PUSH2 0x189b 00001890: JUMPI 00001891: SWAP1 00001892: DUP7 00001893: SWAP5 00001894: SWAP4 00001895: SWAP3 00001896: SWAP2 00001897: PUSH2 0x17f4 0000189a: JUMP 0000189b: JUMPDEST 0000189c: SWAP10 0000189d: DUP2 0000189e: SWAP9 0000189f: SWAP7 000018a0: PUSH2 0x17d7 000018a3: JUMP 000018a4: JUMPDEST 000018a5: PUSH1 0x03 000018a7: DUP1 000018a8: SLOAD 000018a9: SWAP1 000018aa: PUSH32 0x0000000000000000000000000000000000000000000000000000000000278d00 000018cb: SWAP2 000018cc: DUP3 000018cd: DUP2 000018ce: ADD 000018cf: DUP1 000018d0: SWAP2 000018d1: GT 000018d2: PUSH2 0x0664 000018d5: JUMPI 000018d6: TIMESTAMP 000018d7: GT 000018d8: PUSH2 0x18e0 000018db: JUMPI 000018dc: POP 000018dd: POP 000018de: POP 000018df: JUMP 000018e0: JUMPDEST 000018e1: PUSH2 0x1909 000018e4: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240 00001905: PUSH2 0x2614 00001908: JUMP 00001909: JUMPDEST 0000190a: SWAP3 0000190b: PUSH1 0x01 0000190d: DUP1 0000190e: DUP1 0000190f: JUMPDEST 00001910: PUSH2 0x191b 00001913: JUMPI 00001914: POP 00001915: POP 00001916: POP 00001917: POP 00001918: POP 00001919: POP 0000191a: JUMP 0000191b: JUMPDEST 0000191c: ISZERO 0000191d: PUSH2 0x1965 00001920: JUMPI 00001921: JUMPDEST 00001922: PUSH1 0x00 00001924: SWAP1 00001925: DUP6 00001926: PUSH2 0x193a 00001929: DUP6 0000192a: SLOAD 0000192b: PUSH1 0x00 0000192d: MSTORE 0000192e: PUSH1 0x07 00001930: PUSH1 0x20 00001932: MSTORE 00001933: PUSH1 0x40 00001935: PUSH1 0x00 00001937: KECCAK256 00001938: SWAP1 00001939: JUMP 0000193a: JUMPDEST 0000193b: SSTORE 0000193c: DUP4 0000193d: SLOAD 0000193e: DUP6 0000193f: DUP2 00001940: ADD 00001941: DUP1 00001942: SWAP2 00001943: GT 00001944: PUSH2 0x0664 00001947: JUMPI 00001948: PUSH1 0x03 0000194a: SSTORE 0000194b: PUSH2 0x195e 0000194e: PUSH2 0x1959 00001951: DUP8 00001952: PUSH1 0x04 00001954: SLOAD 00001955: PUSH2 0x169d 00001958: JUMP 00001959: JUMPDEST 0000195a: PUSH1 0x04 0000195c: SSTORE 0000195d: JUMP 0000195e: JUMPDEST 0000195f: SWAP1 00001960: DUP2 00001961: PUSH2 0x190f 00001964: JUMP 00001965: JUMPDEST 00001966: DUP3 00001967: SLOAD 00001968: DUP5 00001969: DUP2 0000196a: ADD 0000196b: DUP1 0000196c: SWAP2 0000196d: GT 0000196e: PUSH2 0x0664 00001971: JUMPI 00001972: DUP3 00001973: GT 00001974: PUSH2 0x1921 00001977: JUMPI 00001978: DUP1 00001979: PUSH2 0x1769 0000197c: JUMP 0000197d: JUMPDEST 0000197e: DUP2 0000197f: DUP2 00001980: GT 00001981: ISZERO 00001982: PUSH2 0x1989 00001985: JUMPI 00001986: POP 00001987: SWAP1 00001988: JUMP 00001989: JUMPDEST 0000198a: SWAP1 0000198b: POP 0000198c: SWAP1 0000198d: JUMP 0000198e: JUMPDEST 0000198f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000019b0: PUSH1 0x00 000019b2: MSTORE 000019b3: PUSH1 0x41 000019b5: PUSH1 0x04 000019b7: MSTORE 000019b8: PUSH1 0x24 000019ba: PUSH1 0x00 000019bc: REVERT 000019bd: JUMPDEST 000019be: PUSH8 0xffffffffffffffff 000019c7: DUP2 000019c8: GT 000019c9: PUSH2 0x19d1 000019cc: JUMPI 000019cd: PUSH1 0x40 000019cf: MSTORE 000019d0: JUMP 000019d1: JUMPDEST 000019d2: PUSH2 0x198e 000019d5: JUMP 000019d6: JUMPDEST 000019d7: PUSH1 0x40 000019d9: DUP2 000019da: ADD 000019db: SWAP1 000019dc: DUP2 000019dd: LT 000019de: PUSH8 0xffffffffffffffff 000019e7: DUP3 000019e8: GT 000019e9: OR 000019ea: PUSH2 0x19d1 000019ed: JUMPI 000019ee: PUSH1 0x40 000019f0: MSTORE 000019f1: JUMP 000019f2: JUMPDEST 000019f3: SWAP1 000019f4: PUSH1 0x1f 000019f6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001a17: SWAP2 00001a18: ADD 00001a19: AND 00001a1a: DUP2 00001a1b: ADD 00001a1c: SWAP1 00001a1d: DUP2 00001a1e: LT 00001a1f: PUSH8 0xffffffffffffffff 00001a28: DUP3 00001a29: GT 00001a2a: OR 00001a2b: PUSH2 0x19d1 00001a2e: JUMPI 00001a2f: PUSH1 0x40 00001a31: MSTORE 00001a32: JUMP 00001a33: JUMPDEST 00001a34: SWAP2 00001a35: SWAP5 00001a36: SWAP3 00001a37: SWAP6 00001a38: SWAP4 00001a39: SWAP1 00001a3a: SWAP6 00001a3b: PUSH1 0x40 00001a3d: MLOAD 00001a3e: SWAP6 00001a3f: PUSH1 0x20 00001a41: DUP8 00001a42: ADD 00001a43: SWAP8 00001a44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a59: DUP1 00001a5a: SWAP6 00001a5b: AND 00001a5c: DUP10 00001a5d: MSTORE 00001a5e: PUSH1 0x40 00001a60: DUP9 00001a61: ADD 00001a62: MSTORE 00001a63: PUSH1 0x60 00001a65: DUP8 00001a66: ADD 00001a67: MSTORE 00001a68: PUSH1 0x80 00001a6a: DUP7 00001a6b: ADD 00001a6c: MSTORE 00001a6d: AND 00001a6e: PUSH1 0xa0 00001a70: DUP5 00001a71: ADD 00001a72: MSTORE 00001a73: PUSH1 0xc0 00001a75: DUP4 00001a76: ADD 00001a77: MSTORE 00001a78: PUSH1 0xe0 00001a7a: DUP3 00001a7b: ADD 00001a7c: MSTORE 00001a7d: PUSH1 0xe0 00001a7f: DUP2 00001a80: MSTORE 00001a81: PUSH2 0x0100 00001a84: DUP2 00001a85: ADD 00001a86: DUP2 00001a87: DUP2 00001a88: LT 00001a89: PUSH8 0xffffffffffffffff 00001a92: DUP3 00001a93: GT 00001a94: OR 00001a95: PUSH2 0x19d1 00001a98: JUMPI 00001a99: PUSH1 0x40 00001a9b: MSTORE 00001a9c: MLOAD 00001a9d: SWAP1 00001a9e: KECCAK256 00001a9f: SWAP1 00001aa0: JUMP 00001aa1: JUMPDEST 00001aa2: ISZERO 00001aa3: PUSH2 0x1aa8 00001aa6: JUMPI 00001aa7: JUMP 00001aa8: JUMPDEST 00001aa9: PUSH1 0x64 00001aab: PUSH1 0x40 00001aad: MLOAD 00001aae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001acf: DUP2 00001ad0: MSTORE 00001ad1: PUSH1 0x20 00001ad3: PUSH1 0x04 00001ad5: DUP3 00001ad6: ADD 00001ad7: MSTORE 00001ad8: PUSH1 0x0e 00001ada: PUSH1 0x24 00001adc: DUP3 00001add: ADD 00001ade: MSTORE 00001adf: PUSH32 0x6475706c69636174656420737562000000000000000000000000000000000000 00001b00: PUSH1 0x44 00001b02: DUP3 00001b03: ADD 00001b04: MSTORE 00001b05: REVERT 00001b06: JUMPDEST 00001b07: SWAP1 00001b08: SWAP4 00001b09: SWAP2 00001b0a: DUP4 00001b0b: DUP2 00001b0c: ADD 00001b0d: SWAP1 00001b0e: DUP2 00001b0f: DUP2 00001b10: GT 00001b11: PUSH2 0x0664 00001b14: JUMPI 00001b15: PUSH2 0x1b1e 00001b18: DUP7 00001b19: DUP3 00001b1a: PUSH2 0x16ca 00001b1d: JUMP 00001b1e: JUMPDEST 00001b1f: DUP3 00001b20: PUSH2 0x1b28 00001b23: DUP2 00001b24: PUSH2 0x2445 00001b27: JUMP 00001b28: JUMPDEST 00001b29: SWAP2 00001b2a: PUSH2 0x1b55 00001b2d: DUP3 00001b2e: ADDRESS 00001b2f: CALLER 00001b30: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00001b51: PUSH2 0x26b7 00001b54: JUMP 00001b55: JUMPDEST 00001b56: PUSH1 0x03 00001b58: SLOAD 00001b59: SWAP1 00001b5a: PUSH2 0x1b83 00001b5d: SWAP1 00001b5e: PUSH32 0x0000000000000000000000000000000000000000000000000000000000278d00 00001b7f: PUSH2 0x16b7 00001b82: JUMP 00001b83: JUMPDEST 00001b84: PUSH2 0x1b8c 00001b87: SWAP2 00001b88: PUSH2 0x169d 00001b8b: JUMP 00001b8c: JUMPDEST 00001b8d: SWAP7 00001b8e: DUP8 00001b8f: PUSH2 0x1bb8 00001b92: DUP8 00001b93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ba8: AND 00001ba9: PUSH1 0x00 00001bab: MSTORE 00001bac: PUSH1 0x05 00001bae: PUSH1 0x20 00001bb0: MSTORE 00001bb1: PUSH1 0x40 00001bb3: PUSH1 0x00 00001bb5: KECCAK256 00001bb6: SWAP1 00001bb7: JUMP 00001bb8: JUMPDEST 00001bb9: PUSH1 0x00 00001bbb: SWAP2 00001bbc: DUP3 00001bbd: MSTORE 00001bbe: PUSH1 0x20 00001bc0: MSTORE 00001bc1: PUSH1 0x40 00001bc3: SWAP1 00001bc4: KECCAK256 00001bc5: DUP10 00001bc6: DUP2 00001bc7: SLOAD 00001bc8: SWAP1 00001bc9: PUSH2 0x1bd1 00001bcc: SWAP2 00001bcd: PUSH2 0x169d 00001bd0: JUMP 00001bd1: JUMPDEST 00001bd2: SWAP1 00001bd3: SSTORE 00001bd4: PUSH2 0x1bfd 00001bd7: DUP7 00001bd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bed: AND 00001bee: PUSH1 0x00 00001bf0: MSTORE 00001bf1: PUSH1 0x06 00001bf3: PUSH1 0x20 00001bf5: MSTORE 00001bf6: PUSH1 0x40 00001bf8: PUSH1 0x00 00001bfa: KECCAK256 00001bfb: SWAP1 00001bfc: JUMP 00001bfd: JUMPDEST 00001bfe: PUSH1 0x01 00001c00: ADD 00001c01: DUP10 00001c02: DUP2 00001c03: SLOAD 00001c04: SWAP1 00001c05: PUSH2 0x1c0d 00001c08: SWAP2 00001c09: PUSH2 0x169d 00001c0c: JUMP 00001c0d: JUMPDEST 00001c0e: SWAP1 00001c0f: SSTORE 00001c10: PUSH2 0x1c19 00001c13: SWAP1 00001c14: DUP4 00001c15: PUSH2 0x16b7 00001c18: JUMP 00001c19: JUMPDEST 00001c1a: SWAP1 00001c1b: PUSH2 0x1c23 00001c1e: SWAP2 00001c1f: PUSH2 0x16ca 00001c22: JUMP 00001c23: JUMPDEST 00001c24: PUSH2 0x1c4d 00001c27: DUP6 00001c28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c3d: AND 00001c3e: PUSH1 0x00 00001c40: MSTORE 00001c41: PUSH1 0x06 00001c43: PUSH1 0x20 00001c45: MSTORE 00001c46: PUSH1 0x40 00001c48: PUSH1 0x00 00001c4a: KECCAK256 00001c4b: SWAP1 00001c4c: JUMP 00001c4d: JUMPDEST 00001c4e: SWAP1 00001c4f: DUP2 00001c50: SLOAD 00001c51: SWAP1 00001c52: PUSH2 0x1c5a 00001c55: SWAP2 00001c56: PUSH2 0x169d 00001c59: JUMP 00001c5a: JUMPDEST 00001c5b: SWAP1 00001c5c: SSTORE 00001c5d: PUSH2 0x1c65 00001c60: SWAP2 00001c61: PUSH2 0x16b7 00001c64: JUMP 00001c65: JUMPDEST 00001c66: SWAP1 00001c67: PUSH2 0x1c6f 00001c6a: SWAP2 00001c6b: PUSH2 0x16ca 00001c6e: JUMP 00001c6f: JUMPDEST 00001c70: DUP1 00001c71: SWAP5 00001c72: PUSH1 0x03 00001c74: SLOAD 00001c75: SWAP3 00001c76: PUSH1 0x04 00001c78: SLOAD 00001c79: SWAP2 00001c7a: DUP7 00001c7b: CALLER 00001c7c: SWAP6 00001c7d: PUSH2 0x1c85 00001c80: SWAP7 00001c81: PUSH2 0x1a33 00001c84: JUMP 00001c85: JUMPDEST 00001c86: SWAP2 00001c87: PUSH2 0x1c9a 00001c8a: DUP4 00001c8b: PUSH1 0x00 00001c8d: MSTORE 00001c8e: PUSH1 0x08 00001c90: PUSH1 0x20 00001c92: MSTORE 00001c93: PUSH1 0x40 00001c95: PUSH1 0x00 00001c97: KECCAK256 00001c98: SWAP1 00001c99: JUMP 00001c9a: JUMPDEST 00001c9b: SLOAD 00001c9c: PUSH1 0xff 00001c9e: AND 00001c9f: ISZERO 00001ca0: PUSH2 0x1ca8 00001ca3: SWAP1 00001ca4: PUSH2 0x1aa1 00001ca7: JUMP 00001ca8: JUMPDEST 00001ca9: PUSH2 0x1cbc 00001cac: DUP4 00001cad: PUSH1 0x00 00001caf: MSTORE 00001cb0: PUSH1 0x08 00001cb2: PUSH1 0x20 00001cb4: MSTORE 00001cb5: PUSH1 0x40 00001cb7: PUSH1 0x00 00001cb9: KECCAK256 00001cba: SWAP1 00001cbb: JUMP 00001cbc: JUMPDEST 00001cbd: DUP1 00001cbe: SLOAD 00001cbf: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001ce0: AND 00001ce1: PUSH1 0x01 00001ce3: OR 00001ce4: SWAP1 00001ce5: SSTORE 00001ce6: SWAP3 00001ce7: SWAP2 00001ce8: SWAP1 00001ce9: JUMP 00001cea: JUMPDEST 00001ceb: ISZERO 00001cec: PUSH2 0x1cf1 00001cef: JUMPI 00001cf0: JUMP 00001cf1: JUMPDEST 00001cf2: PUSH1 0x64 00001cf4: PUSH1 0x40 00001cf6: MLOAD 00001cf7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001d18: DUP2 00001d19: MSTORE 00001d1a: PUSH1 0x20 00001d1c: PUSH1 0x04 00001d1e: DUP3 00001d1f: ADD 00001d20: MSTORE 00001d21: PUSH1 0x11 00001d23: PUSH1 0x24 00001d25: DUP3 00001d26: ADD 00001d27: MSTORE 00001d28: PUSH32 0x73756220646f65736e2774206578697374000000000000000000000000000000 00001d49: PUSH1 0x44 00001d4b: DUP3 00001d4c: ADD 00001d4d: MSTORE 00001d4e: REVERT 00001d4f: JUMPDEST 00001d50: SWAP1 00001d51: DUP1 00001d52: SWAP3 00001d53: SWAP2 00001d54: DUP3 00001d55: CALLDATACOPY 00001d56: ADD 00001d57: PUSH1 0x00 00001d59: DUP2 00001d5a: MSTORE 00001d5b: SWAP1 00001d5c: JUMP 00001d5d: JUMPDEST 00001d5e: PUSH8 0xffffffffffffffff 00001d67: DUP2 00001d68: GT 00001d69: PUSH2 0x19d1 00001d6c: JUMPI 00001d6d: PUSH1 0x1f 00001d6f: ADD 00001d70: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001d91: AND 00001d92: PUSH1 0x20 00001d94: ADD 00001d95: SWAP1 00001d96: JUMP 00001d97: JUMPDEST 00001d98: RETURNDATASIZE 00001d99: ISZERO 00001d9a: PUSH2 0x1dc2 00001d9d: JUMPI 00001d9e: RETURNDATASIZE 00001d9f: SWAP1 00001da0: PUSH2 0x1da8 00001da3: DUP3 00001da4: PUSH2 0x1d5d 00001da7: JUMP 00001da8: JUMPDEST 00001da9: SWAP2 00001daa: PUSH2 0x1db6 00001dad: PUSH1 0x40 00001daf: MLOAD 00001db0: SWAP4 00001db1: DUP5 00001db2: PUSH2 0x19f2 00001db5: JUMP 00001db6: JUMPDEST 00001db7: DUP3 00001db8: MSTORE 00001db9: RETURNDATASIZE 00001dba: PUSH1 0x00 00001dbc: PUSH1 0x20 00001dbe: DUP5 00001dbf: ADD 00001dc0: RETURNDATACOPY 00001dc1: JUMP 00001dc2: JUMPDEST 00001dc3: PUSH1 0x60 00001dc5: SWAP1 00001dc6: JUMP 00001dc7: JUMPDEST 00001dc8: PUSH1 0x00 00001dca: JUMPDEST 00001dcb: DUP4 00001dcc: DUP2 00001dcd: LT 00001dce: PUSH2 0x1dda 00001dd1: JUMPI 00001dd2: POP 00001dd3: POP 00001dd4: PUSH1 0x00 00001dd6: SWAP2 00001dd7: ADD 00001dd8: MSTORE 00001dd9: JUMP 00001dda: JUMPDEST 00001ddb: DUP2 00001ddc: DUP2 00001ddd: ADD 00001dde: MLOAD 00001ddf: DUP4 00001de0: DUP3 00001de1: ADD 00001de2: MSTORE 00001de3: PUSH1 0x20 00001de5: ADD 00001de6: PUSH2 0x1dca 00001de9: JUMP 00001dea: JUMPDEST 00001deb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001e0c: PUSH1 0x1f 00001e0e: PUSH1 0x40 00001e10: SWAP4 00001e11: PUSH1 0x20 00001e13: DUP5 00001e14: MSTORE 00001e15: PUSH2 0x1e2d 00001e18: DUP2 00001e19: MLOAD 00001e1a: DUP1 00001e1b: SWAP3 00001e1c: DUP2 00001e1d: PUSH1 0x20 00001e1f: DUP9 00001e20: ADD 00001e21: MSTORE 00001e22: PUSH1 0x20 00001e24: DUP9 00001e25: DUP9 00001e26: ADD 00001e27: SWAP2 00001e28: ADD 00001e29: PUSH2 0x1dc7 00001e2c: JUMP 00001e2d: JUMPDEST 00001e2e: ADD 00001e2f: AND 00001e30: ADD 00001e31: ADD 00001e32: SWAP1 00001e33: JUMP 00001e34: JUMPDEST 00001e35: SWAP2 00001e36: SWAP1 00001e37: SWAP2 00001e38: PUSH1 0x00 00001e3a: JUMPDEST 00001e3b: DUP4 00001e3c: DUP2 00001e3d: LT 00001e3e: PUSH2 0x1e47 00001e41: JUMPI 00001e42: POP 00001e43: POP 00001e44: POP 00001e45: POP 00001e46: JUMP 00001e47: JUMPDEST 00001e48: DUP1 00001e49: PUSH1 0x05 00001e4b: SHL 00001e4c: DUP3 00001e4d: ADD 00001e4e: CALLDATALOAD 00001e4f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1 00001e70: DUP4 00001e71: CALLDATASIZE 00001e72: SUB 00001e73: ADD 00001e74: DUP2 00001e75: SLT 00001e76: ISZERO 00001e77: PUSH2 0x0227 00001e7a: JUMPI 00001e7b: DUP3 00001e7c: ADD 00001e7d: DUP1 00001e7e: CALLDATALOAD 00001e7f: SWAP1 00001e80: PUSH8 0xffffffffffffffff 00001e89: DUP3 00001e8a: GT 00001e8b: PUSH2 0x0227 00001e8e: JUMPI 00001e8f: PUSH1 0x20 00001e91: ADD 00001e92: SWAP1 00001e93: DUP1 00001e94: CALLDATASIZE 00001e95: SUB 00001e96: DUP3 00001e97: SGT 00001e98: PUSH2 0x0227 00001e9b: JUMPI 00001e9c: PUSH1 0x00 00001e9e: DUP1 00001e9f: SWAP2 00001ea0: PUSH1 0x40 00001ea2: SWAP4 00001ea3: PUSH2 0x1eb0 00001ea6: DUP6 00001ea7: MLOAD 00001ea8: DUP1 00001ea9: SWAP4 00001eaa: DUP2 00001eab: SWAP4 00001eac: PUSH2 0x1d4f 00001eaf: JUMP 00001eb0: JUMPDEST 00001eb1: SUB 00001eb2: SWAP1 00001eb3: ADDRESS 00001eb4: GAS 00001eb5: DELEGATECALL 00001eb6: PUSH2 0x1ebd 00001eb9: PUSH2 0x1d97 00001ebc: JUMP 00001ebd: JUMPDEST 00001ebe: SWAP1 00001ebf: ISZERO 00001ec0: DUP1 00001ec1: PUSH2 0x1f3c 00001ec4: JUMPI 00001ec5: JUMPDEST 00001ec6: PUSH2 0x1efa 00001ec9: JUMPI 00001eca: POP 00001ecb: POP 00001ecc: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001eed: DUP2 00001eee: EQ 00001eef: PUSH2 0x0664 00001ef2: JUMPI 00001ef3: PUSH1 0x01 00001ef5: ADD 00001ef6: PUSH2 0x1e3a 00001ef9: JUMP 00001efa: JUMPDEST 00001efb: SWAP1 00001efc: PUSH2 0x1f07 00001eff: PUSH2 0x1f38 00001f02: SWAP3 00001f03: PUSH2 0x1f43 00001f06: JUMP 00001f07: JUMPDEST 00001f08: SWAP1 00001f09: MLOAD 00001f0a: SWAP2 00001f0b: DUP3 00001f0c: SWAP2 00001f0d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001f2e: DUP4 00001f2f: MSTORE 00001f30: PUSH1 0x04 00001f32: DUP4 00001f33: ADD 00001f34: PUSH2 0x1dea 00001f37: JUMP 00001f38: JUMPDEST 00001f39: SUB 00001f3a: SWAP1 00001f3b: REVERT 00001f3c: JUMPDEST 00001f3d: POP 00001f3e: DUP5 00001f3f: PUSH2 0x1ec5 00001f42: JUMP 00001f43: JUMPDEST 00001f44: PUSH1 0x44 00001f46: DUP2 00001f47: MLOAD 00001f48: LT 00001f49: PUSH2 0x1fc1 00001f4c: JUMPI 00001f4d: PUSH1 0x04 00001f4f: DUP2 00001f50: ADD 00001f51: MLOAD 00001f52: DUP2 00001f53: ADD 00001f54: SWAP1 00001f55: PUSH1 0x20 00001f57: DUP2 00001f58: PUSH1 0x24 00001f5a: DUP5 00001f5b: ADD 00001f5c: SWAP4 00001f5d: SUB 00001f5e: SLT 00001f5f: PUSH2 0x0227 00001f62: JUMPI 00001f63: PUSH1 0x24 00001f65: DUP2 00001f66: ADD 00001f67: MLOAD 00001f68: SWAP1 00001f69: PUSH8 0xffffffffffffffff 00001f72: DUP3 00001f73: GT 00001f74: PUSH2 0x0227 00001f77: JUMPI 00001f78: ADD 00001f79: DUP2 00001f7a: PUSH1 0x43 00001f7c: DUP3 00001f7d: ADD 00001f7e: SLT 00001f7f: ISZERO 00001f80: PUSH2 0x0227 00001f83: JUMPI 00001f84: PUSH1 0x24 00001f86: DUP2 00001f87: ADD 00001f88: MLOAD 00001f89: PUSH2 0x1f91 00001f8c: DUP2 00001f8d: PUSH2 0x1d5d 00001f90: JUMP 00001f91: JUMPDEST 00001f92: SWAP3 00001f93: PUSH2 0x1f9f 00001f96: PUSH1 0x40 00001f98: MLOAD 00001f99: SWAP5 00001f9a: DUP6 00001f9b: PUSH2 0x19f2 00001f9e: JUMP 00001f9f: JUMPDEST 00001fa0: DUP2 00001fa1: DUP5 00001fa2: MSTORE 00001fa3: PUSH1 0x44 00001fa5: DUP3 00001fa6: DUP5 00001fa7: ADD 00001fa8: ADD 00001fa9: GT 00001faa: PUSH2 0x0227 00001fad: JUMPI 00001fae: PUSH2 0x1fbe 00001fb1: SWAP2 00001fb2: PUSH1 0x44 00001fb4: PUSH1 0x20 00001fb6: DUP6 00001fb7: ADD 00001fb8: SWAP2 00001fb9: ADD 00001fba: PUSH2 0x1dc7 00001fbd: JUMP 00001fbe: JUMPDEST 00001fbf: SWAP1 00001fc0: JUMP 00001fc1: JUMPDEST 00001fc2: POP 00001fc3: PUSH1 0x40 00001fc5: MLOAD 00001fc6: PUSH2 0x1fce 00001fc9: DUP2 00001fca: PUSH2 0x19d6 00001fcd: JUMP 00001fce: JUMPDEST 00001fcf: PUSH1 0x1d 00001fd1: DUP2 00001fd2: MSTORE 00001fd3: PUSH32 0x5472616e73616374696f6e2072657665727465642073696c656e746c79000000 00001ff4: PUSH1 0x20 00001ff6: DUP3 00001ff7: ADD 00001ff8: MSTORE 00001ff9: SWAP1 00001ffa: JUMP 00001ffb: JUMPDEST 00001ffc: PUSH1 0x40 00001ffe: MLOAD 00001fff: RETURNDATASIZE 00002000: PUSH1 0x00 00002002: DUP3 00002003: RETURNDATACOPY 00002004: RETURNDATASIZE 00002005: SWAP1 00002006: REVERT 00002007: JUMPDEST 00002008: ISZERO 00002009: PUSH2 0x200e 0000200c: JUMPI 0000200d: JUMP 0000200e: JUMPDEST 0000200f: PUSH1 0x64 00002011: PUSH1 0x40 00002013: MLOAD 00002014: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002035: DUP2 00002036: MSTORE 00002037: PUSH1 0x20 00002039: PUSH1 0x04 0000203b: DUP3 0000203c: ADD 0000203d: MSTORE 0000203e: PUSH1 0x13 00002040: PUSH1 0x24 00002042: DUP3 00002043: ADD 00002044: MSTORE 00002045: PUSH32 0x6e6f7420726577617264526563697069656e7400000000000000000000000000 00002066: PUSH1 0x44 00002068: DUP3 00002069: ADD 0000206a: MSTORE 0000206b: REVERT 0000206c: JUMPDEST 0000206d: PUSH8 0xffffffffffffffff 00002076: DUP2 00002077: GT 00002078: PUSH2 0x19d1 0000207b: JUMPI 0000207c: PUSH1 0x05 0000207e: SHL 0000207f: PUSH1 0x20 00002081: ADD 00002082: SWAP1 00002083: JUMP 00002084: JUMPDEST 00002085: PUSH1 0x40 00002087: MLOAD 00002088: SWAP1 00002089: PUSH2 0x2091 0000208c: DUP3 0000208d: PUSH2 0x19d6 00002090: JUMP 00002091: JUMPDEST 00002092: PUSH1 0x01 00002094: DUP3 00002095: MSTORE 00002096: PUSH1 0x20 00002098: CALLDATASIZE 00002099: DUP2 0000209a: DUP5 0000209b: ADD 0000209c: CALLDATACOPY 0000209d: JUMP 0000209e: JUMPDEST 0000209f: DUP1 000020a0: MLOAD 000020a1: ISZERO 000020a2: PUSH2 0x20ab 000020a5: JUMPI 000020a6: PUSH1 0x20 000020a8: ADD 000020a9: SWAP1 000020aa: JUMP 000020ab: JUMPDEST 000020ac: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000020cd: PUSH1 0x00 000020cf: MSTORE 000020d0: PUSH1 0x32 000020d2: PUSH1 0x04 000020d4: MSTORE 000020d5: PUSH1 0x24 000020d7: PUSH1 0x00 000020d9: REVERT 000020da: JUMPDEST 000020db: DUP2 000020dc: PUSH1 0x1f 000020de: DUP3 000020df: ADD 000020e0: SLT 000020e1: ISZERO 000020e2: PUSH2 0x0227 000020e5: JUMPI 000020e6: DUP1 000020e7: MLOAD 000020e8: SWAP2 000020e9: PUSH2 0x20f1 000020ec: DUP4 000020ed: PUSH2 0x206c 000020f0: JUMP 000020f1: JUMPDEST 000020f2: SWAP3 000020f3: PUSH2 0x20ff 000020f6: PUSH1 0x40 000020f8: MLOAD 000020f9: SWAP5 000020fa: DUP6 000020fb: PUSH2 0x19f2 000020fe: JUMP 000020ff: JUMPDEST 00002100: DUP1 00002101: DUP5 00002102: MSTORE 00002103: PUSH1 0x20 00002105: SWAP3 00002106: DUP4 00002107: DUP1 00002108: DUP7 00002109: ADD 0000210a: SWAP3 0000210b: PUSH1 0x05 0000210d: SHL 0000210e: DUP3 0000210f: ADD 00002110: ADD 00002111: SWAP3 00002112: DUP4 00002113: GT 00002114: PUSH2 0x0227 00002117: JUMPI 00002118: DUP4 00002119: ADD 0000211a: SWAP1 0000211b: JUMPDEST 0000211c: DUP3 0000211d: DUP3 0000211e: LT 0000211f: PUSH2 0x2129 00002122: JUMPI 00002123: POP 00002124: POP 00002125: POP 00002126: POP 00002127: SWAP1 00002128: JUMP 00002129: JUMPDEST 0000212a: DUP2 0000212b: MLOAD 0000212c: DUP2 0000212d: MSTORE 0000212e: SWAP1 0000212f: DUP4 00002130: ADD 00002131: SWAP1 00002132: DUP4 00002133: ADD 00002134: PUSH2 0x211b 00002137: JUMP 00002138: JUMPDEST 00002139: SWAP2 0000213a: SWAP1 0000213b: SWAP2 0000213c: PUSH1 0x40 0000213e: DUP2 0000213f: DUP5 00002140: SUB 00002141: SLT 00002142: PUSH2 0x0227 00002145: JUMPI 00002146: DUP1 00002147: MLOAD 00002148: SWAP3 00002149: PUSH8 0xffffffffffffffff 00002152: SWAP4 00002153: DUP5 00002154: DUP2 00002155: GT 00002156: PUSH2 0x0227 00002159: JUMPI 0000215a: DUP3 0000215b: ADD 0000215c: SWAP4 0000215d: DUP2 0000215e: PUSH1 0x1f 00002160: DUP7 00002161: ADD 00002162: SLT 00002163: ISZERO 00002164: PUSH2 0x0227 00002167: JUMPI 00002168: DUP5 00002169: MLOAD 0000216a: PUSH2 0x2172 0000216d: DUP2 0000216e: PUSH2 0x206c 00002171: JUMP 00002172: JUMPDEST 00002173: SWAP1 00002174: PUSH2 0x2180 00002177: PUSH1 0x40 00002179: MLOAD 0000217a: SWAP3 0000217b: DUP4 0000217c: PUSH2 0x19f2 0000217f: JUMP 00002180: JUMPDEST 00002181: DUP1 00002182: DUP3 00002183: MSTORE 00002184: PUSH1 0x20 00002186: SWAP7 00002187: DUP8 00002188: DUP1 00002189: DUP5 0000218a: ADD 0000218b: SWAP3 0000218c: PUSH1 0x05 0000218e: SHL 0000218f: DUP3 00002190: ADD 00002191: ADD 00002192: SWAP2 00002193: DUP6 00002194: DUP4 00002195: GT 00002196: PUSH2 0x0227 00002199: JUMPI 0000219a: DUP9 0000219b: DUP1 0000219c: SWAP3 0000219d: ADD 0000219e: SWAP1 0000219f: JUMPDEST 000021a0: DUP4 000021a1: DUP3 000021a2: LT 000021a3: PUSH2 0x21bf 000021a6: JUMPI 000021a7: POP 000021a8: POP 000021a9: POP 000021aa: POP 000021ab: SWAP5 000021ac: DUP4 000021ad: ADD 000021ae: MLOAD 000021af: SWAP1 000021b0: DUP2 000021b1: GT 000021b2: PUSH2 0x0227 000021b5: JUMPI 000021b6: PUSH2 0x1fbe 000021b9: SWAP3 000021ba: ADD 000021bb: PUSH2 0x20da 000021be: JUMP 000021bf: JUMPDEST 000021c0: DUP3 000021c1: DUP1 000021c2: SWAP2 000021c3: DUP4 000021c4: MLOAD 000021c5: PUSH2 0x21cd 000021c8: DUP2 000021c9: PUSH2 0x06d8 000021cc: JUMP 000021cd: JUMPDEST 000021ce: DUP2 000021cf: MSTORE 000021d0: ADD 000021d1: SWAP2 000021d2: ADD 000021d3: SWAP1 000021d4: PUSH2 0x219f 000021d7: JUMP 000021d8: JUMPDEST 000021d9: SWAP1 000021da: SWAP3 000021db: SWAP2 000021dc: SWAP3 000021dd: PUSH1 0x40 000021df: DUP3 000021e0: ADD 000021e1: PUSH1 0x40 000021e3: DUP4 000021e4: MSTORE 000021e5: DUP2 000021e6: MLOAD 000021e7: DUP1 000021e8: SWAP2 000021e9: MSTORE 000021ea: PUSH1 0x60 000021ec: DUP4 000021ed: ADD 000021ee: PUSH1 0x20 000021f0: DUP1 000021f1: SWAP4 000021f2: ADD 000021f3: SWAP2 000021f4: PUSH1 0x00 000021f6: JUMPDEST 000021f7: DUP5 000021f8: DUP3 000021f9: DUP3 000021fa: LT 000021fb: PUSH2 0x221f 000021fe: JUMPI 000021ff: POP 00002200: POP 00002201: POP 00002202: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002217: SWAP2 00002218: POP 00002219: SWAP5 0000221a: AND 0000221b: SWAP2 0000221c: ADD 0000221d: MSTORE 0000221e: JUMP 0000221f: JUMPDEST 00002220: DUP5 00002221: MLOAD 00002222: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002237: AND 00002238: DUP5 00002239: MSTORE 0000223a: SWAP4 0000223b: DUP5 0000223c: ADD 0000223d: SWAP4 0000223e: SWAP1 0000223f: SWAP3 00002240: ADD 00002241: SWAP2 00002242: PUSH1 0x01 00002244: ADD 00002245: PUSH2 0x21f6 00002248: JUMP 00002249: JUMPDEST 0000224a: SWAP1 0000224b: DUP2 0000224c: PUSH1 0x20 0000224e: SWAP2 0000224f: SUB 00002250: SLT 00002251: PUSH2 0x0227 00002254: JUMPI 00002255: MLOAD 00002256: SWAP1 00002257: JUMP 00002258: JUMPDEST 00002259: PUSH1 0x40 0000225b: MLOAD 0000225c: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 0000227d: DUP1 0000227e: DUP3 0000227f: MSTORE 00002280: ADDRESS 00002281: PUSH1 0x04 00002283: DUP4 00002284: ADD 00002285: MSTORE 00002286: PUSH1 0x20 00002288: SWAP2 00002289: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000229e: SWAP2 0000229f: SWAP1 000022a0: DUP4 000022a1: DUP2 000022a2: PUSH1 0x24 000022a4: DUP2 000022a5: PUSH32 0x00000000000000000000000098c23e9d8f34fefb1b7bd6a91b7ff122f4e16f5c 000022c6: DUP8 000022c7: AND 000022c8: GAS 000022c9: STATICCALL 000022ca: SWAP2 000022cb: DUP3 000022cc: ISZERO 000022cd: PUSH2 0x0588 000022d0: JUMPI 000022d1: DUP5 000022d2: SWAP2 000022d3: PUSH1 0x00 000022d5: SWAP4 000022d6: PUSH2 0x235c 000022d9: JUMPI 000022da: JUMPDEST 000022db: POP 000022dc: PUSH1 0x40 000022de: MLOAD 000022df: SWAP1 000022e0: DUP2 000022e1: MSTORE 000022e2: ADDRESS 000022e3: PUSH1 0x04 000022e5: DUP3 000022e6: ADD 000022e7: MSTORE 000022e8: SWAP3 000022e9: DUP4 000022ea: SWAP1 000022eb: PUSH1 0x24 000022ed: SWAP1 000022ee: DUP3 000022ef: SWAP1 000022f0: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00002311: AND 00002312: GAS 00002313: STATICCALL 00002314: SWAP2 00002315: DUP3 00002316: ISZERO 00002317: PUSH2 0x0588 0000231a: JUMPI 0000231b: PUSH2 0x1fbe 0000231e: SWAP4 0000231f: PUSH1 0x00 00002321: SWAP4 00002322: PUSH2 0x232d 00002325: JUMPI 00002326: JUMPDEST 00002327: POP 00002328: POP 00002329: PUSH2 0x169d 0000232c: JUMP 0000232d: JUMPDEST 0000232e: PUSH2 0x234d 00002331: SWAP3 00002332: SWAP4 00002333: POP 00002334: DUP1 00002335: RETURNDATASIZE 00002336: LT 00002337: PUSH2 0x2355 0000233a: JUMPI 0000233b: JUMPDEST 0000233c: PUSH2 0x2345 0000233f: DUP2 00002340: DUP4 00002341: PUSH2 0x19f2 00002344: JUMP 00002345: JUMPDEST 00002346: DUP2 00002347: ADD 00002348: SWAP1 00002349: PUSH2 0x2249 0000234c: JUMP 0000234d: JUMPDEST 0000234e: SWAP1 0000234f: CODESIZE 00002350: DUP1 00002351: PUSH2 0x2326 00002354: JUMP 00002355: JUMPDEST 00002356: POP 00002357: RETURNDATASIZE 00002358: PUSH2 0x233b 0000235b: JUMP 0000235c: JUMPDEST 0000235d: PUSH2 0x2374 00002360: SWAP2 00002361: SWAP4 00002362: POP 00002363: DUP3 00002364: RETURNDATASIZE 00002365: DUP5 00002366: GT 00002367: PUSH2 0x2355 0000236a: JUMPI 0000236b: PUSH2 0x2345 0000236e: DUP2 0000236f: DUP4 00002370: PUSH2 0x19f2 00002373: JUMP 00002374: JUMPDEST 00002375: SWAP2 00002376: CODESIZE 00002377: PUSH2 0x22da 0000237a: JUMP 0000237b: JUMPDEST 0000237c: ISZERO 0000237d: PUSH2 0x2382 00002380: JUMPI 00002381: JUMP 00002382: JUMPDEST 00002383: PUSH1 0x64 00002385: PUSH1 0x40 00002387: MLOAD 00002388: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000023a9: DUP2 000023aa: MSTORE 000023ab: PUSH1 0x20 000023ad: PUSH1 0x04 000023af: DUP3 000023b0: ADD 000023b1: MSTORE 000023b2: PUSH1 0x0c 000023b4: PUSH1 0x24 000023b6: DUP3 000023b7: ADD 000023b8: MSTORE 000023b9: PUSH32 0x554e415554484f52495a45440000000000000000000000000000000000000000 000023da: PUSH1 0x44 000023dc: DUP3 000023dd: ADD 000023de: MSTORE 000023df: REVERT 000023e0: JUMPDEST 000023e1: ISZERO 000023e2: PUSH2 0x23e7 000023e5: JUMPI 000023e6: JUMP 000023e7: JUMPDEST 000023e8: PUSH1 0x64 000023ea: PUSH1 0x40 000023ec: MLOAD 000023ed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000240e: DUP2 0000240f: MSTORE 00002410: PUSH1 0x20 00002412: PUSH1 0x04 00002414: DUP3 00002415: ADD 00002416: MSTORE 00002417: PUSH1 0x0a 00002419: PUSH1 0x24 0000241b: DUP3 0000241c: ADD 0000241d: MSTORE 0000241e: PUSH32 0x3e6d6178546f50756c6c00000000000000000000000000000000000000000000 0000243f: PUSH1 0x44 00002441: DUP3 00002442: ADD 00002443: MSTORE 00002444: REVERT 00002445: JUMPDEST 00002446: PUSH1 0x02 00002448: SLOAD 00002449: SWAP2 0000244a: SWAP1 0000244b: DUP3 0000244c: PUSH2 0x2460 0000244f: JUMPI 00002450: SWAP2 00002451: JUMPDEST 00002452: DUP3 00002453: DUP2 00002454: ADD 00002455: DUP1 00002456: SWAP2 00002457: GT 00002458: PUSH2 0x0664 0000245b: JUMPI 0000245c: PUSH1 0x02 0000245e: SSTORE 0000245f: JUMP 00002460: JUMPDEST 00002461: PUSH2 0x2473 00002464: SWAP1 00002465: DUP4 00002466: PUSH2 0x246d 00002469: PUSH2 0x2258 0000246c: JUMP 0000246d: JUMPDEST 0000246e: SWAP2 0000246f: PUSH2 0x2647 00002472: JUMP 00002473: JUMPDEST 00002474: SWAP2 00002475: PUSH2 0x2451 00002478: JUMP 00002479: JUMPDEST 0000247a: PUSH2 0x2482 0000247d: DUP2 0000247e: PUSH2 0x262d 00002481: JUMP 00002482: JUMPDEST 00002483: SWAP1 00002484: PUSH1 0x02 00002486: SLOAD 00002487: SWAP1 00002488: DUP2 00002489: SUB 0000248a: SWAP1 0000248b: DUP2 0000248c: GT 0000248d: PUSH2 0x0664 00002490: JUMPI 00002491: PUSH1 0x02 00002493: SSTORE 00002494: PUSH1 0x40 00002496: MLOAD 00002497: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000024b8: DUP2 000024b9: MSTORE 000024ba: ADDRESS 000024bb: PUSH1 0x04 000024bd: DUP3 000024be: ADD 000024bf: MSTORE 000024c0: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000024e1: SWAP3 000024e2: SWAP1 000024e3: PUSH1 0x20 000024e5: DUP2 000024e6: PUSH1 0x24 000024e8: DUP2 000024e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024fe: DUP9 000024ff: AND 00002500: GAS 00002501: STATICCALL 00002502: SWAP1 00002503: DUP2 00002504: ISZERO 00002505: PUSH2 0x0588 00002508: JUMPI 00002509: PUSH1 0x00 0000250b: SWAP2 0000250c: PUSH2 0x252d 0000250f: JUMPI 00002510: JUMPDEST 00002511: POP 00002512: DUP3 00002513: GT 00002514: PUSH2 0x2522 00002517: JUMPI 00002518: PUSH2 0x2520 0000251b: SWAP3 0000251c: PUSH2 0x2787 0000251f: JUMP 00002520: JUMPDEST 00002521: JUMP 00002522: JUMPDEST 00002523: SWAP1 00002524: PUSH2 0x2520 00002527: SWAP3 00002528: POP 00002529: PUSH2 0x254b 0000252c: JUMP 0000252d: JUMPDEST 0000252e: PUSH2 0x2545 00002531: SWAP2 00002532: POP 00002533: PUSH1 0x20 00002535: RETURNDATASIZE 00002536: DUP2 00002537: GT 00002538: PUSH2 0x2355 0000253b: JUMPI 0000253c: PUSH2 0x2345 0000253f: DUP2 00002540: DUP4 00002541: PUSH2 0x19f2 00002544: JUMP 00002545: JUMPDEST 00002546: CODESIZE 00002547: PUSH2 0x2510 0000254a: JUMP 0000254b: JUMPDEST 0000254c: PUSH1 0x00 0000254e: SWAP2 0000254f: PUSH1 0x64 00002551: PUSH1 0x20 00002553: SWAP3 00002554: PUSH1 0x40 00002556: MLOAD 00002557: SWAP5 00002558: DUP6 00002559: SWAP4 0000255a: DUP5 0000255b: SWAP3 0000255c: PUSH32 0x69328dec00000000000000000000000000000000000000000000000000000000 0000257d: DUP5 0000257e: MSTORE 0000257f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002594: SWAP2 00002595: DUP3 00002596: SWAP2 00002597: DUP3 00002598: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000025b9: AND 000025ba: PUSH1 0x04 000025bc: DUP8 000025bd: ADD 000025be: MSTORE 000025bf: PUSH1 0x24 000025c1: DUP7 000025c2: ADD 000025c3: MSTORE 000025c4: AND 000025c5: PUSH1 0x44 000025c7: DUP5 000025c8: ADD 000025c9: MSTORE 000025ca: PUSH32 0x00000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2 000025eb: AND 000025ec: GAS 000025ed: CALL 000025ee: DUP1 000025ef: ISZERO 000025f0: PUSH2 0x0588 000025f3: JUMPI 000025f4: PUSH2 0x25fa 000025f7: JUMPI 000025f8: POP 000025f9: JUMP 000025fa: JUMPDEST 000025fb: PUSH2 0x2611 000025fe: SWAP1 000025ff: PUSH1 0x20 00002601: RETURNDATASIZE 00002602: DUP2 00002603: GT 00002604: PUSH2 0x2355 00002607: JUMPI 00002608: PUSH2 0x2345 0000260b: DUP2 0000260c: DUP4 0000260d: PUSH2 0x19f2 00002610: JUMP 00002611: JUMPDEST 00002612: POP 00002613: JUMP 00002614: JUMPDEST 00002615: PUSH1 0x02 00002617: SLOAD 00002618: DUP1 00002619: PUSH2 0x2620 0000261c: JUMPI 0000261d: POP 0000261e: SWAP1 0000261f: JUMP 00002620: JUMPDEST 00002621: SWAP1 00002622: PUSH2 0x1fbe 00002625: SWAP2 00002626: PUSH2 0x246d 00002629: PUSH2 0x2258 0000262c: JUMP 0000262d: JUMPDEST 0000262e: PUSH1 0x02 00002630: SLOAD 00002631: DUP1 00002632: PUSH2 0x2639 00002635: JUMPI 00002636: POP 00002637: SWAP1 00002638: JUMP 00002639: JUMPDEST 0000263a: PUSH2 0x1fbe 0000263d: SWAP2 0000263e: PUSH2 0x2645 00002641: PUSH2 0x2258 00002644: JUMP 00002645: JUMPDEST 00002646: SWAP1 00002647: JUMPDEST 00002648: DUP2 00002649: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000266a: DIV 0000266b: DUP2 0000266c: GT 0000266d: DUP3 0000266e: MUL 0000266f: ISZERO 00002670: DUP4 00002671: MUL 00002672: ISZERO 00002673: PUSH2 0x0227 00002676: JUMPI 00002677: MUL 00002678: DIV 00002679: SWAP1 0000267a: JUMP 0000267b: JUMPDEST 0000267c: DUP2 0000267d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000269e: DIV 0000269f: DUP2 000026a0: GT 000026a1: DUP3 000026a2: MUL 000026a3: ISZERO 000026a4: DUP4 000026a5: MUL 000026a6: ISZERO 000026a7: PUSH2 0x0227 000026aa: JUMPI 000026ab: MUL 000026ac: SWAP1 000026ad: DUP1 000026ae: DUP3 000026af: DIV 000026b0: SWAP2 000026b1: MOD 000026b2: ISZERO 000026b3: ISZERO 000026b4: ADD 000026b5: SWAP1 000026b6: JUMP 000026b7: JUMPDEST 000026b8: SWAP2 000026b9: PUSH1 0x00 000026bb: DUP1 000026bc: SWAP4 000026bd: PUSH1 0x20 000026bf: SWAP6 000026c0: PUSH1 0x64 000026c2: SWAP5 000026c3: PUSH1 0x40 000026c5: MLOAD 000026c6: SWAP5 000026c7: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 000026e8: DUP7 000026e9: MSTORE 000026ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026ff: DUP1 00002700: SWAP3 00002701: AND 00002702: PUSH1 0x04 00002704: DUP8 00002705: ADD 00002706: MSTORE 00002707: AND 00002708: PUSH1 0x24 0000270a: DUP6 0000270b: ADD 0000270c: MSTORE 0000270d: PUSH1 0x44 0000270f: DUP5 00002710: ADD 00002711: MSTORE 00002712: GAS 00002713: CALL 00002714: RETURNDATASIZE 00002715: ISZERO 00002716: PUSH1 0x1f 00002718: RETURNDATASIZE 00002719: GT 0000271a: PUSH1 0x01 0000271c: PUSH1 0x00 0000271e: MLOAD 0000271f: EQ 00002720: AND 00002721: OR 00002722: AND 00002723: ISZERO 00002724: PUSH2 0x2729 00002727: JUMPI 00002728: JUMP 00002729: JUMPDEST 0000272a: PUSH1 0x64 0000272c: PUSH1 0x40 0000272e: MLOAD 0000272f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002750: DUP2 00002751: MSTORE 00002752: PUSH1 0x20 00002754: PUSH1 0x04 00002756: DUP3 00002757: ADD 00002758: MSTORE 00002759: PUSH1 0x14 0000275b: PUSH1 0x24 0000275d: DUP3 0000275e: ADD 0000275f: MSTORE 00002760: PUSH32 0x5452414e534645525f46524f4d5f4641494c4544000000000000000000000000 00002781: PUSH1 0x44 00002783: DUP3 00002784: ADD 00002785: MSTORE 00002786: REVERT 00002787: JUMPDEST 00002788: PUSH1 0x00 0000278a: SWAP2 0000278b: DUP3 0000278c: PUSH1 0x44 0000278e: SWAP3 0000278f: PUSH1 0x20 00002791: SWAP6 00002792: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027a7: PUSH1 0x40 000027a9: MLOAD 000027aa: SWAP5 000027ab: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000027cc: DUP7 000027cd: MSTORE 000027ce: AND 000027cf: PUSH1 0x04 000027d1: DUP6 000027d2: ADD 000027d3: MSTORE 000027d4: PUSH1 0x24 000027d6: DUP5 000027d7: ADD 000027d8: MSTORE 000027d9: GAS 000027da: CALL 000027db: RETURNDATASIZE 000027dc: ISZERO 000027dd: PUSH1 0x1f 000027df: RETURNDATASIZE 000027e0: GT 000027e1: PUSH1 0x01 000027e3: PUSH1 0x00 000027e5: MLOAD 000027e6: EQ 000027e7: AND 000027e8: OR 000027e9: AND 000027ea: ISZERO 000027eb: PUSH2 0x27f0 000027ee: JUMPI 000027ef: JUMP 000027f0: JUMPDEST 000027f1: PUSH1 0x64 000027f3: PUSH1 0x40 000027f5: MLOAD 000027f6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002817: DUP2 00002818: MSTORE 00002819: PUSH1 0x20 0000281b: PUSH1 0x04 0000281d: DUP3 0000281e: ADD 0000281f: MSTORE 00002820: PUSH1 0x0f 00002822: PUSH1 0x24 00002824: DUP3 00002825: ADD 00002826: MSTORE 00002827: PUSH32 0x5452414e534645525f4641494c45440000000000000000000000000000000000 00002848: PUSH1 0x44 0000284a: DUP3 0000284b: ADD 0000284c: MSTORE 0000284d: REVERT 0000284e: JUMPDEST 0000284f: PUSH1 0x44 00002851: PUSH1 0x20 00002853: SWAP3 00002854: PUSH1 0x00 00002856: DUP1 00002857: SWAP4 00002858: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000286d: PUSH1 0x40 0000286f: MLOAD 00002870: SWAP4 00002871: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00002892: DUP6 00002893: MSTORE 00002894: AND 00002895: PUSH1 0x04 00002897: DUP5 00002898: ADD 00002899: MSTORE 0000289a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000028bb: PUSH1 0x24 000028bd: DUP5 000028be: ADD 000028bf: MSTORE 000028c0: GAS 000028c1: CALL 000028c2: RETURNDATASIZE 000028c3: ISZERO 000028c4: PUSH1 0x1f 000028c6: RETURNDATASIZE 000028c7: GT 000028c8: PUSH1 0x01 000028ca: PUSH1 0x00 000028cc: MLOAD 000028cd: EQ 000028ce: AND 000028cf: OR 000028d0: AND 000028d1: ISZERO 000028d2: PUSH2 0x0e6f 000028d5: JUMPI 000028d6: JUMP 000028d7: INVALID 000028d8: LOG2 000028d9: PUSH5 0x6970667358 000028df: UNKNOWN(0x22) 000028e0: SLT 000028e1: KECCAK256 000028e2: DIV 000028e3: SAR 000028e4: UNKNOWN(0xE1) 000028e5: MULMOD 000028e6: UNKNOWN(0x2D) 000028e7: BASEFEE 000028e8: SELFDESTRUCT 000028e9: CLZ 000028ea: PUSH9 0x5d8ac6a031787d0bcd 000028f4: UNKNOWN(0xE5) 000028f5: SELFBALANCE 000028f6: UNKNOWN(0xBA) 000028f7: STATICCALL 000028f8: UNKNOWN(0xE3) 000028f9: SAR 000028fa: UNKNOWN(0x2D) 000028fb: CREATE 000028fc: UNKNOWN(0x2D) 000028fd: UNKNOWN(0xC9) 000028fe: UNKNOWN(0xC1) 000028ff: UNKNOWN(0xAB) 00002900: SWAP14 00002901: SWAP5 00002902: PUSH5 0x736f6c6343 00002908: STOP 00002909: ADDMOD 0000290a: SGT 0000290b: STOP 0000290c: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| high | math | codex | ERC4626-style share inflation lets early depositor steal later deposits | 85 | no | — |
viewevidence_json{
"evidence": "BaseAdapter deposit/convertToShares uses totalAssets and totalSupply directly with no on-chain seed share defense; comment explicitly notes ERC4626 inflation risk.",
"locations": [
"contracts/yield/BaseAdapter.sol:72",
"contracts/yield/BaseAdapter.sol:91"
],
"recommendation": "Enforce the initial share seeding/virtual share defense inside the adapter (mint+burn seed shares or use virtual shares) rather than relying on an external factory, or hard-block direct asset donations from affecting share price accounting.",
"exploit_scenario": "An attacker makes the first tiny subscription to mint a minimal number of shares, then transfers a large amount of assets directly to the contract (not via subscribe), inflating totalAssets without increasing totalSupply. Subsequent subscribers mint zero/near-zero shares because shares = assets * totalSupply / totalAssets rounds down. The attacker later redeems their shares to withdraw all assets, including victims\u2019 deposits."
}
|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | yes | yes |
viewtrace_id: 0x68ee6b01411814d851bc672b064df4b465c2d0cd5d67526234af294e1c7fd8f6
call_targets:
0x43506849d7c04f9138d1a2050bbf3a0c054402dd, 0x97287a4f35e583d924f78ad88db8afce1379189a, 0xb76cf0f1d2e1a606c14044607c8c44878aae7186
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x68ee6b01411814d851bc672b064df4b465c2d0cd5d67526234af294e1c7fd8f6",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x43506849d7c04f9138d1a2050bbf3a0c054402dd",
"0x97287a4f35e583d924f78ad88db8afce1379189a",
"0xb76cf0f1d2e1a606c14044607c8c44878aae7186"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06040618",
"selector": "0x06040618",
"calldata_variants": [
"0x06040618",
"0x060406180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1468026d",
"selector": "0x1468026d",
"calldata_variants": [
"0x1468026d",
"0x1468026d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f33340",
"selector": "0x17f33340",
"calldata_variants": [
"0x17f33340",
"0x17f333400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19d10f09",
"selector": "0x19d10f09",
"calldata_variants": [
"0x19d10f09",
"0x19d10f090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3410fe6e",
"selector": "0x3410fe6e",
"calldata_variants": [
"0x3410fe6e",
"0x3410fe6e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7861,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 1191,
"type": "msg_sender_eq_const",
"value": 1196
}
],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xaf5f13881c6aa948d1156c27fea8a7bff7fb64ed8c9c563e811e6e7553fe8b18
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xaf5f13881c6aa948d1156c27fea8a7bff7fb64ed8c9c563e811e6e7553fe8b18",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06040618",
"selector": "0x06040618",
"calldata_variants": [
"0x06040618",
"0x060406180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1468026d",
"selector": "0x1468026d",
"calldata_variants": [
"0x1468026d",
"0x1468026d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f33340",
"selector": "0x17f33340",
"calldata_variants": [
"0x17f33340",
"0x17f333400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19d10f09",
"selector": "0x19d10f09",
"calldata_variants": [
"0x19d10f09",
"0x19d10f090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3410fe6e",
"selector": "0x3410fe6e",
"calldata_variants": [
"0x3410fe6e",
"0x3410fe6e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 0
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x68ee6b01411814d851bc672b064df4b465c2d0cd5d67526234af294e1c7fd8f6
call_targets:
0x15a86c79665b61a5747563d83aed3337821a8a79
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x68ee6b01411814d851bc672b064df4b465c2d0cd5d67526234af294e1c7fd8f6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x15a86c79665b61a5747563d83aed3337821a8a79"
],
"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": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06040618",
"selector": "0x06040618",
"calldata_variants": [
"0x06040618",
"0x060406180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1468026d",
"selector": "0x1468026d",
"calldata_variants": [
"0x1468026d",
"0x1468026d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f33340",
"selector": "0x17f33340",
"calldata_variants": [
"0x17f33340",
"0x17f333400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19d10f09",
"selector": "0x19d10f09",
"calldata_variants": [
"0x19d10f09",
"0x19d10f090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3410fe6e",
"selector": "0x3410fe6e",
"calldata_variants": [
"0x3410fe6e",
"0x3410fe6e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1370,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2757,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3664,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 8,
"guards_detected": [
{
"pc": 1191,
"type": "msg_sender_eq_const",
"value": 1196
}
]
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0xaf5f13881c6aa948d1156c27fea8a7bff7fb64ed8c9c563e811e6e7553fe8b18
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xaf5f13881c6aa948d1156c27fea8a7bff7fb64ed8c9c563e811e6e7553fe8b18",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06040618",
"selector": "0x06040618",
"calldata_variants": [
"0x06040618",
"0x060406180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1468026d",
"selector": "0x1468026d",
"calldata_variants": [
"0x1468026d",
"0x1468026d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f33340",
"selector": "0x17f33340",
"calldata_variants": [
"0x17f33340",
"0x17f333400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19d10f09",
"selector": "0x19d10f09",
"calldata_variants": [
"0x19d10f09",
"0x19d10f090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3410fe6e",
"selector": "0x3410fe6e",
"calldata_variants": [
"0x3410fe6e",
"0x3410fe6e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 1191,
"type": "msg_sender_eq_const",
"value": 1196
}
],
"selfdestruct_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x68ee6b01411814d851bc672b064df4b465c2d0cd5d67526234af294e1c7fd8f6
call_targets:
0x15a86c79665b61a5747563d83aed3337821a8a79
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x68ee6b01411814d851bc672b064df4b465c2d0cd5d67526234af294e1c7fd8f6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x15a86c79665b61a5747563d83aed3337821a8a79"
],
"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": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06040618",
"selector": "0x06040618",
"calldata_variants": [
"0x06040618",
"0x060406180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1468026d",
"selector": "0x1468026d",
"calldata_variants": [
"0x1468026d",
"0x1468026d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f33340",
"selector": "0x17f33340",
"calldata_variants": [
"0x17f33340",
"0x17f333400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19d10f09",
"selector": "0x19d10f09",
"calldata_variants": [
"0x19d10f09",
"0x19d10f090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3410fe6e",
"selector": "0x3410fe6e",
"calldata_variants": [
"0x3410fe6e",
"0x3410fe6e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1370,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2757,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3664,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [
{
"pc": 1191,
"type": "msg_sender_eq_const",
"value": 1196
}
],
"untrusted_call_count": 8
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 12
}
|