019bab3b-aa50-70a2-8a41-e573c49b0a5e
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 |
|---|---|---|---|---|
| 38296 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38297 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38298 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38299 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38300 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38301 | detector.run | complete | 1 / 3 | 3 months ago |
| 38302 | validation.fork | complete | 1 / 3 | 3 months ago |
| 38945 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 38946 | tool.slither | complete | 1 / 2 | 3 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-oj00dfb5) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-oj00dfb5) SquirrelStash.withdrawEthInternal(address,uint256) (contracts/Contract.sol#252-261) sends eth to arbitrary user Dangerous calls: - recipient.transfer(amount) (contracts/Contract.sol#260-261) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations SquirrelStash (contracts/Contract.sol#9-337) contract sets array length with a user-controlled value: - admins.push(squirrel) (contracts/Contract.sol#70-73) SquirrelStash (contracts/Contract.sol#9-337) contract sets array length with a user-controlled value: - history.push(History(plugin,msg.sender,ACTION_ADD_PLUGIN,STATE_PENDING,0,uint48(now),eta,false,false)) (contracts/Contract.sol#313-316) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#array-length-assignment SquirrelStash.withdrawTokenInternal(address,address,uint256) (contracts/Contract.sol#236-245) ignores return value by ERC20(token).transfer(recipient,amount) (contracts/Contract.sol#245) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer Reentrancy in SquirrelStash.whitelistPlugin(address) (contracts/Contract.sol#303-316): External calls: - require(bool)(plugins.isValid(candidateFactory)) (contracts/Contract.sol#304-309) - plugin = factory.createPlugin() (contracts/Contract.sol#312-313) State variables written after the call(s): - history.push(History(plugin,msg.sender,ACTION_ADD_PLUGIN,STATE_PENDING,0,uint48(now),eta,false,false)) (contracts/Contract.sol#313-316) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2 SquirrelStash.triggerWhiteListApproval(uint256,bool) (contracts/Contract.sol#83-95) uses timestamp for comparisons Dangerous comparisons: - require(bool)(pending.action == ACTION_ADD_RECIPIENT) (contracts/Contract.sol#87-88) - require(bool)(pending.state == STATE_PENDING) (contracts/Contract.sol#88-89) - pending.eta > 0 && pending.eta < now (contracts/Contract.sol#91-92) SquirrelStash.triggerPasswordUpdate(uint256,bool) (contracts/Contract.sol#130-146) uses timestamp for comparisons Dangerous comparisons: - require(bool)(pending.action == ACTION_EDIT_PASSWORD) (contracts/Contract.sol#133) - require(bool)(pending.state == STATE_PENDING) (contracts/Contract.sol#133-134) - require(bool)(pending.eta > 0 && pending.eta < now) (contracts/Contract.sol#136-138) SquirrelStash.triggerAdminRemoval(uint256,bool) (contracts/Contract.sol#162-181) uses timestamp for comparisons Dangerous comparisons: - require(bool)(pending.action == ACTION_EDIT_ADMIN) (contracts/Contract.sol#163-167) - require(bool)(pending.state == STATE_PENDING) (contracts/Contract.sol#167) - require(bool)(pending.recipient != msg.sender) (contracts/Contract.sol#169-170) - require(bool)(pending.eta > 0 && pending.eta < now) (contracts/Contract.sol#172-173) SquirrelStash.triggerLimitUpdate(uint256,bool) (contracts/Contract.sol#192-206) uses timestamp for comparisons Dangerous comparisons: - require(bool)(pending.action == ACTION_EDIT_LIMIT) (contracts/Contract.sol#193-194) - require(bool)(pending.state == STATE_PENDING) (contracts/Contract.sol#195-196) - require(bool)(pending.eta > 0 && pending.eta < now) (contracts/Contract.sol#198-199) SquirrelStash.triggerDelayUpdate(uint256,bool) (contracts/Contract.sol#216-225) uses timestamp for comparisons Dangerous comparisons: - require(bool)(pending.action == ACTION_EDIT_DELAY) (contracts/Contract.sol#218) - require(bool)(pending.state == STATE_PENDING) (contracts/Contract.sol#218-221) - require(bool)(pending.eta > 0 && pending.eta < now) (contracts/Contract.sol#222-223) SquirrelStash.validateLimits(address,address,uint256) (contracts/Contract.sol#264-281) uses timestamp for comparisons Dangerous comparisons: - limitEpochEnds[recipient][token] < now (contracts/Contract.sol#271-274) SquirrelStash.triggerPluginApproval(uint256,bool) (contracts/Contract.sol#316-326) uses timestamp for comparisons Dangerous comparisons: - require(bool)(pending.action == ACTION_ADD_PLUGIN) (contracts/Contract.sol#319) - require(bool)(pending.state == STATE_PENDING) (contracts/Contract.sol#320) - pending.eta > 0 && pending.eta < now (contracts/Contract.sol#323) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp Version constraint ^0.4.25 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - DirtyBytesArrayToStorage - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - privateCanBeOverridden - SignedArrayStorageCopy - ABIEncoderV2StorageArrayWithMultiSlotElement - DynamicConstructorArgumentsClippedABIV2 - UninitializedFunctionPointerInConstructor_0.4.x - IncorrectEventSignatureInLibraries_0.4.x - ABIEncoderV2PackedStorage_0.4.x. It is used by: - ^0.4.25 (contracts/Contract.sol#1) solc-0.4.25 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity Variable SquirrelStash.DELAY_TIMER (contracts/Contract.sol#40-41) is not in mixedCase Constant SquirrelStash.plugins (contracts/Contract.sol#299-303) is not in UPPER_CASE_WITH_UNDERSCORES Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions . analyzed (4 contracts with 100 detectors), 16 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.4.25",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.4.25",
"install_stderr": null,
"install_stdout": "Installing solc '0.4.25'...\nVersion '0.4.25' installed."
},
"solc_args": "--base-path /tmp/slither-oj00dfb5 --allow-paths /tmp/slither-oj00dfb5,/tmp/slither-oj00dfb5/lib,/tmp/slither-oj00dfb5/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 16,
"workspace_hash": "090b4a5fc8f7046f4ad44b3533a7cbe4694a945e10ffc8d24e590fbe19830636",
"duration_seconds": 1.0301377773284912,
"solc_version_requested": "0.4.26"
}
{"no_findings":false,"summary":"Found access-control list index corruption on admin/whitelist removal plus an unchecked ERC20 transfer return that can break accounting.","findings":[{"severity":"medium","category":"access_control","title":"Admin removal corrupts index mapping, making some admins non-removable","exploit_scenario":"When an admin is removed, the last admin in the array is moved into the deleted slot but their index in adminAddresses is never updated. That admin remains recognized as an admin (mapping > 0) yet any future attempt to remove them uses a stale index and can revert, effectively making them permanently privileged.","recommendation":"After swapping in the last admin, update adminAddresses[movedAdmin] to the new index (adminIndex + 1).","evidence":"triggerAdminRemoval swaps admins[adminIndex] with admins[numAdmins-1] but does not update adminAddresses for the swapped address.","locations":["contracts/Contract.sol:177","contracts/Contract.sol:180"]},{"severity":"low","category":"access_control","title":"Whitelist removal corrupts index mapping, making some recipients non-removable","exploit_scenario":"Removing a whitelisted recipient swaps in the last array element without updating that address's stored index. Later removal of the moved address can revert or remove the wrong entry, leaving it permanently whitelisted and able to receive withdrawals.","recommendation":"When swapping whitelist entries, update whitelistedAddress[moved].index to the new position (index).","evidence":"updateCandidate swaps whitelist[index-1] with the last element but does not update whitelistedAddress for the moved address.","locations":["contracts/Contract.sol:115","contracts/Contract.sol:118"]},{"severity":"low","category":"other","title":"Unchecked ERC20 transfer return in token withdrawals","exploit_scenario":"A non-standard or failing ERC20 can return false on transfer. The contract still logs the withdrawal and consumes daily limits, but no tokens are moved. This creates inconsistent accounting and can lock users out of withdrawals for the day.","recommendation":"Require the transfer return value or use a safe transfer helper that handles non-standard ERC20s.","evidence":"withdrawTokenInternal calls ERC20(token).transfer(recipient, amount) without checking the return value.","locations":["contracts/Contract.sol:248"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-hhpzqhqb
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab54-a0ea-7b01-8c8d-82ddba2d8760
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-hhpzqhqb succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.4.25;
/**
*
* "Stash" (v0.2 beta)
* A simple tool for a personal smart contract wallet to help protect your assets.
*
* For more info checkout: https://squirrel.finance
*
*/
contract SquirrelStash {
mapping(address => uint256) public adminAddresses; // Can withdraw to whitelisted addresses only
thinking
**Reviewing security audit findings**
This audit inspects potential issues like missing return checks on token transfers, bugs in whitelist and admin removal causing stuck states, and possible reentrancy concerns, concluding mostly low or medium severity risks grounded in access control and logic errors; I'll need to extract specific file locations and line numbers next.
exec
/bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-hhpzqhqb succeeded in 7ms:
1 pragma solidity ^0.4.25;
2
3 /**
4 *
5 * "Stash" (v0.2 beta)
6 * A simple tool for a personal smart contract wallet to help protect your assets.
7 *
8 * For more info checkout: https://squirrel.finance
9 *
10 */
11
12 contract SquirrelStash {
13
14 mapping(address => uint256) public adminAddresses; // Can withdraw to whitelisted addresses only
15 address[] public admins;
16
17 address[] public whitelist;
18 mapping(address => Whitelisted) public whitelistedAddress;
19 mapping(address => bytes32) private addressPasswords; // Hashed
20 mapping(uint256 => bytes32) private pendingPasswords;
thinking
**Summarizing findings and scenarios**
I'll summarize the main findings around admin and whitelist removal bugs causing stuck entries and access control risks, plus an unchecked ERC20 transfer return that may cause mismatches. Then I’ll create JSON output with a concise summary and example exploit scenarios for each issue.
codex
{"no_findings":false,"summary":"Found access-control list index corruption on admin/whitelist removal plus an unchecked ERC20 transfer return that can break accounting.","findings":[{"severity":"medium","category":"access_control","title":"Admin removal corrupts index mapping, making some admins non-removable","exploit_scenario":"When an admin is removed, the last admin in the array is moved into the deleted slot but their index in adminAddresses is never updated. That admin remains recognized as an admin (mapping > 0) yet any future attempt to remove them uses a stale index and can revert, effectively making them permanently privileged.","recommendation":"After swapping in the last admin, update adminAddresses[movedAdmin] to the new index (adminIndex + 1).","evidence":"triggerAdminRemoval swaps admins[adminIndex] with admins[numAdmins-1] but does not update adminAddresses for the swapped address.","locations":["contracts/Contract.sol:177","contracts/Contract.sol:180"]},{"severity":"low","category":"access_control","title":"Whitelist removal corrupts index mapping, making some recipients non-removable","exploit_scenario":"Removing a whitelisted recipient swaps in the last array element without updating that address's stored index. Later removal of the moved address can revert or remove the wrong entry, leaving it permanently whitelisted and able to receive withdrawals.","recommendation":"When swapping whitelist entries, update whitelistedAddress[moved].index to the new position (index).","evidence":"updateCandidate swaps whitelist[index-1] with the last element but does not update whitelistedAddress for the moved address.","locations":["contracts/Contract.sol:115","contracts/Contract.sol:118"]},{"severity":"low","category":"other","title":"Unchecked ERC20 transfer return in token withdrawals","exploit_scenario":"A non-standard or failing ERC20 can return false on transfer. The contract still logs the withdrawal and consumes daily limits, but no tokens are moved. This creates inconsistent accounting and can lock users out of withdrawals for the day.","recommendation":"Require the transfer return value or use a safe transfer helper that handles non-standard ERC20s.","evidence":"withdrawTokenInternal calls ERC20(token).transfer(recipient, amount) without checking the return value.","locations":["contracts/Contract.sol:248"]}]}
tokens used
19,080
{
"codex": {
"ran_at": "2026-01-11T04:34:23.901251+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Found access-control list index corruption on admin/whitelist removal plus an unchecked ERC20 transfer return that can break accounting.",
"raw_final": {
"summary": "Found access-control list index corruption on admin/whitelist removal plus an unchecked ERC20 transfer return that can break accounting.",
"findings": [
{
"title": "Admin removal corrupts index mapping, making some admins non-removable",
"category": "access_control",
"evidence": "triggerAdminRemoval swaps admins[adminIndex] with admins[numAdmins-1] but does not update adminAddresses for the swapped address.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:177",
"contracts/Contract.sol:180"
],
"recommendation": "After swapping in the last admin, update adminAddresses[movedAdmin] to the new index (adminIndex + 1).",
"exploit_scenario": "When an admin is removed, the last admin in the array is moved into the deleted slot but their index in adminAddresses is never updated. That admin remains recognized as an admin (mapping > 0) yet any future attempt to remove them uses a stale index and can revert, effectively making them permanently privileged."
},
{
"title": "Whitelist removal corrupts index mapping, making some recipients non-removable",
"category": "access_control",
"evidence": "updateCandidate swaps whitelist[index-1] with the last element but does not update whitelistedAddress for the moved address.",
"severity": "low",
"locations": [
"contracts/Contract.sol:115",
"contracts/Contract.sol:118"
],
"recommendation": "When swapping whitelist entries, update whitelistedAddress[moved].index to the new position (index).",
"exploit_scenario": "Removing a whitelisted recipient swaps in the last array element without updating that address's stored index. Later removal of the moved address can revert or remove the wrong entry, leaving it permanently whitelisted and able to receive withdrawals."
},
{
"title": "Unchecked ERC20 transfer return in token withdrawals",
"category": "other",
"evidence": "withdrawTokenInternal calls ERC20(token).transfer(recipient, amount) without checking the return value.",
"severity": "low",
"locations": [
"contracts/Contract.sol:248"
],
"recommendation": "Require the transfer return value or use a safe transfer helper that handles non-standard ERC20s.",
"exploit_scenario": "A non-standard or failing ERC20 can return false on transfer. The contract still logs the withdrawal and consumes daily limits, but no tokens are moved. This creates inconsistent accounting and can lock users out of withdrawals for the day."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01df 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH1 0xe0 00000014: PUSH1 0x02 00000016: EXP 00000017: PUSH1 0x00 00000019: CALLDATALOAD 0000001a: DIV 0000001b: AND 0000001c: PUSH4 0x01e33667 00000021: DUP2 00000022: EQ 00000023: PUSH2 0x01e1 00000026: JUMPI 00000027: DUP1 00000028: PUSH4 0x0ef21afe 0000002d: EQ 0000002e: PUSH2 0x020b 00000031: JUMPI 00000032: DUP1 00000033: PUSH4 0x14bfd6d0 00000038: EQ 00000039: PUSH2 0x0236 0000003c: JUMPI 0000003d: DUP1 0000003e: PUSH4 0x15f2f26c 00000043: EQ 00000044: PUSH2 0x026a 00000047: JUMPI 00000048: DUP1 00000049: PUSH4 0x1b9a91a4 0000004e: EQ 0000004f: PUSH2 0x029f 00000052: JUMPI 00000053: DUP1 00000054: PUSH4 0x1e112751 00000059: EQ 0000005a: PUSH2 0x02c3 0000005d: JUMPI 0000005e: DUP1 0000005f: PUSH4 0x22061551 00000064: EQ 00000065: PUSH2 0x02f4 00000068: JUMPI 00000069: DUP1 0000006a: PUSH4 0x373b40d5 0000006f: EQ 00000070: PUSH2 0x031b 00000073: JUMPI 00000074: DUP1 00000075: PUSH4 0x408a184f 0000007a: EQ 0000007b: PUSH2 0x0338 0000007e: JUMPI 0000007f: DUP1 00000080: PUSH4 0x4ed38faf 00000085: EQ 00000086: PUSH2 0x034d 00000089: JUMPI 0000008a: DUP1 0000008b: PUSH4 0x4f79f7da 00000090: EQ 00000091: PUSH2 0x036e 00000094: JUMPI 00000095: DUP1 00000096: PUSH4 0x59ee1a45 0000009b: EQ 0000009c: PUSH2 0x03a7 0000009f: JUMPI 000000a0: DUP1 000000a1: PUSH4 0x5a4ca740 000000a6: EQ 000000a7: PUSH2 0x03c4 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x5f72cb7f 000000b1: EQ 000000b2: PUSH2 0x03ef 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0x6766804e 000000bc: EQ 000000bd: PUSH2 0x0404 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0x7464dcc1 000000c7: EQ 000000c8: PUSH2 0x0425 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0x762784f3 000000d2: EQ 000000d3: PUSH2 0x0442 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0x78bb5164 000000dd: EQ 000000de: PUSH2 0x045f 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0x7ebd1b30 000000e8: EQ 000000e9: PUSH2 0x0474 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x90fd62bb 000000f3: EQ 000000f4: PUSH2 0x048c 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x95e0b73f 000000fe: EQ 000000ff: PUSH2 0x04a1 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x9705c8be 00000109: EQ 0000010a: PUSH2 0x04b9 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0xa13d27a6 00000114: EQ 00000115: PUSH2 0x04ce 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0xa629af0b 0000011f: EQ 00000120: PUSH2 0x04e3 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0xa7a38f0b 0000012a: EQ 0000012b: PUSH2 0x04f8 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0xbc13d409 00000135: EQ 00000136: PUSH2 0x0338 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0xc30796ab 00000140: EQ 00000141: PUSH2 0x057e 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0xc5b50740 0000014b: EQ 0000014c: PUSH2 0x05c9 0000014f: JUMPI 00000150: DUP1 00000151: PUSH4 0xcaa14707 00000156: EQ 00000157: PUSH2 0x05ed 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0xcb521b7f 00000161: EQ 00000162: PUSH2 0x060e 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0xcf80f763 0000016c: EQ 0000016d: PUSH2 0x063f 00000170: JUMPI 00000171: DUP1 00000172: PUSH4 0xd08110b4 00000177: EQ 00000178: PUSH2 0x065c 0000017b: JUMPI 0000017c: DUP1 0000017d: PUSH4 0xd1d93547 00000182: EQ 00000183: PUSH2 0x0679 00000186: JUMPI 00000187: DUP1 00000188: PUSH4 0xd8d8fa1e 0000018d: EQ 0000018e: PUSH2 0x06ac 00000191: JUMPI 00000192: DUP1 00000193: PUSH4 0xe0401c7d 00000198: EQ 00000199: PUSH2 0x06c1 0000019c: JUMPI 0000019d: DUP1 0000019e: PUSH4 0xe25c8c71 000001a3: EQ 000001a4: PUSH2 0x06d6 000001a7: JUMPI 000001a8: DUP1 000001a9: PUSH4 0xf08c714f 000001ae: EQ 000001af: PUSH2 0x06fc 000001b2: JUMPI 000001b3: DUP1 000001b4: PUSH4 0xf0e4a348 000001b9: EQ 000001ba: PUSH2 0x0720 000001bd: JUMPI 000001be: DUP1 000001bf: PUSH4 0xf1279c8c 000001c4: EQ 000001c5: PUSH2 0x0735 000001c8: JUMPI 000001c9: DUP1 000001ca: PUSH4 0xf29a416a 000001cf: EQ 000001d0: PUSH2 0x074a 000001d3: JUMPI 000001d4: DUP1 000001d5: PUSH4 0xf8bfef72 000001da: EQ 000001db: PUSH2 0x06ac 000001de: JUMPI 000001df: JUMPDEST 000001e0: STOP 000001e1: JUMPDEST 000001e2: CALLVALUE 000001e3: DUP1 000001e4: ISZERO 000001e5: PUSH2 0x01ed 000001e8: JUMPI 000001e9: PUSH1 0x00 000001eb: DUP1 000001ec: REVERT 000001ed: JUMPDEST 000001ee: POP 000001ef: PUSH2 0x01df 000001f2: PUSH1 0x01 000001f4: PUSH1 0xa0 000001f6: PUSH1 0x02 000001f8: EXP 000001f9: SUB 000001fa: PUSH1 0x04 000001fc: CALLDATALOAD 000001fd: DUP2 000001fe: AND 000001ff: SWAP1 00000200: PUSH1 0x24 00000202: CALLDATALOAD 00000203: AND 00000204: PUSH1 0x44 00000206: CALLDATALOAD 00000207: PUSH2 0x076b 0000020a: JUMP 0000020b: JUMPDEST 0000020c: CALLVALUE 0000020d: DUP1 0000020e: ISZERO 0000020f: PUSH2 0x0217 00000212: JUMPI 00000213: PUSH1 0x00 00000215: DUP1 00000216: REVERT 00000217: JUMPDEST 00000218: POP 00000219: PUSH2 0x0220 0000021c: PUSH2 0x0795 0000021f: JUMP 00000220: JUMPDEST 00000221: PUSH1 0x40 00000223: DUP1 00000224: MLOAD 00000225: PUSH1 0xff 00000227: SWAP1 00000228: SWAP3 00000229: AND 0000022a: DUP3 0000022b: MSTORE 0000022c: MLOAD 0000022d: SWAP1 0000022e: DUP2 0000022f: SWAP1 00000230: SUB 00000231: PUSH1 0x20 00000233: ADD 00000234: SWAP1 00000235: RETURN 00000236: JUMPDEST 00000237: CALLVALUE 00000238: DUP1 00000239: ISZERO 0000023a: PUSH2 0x0242 0000023d: JUMPI 0000023e: PUSH1 0x00 00000240: DUP1 00000241: REVERT 00000242: JUMPDEST 00000243: POP 00000244: PUSH2 0x024e 00000247: PUSH1 0x04 00000249: CALLDATALOAD 0000024a: PUSH2 0x079a 0000024d: JUMP 0000024e: JUMPDEST 0000024f: PUSH1 0x40 00000251: DUP1 00000252: MLOAD 00000253: PUSH1 0x01 00000255: PUSH1 0xa0 00000257: PUSH1 0x02 00000259: EXP 0000025a: SUB 0000025b: SWAP1 0000025c: SWAP3 0000025d: AND 0000025e: DUP3 0000025f: MSTORE 00000260: MLOAD 00000261: SWAP1 00000262: DUP2 00000263: SWAP1 00000264: SUB 00000265: PUSH1 0x20 00000267: ADD 00000268: SWAP1 00000269: RETURN 0000026a: JUMPDEST 0000026b: CALLVALUE 0000026c: DUP1 0000026d: ISZERO 0000026e: PUSH2 0x0276 00000271: JUMPI 00000272: PUSH1 0x00 00000274: DUP1 00000275: REVERT 00000276: JUMPDEST 00000277: POP 00000278: PUSH2 0x028b 0000027b: PUSH1 0x01 0000027d: PUSH1 0xa0 0000027f: PUSH1 0x02 00000281: EXP 00000282: SUB 00000283: PUSH1 0x04 00000285: CALLDATALOAD 00000286: AND 00000287: PUSH2 0x07c2 0000028a: JUMP 0000028b: JUMPDEST 0000028c: PUSH1 0x40 0000028e: DUP1 0000028f: MLOAD 00000290: SWAP2 00000291: ISZERO 00000292: ISZERO 00000293: DUP3 00000294: MSTORE 00000295: MLOAD 00000296: SWAP1 00000297: DUP2 00000298: SWAP1 00000299: SUB 0000029a: PUSH1 0x20 0000029c: ADD 0000029d: SWAP1 0000029e: RETURN 0000029f: JUMPDEST 000002a0: CALLVALUE 000002a1: DUP1 000002a2: ISZERO 000002a3: PUSH2 0x02ab 000002a6: JUMPI 000002a7: PUSH1 0x00 000002a9: DUP1 000002aa: REVERT 000002ab: JUMPDEST 000002ac: POP 000002ad: PUSH2 0x01df 000002b0: PUSH1 0x01 000002b2: PUSH1 0xa0 000002b4: PUSH1 0x02 000002b6: EXP 000002b7: SUB 000002b8: PUSH1 0x04 000002ba: CALLDATALOAD 000002bb: AND 000002bc: PUSH1 0x24 000002be: CALLDATALOAD 000002bf: PUSH2 0x07df 000002c2: JUMP 000002c3: JUMPDEST 000002c4: CALLVALUE 000002c5: DUP1 000002c6: ISZERO 000002c7: PUSH2 0x02cf 000002ca: JUMPI 000002cb: PUSH1 0x00 000002cd: DUP1 000002ce: REVERT 000002cf: JUMPDEST 000002d0: POP 000002d1: PUSH2 0x01df 000002d4: PUSH1 0x04 000002d6: DUP1 000002d7: CALLDATALOAD 000002d8: PUSH1 0x01 000002da: PUSH1 0xa0 000002dc: PUSH1 0x02 000002de: EXP 000002df: SUB 000002e0: AND 000002e1: SWAP1 000002e2: PUSH1 0x24 000002e4: DUP1 000002e5: CALLDATALOAD 000002e6: SWAP2 000002e7: PUSH1 0x44 000002e9: CALLDATALOAD 000002ea: SWAP2 000002eb: DUP3 000002ec: ADD 000002ed: SWAP2 000002ee: ADD 000002ef: CALLDATALOAD 000002f0: PUSH2 0x0807 000002f3: JUMP 000002f4: JUMPDEST 000002f5: CALLVALUE 000002f6: DUP1 000002f7: ISZERO 000002f8: PUSH2 0x0300 000002fb: JUMPI 000002fc: PUSH1 0x00 000002fe: DUP1 000002ff: REVERT 00000300: JUMPDEST 00000301: POP 00000302: PUSH2 0x0309 00000305: PUSH2 0x0851 00000308: JUMP 00000309: JUMPDEST 0000030a: PUSH1 0x40 0000030c: DUP1 0000030d: MLOAD 0000030e: SWAP2 0000030f: DUP3 00000310: MSTORE 00000311: MLOAD 00000312: SWAP1 00000313: DUP2 00000314: SWAP1 00000315: SUB 00000316: PUSH1 0x20 00000318: ADD 00000319: SWAP1 0000031a: RETURN 0000031b: JUMPDEST 0000031c: CALLVALUE 0000031d: DUP1 0000031e: ISZERO 0000031f: PUSH2 0x0327 00000322: JUMPI 00000323: PUSH1 0x00 00000325: DUP1 00000326: REVERT 00000327: JUMPDEST 00000328: POP 00000329: PUSH2 0x01df 0000032c: PUSH1 0x04 0000032e: CALLDATALOAD 0000032f: PUSH1 0x24 00000331: CALLDATALOAD 00000332: ISZERO 00000333: ISZERO 00000334: PUSH2 0x0857 00000337: JUMP 00000338: JUMPDEST 00000339: CALLVALUE 0000033a: DUP1 0000033b: ISZERO 0000033c: PUSH2 0x0344 0000033f: JUMPI 00000340: PUSH1 0x00 00000342: DUP1 00000343: REVERT 00000344: JUMPDEST 00000345: POP 00000346: PUSH2 0x0220 00000349: PUSH2 0x095b 0000034c: JUMP 0000034d: JUMPDEST 0000034e: CALLVALUE 0000034f: DUP1 00000350: ISZERO 00000351: PUSH2 0x0359 00000354: JUMPI 00000355: PUSH1 0x00 00000357: DUP1 00000358: REVERT 00000359: JUMPDEST 0000035a: POP 0000035b: PUSH2 0x0309 0000035e: PUSH1 0x01 00000360: PUSH1 0xa0 00000362: PUSH1 0x02 00000364: EXP 00000365: SUB 00000366: PUSH1 0x04 00000368: CALLDATALOAD 00000369: AND 0000036a: PUSH2 0x0960 0000036d: JUMP 0000036e: JUMPDEST 0000036f: CALLVALUE 00000370: DUP1 00000371: ISZERO 00000372: PUSH2 0x037a 00000375: JUMPI 00000376: PUSH1 0x00 00000378: DUP1 00000379: REVERT 0000037a: JUMPDEST 0000037b: POP 0000037c: PUSH2 0x01df 0000037f: PUSH1 0x01 00000381: PUSH1 0xa0 00000383: PUSH1 0x02 00000385: EXP 00000386: SUB 00000387: PUSH1 0x04 00000389: DUP1 0000038a: CALLDATALOAD 0000038b: DUP3 0000038c: AND 0000038d: SWAP2 0000038e: PUSH1 0x24 00000390: DUP1 00000391: CALLDATALOAD 00000392: SWAP1 00000393: SWAP2 00000394: AND 00000395: SWAP2 00000396: PUSH1 0x44 00000398: CALLDATALOAD 00000399: SWAP2 0000039a: PUSH1 0x64 0000039c: CALLDATALOAD 0000039d: SWAP1 0000039e: DUP2 0000039f: ADD 000003a0: SWAP2 000003a1: ADD 000003a2: CALLDATALOAD 000003a3: PUSH2 0x0972 000003a6: JUMP 000003a7: JUMPDEST 000003a8: CALLVALUE 000003a9: DUP1 000003aa: ISZERO 000003ab: PUSH2 0x03b3 000003ae: JUMPI 000003af: PUSH1 0x00 000003b1: DUP1 000003b2: REVERT 000003b3: JUMPDEST 000003b4: POP 000003b5: PUSH2 0x01df 000003b8: PUSH1 0x04 000003ba: CALLDATALOAD 000003bb: PUSH1 0x24 000003bd: CALLDATALOAD 000003be: ISZERO 000003bf: ISZERO 000003c0: PUSH2 0x09be 000003c3: JUMP 000003c4: JUMPDEST 000003c5: CALLVALUE 000003c6: DUP1 000003c7: ISZERO 000003c8: PUSH2 0x03d0 000003cb: JUMPI 000003cc: PUSH1 0x00 000003ce: DUP1 000003cf: REVERT 000003d0: JUMPDEST 000003d1: POP 000003d2: PUSH2 0x01df 000003d5: PUSH1 0x01 000003d7: PUSH1 0xa0 000003d9: PUSH1 0x02 000003db: EXP 000003dc: SUB 000003dd: PUSH1 0x04 000003df: CALLDATALOAD 000003e0: AND 000003e1: PUSH1 0x24 000003e3: CALLDATALOAD 000003e4: ISZERO 000003e5: ISZERO 000003e6: PUSH1 0x44 000003e8: CALLDATALOAD 000003e9: ISZERO 000003ea: ISZERO 000003eb: PUSH2 0x0b3c 000003ee: JUMP 000003ef: JUMPDEST 000003f0: CALLVALUE 000003f1: DUP1 000003f2: ISZERO 000003f3: PUSH2 0x03fb 000003f6: JUMPI 000003f7: PUSH1 0x00 000003f9: DUP1 000003fa: REVERT 000003fb: JUMPDEST 000003fc: POP 000003fd: PUSH2 0x0220 00000400: PUSH2 0x0d19 00000403: JUMP 00000404: JUMPDEST 00000405: CALLVALUE 00000406: DUP1 00000407: ISZERO 00000408: PUSH2 0x0410 0000040b: JUMPI 0000040c: PUSH1 0x00 0000040e: DUP1 0000040f: REVERT 00000410: JUMPDEST 00000411: POP 00000412: PUSH2 0x01df 00000415: PUSH1 0x01 00000417: PUSH1 0x80 00000419: PUSH1 0x02 0000041b: EXP 0000041c: SUB 0000041d: PUSH1 0x04 0000041f: CALLDATALOAD 00000420: AND 00000421: PUSH2 0x0d1e 00000424: JUMP 00000425: JUMPDEST 00000426: CALLVALUE 00000427: DUP1 00000428: ISZERO 00000429: PUSH2 0x0431 0000042c: JUMPI 0000042d: PUSH1 0x00 0000042f: DUP1 00000430: REVERT 00000431: JUMPDEST 00000432: POP 00000433: PUSH2 0x01df 00000436: PUSH1 0x04 00000438: CALLDATALOAD 00000439: PUSH1 0x24 0000043b: CALLDATALOAD 0000043c: ISZERO 0000043d: ISZERO 0000043e: PUSH2 0x0f23 00000441: JUMP 00000442: JUMPDEST 00000443: CALLVALUE 00000444: DUP1 00000445: ISZERO 00000446: PUSH2 0x044e 00000449: JUMPI 0000044a: PUSH1 0x00 0000044c: DUP1 0000044d: REVERT 0000044e: JUMPDEST 0000044f: POP 00000450: PUSH2 0x01df 00000453: PUSH1 0x04 00000455: CALLDATALOAD 00000456: PUSH1 0x24 00000458: CALLDATALOAD 00000459: ISZERO 0000045a: ISZERO 0000045b: PUSH2 0x109a 0000045e: JUMP 0000045f: JUMPDEST 00000460: CALLVALUE 00000461: DUP1 00000462: ISZERO 00000463: PUSH2 0x046b 00000466: JUMPI 00000467: PUSH1 0x00 00000469: DUP1 0000046a: REVERT 0000046b: JUMPDEST 0000046c: POP 0000046d: PUSH2 0x0309 00000470: PUSH2 0x11ac 00000473: JUMP 00000474: JUMPDEST 00000475: CALLVALUE 00000476: DUP1 00000477: ISZERO 00000478: PUSH2 0x0480 0000047b: JUMPI 0000047c: PUSH1 0x00 0000047e: DUP1 0000047f: REVERT 00000480: JUMPDEST 00000481: POP 00000482: PUSH2 0x024e 00000485: PUSH1 0x04 00000487: CALLDATALOAD 00000488: PUSH2 0x11b3 0000048b: JUMP 0000048c: JUMPDEST 0000048d: CALLVALUE 0000048e: DUP1 0000048f: ISZERO 00000490: PUSH2 0x0498 00000493: JUMPI 00000494: PUSH1 0x00 00000496: DUP1 00000497: REVERT 00000498: JUMPDEST 00000499: POP 0000049a: PUSH2 0x0220 0000049d: PUSH2 0x11c1 000004a0: JUMP 000004a1: JUMPDEST 000004a2: CALLVALUE 000004a3: DUP1 000004a4: ISZERO 000004a5: PUSH2 0x04ad 000004a8: JUMPI 000004a9: PUSH1 0x00 000004ab: DUP1 000004ac: REVERT 000004ad: JUMPDEST 000004ae: POP 000004af: PUSH2 0x01df 000004b2: PUSH1 0x04 000004b4: CALLDATALOAD 000004b5: PUSH2 0x11c6 000004b8: JUMP 000004b9: JUMPDEST 000004ba: CALLVALUE 000004bb: DUP1 000004bc: ISZERO 000004bd: PUSH2 0x04c5 000004c0: JUMPI 000004c1: PUSH1 0x00 000004c3: DUP1 000004c4: REVERT 000004c5: JUMPDEST 000004c6: POP 000004c7: PUSH2 0x0220 000004ca: PUSH2 0x1211 000004cd: JUMP 000004ce: JUMPDEST 000004cf: CALLVALUE 000004d0: DUP1 000004d1: ISZERO 000004d2: PUSH2 0x04da 000004d5: JUMPI 000004d6: PUSH1 0x00 000004d8: DUP1 000004d9: REVERT 000004da: JUMPDEST 000004db: POP 000004dc: PUSH2 0x0220 000004df: PUSH2 0x1216 000004e2: JUMP 000004e3: JUMPDEST 000004e4: CALLVALUE 000004e5: DUP1 000004e6: ISZERO 000004e7: PUSH2 0x04ef 000004ea: JUMPI 000004eb: PUSH1 0x00 000004ed: DUP1 000004ee: REVERT 000004ef: JUMPDEST 000004f0: POP 000004f1: PUSH2 0x0220 000004f4: PUSH2 0x121b 000004f7: JUMP 000004f8: JUMPDEST 000004f9: CALLVALUE 000004fa: DUP1 000004fb: ISZERO 000004fc: PUSH2 0x0504 000004ff: JUMPI 00000500: PUSH1 0x00 00000502: DUP1 00000503: REVERT 00000504: JUMPDEST 00000505: POP 00000506: PUSH2 0x0510 00000509: PUSH1 0x04 0000050b: CALLDATALOAD 0000050c: PUSH2 0x1220 0000050f: JUMP 00000510: JUMPDEST 00000511: PUSH1 0x40 00000513: DUP1 00000514: MLOAD 00000515: PUSH1 0x01 00000517: PUSH1 0xa0 00000519: PUSH1 0x02 0000051b: EXP 0000051c: SUB 0000051d: SWAP11 0000051e: DUP12 0000051f: AND 00000520: DUP2 00000521: MSTORE 00000522: SWAP9 00000523: SWAP1 00000524: SWAP10 00000525: AND 00000526: PUSH1 0x20 00000528: DUP10 00000529: ADD 0000052a: MSTORE 0000052b: PUSH1 0xff 0000052d: SWAP7 0000052e: DUP8 0000052f: AND 00000530: DUP9 00000531: DUP11 00000532: ADD 00000533: MSTORE 00000534: SWAP5 00000535: SWAP1 00000536: SWAP6 00000537: AND 00000538: PUSH1 0x60 0000053a: DUP8 0000053b: ADD 0000053c: MSTORE 0000053d: PUSH1 0x01 0000053f: PUSH1 0x80 00000541: PUSH1 0x02 00000543: EXP 00000544: SUB 00000545: SWAP1 00000546: SWAP3 00000547: AND 00000548: PUSH1 0x80 0000054a: DUP7 0000054b: ADD 0000054c: MSTORE 0000054d: PUSH6 0xffffffffffff 00000554: SWAP1 00000555: DUP2 00000556: AND 00000557: PUSH1 0xa0 00000559: DUP7 0000055a: ADD 0000055b: MSTORE 0000055c: AND 0000055d: PUSH1 0xc0 0000055f: DUP5 00000560: ADD 00000561: MSTORE 00000562: SWAP1 00000563: ISZERO 00000564: ISZERO 00000565: PUSH1 0xe0 00000567: DUP4 00000568: ADD 00000569: MSTORE 0000056a: ISZERO 0000056b: ISZERO 0000056c: PUSH2 0x0100 0000056f: DUP3 00000570: ADD 00000571: MSTORE 00000572: SWAP1 00000573: MLOAD 00000574: SWAP1 00000575: DUP2 00000576: SWAP1 00000577: SUB 00000578: PUSH2 0x0120 0000057b: ADD 0000057c: SWAP1 0000057d: RETURN 0000057e: JUMPDEST 0000057f: CALLVALUE 00000580: DUP1 00000581: ISZERO 00000582: PUSH2 0x058a 00000585: JUMPI 00000586: PUSH1 0x00 00000588: DUP1 00000589: REVERT 0000058a: JUMPDEST 0000058b: POP 0000058c: PUSH2 0x059f 0000058f: PUSH1 0x01 00000591: PUSH1 0xa0 00000593: PUSH1 0x02 00000595: EXP 00000596: SUB 00000597: PUSH1 0x04 00000599: CALLDATALOAD 0000059a: AND 0000059b: PUSH2 0x12af 0000059e: JUMP 0000059f: JUMPDEST 000005a0: PUSH1 0x40 000005a2: DUP1 000005a3: MLOAD 000005a4: PUSH1 0x01 000005a6: PUSH1 0x80 000005a8: PUSH1 0x02 000005aa: EXP 000005ab: SUB 000005ac: SWAP1 000005ad: SWAP5 000005ae: AND 000005af: DUP5 000005b0: MSTORE 000005b1: SWAP2 000005b2: ISZERO 000005b3: ISZERO 000005b4: PUSH1 0x20 000005b6: DUP5 000005b7: ADD 000005b8: MSTORE 000005b9: ISZERO 000005ba: ISZERO 000005bb: DUP3 000005bc: DUP3 000005bd: ADD 000005be: MSTORE 000005bf: MLOAD 000005c0: SWAP1 000005c1: DUP2 000005c2: SWAP1 000005c3: SUB 000005c4: PUSH1 0x60 000005c6: ADD 000005c7: SWAP1 000005c8: RETURN 000005c9: JUMPDEST 000005ca: CALLVALUE 000005cb: DUP1 000005cc: ISZERO 000005cd: PUSH2 0x05d5 000005d0: JUMPI 000005d1: PUSH1 0x00 000005d3: DUP1 000005d4: REVERT 000005d5: JUMPDEST 000005d6: POP 000005d7: PUSH2 0x01df 000005da: PUSH1 0x01 000005dc: PUSH1 0xa0 000005de: PUSH1 0x02 000005e0: EXP 000005e1: SUB 000005e2: PUSH1 0x04 000005e4: CALLDATALOAD 000005e5: AND 000005e6: PUSH1 0x24 000005e8: CALLDATALOAD 000005e9: PUSH2 0x12ee 000005ec: JUMP 000005ed: JUMPDEST 000005ee: CALLVALUE 000005ef: DUP1 000005f0: ISZERO 000005f1: PUSH2 0x05f9 000005f4: JUMPI 000005f5: PUSH1 0x00 000005f7: DUP1 000005f8: REVERT 000005f9: JUMPDEST 000005fa: POP 000005fb: PUSH2 0x01df 000005fe: PUSH1 0x01 00000600: PUSH1 0xa0 00000602: PUSH1 0x02 00000604: EXP 00000605: SUB 00000606: PUSH1 0x04 00000608: CALLDATALOAD 00000609: AND 0000060a: PUSH2 0x13ab 0000060d: JUMP 0000060e: JUMPDEST 0000060f: CALLVALUE 00000610: DUP1 00000611: ISZERO 00000612: PUSH2 0x061a 00000615: JUMPI 00000616: PUSH1 0x00 00000618: DUP1 00000619: REVERT 0000061a: JUMPDEST 0000061b: POP 0000061c: PUSH2 0x0623 0000061f: PUSH2 0x16a0 00000622: JUMP 00000623: JUMPDEST 00000624: PUSH1 0x40 00000626: DUP1 00000627: MLOAD 00000628: PUSH1 0x01 0000062a: PUSH1 0x80 0000062c: PUSH1 0x02 0000062e: EXP 0000062f: SUB 00000630: SWAP1 00000631: SWAP3 00000632: AND 00000633: DUP3 00000634: MSTORE 00000635: MLOAD 00000636: SWAP1 00000637: DUP2 00000638: SWAP1 00000639: SUB 0000063a: PUSH1 0x20 0000063c: ADD 0000063d: SWAP1 0000063e: RETURN 0000063f: JUMPDEST 00000640: CALLVALUE 00000641: DUP1 00000642: ISZERO 00000643: PUSH2 0x064b 00000646: JUMPI 00000647: PUSH1 0x00 00000649: DUP1 0000064a: REVERT 0000064b: JUMPDEST 0000064c: POP 0000064d: PUSH2 0x01df 00000650: PUSH1 0x04 00000652: CALLDATALOAD 00000653: PUSH1 0x24 00000655: CALLDATALOAD 00000656: ISZERO 00000657: ISZERO 00000658: PUSH2 0x16a5 0000065b: JUMP 0000065c: JUMPDEST 0000065d: CALLVALUE 0000065e: DUP1 0000065f: ISZERO 00000660: PUSH2 0x0668 00000663: JUMPI 00000664: PUSH1 0x00 00000666: DUP1 00000667: REVERT 00000668: JUMPDEST 00000669: POP 0000066a: PUSH2 0x01df 0000066d: PUSH1 0x04 0000066f: CALLDATALOAD 00000670: PUSH1 0x24 00000672: CALLDATALOAD 00000673: ISZERO 00000674: ISZERO 00000675: PUSH2 0x181d 00000678: JUMP 00000679: JUMPDEST 0000067a: CALLVALUE 0000067b: DUP1 0000067c: ISZERO 0000067d: PUSH2 0x0685 00000680: JUMPI 00000681: PUSH1 0x00 00000683: DUP1 00000684: REVERT 00000685: JUMPDEST 00000686: POP 00000687: PUSH2 0x01df 0000068a: PUSH1 0x01 0000068c: PUSH1 0xa0 0000068e: PUSH1 0x02 00000690: EXP 00000691: SUB 00000692: PUSH1 0x04 00000694: CALLDATALOAD 00000695: DUP2 00000696: AND 00000697: SWAP1 00000698: PUSH1 0x24 0000069a: CALLDATALOAD 0000069b: AND 0000069c: PUSH1 0x01 0000069e: PUSH1 0x80 000006a0: PUSH1 0x02 000006a2: EXP 000006a3: SUB 000006a4: PUSH1 0x44 000006a6: CALLDATALOAD 000006a7: AND 000006a8: PUSH2 0x1a07 000006ab: JUMP 000006ac: JUMPDEST 000006ad: CALLVALUE 000006ae: DUP1 000006af: ISZERO 000006b0: PUSH2 0x06b8 000006b3: JUMPI 000006b4: PUSH1 0x00 000006b6: DUP1 000006b7: REVERT 000006b8: JUMPDEST 000006b9: POP 000006ba: PUSH2 0x0220 000006bd: PUSH2 0x16a0 000006c0: JUMP 000006c1: JUMPDEST 000006c2: CALLVALUE 000006c3: DUP1 000006c4: ISZERO 000006c5: PUSH2 0x06cd 000006c8: JUMPI 000006c9: PUSH1 0x00 000006cb: DUP1 000006cc: REVERT 000006cd: JUMPDEST 000006ce: POP 000006cf: PUSH2 0x0309 000006d2: PUSH2 0x1d0d 000006d5: JUMP 000006d6: JUMPDEST 000006d7: CALLVALUE 000006d8: DUP1 000006d9: ISZERO 000006da: PUSH2 0x06e2 000006dd: JUMPI 000006de: PUSH1 0x00 000006e0: DUP1 000006e1: REVERT 000006e2: JUMPDEST 000006e3: POP 000006e4: PUSH2 0x01df 000006e7: PUSH1 0x01 000006e9: PUSH1 0xa0 000006eb: PUSH1 0x02 000006ed: EXP 000006ee: SUB 000006ef: PUSH1 0x04 000006f1: CALLDATALOAD 000006f2: AND 000006f3: PUSH1 0x24 000006f5: CALLDATALOAD 000006f6: ISZERO 000006f7: ISZERO 000006f8: PUSH2 0x1d13 000006fb: JUMP 000006fc: JUMPDEST 000006fd: CALLVALUE 000006fe: DUP1 000006ff: ISZERO 00000700: PUSH2 0x0708 00000703: JUMPI 00000704: PUSH1 0x00 00000706: DUP1 00000707: REVERT 00000708: JUMPDEST 00000709: POP 0000070a: PUSH2 0x01df 0000070d: PUSH1 0x01 0000070f: PUSH1 0xa0 00000711: PUSH1 0x02 00000713: EXP 00000714: SUB 00000715: PUSH1 0x04 00000717: CALLDATALOAD 00000718: AND 00000719: PUSH1 0x24 0000071b: CALLDATALOAD 0000071c: PUSH2 0x214f 0000071f: JUMP 00000720: JUMPDEST 00000721: CALLVALUE 00000722: DUP1 00000723: ISZERO 00000724: PUSH2 0x072c 00000727: JUMPI 00000728: PUSH1 0x00 0000072a: DUP1 0000072b: REVERT 0000072c: JUMPDEST 0000072d: POP 0000072e: PUSH2 0x0220 00000731: PUSH2 0x2331 00000734: JUMP 00000735: JUMPDEST 00000736: CALLVALUE 00000737: DUP1 00000738: ISZERO 00000739: PUSH2 0x0741 0000073c: JUMPI 0000073d: PUSH1 0x00 0000073f: DUP1 00000740: REVERT 00000741: JUMPDEST 00000742: POP 00000743: PUSH2 0x0309 00000746: PUSH2 0x2336 00000749: JUMP 0000074a: JUMPDEST 0000074b: CALLVALUE 0000074c: DUP1 0000074d: ISZERO 0000074e: PUSH2 0x0756 00000751: JUMPI 00000752: PUSH1 0x00 00000754: DUP1 00000755: REVERT 00000756: JUMPDEST 00000757: POP 00000758: PUSH2 0x028b 0000075b: PUSH1 0x01 0000075d: PUSH1 0xa0 0000075f: PUSH1 0x02 00000761: EXP 00000762: SUB 00000763: PUSH1 0x04 00000765: CALLDATALOAD 00000766: AND 00000767: PUSH2 0x233c 0000076a: JUMP 0000076b: JUMPDEST 0000076c: CALLER 0000076d: PUSH1 0x00 0000076f: SWAP1 00000770: DUP2 00000771: MSTORE 00000772: PUSH1 0x20 00000774: DUP2 00000775: SWAP1 00000776: MSTORE 00000777: PUSH1 0x40 00000779: DUP2 0000077a: KECCAK256 0000077b: SLOAD 0000077c: GT 0000077d: PUSH2 0x0785 00000780: JUMPI 00000781: PUSH1 0x00 00000783: DUP1 00000784: REVERT 00000785: JUMPDEST 00000786: PUSH2 0x0790 00000789: DUP4 0000078a: DUP4 0000078b: DUP4 0000078c: PUSH2 0x2351 0000078f: JUMP 00000790: JUMPDEST 00000791: POP 00000792: POP 00000793: POP 00000794: JUMP 00000795: JUMPDEST 00000796: PUSH1 0x08 00000798: DUP2 00000799: JUMP 0000079a: JUMPDEST 0000079b: PUSH1 0x01 0000079d: DUP1 0000079e: SLOAD 0000079f: DUP3 000007a0: SWAP1 000007a1: DUP2 000007a2: LT 000007a3: PUSH2 0x07a8 000007a6: JUMPI 000007a7: INVALID 000007a8: JUMPDEST 000007a9: PUSH1 0x00 000007ab: SWAP2 000007ac: DUP3 000007ad: MSTORE 000007ae: PUSH1 0x20 000007b0: SWAP1 000007b1: SWAP2 000007b2: KECCAK256 000007b3: ADD 000007b4: SLOAD 000007b5: PUSH1 0x01 000007b7: PUSH1 0xa0 000007b9: PUSH1 0x02 000007bb: EXP 000007bc: SUB 000007bd: AND 000007be: SWAP1 000007bf: POP 000007c0: DUP2 000007c1: JUMP 000007c2: JUMPDEST 000007c3: PUSH1 0x01 000007c5: PUSH1 0xa0 000007c7: PUSH1 0x02 000007c9: EXP 000007ca: SUB 000007cb: AND 000007cc: PUSH1 0x00 000007ce: SWAP1 000007cf: DUP2 000007d0: MSTORE 000007d1: PUSH1 0x04 000007d3: PUSH1 0x20 000007d5: MSTORE 000007d6: PUSH1 0x40 000007d8: SWAP1 000007d9: KECCAK256 000007da: SLOAD 000007db: ISZERO 000007dc: ISZERO 000007dd: SWAP1 000007de: JUMP 000007df: JUMPDEST 000007e0: CALLER 000007e1: PUSH1 0x00 000007e3: SWAP1 000007e4: DUP2 000007e5: MSTORE 000007e6: PUSH1 0x20 000007e8: DUP2 000007e9: SWAP1 000007ea: MSTORE 000007eb: PUSH1 0x40 000007ed: DUP2 000007ee: KECCAK256 000007ef: SLOAD 000007f0: GT 000007f1: PUSH2 0x07f9 000007f4: JUMPI 000007f5: PUSH1 0x00 000007f7: DUP1 000007f8: REVERT 000007f9: JUMPDEST 000007fa: PUSH2 0x0803 000007fd: DUP3 000007fe: DUP3 000007ff: PUSH2 0x2630 00000802: JUMP 00000803: JUMPDEST 00000804: POP 00000805: POP 00000806: JUMP 00000807: JUMPDEST 00000808: PUSH2 0x0841 0000080b: DUP5 0000080c: DUP4 0000080d: DUP4 0000080e: DUP1 0000080f: DUP1 00000810: PUSH1 0x1f 00000812: ADD 00000813: PUSH1 0x20 00000815: DUP1 00000816: SWAP2 00000817: DIV 00000818: MUL 00000819: PUSH1 0x20 0000081b: ADD 0000081c: PUSH1 0x40 0000081e: MLOAD 0000081f: SWAP1 00000820: DUP2 00000821: ADD 00000822: PUSH1 0x40 00000824: MSTORE 00000825: DUP1 00000826: SWAP4 00000827: SWAP3 00000828: SWAP2 00000829: SWAP1 0000082a: DUP2 0000082b: DUP2 0000082c: MSTORE 0000082d: PUSH1 0x20 0000082f: ADD 00000830: DUP4 00000831: DUP4 00000832: DUP1 00000833: DUP3 00000834: DUP5 00000835: CALLDATACOPY 00000836: POP 00000837: PUSH2 0x28af 0000083a: SWAP5 0000083b: POP 0000083c: POP 0000083d: POP 0000083e: POP 0000083f: POP 00000840: JUMP 00000841: JUMPDEST 00000842: PUSH2 0x084b 00000845: DUP5 00000846: DUP5 00000847: PUSH2 0x2630 0000084a: JUMP 0000084b: JUMPDEST 0000084c: POP 0000084d: POP 0000084e: POP 0000084f: POP 00000850: JUMP 00000851: JUMPDEST 00000852: PUSH1 0x0b 00000854: SLOAD 00000855: DUP2 00000856: JUMP 00000857: JUMPDEST 00000858: CALLER 00000859: PUSH1 0x00 0000085b: SWAP1 0000085c: DUP2 0000085d: MSTORE 0000085e: PUSH1 0x20 00000860: DUP2 00000861: SWAP1 00000862: MSTORE 00000863: PUSH1 0x40 00000865: DUP2 00000866: KECCAK256 00000867: SLOAD 00000868: DUP2 00000869: LT 0000086a: PUSH2 0x0872 0000086d: JUMPI 0000086e: PUSH1 0x00 00000870: DUP1 00000871: REVERT 00000872: JUMPDEST 00000873: PUSH1 0x0a 00000875: DUP1 00000876: SLOAD 00000877: DUP5 00000878: SWAP1 00000879: DUP2 0000087a: LT 0000087b: PUSH2 0x0880 0000087e: JUMPI 0000087f: INVALID 00000880: JUMPDEST 00000881: PUSH1 0x00 00000883: SWAP2 00000884: DUP3 00000885: MSTORE 00000886: PUSH1 0x20 00000888: SWAP1 00000889: SWAP2 0000088a: KECCAK256 0000088b: PUSH1 0x01 0000088d: PUSH1 0x03 0000088f: SWAP1 00000890: SWAP3 00000891: MUL 00000892: ADD 00000893: SWAP1 00000894: DUP2 00000895: ADD 00000896: SLOAD 00000897: SWAP1 00000898: SWAP2 00000899: POP 0000089a: PUSH1 0xa0 0000089c: PUSH1 0x02 0000089e: EXP 0000089f: SWAP1 000008a0: DIV 000008a1: PUSH1 0xff 000008a3: AND 000008a4: PUSH1 0x06 000008a6: EQ 000008a7: PUSH2 0x08af 000008aa: JUMPI 000008ab: PUSH1 0x00 000008ad: DUP1 000008ae: REVERT 000008af: JUMPDEST 000008b0: PUSH1 0x01 000008b2: DUP2 000008b3: ADD 000008b4: SLOAD 000008b5: PUSH1 0xa8 000008b7: PUSH1 0x02 000008b9: EXP 000008ba: SWAP1 000008bb: DIV 000008bc: PUSH1 0xff 000008be: AND 000008bf: ISZERO 000008c0: PUSH2 0x08c8 000008c3: JUMPI 000008c4: PUSH1 0x00 000008c6: DUP1 000008c7: REVERT 000008c8: JUMPDEST 000008c9: DUP2 000008ca: ISZERO 000008cb: PUSH2 0x08eb 000008ce: JUMPI 000008cf: PUSH1 0x01 000008d1: DUP2 000008d2: ADD 000008d3: DUP1 000008d4: SLOAD 000008d5: PUSH1 0xa8 000008d7: PUSH1 0x02 000008d9: EXP 000008da: PUSH1 0xff 000008dc: MUL 000008dd: NOT 000008de: AND 000008df: PUSH1 0xa9 000008e1: PUSH1 0x02 000008e3: EXP 000008e4: OR 000008e5: SWAP1 000008e6: SSTORE 000008e7: PUSH2 0x0790 000008ea: JUMP 000008eb: JUMPDEST 000008ec: PUSH1 0x02 000008ee: DUP2 000008ef: ADD 000008f0: SLOAD 000008f1: PUSH1 0x00 000008f3: PUSH1 0xb0 000008f5: PUSH1 0x02 000008f7: EXP 000008f8: SWAP1 000008f9: SWAP2 000008fa: DIV 000008fb: PUSH6 0xffffffffffff 00000902: AND 00000903: GT 00000904: DUP1 00000905: ISZERO 00000906: PUSH2 0x0922 00000909: JUMPI 0000090a: POP 0000090b: PUSH1 0x02 0000090d: DUP2 0000090e: ADD 0000090f: SLOAD 00000910: TIMESTAMP 00000911: PUSH1 0xb0 00000913: PUSH1 0x02 00000915: EXP 00000916: SWAP1 00000917: SWAP2 00000918: DIV 00000919: PUSH6 0xffffffffffff 00000920: AND 00000921: LT 00000922: JUMPDEST 00000923: ISZERO 00000924: ISZERO 00000925: PUSH2 0x092d 00000928: JUMPI 00000929: PUSH1 0x00 0000092b: DUP1 0000092c: REVERT 0000092d: JUMPDEST 0000092e: PUSH1 0x02 00000930: DUP2 00000931: ADD 00000932: SLOAD 00000933: PUSH1 0x01 00000935: PUSH1 0x80 00000937: PUSH1 0x02 00000939: EXP 0000093a: SUB 0000093b: AND 0000093c: PUSH1 0x0b 0000093e: SSTORE 0000093f: PUSH1 0x01 00000941: DUP2 00000942: ADD 00000943: DUP1 00000944: SLOAD 00000945: PUSH1 0xa8 00000947: PUSH1 0x02 00000949: EXP 0000094a: PUSH1 0xff 0000094c: MUL 0000094d: NOT 0000094e: AND 0000094f: PUSH1 0xa8 00000951: PUSH1 0x02 00000953: EXP 00000954: OR 00000955: SWAP1 00000956: SSTORE 00000957: POP 00000958: POP 00000959: POP 0000095a: JUMP 0000095b: JUMPDEST 0000095c: PUSH1 0x01 0000095e: DUP2 0000095f: JUMP 00000960: JUMPDEST 00000961: PUSH1 0x00 00000963: PUSH1 0x20 00000965: DUP2 00000966: SWAP1 00000967: MSTORE 00000968: SWAP1 00000969: DUP2 0000096a: MSTORE 0000096b: PUSH1 0x40 0000096d: SWAP1 0000096e: KECCAK256 0000096f: SLOAD 00000970: DUP2 00000971: JUMP 00000972: JUMPDEST 00000973: PUSH2 0x09ac 00000976: DUP6 00000977: DUP4 00000978: DUP4 00000979: DUP1 0000097a: DUP1 0000097b: PUSH1 0x1f 0000097d: ADD 0000097e: PUSH1 0x20 00000980: DUP1 00000981: SWAP2 00000982: DIV 00000983: MUL 00000984: PUSH1 0x20 00000986: ADD 00000987: PUSH1 0x40 00000989: MLOAD 0000098a: SWAP1 0000098b: DUP2 0000098c: ADD 0000098d: PUSH1 0x40 0000098f: MSTORE 00000990: DUP1 00000991: SWAP4 00000992: SWAP3 00000993: SWAP2 00000994: SWAP1 00000995: DUP2 00000996: DUP2 00000997: MSTORE 00000998: PUSH1 0x20 0000099a: ADD 0000099b: DUP4 0000099c: DUP4 0000099d: DUP1 0000099e: DUP3 0000099f: DUP5 000009a0: CALLDATACOPY 000009a1: POP 000009a2: PUSH2 0x28af 000009a5: SWAP5 000009a6: POP 000009a7: POP 000009a8: POP 000009a9: POP 000009aa: POP 000009ab: JUMP 000009ac: JUMPDEST 000009ad: PUSH2 0x09b7 000009b0: DUP6 000009b1: DUP6 000009b2: DUP6 000009b3: PUSH2 0x2351 000009b6: JUMP 000009b7: JUMPDEST 000009b8: POP 000009b9: POP 000009ba: POP 000009bb: POP 000009bc: POP 000009bd: JUMP 000009be: JUMPDEST 000009bf: CALLER 000009c0: PUSH1 0x00 000009c2: SWAP1 000009c3: DUP2 000009c4: MSTORE 000009c5: PUSH1 0x20 000009c7: DUP2 000009c8: SWAP1 000009c9: MSTORE 000009ca: PUSH1 0x40 000009cc: DUP2 000009cd: KECCAK256 000009ce: SLOAD 000009cf: DUP2 000009d0: LT 000009d1: PUSH2 0x09d9 000009d4: JUMPI 000009d5: PUSH1 0x00 000009d7: DUP1 000009d8: REVERT 000009d9: JUMPDEST 000009da: PUSH1 0x0a 000009dc: DUP1 000009dd: SLOAD 000009de: DUP5 000009df: SWAP1 000009e0: DUP2 000009e1: LT 000009e2: PUSH2 0x09e7 000009e5: JUMPI 000009e6: INVALID 000009e7: JUMPDEST 000009e8: PUSH1 0x00 000009ea: SWAP2 000009eb: DUP3 000009ec: MSTORE 000009ed: PUSH1 0x20 000009ef: SWAP1 000009f0: SWAP2 000009f1: KECCAK256 000009f2: PUSH1 0x01 000009f4: PUSH1 0x03 000009f6: SWAP1 000009f7: SWAP3 000009f8: MUL 000009f9: ADD 000009fa: SWAP1 000009fb: DUP2 000009fc: ADD 000009fd: SLOAD 000009fe: SWAP1 000009ff: SWAP2 00000a00: POP 00000a01: PUSH1 0xa0 00000a03: PUSH1 0x02 00000a05: EXP 00000a06: SWAP1 00000a07: DIV 00000a08: PUSH1 0xff 00000a0a: AND 00000a0b: PUSH1 0x07 00000a0d: EQ 00000a0e: PUSH2 0x0a16 00000a11: JUMPI 00000a12: PUSH1 0x00 00000a14: DUP1 00000a15: REVERT 00000a16: JUMPDEST 00000a17: PUSH1 0x01 00000a19: DUP2 00000a1a: ADD 00000a1b: SLOAD 00000a1c: PUSH1 0xa8 00000a1e: PUSH1 0x02 00000a20: EXP 00000a21: SWAP1 00000a22: DIV 00000a23: PUSH1 0xff 00000a25: AND 00000a26: ISZERO 00000a27: PUSH2 0x0a2f 00000a2a: JUMPI 00000a2b: PUSH1 0x00 00000a2d: DUP1 00000a2e: REVERT 00000a2f: JUMPDEST 00000a30: DUP2 00000a31: ISZERO 00000a32: PUSH2 0x0a52 00000a35: JUMPI 00000a36: PUSH1 0x01 00000a38: DUP2 00000a39: ADD 00000a3a: DUP1 00000a3b: SLOAD 00000a3c: PUSH1 0xa8 00000a3e: PUSH1 0x02 00000a40: EXP 00000a41: PUSH1 0xff 00000a43: MUL 00000a44: NOT 00000a45: AND 00000a46: PUSH1 0xa9 00000a48: PUSH1 0x02 00000a4a: EXP 00000a4b: OR 00000a4c: SWAP1 00000a4d: SSTORE 00000a4e: PUSH2 0x0790 00000a51: JUMP 00000a52: JUMPDEST 00000a53: PUSH1 0x02 00000a55: DUP2 00000a56: ADD 00000a57: SLOAD 00000a58: PUSH1 0x00 00000a5a: PUSH1 0xb0 00000a5c: PUSH1 0x02 00000a5e: EXP 00000a5f: SWAP1 00000a60: SWAP2 00000a61: DIV 00000a62: PUSH6 0xffffffffffff 00000a69: AND 00000a6a: GT 00000a6b: DUP1 00000a6c: ISZERO 00000a6d: PUSH2 0x0a89 00000a70: JUMPI 00000a71: POP 00000a72: PUSH1 0x02 00000a74: DUP2 00000a75: ADD 00000a76: SLOAD 00000a77: TIMESTAMP 00000a78: PUSH1 0xb0 00000a7a: PUSH1 0x02 00000a7c: EXP 00000a7d: SWAP1 00000a7e: SWAP2 00000a7f: DIV 00000a80: PUSH6 0xffffffffffff 00000a87: AND 00000a88: LT 00000a89: JUMPDEST 00000a8a: ISZERO 00000a8b: ISZERO 00000a8c: PUSH2 0x0a94 00000a8f: JUMPI 00000a90: PUSH1 0x00 00000a92: DUP1 00000a93: REVERT 00000a94: JUMPDEST 00000a95: PUSH1 0x02 00000a97: DUP2 00000a98: ADD 00000a99: SLOAD 00000a9a: PUSH1 0x00 00000a9c: PUSH1 0x01 00000a9e: PUSH1 0x80 00000aa0: PUSH1 0x02 00000aa2: EXP 00000aa3: SUB 00000aa4: SWAP1 00000aa5: SWAP2 00000aa6: AND 00000aa7: GT 00000aa8: ISZERO 00000aa9: PUSH2 0x0aef 00000aac: JUMPI 00000aad: PUSH1 0x02 00000aaf: DUP2 00000ab0: ADD 00000ab1: SLOAD 00000ab2: DUP2 00000ab3: SLOAD 00000ab4: PUSH1 0x01 00000ab6: PUSH1 0xa0 00000ab8: PUSH1 0x02 00000aba: EXP 00000abb: SUB 00000abc: SWAP1 00000abd: DUP2 00000abe: AND 00000abf: PUSH1 0x00 00000ac1: SWAP1 00000ac2: DUP2 00000ac3: MSTORE 00000ac4: PUSH1 0x06 00000ac6: PUSH1 0x20 00000ac8: SWAP1 00000ac9: DUP2 00000aca: MSTORE 00000acb: PUSH1 0x40 00000acd: DUP1 00000ace: DUP4 00000acf: KECCAK256 00000ad0: PUSH1 0x01 00000ad2: DUP8 00000ad3: ADD 00000ad4: SLOAD 00000ad5: SWAP1 00000ad6: SWAP5 00000ad7: AND 00000ad8: DUP4 00000ad9: MSTORE 00000ada: SWAP3 00000adb: SWAP1 00000adc: MSTORE 00000add: KECCAK256 00000ade: PUSH1 0x01 00000ae0: PUSH1 0x80 00000ae2: PUSH1 0x02 00000ae4: EXP 00000ae5: SUB 00000ae6: SWAP1 00000ae7: SWAP2 00000ae8: AND 00000ae9: SWAP1 00000aea: SSTORE 00000aeb: PUSH2 0x0b1f 00000aee: JUMP 00000aef: JUMPDEST 00000af0: DUP1 00000af1: SLOAD 00000af2: PUSH1 0x01 00000af4: PUSH1 0xa0 00000af6: PUSH1 0x02 00000af8: EXP 00000af9: SUB 00000afa: SWAP1 00000afb: DUP2 00000afc: AND 00000afd: PUSH1 0x00 00000aff: SWAP1 00000b00: DUP2 00000b01: MSTORE 00000b02: PUSH1 0x06 00000b04: PUSH1 0x20 00000b06: SWAP1 00000b07: DUP2 00000b08: MSTORE 00000b09: PUSH1 0x40 00000b0b: DUP1 00000b0c: DUP4 00000b0d: KECCAK256 00000b0e: PUSH1 0x01 00000b10: DUP7 00000b11: ADD 00000b12: SLOAD 00000b13: SWAP1 00000b14: SWAP5 00000b15: AND 00000b16: DUP4 00000b17: MSTORE 00000b18: SWAP3 00000b19: SWAP1 00000b1a: MSTORE 00000b1b: SWAP1 00000b1c: DUP2 00000b1d: KECCAK256 00000b1e: SSTORE 00000b1f: JUMPDEST 00000b20: PUSH1 0x01 00000b22: DUP2 00000b23: ADD 00000b24: DUP1 00000b25: SLOAD 00000b26: PUSH1 0xa8 00000b28: PUSH1 0x02 00000b2a: EXP 00000b2b: PUSH1 0xff 00000b2d: MUL 00000b2e: NOT 00000b2f: AND 00000b30: PUSH1 0xa8 00000b32: PUSH1 0x02 00000b34: EXP 00000b35: OR 00000b36: SWAP1 00000b37: SSTORE 00000b38: POP 00000b39: POP 00000b3a: POP 00000b3b: JUMP 00000b3c: JUMPDEST 00000b3d: CALLER 00000b3e: PUSH1 0x00 00000b40: SWAP1 00000b41: DUP2 00000b42: MSTORE 00000b43: PUSH1 0x20 00000b45: DUP2 00000b46: SWAP1 00000b47: MSTORE 00000b48: PUSH1 0x40 00000b4a: DUP2 00000b4b: KECCAK256 00000b4c: SLOAD 00000b4d: DUP2 00000b4e: LT 00000b4f: PUSH2 0x0b57 00000b52: JUMPI 00000b53: PUSH1 0x00 00000b55: DUP1 00000b56: REVERT 00000b57: JUMPDEST 00000b58: POP 00000b59: PUSH1 0x0b 00000b5b: SLOAD 00000b5c: PUSH1 0x40 00000b5e: DUP1 00000b5f: MLOAD 00000b60: PUSH2 0x0120 00000b63: DUP2 00000b64: ADD 00000b65: DUP3 00000b66: MSTORE 00000b67: PUSH1 0x01 00000b69: PUSH1 0xa0 00000b6b: PUSH1 0x02 00000b6d: EXP 00000b6e: SUB 00000b6f: SWAP6 00000b70: DUP7 00000b71: AND 00000b72: DUP2 00000b73: MSTORE 00000b74: CALLER 00000b75: PUSH1 0x20 00000b77: DUP3 00000b78: ADD 00000b79: SWAP1 00000b7a: DUP2 00000b7b: MSTORE 00000b7c: PUSH1 0x05 00000b7e: SWAP3 00000b7f: DUP3 00000b80: ADD 00000b81: SWAP3 00000b82: DUP4 00000b83: MSTORE 00000b84: PUSH1 0x00 00000b86: PUSH1 0x60 00000b88: DUP4 00000b89: ADD 00000b8a: DUP2 00000b8b: DUP2 00000b8c: MSTORE 00000b8d: PUSH1 0x80 00000b8f: DUP5 00000b90: ADD 00000b91: DUP3 00000b92: DUP2 00000b93: MSTORE 00000b94: PUSH6 0xffffffffffff 00000b9b: TIMESTAMP 00000b9c: DUP2 00000b9d: DUP2 00000b9e: AND 00000b9f: PUSH1 0xa0 00000ba1: DUP9 00000ba2: ADD 00000ba3: SWAP1 00000ba4: DUP2 00000ba5: MSTORE 00000ba6: SWAP9 00000ba7: ADD 00000ba8: DUP2 00000ba9: AND 00000baa: PUSH1 0xc0 00000bac: DUP8 00000bad: ADD 00000bae: SWAP1 00000baf: DUP2 00000bb0: MSTORE 00000bb1: SWAP10 00000bb2: ISZERO 00000bb3: ISZERO 00000bb4: PUSH1 0xe0 00000bb6: DUP8 00000bb7: ADD 00000bb8: SWAP1 00000bb9: DUP2 00000bba: MSTORE 00000bbb: SWAP9 00000bbc: ISZERO 00000bbd: ISZERO 00000bbe: PUSH2 0x0100 00000bc1: DUP8 00000bc2: ADD 00000bc3: SWAP1 00000bc4: DUP2 00000bc5: MSTORE 00000bc6: PUSH1 0x0a 00000bc8: DUP1 00000bc9: SLOAD 00000bca: PUSH1 0x01 00000bcc: DUP2 00000bcd: ADD 00000bce: DUP3 00000bcf: SSTORE 00000bd0: SWAP6 00000bd1: MSTORE 00000bd2: SWAP6 00000bd3: MLOAD 00000bd4: PUSH1 0x03 00000bd6: SWAP1 00000bd7: SWAP5 00000bd8: MUL 00000bd9: PUSH1 0x00 00000bdb: DUP1 00000bdc: MLOAD 00000bdd: PUSH1 0x20 00000bdf: PUSH2 0x2ed6 00000be2: DUP4 00000be3: CODECOPY 00000be4: DUP2 00000be5: MLOAD 00000be6: SWAP2 00000be7: MSTORE 00000be8: DUP2 00000be9: ADD 00000bea: DUP1 00000beb: SLOAD 00000bec: SWAP6 00000bed: DUP14 00000bee: AND 00000bef: PUSH1 0x01 00000bf1: PUSH1 0xa0 00000bf3: PUSH1 0x02 00000bf5: EXP 00000bf6: SUB 00000bf7: NOT 00000bf8: SWAP7 00000bf9: DUP8 00000bfa: AND 00000bfb: OR 00000bfc: SWAP1 00000bfd: SSTORE 00000bfe: SWAP5 00000bff: MLOAD 00000c00: PUSH1 0x00 00000c02: DUP1 00000c03: MLOAD 00000c04: PUSH1 0x20 00000c06: PUSH2 0x2eb6 00000c09: DUP4 00000c0a: CODECOPY 00000c0b: DUP2 00000c0c: MLOAD 00000c0d: SWAP2 00000c0e: MSTORE 00000c0f: DUP7 00000c10: ADD 00000c11: DUP1 00000c12: SLOAD 00000c13: SWAP9 00000c14: MLOAD 00000c15: SWAP5 00000c16: MLOAD 00000c17: PUSH1 0xff 00000c19: SWAP1 00000c1a: DUP2 00000c1b: AND 00000c1c: PUSH1 0xa8 00000c1e: PUSH1 0x02 00000c20: EXP 00000c21: MUL 00000c22: PUSH1 0xa8 00000c24: PUSH1 0x02 00000c26: EXP 00000c27: PUSH1 0xff 00000c29: MUL 00000c2a: NOT 00000c2b: SWAP2 00000c2c: SWAP1 00000c2d: SWAP7 00000c2e: AND 00000c2f: PUSH1 0xa0 00000c31: PUSH1 0x02 00000c33: EXP 00000c34: MUL 00000c35: PUSH1 0xa0 00000c37: PUSH1 0x02 00000c39: EXP 00000c3a: PUSH1 0xff 00000c3c: MUL 00000c3d: NOT 00000c3e: SWAP4 00000c3f: SWAP1 00000c40: SWAP15 00000c41: AND 00000c42: SWAP10 00000c43: SWAP1 00000c44: SWAP7 00000c45: AND 00000c46: SWAP9 00000c47: SWAP1 00000c48: SWAP9 00000c49: OR 00000c4a: AND 00000c4b: SWAP11 00000c4c: SWAP1 00000c4d: SWAP11 00000c4e: OR 00000c4f: SWAP3 00000c50: SWAP1 00000c51: SWAP3 00000c52: AND 00000c53: OR 00000c54: SWAP1 00000c55: SWAP4 00000c56: SSTORE 00000c57: SWAP2 00000c58: MLOAD 00000c59: PUSH1 0x00 00000c5b: DUP1 00000c5c: MLOAD 00000c5d: PUSH1 0x20 00000c5f: PUSH2 0x2ef6 00000c62: DUP4 00000c63: CODECOPY 00000c64: DUP2 00000c65: MLOAD 00000c66: SWAP2 00000c67: MSTORE 00000c68: SWAP1 00000c69: SWAP3 00000c6a: ADD 00000c6b: DUP1 00000c6c: SLOAD 00000c6d: SWAP4 00000c6e: MLOAD 00000c6f: SWAP6 00000c70: MLOAD 00000c71: SWAP5 00000c72: MLOAD 00000c73: SWAP2 00000c74: MLOAD 00000c75: ISZERO 00000c76: ISZERO 00000c77: PUSH1 0xe8 00000c79: PUSH1 0x02 00000c7b: EXP 00000c7c: MUL 00000c7d: PUSH1 0xe8 00000c7f: PUSH1 0x02 00000c81: EXP 00000c82: PUSH1 0xff 00000c84: MUL 00000c85: NOT 00000c86: SWAP3 00000c87: ISZERO 00000c88: ISZERO 00000c89: PUSH1 0xe0 00000c8b: PUSH1 0x02 00000c8d: EXP 00000c8e: MUL 00000c8f: PUSH1 0xe0 00000c91: PUSH1 0x02 00000c93: EXP 00000c94: PUSH1 0xff 00000c96: MUL 00000c97: NOT 00000c98: SWAP7 00000c99: DUP10 00000c9a: AND 00000c9b: PUSH1 0xb0 00000c9d: PUSH1 0x02 00000c9f: EXP 00000ca0: MUL 00000ca1: PUSH1 0x00 00000ca3: DUP1 00000ca4: MLOAD 00000ca5: PUSH1 0x20 00000ca7: PUSH2 0x2f16 00000caa: DUP4 00000cab: CODECOPY 00000cac: DUP2 00000cad: MLOAD 00000cae: SWAP2 00000caf: MSTORE 00000cb0: SWAP9 00000cb1: SWAP1 00000cb2: SWAP10 00000cb3: AND 00000cb4: PUSH1 0x80 00000cb6: PUSH1 0x02 00000cb8: EXP 00000cb9: MUL 00000cba: PUSH22 0xffffffffffff00000000000000000000000000000000 00000cd1: NOT 00000cd2: PUSH1 0x01 00000cd4: PUSH1 0x80 00000cd6: PUSH1 0x02 00000cd8: EXP 00000cd9: SUB 00000cda: SWAP1 00000cdb: SWAP7 00000cdc: AND 00000cdd: PUSH16 0xffffffffffffffffffffffffffffffff 00000cee: NOT 00000cef: SWAP1 00000cf0: SWAP8 00000cf1: AND 00000cf2: SWAP7 00000cf3: SWAP1 00000cf4: SWAP7 00000cf5: OR 00000cf6: SWAP5 00000cf7: SWAP1 00000cf8: SWAP5 00000cf9: AND 00000cfa: SWAP5 00000cfb: SWAP1 00000cfc: SWAP5 00000cfd: OR 00000cfe: SWAP6 00000cff: SWAP1 00000d00: SWAP6 00000d01: AND 00000d02: SWAP6 00000d03: SWAP1 00000d04: SWAP6 00000d05: OR 00000d06: SWAP3 00000d07: SWAP1 00000d08: SWAP3 00000d09: AND 00000d0a: SWAP2 00000d0b: SWAP1 00000d0c: SWAP2 00000d0d: OR 00000d0e: SWAP3 00000d0f: SWAP1 00000d10: SWAP3 00000d11: AND 00000d12: SWAP2 00000d13: SWAP1 00000d14: SWAP2 00000d15: OR 00000d16: SWAP1 00000d17: SSTORE 00000d18: JUMP 00000d19: JUMPDEST 00000d1a: PUSH1 0x00 00000d1c: DUP2 00000d1d: JUMP 00000d1e: JUMPDEST 00000d1f: CALLER 00000d20: PUSH1 0x00 00000d22: SWAP1 00000d23: DUP2 00000d24: MSTORE 00000d25: PUSH1 0x20 00000d27: DUP2 00000d28: SWAP1 00000d29: MSTORE 00000d2a: PUSH1 0x40 00000d2c: DUP2 00000d2d: KECCAK256 00000d2e: SLOAD 00000d2f: DUP2 00000d30: LT 00000d31: PUSH2 0x0d39 00000d34: JUMPI 00000d35: PUSH1 0x00 00000d37: DUP1 00000d38: REVERT 00000d39: JUMPDEST 00000d3a: PUSH3 0x015180 00000d3e: DUP3 00000d3f: PUSH1 0x01 00000d41: PUSH1 0x80 00000d43: PUSH1 0x02 00000d45: EXP 00000d46: SUB 00000d47: AND 00000d48: LT 00000d49: ISZERO 00000d4a: DUP1 00000d4b: ISZERO 00000d4c: PUSH2 0x0d61 00000d4f: JUMPI 00000d50: POP 00000d51: PUSH3 0x278d00 00000d55: DUP3 00000d56: PUSH1 0x01 00000d58: PUSH1 0x80 00000d5a: PUSH1 0x02 00000d5c: EXP 00000d5d: SUB 00000d5e: AND 00000d5f: GT 00000d60: ISZERO 00000d61: JUMPDEST 00000d62: ISZERO 00000d63: ISZERO 00000d64: PUSH2 0x0d6c 00000d67: JUMPI 00000d68: PUSH1 0x00 00000d6a: DUP1 00000d6b: REVERT 00000d6c: JUMPDEST 00000d6d: POP 00000d6e: PUSH1 0x0b 00000d70: SLOAD 00000d71: PUSH1 0x40 00000d73: DUP1 00000d74: MLOAD 00000d75: PUSH2 0x0120 00000d78: DUP2 00000d79: ADD 00000d7a: DUP3 00000d7b: MSTORE 00000d7c: PUSH1 0x00 00000d7e: DUP1 00000d7f: DUP3 00000d80: MSTORE 00000d81: CALLER 00000d82: PUSH1 0x20 00000d84: DUP4 00000d85: ADD 00000d86: SWAP1 00000d87: DUP2 00000d88: MSTORE 00000d89: PUSH1 0x06 00000d8b: SWAP4 00000d8c: DUP4 00000d8d: ADD 00000d8e: SWAP4 00000d8f: DUP5 00000d90: MSTORE 00000d91: PUSH1 0x60 00000d93: DUP4 00000d94: ADD 00000d95: DUP3 00000d96: DUP2 00000d97: MSTORE 00000d98: PUSH1 0x01 00000d9a: PUSH1 0x80 00000d9c: PUSH1 0x02 00000d9e: EXP 00000d9f: SUB 00000da0: SWAP7 00000da1: DUP8 00000da2: AND 00000da3: PUSH1 0x80 00000da5: DUP6 00000da6: ADD 00000da7: SWAP1 00000da8: DUP2 00000da9: MSTORE 00000daa: TIMESTAMP 00000dab: PUSH6 0xffffffffffff 00000db2: DUP2 00000db3: DUP2 00000db4: AND 00000db5: PUSH1 0xa0 00000db7: DUP9 00000db8: ADD 00000db9: SWAP1 00000dba: DUP2 00000dbb: MSTORE 00000dbc: SWAP2 00000dbd: SWAP1 00000dbe: SWAP9 00000dbf: ADD 00000dc0: DUP9 00000dc1: AND 00000dc2: PUSH1 0xc0 00000dc4: DUP8 00000dc5: ADD 00000dc6: SWAP1 00000dc7: DUP2 00000dc8: MSTORE 00000dc9: PUSH1 0xe0 00000dcb: DUP8 00000dcc: ADD 00000dcd: DUP7 00000dce: DUP2 00000dcf: MSTORE 00000dd0: PUSH2 0x0100 00000dd3: DUP9 00000dd4: ADD 00000dd5: DUP8 00000dd6: DUP2 00000dd7: MSTORE 00000dd8: PUSH1 0x0a 00000dda: DUP1 00000ddb: SLOAD 00000ddc: PUSH1 0x01 00000dde: DUP2 00000ddf: ADD 00000de0: DUP3 00000de1: SSTORE 00000de2: SWAP9 00000de3: MSTORE 00000de4: SWAP8 00000de5: MLOAD 00000de6: PUSH1 0x00 00000de8: DUP1 00000de9: MLOAD 00000dea: PUSH1 0x20 00000dec: PUSH2 0x2ed6 00000def: DUP4 00000df0: CODECOPY 00000df1: DUP2 00000df2: MLOAD 00000df3: SWAP2 00000df4: MSTORE 00000df5: PUSH1 0x03 00000df7: SWAP1 00000df8: SWAP9 00000df9: MUL 00000dfa: SWAP8 00000dfb: DUP9 00000dfc: ADD 00000dfd: DUP1 00000dfe: SLOAD 00000dff: PUSH1 0x01 00000e01: PUSH1 0xa0 00000e03: PUSH1 0x02 00000e05: EXP 00000e06: SUB 00000e07: NOT 00000e08: SWAP1 00000e09: DUP2 00000e0a: AND 00000e0b: PUSH1 0x01 00000e0d: PUSH1 0xa0 00000e0f: PUSH1 0x02 00000e11: EXP 00000e12: SUB 00000e13: SWAP4 00000e14: DUP5 00000e15: AND 00000e16: OR 00000e17: SWAP1 00000e18: SWAP2 00000e19: SSTORE 00000e1a: SWAP7 00000e1b: MLOAD 00000e1c: PUSH1 0x00 00000e1e: DUP1 00000e1f: MLOAD 00000e20: PUSH1 0x20 00000e22: PUSH2 0x2eb6 00000e25: DUP4 00000e26: CODECOPY 00000e27: DUP2 00000e28: MLOAD 00000e29: SWAP2 00000e2a: MSTORE 00000e2b: DUP10 00000e2c: ADD 00000e2d: DUP1 00000e2e: SLOAD 00000e2f: SWAP12 00000e30: MLOAD 00000e31: SWAP8 00000e32: MLOAD 00000e33: SWAP12 00000e34: SWAP1 00000e35: SWAP9 00000e36: AND 00000e37: SWAP2 00000e38: AND 00000e39: OR 00000e3a: PUSH1 0xa0 00000e3c: PUSH1 0x02 00000e3e: EXP 00000e3f: PUSH1 0xff 00000e41: MUL 00000e42: NOT 00000e43: AND 00000e44: PUSH1 0xa0 00000e46: PUSH1 0x02 00000e48: EXP 00000e49: PUSH1 0xff 00000e4b: SWAP7 00000e4c: DUP8 00000e4d: AND 00000e4e: MUL 00000e4f: OR 00000e50: PUSH1 0xa8 00000e52: PUSH1 0x02 00000e54: EXP 00000e55: PUSH1 0xff 00000e57: MUL 00000e58: NOT 00000e59: AND 00000e5a: PUSH1 0xa8 00000e5c: PUSH1 0x02 00000e5e: EXP 00000e5f: SWAP6 00000e60: SWAP1 00000e61: SWAP10 00000e62: AND 00000e63: SWAP5 00000e64: SWAP1 00000e65: SWAP5 00000e66: MUL 00000e67: SWAP8 00000e68: SWAP1 00000e69: SWAP8 00000e6a: OR 00000e6b: SWAP1 00000e6c: SWAP4 00000e6d: SSTORE 00000e6e: MLOAD 00000e6f: PUSH1 0x00 00000e71: DUP1 00000e72: MLOAD 00000e73: PUSH1 0x20 00000e75: PUSH2 0x2ef6 00000e78: DUP4 00000e79: CODECOPY 00000e7a: DUP2 00000e7b: MLOAD 00000e7c: SWAP2 00000e7d: MSTORE 00000e7e: SWAP1 00000e7f: SWAP4 00000e80: ADD 00000e81: DUP1 00000e82: SLOAD 00000e83: SWAP3 00000e84: MLOAD 00000e85: SWAP6 00000e86: MLOAD 00000e87: SWAP2 00000e88: MLOAD 00000e89: SWAP5 00000e8a: MLOAD 00000e8b: PUSH16 0xffffffffffffffffffffffffffffffff 00000e9c: NOT 00000e9d: SWAP1 00000e9e: SWAP4 00000e9f: AND 00000ea0: SWAP4 00000ea1: SWAP1 00000ea2: SWAP8 00000ea3: AND 00000ea4: SWAP3 00000ea5: SWAP1 00000ea6: SWAP3 00000ea7: OR 00000ea8: PUSH22 0xffffffffffff00000000000000000000000000000000 00000ebf: NOT 00000ec0: AND 00000ec1: PUSH1 0x80 00000ec3: PUSH1 0x02 00000ec5: EXP 00000ec6: SWAP5 00000ec7: DUP7 00000ec8: AND 00000ec9: SWAP5 00000eca: SWAP1 00000ecb: SWAP5 00000ecc: MUL 00000ecd: SWAP4 00000ece: SWAP1 00000ecf: SWAP4 00000ed0: OR 00000ed1: PUSH1 0x00 00000ed3: DUP1 00000ed4: MLOAD 00000ed5: PUSH1 0x20 00000ed7: PUSH2 0x2f16 00000eda: DUP4 00000edb: CODECOPY 00000edc: DUP2 00000edd: MLOAD 00000ede: SWAP2 00000edf: MSTORE 00000ee0: AND 00000ee1: PUSH1 0xb0 00000ee3: PUSH1 0x02 00000ee5: EXP 00000ee6: SWAP2 00000ee7: SWAP1 00000ee8: SWAP5 00000ee9: AND 00000eea: MUL 00000eeb: SWAP3 00000eec: SWAP1 00000eed: SWAP3 00000eee: OR 00000eef: PUSH1 0xe0 00000ef1: PUSH1 0x02 00000ef3: EXP 00000ef4: PUSH1 0xff 00000ef6: MUL 00000ef7: NOT 00000ef8: AND 00000ef9: PUSH1 0xe0 00000efb: PUSH1 0x02 00000efd: EXP 00000efe: SWAP3 00000eff: ISZERO 00000f00: ISZERO 00000f01: SWAP3 00000f02: SWAP1 00000f03: SWAP3 00000f04: MUL 00000f05: SWAP2 00000f06: SWAP1 00000f07: SWAP2 00000f08: OR 00000f09: PUSH1 0xe8 00000f0b: PUSH1 0x02 00000f0d: EXP 00000f0e: PUSH1 0xff 00000f10: MUL 00000f11: NOT 00000f12: AND 00000f13: PUSH1 0xe8 00000f15: PUSH1 0x02 00000f17: EXP 00000f18: SWAP2 00000f19: ISZERO 00000f1a: ISZERO 00000f1b: SWAP2 00000f1c: SWAP1 00000f1d: SWAP2 00000f1e: MUL 00000f1f: OR 00000f20: SWAP1 00000f21: SSTORE 00000f22: JUMP 00000f23: JUMPDEST 00000f24: CALLER 00000f25: PUSH1 0x00 00000f27: SWAP1 00000f28: DUP2 00000f29: MSTORE 00000f2a: PUSH1 0x20 00000f2c: DUP2 00000f2d: SWAP1 00000f2e: MSTORE 00000f2f: PUSH1 0x40 00000f31: DUP2 00000f32: KECCAK256 00000f33: SLOAD 00000f34: DUP2 00000f35: SWAP1 00000f36: DUP2 00000f37: LT 00000f38: PUSH2 0x0f40 00000f3b: JUMPI 00000f3c: PUSH1 0x00 00000f3e: DUP1 00000f3f: REVERT 00000f40: JUMPDEST 00000f41: PUSH1 0x0a 00000f43: DUP1 00000f44: SLOAD 00000f45: DUP6 00000f46: SWAP1 00000f47: DUP2 00000f48: LT 00000f49: PUSH2 0x0f4e 00000f4c: JUMPI 00000f4d: INVALID 00000f4e: JUMPDEST 00000f4f: PUSH1 0x00 00000f51: SWAP2 00000f52: DUP3 00000f53: MSTORE 00000f54: PUSH1 0x20 00000f56: SWAP1 00000f57: SWAP2 00000f58: KECCAK256 00000f59: PUSH1 0x01 00000f5b: PUSH1 0x03 00000f5d: SWAP1 00000f5e: SWAP3 00000f5f: MUL 00000f60: ADD 00000f61: DUP2 00000f62: DUP2 00000f63: ADD 00000f64: SLOAD 00000f65: SWAP1 00000f66: SWAP4 00000f67: POP 00000f68: PUSH1 0xa0 00000f6a: PUSH1 0x02 00000f6c: EXP 00000f6d: SWAP1 00000f6e: DIV 00000f6f: PUSH1 0xff 00000f71: AND 00000f72: EQ 00000f73: PUSH2 0x0f7b 00000f76: JUMPI 00000f77: PUSH1 0x00 00000f79: DUP1 00000f7a: REVERT 00000f7b: JUMPDEST 00000f7c: PUSH1 0x01 00000f7e: DUP3 00000f7f: ADD 00000f80: SLOAD 00000f81: PUSH1 0xa8 00000f83: PUSH1 0x02 00000f85: EXP 00000f86: SWAP1 00000f87: DIV 00000f88: PUSH1 0xff 00000f8a: AND 00000f8b: ISZERO 00000f8c: PUSH2 0x0f94 00000f8f: JUMPI 00000f90: PUSH1 0x00 00000f92: DUP1 00000f93: REVERT 00000f94: JUMPDEST 00000f95: DUP3 00000f96: ISZERO 00000f97: PUSH2 0x0fb7 00000f9a: JUMPI 00000f9b: PUSH1 0x01 00000f9d: DUP3 00000f9e: ADD 00000f9f: DUP1 00000fa0: SLOAD 00000fa1: PUSH1 0xa8 00000fa3: PUSH1 0x02 00000fa5: EXP 00000fa6: PUSH1 0xff 00000fa8: MUL 00000fa9: NOT 00000faa: AND 00000fab: PUSH1 0xa9 00000fad: PUSH1 0x02 00000faf: EXP 00000fb0: OR 00000fb1: SWAP1 00000fb2: SSTORE 00000fb3: PUSH2 0x084b 00000fb6: JUMP 00000fb7: JUMPDEST 00000fb8: PUSH1 0x02 00000fba: DUP3 00000fbb: ADD 00000fbc: SLOAD 00000fbd: PUSH1 0x00 00000fbf: PUSH1 0xb0 00000fc1: PUSH1 0x02 00000fc3: EXP 00000fc4: SWAP1 00000fc5: SWAP2 00000fc6: DIV 00000fc7: PUSH6 0xffffffffffff 00000fce: AND 00000fcf: GT 00000fd0: DUP1 00000fd1: ISZERO 00000fd2: PUSH2 0x0fee 00000fd5: JUMPI 00000fd6: POP 00000fd7: PUSH1 0x02 00000fd9: DUP3 00000fda: ADD 00000fdb: SLOAD 00000fdc: TIMESTAMP 00000fdd: PUSH1 0xb0 00000fdf: PUSH1 0x02 00000fe1: EXP 00000fe2: SWAP1 00000fe3: SWAP2 00000fe4: DIV 00000fe5: PUSH6 0xffffffffffff 00000fec: AND 00000fed: LT 00000fee: JUMPDEST 00000fef: ISZERO 00000ff0: ISZERO 00000ff1: PUSH2 0x0ff9 00000ff4: JUMPI 00000ff5: PUSH1 0x00 00000ff7: DUP1 00000ff8: REVERT 00000ff9: JUMPDEST 00000ffa: POP 00000ffb: PUSH1 0x00 00000ffd: DUP4 00000ffe: DUP2 00000fff: MSTORE 00001000: PUSH1 0x05 00001002: PUSH1 0x20 00001004: MSTORE 00001005: PUSH1 0x40 00001007: SWAP1 00001008: KECCAK256 00001009: SLOAD 0000100a: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 0000102b: DUP2 0000102c: EQ 0000102d: ISZERO 0000102e: PUSH2 0x1050 00001031: JUMPI 00001032: DUP2 00001033: SLOAD 00001034: PUSH1 0x01 00001036: PUSH1 0xa0 00001038: PUSH1 0x02 0000103a: EXP 0000103b: SUB 0000103c: AND 0000103d: PUSH1 0x00 0000103f: SWAP1 00001040: DUP2 00001041: MSTORE 00001042: PUSH1 0x04 00001044: PUSH1 0x20 00001046: MSTORE 00001047: PUSH1 0x40 00001049: DUP2 0000104a: KECCAK256 0000104b: SSTORE 0000104c: PUSH2 0x106d 0000104f: JUMP 00001050: JUMPDEST 00001051: DUP2 00001052: SLOAD 00001053: PUSH1 0x01 00001055: PUSH1 0xa0 00001057: PUSH1 0x02 00001059: EXP 0000105a: SUB 0000105b: AND 0000105c: PUSH1 0x00 0000105e: SWAP1 0000105f: DUP2 00001060: MSTORE 00001061: PUSH1 0x04 00001063: PUSH1 0x20 00001065: MSTORE 00001066: PUSH1 0x40 00001068: SWAP1 00001069: KECCAK256 0000106a: DUP2 0000106b: SWAP1 0000106c: SSTORE 0000106d: JUMPDEST 0000106e: PUSH1 0x00 00001070: DUP5 00001071: DUP2 00001072: MSTORE 00001073: PUSH1 0x05 00001075: PUSH1 0x20 00001077: MSTORE 00001078: PUSH1 0x40 0000107a: DUP2 0000107b: KECCAK256 0000107c: SSTORE 0000107d: PUSH1 0x01 0000107f: DUP3 00001080: ADD 00001081: DUP1 00001082: SLOAD 00001083: PUSH1 0xa8 00001085: PUSH1 0x02 00001087: EXP 00001088: PUSH1 0xff 0000108a: MUL 0000108b: NOT 0000108c: AND 0000108d: PUSH1 0xa8 0000108f: PUSH1 0x02 00001091: EXP 00001092: OR 00001093: SWAP1 00001094: SSTORE 00001095: POP 00001096: POP 00001097: POP 00001098: POP 00001099: JUMP 0000109a: JUMPDEST 0000109b: CALLER 0000109c: PUSH1 0x00 0000109e: SWAP1 0000109f: DUP2 000010a0: MSTORE 000010a1: PUSH1 0x20 000010a3: DUP2 000010a4: SWAP1 000010a5: MSTORE 000010a6: PUSH1 0x40 000010a8: DUP2 000010a9: KECCAK256 000010aa: SLOAD 000010ab: DUP2 000010ac: LT 000010ad: PUSH2 0x10b5 000010b0: JUMPI 000010b1: PUSH1 0x00 000010b3: DUP1 000010b4: REVERT 000010b5: JUMPDEST 000010b6: PUSH1 0x0a 000010b8: DUP1 000010b9: SLOAD 000010ba: DUP5 000010bb: SWAP1 000010bc: DUP2 000010bd: LT 000010be: PUSH2 0x10c3 000010c1: JUMPI 000010c2: INVALID 000010c3: JUMPDEST 000010c4: PUSH1 0x00 000010c6: SWAP2 000010c7: DUP3 000010c8: MSTORE 000010c9: PUSH1 0x20 000010cb: SWAP1 000010cc: SWAP2 000010cd: KECCAK256 000010ce: PUSH1 0x01 000010d0: PUSH1 0x03 000010d2: SWAP1 000010d3: SWAP3 000010d4: MUL 000010d5: ADD 000010d6: SWAP1 000010d7: DUP2 000010d8: ADD 000010d9: SLOAD 000010da: SWAP1 000010db: SWAP2 000010dc: POP 000010dd: PUSH1 0xa0 000010df: PUSH1 0x02 000010e1: EXP 000010e2: SWAP1 000010e3: DIV 000010e4: PUSH1 0xff 000010e6: AND 000010e7: PUSH1 0x08 000010e9: EQ 000010ea: PUSH2 0x10f2 000010ed: JUMPI 000010ee: PUSH1 0x00 000010f0: DUP1 000010f1: REVERT 000010f2: JUMPDEST 000010f3: PUSH1 0x01 000010f5: DUP2 000010f6: ADD 000010f7: SLOAD 000010f8: PUSH1 0xa8 000010fa: PUSH1 0x02 000010fc: EXP 000010fd: SWAP1 000010fe: DIV 000010ff: PUSH1 0xff 00001101: AND 00001102: ISZERO 00001103: PUSH2 0x110b 00001106: JUMPI 00001107: PUSH1 0x00 00001109: DUP1 0000110a: REVERT 0000110b: JUMPDEST 0000110c: DUP2 0000110d: ISZERO 0000110e: PUSH2 0x112e 00001111: JUMPI 00001112: PUSH1 0x01 00001114: DUP2 00001115: ADD 00001116: DUP1 00001117: SLOAD 00001118: PUSH1 0xa8 0000111a: PUSH1 0x02 0000111c: EXP 0000111d: PUSH1 0xff 0000111f: MUL 00001120: NOT 00001121: AND 00001122: PUSH1 0xa9 00001124: PUSH1 0x02 00001126: EXP 00001127: OR 00001128: SWAP1 00001129: SSTORE 0000112a: PUSH2 0x0790 0000112d: JUMP 0000112e: JUMPDEST 0000112f: PUSH1 0x02 00001131: DUP2 00001132: ADD 00001133: SLOAD 00001134: PUSH1 0x00 00001136: PUSH1 0xb0 00001138: PUSH1 0x02 0000113a: EXP 0000113b: SWAP1 0000113c: SWAP2 0000113d: DIV 0000113e: PUSH6 0xffffffffffff 00001145: AND 00001146: GT 00001147: DUP1 00001148: ISZERO 00001149: PUSH2 0x1165 0000114c: JUMPI 0000114d: POP 0000114e: PUSH1 0x02 00001150: DUP2 00001151: ADD 00001152: SLOAD 00001153: TIMESTAMP 00001154: PUSH1 0xb0 00001156: PUSH1 0x02 00001158: EXP 00001159: SWAP1 0000115a: SWAP2 0000115b: DIV 0000115c: PUSH6 0xffffffffffff 00001163: AND 00001164: LT 00001165: JUMPDEST 00001166: ISZERO 00001167: PUSH2 0x0790 0000116a: JUMPI 0000116b: DUP1 0000116c: SLOAD 0000116d: PUSH1 0x01 0000116f: PUSH1 0xa0 00001171: PUSH1 0x02 00001173: EXP 00001174: SUB 00001175: AND 00001176: PUSH1 0x00 00001178: SWAP1 00001179: DUP2 0000117a: MSTORE 0000117b: PUSH1 0x0c 0000117d: PUSH1 0x20 0000117f: MSTORE 00001180: PUSH1 0x40 00001182: SWAP1 00001183: KECCAK256 00001184: DUP1 00001185: SLOAD 00001186: PUSH1 0xff 00001188: NOT 00001189: AND 0000118a: PUSH1 0x01 0000118c: SWAP1 0000118d: DUP2 0000118e: OR 0000118f: SWAP1 00001190: SWAP2 00001191: SSTORE 00001192: DUP2 00001193: ADD 00001194: DUP1 00001195: SLOAD 00001196: PUSH1 0xa8 00001198: PUSH1 0x02 0000119a: EXP 0000119b: PUSH1 0xff 0000119d: MUL 0000119e: NOT 0000119f: AND 000011a0: PUSH1 0xa8 000011a2: PUSH1 0x02 000011a4: EXP 000011a5: OR 000011a6: SWAP1 000011a7: SSTORE 000011a8: POP 000011a9: POP 000011aa: POP 000011ab: JUMP 000011ac: JUMPDEST 000011ad: PUSH1 0x02 000011af: SLOAD 000011b0: JUMPDEST 000011b1: SWAP1 000011b2: JUMP 000011b3: JUMPDEST 000011b4: PUSH1 0x02 000011b6: DUP1 000011b7: SLOAD 000011b8: DUP3 000011b9: SWAP1 000011ba: DUP2 000011bb: LT 000011bc: PUSH2 0x07a8 000011bf: JUMPI 000011c0: INVALID 000011c1: JUMPDEST 000011c2: PUSH1 0x07 000011c4: DUP2 000011c5: JUMP 000011c6: JUMPDEST 000011c7: CALLER 000011c8: PUSH1 0x00 000011ca: SWAP1 000011cb: DUP2 000011cc: MSTORE 000011cd: PUSH1 0x0c 000011cf: PUSH1 0x20 000011d1: MSTORE 000011d2: PUSH1 0x40 000011d4: SWAP1 000011d5: KECCAK256 000011d6: SLOAD 000011d7: PUSH1 0xff 000011d9: AND 000011da: ISZERO 000011db: ISZERO 000011dc: PUSH2 0x11e4 000011df: JUMPI 000011e0: PUSH1 0x00 000011e2: DUP1 000011e3: REVERT 000011e4: JUMPDEST 000011e5: PUSH1 0x40 000011e7: MLOAD 000011e8: CALLER 000011e9: SWAP1 000011ea: DUP3 000011eb: ISZERO 000011ec: PUSH2 0x08fc 000011ef: MUL 000011f0: SWAP1 000011f1: DUP4 000011f2: SWAP1 000011f3: PUSH1 0x00 000011f5: DUP2 000011f6: DUP2 000011f7: DUP2 000011f8: DUP6 000011f9: DUP9 000011fa: DUP9 000011fb: CALL 000011fc: SWAP4 000011fd: POP 000011fe: POP 000011ff: POP 00001200: POP 00001201: ISZERO 00001202: DUP1 00001203: ISZERO 00001204: PUSH2 0x0803 00001207: JUMPI 00001208: RETURNDATASIZE 00001209: PUSH1 0x00 0000120b: DUP1 0000120c: RETURNDATACOPY 0000120d: RETURNDATASIZE 0000120e: PUSH1 0x00 00001210: REVERT 00001211: JUMPDEST 00001212: PUSH1 0x06 00001214: DUP2 00001215: JUMP 00001216: JUMPDEST 00001217: PUSH1 0x04 00001219: DUP2 0000121a: JUMP 0000121b: JUMPDEST 0000121c: PUSH1 0x03 0000121e: DUP2 0000121f: JUMP 00001220: JUMPDEST 00001221: PUSH1 0x0a 00001223: DUP1 00001224: SLOAD 00001225: DUP3 00001226: SWAP1 00001227: DUP2 00001228: LT 00001229: PUSH2 0x122e 0000122c: JUMPI 0000122d: INVALID 0000122e: JUMPDEST 0000122f: PUSH1 0x00 00001231: SWAP2 00001232: DUP3 00001233: MSTORE 00001234: PUSH1 0x20 00001236: SWAP1 00001237: SWAP2 00001238: KECCAK256 00001239: PUSH1 0x03 0000123b: SWAP1 0000123c: SWAP2 0000123d: MUL 0000123e: ADD 0000123f: DUP1 00001240: SLOAD 00001241: PUSH1 0x01 00001243: DUP3 00001244: ADD 00001245: SLOAD 00001246: PUSH1 0x02 00001248: SWAP1 00001249: SWAP3 0000124a: ADD 0000124b: SLOAD 0000124c: PUSH1 0x01 0000124e: PUSH1 0xa0 00001250: PUSH1 0x02 00001252: EXP 00001253: SUB 00001254: SWAP2 00001255: DUP3 00001256: AND 00001257: SWAP4 00001258: POP 00001259: SWAP1 0000125a: DUP3 0000125b: AND 0000125c: SWAP2 0000125d: PUSH1 0xff 0000125f: PUSH1 0xa0 00001261: PUSH1 0x02 00001263: EXP 00001264: DUP3 00001265: DIV 00001266: DUP2 00001267: AND 00001268: SWAP3 00001269: PUSH1 0xa8 0000126b: PUSH1 0x02 0000126d: EXP 0000126e: SWAP1 0000126f: SWAP3 00001270: DIV 00001271: DUP2 00001272: AND 00001273: SWAP2 00001274: PUSH1 0x01 00001276: PUSH1 0x80 00001278: PUSH1 0x02 0000127a: EXP 0000127b: SUB 0000127c: DUP2 0000127d: AND 0000127e: SWAP2 0000127f: PUSH6 0xffffffffffff 00001286: PUSH1 0x80 00001288: PUSH1 0x02 0000128a: EXP 0000128b: DUP4 0000128c: DIV 0000128d: DUP2 0000128e: AND 0000128f: SWAP3 00001290: PUSH1 0xb0 00001292: PUSH1 0x02 00001294: EXP 00001295: DUP2 00001296: DIV 00001297: SWAP1 00001298: SWAP2 00001299: AND 0000129a: SWAP2 0000129b: PUSH1 0xe0 0000129d: PUSH1 0x02 0000129f: EXP 000012a0: DUP3 000012a1: DIV 000012a2: DUP2 000012a3: AND 000012a4: SWAP2 000012a5: PUSH1 0xe8 000012a7: PUSH1 0x02 000012a9: EXP 000012aa: SWAP1 000012ab: DIV 000012ac: AND 000012ad: DUP10 000012ae: JUMP 000012af: JUMPDEST 000012b0: PUSH1 0x03 000012b2: PUSH1 0x20 000012b4: MSTORE 000012b5: PUSH1 0x00 000012b7: SWAP1 000012b8: DUP2 000012b9: MSTORE 000012ba: PUSH1 0x40 000012bc: SWAP1 000012bd: KECCAK256 000012be: SLOAD 000012bf: PUSH1 0x01 000012c1: PUSH1 0x80 000012c3: PUSH1 0x02 000012c5: EXP 000012c6: SUB 000012c7: DUP2 000012c8: AND 000012c9: SWAP1 000012ca: PUSH1 0xff 000012cc: PUSH1 0x80 000012ce: PUSH1 0x02 000012d0: EXP 000012d1: DUP3 000012d2: DIV 000012d3: DUP2 000012d4: AND 000012d5: SWAP2 000012d6: PUSH18 0x010000000000000000000000000000000000 000012e9: SWAP1 000012ea: DIV 000012eb: AND 000012ec: DUP4 000012ed: JUMP 000012ee: JUMPDEST 000012ef: CALLER 000012f0: PUSH1 0x00 000012f2: SWAP1 000012f3: DUP2 000012f4: MSTORE 000012f5: PUSH1 0x0c 000012f7: PUSH1 0x20 000012f9: MSTORE 000012fa: PUSH1 0x40 000012fc: SWAP1 000012fd: KECCAK256 000012fe: SLOAD 000012ff: PUSH1 0xff 00001301: AND 00001302: ISZERO 00001303: ISZERO 00001304: PUSH2 0x130c 00001307: JUMPI 00001308: PUSH1 0x00 0000130a: DUP1 0000130b: REVERT 0000130c: JUMPDEST 0000130d: PUSH1 0x40 0000130f: DUP1 00001310: MLOAD 00001311: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00001332: DUP2 00001333: MSTORE 00001334: CALLER 00001335: PUSH1 0x04 00001337: DUP3 00001338: ADD 00001339: MSTORE 0000133a: PUSH1 0x24 0000133c: DUP2 0000133d: ADD 0000133e: DUP4 0000133f: SWAP1 00001340: MSTORE 00001341: SWAP1 00001342: MLOAD 00001343: PUSH1 0x01 00001345: PUSH1 0xa0 00001347: PUSH1 0x02 00001349: EXP 0000134a: SUB 0000134b: DUP5 0000134c: AND 0000134d: SWAP2 0000134e: PUSH4 0xa9059cbb 00001353: SWAP2 00001354: PUSH1 0x44 00001356: DUP1 00001357: DUP4 00001358: ADD 00001359: SWAP3 0000135a: PUSH1 0x20 0000135c: SWAP3 0000135d: SWAP2 0000135e: SWAP1 0000135f: DUP3 00001360: SWAP1 00001361: SUB 00001362: ADD 00001363: DUP2 00001364: PUSH1 0x00 00001366: DUP8 00001367: DUP1 00001368: EXTCODESIZE 00001369: ISZERO 0000136a: DUP1 0000136b: ISZERO 0000136c: PUSH2 0x1374 0000136f: JUMPI 00001370: PUSH1 0x00 00001372: DUP1 00001373: REVERT 00001374: JUMPDEST 00001375: POP 00001376: GAS 00001377: CALL 00001378: ISZERO 00001379: DUP1 0000137a: ISZERO 0000137b: PUSH2 0x1388 0000137e: JUMPI 0000137f: RETURNDATASIZE 00001380: PUSH1 0x00 00001382: DUP1 00001383: RETURNDATACOPY 00001384: RETURNDATASIZE 00001385: PUSH1 0x00 00001387: REVERT 00001388: JUMPDEST 00001389: POP 0000138a: POP 0000138b: POP 0000138c: POP 0000138d: PUSH1 0x40 0000138f: MLOAD 00001390: RETURNDATASIZE 00001391: PUSH1 0x20 00001393: DUP2 00001394: LT 00001395: ISZERO 00001396: PUSH2 0x139e 00001399: JUMPI 0000139a: PUSH1 0x00 0000139c: DUP1 0000139d: REVERT 0000139e: JUMPDEST 0000139f: POP 000013a0: MLOAD 000013a1: ISZERO 000013a2: ISZERO 000013a3: PUSH2 0x0803 000013a6: JUMPI 000013a7: PUSH1 0x00 000013a9: DUP1 000013aa: REVERT 000013ab: JUMPDEST 000013ac: CALLER 000013ad: PUSH1 0x00 000013af: SWAP1 000013b0: DUP2 000013b1: MSTORE 000013b2: PUSH1 0x20 000013b4: DUP2 000013b5: SWAP1 000013b6: MSTORE 000013b7: PUSH1 0x40 000013b9: DUP2 000013ba: KECCAK256 000013bb: SLOAD 000013bc: DUP2 000013bd: SWAP1 000013be: DUP2 000013bf: SWAP1 000013c0: DUP2 000013c1: LT 000013c2: PUSH2 0x13ca 000013c5: JUMPI 000013c6: PUSH1 0x00 000013c8: DUP1 000013c9: REVERT 000013ca: JUMPDEST 000013cb: PUSH1 0x40 000013cd: DUP1 000013ce: MLOAD 000013cf: PUSH32 0x8b1b925f00000000000000000000000000000000000000000000000000000000 000013f0: DUP2 000013f1: MSTORE 000013f2: PUSH1 0x01 000013f4: PUSH1 0xa0 000013f6: PUSH1 0x02 000013f8: EXP 000013f9: SUB 000013fa: DUP7 000013fb: AND 000013fc: PUSH1 0x04 000013fe: DUP3 000013ff: ADD 00001400: MSTORE 00001401: SWAP1 00001402: MLOAD 00001403: PUSH20 0x2459d608a7b7eb695c78d4a40137bdead85d91c2 00001418: SWAP2 00001419: PUSH4 0x8b1b925f 0000141e: SWAP2 0000141f: PUSH1 0x24 00001421: DUP1 00001422: DUP4 00001423: ADD 00001424: SWAP3 00001425: PUSH1 0x20 00001427: SWAP3 00001428: SWAP2 00001429: SWAP1 0000142a: DUP3 0000142b: SWAP1 0000142c: SUB 0000142d: ADD 0000142e: DUP2 0000142f: PUSH1 0x00 00001431: DUP8 00001432: DUP1 00001433: EXTCODESIZE 00001434: ISZERO 00001435: DUP1 00001436: ISZERO 00001437: PUSH2 0x143f 0000143a: JUMPI 0000143b: PUSH1 0x00 0000143d: DUP1 0000143e: REVERT 0000143f: JUMPDEST 00001440: POP 00001441: GAS 00001442: CALL 00001443: ISZERO 00001444: DUP1 00001445: ISZERO 00001446: PUSH2 0x1453 00001449: JUMPI 0000144a: RETURNDATASIZE 0000144b: PUSH1 0x00 0000144d: DUP1 0000144e: RETURNDATACOPY 0000144f: RETURNDATASIZE 00001450: PUSH1 0x00 00001452: REVERT 00001453: JUMPDEST 00001454: POP 00001455: POP 00001456: POP 00001457: POP 00001458: PUSH1 0x40 0000145a: MLOAD 0000145b: RETURNDATASIZE 0000145c: PUSH1 0x20 0000145e: DUP2 0000145f: LT 00001460: ISZERO 00001461: PUSH2 0x1469 00001464: JUMPI 00001465: PUSH1 0x00 00001467: DUP1 00001468: REVERT 00001469: JUMPDEST 0000146a: POP 0000146b: MLOAD 0000146c: ISZERO 0000146d: ISZERO 0000146e: PUSH2 0x1476 00001471: JUMPI 00001472: PUSH1 0x00 00001474: DUP1 00001475: REVERT 00001476: JUMPDEST 00001477: DUP4 00001478: SWAP3 00001479: POP 0000147a: DUP3 0000147b: PUSH1 0x01 0000147d: PUSH1 0xa0 0000147f: PUSH1 0x02 00001481: EXP 00001482: SUB 00001483: AND 00001484: PUSH4 0xe97a1759 00001489: PUSH1 0x40 0000148b: MLOAD 0000148c: DUP2 0000148d: PUSH4 0xffffffff 00001492: AND 00001493: PUSH1 0xe0 00001495: PUSH1 0x02 00001497: EXP 00001498: MUL 00001499: DUP2 0000149a: MSTORE 0000149b: PUSH1 0x04 0000149d: ADD 0000149e: PUSH1 0x20 000014a0: PUSH1 0x40 000014a2: MLOAD 000014a3: DUP1 000014a4: DUP4 000014a5: SUB 000014a6: DUP2 000014a7: PUSH1 0x00 000014a9: DUP8 000014aa: DUP1 000014ab: EXTCODESIZE 000014ac: ISZERO 000014ad: DUP1 000014ae: ISZERO 000014af: PUSH2 0x14b7 000014b2: JUMPI 000014b3: PUSH1 0x00 000014b5: DUP1 000014b6: REVERT 000014b7: JUMPDEST 000014b8: POP 000014b9: GAS 000014ba: CALL 000014bb: ISZERO 000014bc: DUP1 000014bd: ISZERO 000014be: PUSH2 0x14cb 000014c1: JUMPI 000014c2: RETURNDATASIZE 000014c3: PUSH1 0x00 000014c5: DUP1 000014c6: RETURNDATACOPY 000014c7: RETURNDATASIZE 000014c8: PUSH1 0x00 000014ca: REVERT 000014cb: JUMPDEST 000014cc: POP 000014cd: POP 000014ce: POP 000014cf: POP 000014d0: PUSH1 0x40 000014d2: MLOAD 000014d3: RETURNDATASIZE 000014d4: PUSH1 0x20 000014d6: DUP2 000014d7: LT 000014d8: ISZERO 000014d9: PUSH2 0x14e1 000014dc: JUMPI 000014dd: PUSH1 0x00 000014df: DUP1 000014e0: REVERT 000014e1: JUMPDEST 000014e2: POP 000014e3: MLOAD 000014e4: PUSH1 0x0b 000014e6: SLOAD 000014e7: PUSH1 0x40 000014e9: DUP1 000014ea: MLOAD 000014eb: PUSH2 0x0120 000014ee: DUP2 000014ef: ADD 000014f0: DUP3 000014f1: MSTORE 000014f2: PUSH1 0x01 000014f4: PUSH1 0xa0 000014f6: PUSH1 0x02 000014f8: EXP 000014f9: SUB 000014fa: SWAP4 000014fb: DUP5 000014fc: AND 000014fd: DUP2 000014fe: MSTORE 000014ff: CALLER 00001500: PUSH1 0x20 00001502: DUP3 00001503: ADD 00001504: SWAP1 00001505: DUP2 00001506: MSTORE 00001507: PUSH1 0x08 00001509: SWAP3 0000150a: DUP3 0000150b: ADD 0000150c: SWAP3 0000150d: DUP4 0000150e: MSTORE 0000150f: PUSH1 0x00 00001511: PUSH1 0x60 00001513: DUP4 00001514: ADD 00001515: DUP2 00001516: DUP2 00001517: MSTORE 00001518: PUSH1 0x80 0000151a: DUP5 0000151b: ADD 0000151c: DUP3 0000151d: DUP2 0000151e: MSTORE 0000151f: PUSH6 0xffffffffffff 00001526: TIMESTAMP 00001527: DUP2 00001528: DUP2 00001529: AND 0000152a: PUSH1 0xa0 0000152c: DUP9 0000152d: ADD 0000152e: SWAP1 0000152f: DUP2 00001530: MSTORE 00001531: SWAP9 00001532: ADD 00001533: DUP2 00001534: AND 00001535: PUSH1 0xc0 00001537: DUP8 00001538: ADD 00001539: SWAP1 0000153a: DUP2 0000153b: MSTORE 0000153c: PUSH1 0xe0 0000153e: DUP8 0000153f: ADD 00001540: DUP6 00001541: DUP2 00001542: MSTORE 00001543: PUSH2 0x0100 00001546: DUP9 00001547: ADD 00001548: DUP7 00001549: DUP2 0000154a: MSTORE 0000154b: PUSH1 0x0a 0000154d: DUP1 0000154e: SLOAD 0000154f: PUSH1 0x01 00001551: DUP2 00001552: ADD 00001553: DUP3 00001554: SSTORE 00001555: SWAP8 00001556: MSTORE 00001557: SWAP8 00001558: MLOAD 00001559: PUSH1 0x03 0000155b: SWAP1 0000155c: SWAP7 0000155d: MUL 0000155e: PUSH1 0x00 00001560: DUP1 00001561: MLOAD 00001562: PUSH1 0x20 00001564: PUSH2 0x2ed6 00001567: DUP4 00001568: CODECOPY 00001569: DUP2 0000156a: MLOAD 0000156b: SWAP2 0000156c: MSTORE 0000156d: DUP2 0000156e: ADD 0000156f: DUP1 00001570: SLOAD 00001571: SWAP8 00001572: DUP14 00001573: AND 00001574: PUSH1 0x01 00001576: PUSH1 0xa0 00001578: PUSH1 0x02 0000157a: EXP 0000157b: SUB 0000157c: NOT 0000157d: SWAP9 0000157e: DUP10 0000157f: AND 00001580: OR 00001581: SWAP1 00001582: SSTORE 00001583: SWAP7 00001584: MLOAD 00001585: PUSH1 0x00 00001587: DUP1 00001588: MLOAD 00001589: PUSH1 0x20 0000158b: PUSH2 0x2eb6 0000158e: DUP4 0000158f: CODECOPY 00001590: DUP2 00001591: MLOAD 00001592: SWAP2 00001593: MSTORE 00001594: DUP9 00001595: ADD 00001596: DUP1 00001597: SLOAD 00001598: SWAP11 00001599: MLOAD 0000159a: SWAP7 0000159b: MLOAD 0000159c: PUSH1 0xff 0000159e: SWAP1 0000159f: DUP2 000015a0: AND 000015a1: PUSH1 0xa8 000015a3: PUSH1 0x02 000015a5: EXP 000015a6: MUL 000015a7: PUSH1 0xa8 000015a9: PUSH1 0x02 000015ab: EXP 000015ac: PUSH1 0xff 000015ae: MUL 000015af: NOT 000015b0: SWAP9 000015b1: SWAP1 000015b2: SWAP2 000015b3: AND 000015b4: PUSH1 0xa0 000015b6: PUSH1 0x02 000015b8: EXP 000015b9: MUL 000015ba: PUSH1 0xa0 000015bc: PUSH1 0x02 000015be: EXP 000015bf: PUSH1 0xff 000015c1: MUL 000015c2: NOT 000015c3: SWAP4 000015c4: SWAP1 000015c5: SWAP15 000015c6: AND 000015c7: SWAP12 000015c8: SWAP1 000015c9: SWAP9 000015ca: AND 000015cb: SWAP11 000015cc: SWAP1 000015cd: SWAP11 000015ce: OR 000015cf: AND 000015d0: SWAP11 000015d1: SWAP1 000015d2: SWAP11 000015d3: OR 000015d4: SWAP4 000015d5: SWAP1 000015d6: SWAP4 000015d7: AND 000015d8: SWAP4 000015d9: SWAP1 000015da: SWAP4 000015db: OR 000015dc: SWAP1 000015dd: SWAP6 000015de: SSTORE 000015df: SWAP4 000015e0: MLOAD 000015e1: PUSH1 0x00 000015e3: DUP1 000015e4: MLOAD 000015e5: PUSH1 0x20 000015e7: PUSH2 0x2ef6 000015ea: DUP4 000015eb: CODECOPY 000015ec: DUP2 000015ed: MLOAD 000015ee: SWAP2 000015ef: MSTORE 000015f0: SWAP1 000015f1: SWAP3 000015f2: ADD 000015f3: DUP1 000015f4: SLOAD 000015f5: SWAP6 000015f6: MLOAD 000015f7: SWAP5 000015f8: MLOAD 000015f9: SWAP7 000015fa: MLOAD 000015fb: SWAP4 000015fc: MLOAD 000015fd: ISZERO 000015fe: ISZERO 000015ff: PUSH1 0xe8 00001601: PUSH1 0x02 00001603: EXP 00001604: MUL 00001605: PUSH1 0xe8 00001607: PUSH1 0x02 00001609: EXP 0000160a: PUSH1 0xff 0000160c: MUL 0000160d: NOT 0000160e: SWAP5 0000160f: ISZERO 00001610: ISZERO 00001611: PUSH1 0xe0 00001613: PUSH1 0x02 00001615: EXP 00001616: MUL 00001617: PUSH1 0xe0 00001619: PUSH1 0x02 0000161b: EXP 0000161c: PUSH1 0xff 0000161e: MUL 0000161f: NOT 00001620: SWAP9 00001621: DUP5 00001622: AND 00001623: PUSH1 0xb0 00001625: PUSH1 0x02 00001627: EXP 00001628: MUL 00001629: PUSH1 0x00 0000162b: DUP1 0000162c: MLOAD 0000162d: PUSH1 0x20 0000162f: PUSH2 0x2f16 00001632: DUP4 00001633: CODECOPY 00001634: DUP2 00001635: MLOAD 00001636: SWAP2 00001637: MSTORE 00001638: SWAP8 00001639: SWAP1 0000163a: SWAP5 0000163b: AND 0000163c: PUSH1 0x80 0000163e: PUSH1 0x02 00001640: EXP 00001641: MUL 00001642: PUSH22 0xffffffffffff00000000000000000000000000000000 00001659: NOT 0000165a: PUSH1 0x01 0000165c: PUSH1 0x80 0000165e: PUSH1 0x02 00001660: EXP 00001661: SUB 00001662: SWAP7 00001663: SWAP1 00001664: SWAP7 00001665: AND 00001666: PUSH16 0xffffffffffffffffffffffffffffffff 00001677: NOT 00001678: SWAP1 00001679: SWAP10 0000167a: AND 0000167b: SWAP9 0000167c: SWAP1 0000167d: SWAP9 0000167e: OR 0000167f: SWAP5 00001680: SWAP1 00001681: SWAP5 00001682: AND 00001683: SWAP7 00001684: SWAP1 00001685: SWAP7 00001686: OR 00001687: SWAP5 00001688: SWAP1 00001689: SWAP5 0000168a: AND 0000168b: OR 0000168c: SWAP5 0000168d: SWAP1 0000168e: SWAP5 0000168f: AND 00001690: SWAP4 00001691: SWAP1 00001692: SWAP4 00001693: OR 00001694: SWAP3 00001695: SWAP1 00001696: SWAP3 00001697: AND 00001698: OR 00001699: SWAP1 0000169a: SSTORE 0000169b: POP 0000169c: POP 0000169d: POP 0000169e: POP 0000169f: JUMP 000016a0: JUMPDEST 000016a1: PUSH1 0x02 000016a3: DUP2 000016a4: JUMP 000016a5: JUMPDEST 000016a6: CALLER 000016a7: PUSH1 0x00 000016a9: SWAP1 000016aa: DUP2 000016ab: MSTORE 000016ac: PUSH1 0x20 000016ae: DUP2 000016af: SWAP1 000016b0: MSTORE 000016b1: PUSH1 0x40 000016b3: DUP2 000016b4: KECCAK256 000016b5: SLOAD 000016b6: DUP2 000016b7: LT 000016b8: PUSH2 0x16c0 000016bb: JUMPI 000016bc: PUSH1 0x00 000016be: DUP1 000016bf: REVERT 000016c0: JUMPDEST 000016c1: PUSH1 0x0a 000016c3: DUP1 000016c4: SLOAD 000016c5: DUP5 000016c6: SWAP1 000016c7: DUP2 000016c8: LT 000016c9: PUSH2 0x16ce 000016cc: JUMPI 000016cd: INVALID 000016ce: JUMPDEST 000016cf: PUSH1 0x00 000016d1: SWAP2 000016d2: DUP3 000016d3: MSTORE 000016d4: PUSH1 0x20 000016d6: SWAP1 000016d7: SWAP2 000016d8: KECCAK256 000016d9: PUSH1 0x01 000016db: PUSH1 0x03 000016dd: SWAP1 000016de: SWAP3 000016df: MUL 000016e0: ADD 000016e1: SWAP1 000016e2: DUP2 000016e3: ADD 000016e4: SLOAD 000016e5: SWAP1 000016e6: SWAP2 000016e7: POP 000016e8: PUSH1 0xa0 000016ea: PUSH1 0x02 000016ec: EXP 000016ed: SWAP1 000016ee: DIV 000016ef: PUSH1 0xff 000016f1: AND 000016f2: PUSH1 0x05 000016f4: EQ 000016f5: PUSH2 0x16fd 000016f8: JUMPI 000016f9: PUSH1 0x00 000016fb: DUP1 000016fc: REVERT 000016fd: JUMPDEST 000016fe: PUSH1 0x01 00001700: DUP2 00001701: ADD 00001702: SLOAD 00001703: PUSH1 0xa8 00001705: PUSH1 0x02 00001707: EXP 00001708: SWAP1 00001709: DIV 0000170a: PUSH1 0xff 0000170c: AND 0000170d: ISZERO 0000170e: PUSH2 0x1716 00001711: JUMPI 00001712: PUSH1 0x00 00001714: DUP1 00001715: REVERT 00001716: JUMPDEST 00001717: DUP2 00001718: ISZERO 00001719: PUSH2 0x1739 0000171c: JUMPI 0000171d: PUSH1 0x01 0000171f: DUP2 00001720: ADD 00001721: DUP1 00001722: SLOAD 00001723: PUSH1 0xa8 00001725: PUSH1 0x02 00001727: EXP 00001728: PUSH1 0xff 0000172a: MUL 0000172b: NOT 0000172c: AND 0000172d: PUSH1 0xa9 0000172f: PUSH1 0x02 00001731: EXP 00001732: OR 00001733: SWAP1 00001734: SSTORE 00001735: PUSH2 0x0790 00001738: JUMP 00001739: JUMPDEST 0000173a: PUSH1 0x02 0000173c: DUP2 0000173d: ADD 0000173e: SLOAD 0000173f: PUSH1 0x00 00001741: PUSH1 0xb0 00001743: PUSH1 0x02 00001745: EXP 00001746: SWAP1 00001747: SWAP2 00001748: DIV 00001749: PUSH6 0xffffffffffff 00001750: AND 00001751: GT 00001752: DUP1 00001753: ISZERO 00001754: PUSH2 0x1770 00001757: JUMPI 00001758: POP 00001759: PUSH1 0x02 0000175b: DUP2 0000175c: ADD 0000175d: SLOAD 0000175e: TIMESTAMP 0000175f: PUSH1 0xb0 00001761: PUSH1 0x02 00001763: EXP 00001764: SWAP1 00001765: SWAP2 00001766: DIV 00001767: PUSH6 0xffffffffffff 0000176e: AND 0000176f: LT 00001770: JUMPDEST 00001771: ISZERO 00001772: PUSH2 0x0790 00001775: JUMPI 00001776: PUSH1 0x40 00001778: DUP1 00001779: MLOAD 0000177a: PUSH2 0x0120 0000177d: DUP2 0000177e: ADD 0000177f: DUP3 00001780: MSTORE 00001781: DUP3 00001782: SLOAD 00001783: PUSH1 0x01 00001785: PUSH1 0xa0 00001787: PUSH1 0x02 00001789: EXP 0000178a: SUB 0000178b: SWAP1 0000178c: DUP2 0000178d: AND 0000178e: DUP3 0000178f: MSTORE 00001790: PUSH1 0x01 00001792: DUP5 00001793: ADD 00001794: SLOAD 00001795: SWAP1 00001796: DUP2 00001797: AND 00001798: PUSH1 0x20 0000179a: DUP4 0000179b: ADD 0000179c: MSTORE 0000179d: PUSH1 0xff 0000179f: PUSH1 0xa0 000017a1: PUSH1 0x02 000017a3: EXP 000017a4: DUP3 000017a5: DIV 000017a6: DUP2 000017a7: AND 000017a8: SWAP4 000017a9: DUP4 000017aa: ADD 000017ab: SWAP4 000017ac: SWAP1 000017ad: SWAP4 000017ae: MSTORE 000017af: PUSH1 0xa8 000017b1: PUSH1 0x02 000017b3: EXP 000017b4: SWAP1 000017b5: DIV 000017b6: DUP3 000017b7: AND 000017b8: PUSH1 0x60 000017ba: DUP3 000017bb: ADD 000017bc: MSTORE 000017bd: PUSH1 0x02 000017bf: DUP4 000017c0: ADD 000017c1: SLOAD 000017c2: PUSH1 0x01 000017c4: PUSH1 0x80 000017c6: PUSH1 0x02 000017c8: EXP 000017c9: SUB 000017ca: DUP2 000017cb: AND 000017cc: PUSH1 0x80 000017ce: DUP4 000017cf: ADD 000017d0: MSTORE 000017d1: PUSH6 0xffffffffffff 000017d8: PUSH1 0x80 000017da: PUSH1 0x02 000017dc: EXP 000017dd: DUP3 000017de: DIV 000017df: DUP2 000017e0: AND 000017e1: PUSH1 0xa0 000017e3: DUP5 000017e4: ADD 000017e5: MSTORE 000017e6: PUSH1 0xb0 000017e8: PUSH1 0x02 000017ea: EXP 000017eb: DUP3 000017ec: DIV 000017ed: AND 000017ee: PUSH1 0xc0 000017f0: DUP4 000017f1: ADD 000017f2: MSTORE 000017f3: PUSH1 0xe0 000017f5: PUSH1 0x02 000017f7: EXP 000017f8: DUP2 000017f9: DIV 000017fa: DUP4 000017fb: AND 000017fc: ISZERO 000017fd: ISZERO 000017fe: PUSH1 0xe0 00001800: DUP4 00001801: ADD 00001802: MSTORE 00001803: PUSH1 0xe8 00001805: PUSH1 0x02 00001807: EXP 00001808: SWAP1 00001809: DIV 0000180a: SWAP1 0000180b: SWAP2 0000180c: AND 0000180d: ISZERO 0000180e: ISZERO 0000180f: PUSH2 0x0100 00001812: DUP3 00001813: ADD 00001814: MSTORE 00001815: PUSH2 0x0b1f 00001818: SWAP1 00001819: PUSH2 0x2944 0000181c: JUMP 0000181d: JUMPDEST 0000181e: CALLER 0000181f: PUSH1 0x00 00001821: SWAP1 00001822: DUP2 00001823: MSTORE 00001824: PUSH1 0x20 00001826: DUP2 00001827: SWAP1 00001828: MSTORE 00001829: PUSH1 0x40 0000182b: DUP2 0000182c: KECCAK256 0000182d: SLOAD 0000182e: DUP2 0000182f: SWAP1 00001830: DUP2 00001831: SWAP1 00001832: DUP2 00001833: LT 00001834: PUSH2 0x183c 00001837: JUMPI 00001838: PUSH1 0x00 0000183a: DUP1 0000183b: REVERT 0000183c: JUMPDEST 0000183d: PUSH1 0x0a 0000183f: DUP1 00001840: SLOAD 00001841: DUP7 00001842: SWAP1 00001843: DUP2 00001844: LT 00001845: PUSH2 0x184a 00001848: JUMPI 00001849: INVALID 0000184a: JUMPDEST 0000184b: PUSH1 0x00 0000184d: SWAP2 0000184e: DUP3 0000184f: MSTORE 00001850: PUSH1 0x20 00001852: SWAP1 00001853: SWAP2 00001854: KECCAK256 00001855: PUSH1 0x01 00001857: PUSH1 0x03 00001859: SWAP1 0000185a: SWAP3 0000185b: MUL 0000185c: ADD 0000185d: SWAP1 0000185e: DUP2 0000185f: ADD 00001860: SLOAD 00001861: SWAP1 00001862: SWAP4 00001863: POP 00001864: PUSH1 0xa0 00001866: PUSH1 0x02 00001868: EXP 00001869: SWAP1 0000186a: DIV 0000186b: PUSH1 0xff 0000186d: AND 0000186e: PUSH1 0x02 00001870: EQ 00001871: PUSH2 0x1879 00001874: JUMPI 00001875: PUSH1 0x00 00001877: DUP1 00001878: REVERT 00001879: JUMPDEST 0000187a: PUSH1 0x01 0000187c: DUP4 0000187d: ADD 0000187e: SLOAD 0000187f: PUSH1 0xa8 00001881: PUSH1 0x02 00001883: EXP 00001884: SWAP1 00001885: DIV 00001886: PUSH1 0xff 00001888: AND 00001889: ISZERO 0000188a: PUSH2 0x1892 0000188d: JUMPI 0000188e: PUSH1 0x00 00001890: DUP1 00001891: REVERT 00001892: JUMPDEST 00001893: DUP4 00001894: ISZERO 00001895: PUSH2 0x18b5 00001898: JUMPI 00001899: PUSH1 0x01 0000189b: DUP4 0000189c: ADD 0000189d: DUP1 0000189e: SLOAD 0000189f: PUSH1 0xa8 000018a1: PUSH1 0x02 000018a3: EXP 000018a4: PUSH1 0xff 000018a6: MUL 000018a7: NOT 000018a8: AND 000018a9: PUSH1 0xa9 000018ab: PUSH1 0x02 000018ad: EXP 000018ae: OR 000018af: SWAP1 000018b0: SSTORE 000018b1: PUSH2 0x09b7 000018b4: JUMP 000018b5: JUMPDEST 000018b6: DUP3 000018b7: SLOAD 000018b8: PUSH1 0x01 000018ba: PUSH1 0xa0 000018bc: PUSH1 0x02 000018be: EXP 000018bf: SUB 000018c0: AND 000018c1: CALLER 000018c2: EQ 000018c3: ISZERO 000018c4: PUSH2 0x18cc 000018c7: JUMPI 000018c8: PUSH1 0x00 000018ca: DUP1 000018cb: REVERT 000018cc: JUMPDEST 000018cd: PUSH1 0x02 000018cf: DUP4 000018d0: ADD 000018d1: SLOAD 000018d2: PUSH1 0x00 000018d4: PUSH1 0xb0 000018d6: PUSH1 0x02 000018d8: EXP 000018d9: SWAP1 000018da: SWAP2 000018db: DIV 000018dc: PUSH6 0xffffffffffff 000018e3: AND 000018e4: GT 000018e5: DUP1 000018e6: ISZERO 000018e7: PUSH2 0x1903 000018ea: JUMPI 000018eb: POP 000018ec: PUSH1 0x02 000018ee: DUP4 000018ef: ADD 000018f0: SLOAD 000018f1: TIMESTAMP 000018f2: PUSH1 0xb0 000018f4: PUSH1 0x02 000018f6: EXP 000018f7: SWAP1 000018f8: SWAP2 000018f9: DIV 000018fa: PUSH6 0xffffffffffff 00001901: AND 00001902: LT 00001903: JUMPDEST 00001904: ISZERO 00001905: ISZERO 00001906: PUSH2 0x190e 00001909: JUMPI 0000190a: PUSH1 0x00 0000190c: DUP1 0000190d: REVERT 0000190e: JUMPDEST 0000190f: POP 00001910: POP 00001911: PUSH1 0x01 00001913: DUP1 00001914: SLOAD 00001915: DUP3 00001916: SLOAD 00001917: PUSH1 0x01 00001919: PUSH1 0xa0 0000191b: PUSH1 0x02 0000191d: EXP 0000191e: SUB 0000191f: AND 00001920: PUSH1 0x00 00001922: SWAP1 00001923: DUP2 00001924: MSTORE 00001925: PUSH1 0x20 00001927: DUP2 00001928: SWAP1 00001929: MSTORE 0000192a: PUSH1 0x40 0000192c: DUP2 0000192d: KECCAK256 0000192e: DUP1 0000192f: SLOAD 00001930: SWAP2 00001931: SWAP1 00001932: SSTORE 00001933: SWAP1 00001934: SWAP2 00001935: PUSH1 0x00 00001937: NOT 00001938: SWAP1 00001939: SWAP2 0000193a: ADD 0000193b: SWAP1 0000193c: DUP3 0000193d: GT 0000193e: ISZERO 0000193f: PUSH2 0x19a9 00001942: JUMPI 00001943: PUSH1 0x01 00001945: DUP1 00001946: SLOAD 00001947: PUSH1 0x00 00001949: NOT 0000194a: DUP5 0000194b: ADD 0000194c: SWAP1 0000194d: DUP2 0000194e: LT 0000194f: PUSH2 0x1954 00001952: JUMPI 00001953: INVALID 00001954: JUMPDEST 00001955: PUSH1 0x00 00001957: SWAP2 00001958: DUP3 00001959: MSTORE 0000195a: PUSH1 0x20 0000195c: SWAP1 0000195d: SWAP2 0000195e: KECCAK256 0000195f: ADD 00001960: SLOAD 00001961: PUSH1 0x01 00001963: DUP1 00001964: SLOAD 00001965: PUSH1 0x01 00001967: PUSH1 0xa0 00001969: PUSH1 0x02 0000196b: EXP 0000196c: SUB 0000196d: SWAP1 0000196e: SWAP3 0000196f: AND 00001970: SWAP2 00001971: DUP4 00001972: SWAP1 00001973: DUP2 00001974: LT 00001975: PUSH2 0x197a 00001978: JUMPI 00001979: INVALID 0000197a: JUMPDEST 0000197b: SWAP1 0000197c: PUSH1 0x00 0000197e: MSTORE 0000197f: PUSH1 0x20 00001981: PUSH1 0x00 00001983: KECCAK256 00001984: ADD 00001985: PUSH1 0x00 00001987: PUSH2 0x0100 0000198a: EXP 0000198b: DUP2 0000198c: SLOAD 0000198d: DUP2 0000198e: PUSH1 0x01 00001990: PUSH1 0xa0 00001992: PUSH1 0x02 00001994: EXP 00001995: SUB 00001996: MUL 00001997: NOT 00001998: AND 00001999: SWAP1 0000199a: DUP4 0000199b: PUSH1 0x01 0000199d: PUSH1 0xa0 0000199f: PUSH1 0x02 000019a1: EXP 000019a2: SUB 000019a3: AND 000019a4: MUL 000019a5: OR 000019a6: SWAP1 000019a7: SSTORE 000019a8: POP 000019a9: JUMPDEST 000019aa: PUSH1 0x01 000019ac: DUP1 000019ad: SLOAD 000019ae: PUSH1 0x00 000019b0: NOT 000019b1: DUP5 000019b2: ADD 000019b3: SWAP1 000019b4: DUP2 000019b5: LT 000019b6: PUSH2 0x19bb 000019b9: JUMPI 000019ba: INVALID 000019bb: JUMPDEST 000019bc: PUSH1 0x00 000019be: SWAP2 000019bf: DUP3 000019c0: MSTORE 000019c1: PUSH1 0x20 000019c3: SWAP1 000019c4: SWAP2 000019c5: KECCAK256 000019c6: ADD 000019c7: DUP1 000019c8: SLOAD 000019c9: PUSH1 0x01 000019cb: PUSH1 0xa0 000019cd: PUSH1 0x02 000019cf: EXP 000019d0: SUB 000019d1: NOT 000019d2: AND 000019d3: SWAP1 000019d4: SSTORE 000019d5: PUSH1 0x01 000019d7: DUP1 000019d8: SLOAD 000019d9: SWAP1 000019da: PUSH2 0x19e7 000019dd: SWAP1 000019de: PUSH1 0x00 000019e0: NOT 000019e1: DUP4 000019e2: ADD 000019e3: PUSH2 0x2e53 000019e6: JUMP 000019e7: JUMPDEST 000019e8: POP 000019e9: PUSH1 0x01 000019eb: DUP4 000019ec: ADD 000019ed: DUP1 000019ee: SLOAD 000019ef: PUSH1 0xa8 000019f1: PUSH1 0x02 000019f3: EXP 000019f4: PUSH1 0xff 000019f6: MUL 000019f7: NOT 000019f8: AND 000019f9: PUSH1 0xa8 000019fb: PUSH1 0x02 000019fd: EXP 000019fe: OR 000019ff: SWAP1 00001a00: SSTORE 00001a01: POP 00001a02: POP 00001a03: POP 00001a04: POP 00001a05: POP 00001a06: JUMP 00001a07: JUMPDEST 00001a08: CALLER 00001a09: PUSH1 0x00 00001a0b: SWAP1 00001a0c: DUP2 00001a0d: MSTORE 00001a0e: PUSH1 0x20 00001a10: DUP2 00001a11: SWAP1 00001a12: MSTORE 00001a13: PUSH1 0x40 00001a15: DUP2 00001a16: KECCAK256 00001a17: SLOAD 00001a18: DUP2 00001a19: LT 00001a1a: PUSH2 0x1a22 00001a1d: JUMPI 00001a1e: PUSH1 0x00 00001a20: DUP1 00001a21: REVERT 00001a22: JUMPDEST 00001a23: PUSH1 0x0b 00001a25: SLOAD 00001a26: TIMESTAMP 00001a27: ADD 00001a28: SWAP1 00001a29: POP 00001a2a: PUSH1 0x40 00001a2c: DUP1 00001a2d: MLOAD 00001a2e: SWAP1 00001a2f: DUP2 00001a30: ADD 00001a31: PUSH1 0x40 00001a33: MSTORE 00001a34: DUP1 00001a35: DUP3 00001a36: PUSH6 0xffffffffffff 00001a3d: AND 00001a3e: PUSH1 0x01 00001a40: PUSH1 0x80 00001a42: PUSH1 0x02 00001a44: EXP 00001a45: SUB 00001a46: AND 00001a47: DUP2 00001a48: MSTORE 00001a49: PUSH1 0x20 00001a4b: ADD 00001a4c: DUP4 00001a4d: PUSH1 0x01 00001a4f: PUSH1 0x80 00001a51: PUSH1 0x02 00001a53: EXP 00001a54: SUB 00001a55: AND 00001a56: DUP2 00001a57: MSTORE 00001a58: POP 00001a59: PUSH1 0x07 00001a5b: PUSH1 0x00 00001a5d: DUP7 00001a5e: PUSH1 0x01 00001a60: PUSH1 0xa0 00001a62: PUSH1 0x02 00001a64: EXP 00001a65: SUB 00001a66: AND 00001a67: PUSH1 0x01 00001a69: PUSH1 0xa0 00001a6b: PUSH1 0x02 00001a6d: EXP 00001a6e: SUB 00001a6f: AND 00001a70: DUP2 00001a71: MSTORE 00001a72: PUSH1 0x20 00001a74: ADD 00001a75: SWAP1 00001a76: DUP2 00001a77: MSTORE 00001a78: PUSH1 0x20 00001a7a: ADD 00001a7b: PUSH1 0x00 00001a7d: KECCAK256 00001a7e: PUSH1 0x00 00001a80: DUP6 00001a81: PUSH1 0x01 00001a83: PUSH1 0xa0 00001a85: PUSH1 0x02 00001a87: EXP 00001a88: SUB 00001a89: AND 00001a8a: PUSH1 0x01 00001a8c: PUSH1 0xa0 00001a8e: PUSH1 0x02 00001a90: EXP 00001a91: SUB 00001a92: AND 00001a93: DUP2 00001a94: MSTORE 00001a95: PUSH1 0x20 00001a97: ADD 00001a98: SWAP1 00001a99: DUP2 00001a9a: MSTORE 00001a9b: PUSH1 0x20 00001a9d: ADD 00001a9e: PUSH1 0x00 00001aa0: KECCAK256 00001aa1: PUSH1 0x00 00001aa3: DUP3 00001aa4: ADD 00001aa5: MLOAD 00001aa6: DUP2 00001aa7: PUSH1 0x00 00001aa9: ADD 00001aaa: PUSH1 0x00 00001aac: PUSH2 0x0100 00001aaf: EXP 00001ab0: DUP2 00001ab1: SLOAD 00001ab2: DUP2 00001ab3: PUSH1 0x01 00001ab5: PUSH1 0x80 00001ab7: PUSH1 0x02 00001ab9: EXP 00001aba: SUB 00001abb: MUL 00001abc: NOT 00001abd: AND 00001abe: SWAP1 00001abf: DUP4 00001ac0: PUSH1 0x01 00001ac2: PUSH1 0x80 00001ac4: PUSH1 0x02 00001ac6: EXP 00001ac7: SUB 00001ac8: AND 00001ac9: MUL 00001aca: OR 00001acb: SWAP1 00001acc: SSTORE 00001acd: POP 00001ace: PUSH1 0x20 00001ad0: DUP3 00001ad1: ADD 00001ad2: MLOAD 00001ad3: DUP2 00001ad4: PUSH1 0x00 00001ad6: ADD 00001ad7: PUSH1 0x10 00001ad9: PUSH2 0x0100 00001adc: EXP 00001add: DUP2 00001ade: SLOAD 00001adf: DUP2 00001ae0: PUSH1 0x01 00001ae2: PUSH1 0x80 00001ae4: PUSH1 0x02 00001ae6: EXP 00001ae7: SUB 00001ae8: MUL 00001ae9: NOT 00001aea: AND 00001aeb: SWAP1 00001aec: DUP4 00001aed: PUSH1 0x01 00001aef: PUSH1 0x80 00001af1: PUSH1 0x02 00001af3: EXP 00001af4: SUB 00001af5: AND 00001af6: MUL 00001af7: OR 00001af8: SWAP1 00001af9: SSTORE 00001afa: POP 00001afb: SWAP1 00001afc: POP 00001afd: POP 00001afe: PUSH1 0x0a 00001b00: PUSH2 0x0120 00001b03: PUSH1 0x40 00001b05: MLOAD 00001b06: SWAP1 00001b07: DUP2 00001b08: ADD 00001b09: PUSH1 0x40 00001b0b: MSTORE 00001b0c: DUP1 00001b0d: DUP7 00001b0e: PUSH1 0x01 00001b10: PUSH1 0xa0 00001b12: PUSH1 0x02 00001b14: EXP 00001b15: SUB 00001b16: AND 00001b17: DUP2 00001b18: MSTORE 00001b19: PUSH1 0x20 00001b1b: ADD 00001b1c: DUP6 00001b1d: PUSH1 0x01 00001b1f: PUSH1 0xa0 00001b21: PUSH1 0x02 00001b23: EXP 00001b24: SUB 00001b25: AND 00001b26: DUP2 00001b27: MSTORE 00001b28: PUSH1 0x20 00001b2a: ADD 00001b2b: PUSH1 0x07 00001b2d: PUSH1 0xff 00001b2f: AND 00001b30: DUP2 00001b31: MSTORE 00001b32: PUSH1 0x20 00001b34: ADD 00001b35: PUSH1 0x00 00001b37: PUSH1 0xff 00001b39: AND 00001b3a: DUP2 00001b3b: MSTORE 00001b3c: PUSH1 0x20 00001b3e: ADD 00001b3f: DUP5 00001b40: PUSH1 0x01 00001b42: PUSH1 0x80 00001b44: PUSH1 0x02 00001b46: EXP 00001b47: SUB 00001b48: AND 00001b49: DUP2 00001b4a: MSTORE 00001b4b: PUSH1 0x20 00001b4d: ADD 00001b4e: TIMESTAMP 00001b4f: PUSH6 0xffffffffffff 00001b56: AND 00001b57: DUP2 00001b58: MSTORE 00001b59: PUSH1 0x20 00001b5b: ADD 00001b5c: DUP4 00001b5d: PUSH6 0xffffffffffff 00001b64: AND 00001b65: DUP2 00001b66: MSTORE 00001b67: PUSH1 0x20 00001b69: ADD 00001b6a: PUSH1 0x00 00001b6c: ISZERO 00001b6d: ISZERO 00001b6e: DUP2 00001b6f: MSTORE 00001b70: PUSH1 0x20 00001b72: ADD 00001b73: PUSH1 0x00 00001b75: ISZERO 00001b76: ISZERO 00001b77: DUP2 00001b78: MSTORE 00001b79: POP 00001b7a: SWAP1 00001b7b: DUP1 00001b7c: PUSH1 0x01 00001b7e: DUP2 00001b7f: SLOAD 00001b80: ADD 00001b81: DUP1 00001b82: DUP3 00001b83: SSTORE 00001b84: DUP1 00001b85: SWAP2 00001b86: POP 00001b87: POP 00001b88: SWAP1 00001b89: PUSH1 0x01 00001b8b: DUP3 00001b8c: SUB 00001b8d: SWAP1 00001b8e: PUSH1 0x00 00001b90: MSTORE 00001b91: PUSH1 0x20 00001b93: PUSH1 0x00 00001b95: KECCAK256 00001b96: SWAP1 00001b97: PUSH1 0x03 00001b99: MUL 00001b9a: ADD 00001b9b: PUSH1 0x00 00001b9d: SWAP1 00001b9e: SWAP2 00001b9f: SWAP3 00001ba0: SWAP1 00001ba1: SWAP2 00001ba2: SWAP1 00001ba3: SWAP2 00001ba4: POP 00001ba5: PUSH1 0x00 00001ba7: DUP3 00001ba8: ADD 00001ba9: MLOAD 00001baa: DUP2 00001bab: PUSH1 0x00 00001bad: ADD 00001bae: PUSH1 0x00 00001bb0: PUSH2 0x0100 00001bb3: EXP 00001bb4: DUP2 00001bb5: SLOAD 00001bb6: DUP2 00001bb7: PUSH1 0x01 00001bb9: PUSH1 0xa0 00001bbb: PUSH1 0x02 00001bbd: EXP 00001bbe: SUB 00001bbf: MUL 00001bc0: NOT 00001bc1: AND 00001bc2: SWAP1 00001bc3: DUP4 00001bc4: PUSH1 0x01 00001bc6: PUSH1 0xa0 00001bc8: PUSH1 0x02 00001bca: EXP 00001bcb: SUB 00001bcc: AND 00001bcd: MUL 00001bce: OR 00001bcf: SWAP1 00001bd0: SSTORE 00001bd1: POP 00001bd2: PUSH1 0x20 00001bd4: DUP3 00001bd5: ADD 00001bd6: MLOAD 00001bd7: DUP2 00001bd8: PUSH1 0x01 00001bda: ADD 00001bdb: PUSH1 0x00 00001bdd: PUSH2 0x0100 00001be0: EXP 00001be1: DUP2 00001be2: SLOAD 00001be3: DUP2 00001be4: PUSH1 0x01 00001be6: PUSH1 0xa0 00001be8: PUSH1 0x02 00001bea: EXP 00001beb: SUB 00001bec: MUL 00001bed: NOT 00001bee: AND 00001bef: SWAP1 00001bf0: DUP4 00001bf1: PUSH1 0x01 00001bf3: PUSH1 0xa0 00001bf5: PUSH1 0x02 00001bf7: EXP 00001bf8: SUB 00001bf9: AND 00001bfa: MUL 00001bfb: OR 00001bfc: SWAP1 00001bfd: SSTORE 00001bfe: POP 00001bff: PUSH1 0x40 00001c01: DUP3 00001c02: ADD 00001c03: MLOAD 00001c04: DUP2 00001c05: PUSH1 0x01 00001c07: ADD 00001c08: PUSH1 0x14 00001c0a: PUSH2 0x0100 00001c0d: EXP 00001c0e: DUP2 00001c0f: SLOAD 00001c10: DUP2 00001c11: PUSH1 0xff 00001c13: MUL 00001c14: NOT 00001c15: AND 00001c16: SWAP1 00001c17: DUP4 00001c18: PUSH1 0xff 00001c1a: AND 00001c1b: MUL 00001c1c: OR 00001c1d: SWAP1 00001c1e: SSTORE 00001c1f: POP 00001c20: PUSH1 0x60 00001c22: DUP3 00001c23: ADD 00001c24: MLOAD 00001c25: DUP2 00001c26: PUSH1 0x01 00001c28: ADD 00001c29: PUSH1 0x15 00001c2b: PUSH2 0x0100 00001c2e: EXP 00001c2f: DUP2 00001c30: SLOAD 00001c31: DUP2 00001c32: PUSH1 0xff 00001c34: MUL 00001c35: NOT 00001c36: AND 00001c37: SWAP1 00001c38: DUP4 00001c39: PUSH1 0xff 00001c3b: AND 00001c3c: MUL 00001c3d: OR 00001c3e: SWAP1 00001c3f: SSTORE 00001c40: POP 00001c41: PUSH1 0x80 00001c43: DUP3 00001c44: ADD 00001c45: MLOAD 00001c46: DUP2 00001c47: PUSH1 0x02 00001c49: ADD 00001c4a: PUSH1 0x00 00001c4c: PUSH2 0x0100 00001c4f: EXP 00001c50: DUP2 00001c51: SLOAD 00001c52: DUP2 00001c53: PUSH1 0x01 00001c55: PUSH1 0x80 00001c57: PUSH1 0x02 00001c59: EXP 00001c5a: SUB 00001c5b: MUL 00001c5c: NOT 00001c5d: AND 00001c5e: SWAP1 00001c5f: DUP4 00001c60: PUSH1 0x01 00001c62: PUSH1 0x80 00001c64: PUSH1 0x02 00001c66: EXP 00001c67: SUB 00001c68: AND 00001c69: MUL 00001c6a: OR 00001c6b: SWAP1 00001c6c: SSTORE 00001c6d: POP 00001c6e: PUSH1 0xa0 00001c70: DUP3 00001c71: ADD 00001c72: MLOAD 00001c73: DUP2 00001c74: PUSH1 0x02 00001c76: ADD 00001c77: PUSH1 0x10 00001c79: PUSH2 0x0100 00001c7c: EXP 00001c7d: DUP2 00001c7e: SLOAD 00001c7f: DUP2 00001c80: PUSH6 0xffffffffffff 00001c87: MUL 00001c88: NOT 00001c89: AND 00001c8a: SWAP1 00001c8b: DUP4 00001c8c: PUSH6 0xffffffffffff 00001c93: AND 00001c94: MUL 00001c95: OR 00001c96: SWAP1 00001c97: SSTORE 00001c98: POP 00001c99: PUSH1 0xc0 00001c9b: DUP3 00001c9c: ADD 00001c9d: MLOAD 00001c9e: DUP2 00001c9f: PUSH1 0x02 00001ca1: ADD 00001ca2: PUSH1 0x16 00001ca4: PUSH2 0x0100 00001ca7: EXP 00001ca8: DUP2 00001ca9: SLOAD 00001caa: DUP2 00001cab: PUSH6 0xffffffffffff 00001cb2: MUL 00001cb3: NOT 00001cb4: AND 00001cb5: SWAP1 00001cb6: DUP4 00001cb7: PUSH6 0xffffffffffff 00001cbe: AND 00001cbf: MUL 00001cc0: OR 00001cc1: SWAP1 00001cc2: SSTORE 00001cc3: POP 00001cc4: PUSH1 0xe0 00001cc6: DUP3 00001cc7: ADD 00001cc8: MLOAD 00001cc9: DUP2 00001cca: PUSH1 0x02 00001ccc: ADD 00001ccd: PUSH1 0x1c 00001ccf: PUSH2 0x0100 00001cd2: EXP 00001cd3: DUP2 00001cd4: SLOAD 00001cd5: DUP2 00001cd6: PUSH1 0xff 00001cd8: MUL 00001cd9: NOT 00001cda: AND 00001cdb: SWAP1 00001cdc: DUP4 00001cdd: ISZERO 00001cde: ISZERO 00001cdf: MUL 00001ce0: OR 00001ce1: SWAP1 00001ce2: SSTORE 00001ce3: POP 00001ce4: PUSH2 0x0100 00001ce7: DUP3 00001ce8: ADD 00001ce9: MLOAD 00001cea: DUP2 00001ceb: PUSH1 0x02 00001ced: ADD 00001cee: PUSH1 0x1d 00001cf0: PUSH2 0x0100 00001cf3: EXP 00001cf4: DUP2 00001cf5: SLOAD 00001cf6: DUP2 00001cf7: PUSH1 0xff 00001cf9: MUL 00001cfa: NOT 00001cfb: AND 00001cfc: SWAP1 00001cfd: DUP4 00001cfe: ISZERO 00001cff: ISZERO 00001d00: MUL 00001d01: OR 00001d02: SWAP1 00001d03: SSTORE 00001d04: POP 00001d05: POP 00001d06: POP 00001d07: POP 00001d08: POP 00001d09: POP 00001d0a: POP 00001d0b: POP 00001d0c: JUMP 00001d0d: JUMPDEST 00001d0e: PUSH1 0x01 00001d10: SLOAD 00001d11: SWAP1 00001d12: JUMP 00001d13: JUMPDEST 00001d14: CALLER 00001d15: PUSH1 0x00 00001d17: SWAP1 00001d18: DUP2 00001d19: MSTORE 00001d1a: PUSH1 0x20 00001d1c: DUP2 00001d1d: SWAP1 00001d1e: MSTORE 00001d1f: PUSH1 0x40 00001d21: DUP2 00001d22: KECCAK256 00001d23: SLOAD 00001d24: DUP2 00001d25: LT 00001d26: PUSH2 0x1d2e 00001d29: JUMPI 00001d2a: PUSH1 0x00 00001d2c: DUP1 00001d2d: REVERT 00001d2e: JUMPDEST 00001d2f: PUSH1 0x01 00001d31: PUSH1 0xa0 00001d33: PUSH1 0x02 00001d35: EXP 00001d36: SUB 00001d37: DUP4 00001d38: AND 00001d39: CALLER 00001d3a: EQ 00001d3b: ISZERO 00001d3c: PUSH2 0x1d44 00001d3f: JUMPI 00001d40: PUSH1 0x00 00001d42: DUP1 00001d43: REVERT 00001d44: JUMPDEST 00001d45: DUP2 00001d46: DUP1 00001d47: ISZERO 00001d48: PUSH2 0x1d67 00001d4b: JUMPI 00001d4c: POP 00001d4d: PUSH1 0x01 00001d4f: PUSH1 0xa0 00001d51: PUSH1 0x02 00001d53: EXP 00001d54: SUB 00001d55: DUP4 00001d56: AND 00001d57: PUSH1 0x00 00001d59: SWAP1 00001d5a: DUP2 00001d5b: MSTORE 00001d5c: PUSH1 0x20 00001d5e: DUP2 00001d5f: SWAP1 00001d60: MSTORE 00001d61: PUSH1 0x40 00001d63: SWAP1 00001d64: KECCAK256 00001d65: SLOAD 00001d66: ISZERO 00001d67: JUMPDEST 00001d68: ISZERO 00001d69: PUSH2 0x1f69 00001d6c: JUMPI 00001d6d: PUSH1 0x01 00001d6f: DUP1 00001d70: SLOAD 00001d71: DUP1 00001d72: DUP3 00001d73: ADD 00001d74: DUP3 00001d75: SSTORE 00001d76: PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6 00001d97: ADD 00001d98: DUP1 00001d99: SLOAD 00001d9a: PUSH1 0x01 00001d9c: PUSH1 0xa0 00001d9e: PUSH1 0x02 00001da0: EXP 00001da1: SUB 00001da2: NOT 00001da3: SWAP1 00001da4: DUP2 00001da5: AND 00001da6: PUSH1 0x01 00001da8: PUSH1 0xa0 00001daa: PUSH1 0x02 00001dac: EXP 00001dad: SUB 00001dae: DUP8 00001daf: DUP2 00001db0: AND 00001db1: SWAP2 00001db2: DUP3 00001db3: OR 00001db4: SWAP1 00001db5: SWAP4 00001db6: SSTORE 00001db7: DUP4 00001db8: SLOAD 00001db9: PUSH1 0x00 00001dbb: DUP3 00001dbc: DUP2 00001dbd: MSTORE 00001dbe: PUSH1 0x20 00001dc0: DUP2 00001dc1: DUP2 00001dc2: MSTORE 00001dc3: PUSH1 0x40 00001dc5: DUP1 00001dc6: DUP4 00001dc7: KECCAK256 00001dc8: SWAP4 00001dc9: SWAP1 00001dca: SWAP4 00001dcb: SSTORE 00001dcc: DUP3 00001dcd: MLOAD 00001dce: PUSH2 0x0120 00001dd1: DUP2 00001dd2: ADD 00001dd3: DUP5 00001dd4: MSTORE 00001dd5: SWAP4 00001dd6: DUP5 00001dd7: MSTORE 00001dd8: CALLER 00001dd9: SWAP1 00001dda: DUP5 00001ddb: ADD 00001ddc: SWAP1 00001ddd: DUP2 00001dde: MSTORE 00001ddf: PUSH1 0x02 00001de1: SWAP3 00001de2: DUP5 00001de3: ADD 00001de4: SWAP3 00001de5: DUP4 00001de6: MSTORE 00001de7: PUSH1 0x60 00001de9: DUP5 00001dea: ADD 00001deb: DUP8 00001dec: DUP2 00001ded: MSTORE 00001dee: PUSH1 0x80 00001df0: DUP6 00001df1: ADD 00001df2: DUP4 00001df3: DUP2 00001df4: MSTORE 00001df5: TIMESTAMP 00001df6: PUSH6 0xffffffffffff 00001dfd: SWAP1 00001dfe: DUP2 00001dff: AND 00001e00: PUSH1 0xa0 00001e02: DUP9 00001e03: ADD 00001e04: SWAP1 00001e05: DUP2 00001e06: MSTORE 00001e07: PUSH1 0xc0 00001e09: DUP9 00001e0a: ADD 00001e0b: DUP7 00001e0c: DUP2 00001e0d: MSTORE 00001e0e: DUP14 00001e0f: ISZERO 00001e10: ISZERO 00001e11: PUSH1 0xe0 00001e13: DUP11 00001e14: ADD 00001e15: SWAP1 00001e16: DUP2 00001e17: MSTORE 00001e18: PUSH2 0x0100 00001e1b: DUP11 00001e1c: ADD 00001e1d: DUP9 00001e1e: DUP2 00001e1f: MSTORE 00001e20: PUSH1 0x0a 00001e22: DUP1 00001e23: SLOAD 00001e24: SWAP15 00001e25: DUP16 00001e26: ADD 00001e27: DUP2 00001e28: SSTORE 00001e29: SWAP1 00001e2a: SWAP9 00001e2b: MSTORE 00001e2c: SWAP9 00001e2d: MLOAD 00001e2e: PUSH1 0x00 00001e30: DUP1 00001e31: MLOAD 00001e32: PUSH1 0x20 00001e34: PUSH2 0x2ed6 00001e37: DUP4 00001e38: CODECOPY 00001e39: DUP2 00001e3a: MLOAD 00001e3b: SWAP2 00001e3c: MSTORE 00001e3d: PUSH1 0x03 00001e3f: SWAP1 00001e40: SWAP14 00001e41: MUL 00001e42: SWAP13 00001e43: DUP14 00001e44: ADD 00001e45: DUP1 00001e46: SLOAD 00001e47: DUP13 00001e48: AND 00001e49: SWAP2 00001e4a: DUP14 00001e4b: AND 00001e4c: SWAP2 00001e4d: SWAP1 00001e4e: SWAP2 00001e4f: OR 00001e50: SWAP1 00001e51: SSTORE 00001e52: SWAP5 00001e53: MLOAD 00001e54: PUSH1 0x00 00001e56: DUP1 00001e57: MLOAD 00001e58: PUSH1 0x20 00001e5a: PUSH2 0x2eb6 00001e5d: DUP4 00001e5e: CODECOPY 00001e5f: DUP2 00001e60: MLOAD 00001e61: SWAP2 00001e62: MSTORE 00001e63: DUP13 00001e64: ADD 00001e65: DUP1 00001e66: SLOAD 00001e67: SWAP9 00001e68: MLOAD 00001e69: SWAP6 00001e6a: MLOAD 00001e6b: SWAP9 00001e6c: SWAP1 00001e6d: SWAP11 00001e6e: AND 00001e6f: SWAP11 00001e70: AND 00001e71: SWAP10 00001e72: SWAP1 00001e73: SWAP10 00001e74: OR 00001e75: PUSH1 0xa0 00001e77: PUSH1 0x02 00001e79: EXP 00001e7a: PUSH1 0xff 00001e7c: MUL 00001e7d: NOT 00001e7e: AND 00001e7f: PUSH1 0xa0 00001e81: PUSH1 0x02 00001e83: EXP 00001e84: PUSH1 0xff 00001e86: SWAP5 00001e87: DUP6 00001e88: AND 00001e89: MUL 00001e8a: OR 00001e8b: PUSH1 0xa8 00001e8d: PUSH1 0x02 00001e8f: EXP 00001e90: PUSH1 0xff 00001e92: MUL 00001e93: NOT 00001e94: AND 00001e95: PUSH1 0xa8 00001e97: PUSH1 0x02 00001e99: EXP 00001e9a: SWAP4 00001e9b: SWAP1 00001e9c: SWAP7 00001e9d: AND 00001e9e: SWAP3 00001e9f: SWAP1 00001ea0: SWAP3 00001ea1: MUL 00001ea2: SWAP5 00001ea3: SWAP1 00001ea4: SWAP5 00001ea5: OR 00001ea6: SWAP1 00001ea7: SWAP6 00001ea8: SSTORE 00001ea9: SWAP2 00001eaa: MLOAD 00001eab: PUSH1 0x00 00001ead: DUP1 00001eae: MLOAD 00001eaf: PUSH1 0x20 00001eb1: PUSH2 0x2ef6 00001eb4: DUP4 00001eb5: CODECOPY 00001eb6: DUP2 00001eb7: MLOAD 00001eb8: SWAP2 00001eb9: MSTORE 00001eba: SWAP1 00001ebb: SWAP7 00001ebc: ADD 00001ebd: DUP1 00001ebe: SLOAD 00001ebf: SWAP6 00001ec0: MLOAD 00001ec1: SWAP3 00001ec2: MLOAD 00001ec3: SWAP4 00001ec4: MLOAD 00001ec5: SWAP2 00001ec6: MLOAD 00001ec7: PUSH16 0xffffffffffffffffffffffffffffffff 00001ed8: NOT 00001ed9: SWAP1 00001eda: SWAP7 00001edb: AND 00001edc: PUSH1 0x01 00001ede: PUSH1 0x80 00001ee0: PUSH1 0x02 00001ee2: EXP 00001ee3: SUB 00001ee4: SWAP1 00001ee5: SWAP8 00001ee6: AND 00001ee7: SWAP7 00001ee8: SWAP1 00001ee9: SWAP7 00001eea: OR 00001eeb: PUSH22 0xffffffffffff00000000000000000000000000000000 00001f02: NOT 00001f03: AND 00001f04: PUSH1 0x80 00001f06: PUSH1 0x02 00001f08: EXP 00001f09: SWAP3 00001f0a: DUP6 00001f0b: AND 00001f0c: SWAP3 00001f0d: SWAP1 00001f0e: SWAP3 00001f0f: MUL 00001f10: SWAP2 00001f11: SWAP1 00001f12: SWAP2 00001f13: OR 00001f14: PUSH1 0x00 00001f16: DUP1 00001f17: MLOAD 00001f18: PUSH1 0x20 00001f1a: PUSH2 0x2f16 00001f1d: DUP4 00001f1e: CODECOPY 00001f1f: DUP2 00001f20: MLOAD 00001f21: SWAP2 00001f22: MSTORE 00001f23: AND 00001f24: PUSH1 0xb0 00001f26: PUSH1 0x02 00001f28: EXP 00001f29: SWAP3 00001f2a: SWAP1 00001f2b: SWAP4 00001f2c: AND 00001f2d: SWAP2 00001f2e: SWAP1 00001f2f: SWAP2 00001f30: MUL 00001f31: SWAP2 00001f32: SWAP1 00001f33: SWAP2 00001f34: OR 00001f35: PUSH1 0xe0 00001f37: PUSH1 0x02 00001f39: EXP 00001f3a: PUSH1 0xff 00001f3c: MUL 00001f3d: NOT 00001f3e: AND 00001f3f: PUSH1 0xe0 00001f41: PUSH1 0x02 00001f43: EXP 00001f44: SWAP2 00001f45: ISZERO 00001f46: ISZERO 00001f47: SWAP2 00001f48: SWAP1 00001f49: SWAP2 00001f4a: MUL 00001f4b: OR 00001f4c: PUSH1 0xe8 00001f4e: PUSH1 0x02 00001f50: EXP 00001f51: PUSH1 0xff 00001f53: MUL 00001f54: NOT 00001f55: AND 00001f56: PUSH1 0xe8 00001f58: PUSH1 0x02 00001f5a: EXP 00001f5b: SWAP2 00001f5c: ISZERO 00001f5d: ISZERO 00001f5e: SWAP2 00001f5f: SWAP1 00001f60: SWAP2 00001f61: MUL 00001f62: OR 00001f63: SWAP1 00001f64: SSTORE 00001f65: PUSH2 0x0790 00001f68: JUMP 00001f69: JUMPDEST 00001f6a: DUP2 00001f6b: ISZERO 00001f6c: DUP1 00001f6d: ISZERO 00001f6e: PUSH2 0x1f8d 00001f71: JUMPI 00001f72: POP 00001f73: PUSH1 0x01 00001f75: PUSH1 0xa0 00001f77: PUSH1 0x02 00001f79: EXP 00001f7a: SUB 00001f7b: DUP4 00001f7c: AND 00001f7d: PUSH1 0x00 00001f7f: SWAP1 00001f80: DUP2 00001f81: MSTORE 00001f82: PUSH1 0x20 00001f84: DUP2 00001f85: SWAP1 00001f86: MSTORE 00001f87: PUSH1 0x40 00001f89: DUP2 00001f8a: KECCAK256 00001f8b: SLOAD 00001f8c: GT 00001f8d: JUMPDEST 00001f8e: ISZERO 00001f8f: PUSH2 0x0790 00001f92: JUMPI 00001f93: POP 00001f94: POP 00001f95: PUSH1 0x0b 00001f97: SLOAD 00001f98: PUSH1 0x40 00001f9a: DUP1 00001f9b: MLOAD 00001f9c: PUSH2 0x0120 00001f9f: DUP2 00001fa0: ADD 00001fa1: DUP3 00001fa2: MSTORE 00001fa3: PUSH1 0x01 00001fa5: PUSH1 0xa0 00001fa7: PUSH1 0x02 00001fa9: EXP 00001faa: SUB 00001fab: SWAP4 00001fac: DUP5 00001fad: AND 00001fae: DUP2 00001faf: MSTORE 00001fb0: CALLER 00001fb1: PUSH1 0x20 00001fb3: DUP3 00001fb4: ADD 00001fb5: SWAP1 00001fb6: DUP2 00001fb7: MSTORE 00001fb8: PUSH1 0x02 00001fba: SWAP3 00001fbb: DUP3 00001fbc: ADD 00001fbd: SWAP3 00001fbe: DUP4 00001fbf: MSTORE 00001fc0: PUSH1 0x00 00001fc2: PUSH1 0x60 00001fc4: DUP4 00001fc5: ADD 00001fc6: DUP2 00001fc7: DUP2 00001fc8: MSTORE 00001fc9: PUSH1 0x80 00001fcb: DUP5 00001fcc: ADD 00001fcd: DUP3 00001fce: DUP2 00001fcf: MSTORE 00001fd0: PUSH6 0xffffffffffff 00001fd7: TIMESTAMP 00001fd8: DUP2 00001fd9: DUP2 00001fda: AND 00001fdb: PUSH1 0xa0 00001fdd: DUP9 00001fde: ADD 00001fdf: SWAP1 00001fe0: DUP2 00001fe1: MSTORE 00001fe2: SWAP9 00001fe3: ADD 00001fe4: DUP2 00001fe5: AND 00001fe6: PUSH1 0xc0 00001fe8: DUP8 00001fe9: ADD 00001fea: SWAP1 00001feb: DUP2 00001fec: MSTORE 00001fed: PUSH1 0xe0 00001fef: DUP8 00001ff0: ADD 00001ff1: DUP6 00001ff2: DUP2 00001ff3: MSTORE 00001ff4: PUSH2 0x0100 00001ff7: DUP9 00001ff8: ADD 00001ff9: DUP7 00001ffa: DUP2 00001ffb: MSTORE 00001ffc: PUSH1 0x0a 00001ffe: DUP1 00001fff: SLOAD 00002000: PUSH1 0x01 00002002: DUP2 00002003: ADD 00002004: DUP3 00002005: SSTORE 00002006: SWAP8 00002007: MSTORE 00002008: SWAP8 00002009: MLOAD 0000200a: PUSH1 0x03 0000200c: SWAP1 0000200d: SWAP7 0000200e: MUL 0000200f: PUSH1 0x00 00002011: DUP1 00002012: MLOAD 00002013: PUSH1 0x20 00002015: PUSH2 0x2ed6 00002018: DUP4 00002019: CODECOPY 0000201a: DUP2 0000201b: MLOAD 0000201c: SWAP2 0000201d: MSTORE 0000201e: DUP2 0000201f: ADD 00002020: DUP1 00002021: SLOAD 00002022: SWAP8 00002023: DUP14 00002024: AND 00002025: PUSH1 0x01 00002027: PUSH1 0xa0 00002029: PUSH1 0x02 0000202b: EXP 0000202c: SUB 0000202d: NOT 0000202e: SWAP9 0000202f: DUP10 00002030: AND 00002031: OR 00002032: SWAP1 00002033: SSTORE 00002034: SWAP7 00002035: MLOAD 00002036: PUSH1 0x00 00002038: DUP1 00002039: MLOAD 0000203a: PUSH1 0x20 0000203c: PUSH2 0x2eb6 0000203f: DUP4 00002040: CODECOPY 00002041: DUP2 00002042: MLOAD 00002043: SWAP2 00002044: MSTORE 00002045: DUP9 00002046: ADD 00002047: DUP1 00002048: SLOAD 00002049: SWAP11 0000204a: MLOAD 0000204b: SWAP7 0000204c: MLOAD 0000204d: PUSH1 0xff 0000204f: SWAP1 00002050: DUP2 00002051: AND 00002052: PUSH1 0xa8 00002054: PUSH1 0x02 00002056: EXP 00002057: MUL 00002058: PUSH1 0xa8 0000205a: PUSH1 0x02 0000205c: EXP 0000205d: PUSH1 0xff 0000205f: MUL 00002060: NOT 00002061: SWAP2 00002062: SWAP1 00002063: SWAP9 00002064: AND 00002065: PUSH1 0xa0 00002067: PUSH1 0x02 00002069: EXP 0000206a: MUL 0000206b: PUSH1 0xa0 0000206d: PUSH1 0x02 0000206f: EXP 00002070: PUSH1 0xff 00002072: MUL 00002073: NOT 00002074: SWAP4 00002075: SWAP1 00002076: SWAP15 00002077: AND 00002078: SWAP12 00002079: SWAP1 0000207a: SWAP9 0000207b: AND 0000207c: SWAP11 0000207d: SWAP1 0000207e: SWAP11 0000207f: OR 00002080: AND 00002081: SWAP11 00002082: SWAP1 00002083: SWAP11 00002084: OR 00002085: SWAP5 00002086: SWAP1 00002087: SWAP5 00002088: AND 00002089: SWAP3 0000208a: SWAP1 0000208b: SWAP3 0000208c: OR 0000208d: SWAP1 0000208e: SWAP6 0000208f: SSTORE 00002090: SWAP4 00002091: MLOAD 00002092: PUSH1 0x00 00002094: DUP1 00002095: MLOAD 00002096: PUSH1 0x20 00002098: PUSH2 0x2ef6 0000209b: DUP4 0000209c: CODECOPY 0000209d: DUP2 0000209e: MLOAD 0000209f: SWAP2 000020a0: MSTORE 000020a1: SWAP1 000020a2: SWAP3 000020a3: ADD 000020a4: DUP1 000020a5: SLOAD 000020a6: SWAP6 000020a7: MLOAD 000020a8: SWAP2 000020a9: MLOAD 000020aa: SWAP7 000020ab: MLOAD 000020ac: SWAP4 000020ad: MLOAD 000020ae: ISZERO 000020af: ISZERO 000020b0: PUSH1 0xe8 000020b2: PUSH1 0x02 000020b4: EXP 000020b5: MUL 000020b6: PUSH1 0xe8 000020b8: PUSH1 0x02 000020ba: EXP 000020bb: PUSH1 0xff 000020bd: MUL 000020be: NOT 000020bf: SWAP5 000020c0: ISZERO 000020c1: ISZERO 000020c2: PUSH1 0xe0 000020c4: PUSH1 0x02 000020c6: EXP 000020c7: MUL 000020c8: PUSH1 0xe0 000020ca: PUSH1 0x02 000020cc: EXP 000020cd: PUSH1 0xff 000020cf: MUL 000020d0: NOT 000020d1: SWAP9 000020d2: DUP8 000020d3: AND 000020d4: PUSH1 0xb0 000020d6: PUSH1 0x02 000020d8: EXP 000020d9: MUL 000020da: PUSH1 0x00 000020dc: DUP1 000020dd: MLOAD 000020de: PUSH1 0x20 000020e0: PUSH2 0x2f16 000020e3: DUP4 000020e4: CODECOPY 000020e5: DUP2 000020e6: MLOAD 000020e7: SWAP2 000020e8: MSTORE 000020e9: SWAP5 000020ea: SWAP1 000020eb: SWAP8 000020ec: AND 000020ed: PUSH1 0x80 000020ef: PUSH1 0x02 000020f1: EXP 000020f2: MUL 000020f3: PUSH22 0xffffffffffff00000000000000000000000000000000 0000210a: NOT 0000210b: PUSH1 0x01 0000210d: PUSH1 0x80 0000210f: PUSH1 0x02 00002111: EXP 00002112: SUB 00002113: SWAP1 00002114: SWAP7 00002115: AND 00002116: PUSH16 0xffffffffffffffffffffffffffffffff 00002127: NOT 00002128: SWAP1 00002129: SWAP10 0000212a: AND 0000212b: SWAP9 0000212c: SWAP1 0000212d: SWAP9 0000212e: OR 0000212f: SWAP5 00002130: SWAP1 00002131: SWAP5 00002132: AND 00002133: SWAP7 00002134: SWAP1 00002135: SWAP7 00002136: OR 00002137: SWAP2 00002138: SWAP1 00002139: SWAP2 0000213a: AND 0000213b: SWAP4 0000213c: SWAP1 0000213d: SWAP4 0000213e: OR 0000213f: SWAP5 00002140: SWAP1 00002141: SWAP5 00002142: AND 00002143: SWAP4 00002144: SWAP1 00002145: SWAP4 00002146: OR 00002147: SWAP3 00002148: SWAP1 00002149: SWAP3 0000214a: AND 0000214b: OR 0000214c: SWAP1 0000214d: SSTORE 0000214e: JUMP 0000214f: JUMPDEST 00002150: CALLER 00002151: PUSH1 0x00 00002153: SWAP1 00002154: DUP2 00002155: MSTORE 00002156: PUSH1 0x20 00002158: DUP2 00002159: SWAP1 0000215a: MSTORE 0000215b: PUSH1 0x40 0000215d: DUP2 0000215e: KECCAK256 0000215f: SLOAD 00002160: DUP2 00002161: LT 00002162: PUSH2 0x216a 00002165: JUMPI 00002166: PUSH1 0x00 00002168: DUP1 00002169: REVERT 0000216a: JUMPDEST 0000216b: POP 0000216c: PUSH1 0x0b 0000216e: SLOAD 0000216f: PUSH1 0x0a 00002171: DUP1 00002172: SLOAD 00002173: PUSH1 0x00 00002175: SWAP1 00002176: DUP2 00002177: MSTORE 00002178: PUSH1 0x05 0000217a: PUSH1 0x20 0000217c: SWAP1 0000217d: DUP2 0000217e: MSTORE 0000217f: PUSH1 0x40 00002181: DUP1 00002182: DUP4 00002183: KECCAK256 00002184: DUP7 00002185: SWAP1 00002186: SSTORE 00002187: DUP1 00002188: MLOAD 00002189: PUSH2 0x0120 0000218c: DUP2 0000218d: ADD 0000218e: DUP3 0000218f: MSTORE 00002190: PUSH1 0x01 00002192: PUSH1 0xa0 00002194: PUSH1 0x02 00002196: EXP 00002197: SUB 00002198: SWAP8 00002199: DUP9 0000219a: AND 0000219b: DUP2 0000219c: MSTORE 0000219d: CALLER 0000219e: SWAP3 0000219f: DUP2 000021a0: ADD 000021a1: SWAP3 000021a2: DUP4 000021a3: MSTORE 000021a4: PUSH1 0x01 000021a6: SWAP2 000021a7: DUP2 000021a8: ADD 000021a9: DUP3 000021aa: DUP2 000021ab: MSTORE 000021ac: PUSH1 0x60 000021ae: DUP3 000021af: ADD 000021b0: DUP6 000021b1: DUP2 000021b2: MSTORE 000021b3: PUSH1 0x80 000021b5: DUP4 000021b6: ADD 000021b7: DUP7 000021b8: DUP2 000021b9: MSTORE 000021ba: TIMESTAMP 000021bb: PUSH6 0xffffffffffff 000021c2: DUP2 000021c3: DUP2 000021c4: AND 000021c5: PUSH1 0xa0 000021c7: DUP8 000021c8: ADD 000021c9: SWAP1 000021ca: DUP2 000021cb: MSTORE 000021cc: SWAP2 000021cd: SWAP1 000021ce: SWAP11 000021cf: ADD 000021d0: DUP11 000021d1: AND 000021d2: PUSH1 0xc0 000021d4: DUP7 000021d5: ADD 000021d6: SWAP1 000021d7: DUP2 000021d8: MSTORE 000021d9: SWAP11 000021da: ISZERO 000021db: ISZERO 000021dc: PUSH1 0xe0 000021de: DUP7 000021df: ADD 000021e0: SWAP1 000021e1: DUP2 000021e2: MSTORE 000021e3: PUSH2 0x0100 000021e6: DUP7 000021e7: ADD 000021e8: DUP10 000021e9: DUP2 000021ea: MSTORE 000021eb: DUP11 000021ec: SLOAD 000021ed: SWAP8 000021ee: DUP9 000021ef: ADD 000021f0: DUP12 000021f1: SSTORE 000021f2: SWAP10 000021f3: SWAP1 000021f4: SWAP9 000021f5: MSTORE 000021f6: SWAP4 000021f7: MLOAD 000021f8: PUSH1 0x00 000021fa: DUP1 000021fb: MLOAD 000021fc: PUSH1 0x20 000021fe: PUSH2 0x2ed6 00002201: DUP4 00002202: CODECOPY 00002203: DUP2 00002204: MLOAD 00002205: SWAP2 00002206: MSTORE 00002207: PUSH1 0x03 00002209: SWAP1 0000220a: SWAP7 0000220b: MUL 0000220c: SWAP6 0000220d: DUP7 0000220e: ADD 0000220f: DUP1 00002210: SLOAD 00002211: PUSH1 0x01 00002213: PUSH1 0xa0 00002215: PUSH1 0x02 00002217: EXP 00002218: SUB 00002219: NOT 0000221a: SWAP1 0000221b: DUP2 0000221c: AND 0000221d: SWAP3 0000221e: DUP15 0000221f: AND 00002220: SWAP3 00002221: SWAP1 00002222: SWAP3 00002223: OR 00002224: SWAP1 00002225: SSTORE 00002226: SWAP6 00002227: MLOAD 00002228: PUSH1 0x00 0000222a: DUP1 0000222b: MLOAD 0000222c: PUSH1 0x20 0000222e: PUSH2 0x2eb6 00002231: DUP4 00002232: CODECOPY 00002233: DUP2 00002234: MLOAD 00002235: SWAP2 00002236: MSTORE 00002237: DUP7 00002238: ADD 00002239: DUP1 0000223a: SLOAD 0000223b: SWAP5 0000223c: MLOAD 0000223d: SWAP4 0000223e: MLOAD 0000223f: SWAP5 00002240: SWAP1 00002241: SWAP8 00002242: AND 00002243: SWAP12 00002244: AND 00002245: SWAP11 00002246: SWAP1 00002247: SWAP11 00002248: OR 00002249: PUSH1 0xa0 0000224b: PUSH1 0x02 0000224d: EXP 0000224e: PUSH1 0xff 00002250: MUL 00002251: NOT 00002252: AND 00002253: PUSH1 0xa0 00002255: PUSH1 0x02 00002257: EXP 00002258: PUSH1 0xff 0000225a: SWAP3 0000225b: DUP4 0000225c: AND 0000225d: MUL 0000225e: OR 0000225f: PUSH1 0xa8 00002261: PUSH1 0x02 00002263: EXP 00002264: PUSH1 0xff 00002266: MUL 00002267: NOT 00002268: AND 00002269: PUSH1 0xa8 0000226b: PUSH1 0x02 0000226d: EXP 0000226e: SWAP2 0000226f: SWAP1 00002270: SWAP3 00002271: AND 00002272: MUL 00002273: OR 00002274: SWAP1 00002275: SWAP3 00002276: SSTORE 00002277: SWAP6 00002278: MLOAD 00002279: PUSH1 0x00 0000227b: DUP1 0000227c: MLOAD 0000227d: PUSH1 0x20 0000227f: PUSH2 0x2ef6 00002282: DUP4 00002283: CODECOPY 00002284: DUP2 00002285: MLOAD 00002286: SWAP2 00002287: MSTORE 00002288: SWAP1 00002289: SWAP7 0000228a: ADD 0000228b: DUP1 0000228c: SLOAD 0000228d: SWAP2 0000228e: MLOAD 0000228f: SWAP6 00002290: MLOAD 00002291: SWAP3 00002292: MLOAD 00002293: SWAP4 00002294: MLOAD 00002295: PUSH16 0xffffffffffffffffffffffffffffffff 000022a6: NOT 000022a7: SWAP1 000022a8: SWAP3 000022a9: AND 000022aa: PUSH1 0x01 000022ac: PUSH1 0x80 000022ae: PUSH1 0x02 000022b0: EXP 000022b1: SUB 000022b2: SWAP1 000022b3: SWAP8 000022b4: AND 000022b5: SWAP7 000022b6: SWAP1 000022b7: SWAP7 000022b8: OR 000022b9: PUSH22 0xffffffffffff00000000000000000000000000000000 000022d0: NOT 000022d1: AND 000022d2: PUSH1 0x80 000022d4: PUSH1 0x02 000022d6: EXP 000022d7: SWAP6 000022d8: DUP6 000022d9: AND 000022da: SWAP6 000022db: SWAP1 000022dc: SWAP6 000022dd: MUL 000022de: SWAP5 000022df: SWAP1 000022e0: SWAP5 000022e1: OR 000022e2: PUSH1 0x00 000022e4: DUP1 000022e5: MLOAD 000022e6: PUSH1 0x20 000022e8: PUSH2 0x2f16 000022eb: DUP4 000022ec: CODECOPY 000022ed: DUP2 000022ee: MLOAD 000022ef: SWAP2 000022f0: MSTORE 000022f1: AND 000022f2: PUSH1 0xb0 000022f4: PUSH1 0x02 000022f6: EXP 000022f7: SWAP2 000022f8: SWAP1 000022f9: SWAP4 000022fa: AND 000022fb: MUL 000022fc: SWAP2 000022fd: SWAP1 000022fe: SWAP2 000022ff: OR 00002300: PUSH1 0xe0 00002302: PUSH1 0x02 00002304: EXP 00002305: PUSH1 0xff 00002307: MUL 00002308: NOT 00002309: AND 0000230a: PUSH1 0xe0 0000230c: PUSH1 0x02 0000230e: EXP 0000230f: SWAP2 00002310: ISZERO 00002311: ISZERO 00002312: SWAP2 00002313: SWAP1 00002314: SWAP2 00002315: MUL 00002316: OR 00002317: PUSH1 0xe8 00002319: PUSH1 0x02 0000231b: EXP 0000231c: PUSH1 0xff 0000231e: MUL 0000231f: NOT 00002320: AND 00002321: PUSH1 0xe8 00002323: PUSH1 0x02 00002325: EXP 00002326: SWAP2 00002327: ISZERO 00002328: ISZERO 00002329: SWAP2 0000232a: SWAP1 0000232b: SWAP2 0000232c: MUL 0000232d: OR 0000232e: SWAP1 0000232f: SSTORE 00002330: JUMP 00002331: JUMPDEST 00002332: PUSH1 0x05 00002334: DUP2 00002335: JUMP 00002336: JUMPDEST 00002337: PUSH1 0x0a 00002339: SLOAD 0000233a: SWAP1 0000233b: JUMP 0000233c: JUMPDEST 0000233d: PUSH1 0x0c 0000233f: PUSH1 0x20 00002341: MSTORE 00002342: PUSH1 0x00 00002344: SWAP1 00002345: DUP2 00002346: MSTORE 00002347: PUSH1 0x40 00002349: SWAP1 0000234a: KECCAK256 0000234b: SLOAD 0000234c: PUSH1 0xff 0000234e: AND 0000234f: DUP2 00002350: JUMP 00002351: JUMPDEST 00002352: PUSH1 0x01 00002354: PUSH1 0xa0 00002356: PUSH1 0x02 00002358: EXP 00002359: SUB 0000235a: DUP4 0000235b: AND 0000235c: PUSH1 0x00 0000235e: SWAP1 0000235f: DUP2 00002360: MSTORE 00002361: PUSH1 0x03 00002363: PUSH1 0x20 00002365: MSTORE 00002366: PUSH1 0x40 00002368: SWAP1 00002369: KECCAK256 0000236a: SLOAD 0000236b: PUSH18 0x010000000000000000000000000000000000 0000237e: SWAP1 0000237f: DIV 00002380: PUSH1 0xff 00002382: AND 00002383: ISZERO 00002384: ISZERO 00002385: PUSH2 0x238d 00002388: JUMPI 00002389: PUSH1 0x00 0000238b: DUP1 0000238c: REVERT 0000238d: JUMPDEST 0000238e: PUSH2 0x2398 00002391: DUP4 00002392: DUP4 00002393: DUP4 00002394: PUSH2 0x2d20 00002397: JUMP 00002398: JUMPDEST 00002399: PUSH1 0x0a 0000239b: PUSH2 0x0120 0000239e: PUSH1 0x40 000023a0: MLOAD 000023a1: SWAP1 000023a2: DUP2 000023a3: ADD 000023a4: PUSH1 0x40 000023a6: MSTORE 000023a7: DUP1 000023a8: DUP6 000023a9: PUSH1 0x01 000023ab: PUSH1 0xa0 000023ad: PUSH1 0x02 000023af: EXP 000023b0: SUB 000023b1: AND 000023b2: DUP2 000023b3: MSTORE 000023b4: PUSH1 0x20 000023b6: ADD 000023b7: DUP5 000023b8: PUSH1 0x01 000023ba: PUSH1 0xa0 000023bc: PUSH1 0x02 000023be: EXP 000023bf: SUB 000023c0: AND 000023c1: DUP2 000023c2: MSTORE 000023c3: PUSH1 0x20 000023c5: ADD 000023c6: PUSH1 0x03 000023c8: PUSH1 0xff 000023ca: AND 000023cb: DUP2 000023cc: MSTORE 000023cd: PUSH1 0x20 000023cf: ADD 000023d0: PUSH1 0x01 000023d2: PUSH1 0xff 000023d4: AND 000023d5: DUP2 000023d6: MSTORE 000023d7: PUSH1 0x20 000023d9: ADD 000023da: DUP4 000023db: PUSH1 0x01 000023dd: PUSH1 0x80 000023df: PUSH1 0x02 000023e1: EXP 000023e2: SUB 000023e3: AND 000023e4: DUP2 000023e5: MSTORE 000023e6: PUSH1 0x20 000023e8: ADD 000023e9: TIMESTAMP 000023ea: PUSH6 0xffffffffffff 000023f1: AND 000023f2: DUP2 000023f3: MSTORE 000023f4: PUSH1 0x20 000023f6: ADD 000023f7: PUSH1 0x00 000023f9: PUSH6 0xffffffffffff 00002400: AND 00002401: DUP2 00002402: MSTORE 00002403: PUSH1 0x20 00002405: ADD 00002406: PUSH1 0x00 00002408: ISZERO 00002409: ISZERO 0000240a: DUP2 0000240b: MSTORE 0000240c: PUSH1 0x20 0000240e: ADD 0000240f: PUSH1 0x00 00002411: ISZERO 00002412: ISZERO 00002413: DUP2 00002414: MSTORE 00002415: POP 00002416: SWAP1 00002417: DUP1 00002418: PUSH1 0x01 0000241a: DUP2 0000241b: SLOAD 0000241c: ADD 0000241d: DUP1 0000241e: DUP3 0000241f: SSTORE 00002420: DUP1 00002421: SWAP2 00002422: POP 00002423: POP 00002424: SWAP1 00002425: PUSH1 0x01 00002427: DUP3 00002428: SUB 00002429: SWAP1 0000242a: PUSH1 0x00 0000242c: MSTORE 0000242d: PUSH1 0x20 0000242f: PUSH1 0x00 00002431: KECCAK256 00002432: SWAP1 00002433: PUSH1 0x03 00002435: MUL 00002436: ADD 00002437: PUSH1 0x00 00002439: SWAP1 0000243a: SWAP2 0000243b: SWAP3 0000243c: SWAP1 0000243d: SWAP2 0000243e: SWAP1 0000243f: SWAP2 00002440: POP 00002441: PUSH1 0x00 00002443: DUP3 00002444: ADD 00002445: MLOAD 00002446: DUP2 00002447: PUSH1 0x00 00002449: ADD 0000244a: PUSH1 0x00 0000244c: PUSH2 0x0100 0000244f: EXP 00002450: DUP2 00002451: SLOAD 00002452: DUP2 00002453: PUSH1 0x01 00002455: PUSH1 0xa0 00002457: PUSH1 0x02 00002459: EXP 0000245a: SUB 0000245b: MUL 0000245c: NOT 0000245d: AND 0000245e: SWAP1 0000245f: DUP4 00002460: PUSH1 0x01 00002462: PUSH1 0xa0 00002464: PUSH1 0x02 00002466: EXP 00002467: SUB 00002468: AND 00002469: MUL 0000246a: OR 0000246b: SWAP1 0000246c: SSTORE 0000246d: POP 0000246e: PUSH1 0x20 00002470: DUP3 00002471: ADD 00002472: MLOAD 00002473: DUP2 00002474: PUSH1 0x01 00002476: ADD 00002477: PUSH1 0x00 00002479: PUSH2 0x0100 0000247c: EXP 0000247d: DUP2 0000247e: SLOAD 0000247f: DUP2 00002480: PUSH1 0x01 00002482: PUSH1 0xa0 00002484: PUSH1 0x02 00002486: EXP 00002487: SUB 00002488: MUL 00002489: NOT 0000248a: AND 0000248b: SWAP1 0000248c: DUP4 0000248d: PUSH1 0x01 0000248f: PUSH1 0xa0 00002491: PUSH1 0x02 00002493: EXP 00002494: SUB 00002495: AND 00002496: MUL 00002497: OR 00002498: SWAP1 00002499: SSTORE 0000249a: POP 0000249b: PUSH1 0x40 0000249d: DUP3 0000249e: ADD 0000249f: MLOAD 000024a0: DUP2 000024a1: PUSH1 0x01 000024a3: ADD 000024a4: PUSH1 0x14 000024a6: PUSH2 0x0100 000024a9: EXP 000024aa: DUP2 000024ab: SLOAD 000024ac: DUP2 000024ad: PUSH1 0xff 000024af: MUL 000024b0: NOT 000024b1: AND 000024b2: SWAP1 000024b3: DUP4 000024b4: PUSH1 0xff 000024b6: AND 000024b7: MUL 000024b8: OR 000024b9: SWAP1 000024ba: SSTORE 000024bb: POP 000024bc: PUSH1 0x60 000024be: DUP3 000024bf: ADD 000024c0: MLOAD 000024c1: DUP2 000024c2: PUSH1 0x01 000024c4: ADD 000024c5: PUSH1 0x15 000024c7: PUSH2 0x0100 000024ca: EXP 000024cb: DUP2 000024cc: SLOAD 000024cd: DUP2 000024ce: PUSH1 0xff 000024d0: MUL 000024d1: NOT 000024d2: AND 000024d3: SWAP1 000024d4: DUP4 000024d5: PUSH1 0xff 000024d7: AND 000024d8: MUL 000024d9: OR 000024da: SWAP1 000024db: SSTORE 000024dc: POP 000024dd: PUSH1 0x80 000024df: DUP3 000024e0: ADD 000024e1: MLOAD 000024e2: DUP2 000024e3: PUSH1 0x02 000024e5: ADD 000024e6: PUSH1 0x00 000024e8: PUSH2 0x0100 000024eb: EXP 000024ec: DUP2 000024ed: SLOAD 000024ee: DUP2 000024ef: PUSH1 0x01 000024f1: PUSH1 0x80 000024f3: PUSH1 0x02 000024f5: EXP 000024f6: SUB 000024f7: MUL 000024f8: NOT 000024f9: AND 000024fa: SWAP1 000024fb: DUP4 000024fc: PUSH1 0x01 000024fe: PUSH1 0x80 00002500: PUSH1 0x02 00002502: EXP 00002503: SUB 00002504: AND 00002505: MUL 00002506: OR 00002507: SWAP1 00002508: SSTORE 00002509: POP 0000250a: PUSH1 0xa0 0000250c: DUP3 0000250d: ADD 0000250e: MLOAD 0000250f: DUP2 00002510: PUSH1 0x02 00002512: ADD 00002513: PUSH1 0x10 00002515: PUSH2 0x0100 00002518: EXP 00002519: DUP2 0000251a: SLOAD 0000251b: DUP2 0000251c: PUSH6 0xffffffffffff 00002523: MUL 00002524: NOT 00002525: AND 00002526: SWAP1 00002527: DUP4 00002528: PUSH6 0xffffffffffff 0000252f: AND 00002530: MUL 00002531: OR 00002532: SWAP1 00002533: SSTORE 00002534: POP 00002535: PUSH1 0xc0 00002537: DUP3 00002538: ADD 00002539: MLOAD 0000253a: DUP2 0000253b: PUSH1 0x02 0000253d: ADD 0000253e: PUSH1 0x16 00002540: PUSH2 0x0100 00002543: EXP 00002544: DUP2 00002545: SLOAD 00002546: DUP2 00002547: PUSH6 0xffffffffffff 0000254e: MUL 0000254f: NOT 00002550: AND 00002551: SWAP1 00002552: DUP4 00002553: PUSH6 0xffffffffffff 0000255a: AND 0000255b: MUL 0000255c: OR 0000255d: SWAP1 0000255e: SSTORE 0000255f: POP 00002560: PUSH1 0xe0 00002562: DUP3 00002563: ADD 00002564: MLOAD 00002565: DUP2 00002566: PUSH1 0x02 00002568: ADD 00002569: PUSH1 0x1c 0000256b: PUSH2 0x0100 0000256e: EXP 0000256f: DUP2 00002570: SLOAD 00002571: DUP2 00002572: PUSH1 0xff 00002574: MUL 00002575: NOT 00002576: AND 00002577: SWAP1 00002578: DUP4 00002579: ISZERO 0000257a: ISZERO 0000257b: MUL 0000257c: OR 0000257d: SWAP1 0000257e: SSTORE 0000257f: POP 00002580: PUSH2 0x0100 00002583: DUP3 00002584: ADD 00002585: MLOAD 00002586: DUP2 00002587: PUSH1 0x02 00002589: ADD 0000258a: PUSH1 0x1d 0000258c: PUSH2 0x0100 0000258f: EXP 00002590: DUP2 00002591: SLOAD 00002592: DUP2 00002593: PUSH1 0xff 00002595: MUL 00002596: NOT 00002597: AND 00002598: SWAP1 00002599: DUP4 0000259a: ISZERO 0000259b: ISZERO 0000259c: MUL 0000259d: OR 0000259e: SWAP1 0000259f: SSTORE 000025a0: POP 000025a1: POP 000025a2: POP 000025a3: POP 000025a4: DUP2 000025a5: PUSH1 0x01 000025a7: PUSH1 0xa0 000025a9: PUSH1 0x02 000025ab: EXP 000025ac: SUB 000025ad: AND 000025ae: PUSH4 0xa9059cbb 000025b3: DUP5 000025b4: DUP4 000025b5: PUSH1 0x40 000025b7: MLOAD 000025b8: DUP4 000025b9: PUSH4 0xffffffff 000025be: AND 000025bf: PUSH1 0xe0 000025c1: PUSH1 0x02 000025c3: EXP 000025c4: MUL 000025c5: DUP2 000025c6: MSTORE 000025c7: PUSH1 0x04 000025c9: ADD 000025ca: DUP1 000025cb: DUP4 000025cc: PUSH1 0x01 000025ce: PUSH1 0xa0 000025d0: PUSH1 0x02 000025d2: EXP 000025d3: SUB 000025d4: AND 000025d5: PUSH1 0x01 000025d7: PUSH1 0xa0 000025d9: PUSH1 0x02 000025db: EXP 000025dc: SUB 000025dd: AND 000025de: DUP2 000025df: MSTORE 000025e0: PUSH1 0x20 000025e2: ADD 000025e3: DUP3 000025e4: DUP2 000025e5: MSTORE 000025e6: PUSH1 0x20 000025e8: ADD 000025e9: SWAP3 000025ea: POP 000025eb: POP 000025ec: POP 000025ed: PUSH1 0x20 000025ef: PUSH1 0x40 000025f1: MLOAD 000025f2: DUP1 000025f3: DUP4 000025f4: SUB 000025f5: DUP2 000025f6: PUSH1 0x00 000025f8: DUP8 000025f9: DUP1 000025fa: EXTCODESIZE 000025fb: ISZERO 000025fc: DUP1 000025fd: ISZERO 000025fe: PUSH2 0x2606 00002601: JUMPI 00002602: PUSH1 0x00 00002604: DUP1 00002605: REVERT 00002606: JUMPDEST 00002607: POP 00002608: GAS 00002609: CALL 0000260a: ISZERO 0000260b: DUP1 0000260c: ISZERO 0000260d: PUSH2 0x261a 00002610: JUMPI 00002611: RETURNDATASIZE 00002612: PUSH1 0x00 00002614: DUP1 00002615: RETURNDATACOPY 00002616: RETURNDATASIZE 00002617: PUSH1 0x00 00002619: REVERT 0000261a: JUMPDEST 0000261b: POP 0000261c: POP 0000261d: POP 0000261e: POP 0000261f: PUSH1 0x40 00002621: MLOAD 00002622: RETURNDATASIZE 00002623: PUSH1 0x20 00002625: DUP2 00002626: LT 00002627: ISZERO 00002628: PUSH2 0x09b7 0000262b: JUMPI 0000262c: PUSH1 0x00 0000262e: DUP1 0000262f: REVERT 00002630: JUMPDEST 00002631: PUSH1 0x01 00002633: PUSH1 0xa0 00002635: PUSH1 0x02 00002637: EXP 00002638: SUB 00002639: DUP3 0000263a: AND 0000263b: PUSH1 0x00 0000263d: SWAP1 0000263e: DUP2 0000263f: MSTORE 00002640: PUSH1 0x03 00002642: PUSH1 0x20 00002644: MSTORE 00002645: PUSH1 0x40 00002647: SWAP1 00002648: KECCAK256 00002649: SLOAD 0000264a: PUSH1 0x80 0000264c: PUSH1 0x02 0000264e: EXP 0000264f: SWAP1 00002650: DIV 00002651: PUSH1 0xff 00002653: AND 00002654: ISZERO 00002655: ISZERO 00002656: PUSH2 0x265e 00002659: JUMPI 0000265a: PUSH1 0x00 0000265c: DUP1 0000265d: REVERT 0000265e: JUMPDEST 0000265f: PUSH2 0x266a 00002662: DUP3 00002663: PUSH1 0x00 00002665: DUP4 00002666: PUSH2 0x2d20 00002669: JUMP 0000266a: JUMPDEST 0000266b: PUSH1 0x0a 0000266d: PUSH2 0x0120 00002670: PUSH1 0x40 00002672: MLOAD 00002673: SWAP1 00002674: DUP2 00002675: ADD 00002676: PUSH1 0x40 00002678: MSTORE 00002679: DUP1 0000267a: DUP5 0000267b: PUSH1 0x01 0000267d: PUSH1 0xa0 0000267f: PUSH1 0x02 00002681: EXP 00002682: SUB 00002683: AND 00002684: DUP2 00002685: MSTORE 00002686: PUSH1 0x20 00002688: ADD 00002689: PUSH1 0x00 0000268b: PUSH1 0x01 0000268d: PUSH1 0xa0 0000268f: PUSH1 0x02 00002691: EXP 00002692: SUB 00002693: AND 00002694: DUP2 00002695: MSTORE 00002696: PUSH1 0x20 00002698: ADD 00002699: PUSH1 0x04 0000269b: PUSH1 0xff 0000269d: AND 0000269e: DUP2 0000269f: MSTORE 000026a0: PUSH1 0x20 000026a2: ADD 000026a3: PUSH1 0x01 000026a5: PUSH1 0xff 000026a7: AND 000026a8: DUP2 000026a9: MSTORE 000026aa: PUSH1 0x20 000026ac: ADD 000026ad: DUP4 000026ae: PUSH1 0x01 000026b0: PUSH1 0x80 000026b2: PUSH1 0x02 000026b4: EXP 000026b5: SUB 000026b6: AND 000026b7: DUP2 000026b8: MSTORE 000026b9: PUSH1 0x20 000026bb: ADD 000026bc: TIMESTAMP 000026bd: PUSH6 0xffffffffffff 000026c4: AND 000026c5: DUP2 000026c6: MSTORE 000026c7: PUSH1 0x20 000026c9: ADD 000026ca: PUSH1 0x00 000026cc: PUSH6 0xffffffffffff 000026d3: AND 000026d4: DUP2 000026d5: MSTORE 000026d6: PUSH1 0x20 000026d8: ADD 000026d9: PUSH1 0x00 000026db: ISZERO 000026dc: ISZERO 000026dd: DUP2 000026de: MSTORE 000026df: PUSH1 0x20 000026e1: ADD 000026e2: PUSH1 0x00 000026e4: ISZERO 000026e5: ISZERO 000026e6: DUP2 000026e7: MSTORE 000026e8: POP 000026e9: SWAP1 000026ea: DUP1 000026eb: PUSH1 0x01 000026ed: DUP2 000026ee: SLOAD 000026ef: ADD 000026f0: DUP1 000026f1: DUP3 000026f2: SSTORE 000026f3: DUP1 000026f4: SWAP2 000026f5: POP 000026f6: POP 000026f7: SWAP1 000026f8: PUSH1 0x01 000026fa: DUP3 000026fb: SUB 000026fc: SWAP1 000026fd: PUSH1 0x00 000026ff: MSTORE 00002700: PUSH1 0x20 00002702: PUSH1 0x00 00002704: KECCAK256 00002705: SWAP1 00002706: PUSH1 0x03 00002708: MUL 00002709: ADD 0000270a: PUSH1 0x00 0000270c: SWAP1 0000270d: SWAP2 0000270e: SWAP3 0000270f: SWAP1 00002710: SWAP2 00002711: SWAP1 00002712: SWAP2 00002713: POP 00002714: PUSH1 0x00 00002716: DUP3 00002717: ADD 00002718: MLOAD 00002719: DUP2 0000271a: PUSH1 0x00 0000271c: ADD 0000271d: PUSH1 0x00 0000271f: PUSH2 0x0100 00002722: EXP 00002723: DUP2 00002724: SLOAD 00002725: DUP2 00002726: PUSH1 0x01 00002728: PUSH1 0xa0 0000272a: PUSH1 0x02 0000272c: EXP 0000272d: SUB 0000272e: MUL 0000272f: NOT 00002730: AND 00002731: SWAP1 00002732: DUP4 00002733: PUSH1 0x01 00002735: PUSH1 0xa0 00002737: PUSH1 0x02 00002739: EXP 0000273a: SUB 0000273b: AND 0000273c: MUL 0000273d: OR 0000273e: SWAP1 0000273f: SSTORE 00002740: POP 00002741: PUSH1 0x20 00002743: DUP3 00002744: ADD 00002745: MLOAD 00002746: DUP2 00002747: PUSH1 0x01 00002749: ADD 0000274a: PUSH1 0x00 0000274c: PUSH2 0x0100 0000274f: EXP 00002750: DUP2 00002751: SLOAD 00002752: DUP2 00002753: PUSH1 0x01 00002755: PUSH1 0xa0 00002757: PUSH1 0x02 00002759: EXP 0000275a: SUB 0000275b: MUL 0000275c: NOT 0000275d: AND 0000275e: SWAP1 0000275f: DUP4 00002760: PUSH1 0x01 00002762: PUSH1 0xa0 00002764: PUSH1 0x02 00002766: EXP 00002767: SUB 00002768: AND 00002769: MUL 0000276a: OR 0000276b: SWAP1 0000276c: SSTORE 0000276d: POP 0000276e: PUSH1 0x40 00002770: DUP3 00002771: ADD 00002772: MLOAD 00002773: DUP2 00002774: PUSH1 0x01 00002776: ADD 00002777: PUSH1 0x14 00002779: PUSH2 0x0100 0000277c: EXP 0000277d: DUP2 0000277e: SLOAD 0000277f: DUP2 00002780: PUSH1 0xff 00002782: MUL 00002783: NOT 00002784: AND 00002785: SWAP1 00002786: DUP4 00002787: PUSH1 0xff 00002789: AND 0000278a: MUL 0000278b: OR 0000278c: SWAP1 0000278d: SSTORE 0000278e: POP 0000278f: PUSH1 0x60 00002791: DUP3 00002792: ADD 00002793: MLOAD 00002794: DUP2 00002795: PUSH1 0x01 00002797: ADD 00002798: PUSH1 0x15 0000279a: PUSH2 0x0100 0000279d: EXP 0000279e: DUP2 0000279f: SLOAD 000027a0: DUP2 000027a1: PUSH1 0xff 000027a3: MUL 000027a4: NOT 000027a5: AND 000027a6: SWAP1 000027a7: DUP4 000027a8: PUSH1 0xff 000027aa: AND 000027ab: MUL 000027ac: OR 000027ad: SWAP1 000027ae: SSTORE 000027af: POP 000027b0: PUSH1 0x80 000027b2: DUP3 000027b3: ADD 000027b4: MLOAD 000027b5: DUP2 000027b6: PUSH1 0x02 000027b8: ADD 000027b9: PUSH1 0x00 000027bb: PUSH2 0x0100 000027be: EXP 000027bf: DUP2 000027c0: SLOAD 000027c1: DUP2 000027c2: PUSH1 0x01 000027c4: PUSH1 0x80 000027c6: PUSH1 0x02 000027c8: EXP 000027c9: SUB 000027ca: MUL 000027cb: NOT 000027cc: AND 000027cd: SWAP1 000027ce: DUP4 000027cf: PUSH1 0x01 000027d1: PUSH1 0x80 000027d3: PUSH1 0x02 000027d5: EXP 000027d6: SUB 000027d7: AND 000027d8: MUL 000027d9: OR 000027da: SWAP1 000027db: SSTORE 000027dc: POP 000027dd: PUSH1 0xa0 000027df: DUP3 000027e0: ADD 000027e1: MLOAD 000027e2: DUP2 000027e3: PUSH1 0x02 000027e5: ADD 000027e6: PUSH1 0x10 000027e8: PUSH2 0x0100 000027eb: EXP 000027ec: DUP2 000027ed: SLOAD 000027ee: DUP2 000027ef: PUSH6 0xffffffffffff 000027f6: MUL 000027f7: NOT 000027f8: AND 000027f9: SWAP1 000027fa: DUP4 000027fb: PUSH6 0xffffffffffff 00002802: AND 00002803: MUL 00002804: OR 00002805: SWAP1 00002806: SSTORE 00002807: POP 00002808: PUSH1 0xc0 0000280a: DUP3 0000280b: ADD 0000280c: MLOAD 0000280d: DUP2 0000280e: PUSH1 0x02 00002810: ADD 00002811: PUSH1 0x16 00002813: PUSH2 0x0100 00002816: EXP 00002817: DUP2 00002818: SLOAD 00002819: DUP2 0000281a: PUSH6 0xffffffffffff 00002821: MUL 00002822: NOT 00002823: AND 00002824: SWAP1 00002825: DUP4 00002826: PUSH6 0xffffffffffff 0000282d: AND 0000282e: MUL 0000282f: OR 00002830: SWAP1 00002831: SSTORE 00002832: POP 00002833: PUSH1 0xe0 00002835: DUP3 00002836: ADD 00002837: MLOAD 00002838: DUP2 00002839: PUSH1 0x02 0000283b: ADD 0000283c: PUSH1 0x1c 0000283e: PUSH2 0x0100 00002841: EXP 00002842: DUP2 00002843: SLOAD 00002844: DUP2 00002845: PUSH1 0xff 00002847: MUL 00002848: NOT 00002849: AND 0000284a: SWAP1 0000284b: DUP4 0000284c: ISZERO 0000284d: ISZERO 0000284e: MUL 0000284f: OR 00002850: SWAP1 00002851: SSTORE 00002852: POP 00002853: PUSH2 0x0100 00002856: DUP3 00002857: ADD 00002858: MLOAD 00002859: DUP2 0000285a: PUSH1 0x02 0000285c: ADD 0000285d: PUSH1 0x1d 0000285f: PUSH2 0x0100 00002862: EXP 00002863: DUP2 00002864: SLOAD 00002865: DUP2 00002866: PUSH1 0xff 00002868: MUL 00002869: NOT 0000286a: AND 0000286b: SWAP1 0000286c: DUP4 0000286d: ISZERO 0000286e: ISZERO 0000286f: MUL 00002870: OR 00002871: SWAP1 00002872: SSTORE 00002873: POP 00002874: POP 00002875: POP 00002876: POP 00002877: DUP2 00002878: PUSH1 0x01 0000287a: PUSH1 0xa0 0000287c: PUSH1 0x02 0000287e: EXP 0000287f: SUB 00002880: AND 00002881: PUSH2 0x08fc 00002884: DUP3 00002885: SWAP1 00002886: DUP2 00002887: ISZERO 00002888: MUL 00002889: SWAP1 0000288a: PUSH1 0x40 0000288c: MLOAD 0000288d: PUSH1 0x00 0000288f: PUSH1 0x40 00002891: MLOAD 00002892: DUP1 00002893: DUP4 00002894: SUB 00002895: DUP2 00002896: DUP6 00002897: DUP9 00002898: DUP9 00002899: CALL 0000289a: SWAP4 0000289b: POP 0000289c: POP 0000289d: POP 0000289e: POP 0000289f: ISZERO 000028a0: DUP1 000028a1: ISZERO 000028a2: PUSH2 0x0790 000028a5: JUMPI 000028a6: RETURNDATASIZE 000028a7: PUSH1 0x00 000028a9: DUP1 000028aa: RETURNDATACOPY 000028ab: RETURNDATASIZE 000028ac: PUSH1 0x00 000028ae: REVERT 000028af: JUMPDEST 000028b0: PUSH1 0x01 000028b2: PUSH1 0xa0 000028b4: PUSH1 0x02 000028b6: EXP 000028b7: SUB 000028b8: DUP3 000028b9: AND 000028ba: PUSH1 0x00 000028bc: SWAP1 000028bd: DUP2 000028be: MSTORE 000028bf: PUSH1 0x04 000028c1: PUSH1 0x20 000028c3: MSTORE 000028c4: PUSH1 0x40 000028c6: SWAP1 000028c7: KECCAK256 000028c8: SLOAD 000028c9: DUP1 000028ca: ISZERO 000028cb: ISZERO 000028cc: PUSH2 0x28d4 000028cf: JUMPI 000028d0: PUSH1 0x00 000028d2: DUP1 000028d3: REVERT 000028d4: JUMPDEST 000028d5: PUSH1 0x40 000028d7: MLOAD 000028d8: DUP3 000028d9: MLOAD 000028da: DUP3 000028db: SWAP2 000028dc: DUP5 000028dd: SWAP2 000028de: DUP2 000028df: SWAP1 000028e0: PUSH1 0x20 000028e2: DUP5 000028e3: ADD 000028e4: SWAP1 000028e5: DUP1 000028e6: DUP4 000028e7: DUP4 000028e8: JUMPDEST 000028e9: PUSH1 0x20 000028eb: DUP4 000028ec: LT 000028ed: PUSH2 0x2907 000028f0: JUMPI 000028f1: DUP1 000028f2: MLOAD 000028f3: DUP3 000028f4: MSTORE 000028f5: PUSH1 0x1f 000028f7: NOT 000028f8: SWAP1 000028f9: SWAP3 000028fa: ADD 000028fb: SWAP2 000028fc: PUSH1 0x20 000028fe: SWAP2 000028ff: DUP3 00002900: ADD 00002901: SWAP2 00002902: ADD 00002903: PUSH2 0x28e8 00002906: JUMP 00002907: JUMPDEST 00002908: PUSH1 0x01 0000290a: DUP4 0000290b: PUSH1 0x20 0000290d: SUB 0000290e: PUSH2 0x0100 00002911: EXP 00002912: SUB 00002913: DUP1 00002914: NOT 00002915: DUP3 00002916: MLOAD 00002917: AND 00002918: DUP2 00002919: DUP5 0000291a: MLOAD 0000291b: AND 0000291c: DUP1 0000291d: DUP3 0000291e: OR 0000291f: DUP6 00002920: MSTORE 00002921: POP 00002922: POP 00002923: POP 00002924: POP 00002925: POP 00002926: POP 00002927: SWAP1 00002928: POP 00002929: ADD 0000292a: SWAP2 0000292b: POP 0000292c: POP 0000292d: PUSH1 0x40 0000292f: MLOAD 00002930: DUP1 00002931: SWAP2 00002932: SUB 00002933: SWAP1 00002934: KECCAK256 00002935: PUSH1 0x00 00002937: NOT 00002938: AND 00002939: EQ 0000293a: ISZERO 0000293b: ISZERO 0000293c: PUSH2 0x0790 0000293f: JUMPI 00002940: PUSH1 0x00 00002942: DUP1 00002943: REVERT 00002944: JUMPDEST 00002945: PUSH1 0x00 00002947: DUP1 00002948: PUSH1 0x00 0000294a: PUSH2 0x2951 0000294d: PUSH2 0x2e77 00002950: JUMP 00002951: JUMPDEST 00002952: DUP5 00002953: MLOAD 00002954: PUSH1 0x01 00002956: PUSH1 0xa0 00002958: PUSH1 0x02 0000295a: EXP 0000295b: SUB 0000295c: DUP2 0000295d: AND 0000295e: PUSH1 0x00 00002960: SWAP1 00002961: DUP2 00002962: MSTORE 00002963: PUSH1 0x03 00002965: PUSH1 0x20 00002967: MSTORE 00002968: PUSH1 0x40 0000296a: DUP2 0000296b: KECCAK256 0000296c: SLOAD 0000296d: PUSH1 0xe0 0000296f: DUP9 00002970: ADD 00002971: MLOAD 00002972: SWAP3 00002973: SWAP7 00002974: POP 00002975: PUSH1 0x01 00002977: PUSH1 0x80 00002979: PUSH1 0x02 0000297b: EXP 0000297c: SUB 0000297d: AND 0000297e: SWAP5 0000297f: POP 00002980: SWAP1 00002981: DUP1 00002982: PUSH2 0x298d 00002985: JUMPI 00002986: POP 00002987: DUP6 00002988: PUSH2 0x0100 0000298b: ADD 0000298c: MLOAD 0000298d: JUMPDEST 0000298e: SWAP3 0000298f: POP 00002990: PUSH1 0x01 00002992: PUSH1 0x80 00002994: PUSH1 0x02 00002996: EXP 00002997: SUB 00002998: DUP5 00002999: AND 0000299a: ISZERO 0000299b: DUP1 0000299c: ISZERO 0000299d: PUSH2 0x29a3 000029a0: JUMPI 000029a1: POP 000029a2: DUP3 000029a3: JUMPDEST 000029a4: ISZERO 000029a5: PUSH2 0x2ab2 000029a8: JUMPI 000029a9: PUSH1 0x02 000029ab: DUP1 000029ac: SLOAD 000029ad: PUSH1 0x01 000029af: DUP2 000029b0: ADD 000029b1: DUP3 000029b2: SSTORE 000029b3: PUSH1 0x00 000029b5: DUP3 000029b6: DUP2 000029b7: MSTORE 000029b8: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace 000029d9: SWAP1 000029da: SWAP2 000029db: ADD 000029dc: DUP1 000029dd: SLOAD 000029de: PUSH1 0x01 000029e0: PUSH1 0xa0 000029e2: PUSH1 0x02 000029e4: EXP 000029e5: SUB 000029e6: DUP10 000029e7: AND 000029e8: PUSH1 0x01 000029ea: PUSH1 0xa0 000029ec: PUSH1 0x02 000029ee: EXP 000029ef: SUB 000029f0: NOT 000029f1: SWAP1 000029f2: SWAP2 000029f3: AND 000029f4: DUP2 000029f5: OR 000029f6: SWAP1 000029f7: SWAP2 000029f8: SSTORE 000029f9: PUSH1 0x40 000029fb: DUP1 000029fc: MLOAD 000029fd: PUSH1 0x60 000029ff: DUP2 00002a00: ADD 00002a01: DUP3 00002a02: MSTORE 00002a03: SWAP4 00002a04: SLOAD 00002a05: PUSH1 0x01 00002a07: PUSH1 0x80 00002a09: PUSH1 0x02 00002a0b: EXP 00002a0c: SUB 00002a0d: SWAP1 00002a0e: DUP2 00002a0f: AND 00002a10: DUP6 00002a11: MSTORE 00002a12: PUSH1 0xe0 00002a14: DUP12 00002a15: ADD 00002a16: MLOAD 00002a17: ISZERO 00002a18: ISZERO 00002a19: PUSH1 0x20 00002a1b: DUP7 00002a1c: DUP2 00002a1d: ADD 00002a1e: SWAP2 00002a1f: DUP3 00002a20: MSTORE 00002a21: PUSH2 0x0100 00002a24: DUP14 00002a25: ADD 00002a26: MLOAD 00002a27: ISZERO 00002a28: ISZERO 00002a29: DUP8 00002a2a: DUP6 00002a2b: ADD 00002a2c: SWAP1 00002a2d: DUP2 00002a2e: MSTORE 00002a2f: SWAP5 00002a30: DUP7 00002a31: MSTORE 00002a32: PUSH1 0x03 00002a34: SWAP1 00002a35: MSTORE 00002a36: SWAP2 00002a37: SWAP1 00002a38: SWAP4 00002a39: KECCAK256 00002a3a: SWAP4 00002a3b: MLOAD 00002a3c: DUP5 00002a3d: SLOAD 00002a3e: SWAP2 00002a3f: MLOAD 00002a40: SWAP3 00002a41: MLOAD 00002a42: ISZERO 00002a43: ISZERO 00002a44: PUSH18 0x010000000000000000000000000000000000 00002a57: MUL 00002a58: PUSH18 0xff0000000000000000000000000000000000 00002a6b: NOT 00002a6c: SWAP4 00002a6d: ISZERO 00002a6e: ISZERO 00002a6f: PUSH1 0x80 00002a71: PUSH1 0x02 00002a73: EXP 00002a74: MUL 00002a75: PUSH17 0xff00000000000000000000000000000000 00002a87: NOT 00002a88: SWAP3 00002a89: SWAP1 00002a8a: SWAP6 00002a8b: AND 00002a8c: PUSH16 0xffffffffffffffffffffffffffffffff 00002a9d: NOT 00002a9e: SWAP1 00002a9f: SWAP4 00002aa0: AND 00002aa1: SWAP3 00002aa2: SWAP1 00002aa3: SWAP3 00002aa4: OR 00002aa5: AND 00002aa6: SWAP3 00002aa7: SWAP1 00002aa8: SWAP3 00002aa9: OR 00002aaa: AND 00002aab: OR 00002aac: SWAP1 00002aad: SSTORE 00002aae: PUSH2 0x2d18 00002ab1: JUMP 00002ab2: JUMPDEST 00002ab3: PUSH1 0x00 00002ab5: DUP5 00002ab6: PUSH1 0x01 00002ab8: PUSH1 0x80 00002aba: PUSH1 0x02 00002abc: EXP 00002abd: SUB 00002abe: AND 00002abf: GT 00002ac0: ISZERO 00002ac1: PUSH2 0x2d18 00002ac4: JUMPI 00002ac5: DUP3 00002ac6: ISZERO 00002ac7: PUSH2 0x2c26 00002aca: JUMPI 00002acb: PUSH1 0x03 00002acd: PUSH1 0x00 00002acf: DUP7 00002ad0: PUSH1 0x01 00002ad2: PUSH1 0xa0 00002ad4: PUSH1 0x02 00002ad6: EXP 00002ad7: SUB 00002ad8: AND 00002ad9: PUSH1 0x01 00002adb: PUSH1 0xa0 00002add: PUSH1 0x02 00002adf: EXP 00002ae0: SUB 00002ae1: AND 00002ae2: DUP2 00002ae3: MSTORE 00002ae4: PUSH1 0x20 00002ae6: ADD 00002ae7: SWAP1 00002ae8: DUP2 00002ae9: MSTORE 00002aea: PUSH1 0x20 00002aec: ADD 00002aed: PUSH1 0x00 00002aef: KECCAK256 00002af0: PUSH1 0x60 00002af2: PUSH1 0x40 00002af4: MLOAD 00002af5: SWAP1 00002af6: DUP2 00002af7: ADD 00002af8: PUSH1 0x40 00002afa: MSTORE 00002afb: SWAP1 00002afc: DUP2 00002afd: PUSH1 0x00 00002aff: DUP3 00002b00: ADD 00002b01: PUSH1 0x00 00002b03: SWAP1 00002b04: SLOAD 00002b05: SWAP1 00002b06: PUSH2 0x0100 00002b09: EXP 00002b0a: SWAP1 00002b0b: DIV 00002b0c: PUSH1 0x01 00002b0e: PUSH1 0x80 00002b10: PUSH1 0x02 00002b12: EXP 00002b13: SUB 00002b14: AND 00002b15: PUSH1 0x01 00002b17: PUSH1 0x80 00002b19: PUSH1 0x02 00002b1b: EXP 00002b1c: SUB 00002b1d: AND 00002b1e: PUSH1 0x01 00002b20: PUSH1 0x80 00002b22: PUSH1 0x02 00002b24: EXP 00002b25: SUB 00002b26: AND 00002b27: DUP2 00002b28: MSTORE 00002b29: PUSH1 0x20 00002b2b: ADD 00002b2c: PUSH1 0x00 00002b2e: DUP3 00002b2f: ADD 00002b30: PUSH1 0x10 00002b32: SWAP1 00002b33: SLOAD 00002b34: SWAP1 00002b35: PUSH2 0x0100 00002b38: EXP 00002b39: SWAP1 00002b3a: DIV 00002b3b: PUSH1 0xff 00002b3d: AND 00002b3e: ISZERO 00002b3f: ISZERO 00002b40: ISZERO 00002b41: ISZERO 00002b42: DUP2 00002b43: MSTORE 00002b44: PUSH1 0x20 00002b46: ADD 00002b47: PUSH1 0x00 00002b49: DUP3 00002b4a: ADD 00002b4b: PUSH1 0x11 00002b4d: SWAP1 00002b4e: SLOAD 00002b4f: SWAP1 00002b50: PUSH2 0x0100 00002b53: EXP 00002b54: SWAP1 00002b55: DIV 00002b56: PUSH1 0xff 00002b58: AND 00002b59: ISZERO 00002b5a: ISZERO 00002b5b: ISZERO 00002b5c: ISZERO 00002b5d: DUP2 00002b5e: MSTORE 00002b5f: POP 00002b60: POP 00002b61: SWAP2 00002b62: POP 00002b63: DUP6 00002b64: PUSH1 0xe0 00002b66: ADD 00002b67: MLOAD 00002b68: DUP3 00002b69: PUSH1 0x20 00002b6b: ADD 00002b6c: SWAP1 00002b6d: ISZERO 00002b6e: ISZERO 00002b6f: SWAP1 00002b70: DUP2 00002b71: ISZERO 00002b72: ISZERO 00002b73: DUP2 00002b74: MSTORE 00002b75: POP 00002b76: POP 00002b77: DUP6 00002b78: PUSH2 0x0100 00002b7b: ADD 00002b7c: MLOAD 00002b7d: DUP3 00002b7e: PUSH1 0x40 00002b80: ADD 00002b81: SWAP1 00002b82: ISZERO 00002b83: ISZERO 00002b84: SWAP1 00002b85: DUP2 00002b86: ISZERO 00002b87: ISZERO 00002b88: DUP2 00002b89: MSTORE 00002b8a: POP 00002b8b: POP 00002b8c: DUP2 00002b8d: PUSH1 0x03 00002b8f: PUSH1 0x00 00002b91: DUP8 00002b92: PUSH1 0x01 00002b94: PUSH1 0xa0 00002b96: PUSH1 0x02 00002b98: EXP 00002b99: SUB 00002b9a: AND 00002b9b: PUSH1 0x01 00002b9d: PUSH1 0xa0 00002b9f: PUSH1 0x02 00002ba1: EXP 00002ba2: SUB 00002ba3: AND 00002ba4: DUP2 00002ba5: MSTORE 00002ba6: PUSH1 0x20 00002ba8: ADD 00002ba9: SWAP1 00002baa: DUP2 00002bab: MSTORE 00002bac: PUSH1 0x20 00002bae: ADD 00002baf: PUSH1 0x00 00002bb1: KECCAK256 00002bb2: PUSH1 0x00 00002bb4: DUP3 00002bb5: ADD 00002bb6: MLOAD 00002bb7: DUP2 00002bb8: PUSH1 0x00 00002bba: ADD 00002bbb: PUSH1 0x00 00002bbd: PUSH2 0x0100 00002bc0: EXP 00002bc1: DUP2 00002bc2: SLOAD 00002bc3: DUP2 00002bc4: PUSH1 0x01 00002bc6: PUSH1 0x80 00002bc8: PUSH1 0x02 00002bca: EXP 00002bcb: SUB 00002bcc: MUL 00002bcd: NOT 00002bce: AND 00002bcf: SWAP1 00002bd0: DUP4 00002bd1: PUSH1 0x01 00002bd3: PUSH1 0x80 00002bd5: PUSH1 0x02 00002bd7: EXP 00002bd8: SUB 00002bd9: AND 00002bda: MUL 00002bdb: OR 00002bdc: SWAP1 00002bdd: SSTORE 00002bde: POP 00002bdf: PUSH1 0x20 00002be1: DUP3 00002be2: ADD 00002be3: MLOAD 00002be4: DUP2 00002be5: PUSH1 0x00 00002be7: ADD 00002be8: PUSH1 0x10 00002bea: PUSH2 0x0100 00002bed: EXP 00002bee: DUP2 00002bef: SLOAD 00002bf0: DUP2 00002bf1: PUSH1 0xff 00002bf3: MUL 00002bf4: NOT 00002bf5: AND 00002bf6: SWAP1 00002bf7: DUP4 00002bf8: ISZERO 00002bf9: ISZERO 00002bfa: MUL 00002bfb: OR 00002bfc: SWAP1 00002bfd: SSTORE 00002bfe: POP 00002bff: PUSH1 0x40 00002c01: DUP3 00002c02: ADD 00002c03: MLOAD 00002c04: DUP2 00002c05: PUSH1 0x00 00002c07: ADD 00002c08: PUSH1 0x11 00002c0a: PUSH2 0x0100 00002c0d: EXP 00002c0e: DUP2 00002c0f: SLOAD 00002c10: DUP2 00002c11: PUSH1 0xff 00002c13: MUL 00002c14: NOT 00002c15: AND 00002c16: SWAP1 00002c17: DUP4 00002c18: ISZERO 00002c19: ISZERO 00002c1a: MUL 00002c1b: OR 00002c1c: SWAP1 00002c1d: SSTORE 00002c1e: POP 00002c1f: SWAP1 00002c20: POP 00002c21: POP 00002c22: PUSH2 0x2d18 00002c25: JUMP 00002c26: JUMPDEST 00002c27: POP 00002c28: PUSH1 0x02 00002c2a: SLOAD 00002c2b: PUSH1 0x01 00002c2d: PUSH1 0xa0 00002c2f: PUSH1 0x02 00002c31: EXP 00002c32: SUB 00002c33: DUP6 00002c34: AND 00002c35: PUSH1 0x00 00002c37: SWAP1 00002c38: DUP2 00002c39: MSTORE 00002c3a: PUSH1 0x03 00002c3c: PUSH1 0x20 00002c3e: MSTORE 00002c3f: PUSH1 0x40 00002c41: SWAP1 00002c42: KECCAK256 00002c43: DUP1 00002c44: SLOAD 00002c45: PUSH18 0xffffffffffffffffffffffffffffffffffff 00002c58: NOT 00002c59: AND 00002c5a: SWAP1 00002c5b: SSTORE 00002c5c: PUSH1 0x01 00002c5e: DUP2 00002c5f: GT 00002c60: ISZERO 00002c61: PUSH2 0x2cd8 00002c64: JUMPI 00002c65: PUSH1 0x02 00002c67: DUP1 00002c68: SLOAD 00002c69: PUSH1 0x00 00002c6b: NOT 00002c6c: DUP4 00002c6d: ADD 00002c6e: SWAP1 00002c6f: DUP2 00002c70: LT 00002c71: PUSH2 0x2c76 00002c74: JUMPI 00002c75: INVALID 00002c76: JUMPDEST 00002c77: PUSH1 0x00 00002c79: SWAP2 00002c7a: DUP3 00002c7b: MSTORE 00002c7c: PUSH1 0x20 00002c7e: SWAP1 00002c7f: SWAP2 00002c80: KECCAK256 00002c81: ADD 00002c82: SLOAD 00002c83: PUSH1 0x02 00002c85: DUP1 00002c86: SLOAD 00002c87: PUSH1 0x01 00002c89: PUSH1 0xa0 00002c8b: PUSH1 0x02 00002c8d: EXP 00002c8e: SUB 00002c8f: SWAP1 00002c90: SWAP3 00002c91: AND 00002c92: SWAP2 00002c93: PUSH1 0x01 00002c95: PUSH1 0x80 00002c97: PUSH1 0x02 00002c99: EXP 00002c9a: SUB 00002c9b: PUSH1 0x00 00002c9d: NOT 00002c9e: DUP9 00002c9f: ADD 00002ca0: AND 00002ca1: SWAP1 00002ca2: DUP2 00002ca3: LT 00002ca4: PUSH2 0x2ca9 00002ca7: JUMPI 00002ca8: INVALID 00002ca9: JUMPDEST 00002caa: SWAP1 00002cab: PUSH1 0x00 00002cad: MSTORE 00002cae: PUSH1 0x20 00002cb0: PUSH1 0x00 00002cb2: KECCAK256 00002cb3: ADD 00002cb4: PUSH1 0x00 00002cb6: PUSH2 0x0100 00002cb9: EXP 00002cba: DUP2 00002cbb: SLOAD 00002cbc: DUP2 00002cbd: PUSH1 0x01 00002cbf: PUSH1 0xa0 00002cc1: PUSH1 0x02 00002cc3: EXP 00002cc4: SUB 00002cc5: MUL 00002cc6: NOT 00002cc7: AND 00002cc8: SWAP1 00002cc9: DUP4 00002cca: PUSH1 0x01 00002ccc: PUSH1 0xa0 00002cce: PUSH1 0x02 00002cd0: EXP 00002cd1: SUB 00002cd2: AND 00002cd3: MUL 00002cd4: OR 00002cd5: SWAP1 00002cd6: SSTORE 00002cd7: POP 00002cd8: JUMPDEST 00002cd9: PUSH1 0x02 00002cdb: DUP1 00002cdc: SLOAD 00002cdd: PUSH1 0x00 00002cdf: NOT 00002ce0: DUP4 00002ce1: ADD 00002ce2: SWAP1 00002ce3: DUP2 00002ce4: LT 00002ce5: PUSH2 0x2cea 00002ce8: JUMPI 00002ce9: INVALID 00002cea: JUMPDEST 00002ceb: PUSH1 0x00 00002ced: SWAP2 00002cee: DUP3 00002cef: MSTORE 00002cf0: PUSH1 0x20 00002cf2: SWAP1 00002cf3: SWAP2 00002cf4: KECCAK256 00002cf5: ADD 00002cf6: DUP1 00002cf7: SLOAD 00002cf8: PUSH1 0x01 00002cfa: PUSH1 0xa0 00002cfc: PUSH1 0x02 00002cfe: EXP 00002cff: SUB 00002d00: NOT 00002d01: AND 00002d02: SWAP1 00002d03: SSTORE 00002d04: PUSH1 0x02 00002d06: DUP1 00002d07: SLOAD 00002d08: SWAP1 00002d09: PUSH2 0x2d16 00002d0c: SWAP1 00002d0d: PUSH1 0x00 00002d0f: NOT 00002d10: DUP4 00002d11: ADD 00002d12: PUSH2 0x2e53 00002d15: JUMP 00002d16: JUMPDEST 00002d17: POP 00002d18: JUMPDEST 00002d19: POP 00002d1a: POP 00002d1b: POP 00002d1c: POP 00002d1d: POP 00002d1e: POP 00002d1f: JUMP 00002d20: JUMPDEST 00002d21: PUSH1 0x00 00002d23: DUP1 00002d24: PUSH1 0x01 00002d26: PUSH1 0x80 00002d28: PUSH1 0x02 00002d2a: EXP 00002d2b: SUB 00002d2c: DUP4 00002d2d: AND 00002d2e: DUP4 00002d2f: EQ 00002d30: PUSH2 0x2d38 00002d33: JUMPI 00002d34: PUSH1 0x00 00002d36: DUP1 00002d37: REVERT 00002d38: JUMPDEST 00002d39: PUSH1 0x01 00002d3b: PUSH1 0xa0 00002d3d: PUSH1 0x02 00002d3f: EXP 00002d40: SUB 00002d41: DUP1 00002d42: DUP7 00002d43: AND 00002d44: PUSH1 0x00 00002d46: SWAP1 00002d47: DUP2 00002d48: MSTORE 00002d49: PUSH1 0x06 00002d4b: PUSH1 0x20 00002d4d: SWAP1 00002d4e: DUP2 00002d4f: MSTORE 00002d50: PUSH1 0x40 00002d52: DUP1 00002d53: DUP4 00002d54: KECCAK256 00002d55: SWAP4 00002d56: DUP9 00002d57: AND 00002d58: DUP4 00002d59: MSTORE 00002d5a: SWAP3 00002d5b: SWAP1 00002d5c: MSTORE 00002d5d: SWAP1 00002d5e: DUP2 00002d5f: KECCAK256 00002d60: SLOAD 00002d61: SWAP3 00002d62: POP 00002d63: DUP3 00002d64: GT 00002d65: ISZERO 00002d66: PUSH2 0x09b7 00002d69: JUMPI 00002d6a: PUSH1 0x01 00002d6c: PUSH1 0xa0 00002d6e: PUSH1 0x02 00002d70: EXP 00002d71: SUB 00002d72: DUP1 00002d73: DUP7 00002d74: AND 00002d75: PUSH1 0x00 00002d77: SWAP1 00002d78: DUP2 00002d79: MSTORE 00002d7a: PUSH1 0x08 00002d7c: PUSH1 0x20 00002d7e: SWAP1 00002d7f: DUP2 00002d80: MSTORE 00002d81: PUSH1 0x40 00002d83: DUP1 00002d84: DUP4 00002d85: KECCAK256 00002d86: SWAP4 00002d87: DUP9 00002d88: AND 00002d89: DUP4 00002d8a: MSTORE 00002d8b: SWAP3 00002d8c: SWAP1 00002d8d: MSTORE 00002d8e: KECCAK256 00002d8f: SLOAD 00002d90: TIMESTAMP 00002d91: GT 00002d92: ISZERO 00002d93: PUSH2 0x2dee 00002d96: JUMPI 00002d97: DUP2 00002d98: DUP4 00002d99: GT 00002d9a: ISZERO 00002d9b: PUSH2 0x2da3 00002d9e: JUMPI 00002d9f: PUSH1 0x00 00002da1: DUP1 00002da2: REVERT 00002da3: JUMPDEST 00002da4: PUSH1 0x01 00002da6: PUSH1 0xa0 00002da8: PUSH1 0x02 00002daa: EXP 00002dab: SUB 00002dac: DUP1 00002dad: DUP7 00002dae: AND 00002daf: PUSH1 0x00 00002db1: DUP2 00002db2: DUP2 00002db3: MSTORE 00002db4: PUSH1 0x08 00002db6: PUSH1 0x20 00002db8: SWAP1 00002db9: DUP2 00002dba: MSTORE 00002dbb: PUSH1 0x40 00002dbd: DUP1 00002dbe: DUP4 00002dbf: KECCAK256 00002dc0: SWAP5 00002dc1: DUP10 00002dc2: AND 00002dc3: DUP1 00002dc4: DUP5 00002dc5: MSTORE 00002dc6: SWAP5 00002dc7: DUP3 00002dc8: MSTORE 00002dc9: DUP1 00002dca: DUP4 00002dcb: KECCAK256 00002dcc: PUSH3 0x015180 00002dd0: TIMESTAMP 00002dd1: ADD 00002dd2: SWAP1 00002dd3: SSTORE 00002dd4: SWAP3 00002dd5: DUP3 00002dd6: MSTORE 00002dd7: PUSH1 0x09 00002dd9: DUP2 00002dda: MSTORE 00002ddb: DUP3 00002ddc: DUP3 00002ddd: KECCAK256 00002dde: SWAP4 00002ddf: DUP3 00002de0: MSTORE 00002de1: SWAP3 00002de2: SWAP1 00002de3: SWAP3 00002de4: MSTORE 00002de5: SWAP1 00002de6: KECCAK256 00002de7: DUP4 00002de8: SWAP1 00002de9: SSTORE 00002dea: PUSH2 0x09b7 00002ded: JUMP 00002dee: JUMPDEST 00002def: POP 00002df0: PUSH1 0x01 00002df2: PUSH1 0xa0 00002df4: PUSH1 0x02 00002df6: EXP 00002df7: SUB 00002df8: DUP1 00002df9: DUP6 00002dfa: AND 00002dfb: PUSH1 0x00 00002dfd: SWAP1 00002dfe: DUP2 00002dff: MSTORE 00002e00: PUSH1 0x09 00002e02: PUSH1 0x20 00002e04: SWAP1 00002e05: DUP2 00002e06: MSTORE 00002e07: PUSH1 0x40 00002e09: DUP1 00002e0a: DUP4 00002e0b: KECCAK256 00002e0c: SWAP4 00002e0d: DUP8 00002e0e: AND 00002e0f: DUP4 00002e10: MSTORE 00002e11: SWAP3 00002e12: SWAP1 00002e13: MSTORE 00002e14: KECCAK256 00002e15: SLOAD 00002e16: DUP3 00002e17: ADD 00002e18: DUP2 00002e19: DUP2 00002e1a: GT 00002e1b: ISZERO 00002e1c: PUSH2 0x2e24 00002e1f: JUMPI 00002e20: PUSH1 0x00 00002e22: DUP1 00002e23: REVERT 00002e24: JUMPDEST 00002e25: PUSH1 0x01 00002e27: PUSH1 0xa0 00002e29: PUSH1 0x02 00002e2b: EXP 00002e2c: SUB 00002e2d: DUP1 00002e2e: DUP7 00002e2f: AND 00002e30: PUSH1 0x00 00002e32: SWAP1 00002e33: DUP2 00002e34: MSTORE 00002e35: PUSH1 0x09 00002e37: PUSH1 0x20 00002e39: SWAP1 00002e3a: DUP2 00002e3b: MSTORE 00002e3c: PUSH1 0x40 00002e3e: DUP1 00002e3f: DUP4 00002e40: KECCAK256 00002e41: SWAP4 00002e42: DUP9 00002e43: AND 00002e44: DUP4 00002e45: MSTORE 00002e46: SWAP3 00002e47: SWAP1 00002e48: MSTORE 00002e49: KECCAK256 00002e4a: DUP2 00002e4b: SWAP1 00002e4c: SSTORE 00002e4d: POP 00002e4e: POP 00002e4f: POP 00002e50: POP 00002e51: POP 00002e52: JUMP 00002e53: JUMPDEST 00002e54: DUP2 00002e55: SLOAD 00002e56: DUP2 00002e57: DUP4 00002e58: SSTORE 00002e59: DUP2 00002e5a: DUP2 00002e5b: GT 00002e5c: ISZERO 00002e5d: PUSH2 0x0790 00002e60: JUMPI 00002e61: PUSH1 0x00 00002e63: DUP4 00002e64: DUP2 00002e65: MSTORE 00002e66: PUSH1 0x20 00002e68: SWAP1 00002e69: KECCAK256 00002e6a: PUSH2 0x0790 00002e6d: SWAP2 00002e6e: DUP2 00002e6f: ADD 00002e70: SWAP1 00002e71: DUP4 00002e72: ADD 00002e73: PUSH2 0x2e97 00002e76: JUMP 00002e77: JUMPDEST 00002e78: PUSH1 0x40 00002e7a: DUP1 00002e7b: MLOAD 00002e7c: PUSH1 0x60 00002e7e: DUP2 00002e7f: ADD 00002e80: DUP3 00002e81: MSTORE 00002e82: PUSH1 0x00 00002e84: DUP1 00002e85: DUP3 00002e86: MSTORE 00002e87: PUSH1 0x20 00002e89: DUP3 00002e8a: ADD 00002e8b: DUP2 00002e8c: SWAP1 00002e8d: MSTORE 00002e8e: SWAP2 00002e8f: DUP2 00002e90: ADD 00002e91: SWAP2 00002e92: SWAP1 00002e93: SWAP2 00002e94: MSTORE 00002e95: SWAP1 00002e96: JUMP 00002e97: JUMPDEST 00002e98: PUSH2 0x11b0 00002e9b: SWAP2 00002e9c: SWAP1 00002e9d: JUMPDEST 00002e9e: DUP1 00002e9f: DUP3 00002ea0: GT 00002ea1: ISZERO 00002ea2: PUSH2 0x2eb1 00002ea5: JUMPI 00002ea6: PUSH1 0x00 00002ea8: DUP2 00002ea9: SSTORE 00002eaa: PUSH1 0x01 00002eac: ADD 00002ead: PUSH2 0x2e9d 00002eb0: JUMP 00002eb1: JUMPDEST 00002eb2: POP 00002eb3: SWAP1 00002eb4: JUMP 00002eb5: STOP 00002eb6: UNKNOWN(0xC6) 00002eb7: GAS 00002eb8: PUSH28 0xb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2 00002ed5: UNKNOWN(0xA9) 00002ed6: UNKNOWN(0xC6) 00002ed7: GAS 00002ed8: PUSH28 0xb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2 00002ef5: UNKNOWN(0xA8) 00002ef6: UNKNOWN(0xC6) 00002ef7: GAS 00002ef8: PUSH28 0xb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2 00002f15: UNKNOWN(0xAA) 00002f16: SELFDESTRUCT 00002f17: SELFDESTRUCT 00002f18: SELFDESTRUCT 00002f19: SELFDESTRUCT 00002f1a: STOP 00002f1b: STOP 00002f1c: STOP 00002f1d: STOP 00002f1e: STOP 00002f1f: STOP 00002f20: SELFDESTRUCT 00002f21: SELFDESTRUCT 00002f22: SELFDESTRUCT 00002f23: SELFDESTRUCT 00002f24: SELFDESTRUCT 00002f25: SELFDESTRUCT 00002f26: SELFDESTRUCT 00002f27: SELFDESTRUCT 00002f28: SELFDESTRUCT 00002f29: SELFDESTRUCT 00002f2a: SELFDESTRUCT 00002f2b: SELFDESTRUCT 00002f2c: SELFDESTRUCT 00002f2d: SELFDESTRUCT 00002f2e: SELFDESTRUCT 00002f2f: SELFDESTRUCT 00002f30: SELFDESTRUCT 00002f31: SELFDESTRUCT 00002f32: SELFDESTRUCT 00002f33: SELFDESTRUCT 00002f34: SELFDESTRUCT 00002f35: SELFDESTRUCT 00002f36: LOG1 00002f37: PUSH6 0x627a7a723058 00002f3e: KECCAK256 00002f3f: KECCAK256 00002f40: UNKNOWN(0xDB) 00002f41: MCOPY 00002f42: SLT 00002f43: MSTORE8 00002f44: SWAP10 00002f45: CALLDATASIZE 00002f46: GASLIMIT 00002f47: UNKNOWN(0xE6) 00002f48: SWAP10 00002f49: SAR 00002f4a: ADD 00002f4b: ADDRESS 00002f4c: UNKNOWN(0xD0) 00002f4d: SWAP7 00002f4e: DIV 00002f4f: DUP9 00002f50: OR 00002f51: UNKNOWN(0xE9) 00002f52: CALL 00002f53: DUP5 00002f54: PUSH1 0xdb 00002f56: INVALID 00002f57: PUSH32
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | slither | SquirrelStash.withdrawEthInternal(address,uint256) (contracts/Contract.sol#252-261) sends eth to arbitrary user | 85 | no | — |
viewevidence_json{
"impact": "High",
"detector": "arbitrary-send-eth",
"elements": [
{
"name": "withdrawEthInternal",
"type": "function",
"source_mapping": {
"lines": [
252,
253,
254,
255,
256,
257,
258,
259,
260,
261
],
"start": 9991,
"length": 352,
"ending_column": 18,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 7,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SquirrelStash",
"type": "contract",
"source_mapping": {
"lines": [
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337
],
"start": 205,
"length": 13031,
"ending_column": 10,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 2,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "withdrawEthInternal(address,uint256)"
}
},
{
"name": "recipient.transfer(amount)",
"type": "node",
"source_mapping": {
"lines": [
260,
261
],
"start": 10310,
"length": 26,
"ending_column": 11,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 65,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "withdrawEthInternal",
"type": "function",
"source_mapping": {
"lines": [
252,
253,
254,
255,
256,
257,
258,
259,
260,
261
],
"start": 9991,
"length": 352,
"ending_column": 18,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 7,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SquirrelStash",
"type": "contract",
"source_mapping": {
"lines": [
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337
],
"start": 205,
"length": 13031,
"ending_column": 10,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 2,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "withdrawEthInternal(address,uint256)"
}
}
}
}
],
"locations": [
{
"file": "contracts/Contract.sol",
"name": "withdrawEthInternal",
"type": "function",
"lines": [
252,
253,
254,
255,
256,
257,
258,
259,
260,
261
]
},
{
"file": "contracts/Contract.sol",
"name": "recipient.transfer(amount)",
"type": "node",
"lines": [
260,
261
]
}
],
"description": "SquirrelStash.withdrawEthInternal(address,uint256) (contracts/Contract.sol#252-261) sends eth to arbitrary user\n\tDangerous calls:\n\t- recipient.transfer(amount) (contracts/Contract.sol#260-261)"
}
|
| high | other | slither | SquirrelStash.withdrawTokenInternal(address,address,uint256) (contracts/Contract.sol#236-245) ignores return value by ERC20(token).transfer(recipient,amount) (contracts/Contract... | 85 | no | — |
viewevidence_json{
"impact": "High",
"detector": "unchecked-transfer",
"elements": [
{
"name": "withdrawTokenInternal",
"type": "function",
"source_mapping": {
"lines": [
236,
237,
238,
239,
240,
241,
242,
243,
244,
245
],
"start": 9252,
"length": 395,
"ending_column": 60,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 58,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SquirrelStash",
"type": "contract",
"source_mapping": {
"lines": [
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337
],
"start": 205,
"length": 13031,
"ending_column": 10,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 2,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "withdrawTokenInternal(address,address,uint256)"
}
},
{
"name": "ERC20(token).transfer(recipient,amount)",
"type": "node",
"source_mapping": {
"lines": [
245
],
"start": 9600,
"length": 40,
"ending_column": 53,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 13,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "withdrawTokenInternal",
"type": "function",
"source_mapping": {
"lines": [
236,
237,
238,
239,
240,
241,
242,
243,
244,
245
],
"start": 9252,
"length": 395,
"ending_column": 60,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 58,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SquirrelStash",
"type": "contract",
"source_mapping": {
"lines": [
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337
],
"start": 205,
"length": 13031,
"ending_column": 10,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 2,
"filename_absolute": "/tmp/slither-oj00dfb5/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "withdrawTokenInternal(address,address,uint256)"
}
}
}
}
],
"locations": [
{
"file": "contracts/Contract.sol",
"name": "withdrawTokenInternal",
"type": "function",
"lines": [
236,
237,
238,
239,
240,
241,
242,
243,
244,
245
]
},
{
"file": "contracts/Contract.sol",
"name": "ERC20(token).transfer(recipient,amount)",
"type": "node",
"lines": [
245
]
}
],
"description": "SquirrelStash.withdrawTokenInternal(address,address,uint256) (contracts/Contract.sol#236-245) ignores return value by ERC20(token).transfer(recipient,amount) (contracts/Contract.sol#245)"
}
|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 26
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x2c3eb675dc9736783fd6088d698df7fbbb7e9f5d11760e184d16aef495766a5d
call_targets:
0x3d88fc5d3fb84caf45011a790a994928789c31a8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2c3eb675dc9736783fd6088d698df7fbbb7e9f5d11760e184d16aef495766a5d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3d88fc5d3fb84caf45011a790a994928789c31a8"
],
"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": "0x01e33667",
"selector": "0x01e33667",
"calldata_variants": [
"0x01e33667",
"0x01e336670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ef21afe",
"selector": "0x0ef21afe",
"calldata_variants": [
"0x0ef21afe",
"0x0ef21afe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14bfd6d0",
"selector": "0x14bfd6d0",
"calldata_variants": [
"0x14bfd6d0",
"0x14bfd6d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x15f2f26c",
"selector": "0x15f2f26c",
"calldata_variants": [
"0x15f2f26c",
"0x15f2f26c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1b9a91a4",
"selector": "0x1b9a91a4",
"calldata_variants": [
"0x1b9a91a4",
"0x1b9a91a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1e112751",
"selector": "0x1e112751",
"calldata_variants": [
"0x1e112751",
"0x1e1127510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22061551",
"selector": "0x22061551",
"calldata_variants": [
"0x22061551",
"0x220615510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x373b40d5",
"selector": "0x373b40d5",
"calldata_variants": [
"0x373b40d5",
"0x373b40d50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4603,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4983,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5186,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 7,
"guards_detected": [],
"untrusted_call_count": 7
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x2c3eb675dc9736783fd6088d698df7fbbb7e9f5d11760e184d16aef495766a5d
call_targets:
0x3d88fc5d3fb84caf45011a790a994928789c31a8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2c3eb675dc9736783fd6088d698df7fbbb7e9f5d11760e184d16aef495766a5d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3d88fc5d3fb84caf45011a790a994928789c31a8"
],
"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": "0x01e33667",
"selector": "0x01e33667",
"calldata_variants": [
"0x01e33667",
"0x01e336670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ef21afe",
"selector": "0x0ef21afe",
"calldata_variants": [
"0x0ef21afe",
"0x0ef21afe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14bfd6d0",
"selector": "0x14bfd6d0",
"calldata_variants": [
"0x14bfd6d0",
"0x14bfd6d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x15f2f26c",
"selector": "0x15f2f26c",
"calldata_variants": [
"0x15f2f26c",
"0x15f2f26c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1b9a91a4",
"selector": "0x1b9a91a4",
"calldata_variants": [
"0x1b9a91a4",
"0x1b9a91a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1e112751",
"selector": "0x1e112751",
"calldata_variants": [
"0x1e112751",
"0x1e1127510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22061551",
"selector": "0x22061551",
"calldata_variants": [
"0x22061551",
"0x220615510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x373b40d5",
"selector": "0x373b40d5",
"calldata_variants": [
"0x373b40d5",
"0x373b40d50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4603,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4983,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5186,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 7,
"guards_detected": []
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x10982df9399ed6e822e3601f814bbcedc719bb48d1e0dce5de95350f168718e5
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x10982df9399ed6e822e3601f814bbcedc719bb48d1e0dce5de95350f168718e5",
"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": "0x01e33667",
"selector": "0x01e33667",
"calldata_variants": [
"0x01e33667",
"0x01e336670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ef21afe",
"selector": "0x0ef21afe",
"calldata_variants": [
"0x0ef21afe",
"0x0ef21afe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14bfd6d0",
"selector": "0x14bfd6d0",
"calldata_variants": [
"0x14bfd6d0",
"0x14bfd6d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x15f2f26c",
"selector": "0x15f2f26c",
"calldata_variants": [
"0x15f2f26c",
"0x15f2f26c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1b9a91a4",
"selector": "0x1b9a91a4",
"calldata_variants": [
"0x1b9a91a4",
"0x1b9a91a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1e112751",
"selector": "0x1e112751",
"calldata_variants": [
"0x1e112751",
"0x1e1127510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22061551",
"selector": "0x22061551",
"calldata_variants": [
"0x22061551",
"0x220615510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x373b40d5",
"selector": "0x373b40d5",
"calldata_variants": [
"0x373b40d5",
"0x373b40d50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 26
}
|
| medium | access_control | codex | Admin removal corrupts index mapping, making some admins non-removable | 75 | no | — |
viewevidence_json{
"evidence": "triggerAdminRemoval swaps admins[adminIndex] with admins[numAdmins-1] but does not update adminAddresses for the swapped address.",
"locations": [
"contracts/Contract.sol:177",
"contracts/Contract.sol:180"
],
"recommendation": "After swapping in the last admin, update adminAddresses[movedAdmin] to the new index (adminIndex + 1).",
"exploit_scenario": "When an admin is removed, the last admin in the array is moved into the deleted slot but their index in adminAddresses is never updated. That admin remains recognized as an admin (mapping > 0) yet any future attempt to remove them uses a stale index and can revert, effectively making them permanently privileged."
}
|
| low | access_control | codex | Whitelist removal corrupts index mapping, making some recipients non-removable | 65 | no | — |
viewevidence_json{
"evidence": "updateCandidate swaps whitelist[index-1] with the last element but does not update whitelistedAddress for the moved address.",
"locations": [
"contracts/Contract.sol:115",
"contracts/Contract.sol:118"
],
"recommendation": "When swapping whitelist entries, update whitelistedAddress[moved].index to the new position (index).",
"exploit_scenario": "Removing a whitelisted recipient swaps in the last array element without updating that address's stored index. Later removal of the moved address can revert or remove the wrong entry, leaving it permanently whitelisted and able to receive withdrawals."
}
|
| low | other | codex | Unchecked ERC20 transfer return in token withdrawals | 65 | no | — |
viewevidence_json{
"evidence": "withdrawTokenInternal calls ERC20(token).transfer(recipient, amount) without checking the return value.",
"locations": [
"contracts/Contract.sol:248"
],
"recommendation": "Require the transfer return value or use a safe transfer helper that handles non-standard ERC20s.",
"exploit_scenario": "A non-standard or failing ERC20 can return false on transfer. The contract still logs the withdrawal and consumes daily limits, but no tokens are moved. This creates inconsistent accounting and can lock users out of withdrawals for the day."
}
|