019c0ea9-0817-7365-836d-3522c390767e
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 |
|---|---|---|---|---|
| 41746 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 41747 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 41748 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 41749 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 41750 | capability.graph | complete | 1 / 3 | 2 months ago |
| 41751 | detector.run | complete | 1 / 3 | 2 months ago |
| 41752 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42311 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 42312 | tool.slither | complete | 1 / 2 | 2 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-2po_fql8) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-2po_fql8) Eightherbank.isContract(address) (contracts/Contract.sol#416-424) is declared view but contains assembly code Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-using-assembly-code Eightherbank.sell(uint256) (contracts/Contract.sol#315-348) performs a multiplication on the result of a division: - _dividends = SafeMath.div(SafeMath.mul(_ethereum,dividendFee_),100) (contracts/Contract.sol#328-333) - profitPerShare_ = SafeMath.add(profitPerShare_,(_dividends * magnitude) / tokenSupply_) (contracts/Contract.sol#345-346) Eightherbank.purchaseTokens(address,uint256,address) (contracts/Contract.sol#626-714) performs a multiplication on the result of a division: - _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEthereum,dividendFee_),100) (contracts/Contract.sol#634-635) - _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends,refferalFee_),100) (contracts/Contract.sol#635-636) Eightherbank.purchaseTokens(address,uint256,address) (contracts/Contract.sol#626-714) performs a multiplication on the result of a division: - _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / (tokenSupply_)))) (contracts/Contract.sol#687-688) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply Eightherbank.setAdministrator(address) (contracts/Contract.sol#451-454) should emit an event for: - owner = newowner (contracts/Contract.sol#453-454) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-access-control Eightherbank.setStakingRequirement(uint256) (contracts/Contract.sol#457-463) should emit an event for: - stakingRequirement = _amountOfTokens (contracts/Contract.sol#460-462) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic Eightherbank.withdraw()._customerAddress (contracts/Contract.sol#293-294) lacks a zero-check on : - _customerAddress.transfer(_dividends) (contracts/Contract.sol#310-311) Eightherbank.changePartner(address)._partnerAddress (contracts/Contract.sol#432-434) lacks a zero-check on : - partnerFeeAddress = _partnerAddress (contracts/Contract.sol#435-436) Eightherbank.changePromoter(address)._promotorAddress (contracts/Contract.sol#438-439) lacks a zero-check on : - promoFeeAddress = _promotorAddress (contracts/Contract.sol#442-445) Eightherbank.changeDev(address)._devAddress (contracts/Contract.sol#446) lacks a zero-check on : - devFeeAddress = _devAddress (contracts/Contract.sol#448) Eightherbank.setAdministrator(address).newowner (contracts/Contract.sol#452) lacks a zero-check on : - owner = newowner (contracts/Contract.sol#453-454) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation Eightherbank.isContract(address) (contracts/Contract.sol#416-424) uses assembly - INLINE ASM (contracts/Contract.sol#420-424) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage Eightherbank.transferAndCall(address,uint256,bytes) (contracts/Contract.sol#398-414) compares to a boolean constant: -require(bool)(canAcceptTokens_[_to] == true) (contracts/Contract.sol#406) Eightherbank.antiEarlyWhale(uint256) (contracts/Contract.sol#149-170) compares to a boolean constant: -require(bool)((ambassadors_[msg.sender] == true && (ambassadorAccumulatedQuota_[msg.sender] + _amountOfEthereum) <= ambassadorMaxPurchase_)) (contracts/Contract.sol#155-164) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality Version constraint ^0.4.20 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 - ExpExponentCleanup - EventStructWrongData - NestedArrayFunctionCallDecoder. It is used by: - ^0.4.20 (contracts/Contract.sol#1) solc-0.4.20 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 Event Eightherbank.onTokenPurchase(address,uint256,uint256,address) (contracts/Contract.sol#65-70) is not in CapWords Event Eightherbank.onTokenSell(address,uint256,uint256) (contracts/Contract.sol#70-75) is not in CapWords Event Eightherbank.onReinvestment(address,uint256,uint256) (contracts/Contract.sol#76-81) is not in CapWords Event Eightherbank.onWithdraw(address,uint256) (contracts/Contract.sol#82-86) is not in CapWords Parameter Eightherbank.buyFor(address,address)._customerAddress (contracts/Contract.sol#228-229) is not in mixedCase Parameter Eightherbank.buyFor(address,address)._referredBy (contracts/Contract.sol#229) is not in mixedCase Parameter Eightherbank.buy(address)._referredBy (contracts/Contract.sol#234-235) is not in mixedCase Parameter Eightherbank.sell(uint256)._amountOfTokens (contracts/Contract.sol#315-316) is not in mixedCase Parameter Eightherbank.transfer(address,uint256)._toAddress (contracts/Contract.sol#352) is not in mixedCase Parameter Eightherbank.transfer(address,uint256)._amountOfTokens (contracts/Contract.sol#352) is not in mixedCase Parameter Eightherbank.transferAndCall(address,uint256,bytes)._to (contracts/Contract.sol#400) is not in mixedCase Parameter Eightherbank.transferAndCall(address,uint256,bytes)._value (contracts/Contract.sol#400-401) is not in mixedCase Parameter Eightherbank.transferAndCall(address,uint256,bytes)._data (contracts/Contract.sol#401-402) is not in mixedCase Parameter Eightherbank.changePartner(address)._partnerAddress (contracts/Contract.sol#432-434) is not in mixedCase Parameter Eightherbank.changePromoter(address)._promotorAddress (contracts/Contract.sol#438-439) is not in mixedCase Parameter Eightherbank.changeDev(address)._devAddress (contracts/Contract.sol#446) is not in mixedCase Parameter Eightherbank.setStakingRequirement(uint256)._amountOfTokens (contracts/Contract.sol#458) is not in mixedCase Parameter Eightherbank.setCanAcceptTokens(address,bool)._address (contracts/Contract.sol#467) is not in mixedCase Parameter Eightherbank.setCanAcceptTokens(address,bool)._value (contracts/Contract.sol#467-468) is not in mixedCase Parameter Eightherbank.setName(string)._name (contracts/Contract.sol#476) is not in mixedCase Parameter Eightherbank.setSymbol(string)._symbol (contracts/Contract.sol#484) is not in mixedCase Parameter Eightherbank.myDividends(bool)._includeReferralBonus (contracts/Contract.sol#542-543) is not in mixedCase Parameter Eightherbank.balanceOf(address)._customerAddress (contracts/Contract.sol#554) is not in mixedCase Parameter Eightherbank.dividendsOf(address)._customerAddress (contracts/Contract.sol#560-562) is not in mixedCase Parameter Eightherbank.calculateTokensReceived(uint256)._ethereumToSpend (contracts/Contract.sol#585) is not in mixedCase Parameter Eightherbank.calculateEthereumReceived(uint256)._tokensToSell (contracts/Contract.sol#611) is not in mixedCase Parameter Eightherbank.purchaseTokens(address,uint256,address)._customerAddress (contracts/Contract.sol#626-628) is not in mixedCase Parameter Eightherbank.purchaseTokens(address,uint256,address)._incomingEthereum (contracts/Contract.sol#628) is not in mixedCase Parameter Eightherbank.purchaseTokens(address,uint256,address)._referredBy (contracts/Contract.sol#628) is not in mixedCase Parameter Eightherbank.ethereumToTokens_(uint256)._ethereum (contracts/Contract.sol#721) is not in mixedCase Parameter Eightherbank.tokensToEthereum_(uint256)._tokens (contracts/Contract.sol#726-729) is not in mixedCase Constant Eightherbank.dividendFee_ (contracts/Contract.sol#103-104) is not in UPPER_CASE_WITH_UNDERSCORES Constant Eightherbank.transferFee_ (contracts/Contract.sol#104-105) is not in UPPER_CASE_WITH_UNDERSCORES Constant Eightherbank.refferalFee_ (contracts/Contract.sol#105-106) is not in UPPER_CASE_WITH_UNDERSCORES Constant Eightherbank.tokenPriceInitial_ (contracts/Contract.sol#106-108) is not in UPPER_CASE_WITH_UNDERSCORES Constant Eightherbank.magnitude (contracts/Contract.sol#109) is not in UPPER_CASE_WITH_UNDERSCORES Constant Eightherbank.ambassadorMaxPurchase_ (contracts/Contract.sol#126-129) is not in UPPER_CASE_WITH_UNDERSCORES Constant Eightherbank.ambassadorQuota_ (contracts/Contract.sol#129-130) is not in UPPER_CASE_WITH_UNDERSCORES Variable Eightherbank.ACTIVATION_TIME (contracts/Contract.sol#148-149) is not in mixedCase Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions Reentrancy in Eightherbank.reinvest() (contracts/Contract.sol#251-276): External calls: - _tokens = purchaseTokens(_customerAddress,_dividends,0x0) (contracts/Contract.sol#272-274) - serverFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum,1),100)) (contracts/Contract.sol#708-710) - partnerFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum,1),100)) (contracts/Contract.sol#710) - promoFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum,1),200)) (contracts/Contract.sol#710-712) - devFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum,1),200)) (contracts/Contract.sol#712-713) Event emitted after the call(s): - onReinvestment(_customerAddress,_dividends,_tokens) (contracts/Contract.sol#275-276) Reentrancy in Eightherbank.withdraw() (contracts/Contract.sol#291-313): External calls: - _customerAddress.transfer(_dividends) (contracts/Contract.sol#310-311) Event emitted after the call(s): - onWithdraw(_customerAddress,_dividends) (contracts/Contract.sol#312) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4 AcceptsEighterbank (contracts/Contract.sol#2-23) does not implement functions: - AcceptsEighterbank.tokenFallback(address,uint256,bytes) (contracts/Contract.sol#21-23) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions Eightherbank.tokenPriceInitial_ (contracts/Contract.sol#106-108) is never used in Eightherbank (contracts/Contract.sol#23-731) Eightherbank.ambassadorQuota_ (contracts/Contract.sol#129-130) is never used in Eightherbank (contracts/Contract.sol#23-731) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable Eightherbank.ACTIVATION_TIME (contracts/Contract.sol#148-149) should be constant Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant setName(string) should be declared external: - Eightherbank.setName(string) (contracts/Contract.sol#476-479) setSymbol(string) should be declared external: - Eightherbank.setSymbol(string) (contracts/Contract.sol#483-486) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external . analyzed (3 contracts with 100 detectors), 63 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.4.20",
"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.20",
"install_stderr": null,
"install_stdout": "Version '0.4.20' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-2po_fql8 --allow-paths /tmp/slither-2po_fql8,/tmp/slither-2po_fql8/lib,/tmp/slither-2po_fql8/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 63,
"workspace_hash": "8d64b0a5eb9f9a145fc1464c10788ea38e7b2c6ab53ab51960fc24eedbe593dc",
"duration_seconds": 1.4263255596160889,
"solc_version_requested": "0.4.20"
}
{"no_findings":false,"summary":"Found a denial-of-service risk in the purchase flow due to hard fee transfers to external recipients.","findings":[{"severity":"medium","category":"other","title":"Fee recipient transfers can permanently block buys/reinvests","exploit_scenario":"Each purchase/reinvest sends four fee transfers. If any fee recipient is a contract that reverts or needs more than 2300 gas in its fallback, every buy/buyFor/fallback/reinvest reverts, freezing the protocol. A malicious or compromised fee recipient can intentionally revert to halt all deposits.","recommendation":"Use a pull-payment pattern (accrue fees and let recipients withdraw) or `call` with failure handling so fee payouts cannot block core user flows; ensure fee addresses are EOAs or enforce changeability for all fee addresses.","evidence":"purchaseTokens transfers fees via `.transfer` after state updates, and any revert in these transfers reverts the whole purchase.","locations":["contracts/Contract.sol:720","contracts/Contract.sol:721","contracts/Contract.sol:722","contracts/Contract.sol:723","contracts/Contract.sol:724"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-ahttqgft
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f0b-5c0d-7dc2-b7cb-69ab71f1389a
--------
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
exec
/bin/bash -lc ls in /tmp/codex-ahttqgft succeeded in 9ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-ahttqgft succeeded in 10ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.4.20;
contract AcceptsEighterbank {
Eightherbank public tokenContract;
function AcceptsEighterbank(address _tokenContract) public {
tokenContract = Eightherbank(_tokenContract);
}
modifier onlyTokenContract {
require(msg.sender == address(tokenContract));
_;
}
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '200,420p'" in /tmp/codex-ahttqgft succeeded in 15ms:
200 {
201 // add administrators here
202 owner = msg.sender;
203 name = "8therbank";
204 symbol = "8TH";
205 decimals = 18;
206
207 // The full ambassador list.
208 // This does not mean that everyone actually participates in the ambassador phase. This is the same for the maximum amount.
209
210 ambassadors_[0x60bc6fa49588bbB9e3273E1fc421f383393E2fc3] = true; // Negan
211 ambassadors_[0x074F21a36217d7615d0202faA926aEFEBB5a9999] = true; // Lordshill
212 ambassadors_[0xEe54D208f62368B4efFe176CB548A317dcAe963F] = true; // Crypto Grandad
213 ambassadors_[0x843f2C19bc6df9E32B482E2F9ad6C078001088b1] = true; // Tony
214 ambassadors_[0xE377f23F3C2238FE9EB59776549Ec785CbF42e1b] = true; // Graig Grant
215 ambassadors_[0xACa4E2730b57dA82476D6d1fA2a85A8f686F108b] = true; // Cherry Blossom
216 ambassadors_[0x24B23bB643082026227e945C7833B81426057b10] = true; // Trevon James
217 ambassadors_[0x5138240E96360ad64010C27eB0c685A8b2eDE4F2] = true; // Sniped
218 ambassadors_[0xAFC1a5cB605bBd1aa5F6415458BC45cD7554d08b] = true; // Jedi Masternode
219 ambassadors_[0xAA7A7C2DECB180f68F11E975e6D92B5Dc06083A6] = true; // NumberOfThings
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '420,520p'" in /tmp/codex-ahttqgft succeeded in 9ms:
420 }
421 return true;
422 }
423 /**
424 * Additional check that the game address we are sending tokens to is a contract
425 * assemble the given address bytecode. If bytecode exists then the _addr is a contract.
426 */
427 function isContract(address _addr) private constant returns (bool is_contract) {
428 // retrieve the size of the code on target address, this needs assembly
429 uint length;
430 assembly { length := extcodesize(_addr) }
431 return length > 0;
432 }
433
434 /*---------- ADMINISTRATOR ONLY FUNCTIONS ----------*/
435 /**
436 * In case the amassador quota is not met, the administrator can manually disable the ambassador phase.
437 */
438 function disableInitialStage()
439 onlyAdministrator()
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '620,780p'" in /tmp/codex-ahttqgft succeeded in 6ms:
620 uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
621
622 return _amountOfTokens;
623 }
624
625 /**
626 * Function for the frontend to dynamically retrieve the price scaling of sell orders.
627 */
628 function calculateEthereumReceived(uint256 _tokensToSell)
629 public
630 view
631 returns(uint256)
632 {
633 require(_tokensToSell <= tokenSupply_);
634 uint256 _ethereum = tokensToEthereum_(_tokensToSell);
635 uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, dividendFee_), 100);
636 uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
637 return _taxedEthereum;
638 }
639
codex
{"no_findings":false,"summary":"Found a denial-of-service risk in the purchase flow due to hard fee transfers to external recipients.","findings":[{"severity":"medium","category":"other","title":"Fee recipient transfers can permanently block buys/reinvests","exploit_scenario":"Each purchase/reinvest sends four fee transfers. If any fee recipient is a contract that reverts or needs more than 2300 gas in its fallback, every buy/buyFor/fallback/reinvest reverts, freezing the protocol. A malicious or compromised fee recipient can intentionally revert to halt all deposits.","recommendation":"Use a pull-payment pattern (accrue fees and let recipients withdraw) or `call` with failure handling so fee payouts cannot block core user flows; ensure fee addresses are EOAs or enforce changeability for all fee addresses.","evidence":"purchaseTokens transfers fees via `.transfer` after state updates, and any revert in these transfers reverts the whole purchase.","locations":["contracts/Contract.sol:720","contracts/Contract.sol:721","contracts/Contract.sol:722","contracts/Contract.sol:723","contracts/Contract.sol:724"]}]}
tokens used
35,061
{
"codex": {
"ran_at": "2026-01-30T13:21:19.521546+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Found a denial-of-service risk in the purchase flow due to hard fee transfers to external recipients.",
"raw_final": {
"summary": "Found a denial-of-service risk in the purchase flow due to hard fee transfers to external recipients.",
"findings": [
{
"title": "Fee recipient transfers can permanently block buys/reinvests",
"category": "other",
"evidence": "purchaseTokens transfers fees via `.transfer` after state updates, and any revert in these transfers reverts the whole purchase.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:720",
"contracts/Contract.sol:721",
"contracts/Contract.sol:722",
"contracts/Contract.sol:723",
"contracts/Contract.sol:724"
],
"recommendation": "Use a pull-payment pattern (accrue fees and let recipients withdraw) or `call` with failure handling so fee payouts cannot block core user flows; ensure fee addresses are EOAs or enforce changeability for all fee addresses.",
"exploit_scenario": "Each purchase/reinvest sends four fee transfers. If any fee recipient is a contract that reverts or needs more than 2300 gas in its fallback, every buy/buyFor/fallback/reinvest reverts, freezing the protocol. A malicious or compromised fee recipient can intentionally revert to halt all deposits."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01b5 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH3 0x65318b 00000039: DUP2 0000003a: EQ 0000003b: PUSH2 0x01c4 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0x06fdde03 00000045: EQ 00000046: PUSH2 0x01f5 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0x0f34dc16 00000050: EQ 00000051: PUSH2 0x027f 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0x10d0ffdd 0000005b: EQ 0000005c: PUSH2 0x02b2 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0x18160ddd 00000066: EQ 00000067: PUSH2 0x02c8 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0x22609373 00000071: EQ 00000072: PUSH2 0x02db 00000075: JUMPI 00000076: DUP1 00000077: PUSH4 0x27defa1f 0000007c: EQ 0000007d: PUSH2 0x02f1 00000080: JUMPI 00000081: DUP1 00000082: PUSH4 0x294205b4 00000087: EQ 00000088: PUSH2 0x0304 0000008b: JUMPI 0000008c: DUP1 0000008d: PUSH4 0x313ce567 00000092: EQ 00000093: PUSH2 0x032a 00000096: JUMPI 00000097: DUP1 00000098: PUSH4 0x392efb52 0000009d: EQ 0000009e: PUSH2 0x0353 000000a1: JUMPI 000000a2: DUP1 000000a3: PUSH4 0x3ccfd60b 000000a8: EQ 000000a9: PUSH2 0x0369 000000ac: JUMPI 000000ad: DUP1 000000ae: PUSH4 0x4000aea0 000000b3: EQ 000000b4: PUSH2 0x037c 000000b7: JUMPI 000000b8: DUP1 000000b9: PUSH4 0x4411b711 000000be: EQ 000000bf: PUSH2 0x03ab 000000c2: JUMPI 000000c3: DUP1 000000c4: PUSH4 0x4b750334 000000c9: EQ 000000ca: PUSH2 0x03ca 000000cd: JUMPI 000000ce: DUP1 000000cf: PUSH4 0x56d399e8 000000d4: EQ 000000d5: PUSH2 0x03dd 000000d8: JUMPI 000000d9: DUP1 000000da: PUSH4 0x688abbf7 000000df: EQ 000000e0: PUSH2 0x03f0 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0x6b2f4632 000000ea: EQ 000000eb: PUSH2 0x0408 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0x70a08231 000000f5: EQ 000000f6: PUSH2 0x041b 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x8328b610 00000100: EQ 00000101: PUSH2 0x043a 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x8620410b 0000010b: EQ 0000010c: PUSH2 0x0450 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x88a8c95c 00000116: EQ 00000117: PUSH2 0x0463 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x8da5cb5b 00000121: EQ 00000122: PUSH2 0x0482 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x949e8acd 0000012c: EQ 0000012d: PUSH2 0x04b1 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x95d89b41 00000137: EQ 00000138: PUSH2 0x04c4 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0xa8e04f34 00000142: EQ 00000143: PUSH2 0x04d7 00000146: JUMPI 00000147: DUP1 00000148: PUSH4 0xa9059cbb 0000014d: EQ 0000014e: PUSH2 0x04ea 00000151: JUMPI 00000152: DUP1 00000153: PUSH4 0xab1eedb2 00000158: EQ 00000159: PUSH2 0x050c 0000015c: JUMPI 0000015d: DUP1 0000015e: PUSH4 0xb84c8246 00000163: EQ 00000164: PUSH2 0x052b 00000167: JUMPI 00000168: DUP1 00000169: PUSH4 0xc47f0027 0000016e: EQ 0000016f: PUSH2 0x057c 00000172: JUMPI 00000173: DUP1 00000174: PUSH4 0xcaa877e7 00000179: EQ 0000017a: PUSH2 0x05cd 0000017d: JUMPI 0000017e: DUP1 0000017f: PUSH4 0xdf8089ef 00000184: EQ 00000185: PUSH2 0x05e7 00000188: JUMPI 00000189: DUP1 0000018a: PUSH4 0xe4849b32 0000018f: EQ 00000190: PUSH2 0x0606 00000193: JUMPI 00000194: DUP1 00000195: PUSH4 0xe9fad8ee 0000019a: EQ 0000019b: PUSH2 0x061c 0000019e: JUMPI 0000019f: DUP1 000001a0: PUSH4 0xf088d547 000001a5: EQ 000001a6: PUSH2 0x062f 000001a9: JUMPI 000001aa: DUP1 000001ab: PUSH4 0xfdb5a03e 000001b0: EQ 000001b1: PUSH2 0x0643 000001b4: JUMPI 000001b5: JUMPDEST 000001b6: PUSH2 0x01c1 000001b9: CALLER 000001ba: CALLVALUE 000001bb: PUSH1 0x00 000001bd: PUSH2 0x0656 000001c0: JUMP 000001c1: JUMPDEST 000001c2: POP 000001c3: STOP 000001c4: JUMPDEST 000001c5: CALLVALUE 000001c6: ISZERO 000001c7: PUSH2 0x01cf 000001ca: JUMPI 000001cb: PUSH1 0x00 000001cd: DUP1 000001ce: REVERT 000001cf: JUMPDEST 000001d0: PUSH2 0x01e3 000001d3: PUSH1 0x01 000001d5: PUSH1 0xa0 000001d7: PUSH1 0x02 000001d9: EXP 000001da: SUB 000001db: PUSH1 0x04 000001dd: CALLDATALOAD 000001de: AND 000001df: PUSH2 0x0e37 000001e2: JUMP 000001e3: JUMPDEST 000001e4: PUSH1 0x40 000001e6: MLOAD 000001e7: SWAP1 000001e8: DUP2 000001e9: MSTORE 000001ea: PUSH1 0x20 000001ec: ADD 000001ed: PUSH1 0x40 000001ef: MLOAD 000001f0: DUP1 000001f1: SWAP2 000001f2: SUB 000001f3: SWAP1 000001f4: RETURN 000001f5: JUMPDEST 000001f6: CALLVALUE 000001f7: ISZERO 000001f8: PUSH2 0x0200 000001fb: JUMPI 000001fc: PUSH1 0x00 000001fe: DUP1 000001ff: REVERT 00000200: JUMPDEST 00000201: PUSH2 0x0208 00000204: PUSH2 0x0e6f 00000207: JUMP 00000208: JUMPDEST 00000209: PUSH1 0x40 0000020b: MLOAD 0000020c: PUSH1 0x20 0000020e: DUP1 0000020f: DUP3 00000210: MSTORE 00000211: DUP2 00000212: SWAP1 00000213: DUP2 00000214: ADD 00000215: DUP4 00000216: DUP2 00000217: DUP2 00000218: MLOAD 00000219: DUP2 0000021a: MSTORE 0000021b: PUSH1 0x20 0000021d: ADD 0000021e: SWAP2 0000021f: POP 00000220: DUP1 00000221: MLOAD 00000222: SWAP1 00000223: PUSH1 0x20 00000225: ADD 00000226: SWAP1 00000227: DUP1 00000228: DUP4 00000229: DUP4 0000022a: PUSH1 0x00 0000022c: JUMPDEST 0000022d: DUP4 0000022e: DUP2 0000022f: LT 00000230: ISZERO 00000231: PUSH2 0x0244 00000234: JUMPI 00000235: DUP1 00000236: DUP3 00000237: ADD 00000238: MLOAD 00000239: DUP4 0000023a: DUP3 0000023b: ADD 0000023c: MSTORE 0000023d: PUSH1 0x20 0000023f: ADD 00000240: PUSH2 0x022c 00000243: JUMP 00000244: JUMPDEST 00000245: POP 00000246: POP 00000247: POP 00000248: POP 00000249: SWAP1 0000024a: POP 0000024b: SWAP1 0000024c: DUP2 0000024d: ADD 0000024e: SWAP1 0000024f: PUSH1 0x1f 00000251: AND 00000252: DUP1 00000253: ISZERO 00000254: PUSH2 0x0271 00000257: JUMPI 00000258: DUP1 00000259: DUP3 0000025a: SUB 0000025b: DUP1 0000025c: MLOAD 0000025d: PUSH1 0x01 0000025f: DUP4 00000260: PUSH1 0x20 00000262: SUB 00000263: PUSH2 0x0100 00000266: EXP 00000267: SUB 00000268: NOT 00000269: AND 0000026a: DUP2 0000026b: MSTORE 0000026c: PUSH1 0x20 0000026e: ADD 0000026f: SWAP2 00000270: POP 00000271: JUMPDEST 00000272: POP 00000273: SWAP3 00000274: POP 00000275: POP 00000276: POP 00000277: PUSH1 0x40 00000279: MLOAD 0000027a: DUP1 0000027b: SWAP2 0000027c: SUB 0000027d: SWAP1 0000027e: RETURN 0000027f: JUMPDEST 00000280: CALLVALUE 00000281: ISZERO 00000282: PUSH2 0x028a 00000285: JUMPI 00000286: PUSH1 0x00 00000288: DUP1 00000289: REVERT 0000028a: JUMPDEST 0000028b: PUSH2 0x029e 0000028e: PUSH1 0x01 00000290: PUSH1 0xa0 00000292: PUSH1 0x02 00000294: EXP 00000295: SUB 00000296: PUSH1 0x04 00000298: CALLDATALOAD 00000299: AND 0000029a: PUSH2 0x0f0d 0000029d: JUMP 0000029e: JUMPDEST 0000029f: PUSH1 0x40 000002a1: MLOAD 000002a2: SWAP1 000002a3: ISZERO 000002a4: ISZERO 000002a5: DUP2 000002a6: MSTORE 000002a7: PUSH1 0x20 000002a9: ADD 000002aa: PUSH1 0x40 000002ac: MLOAD 000002ad: DUP1 000002ae: SWAP2 000002af: SUB 000002b0: SWAP1 000002b1: RETURN 000002b2: JUMPDEST 000002b3: CALLVALUE 000002b4: ISZERO 000002b5: PUSH2 0x02bd 000002b8: JUMPI 000002b9: PUSH1 0x00 000002bb: DUP1 000002bc: REVERT 000002bd: JUMPDEST 000002be: PUSH2 0x01e3 000002c1: PUSH1 0x04 000002c3: CALLDATALOAD 000002c4: PUSH2 0x0f22 000002c7: JUMP 000002c8: JUMPDEST 000002c9: CALLVALUE 000002ca: ISZERO 000002cb: PUSH2 0x02d3 000002ce: JUMPI 000002cf: PUSH1 0x00 000002d1: DUP1 000002d2: REVERT 000002d3: JUMPDEST 000002d4: PUSH2 0x01e3 000002d7: PUSH2 0x0f55 000002da: JUMP 000002db: JUMPDEST 000002dc: CALLVALUE 000002dd: ISZERO 000002de: PUSH2 0x02e6 000002e1: JUMPI 000002e2: PUSH1 0x00 000002e4: DUP1 000002e5: REVERT 000002e6: JUMPDEST 000002e7: PUSH2 0x01e3 000002ea: PUSH1 0x04 000002ec: CALLDATALOAD 000002ed: PUSH2 0x0f5c 000002f0: JUMP 000002f1: JUMPDEST 000002f2: CALLVALUE 000002f3: ISZERO 000002f4: PUSH2 0x02fc 000002f7: JUMPI 000002f8: PUSH1 0x00 000002fa: DUP1 000002fb: REVERT 000002fc: JUMPDEST 000002fd: PUSH2 0x029e 00000300: PUSH2 0x0f98 00000303: JUMP 00000304: JUMPDEST 00000305: CALLVALUE 00000306: ISZERO 00000307: PUSH2 0x030f 0000030a: JUMPI 0000030b: PUSH1 0x00 0000030d: DUP1 0000030e: REVERT 0000030f: JUMPDEST 00000310: PUSH2 0x0328 00000313: PUSH1 0x01 00000315: PUSH1 0xa0 00000317: PUSH1 0x02 00000319: EXP 0000031a: SUB 0000031b: PUSH1 0x04 0000031d: CALLDATALOAD 0000031e: AND 0000031f: PUSH1 0x24 00000321: CALLDATALOAD 00000322: ISZERO 00000323: ISZERO 00000324: PUSH2 0x0fa1 00000327: JUMP 00000328: JUMPDEST 00000329: STOP 0000032a: JUMPDEST 0000032b: CALLVALUE 0000032c: ISZERO 0000032d: PUSH2 0x0335 00000330: JUMPI 00000331: PUSH1 0x00 00000333: DUP1 00000334: REVERT 00000335: JUMPDEST 00000336: PUSH2 0x033d 00000339: PUSH2 0x0fe9 0000033c: JUMP 0000033d: JUMPDEST 0000033e: PUSH1 0x40 00000340: MLOAD 00000341: PUSH1 0xff 00000343: SWAP1 00000344: SWAP2 00000345: AND 00000346: DUP2 00000347: MSTORE 00000348: PUSH1 0x20 0000034a: ADD 0000034b: PUSH1 0x40 0000034d: MLOAD 0000034e: DUP1 0000034f: SWAP2 00000350: SUB 00000351: SWAP1 00000352: RETURN 00000353: JUMPDEST 00000354: CALLVALUE 00000355: ISZERO 00000356: PUSH2 0x035e 00000359: JUMPI 0000035a: PUSH1 0x00 0000035c: DUP1 0000035d: REVERT 0000035e: JUMPDEST 0000035f: PUSH2 0x029e 00000362: PUSH1 0x04 00000364: CALLDATALOAD 00000365: PUSH2 0x0ff2 00000368: JUMP 00000369: JUMPDEST 0000036a: CALLVALUE 0000036b: ISZERO 0000036c: PUSH2 0x0374 0000036f: JUMPI 00000370: PUSH1 0x00 00000372: DUP1 00000373: REVERT 00000374: JUMPDEST 00000375: PUSH2 0x0328 00000378: PUSH2 0x1007 0000037b: JUMP 0000037c: JUMPDEST 0000037d: CALLVALUE 0000037e: ISZERO 0000037f: PUSH2 0x0387 00000382: JUMPI 00000383: PUSH1 0x00 00000385: DUP1 00000386: REVERT 00000387: JUMPDEST 00000388: PUSH2 0x029e 0000038b: PUSH1 0x04 0000038d: DUP1 0000038e: CALLDATALOAD 0000038f: PUSH1 0x01 00000391: PUSH1 0xa0 00000393: PUSH1 0x02 00000395: EXP 00000396: SUB 00000397: AND 00000398: SWAP1 00000399: PUSH1 0x24 0000039b: DUP1 0000039c: CALLDATALOAD 0000039d: SWAP2 0000039e: PUSH1 0x44 000003a0: CALLDATALOAD 000003a1: SWAP2 000003a2: DUP3 000003a3: ADD 000003a4: SWAP2 000003a5: ADD 000003a6: CALLDATALOAD 000003a7: PUSH2 0x10ce 000003aa: JUMP 000003ab: JUMPDEST 000003ac: CALLVALUE 000003ad: ISZERO 000003ae: PUSH2 0x03b6 000003b1: JUMPI 000003b2: PUSH1 0x00 000003b4: DUP1 000003b5: REVERT 000003b6: JUMPDEST 000003b7: PUSH2 0x0328 000003ba: PUSH1 0x01 000003bc: PUSH1 0xa0 000003be: PUSH1 0x02 000003c0: EXP 000003c1: SUB 000003c2: PUSH1 0x04 000003c4: CALLDATALOAD 000003c5: AND 000003c6: PUSH2 0x1206 000003c9: JUMP 000003ca: JUMPDEST 000003cb: CALLVALUE 000003cc: ISZERO 000003cd: PUSH2 0x03d5 000003d0: JUMPI 000003d1: PUSH1 0x00 000003d3: DUP1 000003d4: REVERT 000003d5: JUMPDEST 000003d6: PUSH2 0x0208 000003d9: PUSH2 0x1250 000003dc: JUMP 000003dd: JUMPDEST 000003de: CALLVALUE 000003df: ISZERO 000003e0: PUSH2 0x03e8 000003e3: JUMPI 000003e4: PUSH1 0x00 000003e6: DUP1 000003e7: REVERT 000003e8: JUMPDEST 000003e9: PUSH2 0x01e3 000003ec: PUSH2 0x1291 000003ef: JUMP 000003f0: JUMPDEST 000003f1: CALLVALUE 000003f2: ISZERO 000003f3: PUSH2 0x03fb 000003f6: JUMPI 000003f7: PUSH1 0x00 000003f9: DUP1 000003fa: REVERT 000003fb: JUMPDEST 000003fc: PUSH2 0x01e3 000003ff: PUSH1 0x04 00000401: CALLDATALOAD 00000402: ISZERO 00000403: ISZERO 00000404: PUSH2 0x1297 00000407: JUMP 00000408: JUMPDEST 00000409: CALLVALUE 0000040a: ISZERO 0000040b: PUSH2 0x0413 0000040e: JUMPI 0000040f: PUSH1 0x00 00000411: DUP1 00000412: REVERT 00000413: JUMPDEST 00000414: PUSH2 0x01e3 00000417: PUSH2 0x12da 0000041a: JUMP 0000041b: JUMPDEST 0000041c: CALLVALUE 0000041d: ISZERO 0000041e: PUSH2 0x0426 00000421: JUMPI 00000422: PUSH1 0x00 00000424: DUP1 00000425: REVERT 00000426: JUMPDEST 00000427: PUSH2 0x01e3 0000042a: PUSH1 0x01 0000042c: PUSH1 0xa0 0000042e: PUSH1 0x02 00000430: EXP 00000431: SUB 00000432: PUSH1 0x04 00000434: CALLDATALOAD 00000435: AND 00000436: PUSH2 0x12e8 00000439: JUMP 0000043a: JUMPDEST 0000043b: CALLVALUE 0000043c: ISZERO 0000043d: PUSH2 0x0445 00000440: JUMPI 00000441: PUSH1 0x00 00000443: DUP1 00000444: REVERT 00000445: JUMPDEST 00000446: PUSH2 0x0328 00000449: PUSH1 0x04 0000044b: CALLDATALOAD 0000044c: PUSH2 0x1303 0000044f: JUMP 00000450: JUMPDEST 00000451: CALLVALUE 00000452: ISZERO 00000453: PUSH2 0x045b 00000456: JUMPI 00000457: PUSH1 0x00 00000459: DUP1 0000045a: REVERT 0000045b: JUMPDEST 0000045c: PUSH2 0x0208 0000045f: PUSH2 0x1325 00000462: JUMP 00000463: JUMPDEST 00000464: CALLVALUE 00000465: ISZERO 00000466: PUSH2 0x046e 00000469: JUMPI 0000046a: PUSH1 0x00 0000046c: DUP1 0000046d: REVERT 0000046e: JUMPDEST 0000046f: PUSH2 0x0328 00000472: PUSH1 0x01 00000474: PUSH1 0xa0 00000476: PUSH1 0x02 00000478: EXP 00000479: SUB 0000047a: PUSH1 0x04 0000047c: CALLDATALOAD 0000047d: AND 0000047e: PUSH2 0x1366 00000481: JUMP 00000482: JUMPDEST 00000483: CALLVALUE 00000484: ISZERO 00000485: PUSH2 0x048d 00000488: JUMPI 00000489: PUSH1 0x00 0000048b: DUP1 0000048c: REVERT 0000048d: JUMPDEST 0000048e: PUSH2 0x0495 00000491: PUSH2 0x13b0 00000494: JUMP 00000495: JUMPDEST 00000496: PUSH1 0x40 00000498: MLOAD 00000499: PUSH1 0x01 0000049b: PUSH1 0xa0 0000049d: PUSH1 0x02 0000049f: EXP 000004a0: SUB 000004a1: SWAP1 000004a2: SWAP2 000004a3: AND 000004a4: DUP2 000004a5: MSTORE 000004a6: PUSH1 0x20 000004a8: ADD 000004a9: PUSH1 0x40 000004ab: MLOAD 000004ac: DUP1 000004ad: SWAP2 000004ae: SUB 000004af: SWAP1 000004b0: RETURN 000004b1: JUMPDEST 000004b2: CALLVALUE 000004b3: ISZERO 000004b4: PUSH2 0x04bc 000004b7: JUMPI 000004b8: PUSH1 0x00 000004ba: DUP1 000004bb: REVERT 000004bc: JUMPDEST 000004bd: PUSH2 0x01e3 000004c0: PUSH2 0x13bf 000004c3: JUMP 000004c4: JUMPDEST 000004c5: CALLVALUE 000004c6: ISZERO 000004c7: PUSH2 0x04cf 000004ca: JUMPI 000004cb: PUSH1 0x00 000004cd: DUP1 000004ce: REVERT 000004cf: JUMPDEST 000004d0: PUSH2 0x0208 000004d3: PUSH2 0x13d2 000004d6: JUMP 000004d7: JUMPDEST 000004d8: CALLVALUE 000004d9: ISZERO 000004da: PUSH2 0x04e2 000004dd: JUMPI 000004de: PUSH1 0x00 000004e0: DUP1 000004e1: REVERT 000004e2: JUMPDEST 000004e3: PUSH2 0x0328 000004e6: PUSH2 0x143d 000004e9: JUMP 000004ea: JUMPDEST 000004eb: CALLVALUE 000004ec: ISZERO 000004ed: PUSH2 0x04f5 000004f0: JUMPI 000004f1: PUSH1 0x00 000004f3: DUP1 000004f4: REVERT 000004f5: JUMPDEST 000004f6: PUSH2 0x029e 000004f9: PUSH1 0x01 000004fb: PUSH1 0xa0 000004fd: PUSH1 0x02 000004ff: EXP 00000500: SUB 00000501: PUSH1 0x04 00000503: CALLDATALOAD 00000504: AND 00000505: PUSH1 0x24 00000507: CALLDATALOAD 00000508: PUSH2 0x1466 0000050b: JUMP 0000050c: JUMPDEST 0000050d: CALLVALUE 0000050e: ISZERO 0000050f: PUSH2 0x0517 00000512: JUMPI 00000513: PUSH1 0x00 00000515: DUP1 00000516: REVERT 00000517: JUMPDEST 00000518: PUSH2 0x0328 0000051b: PUSH1 0x01 0000051d: PUSH1 0xa0 0000051f: PUSH1 0x02 00000521: EXP 00000522: SUB 00000523: PUSH1 0x04 00000525: CALLDATALOAD 00000526: AND 00000527: PUSH2 0x1602 0000052a: JUMP 0000052b: JUMPDEST 0000052c: CALLVALUE 0000052d: ISZERO 0000052e: PUSH2 0x0536 00000531: JUMPI 00000532: PUSH1 0x00 00000534: DUP1 00000535: REVERT 00000536: JUMPDEST 00000537: PUSH2 0x0328 0000053a: PUSH1 0x04 0000053c: PUSH1 0x24 0000053e: DUP2 0000053f: CALLDATALOAD 00000540: DUP2 00000541: DUP2 00000542: ADD 00000543: SWAP1 00000544: DUP4 00000545: ADD 00000546: CALLDATALOAD 00000547: DUP1 00000548: PUSH1 0x20 0000054a: PUSH1 0x1f 0000054c: DUP3 0000054d: ADD 0000054e: DUP2 0000054f: SWAP1 00000550: DIV 00000551: DUP2 00000552: MUL 00000553: ADD 00000554: PUSH1 0x40 00000556: MLOAD 00000557: SWAP1 00000558: DUP2 00000559: ADD 0000055a: PUSH1 0x40 0000055c: MSTORE 0000055d: DUP2 0000055e: DUP2 0000055f: MSTORE 00000560: SWAP3 00000561: SWAP2 00000562: SWAP1 00000563: PUSH1 0x20 00000565: DUP5 00000566: ADD 00000567: DUP4 00000568: DUP4 00000569: DUP1 0000056a: DUP3 0000056b: DUP5 0000056c: CALLDATACOPY 0000056d: POP 0000056e: SWAP5 0000056f: SWAP7 00000570: POP 00000571: PUSH2 0x164c 00000574: SWAP6 00000575: POP 00000576: POP 00000577: POP 00000578: POP 00000579: POP 0000057a: POP 0000057b: JUMP 0000057c: JUMPDEST 0000057d: CALLVALUE 0000057e: ISZERO 0000057f: PUSH2 0x0587 00000582: JUMPI 00000583: PUSH1 0x00 00000585: DUP1 00000586: REVERT 00000587: JUMPDEST 00000588: PUSH2 0x0328 0000058b: PUSH1 0x04 0000058d: PUSH1 0x24 0000058f: DUP2 00000590: CALLDATALOAD 00000591: DUP2 00000592: DUP2 00000593: ADD 00000594: SWAP1 00000595: DUP4 00000596: ADD 00000597: CALLDATALOAD 00000598: DUP1 00000599: PUSH1 0x20 0000059b: PUSH1 0x1f 0000059d: DUP3 0000059e: ADD 0000059f: DUP2 000005a0: SWAP1 000005a1: DIV 000005a2: DUP2 000005a3: MUL 000005a4: ADD 000005a5: PUSH1 0x40 000005a7: MLOAD 000005a8: SWAP1 000005a9: DUP2 000005aa: ADD 000005ab: PUSH1 0x40 000005ad: MSTORE 000005ae: DUP2 000005af: DUP2 000005b0: MSTORE 000005b1: SWAP3 000005b2: SWAP2 000005b3: SWAP1 000005b4: PUSH1 0x20 000005b6: DUP5 000005b7: ADD 000005b8: DUP4 000005b9: DUP4 000005ba: DUP1 000005bb: DUP3 000005bc: DUP5 000005bd: CALLDATACOPY 000005be: POP 000005bf: SWAP5 000005c0: SWAP7 000005c1: POP 000005c2: PUSH2 0x1680 000005c5: SWAP6 000005c6: POP 000005c7: POP 000005c8: POP 000005c9: POP 000005ca: POP 000005cb: POP 000005cc: JUMP 000005cd: JUMPDEST 000005ce: PUSH2 0x01e3 000005d1: PUSH1 0x01 000005d3: PUSH1 0xa0 000005d5: PUSH1 0x02 000005d7: EXP 000005d8: SUB 000005d9: PUSH1 0x04 000005db: CALLDATALOAD 000005dc: DUP2 000005dd: AND 000005de: SWAP1 000005df: PUSH1 0x24 000005e1: CALLDATALOAD 000005e2: AND 000005e3: PUSH2 0x16af 000005e6: JUMP 000005e7: JUMPDEST 000005e8: CALLVALUE 000005e9: ISZERO 000005ea: PUSH2 0x05f2 000005ed: JUMPI 000005ee: PUSH1 0x00 000005f0: DUP1 000005f1: REVERT 000005f2: JUMPDEST 000005f3: PUSH2 0x0328 000005f6: PUSH1 0x01 000005f8: PUSH1 0xa0 000005fa: PUSH1 0x02 000005fc: EXP 000005fd: SUB 000005fe: PUSH1 0x04 00000600: CALLDATALOAD 00000601: AND 00000602: PUSH2 0x16c3 00000605: JUMP 00000606: JUMPDEST 00000607: CALLVALUE 00000608: ISZERO 00000609: PUSH2 0x0611 0000060c: JUMPI 0000060d: PUSH1 0x00 0000060f: DUP1 00000610: REVERT 00000611: JUMPDEST 00000612: PUSH2 0x0328 00000615: PUSH1 0x04 00000617: CALLDATALOAD 00000618: PUSH2 0x170f 0000061b: JUMP 0000061c: JUMPDEST 0000061d: CALLVALUE 0000061e: ISZERO 0000061f: PUSH2 0x0627 00000622: JUMPI 00000623: PUSH1 0x00 00000625: DUP1 00000626: REVERT 00000627: JUMPDEST 00000628: PUSH2 0x0328 0000062b: PUSH2 0x1865 0000062e: JUMP 0000062f: JUMPDEST 00000630: PUSH2 0x01e3 00000633: PUSH1 0x01 00000635: PUSH1 0xa0 00000637: PUSH1 0x02 00000639: EXP 0000063a: SUB 0000063b: PUSH1 0x04 0000063d: CALLDATALOAD 0000063e: AND 0000063f: PUSH2 0x189c 00000642: JUMP 00000643: JUMPDEST 00000644: CALLVALUE 00000645: ISZERO 00000646: PUSH2 0x064e 00000649: JUMPI 0000064a: PUSH1 0x00 0000064c: DUP1 0000064d: REVERT 0000064e: JUMPDEST 0000064f: PUSH2 0x0328 00000652: PUSH2 0x18a9 00000655: JUMP 00000656: JUMPDEST 00000657: PUSH1 0x00 00000659: DUP1 0000065a: PUSH1 0x00 0000065c: DUP1 0000065d: PUSH1 0x00 0000065f: DUP1 00000660: PUSH1 0x00 00000662: DUP1 00000663: DUP10 00000664: PUSH1 0x0f 00000666: SLOAD 00000667: TIMESTAMP 00000668: LT 00000669: ISZERO 0000066a: ISZERO 0000066b: PUSH2 0x0679 0000066e: JUMPI 0000066f: PUSH1 0x0e 00000671: DUP1 00000672: SLOAD 00000673: PUSH1 0xff 00000675: NOT 00000676: AND 00000677: SWAP1 00000678: SSTORE 00000679: JUMPDEST 0000067a: PUSH1 0x0e 0000067c: SLOAD 0000067d: PUSH1 0xff 0000067f: AND 00000680: ISZERO 00000681: PUSH2 0x0aa8 00000684: JUMPI 00000685: PUSH1 0x01 00000687: PUSH1 0xa0 00000689: PUSH1 0x02 0000068b: EXP 0000068c: SUB 0000068d: CALLER 0000068e: AND 0000068f: PUSH1 0x00 00000691: SWAP1 00000692: DUP2 00000693: MSTORE 00000694: PUSH1 0x09 00000696: PUSH1 0x20 00000698: MSTORE 00000699: PUSH1 0x40 0000069b: SWAP1 0000069c: KECCAK256 0000069d: SLOAD 0000069e: PUSH1 0xff 000006a0: AND 000006a1: ISZERO 000006a2: ISZERO 000006a3: PUSH1 0x01 000006a5: EQ 000006a6: DUP1 000006a7: ISZERO 000006a8: PUSH2 0x06d4 000006ab: JUMPI 000006ac: POP 000006ad: PUSH1 0x01 000006af: PUSH1 0xa0 000006b1: PUSH1 0x02 000006b3: EXP 000006b4: SUB 000006b5: CALLER 000006b6: AND 000006b7: PUSH1 0x00 000006b9: SWAP1 000006ba: DUP2 000006bb: MSTORE 000006bc: PUSH1 0x0d 000006be: PUSH1 0x20 000006c0: MSTORE 000006c1: PUSH1 0x40 000006c3: SWAP1 000006c4: KECCAK256 000006c5: SLOAD 000006c6: PUSH8 0x0de0b6b3a7640000 000006cf: SWAP1 000006d0: DUP3 000006d1: ADD 000006d2: GT 000006d3: ISZERO 000006d4: JUMPDEST 000006d5: ISZERO 000006d6: ISZERO 000006d7: PUSH2 0x06df 000006da: JUMPI 000006db: PUSH1 0x00 000006dd: DUP1 000006de: REVERT 000006df: JUMPDEST 000006e0: PUSH1 0x01 000006e2: PUSH1 0xa0 000006e4: PUSH1 0x02 000006e6: EXP 000006e7: SUB 000006e8: CALLER 000006e9: AND 000006ea: PUSH1 0x00 000006ec: SWAP1 000006ed: DUP2 000006ee: MSTORE 000006ef: PUSH1 0x0d 000006f1: PUSH1 0x20 000006f3: MSTORE 000006f4: PUSH1 0x40 000006f6: SWAP1 000006f7: KECCAK256 000006f8: SLOAD 000006f9: PUSH2 0x0702 000006fc: SWAP1 000006fd: DUP3 000006fe: PUSH2 0x1961 00000701: JUMP 00000702: JUMPDEST 00000703: PUSH1 0x01 00000705: PUSH1 0xa0 00000707: PUSH1 0x02 00000709: EXP 0000070a: SUB 0000070b: CALLER 0000070c: AND 0000070d: PUSH1 0x00 0000070f: SWAP1 00000710: DUP2 00000711: MSTORE 00000712: PUSH1 0x0d 00000714: PUSH1 0x20 00000716: MSTORE 00000717: PUSH1 0x40 00000719: SWAP1 0000071a: KECCAK256 0000071b: SSTORE 0000071c: PUSH2 0x0730 0000071f: PUSH2 0x0729 00000722: DUP13 00000723: PUSH1 0x0a 00000725: PUSH2 0x197b 00000728: JUMP 00000729: JUMPDEST 0000072a: PUSH1 0x64 0000072c: PUSH2 0x19a6 0000072f: JUMP 00000730: JUMPDEST 00000731: SWAP8 00000732: POP 00000733: PUSH2 0x0740 00000736: PUSH2 0x0729 00000739: DUP10 0000073a: PUSH1 0x21 0000073c: PUSH2 0x197b 0000073f: JUMP 00000740: JUMPDEST 00000741: SWAP7 00000742: POP 00000743: PUSH2 0x074c 00000746: DUP9 00000747: DUP9 00000748: PUSH2 0x19bd 0000074b: JUMP 0000074c: JUMPDEST 0000074d: SWAP6 0000074e: POP 0000074f: PUSH2 0x0758 00000752: DUP12 00000753: DUP10 00000754: PUSH2 0x19bd 00000757: JUMP 00000758: JUMPDEST 00000759: SWAP5 0000075a: POP 0000075b: PUSH2 0x0771 0000075e: DUP6 0000075f: PUSH2 0x076c 00000762: PUSH2 0x0729 00000765: DUP15 00000766: PUSH1 0x01 00000768: PUSH2 0x197b 0000076b: JUMP 0000076c: JUMPDEST 0000076d: PUSH2 0x19bd 00000770: JUMP 00000771: JUMPDEST 00000772: SWAP5 00000773: POP 00000774: PUSH2 0x0785 00000777: DUP6 00000778: PUSH2 0x076c 0000077b: PUSH2 0x0729 0000077e: DUP15 0000077f: PUSH1 0x01 00000781: PUSH2 0x197b 00000784: JUMP 00000785: JUMPDEST 00000786: SWAP5 00000787: POP 00000788: PUSH2 0x07a0 0000078b: DUP6 0000078c: PUSH2 0x076c 0000078f: PUSH2 0x0799 00000792: DUP15 00000793: PUSH1 0x01 00000795: PUSH2 0x197b 00000798: JUMP 00000799: JUMPDEST 0000079a: PUSH1 0xc8 0000079c: PUSH2 0x19a6 0000079f: JUMP 000007a0: JUMPDEST 000007a1: SWAP5 000007a2: POP 000007a3: PUSH2 0x07b4 000007a6: DUP6 000007a7: PUSH2 0x076c 000007aa: PUSH2 0x0799 000007ad: DUP15 000007ae: PUSH1 0x01 000007b0: PUSH2 0x197b 000007b3: JUMP 000007b4: JUMPDEST 000007b5: SWAP5 000007b6: POP 000007b7: PUSH2 0x07bf 000007ba: DUP6 000007bb: PUSH2 0x19cf 000007be: JUMP 000007bf: JUMPDEST 000007c0: SWAP4 000007c1: POP 000007c2: PUSH1 0x40 000007c4: PUSH1 0x02 000007c6: EXP 000007c7: DUP7 000007c8: MUL 000007c9: SWAP3 000007ca: POP 000007cb: PUSH1 0x00 000007cd: DUP5 000007ce: GT 000007cf: DUP1 000007d0: ISZERO 000007d1: PUSH2 0x07e4 000007d4: JUMPI 000007d5: POP 000007d6: PUSH1 0x10 000007d8: SLOAD 000007d9: PUSH2 0x07e2 000007dc: DUP6 000007dd: DUP3 000007de: PUSH2 0x1961 000007e1: JUMP 000007e2: JUMPDEST 000007e3: GT 000007e4: JUMPDEST 000007e5: ISZERO 000007e6: ISZERO 000007e7: PUSH2 0x07ef 000007ea: JUMPI 000007eb: PUSH1 0x00 000007ed: DUP1 000007ee: REVERT 000007ef: JUMPDEST 000007f0: PUSH1 0x01 000007f2: PUSH1 0xa0 000007f4: PUSH1 0x02 000007f6: EXP 000007f7: SUB 000007f8: DUP11 000007f9: AND 000007fa: ISZERO 000007fb: DUP1 000007fc: ISZERO 000007fd: SWAP1 000007fe: PUSH2 0x0819 00000801: JUMPI 00000802: POP 00000803: DUP12 00000804: PUSH1 0x01 00000806: PUSH1 0xa0 00000808: PUSH1 0x02 0000080a: EXP 0000080b: SUB 0000080c: AND 0000080d: DUP11 0000080e: PUSH1 0x01 00000810: PUSH1 0xa0 00000812: PUSH1 0x02 00000814: EXP 00000815: SUB 00000816: AND 00000817: EQ 00000818: ISZERO 00000819: JUMPDEST 0000081a: DUP1 0000081b: ISZERO 0000081c: PUSH2 0x083f 0000081f: JUMPI 00000820: POP 00000821: PUSH1 0x04 00000823: SLOAD 00000824: PUSH1 0x01 00000826: PUSH1 0xa0 00000828: PUSH1 0x02 0000082a: EXP 0000082b: SUB 0000082c: DUP12 0000082d: AND 0000082e: PUSH1 0x00 00000830: SWAP1 00000831: DUP2 00000832: MSTORE 00000833: PUSH1 0x0a 00000835: PUSH1 0x20 00000837: MSTORE 00000838: PUSH1 0x40 0000083a: SWAP1 0000083b: KECCAK256 0000083c: SLOAD 0000083d: LT 0000083e: ISZERO 0000083f: JUMPDEST 00000840: ISZERO 00000841: PUSH2 0x0885 00000844: JUMPI 00000845: PUSH1 0x01 00000847: PUSH1 0xa0 00000849: PUSH1 0x02 0000084b: EXP 0000084c: SUB 0000084d: DUP11 0000084e: AND 0000084f: PUSH1 0x00 00000851: SWAP1 00000852: DUP2 00000853: MSTORE 00000854: PUSH1 0x0b 00000856: PUSH1 0x20 00000858: MSTORE 00000859: PUSH1 0x40 0000085b: SWAP1 0000085c: KECCAK256 0000085d: SLOAD 0000085e: PUSH2 0x0867 00000861: SWAP1 00000862: DUP9 00000863: PUSH2 0x1961 00000866: JUMP 00000867: JUMPDEST 00000868: PUSH1 0x01 0000086a: PUSH1 0xa0 0000086c: PUSH1 0x02 0000086e: EXP 0000086f: SUB 00000870: DUP12 00000871: AND 00000872: PUSH1 0x00 00000874: SWAP1 00000875: DUP2 00000876: MSTORE 00000877: PUSH1 0x0b 00000879: PUSH1 0x20 0000087b: MSTORE 0000087c: PUSH1 0x40 0000087e: SWAP1 0000087f: KECCAK256 00000880: SSTORE 00000881: PUSH2 0x089b 00000884: JUMP 00000885: JUMPDEST 00000886: PUSH2 0x088f 00000889: DUP7 0000088a: DUP9 0000088b: PUSH2 0x1961 0000088e: JUMP 0000088f: JUMPDEST 00000890: SWAP6 00000891: POP 00000892: PUSH1 0x40 00000894: PUSH1 0x02 00000896: EXP 00000897: DUP7 00000898: MUL 00000899: SWAP3 0000089a: POP 0000089b: JUMPDEST 0000089c: PUSH1 0x00 0000089e: PUSH1 0x10 000008a0: SLOAD 000008a1: GT 000008a2: ISZERO 000008a3: PUSH2 0x08f5 000008a6: JUMPI 000008a7: PUSH2 0x08b2 000008aa: PUSH1 0x10 000008ac: SLOAD 000008ad: DUP6 000008ae: PUSH2 0x1961 000008b1: JUMP 000008b2: JUMPDEST 000008b3: PUSH1 0x10 000008b5: DUP2 000008b6: SWAP1 000008b7: SSTORE 000008b8: PUSH1 0x40 000008ba: PUSH1 0x02 000008bc: EXP 000008bd: DUP8 000008be: MUL 000008bf: DUP2 000008c0: ISZERO 000008c1: ISZERO 000008c2: PUSH2 0x08c7 000008c5: JUMPI 000008c6: INVALID 000008c7: JUMPDEST 000008c8: PUSH1 0x11 000008ca: DUP1 000008cb: SLOAD 000008cc: SWAP3 000008cd: SWAP1 000008ce: SWAP2 000008cf: DIV 000008d0: SWAP1 000008d1: SWAP2 000008d2: ADD 000008d3: SWAP1 000008d4: SSTORE 000008d5: PUSH1 0x10 000008d7: SLOAD 000008d8: PUSH1 0x40 000008da: PUSH1 0x02 000008dc: EXP 000008dd: DUP8 000008de: MUL 000008df: DUP2 000008e0: ISZERO 000008e1: ISZERO 000008e2: PUSH2 0x08e7 000008e5: JUMPI 000008e6: INVALID 000008e7: JUMPDEST 000008e8: DIV 000008e9: DUP5 000008ea: MUL 000008eb: DUP4 000008ec: SUB 000008ed: DUP4 000008ee: SUB 000008ef: SWAP3 000008f0: POP 000008f1: PUSH2 0x08fb 000008f4: JUMP 000008f5: JUMPDEST 000008f6: PUSH1 0x10 000008f8: DUP5 000008f9: SWAP1 000008fa: SSTORE 000008fb: JUMPDEST 000008fc: PUSH1 0x01 000008fe: PUSH1 0xa0 00000900: PUSH1 0x02 00000902: EXP 00000903: SUB 00000904: DUP13 00000905: AND 00000906: PUSH1 0x00 00000908: SWAP1 00000909: DUP2 0000090a: MSTORE 0000090b: PUSH1 0x0a 0000090d: PUSH1 0x20 0000090f: MSTORE 00000910: PUSH1 0x40 00000912: SWAP1 00000913: KECCAK256 00000914: SLOAD 00000915: PUSH2 0x091e 00000918: SWAP1 00000919: DUP6 0000091a: PUSH2 0x1961 0000091d: JUMP 0000091e: JUMPDEST 0000091f: PUSH1 0x01 00000921: PUSH1 0xa0 00000923: PUSH1 0x02 00000925: EXP 00000926: SUB 00000927: DUP1 00000928: DUP15 00000929: AND 0000092a: PUSH1 0x00 0000092c: DUP2 0000092d: DUP2 0000092e: MSTORE 0000092f: PUSH1 0x0a 00000931: PUSH1 0x20 00000933: SWAP1 00000934: DUP2 00000935: MSTORE 00000936: PUSH1 0x40 00000938: DUP1 00000939: DUP4 0000093a: KECCAK256 0000093b: SWAP6 0000093c: SWAP1 0000093d: SWAP6 0000093e: SSTORE 0000093f: PUSH1 0x11 00000941: SLOAD 00000942: PUSH1 0x0c 00000944: SWAP1 00000945: SWAP2 00000946: MSTORE 00000947: SWAP1 00000948: DUP5 00000949: SWAP1 0000094a: KECCAK256 0000094b: DUP1 0000094c: SLOAD 0000094d: SWAP2 0000094e: DUP10 0000094f: MUL 00000950: DUP9 00000951: SWAP1 00000952: SUB 00000953: SWAP2 00000954: DUP3 00000955: ADD 00000956: SWAP1 00000957: SSTORE 00000958: SWAP5 00000959: POP 0000095a: SWAP1 0000095b: DUP13 0000095c: AND 0000095d: SWAP2 0000095e: PUSH32 0x022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5 0000097f: SWAP1 00000980: DUP15 00000981: SWAP1 00000982: DUP9 00000983: SWAP1 00000984: MLOAD 00000985: SWAP2 00000986: DUP3 00000987: MSTORE 00000988: PUSH1 0x20 0000098a: DUP3 0000098b: ADD 0000098c: MSTORE 0000098d: PUSH1 0x40 0000098f: SWAP1 00000990: DUP2 00000991: ADD 00000992: SWAP1 00000993: MLOAD 00000994: DUP1 00000995: SWAP2 00000996: SUB 00000997: SWAP1 00000998: LOG3 00000999: PUSH1 0x05 0000099b: SLOAD 0000099c: PUSH1 0x01 0000099e: PUSH1 0xa0 000009a0: PUSH1 0x02 000009a2: EXP 000009a3: SUB 000009a4: AND 000009a5: PUSH2 0x08fc 000009a8: PUSH2 0x09b5 000009ab: PUSH2 0x0729 000009ae: DUP15 000009af: PUSH1 0x01 000009b1: PUSH2 0x197b 000009b4: JUMP 000009b5: JUMPDEST 000009b6: SWAP1 000009b7: DUP2 000009b8: ISZERO 000009b9: MUL 000009ba: SWAP1 000009bb: PUSH1 0x40 000009bd: MLOAD 000009be: PUSH1 0x00 000009c0: PUSH1 0x40 000009c2: MLOAD 000009c3: DUP1 000009c4: DUP4 000009c5: SUB 000009c6: DUP2 000009c7: DUP6 000009c8: DUP9 000009c9: DUP9 000009ca: CALL 000009cb: SWAP4 000009cc: POP 000009cd: POP 000009ce: POP 000009cf: POP 000009d0: ISZERO 000009d1: ISZERO 000009d2: PUSH2 0x09da 000009d5: JUMPI 000009d6: PUSH1 0x00 000009d8: DUP1 000009d9: REVERT 000009da: JUMPDEST 000009db: PUSH1 0x06 000009dd: SLOAD 000009de: PUSH1 0x01 000009e0: PUSH1 0xa0 000009e2: PUSH1 0x02 000009e4: EXP 000009e5: SUB 000009e6: AND 000009e7: PUSH2 0x08fc 000009ea: PUSH2 0x09f7 000009ed: PUSH2 0x0729 000009f0: DUP15 000009f1: PUSH1 0x01 000009f3: PUSH2 0x197b 000009f6: JUMP 000009f7: JUMPDEST 000009f8: SWAP1 000009f9: DUP2 000009fa: ISZERO 000009fb: MUL 000009fc: SWAP1 000009fd: PUSH1 0x40 000009ff: MLOAD 00000a00: PUSH1 0x00 00000a02: PUSH1 0x40 00000a04: MLOAD 00000a05: DUP1 00000a06: DUP4 00000a07: SUB 00000a08: DUP2 00000a09: DUP6 00000a0a: DUP9 00000a0b: DUP9 00000a0c: CALL 00000a0d: SWAP4 00000a0e: POP 00000a0f: POP 00000a10: POP 00000a11: POP 00000a12: ISZERO 00000a13: ISZERO 00000a14: PUSH2 0x0a1c 00000a17: JUMPI 00000a18: PUSH1 0x00 00000a1a: DUP1 00000a1b: REVERT 00000a1c: JUMPDEST 00000a1d: PUSH1 0x07 00000a1f: SLOAD 00000a20: PUSH1 0x01 00000a22: PUSH1 0xa0 00000a24: PUSH1 0x02 00000a26: EXP 00000a27: SUB 00000a28: AND 00000a29: PUSH2 0x08fc 00000a2c: PUSH2 0x0a39 00000a2f: PUSH2 0x0799 00000a32: DUP15 00000a33: PUSH1 0x01 00000a35: PUSH2 0x197b 00000a38: JUMP 00000a39: JUMPDEST 00000a3a: SWAP1 00000a3b: DUP2 00000a3c: ISZERO 00000a3d: MUL 00000a3e: SWAP1 00000a3f: PUSH1 0x40 00000a41: MLOAD 00000a42: PUSH1 0x00 00000a44: PUSH1 0x40 00000a46: MLOAD 00000a47: DUP1 00000a48: DUP4 00000a49: SUB 00000a4a: DUP2 00000a4b: DUP6 00000a4c: DUP9 00000a4d: DUP9 00000a4e: CALL 00000a4f: SWAP4 00000a50: POP 00000a51: POP 00000a52: POP 00000a53: POP 00000a54: ISZERO 00000a55: ISZERO 00000a56: PUSH2 0x0a5e 00000a59: JUMPI 00000a5a: PUSH1 0x00 00000a5c: DUP1 00000a5d: REVERT 00000a5e: JUMPDEST 00000a5f: PUSH1 0x08 00000a61: SLOAD 00000a62: PUSH1 0x01 00000a64: PUSH1 0xa0 00000a66: PUSH1 0x02 00000a68: EXP 00000a69: SUB 00000a6a: AND 00000a6b: PUSH2 0x08fc 00000a6e: PUSH2 0x0a7b 00000a71: PUSH2 0x0799 00000a74: DUP15 00000a75: PUSH1 0x01 00000a77: PUSH2 0x197b 00000a7a: JUMP 00000a7b: JUMPDEST 00000a7c: SWAP1 00000a7d: DUP2 00000a7e: ISZERO 00000a7f: MUL 00000a80: SWAP1 00000a81: PUSH1 0x40 00000a83: MLOAD 00000a84: PUSH1 0x00 00000a86: PUSH1 0x40 00000a88: MLOAD 00000a89: DUP1 00000a8a: DUP4 00000a8b: SUB 00000a8c: DUP2 00000a8d: DUP6 00000a8e: DUP9 00000a8f: DUP9 00000a90: CALL 00000a91: SWAP4 00000a92: POP 00000a93: POP 00000a94: POP 00000a95: POP 00000a96: ISZERO 00000a97: ISZERO 00000a98: PUSH2 0x0aa0 00000a9b: JUMPI 00000a9c: PUSH1 0x00 00000a9e: DUP1 00000a9f: REVERT 00000aa0: JUMPDEST 00000aa1: DUP4 00000aa2: SWAP9 00000aa3: POP 00000aa4: PUSH2 0x0e28 00000aa7: JUMP 00000aa8: JUMPDEST 00000aa9: PUSH1 0x0e 00000aab: DUP1 00000aac: SLOAD 00000aad: PUSH1 0xff 00000aaf: NOT 00000ab0: AND 00000ab1: SWAP1 00000ab2: SSTORE 00000ab3: PUSH2 0x0ac0 00000ab6: PUSH2 0x0729 00000ab9: DUP13 00000aba: PUSH1 0x0a 00000abc: PUSH2 0x197b 00000abf: JUMP 00000ac0: JUMPDEST 00000ac1: SWAP8 00000ac2: POP 00000ac3: PUSH2 0x0ad0 00000ac6: PUSH2 0x0729 00000ac9: DUP10 00000aca: PUSH1 0x21 00000acc: PUSH2 0x197b 00000acf: JUMP 00000ad0: JUMPDEST 00000ad1: SWAP7 00000ad2: POP 00000ad3: PUSH2 0x0adc 00000ad6: DUP9 00000ad7: DUP9 00000ad8: PUSH2 0x19bd 00000adb: JUMP 00000adc: JUMPDEST 00000add: SWAP6 00000ade: POP 00000adf: PUSH2 0x0ae8 00000ae2: DUP12 00000ae3: DUP10 00000ae4: PUSH2 0x19bd 00000ae7: JUMP 00000ae8: JUMPDEST 00000ae9: SWAP5 00000aea: POP 00000aeb: PUSH2 0x0afc 00000aee: DUP6 00000aef: PUSH2 0x076c 00000af2: PUSH2 0x0729 00000af5: DUP15 00000af6: PUSH1 0x01 00000af8: PUSH2 0x197b 00000afb: JUMP 00000afc: JUMPDEST 00000afd: SWAP5 00000afe: POP 00000aff: PUSH2 0x0b10 00000b02: DUP6 00000b03: PUSH2 0x076c 00000b06: PUSH2 0x0729 00000b09: DUP15 00000b0a: PUSH1 0x01 00000b0c: PUSH2 0x197b 00000b0f: JUMP 00000b10: JUMPDEST 00000b11: SWAP5 00000b12: POP 00000b13: PUSH2 0x0b24 00000b16: DUP6 00000b17: PUSH2 0x076c 00000b1a: PUSH2 0x0799 00000b1d: DUP15 00000b1e: PUSH1 0x01 00000b20: PUSH2 0x197b 00000b23: JUMP 00000b24: JUMPDEST 00000b25: SWAP5 00000b26: POP 00000b27: PUSH2 0x0b38 00000b2a: DUP6 00000b2b: PUSH2 0x076c 00000b2e: PUSH2 0x0799 00000b31: DUP15 00000b32: PUSH1 0x01 00000b34: PUSH2 0x197b 00000b37: JUMP 00000b38: JUMPDEST 00000b39: SWAP5 00000b3a: POP 00000b3b: PUSH2 0x0b43 00000b3e: DUP6 00000b3f: PUSH2 0x19cf 00000b42: JUMP 00000b43: JUMPDEST 00000b44: SWAP4 00000b45: POP 00000b46: PUSH1 0x40 00000b48: PUSH1 0x02 00000b4a: EXP 00000b4b: DUP7 00000b4c: MUL 00000b4d: SWAP3 00000b4e: POP 00000b4f: PUSH1 0x00 00000b51: DUP5 00000b52: GT 00000b53: DUP1 00000b54: ISZERO 00000b55: PUSH2 0x0b68 00000b58: JUMPI 00000b59: POP 00000b5a: PUSH1 0x10 00000b5c: SLOAD 00000b5d: PUSH2 0x0b66 00000b60: DUP6 00000b61: DUP3 00000b62: PUSH2 0x1961 00000b65: JUMP 00000b66: JUMPDEST 00000b67: GT 00000b68: JUMPDEST 00000b69: ISZERO 00000b6a: ISZERO 00000b6b: PUSH2 0x0b73 00000b6e: JUMPI 00000b6f: PUSH1 0x00 00000b71: DUP1 00000b72: REVERT 00000b73: JUMPDEST 00000b74: PUSH1 0x01 00000b76: PUSH1 0xa0 00000b78: PUSH1 0x02 00000b7a: EXP 00000b7b: SUB 00000b7c: DUP11 00000b7d: AND 00000b7e: ISZERO 00000b7f: DUP1 00000b80: ISZERO 00000b81: SWAP1 00000b82: PUSH2 0x0b9d 00000b85: JUMPI 00000b86: POP 00000b87: DUP12 00000b88: PUSH1 0x01 00000b8a: PUSH1 0xa0 00000b8c: PUSH1 0x02 00000b8e: EXP 00000b8f: SUB 00000b90: AND 00000b91: DUP11 00000b92: PUSH1 0x01 00000b94: PUSH1 0xa0 00000b96: PUSH1 0x02 00000b98: EXP 00000b99: SUB 00000b9a: AND 00000b9b: EQ 00000b9c: ISZERO 00000b9d: JUMPDEST 00000b9e: DUP1 00000b9f: ISZERO 00000ba0: PUSH2 0x0bc3 00000ba3: JUMPI 00000ba4: POP 00000ba5: PUSH1 0x04 00000ba7: SLOAD 00000ba8: PUSH1 0x01 00000baa: PUSH1 0xa0 00000bac: PUSH1 0x02 00000bae: EXP 00000baf: SUB 00000bb0: DUP12 00000bb1: AND 00000bb2: PUSH1 0x00 00000bb4: SWAP1 00000bb5: DUP2 00000bb6: MSTORE 00000bb7: PUSH1 0x0a 00000bb9: PUSH1 0x20 00000bbb: MSTORE 00000bbc: PUSH1 0x40 00000bbe: SWAP1 00000bbf: KECCAK256 00000bc0: SLOAD 00000bc1: LT 00000bc2: ISZERO 00000bc3: JUMPDEST 00000bc4: ISZERO 00000bc5: PUSH2 0x0c09 00000bc8: JUMPI 00000bc9: PUSH1 0x01 00000bcb: PUSH1 0xa0 00000bcd: PUSH1 0x02 00000bcf: EXP 00000bd0: SUB 00000bd1: DUP11 00000bd2: AND 00000bd3: PUSH1 0x00 00000bd5: SWAP1 00000bd6: DUP2 00000bd7: MSTORE 00000bd8: PUSH1 0x0b 00000bda: PUSH1 0x20 00000bdc: MSTORE 00000bdd: PUSH1 0x40 00000bdf: SWAP1 00000be0: KECCAK256 00000be1: SLOAD 00000be2: PUSH2 0x0beb 00000be5: SWAP1 00000be6: DUP9 00000be7: PUSH2 0x1961 00000bea: JUMP 00000beb: JUMPDEST 00000bec: PUSH1 0x01 00000bee: PUSH1 0xa0 00000bf0: PUSH1 0x02 00000bf2: EXP 00000bf3: SUB 00000bf4: DUP12 00000bf5: AND 00000bf6: PUSH1 0x00 00000bf8: SWAP1 00000bf9: DUP2 00000bfa: MSTORE 00000bfb: PUSH1 0x0b 00000bfd: PUSH1 0x20 00000bff: MSTORE 00000c00: PUSH1 0x40 00000c02: SWAP1 00000c03: KECCAK256 00000c04: SSTORE 00000c05: PUSH2 0x0c1f 00000c08: JUMP 00000c09: JUMPDEST 00000c0a: PUSH2 0x0c13 00000c0d: DUP7 00000c0e: DUP9 00000c0f: PUSH2 0x1961 00000c12: JUMP 00000c13: JUMPDEST 00000c14: SWAP6 00000c15: POP 00000c16: PUSH1 0x40 00000c18: PUSH1 0x02 00000c1a: EXP 00000c1b: DUP7 00000c1c: MUL 00000c1d: SWAP3 00000c1e: POP 00000c1f: JUMPDEST 00000c20: PUSH1 0x00 00000c22: PUSH1 0x10 00000c24: SLOAD 00000c25: GT 00000c26: ISZERO 00000c27: PUSH2 0x0c79 00000c2a: JUMPI 00000c2b: PUSH2 0x0c36 00000c2e: PUSH1 0x10 00000c30: SLOAD 00000c31: DUP6 00000c32: PUSH2 0x1961 00000c35: JUMP 00000c36: JUMPDEST 00000c37: PUSH1 0x10 00000c39: DUP2 00000c3a: SWAP1 00000c3b: SSTORE 00000c3c: PUSH1 0x40 00000c3e: PUSH1 0x02 00000c40: EXP 00000c41: DUP8 00000c42: MUL 00000c43: DUP2 00000c44: ISZERO 00000c45: ISZERO 00000c46: PUSH2 0x0c4b 00000c49: JUMPI 00000c4a: INVALID 00000c4b: JUMPDEST 00000c4c: PUSH1 0x11 00000c4e: DUP1 00000c4f: SLOAD 00000c50: SWAP3 00000c51: SWAP1 00000c52: SWAP2 00000c53: DIV 00000c54: SWAP1 00000c55: SWAP2 00000c56: ADD 00000c57: SWAP1 00000c58: SSTORE 00000c59: PUSH1 0x10 00000c5b: SLOAD 00000c5c: PUSH1 0x40 00000c5e: PUSH1 0x02 00000c60: EXP 00000c61: DUP8 00000c62: MUL 00000c63: DUP2 00000c64: ISZERO 00000c65: ISZERO 00000c66: PUSH2 0x0c6b 00000c69: JUMPI 00000c6a: INVALID 00000c6b: JUMPDEST 00000c6c: DIV 00000c6d: DUP5 00000c6e: MUL 00000c6f: DUP4 00000c70: SUB 00000c71: DUP4 00000c72: SUB 00000c73: SWAP3 00000c74: POP 00000c75: PUSH2 0x0c7f 00000c78: JUMP 00000c79: JUMPDEST 00000c7a: PUSH1 0x10 00000c7c: DUP5 00000c7d: SWAP1 00000c7e: SSTORE 00000c7f: JUMPDEST 00000c80: PUSH1 0x01 00000c82: PUSH1 0xa0 00000c84: PUSH1 0x02 00000c86: EXP 00000c87: SUB 00000c88: DUP13 00000c89: AND 00000c8a: PUSH1 0x00 00000c8c: SWAP1 00000c8d: DUP2 00000c8e: MSTORE 00000c8f: PUSH1 0x0a 00000c91: PUSH1 0x20 00000c93: MSTORE 00000c94: PUSH1 0x40 00000c96: SWAP1 00000c97: KECCAK256 00000c98: SLOAD 00000c99: PUSH2 0x0ca2 00000c9c: SWAP1 00000c9d: DUP6 00000c9e: PUSH2 0x1961 00000ca1: JUMP 00000ca2: JUMPDEST 00000ca3: PUSH1 0x01 00000ca5: PUSH1 0xa0 00000ca7: PUSH1 0x02 00000ca9: EXP 00000caa: SUB 00000cab: DUP1 00000cac: DUP15 00000cad: AND 00000cae: PUSH1 0x00 00000cb0: DUP2 00000cb1: DUP2 00000cb2: MSTORE 00000cb3: PUSH1 0x0a 00000cb5: PUSH1 0x20 00000cb7: SWAP1 00000cb8: DUP2 00000cb9: MSTORE 00000cba: PUSH1 0x40 00000cbc: DUP1 00000cbd: DUP4 00000cbe: KECCAK256 00000cbf: SWAP6 00000cc0: SWAP1 00000cc1: SWAP6 00000cc2: SSTORE 00000cc3: PUSH1 0x11 00000cc5: SLOAD 00000cc6: PUSH1 0x0c 00000cc8: SWAP1 00000cc9: SWAP2 00000cca: MSTORE 00000ccb: SWAP1 00000ccc: DUP5 00000ccd: SWAP1 00000cce: KECCAK256 00000ccf: DUP1 00000cd0: SLOAD 00000cd1: SWAP2 00000cd2: DUP10 00000cd3: MUL 00000cd4: DUP9 00000cd5: SWAP1 00000cd6: SUB 00000cd7: SWAP2 00000cd8: DUP3 00000cd9: ADD 00000cda: SWAP1 00000cdb: SSTORE 00000cdc: SWAP5 00000cdd: POP 00000cde: SWAP1 00000cdf: DUP13 00000ce0: AND 00000ce1: SWAP2 00000ce2: PUSH32 0x022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5 00000d03: SWAP1 00000d04: DUP15 00000d05: SWAP1 00000d06: DUP9 00000d07: SWAP1 00000d08: MLOAD 00000d09: SWAP2 00000d0a: DUP3 00000d0b: MSTORE 00000d0c: PUSH1 0x20 00000d0e: DUP3 00000d0f: ADD 00000d10: MSTORE 00000d11: PUSH1 0x40 00000d13: SWAP1 00000d14: DUP2 00000d15: ADD 00000d16: SWAP1 00000d17: MLOAD 00000d18: DUP1 00000d19: SWAP2 00000d1a: SUB 00000d1b: SWAP1 00000d1c: LOG3 00000d1d: PUSH1 0x05 00000d1f: SLOAD 00000d20: PUSH1 0x01 00000d22: PUSH1 0xa0 00000d24: PUSH1 0x02 00000d26: EXP 00000d27: SUB 00000d28: AND 00000d29: PUSH2 0x08fc 00000d2c: PUSH2 0x0d39 00000d2f: PUSH2 0x0729 00000d32: DUP15 00000d33: PUSH1 0x01 00000d35: PUSH2 0x197b 00000d38: JUMP 00000d39: JUMPDEST 00000d3a: SWAP1 00000d3b: DUP2 00000d3c: ISZERO 00000d3d: MUL 00000d3e: SWAP1 00000d3f: PUSH1 0x40 00000d41: MLOAD 00000d42: PUSH1 0x00 00000d44: PUSH1 0x40 00000d46: MLOAD 00000d47: DUP1 00000d48: DUP4 00000d49: SUB 00000d4a: DUP2 00000d4b: DUP6 00000d4c: DUP9 00000d4d: DUP9 00000d4e: CALL 00000d4f: SWAP4 00000d50: POP 00000d51: POP 00000d52: POP 00000d53: POP 00000d54: ISZERO 00000d55: ISZERO 00000d56: PUSH2 0x0d5e 00000d59: JUMPI 00000d5a: PUSH1 0x00 00000d5c: DUP1 00000d5d: REVERT 00000d5e: JUMPDEST 00000d5f: PUSH1 0x06 00000d61: SLOAD 00000d62: PUSH1 0x01 00000d64: PUSH1 0xa0 00000d66: PUSH1 0x02 00000d68: EXP 00000d69: SUB 00000d6a: AND 00000d6b: PUSH2 0x08fc 00000d6e: PUSH2 0x0d7b 00000d71: PUSH2 0x0729 00000d74: DUP15 00000d75: PUSH1 0x01 00000d77: PUSH2 0x197b 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: SWAP1 00000d7d: DUP2 00000d7e: ISZERO 00000d7f: MUL 00000d80: SWAP1 00000d81: PUSH1 0x40 00000d83: MLOAD 00000d84: PUSH1 0x00 00000d86: PUSH1 0x40 00000d88: MLOAD 00000d89: DUP1 00000d8a: DUP4 00000d8b: SUB 00000d8c: DUP2 00000d8d: DUP6 00000d8e: DUP9 00000d8f: DUP9 00000d90: CALL 00000d91: SWAP4 00000d92: POP 00000d93: POP 00000d94: POP 00000d95: POP 00000d96: ISZERO 00000d97: ISZERO 00000d98: PUSH2 0x0da0 00000d9b: JUMPI 00000d9c: PUSH1 0x00 00000d9e: DUP1 00000d9f: REVERT 00000da0: JUMPDEST 00000da1: PUSH1 0x07 00000da3: SLOAD 00000da4: PUSH1 0x01 00000da6: PUSH1 0xa0 00000da8: PUSH1 0x02 00000daa: EXP 00000dab: SUB 00000dac: AND 00000dad: PUSH2 0x08fc 00000db0: PUSH2 0x0dbd 00000db3: PUSH2 0x0799 00000db6: DUP15 00000db7: PUSH1 0x01 00000db9: PUSH2 0x197b 00000dbc: JUMP 00000dbd: JUMPDEST 00000dbe: SWAP1 00000dbf: DUP2 00000dc0: ISZERO 00000dc1: MUL 00000dc2: SWAP1 00000dc3: PUSH1 0x40 00000dc5: MLOAD 00000dc6: PUSH1 0x00 00000dc8: PUSH1 0x40 00000dca: MLOAD 00000dcb: DUP1 00000dcc: DUP4 00000dcd: SUB 00000dce: DUP2 00000dcf: DUP6 00000dd0: DUP9 00000dd1: DUP9 00000dd2: CALL 00000dd3: SWAP4 00000dd4: POP 00000dd5: POP 00000dd6: POP 00000dd7: POP 00000dd8: ISZERO 00000dd9: ISZERO 00000dda: PUSH2 0x0de2 00000ddd: JUMPI 00000dde: PUSH1 0x00 00000de0: DUP1 00000de1: REVERT 00000de2: JUMPDEST 00000de3: PUSH1 0x08 00000de5: SLOAD 00000de6: PUSH1 0x01 00000de8: PUSH1 0xa0 00000dea: PUSH1 0x02 00000dec: EXP 00000ded: SUB 00000dee: AND 00000def: PUSH2 0x08fc 00000df2: PUSH2 0x0dff 00000df5: PUSH2 0x0799 00000df8: DUP15 00000df9: PUSH1 0x01 00000dfb: PUSH2 0x197b 00000dfe: JUMP 00000dff: JUMPDEST 00000e00: SWAP1 00000e01: DUP2 00000e02: ISZERO 00000e03: MUL 00000e04: SWAP1 00000e05: PUSH1 0x40 00000e07: MLOAD 00000e08: PUSH1 0x00 00000e0a: PUSH1 0x40 00000e0c: MLOAD 00000e0d: DUP1 00000e0e: DUP4 00000e0f: SUB 00000e10: DUP2 00000e11: DUP6 00000e12: DUP9 00000e13: DUP9 00000e14: CALL 00000e15: SWAP4 00000e16: POP 00000e17: POP 00000e18: POP 00000e19: POP 00000e1a: ISZERO 00000e1b: ISZERO 00000e1c: PUSH2 0x0e24 00000e1f: JUMPI 00000e20: PUSH1 0x00 00000e22: DUP1 00000e23: REVERT 00000e24: JUMPDEST 00000e25: DUP4 00000e26: SWAP9 00000e27: POP 00000e28: JUMPDEST 00000e29: POP 00000e2a: POP 00000e2b: POP 00000e2c: POP 00000e2d: POP 00000e2e: POP 00000e2f: POP 00000e30: POP 00000e31: SWAP4 00000e32: SWAP3 00000e33: POP 00000e34: POP 00000e35: POP 00000e36: JUMP 00000e37: JUMPDEST 00000e38: PUSH1 0x01 00000e3a: PUSH1 0xa0 00000e3c: PUSH1 0x02 00000e3e: EXP 00000e3f: SUB 00000e40: DUP2 00000e41: AND 00000e42: PUSH1 0x00 00000e44: SWAP1 00000e45: DUP2 00000e46: MSTORE 00000e47: PUSH1 0x0c 00000e49: PUSH1 0x20 00000e4b: SWAP1 00000e4c: DUP2 00000e4d: MSTORE 00000e4e: PUSH1 0x40 00000e50: DUP1 00000e51: DUP4 00000e52: KECCAK256 00000e53: SLOAD 00000e54: PUSH1 0x0a 00000e56: SWAP1 00000e57: SWAP3 00000e58: MSTORE 00000e59: DUP3 00000e5a: KECCAK256 00000e5b: SLOAD 00000e5c: PUSH1 0x11 00000e5e: SLOAD 00000e5f: PUSH1 0x40 00000e61: PUSH1 0x02 00000e63: EXP 00000e64: SWAP3 00000e65: SWAP2 00000e66: MUL 00000e67: SUB 00000e68: JUMPDEST 00000e69: DIV 00000e6a: SWAP3 00000e6b: SWAP2 00000e6c: POP 00000e6d: POP 00000e6e: JUMP 00000e6f: JUMPDEST 00000e70: PUSH1 0x01 00000e72: DUP1 00000e73: SLOAD 00000e74: PUSH1 0x01 00000e76: DUP2 00000e77: PUSH1 0x01 00000e79: AND 00000e7a: ISZERO 00000e7b: PUSH2 0x0100 00000e7e: MUL 00000e7f: SUB 00000e80: AND 00000e81: PUSH1 0x02 00000e83: SWAP1 00000e84: DIV 00000e85: DUP1 00000e86: PUSH1 0x1f 00000e88: ADD 00000e89: PUSH1 0x20 00000e8b: DUP1 00000e8c: SWAP2 00000e8d: DIV 00000e8e: MUL 00000e8f: PUSH1 0x20 00000e91: ADD 00000e92: PUSH1 0x40 00000e94: MLOAD 00000e95: SWAP1 00000e96: DUP2 00000e97: ADD 00000e98: PUSH1 0x40 00000e9a: MSTORE 00000e9b: DUP1 00000e9c: SWAP3 00000e9d: SWAP2 00000e9e: SWAP1 00000e9f: DUP2 00000ea0: DUP2 00000ea1: MSTORE 00000ea2: PUSH1 0x20 00000ea4: ADD 00000ea5: DUP3 00000ea6: DUP1 00000ea7: SLOAD 00000ea8: PUSH1 0x01 00000eaa: DUP2 00000eab: PUSH1 0x01 00000ead: AND 00000eae: ISZERO 00000eaf: PUSH2 0x0100 00000eb2: MUL 00000eb3: SUB 00000eb4: AND 00000eb5: PUSH1 0x02 00000eb7: SWAP1 00000eb8: DIV 00000eb9: DUP1 00000eba: ISZERO 00000ebb: PUSH2 0x0f05 00000ebe: JUMPI 00000ebf: DUP1 00000ec0: PUSH1 0x1f 00000ec2: LT 00000ec3: PUSH2 0x0eda 00000ec6: JUMPI 00000ec7: PUSH2 0x0100 00000eca: DUP1 00000ecb: DUP4 00000ecc: SLOAD 00000ecd: DIV 00000ece: MUL 00000ecf: DUP4 00000ed0: MSTORE 00000ed1: SWAP2 00000ed2: PUSH1 0x20 00000ed4: ADD 00000ed5: SWAP2 00000ed6: PUSH2 0x0f05 00000ed9: JUMP 00000eda: JUMPDEST 00000edb: DUP3 00000edc: ADD 00000edd: SWAP2 00000ede: SWAP1 00000edf: PUSH1 0x00 00000ee1: MSTORE 00000ee2: PUSH1 0x20 00000ee4: PUSH1 0x00 00000ee6: KECCAK256 00000ee7: SWAP1 00000ee8: JUMPDEST 00000ee9: DUP2 00000eea: SLOAD 00000eeb: DUP2 00000eec: MSTORE 00000eed: SWAP1 00000eee: PUSH1 0x01 00000ef0: ADD 00000ef1: SWAP1 00000ef2: PUSH1 0x20 00000ef4: ADD 00000ef5: DUP1 00000ef6: DUP4 00000ef7: GT 00000ef8: PUSH2 0x0ee8 00000efb: JUMPI 00000efc: DUP3 00000efd: SWAP1 00000efe: SUB 00000eff: PUSH1 0x1f 00000f01: AND 00000f02: DUP3 00000f03: ADD 00000f04: SWAP2 00000f05: JUMPDEST 00000f06: POP 00000f07: POP 00000f08: POP 00000f09: POP 00000f0a: POP 00000f0b: DUP2 00000f0c: JUMP 00000f0d: JUMPDEST 00000f0e: PUSH1 0x13 00000f10: PUSH1 0x20 00000f12: MSTORE 00000f13: PUSH1 0x00 00000f15: SWAP1 00000f16: DUP2 00000f17: MSTORE 00000f18: PUSH1 0x40 00000f1a: SWAP1 00000f1b: KECCAK256 00000f1c: SLOAD 00000f1d: PUSH1 0xff 00000f1f: AND 00000f20: DUP2 00000f21: JUMP 00000f22: JUMPDEST 00000f23: PUSH1 0x00 00000f25: DUP1 00000f26: DUP1 00000f27: DUP1 00000f28: PUSH2 0x0f35 00000f2b: PUSH2 0x0729 00000f2e: DUP7 00000f2f: PUSH1 0x0a 00000f31: PUSH2 0x197b 00000f34: JUMP 00000f35: JUMPDEST 00000f36: SWAP3 00000f37: POP 00000f38: PUSH2 0x0f41 00000f3b: DUP6 00000f3c: DUP5 00000f3d: PUSH2 0x19bd 00000f40: JUMP 00000f41: JUMPDEST 00000f42: SWAP2 00000f43: POP 00000f44: PUSH2 0x0f4c 00000f47: DUP3 00000f48: PUSH2 0x19cf 00000f4b: JUMP 00000f4c: JUMPDEST 00000f4d: SWAP6 00000f4e: SWAP5 00000f4f: POP 00000f50: POP 00000f51: POP 00000f52: POP 00000f53: POP 00000f54: JUMP 00000f55: JUMPDEST 00000f56: PUSH1 0x10 00000f58: SLOAD 00000f59: JUMPDEST 00000f5a: SWAP1 00000f5b: JUMP 00000f5c: JUMPDEST 00000f5d: PUSH1 0x00 00000f5f: DUP1 00000f60: PUSH1 0x00 00000f62: DUP1 00000f63: PUSH1 0x10 00000f65: SLOAD 00000f66: DUP6 00000f67: GT 00000f68: ISZERO 00000f69: ISZERO 00000f6a: ISZERO 00000f6b: PUSH2 0x0f73 00000f6e: JUMPI 00000f6f: PUSH1 0x00 00000f71: DUP1 00000f72: REVERT 00000f73: JUMPDEST 00000f74: PUSH2 0x0f7c 00000f77: DUP6 00000f78: PUSH2 0x19d6 00000f7b: JUMP 00000f7c: JUMPDEST 00000f7d: SWAP3 00000f7e: POP 00000f7f: PUSH2 0x0f8c 00000f82: PUSH2 0x0729 00000f85: DUP5 00000f86: PUSH1 0x0a 00000f88: PUSH2 0x197b 00000f8b: JUMP 00000f8c: JUMPDEST 00000f8d: SWAP2 00000f8e: POP 00000f8f: PUSH2 0x0f4c 00000f92: DUP4 00000f93: DUP4 00000f94: PUSH2 0x19bd 00000f97: JUMP 00000f98: JUMPDEST 00000f99: PUSH1 0x0e 00000f9b: SLOAD 00000f9c: PUSH1 0xff 00000f9e: AND 00000f9f: DUP2 00000fa0: JUMP 00000fa1: JUMPDEST 00000fa2: PUSH1 0x00 00000fa4: SLOAD 00000fa5: CALLER 00000fa6: SWAP1 00000fa7: PUSH1 0x01 00000fa9: PUSH1 0xa0 00000fab: PUSH1 0x02 00000fad: EXP 00000fae: SUB 00000faf: DUP1 00000fb0: DUP4 00000fb1: AND 00000fb2: SWAP2 00000fb3: AND 00000fb4: EQ 00000fb5: PUSH2 0x0fbd 00000fb8: JUMPI 00000fb9: PUSH1 0x00 00000fbb: DUP1 00000fbc: REVERT 00000fbd: JUMPDEST 00000fbe: POP 00000fbf: PUSH1 0x01 00000fc1: PUSH1 0xa0 00000fc3: PUSH1 0x02 00000fc5: EXP 00000fc6: SUB 00000fc7: SWAP2 00000fc8: SWAP1 00000fc9: SWAP2 00000fca: AND 00000fcb: PUSH1 0x00 00000fcd: SWAP1 00000fce: DUP2 00000fcf: MSTORE 00000fd0: PUSH1 0x13 00000fd2: PUSH1 0x20 00000fd4: MSTORE 00000fd5: PUSH1 0x40 00000fd7: SWAP1 00000fd8: KECCAK256 00000fd9: DUP1 00000fda: SLOAD 00000fdb: PUSH1 0xff 00000fdd: NOT 00000fde: AND 00000fdf: SWAP2 00000fe0: ISZERO 00000fe1: ISZERO 00000fe2: SWAP2 00000fe3: SWAP1 00000fe4: SWAP2 00000fe5: OR 00000fe6: SWAP1 00000fe7: SSTORE 00000fe8: JUMP 00000fe9: JUMPDEST 00000fea: PUSH1 0x03 00000fec: SLOAD 00000fed: PUSH1 0xff 00000fef: AND 00000ff0: DUP2 00000ff1: JUMP 00000ff2: JUMPDEST 00000ff3: PUSH1 0x12 00000ff5: PUSH1 0x20 00000ff7: MSTORE 00000ff8: PUSH1 0x00 00000ffa: SWAP1 00000ffb: DUP2 00000ffc: MSTORE 00000ffd: PUSH1 0x40 00000fff: SWAP1 00001000: KECCAK256 00001001: SLOAD 00001002: PUSH1 0xff 00001004: AND 00001005: DUP2 00001006: JUMP 00001007: JUMPDEST 00001008: PUSH1 0x00 0000100a: DUP1 0000100b: PUSH1 0x00 0000100d: PUSH2 0x1016 00001010: PUSH1 0x01 00001012: PUSH2 0x1297 00001015: JUMP 00001016: JUMPDEST 00001017: GT 00001018: PUSH2 0x1020 0000101b: JUMPI 0000101c: PUSH1 0x00 0000101e: DUP1 0000101f: REVERT 00001020: JUMPDEST 00001021: CALLER 00001022: SWAP2 00001023: POP 00001024: PUSH2 0x102d 00001027: PUSH1 0x00 00001029: PUSH2 0x1297 0000102c: JUMP 0000102d: JUMPDEST 0000102e: PUSH1 0x01 00001030: PUSH1 0xa0 00001032: PUSH1 0x02 00001034: EXP 00001035: SUB 00001036: DUP4 00001037: AND 00001038: PUSH1 0x00 0000103a: DUP2 0000103b: DUP2 0000103c: MSTORE 0000103d: PUSH1 0x0c 0000103f: PUSH1 0x20 00001041: SWAP1 00001042: DUP2 00001043: MSTORE 00001044: PUSH1 0x40 00001046: DUP1 00001047: DUP4 00001048: KECCAK256 00001049: DUP1 0000104a: SLOAD 0000104b: PUSH1 0x40 0000104d: PUSH1 0x02 0000104f: EXP 00001050: DUP8 00001051: MUL 00001052: ADD 00001053: SWAP1 00001054: SSTORE 00001055: PUSH1 0x0b 00001057: SWAP1 00001058: SWAP2 00001059: MSTORE 0000105a: DUP1 0000105b: DUP3 0000105c: KECCAK256 0000105d: DUP1 0000105e: SLOAD 0000105f: SWAP3 00001060: SWAP1 00001061: SSTORE 00001062: SWAP3 00001063: ADD 00001064: SWAP3 00001065: POP 00001066: SWAP1 00001067: DUP3 00001068: ISZERO 00001069: PUSH2 0x08fc 0000106c: MUL 0000106d: SWAP1 0000106e: DUP4 0000106f: SWAP1 00001070: MLOAD 00001071: PUSH1 0x00 00001073: PUSH1 0x40 00001075: MLOAD 00001076: DUP1 00001077: DUP4 00001078: SUB 00001079: DUP2 0000107a: DUP6 0000107b: DUP9 0000107c: DUP9 0000107d: CALL 0000107e: SWAP4 0000107f: POP 00001080: POP 00001081: POP 00001082: POP 00001083: ISZERO 00001084: ISZERO 00001085: PUSH2 0x108d 00001088: JUMPI 00001089: PUSH1 0x00 0000108b: DUP1 0000108c: REVERT 0000108d: JUMPDEST 0000108e: DUP2 0000108f: PUSH1 0x01 00001091: PUSH1 0xa0 00001093: PUSH1 0x02 00001095: EXP 00001096: SUB 00001097: AND 00001098: PUSH32 0xccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc 000010b9: DUP3 000010ba: PUSH1 0x40 000010bc: MLOAD 000010bd: SWAP1 000010be: DUP2 000010bf: MSTORE 000010c0: PUSH1 0x20 000010c2: ADD 000010c3: PUSH1 0x40 000010c5: MLOAD 000010c6: DUP1 000010c7: SWAP2 000010c8: SUB 000010c9: SWAP1 000010ca: LOG2 000010cb: POP 000010cc: POP 000010cd: JUMP 000010ce: JUMPDEST 000010cf: PUSH1 0x00 000010d1: DUP1 000010d2: PUSH1 0x01 000010d4: PUSH1 0xa0 000010d6: PUSH1 0x02 000010d8: EXP 000010d9: SUB 000010da: DUP7 000010db: AND 000010dc: ISZERO 000010dd: ISZERO 000010de: PUSH2 0x10e6 000010e1: JUMPI 000010e2: PUSH1 0x00 000010e4: DUP1 000010e5: REVERT 000010e6: JUMPDEST 000010e7: PUSH1 0x01 000010e9: PUSH1 0xa0 000010eb: PUSH1 0x02 000010ed: EXP 000010ee: SUB 000010ef: DUP7 000010f0: AND 000010f1: PUSH1 0x00 000010f3: SWAP1 000010f4: DUP2 000010f5: MSTORE 000010f6: PUSH1 0x13 000010f8: PUSH1 0x20 000010fa: MSTORE 000010fb: PUSH1 0x40 000010fd: SWAP1 000010fe: KECCAK256 000010ff: SLOAD 00001100: PUSH1 0xff 00001102: AND 00001103: ISZERO 00001104: ISZERO 00001105: PUSH1 0x01 00001107: EQ 00001108: PUSH2 0x1110 0000110b: JUMPI 0000110c: PUSH1 0x00 0000110e: DUP1 0000110f: REVERT 00001110: JUMPDEST 00001111: PUSH2 0x111a 00001114: DUP7 00001115: DUP7 00001116: PUSH2 0x1466 00001119: JUMP 0000111a: JUMPDEST 0000111b: ISZERO 0000111c: ISZERO 0000111d: PUSH2 0x1125 00001120: JUMPI 00001121: PUSH1 0x00 00001123: DUP1 00001124: REVERT 00001125: JUMPDEST 00001126: PUSH2 0x112e 00001129: DUP7 0000112a: PUSH2 0x19e1 0000112d: JUMP 0000112e: JUMPDEST 0000112f: ISZERO 00001130: PUSH2 0x11fa 00001133: JUMPI 00001134: POP 00001135: DUP5 00001136: PUSH1 0x01 00001138: PUSH1 0xa0 0000113a: PUSH1 0x02 0000113c: EXP 0000113d: SUB 0000113e: DUP2 0000113f: AND 00001140: PUSH4 0xc0ee0b8a 00001145: CALLER 00001146: DUP8 00001147: DUP8 00001148: DUP8 00001149: PUSH1 0x00 0000114b: PUSH1 0x40 0000114d: MLOAD 0000114e: PUSH1 0x20 00001150: ADD 00001151: MSTORE 00001152: PUSH1 0x40 00001154: MLOAD 00001155: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001173: PUSH4 0xffffffff 00001178: DUP8 00001179: AND 0000117a: MUL 0000117b: DUP2 0000117c: MSTORE 0000117d: PUSH1 0x01 0000117f: PUSH1 0xa0 00001181: PUSH1 0x02 00001183: EXP 00001184: SUB 00001185: DUP6 00001186: AND 00001187: PUSH1 0x04 00001189: DUP3 0000118a: ADD 0000118b: SWAP1 0000118c: DUP2 0000118d: MSTORE 0000118e: PUSH1 0x24 00001190: DUP3 00001191: ADD 00001192: DUP6 00001193: SWAP1 00001194: MSTORE 00001195: PUSH1 0x60 00001197: PUSH1 0x44 00001199: DUP4 0000119a: ADD 0000119b: SWAP1 0000119c: DUP2 0000119d: MSTORE 0000119e: PUSH1 0x64 000011a0: DUP4 000011a1: ADD 000011a2: DUP5 000011a3: SWAP1 000011a4: MSTORE 000011a5: SWAP1 000011a6: SWAP2 000011a7: PUSH1 0x84 000011a9: ADD 000011aa: DUP5 000011ab: DUP5 000011ac: DUP1 000011ad: DUP3 000011ae: DUP5 000011af: CALLDATACOPY 000011b0: DUP3 000011b1: ADD 000011b2: SWAP2 000011b3: POP 000011b4: POP 000011b5: SWAP6 000011b6: POP 000011b7: POP 000011b8: POP 000011b9: POP 000011ba: POP 000011bb: POP 000011bc: PUSH1 0x20 000011be: PUSH1 0x40 000011c0: MLOAD 000011c1: DUP1 000011c2: DUP4 000011c3: SUB 000011c4: DUP2 000011c5: PUSH1 0x00 000011c7: DUP8 000011c8: DUP1 000011c9: EXTCODESIZE 000011ca: ISZERO 000011cb: ISZERO 000011cc: PUSH2 0x11d4 000011cf: JUMPI 000011d0: PUSH1 0x00 000011d2: DUP1 000011d3: REVERT 000011d4: JUMPDEST 000011d5: PUSH2 0x02c6 000011d8: GAS 000011d9: SUB 000011da: CALL 000011db: ISZERO 000011dc: ISZERO 000011dd: PUSH2 0x11e5 000011e0: JUMPI 000011e1: PUSH1 0x00 000011e3: DUP1 000011e4: REVERT 000011e5: JUMPDEST 000011e6: POP 000011e7: POP 000011e8: POP 000011e9: PUSH1 0x40 000011eb: MLOAD 000011ec: DUP1 000011ed: MLOAD 000011ee: SWAP1 000011ef: POP 000011f0: ISZERO 000011f1: ISZERO 000011f2: PUSH2 0x11fa 000011f5: JUMPI 000011f6: PUSH1 0x00 000011f8: DUP1 000011f9: REVERT 000011fa: JUMPDEST 000011fb: POP 000011fc: PUSH1 0x01 000011fe: SWAP6 000011ff: SWAP5 00001200: POP 00001201: POP 00001202: POP 00001203: POP 00001204: POP 00001205: JUMP 00001206: JUMPDEST 00001207: PUSH1 0x00 00001209: SLOAD 0000120a: CALLER 0000120b: PUSH1 0x01 0000120d: PUSH1 0xa0 0000120f: PUSH1 0x02 00001211: EXP 00001212: SUB 00001213: SWAP1 00001214: DUP2 00001215: AND 00001216: SWAP2 00001217: AND 00001218: EQ 00001219: PUSH2 0x1221 0000121c: JUMPI 0000121d: PUSH1 0x00 0000121f: DUP1 00001220: REVERT 00001221: JUMPDEST 00001222: PUSH1 0x07 00001224: DUP1 00001225: SLOAD 00001226: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000123b: NOT 0000123c: AND 0000123d: PUSH1 0x01 0000123f: PUSH1 0xa0 00001241: PUSH1 0x02 00001243: EXP 00001244: SUB 00001245: SWAP3 00001246: SWAP1 00001247: SWAP3 00001248: AND 00001249: SWAP2 0000124a: SWAP1 0000124b: SWAP2 0000124c: OR 0000124d: SWAP1 0000124e: SSTORE 0000124f: JUMP 00001250: JUMPDEST 00001251: PUSH2 0x1258 00001254: PUSH2 0x19e9 00001257: JUMP 00001258: JUMPDEST 00001259: PUSH1 0x40 0000125b: DUP1 0000125c: MLOAD 0000125d: SWAP1 0000125e: DUP2 0000125f: ADD 00001260: PUSH1 0x40 00001262: MSTORE 00001263: PUSH1 0x07 00001265: DUP2 00001266: MSTORE 00001267: PUSH32 0x302e303030303500000000000000000000000000000000000000000000000000 00001288: PUSH1 0x20 0000128a: DUP3 0000128b: ADD 0000128c: MSTORE 0000128d: SWAP1 0000128e: POP 0000128f: SWAP1 00001290: JUMP 00001291: JUMPDEST 00001292: PUSH1 0x04 00001294: SLOAD 00001295: DUP2 00001296: JUMP 00001297: JUMPDEST 00001298: PUSH1 0x00 0000129a: CALLER 0000129b: DUP3 0000129c: PUSH2 0x12ad 0000129f: JUMPI 000012a0: PUSH2 0x12a8 000012a3: DUP2 000012a4: PUSH2 0x0e37 000012a7: JUMP 000012a8: JUMPDEST 000012a9: PUSH2 0x12d1 000012ac: JUMP 000012ad: JUMPDEST 000012ae: PUSH1 0x01 000012b0: PUSH1 0xa0 000012b2: PUSH1 0x02 000012b4: EXP 000012b5: SUB 000012b6: DUP2 000012b7: AND 000012b8: PUSH1 0x00 000012ba: SWAP1 000012bb: DUP2 000012bc: MSTORE 000012bd: PUSH1 0x0b 000012bf: PUSH1 0x20 000012c1: MSTORE 000012c2: PUSH1 0x40 000012c4: SWAP1 000012c5: KECCAK256 000012c6: SLOAD 000012c7: PUSH2 0x12cf 000012ca: DUP3 000012cb: PUSH2 0x0e37 000012ce: JUMP 000012cf: JUMPDEST 000012d0: ADD 000012d1: JUMPDEST 000012d2: SWAP2 000012d3: POP 000012d4: JUMPDEST 000012d5: POP 000012d6: SWAP2 000012d7: SWAP1 000012d8: POP 000012d9: JUMP 000012da: JUMPDEST 000012db: PUSH1 0x01 000012dd: PUSH1 0xa0 000012df: PUSH1 0x02 000012e1: EXP 000012e2: SUB 000012e3: ADDRESS 000012e4: AND 000012e5: BALANCE 000012e6: SWAP1 000012e7: JUMP 000012e8: JUMPDEST 000012e9: PUSH1 0x01 000012eb: PUSH1 0xa0 000012ed: PUSH1 0x02 000012ef: EXP 000012f0: SUB 000012f1: AND 000012f2: PUSH1 0x00 000012f4: SWAP1 000012f5: DUP2 000012f6: MSTORE 000012f7: PUSH1 0x0a 000012f9: PUSH1 0x20 000012fb: MSTORE 000012fc: PUSH1 0x40 000012fe: SWAP1 000012ff: KECCAK256 00001300: SLOAD 00001301: SWAP1 00001302: JUMP 00001303: JUMPDEST 00001304: PUSH1 0x00 00001306: SLOAD 00001307: CALLER 00001308: SWAP1 00001309: PUSH1 0x01 0000130b: PUSH1 0xa0 0000130d: PUSH1 0x02 0000130f: EXP 00001310: SUB 00001311: DUP1 00001312: DUP4 00001313: AND 00001314: SWAP2 00001315: AND 00001316: EQ 00001317: PUSH2 0x131f 0000131a: JUMPI 0000131b: PUSH1 0x00 0000131d: DUP1 0000131e: REVERT 0000131f: JUMPDEST 00001320: POP 00001321: PUSH1 0x04 00001323: SSTORE 00001324: JUMP 00001325: JUMPDEST 00001326: PUSH2 0x132d 00001329: PUSH2 0x19e9 0000132c: JUMP 0000132d: JUMPDEST 0000132e: PUSH1 0x40 00001330: DUP1 00001331: MLOAD 00001332: SWAP1 00001333: DUP2 00001334: ADD 00001335: PUSH1 0x40 00001337: MSTORE 00001338: PUSH1 0x0a 0000133a: DUP2 0000133b: MSTORE 0000133c: PUSH32 0x302e303030303535353600000000000000000000000000000000000000000000 0000135d: PUSH1 0x20 0000135f: DUP3 00001360: ADD 00001361: MSTORE 00001362: SWAP1 00001363: POP 00001364: SWAP1 00001365: JUMP 00001366: JUMPDEST 00001367: PUSH1 0x00 00001369: SLOAD 0000136a: CALLER 0000136b: PUSH1 0x01 0000136d: PUSH1 0xa0 0000136f: PUSH1 0x02 00001371: EXP 00001372: SUB 00001373: SWAP1 00001374: DUP2 00001375: AND 00001376: SWAP2 00001377: AND 00001378: EQ 00001379: PUSH2 0x1381 0000137c: JUMPI 0000137d: PUSH1 0x00 0000137f: DUP1 00001380: REVERT 00001381: JUMPDEST 00001382: PUSH1 0x08 00001384: DUP1 00001385: SLOAD 00001386: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000139b: NOT 0000139c: AND 0000139d: PUSH1 0x01 0000139f: PUSH1 0xa0 000013a1: PUSH1 0x02 000013a3: EXP 000013a4: SUB 000013a5: SWAP3 000013a6: SWAP1 000013a7: SWAP3 000013a8: AND 000013a9: SWAP2 000013aa: SWAP1 000013ab: SWAP2 000013ac: OR 000013ad: SWAP1 000013ae: SSTORE 000013af: JUMP 000013b0: JUMPDEST 000013b1: PUSH1 0x00 000013b3: SLOAD 000013b4: PUSH1 0x01 000013b6: PUSH1 0xa0 000013b8: PUSH1 0x02 000013ba: EXP 000013bb: SUB 000013bc: AND 000013bd: DUP2 000013be: JUMP 000013bf: JUMPDEST 000013c0: PUSH1 0x00 000013c2: CALLER 000013c3: PUSH2 0x13cb 000013c6: DUP2 000013c7: PUSH2 0x12e8 000013ca: JUMP 000013cb: JUMPDEST 000013cc: SWAP2 000013cd: POP 000013ce: JUMPDEST 000013cf: POP 000013d0: SWAP1 000013d1: JUMP 000013d2: JUMPDEST 000013d3: PUSH1 0x02 000013d5: DUP1 000013d6: SLOAD 000013d7: PUSH1 0x01 000013d9: DUP2 000013da: PUSH1 0x01 000013dc: AND 000013dd: ISZERO 000013de: PUSH2 0x0100 000013e1: MUL 000013e2: SUB 000013e3: AND 000013e4: PUSH1 0x02 000013e6: SWAP1 000013e7: DIV 000013e8: DUP1 000013e9: PUSH1 0x1f 000013eb: ADD 000013ec: PUSH1 0x20 000013ee: DUP1 000013ef: SWAP2 000013f0: DIV 000013f1: MUL 000013f2: PUSH1 0x20 000013f4: ADD 000013f5: PUSH1 0x40 000013f7: MLOAD 000013f8: SWAP1 000013f9: DUP2 000013fa: ADD 000013fb: PUSH1 0x40 000013fd: MSTORE 000013fe: DUP1 000013ff: SWAP3 00001400: SWAP2 00001401: SWAP1 00001402: DUP2 00001403: DUP2 00001404: MSTORE 00001405: PUSH1 0x20 00001407: ADD 00001408: DUP3 00001409: DUP1 0000140a: SLOAD 0000140b: PUSH1 0x01 0000140d: DUP2 0000140e: PUSH1 0x01 00001410: AND 00001411: ISZERO 00001412: PUSH2 0x0100 00001415: MUL 00001416: SUB 00001417: AND 00001418: PUSH1 0x02 0000141a: SWAP1 0000141b: DIV 0000141c: DUP1 0000141d: ISZERO 0000141e: PUSH2 0x0f05 00001421: JUMPI 00001422: DUP1 00001423: PUSH1 0x1f 00001425: LT 00001426: PUSH2 0x0eda 00001429: JUMPI 0000142a: PUSH2 0x0100 0000142d: DUP1 0000142e: DUP4 0000142f: SLOAD 00001430: DIV 00001431: MUL 00001432: DUP4 00001433: MSTORE 00001434: SWAP2 00001435: PUSH1 0x20 00001437: ADD 00001438: SWAP2 00001439: PUSH2 0x0f05 0000143c: JUMP 0000143d: JUMPDEST 0000143e: PUSH1 0x00 00001440: SLOAD 00001441: CALLER 00001442: SWAP1 00001443: PUSH1 0x01 00001445: PUSH1 0xa0 00001447: PUSH1 0x02 00001449: EXP 0000144a: SUB 0000144b: DUP1 0000144c: DUP4 0000144d: AND 0000144e: SWAP2 0000144f: AND 00001450: EQ 00001451: PUSH2 0x1459 00001454: JUMPI 00001455: PUSH1 0x00 00001457: DUP1 00001458: REVERT 00001459: JUMPDEST 0000145a: POP 0000145b: PUSH1 0x0e 0000145d: DUP1 0000145e: SLOAD 0000145f: PUSH1 0xff 00001461: NOT 00001462: AND 00001463: SWAP1 00001464: SSTORE 00001465: JUMP 00001466: JUMPDEST 00001467: PUSH1 0x00 00001469: DUP1 0000146a: PUSH1 0x00 0000146c: DUP1 0000146d: PUSH1 0x00 0000146f: DUP1 00001470: PUSH2 0x1477 00001473: PUSH2 0x13bf 00001476: JUMP 00001477: JUMPDEST 00001478: GT 00001479: PUSH2 0x1481 0000147c: JUMPI 0000147d: PUSH1 0x00 0000147f: DUP1 00001480: REVERT 00001481: JUMPDEST 00001482: PUSH1 0x0e 00001484: SLOAD 00001485: CALLER 00001486: SWAP5 00001487: POP 00001488: PUSH1 0xff 0000148a: AND 0000148b: ISZERO 0000148c: DUP1 0000148d: ISZERO 0000148e: PUSH2 0x14af 00001491: JUMPI 00001492: POP 00001493: PUSH1 0x01 00001495: PUSH1 0xa0 00001497: PUSH1 0x02 00001499: EXP 0000149a: SUB 0000149b: DUP5 0000149c: AND 0000149d: PUSH1 0x00 0000149f: SWAP1 000014a0: DUP2 000014a1: MSTORE 000014a2: PUSH1 0x0a 000014a4: PUSH1 0x20 000014a6: MSTORE 000014a7: PUSH1 0x40 000014a9: SWAP1 000014aa: KECCAK256 000014ab: SLOAD 000014ac: DUP7 000014ad: GT 000014ae: ISZERO 000014af: JUMPDEST 000014b0: ISZERO 000014b1: ISZERO 000014b2: PUSH2 0x14ba 000014b5: JUMPI 000014b6: PUSH1 0x00 000014b8: DUP1 000014b9: REVERT 000014ba: JUMPDEST 000014bb: PUSH2 0x14c8 000014be: PUSH2 0x0729 000014c1: DUP8 000014c2: PUSH1 0x05 000014c4: PUSH2 0x197b 000014c7: JUMP 000014c8: JUMPDEST 000014c9: SWAP3 000014ca: POP 000014cb: PUSH2 0x14d4 000014ce: DUP7 000014cf: DUP5 000014d0: PUSH2 0x19bd 000014d3: JUMP 000014d4: JUMPDEST 000014d5: SWAP2 000014d6: POP 000014d7: PUSH2 0x14df 000014da: DUP4 000014db: PUSH2 0x19d6 000014de: JUMP 000014df: JUMPDEST 000014e0: SWAP1 000014e1: POP 000014e2: PUSH2 0x14ed 000014e5: PUSH1 0x10 000014e7: SLOAD 000014e8: DUP5 000014e9: PUSH2 0x19bd 000014ec: JUMP 000014ed: JUMPDEST 000014ee: PUSH1 0x10 000014f0: SSTORE 000014f1: PUSH1 0x01 000014f3: PUSH1 0xa0 000014f5: PUSH1 0x02 000014f7: EXP 000014f8: SUB 000014f9: DUP5 000014fa: AND 000014fb: PUSH1 0x00 000014fd: SWAP1 000014fe: DUP2 000014ff: MSTORE 00001500: PUSH1 0x0a 00001502: PUSH1 0x20 00001504: MSTORE 00001505: PUSH1 0x40 00001507: SWAP1 00001508: KECCAK256 00001509: SLOAD 0000150a: PUSH2 0x1513 0000150d: SWAP1 0000150e: DUP8 0000150f: PUSH2 0x19bd 00001512: JUMP 00001513: JUMPDEST 00001514: PUSH1 0x01 00001516: PUSH1 0xa0 00001518: PUSH1 0x02 0000151a: EXP 0000151b: SUB 0000151c: DUP1 0000151d: DUP7 0000151e: AND 0000151f: PUSH1 0x00 00001521: SWAP1 00001522: DUP2 00001523: MSTORE 00001524: PUSH1 0x0a 00001526: PUSH1 0x20 00001528: MSTORE 00001529: PUSH1 0x40 0000152b: DUP1 0000152c: DUP3 0000152d: KECCAK256 0000152e: SWAP4 0000152f: SWAP1 00001530: SWAP4 00001531: SSTORE 00001532: SWAP1 00001533: DUP10 00001534: AND 00001535: DUP2 00001536: MSTORE 00001537: KECCAK256 00001538: SLOAD 00001539: PUSH2 0x1542 0000153c: SWAP1 0000153d: DUP4 0000153e: PUSH2 0x1961 00001541: JUMP 00001542: JUMPDEST 00001543: PUSH1 0x01 00001545: PUSH1 0xa0 00001547: PUSH1 0x02 00001549: EXP 0000154a: SUB 0000154b: DUP9 0000154c: DUP2 0000154d: AND 0000154e: PUSH1 0x00 00001550: DUP2 00001551: DUP2 00001552: MSTORE 00001553: PUSH1 0x0a 00001555: PUSH1 0x20 00001557: SWAP1 00001558: DUP2 00001559: MSTORE 0000155a: PUSH1 0x40 0000155c: DUP1 0000155d: DUP4 0000155e: KECCAK256 0000155f: SWAP6 00001560: SWAP1 00001561: SWAP6 00001562: SSTORE 00001563: PUSH1 0x11 00001565: DUP1 00001566: SLOAD 00001567: SWAP5 00001568: DUP11 00001569: AND 0000156a: DUP4 0000156b: MSTORE 0000156c: PUSH1 0x0c 0000156e: SWAP1 0000156f: SWAP2 00001570: MSTORE 00001571: DUP5 00001572: DUP3 00001573: KECCAK256 00001574: DUP1 00001575: SLOAD 00001576: SWAP5 00001577: DUP13 00001578: MUL 00001579: SWAP1 0000157a: SWAP5 0000157b: SUB 0000157c: SWAP1 0000157d: SWAP4 0000157e: SSTORE 0000157f: DUP3 00001580: SLOAD 00001581: SWAP2 00001582: DUP2 00001583: MSTORE 00001584: SWAP3 00001585: SWAP1 00001586: SWAP3 00001587: KECCAK256 00001588: DUP1 00001589: SLOAD 0000158a: SWAP3 0000158b: DUP6 0000158c: MUL 0000158d: SWAP1 0000158e: SWAP3 0000158f: ADD 00001590: SWAP1 00001591: SWAP2 00001592: SSTORE 00001593: SLOAD 00001594: PUSH1 0x10 00001596: SLOAD 00001597: PUSH2 0x15b1 0000159a: SWAP2 0000159b: SWAP1 0000159c: PUSH1 0x40 0000159e: PUSH1 0x02 000015a0: EXP 000015a1: DUP5 000015a2: MUL 000015a3: DUP2 000015a4: ISZERO 000015a5: ISZERO 000015a6: PUSH2 0x15ab 000015a9: JUMPI 000015aa: INVALID 000015ab: JUMPDEST 000015ac: DIV 000015ad: PUSH2 0x1961 000015b0: JUMP 000015b1: JUMPDEST 000015b2: PUSH1 0x11 000015b4: SSTORE 000015b5: PUSH1 0x01 000015b7: PUSH1 0xa0 000015b9: PUSH1 0x02 000015bb: EXP 000015bc: SUB 000015bd: DUP1 000015be: DUP9 000015bf: AND 000015c0: SWAP1 000015c1: DUP6 000015c2: AND 000015c3: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000015e4: DUP5 000015e5: PUSH1 0x40 000015e7: MLOAD 000015e8: SWAP1 000015e9: DUP2 000015ea: MSTORE 000015eb: PUSH1 0x20 000015ed: ADD 000015ee: PUSH1 0x40 000015f0: MLOAD 000015f1: DUP1 000015f2: SWAP2 000015f3: SUB 000015f4: SWAP1 000015f5: LOG3 000015f6: POP 000015f7: PUSH1 0x01 000015f9: SWAP7 000015fa: SWAP6 000015fb: POP 000015fc: POP 000015fd: POP 000015fe: POP 000015ff: POP 00001600: POP 00001601: JUMP 00001602: JUMPDEST 00001603: PUSH1 0x00 00001605: SLOAD 00001606: CALLER 00001607: PUSH1 0x01 00001609: PUSH1 0xa0 0000160b: PUSH1 0x02 0000160d: EXP 0000160e: SUB 0000160f: SWAP1 00001610: DUP2 00001611: AND 00001612: SWAP2 00001613: AND 00001614: EQ 00001615: PUSH2 0x161d 00001618: JUMPI 00001619: PUSH1 0x00 0000161b: DUP1 0000161c: REVERT 0000161d: JUMPDEST 0000161e: PUSH1 0x06 00001620: DUP1 00001621: SLOAD 00001622: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001637: NOT 00001638: AND 00001639: PUSH1 0x01 0000163b: PUSH1 0xa0 0000163d: PUSH1 0x02 0000163f: EXP 00001640: SUB 00001641: SWAP3 00001642: SWAP1 00001643: SWAP3 00001644: AND 00001645: SWAP2 00001646: SWAP1 00001647: SWAP2 00001648: OR 00001649: SWAP1 0000164a: SSTORE 0000164b: JUMP 0000164c: JUMPDEST 0000164d: PUSH1 0x00 0000164f: SLOAD 00001650: CALLER 00001651: SWAP1 00001652: PUSH1 0x01 00001654: PUSH1 0xa0 00001656: PUSH1 0x02 00001658: EXP 00001659: SUB 0000165a: DUP1 0000165b: DUP4 0000165c: AND 0000165d: SWAP2 0000165e: AND 0000165f: EQ 00001660: PUSH2 0x1668 00001663: JUMPI 00001664: PUSH1 0x00 00001666: DUP1 00001667: REVERT 00001668: JUMPDEST 00001669: PUSH1 0x02 0000166b: DUP3 0000166c: DUP1 0000166d: MLOAD 0000166e: PUSH2 0x167b 00001671: SWAP3 00001672: SWAP2 00001673: PUSH1 0x20 00001675: ADD 00001676: SWAP1 00001677: PUSH2 0x19fb 0000167a: JUMP 0000167b: JUMPDEST 0000167c: POP 0000167d: POP 0000167e: POP 0000167f: JUMP 00001680: JUMPDEST 00001681: PUSH1 0x00 00001683: SLOAD 00001684: CALLER 00001685: SWAP1 00001686: PUSH1 0x01 00001688: PUSH1 0xa0 0000168a: PUSH1 0x02 0000168c: EXP 0000168d: SUB 0000168e: DUP1 0000168f: DUP4 00001690: AND 00001691: SWAP2 00001692: AND 00001693: EQ 00001694: PUSH2 0x169c 00001697: JUMPI 00001698: PUSH1 0x00 0000169a: DUP1 0000169b: REVERT 0000169c: JUMPDEST 0000169d: PUSH1 0x01 0000169f: DUP3 000016a0: DUP1 000016a1: MLOAD 000016a2: PUSH2 0x167b 000016a5: SWAP3 000016a6: SWAP2 000016a7: PUSH1 0x20 000016a9: ADD 000016aa: SWAP1 000016ab: PUSH2 0x19fb 000016ae: JUMP 000016af: JUMPDEST 000016b0: PUSH1 0x00 000016b2: PUSH2 0x16bc 000016b5: DUP4 000016b6: CALLVALUE 000016b7: DUP5 000016b8: PUSH2 0x0656 000016bb: JUMP 000016bc: JUMPDEST 000016bd: SWAP4 000016be: SWAP3 000016bf: POP 000016c0: POP 000016c1: POP 000016c2: JUMP 000016c3: JUMPDEST 000016c4: PUSH1 0x00 000016c6: SLOAD 000016c7: CALLER 000016c8: SWAP1 000016c9: PUSH1 0x01 000016cb: PUSH1 0xa0 000016cd: PUSH1 0x02 000016cf: EXP 000016d0: SUB 000016d1: DUP1 000016d2: DUP4 000016d3: AND 000016d4: SWAP2 000016d5: AND 000016d6: EQ 000016d7: PUSH2 0x16df 000016da: JUMPI 000016db: PUSH1 0x00 000016dd: DUP1 000016de: REVERT 000016df: JUMPDEST 000016e0: POP 000016e1: PUSH1 0x00 000016e3: DUP1 000016e4: SLOAD 000016e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016fa: NOT 000016fb: AND 000016fc: PUSH1 0x01 000016fe: PUSH1 0xa0 00001700: PUSH1 0x02 00001702: EXP 00001703: SUB 00001704: SWAP3 00001705: SWAP1 00001706: SWAP3 00001707: AND 00001708: SWAP2 00001709: SWAP1 0000170a: SWAP2 0000170b: OR 0000170c: SWAP1 0000170d: SSTORE 0000170e: JUMP 0000170f: JUMPDEST 00001710: PUSH1 0x00 00001712: DUP1 00001713: PUSH1 0x00 00001715: DUP1 00001716: PUSH1 0x00 00001718: DUP1 00001719: PUSH1 0x00 0000171b: PUSH2 0x1722 0000171e: PUSH2 0x13bf 00001721: JUMP 00001722: JUMPDEST 00001723: GT 00001724: PUSH2 0x172c 00001727: JUMPI 00001728: PUSH1 0x00 0000172a: DUP1 0000172b: REVERT 0000172c: JUMPDEST 0000172d: CALLER 0000172e: PUSH1 0x01 00001730: PUSH1 0xa0 00001732: PUSH1 0x02 00001734: EXP 00001735: SUB 00001736: DUP2 00001737: AND 00001738: PUSH1 0x00 0000173a: SWAP1 0000173b: DUP2 0000173c: MSTORE 0000173d: PUSH1 0x0a 0000173f: PUSH1 0x20 00001741: MSTORE 00001742: PUSH1 0x40 00001744: SWAP1 00001745: KECCAK256 00001746: SLOAD 00001747: SWAP1 00001748: SWAP7 00001749: POP 0000174a: DUP8 0000174b: GT 0000174c: ISZERO 0000174d: PUSH2 0x1755 00001750: JUMPI 00001751: PUSH1 0x00 00001753: DUP1 00001754: REVERT 00001755: JUMPDEST 00001756: DUP7 00001757: SWAP5 00001758: POP 00001759: PUSH2 0x1761 0000175c: DUP6 0000175d: PUSH2 0x19d6 00001760: JUMP 00001761: JUMPDEST 00001762: SWAP4 00001763: POP 00001764: PUSH2 0x1771 00001767: PUSH2 0x0729 0000176a: DUP6 0000176b: PUSH1 0x0a 0000176d: PUSH2 0x197b 00001770: JUMP 00001771: JUMPDEST 00001772: SWAP3 00001773: POP 00001774: PUSH2 0x177d 00001777: DUP5 00001778: DUP5 00001779: PUSH2 0x19bd 0000177c: JUMP 0000177d: JUMPDEST 0000177e: SWAP2 0000177f: POP 00001780: PUSH2 0x178b 00001783: PUSH1 0x10 00001785: SLOAD 00001786: DUP7 00001787: PUSH2 0x19bd 0000178a: JUMP 0000178b: JUMPDEST 0000178c: PUSH1 0x10 0000178e: SSTORE 0000178f: PUSH1 0x01 00001791: PUSH1 0xa0 00001793: PUSH1 0x02 00001795: EXP 00001796: SUB 00001797: DUP7 00001798: AND 00001799: PUSH1 0x00 0000179b: SWAP1 0000179c: DUP2 0000179d: MSTORE 0000179e: PUSH1 0x0a 000017a0: PUSH1 0x20 000017a2: MSTORE 000017a3: PUSH1 0x40 000017a5: SWAP1 000017a6: KECCAK256 000017a7: SLOAD 000017a8: PUSH2 0x17b1 000017ab: SWAP1 000017ac: DUP7 000017ad: PUSH2 0x19bd 000017b0: JUMP 000017b1: JUMPDEST 000017b2: PUSH1 0x01 000017b4: PUSH1 0xa0 000017b6: PUSH1 0x02 000017b8: EXP 000017b9: SUB 000017ba: DUP8 000017bb: AND 000017bc: PUSH1 0x00 000017be: SWAP1 000017bf: DUP2 000017c0: MSTORE 000017c1: PUSH1 0x0a 000017c3: PUSH1 0x20 000017c5: SWAP1 000017c6: DUP2 000017c7: MSTORE 000017c8: PUSH1 0x40 000017ca: DUP1 000017cb: DUP4 000017cc: KECCAK256 000017cd: SWAP4 000017ce: SWAP1 000017cf: SWAP4 000017d0: SSTORE 000017d1: PUSH1 0x11 000017d3: SLOAD 000017d4: PUSH1 0x0c 000017d6: SWAP1 000017d7: SWAP2 000017d8: MSTORE 000017d9: SWAP2 000017da: DUP2 000017db: KECCAK256 000017dc: DUP1 000017dd: SLOAD 000017de: SWAP3 000017df: DUP9 000017e0: MUL 000017e1: PUSH1 0x40 000017e3: PUSH1 0x02 000017e5: EXP 000017e6: DUP7 000017e7: MUL 000017e8: ADD 000017e9: SWAP3 000017ea: DUP4 000017eb: SWAP1 000017ec: SUB 000017ed: SWAP1 000017ee: SSTORE 000017ef: PUSH1 0x10 000017f1: SLOAD 000017f2: SWAP2 000017f3: SWAP3 000017f4: POP 000017f5: SWAP1 000017f6: GT 000017f7: ISZERO 000017f8: PUSH2 0x1818 000017fb: JUMPI 000017fc: PUSH2 0x1814 000017ff: PUSH1 0x11 00001801: SLOAD 00001802: PUSH1 0x10 00001804: SLOAD 00001805: PUSH1 0x40 00001807: PUSH1 0x02 00001809: EXP 0000180a: DUP7 0000180b: MUL 0000180c: DUP2 0000180d: ISZERO 0000180e: ISZERO 0000180f: PUSH2 0x15ab 00001812: JUMPI 00001813: INVALID 00001814: JUMPDEST 00001815: PUSH1 0x11 00001817: SSTORE 00001818: JUMPDEST 00001819: DUP6 0000181a: PUSH1 0x01 0000181c: PUSH1 0xa0 0000181e: PUSH1 0x02 00001820: EXP 00001821: SUB 00001822: AND 00001823: PUSH32 0xc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a31139 00001844: DUP7 00001845: DUP5 00001846: PUSH1 0x40 00001848: MLOAD 00001849: SWAP2 0000184a: DUP3 0000184b: MSTORE 0000184c: PUSH1 0x20 0000184e: DUP3 0000184f: ADD 00001850: MSTORE 00001851: PUSH1 0x40 00001853: SWAP1 00001854: DUP2 00001855: ADD 00001856: SWAP1 00001857: MLOAD 00001858: DUP1 00001859: SWAP2 0000185a: SUB 0000185b: SWAP1 0000185c: LOG2 0000185d: POP 0000185e: POP 0000185f: POP 00001860: POP 00001861: POP 00001862: POP 00001863: POP 00001864: JUMP 00001865: JUMPDEST 00001866: CALLER 00001867: PUSH1 0x01 00001869: PUSH1 0xa0 0000186b: PUSH1 0x02 0000186d: EXP 0000186e: SUB 0000186f: DUP2 00001870: AND 00001871: PUSH1 0x00 00001873: SWAP1 00001874: DUP2 00001875: MSTORE 00001876: PUSH1 0x0a 00001878: PUSH1 0x20 0000187a: MSTORE 0000187b: PUSH1 0x40 0000187d: DUP2 0000187e: KECCAK256 0000187f: SLOAD 00001880: SWAP1 00001881: DUP2 00001882: GT 00001883: ISZERO 00001884: PUSH2 0x1890 00001887: JUMPI 00001888: PUSH2 0x1890 0000188b: DUP2 0000188c: PUSH2 0x170f 0000188f: JUMP 00001890: JUMPDEST 00001891: PUSH2 0x1898 00001894: PUSH2 0x1007 00001897: JUMP 00001898: JUMPDEST 00001899: POP 0000189a: POP 0000189b: JUMP 0000189c: JUMPDEST 0000189d: PUSH1 0x00 0000189f: PUSH2 0x12d4 000018a2: CALLER 000018a3: CALLVALUE 000018a4: DUP5 000018a5: PUSH2 0x0656 000018a8: JUMP 000018a9: JUMPDEST 000018aa: PUSH1 0x00 000018ac: DUP1 000018ad: PUSH1 0x00 000018af: DUP1 000018b0: PUSH2 0x18b9 000018b3: PUSH1 0x01 000018b5: PUSH2 0x1297 000018b8: JUMP 000018b9: JUMPDEST 000018ba: GT 000018bb: PUSH2 0x18c3 000018be: JUMPI 000018bf: PUSH1 0x00 000018c1: DUP1 000018c2: REVERT 000018c3: JUMPDEST 000018c4: PUSH2 0x18cd 000018c7: PUSH1 0x00 000018c9: PUSH2 0x1297 000018cc: JUMP 000018cd: JUMPDEST 000018ce: CALLER 000018cf: PUSH1 0x01 000018d1: PUSH1 0xa0 000018d3: PUSH1 0x02 000018d5: EXP 000018d6: SUB 000018d7: DUP2 000018d8: AND 000018d9: PUSH1 0x00 000018db: SWAP1 000018dc: DUP2 000018dd: MSTORE 000018de: PUSH1 0x0c 000018e0: PUSH1 0x20 000018e2: SWAP1 000018e3: DUP2 000018e4: MSTORE 000018e5: PUSH1 0x40 000018e7: DUP1 000018e8: DUP4 000018e9: KECCAK256 000018ea: DUP1 000018eb: SLOAD 000018ec: PUSH1 0x40 000018ee: PUSH1 0x02 000018f0: EXP 000018f1: DUP8 000018f2: MUL 000018f3: ADD 000018f4: SWAP1 000018f5: SSTORE 000018f6: PUSH1 0x0b 000018f8: SWAP1 000018f9: SWAP2 000018fa: MSTORE 000018fb: DUP2 000018fc: KECCAK256 000018fd: DUP1 000018fe: SLOAD 000018ff: SWAP1 00001900: DUP3 00001901: SWAP1 00001902: SSTORE 00001903: SWAP1 00001904: SWAP3 00001905: ADD 00001906: SWAP5 00001907: POP 00001908: SWAP3 00001909: POP 0000190a: PUSH2 0x1916 0000190d: SWAP1 0000190e: DUP4 0000190f: SWAP1 00001910: DUP6 00001911: SWAP1 00001912: PUSH2 0x0656 00001915: JUMP 00001916: JUMPDEST 00001917: SWAP1 00001918: POP 00001919: DUP2 0000191a: PUSH1 0x01 0000191c: PUSH1 0xa0 0000191e: PUSH1 0x02 00001920: EXP 00001921: SUB 00001922: AND 00001923: PUSH32 0xbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab3615326458 00001944: DUP5 00001945: DUP4 00001946: PUSH1 0x40 00001948: MLOAD 00001949: SWAP2 0000194a: DUP3 0000194b: MSTORE 0000194c: PUSH1 0x20 0000194e: DUP3 0000194f: ADD 00001950: MSTORE 00001951: PUSH1 0x40 00001953: SWAP1 00001954: DUP2 00001955: ADD 00001956: SWAP1 00001957: MLOAD 00001958: DUP1 00001959: SWAP2 0000195a: SUB 0000195b: SWAP1 0000195c: LOG2 0000195d: POP 0000195e: POP 0000195f: POP 00001960: JUMP 00001961: JUMPDEST 00001962: PUSH1 0x00 00001964: DUP3 00001965: DUP3 00001966: ADD 00001967: DUP4 00001968: DUP2 00001969: LT 0000196a: ISZERO 0000196b: PUSH2 0x1970 0000196e: JUMPI 0000196f: INVALID 00001970: JUMPDEST 00001971: DUP1 00001972: SWAP2 00001973: POP 00001974: JUMPDEST 00001975: POP 00001976: SWAP3 00001977: SWAP2 00001978: POP 00001979: POP 0000197a: JUMP 0000197b: JUMPDEST 0000197c: PUSH1 0x00 0000197e: DUP1 0000197f: DUP4 00001980: ISZERO 00001981: ISZERO 00001982: PUSH2 0x198e 00001985: JUMPI 00001986: PUSH1 0x00 00001988: SWAP2 00001989: POP 0000198a: PUSH2 0x1974 0000198d: JUMP 0000198e: JUMPDEST 0000198f: POP 00001990: DUP3 00001991: DUP3 00001992: MUL 00001993: DUP3 00001994: DUP5 00001995: DUP3 00001996: DUP2 00001997: ISZERO 00001998: ISZERO 00001999: PUSH2 0x199e 0000199c: JUMPI 0000199d: INVALID 0000199e: JUMPDEST 0000199f: DIV 000019a0: EQ 000019a1: PUSH2 0x1970 000019a4: JUMPI 000019a5: INVALID 000019a6: JUMPDEST 000019a7: PUSH1 0x00 000019a9: DUP1 000019aa: DUP3 000019ab: DUP5 000019ac: DUP2 000019ad: ISZERO 000019ae: ISZERO 000019af: PUSH2 0x19b4 000019b2: JUMPI 000019b3: INVALID 000019b4: JUMPDEST 000019b5: DIV 000019b6: SWAP5 000019b7: SWAP4 000019b8: POP 000019b9: POP 000019ba: POP 000019bb: POP 000019bc: JUMP 000019bd: JUMPDEST 000019be: PUSH1 0x00 000019c0: DUP3 000019c1: DUP3 000019c2: GT 000019c3: ISZERO 000019c4: PUSH2 0x19c9 000019c7: JUMPI 000019c8: INVALID 000019c9: JUMPDEST 000019ca: POP 000019cb: SWAP1 000019cc: SUB 000019cd: SWAP1 000019ce: JUMP 000019cf: JUMPDEST 000019d0: PUSH2 0x4e20 000019d3: MUL 000019d4: SWAP1 000019d5: JUMP 000019d6: JUMPDEST 000019d7: PUSH1 0x00 000019d9: PUSH2 0x4e20 000019dc: DUP3 000019dd: PUSH2 0x0e68 000019e0: JUMP 000019e1: JUMPDEST 000019e2: PUSH1 0x00 000019e4: SWAP1 000019e5: EXTCODESIZE 000019e6: GT 000019e7: SWAP1 000019e8: JUMP 000019e9: JUMPDEST 000019ea: PUSH1 0x20 000019ec: PUSH1 0x40 000019ee: MLOAD 000019ef: SWAP1 000019f0: DUP2 000019f1: ADD 000019f2: PUSH1 0x40 000019f4: MSTORE 000019f5: PUSH1 0x00 000019f7: DUP2 000019f8: MSTORE 000019f9: SWAP1 000019fa: JUMP 000019fb: JUMPDEST 000019fc: DUP3 000019fd: DUP1 000019fe: SLOAD 000019ff: PUSH1 0x01 00001a01: DUP2 00001a02: PUSH1 0x01 00001a04: AND 00001a05: ISZERO 00001a06: PUSH2 0x0100 00001a09: MUL 00001a0a: SUB 00001a0b: AND 00001a0c: PUSH1 0x02 00001a0e: SWAP1 00001a0f: DIV 00001a10: SWAP1 00001a11: PUSH1 0x00 00001a13: MSTORE 00001a14: PUSH1 0x20 00001a16: PUSH1 0x00 00001a18: KECCAK256 00001a19: SWAP1 00001a1a: PUSH1 0x1f 00001a1c: ADD 00001a1d: PUSH1 0x20 00001a1f: SWAP1 00001a20: DIV 00001a21: DUP2 00001a22: ADD 00001a23: SWAP3 00001a24: DUP3 00001a25: PUSH1 0x1f 00001a27: LT 00001a28: PUSH2 0x1a3c 00001a2b: JUMPI 00001a2c: DUP1 00001a2d: MLOAD 00001a2e: PUSH1 0xff 00001a30: NOT 00001a31: AND 00001a32: DUP4 00001a33: DUP1 00001a34: ADD 00001a35: OR 00001a36: DUP6 00001a37: SSTORE 00001a38: PUSH2 0x1a69 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: DUP3 00001a3e: DUP1 00001a3f: ADD 00001a40: PUSH1 0x01 00001a42: ADD 00001a43: DUP6 00001a44: SSTORE 00001a45: DUP3 00001a46: ISZERO 00001a47: PUSH2 0x1a69 00001a4a: JUMPI 00001a4b: SWAP2 00001a4c: DUP3 00001a4d: ADD 00001a4e: JUMPDEST 00001a4f: DUP3 00001a50: DUP2 00001a51: GT 00001a52: ISZERO 00001a53: PUSH2 0x1a69 00001a56: JUMPI 00001a57: DUP3 00001a58: MLOAD 00001a59: DUP3 00001a5a: SSTORE 00001a5b: SWAP2 00001a5c: PUSH1 0x20 00001a5e: ADD 00001a5f: SWAP2 00001a60: SWAP1 00001a61: PUSH1 0x01 00001a63: ADD 00001a64: SWAP1 00001a65: PUSH2 0x1a4e 00001a68: JUMP 00001a69: JUMPDEST 00001a6a: POP 00001a6b: PUSH2 0x13ce 00001a6e: SWAP3 00001a6f: PUSH2 0x0f59 00001a72: SWAP3 00001a73: POP 00001a74: SWAP1 00001a75: JUMPDEST 00001a76: DUP1 00001a77: DUP3 00001a78: GT 00001a79: ISZERO 00001a7a: PUSH2 0x13ce 00001a7d: JUMPI 00001a7e: PUSH1 0x00 00001a80: DUP2 00001a81: SSTORE 00001a82: PUSH1 0x01 00001a84: ADD 00001a85: PUSH2 0x1a75 00001a88: JUMP 00001a89: STOP 00001a8a: LOG1 00001a8b: PUSH6 0x627a7a723058 00001a92: KECCAK256 00001a93: SIGNEXTEND 00001a94: CODECOPY 00001a95: UNKNOWN(0xEB) 00001a96: UNKNOWN(0x2C) 00001a97: UNKNOWN(0xCA) 00001a98: BLOBHASH 00001a99: UNKNOWN(0xE5) 00001a9a: UNKNOWN(0xE7) 00001a9b: CALLVALUE 00001a9c: UNKNOWN(0xDE) 00001a9d: UNKNOWN(0xEC) 00001a9e: SLT 00001a9f: SSTORE 00001aa0: UNKNOWN(0xCF) 00001aa1: UNKNOWN(0xCE) 00001aa2: UNKNOWN(0x21) 00001aa3: UNKNOWN(0x22) 00001aa4: SELFBALANCE 00001aa5: UNKNOWN(0xBB) 00001aa6: DUP3 00001aa7: PUSH2 0xc7d1 00001aaa: PUSH18
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x28479f3b4bf746ef3e6c12d1eafab412fa65ee649f155bc3f1280ef1100f7b89
call_targets:
0xc6e5e9c6f4f3d1667df6086e91637cc7c64a13eb
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x28479f3b4bf746ef3e6c12d1eafab412fa65ee649f155bc3f1280ef1100f7b89",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc6e5e9c6f4f3d1667df6086e91637cc7c64a13eb"
],
"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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f34dc16",
"selector": "0x0f34dc16",
"calldata_variants": [
"0x0f34dc16",
"0x0f34dc160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10d0ffdd",
"selector": "0x10d0ffdd",
"calldata_variants": [
"0x10d0ffdd",
"0x10d0ffdd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22609373",
"selector": "0x22609373",
"calldata_variants": [
"0x22609373",
"0x226093730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x27defa1f",
"selector": "0x27defa1f",
"calldata_variants": [
"0x27defa1f",
"0x27defa1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x294205b4",
"selector": "0x294205b4",
"calldata_variants": [
"0x294205b4",
"0x294205b40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2506,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2572,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2638,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [],
"untrusted_call_count": 10
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x28479f3b4bf746ef3e6c12d1eafab412fa65ee649f155bc3f1280ef1100f7b89
call_targets:
0xc6e5e9c6f4f3d1667df6086e91637cc7c64a13eb
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x28479f3b4bf746ef3e6c12d1eafab412fa65ee649f155bc3f1280ef1100f7b89",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc6e5e9c6f4f3d1667df6086e91637cc7c64a13eb"
],
"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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f34dc16",
"selector": "0x0f34dc16",
"calldata_variants": [
"0x0f34dc16",
"0x0f34dc160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10d0ffdd",
"selector": "0x10d0ffdd",
"calldata_variants": [
"0x10d0ffdd",
"0x10d0ffdd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22609373",
"selector": "0x22609373",
"calldata_variants": [
"0x22609373",
"0x226093730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x27defa1f",
"selector": "0x27defa1f",
"calldata_variants": [
"0x27defa1f",
"0x27defa1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x294205b4",
"selector": "0x294205b4",
"calldata_variants": [
"0x294205b4",
"0x294205b40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2506,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2572,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2638,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": []
}
|
| medium | other | codex | Fee recipient transfers can permanently block buys/reinvests | 75 | no | — |
viewevidence_json{
"evidence": "purchaseTokens transfers fees via `.transfer` after state updates, and any revert in these transfers reverts the whole purchase.",
"locations": [
"contracts/Contract.sol:720",
"contracts/Contract.sol:721",
"contracts/Contract.sol:722",
"contracts/Contract.sol:723",
"contracts/Contract.sol:724"
],
"recommendation": "Use a pull-payment pattern (accrue fees and let recipients withdraw) or `call` with failure handling so fee payouts cannot block core user flows; ensure fee addresses are EOAs or enforce changeability for all fee addresses.",
"exploit_scenario": "Each purchase/reinvest sends four fee transfers. If any fee recipient is a contract that reverts or needs more than 2300 gas in its fallback, every buy/buyFor/fallback/reinvest reverts, freezing the protocol. A malicious or compromised fee recipient can intentionally revert to halt all deposits."
}
|