TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019bab3d-2204-73f2-9818-d5b32a5fa050

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:07 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
39058 artifact.fetch complete 1 / 3 3 months ago
39059 proxy.resolve complete 1 / 3 3 months ago
39060 tool.cast_disasm complete 1 / 3 3 months ago
39061 analysis.bundle complete 1 / 3 3 months ago
39062 capability.graph complete 1 / 3 3 months ago
39063 detector.run complete 1 / 3 3 months ago
39064 validation.fork complete 1 / 3 3 months ago
39245 report.consolidate complete 1 / 6 3 months ago
39246 tool.slither complete 1 / 2 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
0
Solc
0.8.19 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-yo68p369)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-yo68p369)

MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) has bitwise-xor operator ^ instead of the exponentiation operator **: 
	 - inverse = (3 * denominator) ^ 2 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#116)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation

MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
	- inverse = (3 * denominator) ^ 2 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#116)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
	- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#120)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
	- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#121)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
	- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#122)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
	- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#123)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
	- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#124)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
	- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#125)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
	- prod0 = prod0 / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#104)
	- result = prod0 * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#131)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply

ERC1967UpgradeUpgradeable._upgradeToAndCall(address,bytes,bool) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#65-70) ignores return value by AddressUpgradeable.functionDelegateCall(newImplementation,data) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#68)
ERC1967UpgradeUpgradeable._upgradeBeaconToAndCall(address,bytes,bool) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#156-162) ignores return value by AddressUpgradeable.functionDelegateCall(IBeaconUpgradeable(newBeacon).implementation(),data) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#160)
CrossmintTreasury._execute(address,uint256,bytes) (contracts/CrossmintTreasury.sol#216-222) ignores return value by to.functionCallWithValue(data,value) (contracts/CrossmintTreasury.sol#221)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return

Address._revert(bytes,string) (@openzeppelin/contracts/utils/Address.sol#231-243) uses assembly
	- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#236-239)
AddressUpgradeable._revert(bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#231-243) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#236-239)
StorageSlotUpgradeable.getAddressSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#62-67) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#64-66)
StorageSlotUpgradeable.getBooleanSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#72-77) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#74-76)
StorageSlotUpgradeable.getBytes32Slot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#82-87) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#84-86)
StorageSlotUpgradeable.getUint256Slot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#92-97) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#94-96)
StorageSlotUpgradeable.getStringSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#102-107) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#104-106)
StorageSlotUpgradeable.getStringSlot(string) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#112-117) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#114-116)
StorageSlotUpgradeable.getBytesSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#122-127) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#124-126)
StorageSlotUpgradeable.getBytesSlot(bytes) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#132-137) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#134-136)
StringsUpgradeable.toString(uint256) (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#19-39) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#25-27)
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#31-33)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#62-66)
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#85-92)
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#99-108)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

4 different versions of Solidity are used:
	- Version constraint ^0.8.0 is used by:
		-^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
		-^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
		-^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#5)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol#4)
	- Version constraint ^0.8.1 is used by:
		-^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4)
		-^0.8.1 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
	- Version constraint ^0.8.2 is used by:
		-^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)
		-^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
	- Version constraint 0.8.19 is used by:
		-0.8.19 (contracts/CrossmintTreasury.sol#2)
		-0.8.19 (contracts/interfaces/ICrossmintUpgradeable.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

AccessControlUpgradeable.__AccessControl_init_unchained() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#55-56) is never used and should be removed
AccessControlUpgradeable._setupRole(bytes32,address) (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#212-214) is never used and should be removed
ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is never used and should be removed
ContextUpgradeable._msgData() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-29) is never used and should be removed
ERC165Upgradeable.__ERC165_init() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#24-25) is never used and should be removed
ERC165Upgradeable.__ERC165_init_unchained() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#27-28) is never used and should be removed
ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#20-21) is never used and should be removed
ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#23-24) is never used and should be removed
ERC1967UpgradeUpgradeable._changeAdmin(address) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#120-123) is never used and should be removed
ERC1967UpgradeUpgradeable._getAdmin() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#103-105) is never used and should be removed
ERC1967UpgradeUpgradeable._getBeacon() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#134-136) is never used and should be removed
ERC1967UpgradeUpgradeable._setAdmin(address) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#110-113) is never used and should be removed
ERC1967UpgradeUpgradeable._setBeacon(address) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#141-148) is never used and should be removed
ERC1967UpgradeUpgradeable._upgradeBeaconToAndCall(address,bytes,bool) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#156-162) is never used and should be removed
Initializable._getInitializedVersion() (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#156-158) is never used and should be removed
Initializable._isInitializing() (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#163-165) is never used and should be removed
UUPSUpgradeable.__UUPSUpgradeable_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#26-27) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code

Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching.
It is used by:
	- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
	- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
	- ^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#5)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol#4)
Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching.
It is used by:
	- ^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4)
	- ^0.8.1 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
Version constraint ^0.8.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching.
It is used by:
	- ^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)
	- ^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
Version constraint 0.8.19 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- VerbatimInvalidDeduplication
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess.
It is used by:
	- 0.8.19 (contracts/CrossmintTreasury.sol#2)
	- 0.8.19 (contracts/interfaces/ICrossmintUpgradeable.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in SafeERC20._callOptionalReturnBool(IERC20,bytes) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#134-142):
	- (success,returndata) = address(token).call(data) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#139)
Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#64-69):
	- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#67)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-137):
	- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#135)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#155-162):
	- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#160)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#180-187):
	- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#185)
Low level call in AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#64-69):
	- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#67)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-137):
	- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#135)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#155-162):
	- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#160)
Low level call in AddressUpgradeable.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#180-187):
	- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#185)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Function IERC20Permit.DOMAIN_SEPARATOR() (@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#59) is not in mixedCase
Function AccessControlUpgradeable.__AccessControl_init() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#52-53) is not in mixedCase
Function AccessControlUpgradeable.__AccessControl_init_unchained() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#55-56) is not in mixedCase
Variable AccessControlUpgradeable.__gap (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#260) is not in mixedCase
Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#20-21) is not in mixedCase
Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#23-24) is not in mixedCase
Variable ERC1967UpgradeUpgradeable.__gap (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#169) is not in mixedCase
Function UUPSUpgradeable.__UUPSUpgradeable_init() (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#23-24) is not in mixedCase
Function UUPSUpgradeable.__UUPSUpgradeable_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#26-27) is not in mixedCase
Variable UUPSUpgradeable.__self (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#29) is not in mixedCase
Variable UUPSUpgradeable.__gap (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#111) is not in mixedCase
Function ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#36) is not in mixedCase
Function ERC165Upgradeable.__ERC165_init() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#24-25) is not in mixedCase
Function ERC165Upgradeable.__ERC165_init_unchained() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#27-28) is not in mixedCase
Variable ERC165Upgradeable.__gap (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#41) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
. analyzed (22 contracts with 100 detectors), 73 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.19",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.8.19",
        "install_stderr": null,
        "install_stdout": "Version '0.8.19' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-yo68p369 --include-path /tmp/slither-yo68p369/lib --include-path /tmp/slither-yo68p369/lib/openzeppelin-contracts --allow-paths /tmp/slither-yo68p369,/tmp/slither-yo68p369/lib,/tmp/slither-yo68p369/lib/openzeppelin-contracts,/tmp/slither-yo68p369/src",
    "remappings": [
        "@openzeppelin/=@openzeppelin/",
        "ds-test/=lib/forge-std/lib/ds-test/src/",
        "forge-std/=lib/forge-std/src/",
        "hardhat/=hardhat/",
        "operator-filter-registry/=operator-filter-registry/",
        "solmate/=solmate/",
        "openzeppelin-contracts/=lib/openzeppelin-contracts/",
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
    ],
    "source_files": [
        "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol",
        "@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol",
        "@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
        "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol",
        "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",
        "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "@openzeppelin/contracts/utils/Address.sol",
        "contracts/CrossmintTreasury.sol",
        "contracts/interfaces/ICrossmintUpgradeable.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 73,
    "workspace_hash": "b04d0914adfe5a03220ab70b1c8665b3119dc7c50c4c2cbb9e9009f385500d57",
    "duration_seconds": 1.329648494720459,
    "solc_version_requested": "0.8.19"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.
View stdout
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-v_8dkp1c
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bac32-67ae-7770-be95-90602b9198b5
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Preparing to audit by reading AUDIT_BUNDLE.txt**
exec
/bin/bash -lc ls in /tmp/codex-v_8dkp1c succeeded in 5ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-v_8dkp1c succeeded in 6ms:
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/CrossmintTreasury.sol
================================================================================
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;

/*

  ,----..                                                 ____                        ___
 /   /   \                                              ,'  , `. ,--,               ,--.'|_
|   :     : __  ,-.  ,---.                           ,-+-,.' _ ,--.'|        ,---,  |  | :,'
.   |  ;. ,' ,'/ /| '   ,'\  .--.--.   .--.--.    ,-+-. ;   , ||  |,     ,-+-. /  | :  : ' :
.   ; /--`'  | |' |/   /   |/  /    ' /  /    '  ,--.'|'   |  |`--'_    ,--.'|'   .;__,'  /
;   | ;   |  |   ,.   ; ,. |  :  /`./|  :  /`./ |   |  ,', |  |,' ,'|  |   |  ,"' |  |   |
|   : |   '  :  / '   | |: |  :  ;_  |  :  ;_   |   | /  | |--''  | |  |   | /  | :__,'| :
.   | '___|  | '  '   | .; :\  \    `.\  \    `.|   : |  | ,   |  | :  |   | |  | | '  : |__
'   ; : .';  : |  |   :    | `----.   \`----.   |   : |  |/    '  : |__|   | |  |/  |  | '.'|


thinking
**Evaluating contract security and reentrancy risks**

I’m thoroughly auditing this upgradeable treasury contract to pinpoint vulnerabilities, focusing on reentrancy risks from external calls, allowance handling quirks, role-based access control configurations, and token allowlist correctness. I’m unpacking subtle attack scenarios involving external calls, token behaviors, and initialization gaps to determine if any real security flaws or misconfigurations exist.
thinking
**Checking for upgrade and initialization risks**

I’m weighing possible issues around upgrade patterns, initialization access, and external call behaviors to confirm if any exploitable gaps stand out—especially focusing on allowance edge cases, role assignments, and token allowlist handling with respect to upgradeable proxy deployments.
codex
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.","findings":[]}
tokens used
17,422
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T08:37:27.884750+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 22,
        "import_count": 27,
        "first_party_contracts_count": 2
    },
    "summary": "No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
8
EXT*/BALANCE
6
Total opcodes
5622
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0143
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x59ff6d3b
00000019: GT
0000001a: PUSH2 0x00b0
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x94a173b7
00000024: GT
00000025: PUSH2 0x006c
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x94a173b7
0000002f: EQ
00000030: PUSH2 0x0396
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xa217fddf
0000003a: EQ
0000003b: PUSH2 0x03cf
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd11a57ec
00000045: EQ
00000046: PUSH2 0x03e4
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xd547741f
00000050: EQ
00000051: PUSH2 0x0406
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xe6d66ac8
0000005b: EQ
0000005c: PUSH2 0x0426
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf3fef3a3
00000066: EQ
00000067: PUSH2 0x0446
0000006a: JUMPI
0000006b: STOP
0000006c: JUMPDEST
0000006d: DUP1
0000006e: PUSH4 0x59ff6d3b
00000073: EQ
00000074: PUSH2 0x02ec
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x5c1c6dcd
0000007e: EQ
0000007f: PUSH2 0x030c
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x5e35359e
00000089: EQ
0000008a: PUSH2 0x031f
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x6dabe6fe
00000094: EQ
00000095: PUSH2 0x033f
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x75b238fc
0000009f: EQ
000000a0: PUSH2 0x0354
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0x91d14854
000000aa: EQ
000000ab: PUSH2 0x0376
000000ae: JUMPI
000000af: STOP
000000b0: JUMPDEST
000000b1: DUP1
000000b2: PUSH4 0x34fcd5be
000000b7: GT
000000b8: PUSH2 0x00ff
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x34fcd5be
000000c2: EQ
000000c3: PUSH2 0x0251
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x36568abe
000000cd: EQ
000000ce: PUSH2 0x0264
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x3659cfe6
000000d8: EQ
000000d9: PUSH2 0x0284
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x435356d1
000000e3: EQ
000000e4: PUSH2 0x02a4
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x4f1ef286
000000ee: EQ
000000ef: PUSH2 0x02c4
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x52d1902d
000000f9: EQ
000000fa: PUSH2 0x02d7
000000fd: JUMPI
000000fe: STOP
000000ff: JUMPDEST
00000100: DUP1
00000101: PUSH4 0x01ffc9a7
00000106: EQ
00000107: PUSH2 0x014c
0000010a: JUMPI
0000010b: DUP1
0000010c: PUSH4 0x0d8e6e2c
00000111: EQ
00000112: PUSH2 0x0181
00000115: JUMPI
00000116: DUP1
00000117: PUSH4 0x1957fba4
0000011c: EQ
0000011d: PUSH2 0x01b3
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0x248a9ca3
00000127: EQ
00000128: PUSH2 0x01d3
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0x2c343229
00000132: EQ
00000133: PUSH2 0x0211
00000136: JUMPI
00000137: DUP1
00000138: PUSH4 0x2f2ff15d
0000013d: EQ
0000013e: PUSH2 0x0231
00000141: JUMPI
00000142: STOP
00000143: JUMPDEST
00000144: CALLDATASIZE
00000145: PUSH2 0x014a
00000148: JUMPI
00000149: STOP
0000014a: JUMPDEST
0000014b: STOP
0000014c: JUMPDEST
0000014d: CALLVALUE
0000014e: DUP1
0000014f: ISZERO
00000150: PUSH2 0x0158
00000153: JUMPI
00000154: PUSH1 0x00
00000156: DUP1
00000157: REVERT
00000158: JUMPDEST
00000159: POP
0000015a: PUSH2 0x016c
0000015d: PUSH2 0x0167
00000160: CALLDATASIZE
00000161: PUSH1 0x04
00000163: PUSH2 0x1d64
00000166: JUMP
00000167: JUMPDEST
00000168: PUSH2 0x0466
0000016b: JUMP
0000016c: JUMPDEST
0000016d: PUSH1 0x40
0000016f: MLOAD
00000170: SWAP1
00000171: ISZERO
00000172: ISZERO
00000173: DUP2
00000174: MSTORE
00000175: PUSH1 0x20
00000177: ADD
00000178: JUMPDEST
00000179: PUSH1 0x40
0000017b: MLOAD
0000017c: DUP1
0000017d: SWAP2
0000017e: SUB
0000017f: SWAP1
00000180: RETURN
00000181: JUMPDEST
00000182: CALLVALUE
00000183: DUP1
00000184: ISZERO
00000185: PUSH2 0x018d
00000188: JUMPI
00000189: PUSH1 0x00
0000018b: DUP1
0000018c: REVERT
0000018d: JUMPDEST
0000018e: POP
0000018f: PUSH1 0x40
00000191: DUP1
00000192: MLOAD
00000193: DUP1
00000194: DUP3
00000195: ADD
00000196: DUP3
00000197: MSTORE
00000198: PUSH1 0x03
0000019a: DUP2
0000019b: MSTORE
0000019c: PUSH3 0x302e31
000001a0: PUSH1 0xe8
000001a2: SHL
000001a3: PUSH1 0x20
000001a5: DUP3
000001a6: ADD
000001a7: MSTORE
000001a8: SWAP1
000001a9: MLOAD
000001aa: PUSH2 0x0178
000001ad: SWAP2
000001ae: SWAP1
000001af: PUSH2 0x1db2
000001b2: JUMP
000001b3: JUMPDEST
000001b4: CALLVALUE
000001b5: DUP1
000001b6: ISZERO
000001b7: PUSH2 0x01bf
000001ba: JUMPI
000001bb: PUSH1 0x00
000001bd: DUP1
000001be: REVERT
000001bf: JUMPDEST
000001c0: POP
000001c1: PUSH2 0x014a
000001c4: PUSH2 0x01ce
000001c7: CALLDATASIZE
000001c8: PUSH1 0x04
000001ca: PUSH2 0x1dfa
000001cd: JUMP
000001ce: JUMPDEST
000001cf: PUSH2 0x049d
000001d2: JUMP
000001d3: JUMPDEST
000001d4: CALLVALUE
000001d5: DUP1
000001d6: ISZERO
000001d7: PUSH2 0x01df
000001da: JUMPI
000001db: PUSH1 0x00
000001dd: DUP1
000001de: REVERT
000001df: JUMPDEST
000001e0: POP
000001e1: PUSH2 0x0203
000001e4: PUSH2 0x01ee
000001e7: CALLDATASIZE
000001e8: PUSH1 0x04
000001ea: PUSH2 0x1e17
000001ed: JUMP
000001ee: JUMPDEST
000001ef: PUSH1 0x00
000001f1: SWAP1
000001f2: DUP2
000001f3: MSTORE
000001f4: PUSH1 0x65
000001f6: PUSH1 0x20
000001f8: MSTORE
000001f9: PUSH1 0x40
000001fb: SWAP1
000001fc: KECCAK256
000001fd: PUSH1 0x01
000001ff: ADD
00000200: SLOAD
00000201: SWAP1
00000202: JUMP
00000203: JUMPDEST
00000204: PUSH1 0x40
00000206: MLOAD
00000207: SWAP1
00000208: DUP2
00000209: MSTORE
0000020a: PUSH1 0x20
0000020c: ADD
0000020d: PUSH2 0x0178
00000210: JUMP
00000211: JUMPDEST
00000212: CALLVALUE
00000213: DUP1
00000214: ISZERO
00000215: PUSH2 0x021d
00000218: JUMPI
00000219: PUSH1 0x00
0000021b: DUP1
0000021c: REVERT
0000021d: JUMPDEST
0000021e: POP
0000021f: PUSH2 0x014a
00000222: PUSH2 0x022c
00000225: CALLDATASIZE
00000226: PUSH1 0x04
00000228: PUSH2 0x1e30
0000022b: JUMP
0000022c: JUMPDEST
0000022d: PUSH2 0x04d7
00000230: JUMP
00000231: JUMPDEST
00000232: CALLVALUE
00000233: DUP1
00000234: ISZERO
00000235: PUSH2 0x023d
00000238: JUMPI
00000239: PUSH1 0x00
0000023b: DUP1
0000023c: REVERT
0000023d: JUMPDEST
0000023e: POP
0000023f: PUSH2 0x014a
00000242: PUSH2 0x024c
00000245: CALLDATASIZE
00000246: PUSH1 0x04
00000248: PUSH2 0x1e6b
0000024b: JUMP
0000024c: JUMPDEST
0000024d: PUSH2 0x07ee
00000250: JUMP
00000251: JUMPDEST
00000252: PUSH2 0x014a
00000255: PUSH2 0x025f
00000258: CALLDATASIZE
00000259: PUSH1 0x04
0000025b: PUSH2 0x1ee7
0000025e: JUMP
0000025f: JUMPDEST
00000260: PUSH2 0x0818
00000263: JUMP
00000264: JUMPDEST
00000265: CALLVALUE
00000266: DUP1
00000267: ISZERO
00000268: PUSH2 0x0270
0000026b: JUMPI
0000026c: PUSH1 0x00
0000026e: DUP1
0000026f: REVERT
00000270: JUMPDEST
00000271: POP
00000272: PUSH2 0x014a
00000275: PUSH2 0x027f
00000278: CALLDATASIZE
00000279: PUSH1 0x04
0000027b: PUSH2 0x1e6b
0000027e: JUMP
0000027f: JUMPDEST
00000280: PUSH2 0x08e2
00000283: JUMP
00000284: JUMPDEST
00000285: CALLVALUE
00000286: DUP1
00000287: ISZERO
00000288: PUSH2 0x0290
0000028b: JUMPI
0000028c: PUSH1 0x00
0000028e: DUP1
0000028f: REVERT
00000290: JUMPDEST
00000291: POP
00000292: PUSH2 0x014a
00000295: PUSH2 0x029f
00000298: CALLDATASIZE
00000299: PUSH1 0x04
0000029b: PUSH2 0x1dfa
0000029e: JUMP
0000029f: JUMPDEST
000002a0: PUSH2 0x0960
000002a3: JUMP
000002a4: JUMPDEST
000002a5: CALLVALUE
000002a6: DUP1
000002a7: ISZERO
000002a8: PUSH2 0x02b0
000002ab: JUMPI
000002ac: PUSH1 0x00
000002ae: DUP1
000002af: REVERT
000002b0: JUMPDEST
000002b1: POP
000002b2: PUSH2 0x014a
000002b5: PUSH2 0x02bf
000002b8: CALLDATASIZE
000002b9: PUSH1 0x04
000002bb: PUSH2 0x1f29
000002be: JUMP
000002bf: JUMPDEST
000002c0: PUSH2 0x0a3f
000002c3: JUMP
000002c4: JUMPDEST
000002c5: PUSH2 0x014a
000002c8: PUSH2 0x02d2
000002cb: CALLDATASIZE
000002cc: PUSH1 0x04
000002ce: PUSH2 0x1fd9
000002d1: JUMP
000002d2: JUMPDEST
000002d3: PUSH2 0x0d9d
000002d6: JUMP
000002d7: JUMPDEST
000002d8: CALLVALUE
000002d9: DUP1
000002da: ISZERO
000002db: PUSH2 0x02e3
000002de: JUMPI
000002df: PUSH1 0x00
000002e1: DUP1
000002e2: REVERT
000002e3: JUMPDEST
000002e4: POP
000002e5: PUSH2 0x0203
000002e8: PUSH2 0x0e69
000002eb: JUMP
000002ec: JUMPDEST
000002ed: CALLVALUE
000002ee: DUP1
000002ef: ISZERO
000002f0: PUSH2 0x02f8
000002f3: JUMPI
000002f4: PUSH1 0x00
000002f6: DUP1
000002f7: REVERT
000002f8: JUMPDEST
000002f9: POP
000002fa: PUSH2 0x014a
000002fd: PUSH2 0x0307
00000300: CALLDATASIZE
00000301: PUSH1 0x04
00000303: PUSH2 0x1dfa
00000306: JUMP
00000307: JUMPDEST
00000308: PUSH2 0x0f1c
0000030b: JUMP
0000030c: JUMPDEST
0000030d: PUSH2 0x014a
00000310: PUSH2 0x031a
00000313: CALLDATASIZE
00000314: PUSH1 0x04
00000316: PUSH2 0x209d
00000319: JUMP
0000031a: JUMPDEST
0000031b: PUSH2 0x0f81
0000031e: JUMP
0000031f: JUMPDEST
00000320: CALLVALUE
00000321: DUP1
00000322: ISZERO
00000323: PUSH2 0x032b
00000326: JUMPI
00000327: PUSH1 0x00
00000329: DUP1
0000032a: REVERT
0000032b: JUMPDEST
0000032c: POP
0000032d: PUSH2 0x014a
00000330: PUSH2 0x033a
00000333: CALLDATASIZE
00000334: PUSH1 0x04
00000336: PUSH2 0x20d8
00000339: JUMP
0000033a: JUMPDEST
0000033b: PUSH2 0x0fbb
0000033e: JUMP
0000033f: JUMPDEST
00000340: CALLVALUE
00000341: DUP1
00000342: ISZERO
00000343: PUSH2 0x034b
00000346: JUMPI
00000347: PUSH1 0x00
00000349: DUP1
0000034a: REVERT
0000034b: JUMPDEST
0000034c: POP
0000034d: PUSH2 0x0203
00000350: PUSH1 0x02
00000352: DUP2
00000353: JUMP
00000354: JUMPDEST
00000355: CALLVALUE
00000356: DUP1
00000357: ISZERO
00000358: PUSH2 0x0360
0000035b: JUMPI
0000035c: PUSH1 0x00
0000035e: DUP1
0000035f: REVERT
00000360: JUMPDEST
00000361: POP
00000362: PUSH2 0x0203
00000365: PUSH1 0x00
00000367: DUP1
00000368: MLOAD
00000369: PUSH1 0x20
0000036b: PUSH2 0x23fd
0000036e: DUP4
0000036f: CODECOPY
00000370: DUP2
00000371: MLOAD
00000372: SWAP2
00000373: MSTORE
00000374: DUP2
00000375: JUMP
00000376: JUMPDEST
00000377: CALLVALUE
00000378: DUP1
00000379: ISZERO
0000037a: PUSH2 0x0382
0000037d: JUMPI
0000037e: PUSH1 0x00
00000380: DUP1
00000381: REVERT
00000382: JUMPDEST
00000383: POP
00000384: PUSH2 0x016c
00000387: PUSH2 0x0391
0000038a: CALLDATASIZE
0000038b: PUSH1 0x04
0000038d: PUSH2 0x1e6b
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH2 0x0fde
00000395: JUMP
00000396: JUMPDEST
00000397: CALLVALUE
00000398: DUP1
00000399: ISZERO
0000039a: PUSH2 0x03a2
0000039d: JUMPI
0000039e: PUSH1 0x00
000003a0: DUP1
000003a1: REVERT
000003a2: JUMPDEST
000003a3: POP
000003a4: PUSH2 0x016c
000003a7: PUSH2 0x03b1
000003aa: CALLDATASIZE
000003ab: PUSH1 0x04
000003ad: PUSH2 0x1dfa
000003b0: JUMP
000003b1: JUMPDEST
000003b2: PUSH1 0x01
000003b4: PUSH1 0x01
000003b6: PUSH1 0xa0
000003b8: SHL
000003b9: SUB
000003ba: AND
000003bb: PUSH1 0x00
000003bd: SWAP1
000003be: DUP2
000003bf: MSTORE
000003c0: PUSH1 0xfb
000003c2: PUSH1 0x20
000003c4: MSTORE
000003c5: PUSH1 0x40
000003c7: SWAP1
000003c8: KECCAK256
000003c9: SLOAD
000003ca: PUSH1 0xff
000003cc: AND
000003cd: SWAP1
000003ce: JUMP
000003cf: JUMPDEST
000003d0: CALLVALUE
000003d1: DUP1
000003d2: ISZERO
000003d3: PUSH2 0x03db
000003d6: JUMPI
000003d7: PUSH1 0x00
000003d9: DUP1
000003da: REVERT
000003db: JUMPDEST
000003dc: POP
000003dd: PUSH2 0x0203
000003e0: PUSH1 0x00
000003e2: DUP2
000003e3: JUMP
000003e4: JUMPDEST
000003e5: CALLVALUE
000003e6: DUP1
000003e7: ISZERO
000003e8: PUSH2 0x03f0
000003eb: JUMPI
000003ec: PUSH1 0x00
000003ee: DUP1
000003ef: REVERT
000003f0: JUMPDEST
000003f1: POP
000003f2: PUSH2 0x0203
000003f5: PUSH1 0x00
000003f7: DUP1
000003f8: MLOAD
000003f9: PUSH1 0x20
000003fb: PUSH2 0x241d
000003fe: DUP4
000003ff: CODECOPY
00000400: DUP2
00000401: MLOAD
00000402: SWAP2
00000403: MSTORE
00000404: DUP2
00000405: JUMP
00000406: JUMPDEST
00000407: CALLVALUE
00000408: DUP1
00000409: ISZERO
0000040a: PUSH2 0x0412
0000040d: JUMPI
0000040e: PUSH1 0x00
00000410: DUP1
00000411: REVERT
00000412: JUMPDEST
00000413: POP
00000414: PUSH2 0x014a
00000417: PUSH2 0x0421
0000041a: CALLDATASIZE
0000041b: PUSH1 0x04
0000041d: PUSH2 0x1e6b
00000420: JUMP
00000421: JUMPDEST
00000422: PUSH2 0x1009
00000425: JUMP
00000426: JUMPDEST
00000427: CALLVALUE
00000428: DUP1
00000429: ISZERO
0000042a: PUSH2 0x0432
0000042d: JUMPI
0000042e: PUSH1 0x00
00000430: DUP1
00000431: REVERT
00000432: JUMPDEST
00000433: POP
00000434: PUSH2 0x014a
00000437: PUSH2 0x0441
0000043a: CALLDATASIZE
0000043b: PUSH1 0x04
0000043d: PUSH2 0x20d8
00000440: JUMP
00000441: JUMPDEST
00000442: PUSH2 0x102e
00000445: JUMP
00000446: JUMPDEST
00000447: CALLVALUE
00000448: DUP1
00000449: ISZERO
0000044a: PUSH2 0x0452
0000044d: JUMPI
0000044e: PUSH1 0x00
00000450: DUP1
00000451: REVERT
00000452: JUMPDEST
00000453: POP
00000454: PUSH2 0x014a
00000457: PUSH2 0x0461
0000045a: CALLDATASIZE
0000045b: PUSH1 0x04
0000045d: PUSH2 0x2119
00000460: JUMP
00000461: JUMPDEST
00000462: PUSH2 0x1046
00000465: JUMP
00000466: JUMPDEST
00000467: PUSH1 0x00
00000469: PUSH1 0x01
0000046b: PUSH1 0x01
0000046d: PUSH1 0xe0
0000046f: SHL
00000470: SUB
00000471: NOT
00000472: DUP3
00000473: AND
00000474: PUSH4 0x7965db0b
00000479: PUSH1 0xe0
0000047b: SHL
0000047c: EQ
0000047d: DUP1
0000047e: PUSH2 0x0497
00000481: JUMPI
00000482: POP
00000483: PUSH4 0x01ffc9a7
00000488: PUSH1 0xe0
0000048a: SHL
0000048b: PUSH1 0x01
0000048d: PUSH1 0x01
0000048f: PUSH1 0xe0
00000491: SHL
00000492: SUB
00000493: NOT
00000494: DUP4
00000495: AND
00000496: EQ
00000497: JUMPDEST
00000498: SWAP3
00000499: SWAP2
0000049a: POP
0000049b: POP
0000049c: JUMP
0000049d: JUMPDEST
0000049e: PUSH1 0x00
000004a0: DUP1
000004a1: MLOAD
000004a2: PUSH1 0x20
000004a4: PUSH2 0x23fd
000004a7: DUP4
000004a8: CODECOPY
000004a9: DUP2
000004aa: MLOAD
000004ab: SWAP2
000004ac: MSTORE
000004ad: PUSH2 0x04b5
000004b0: DUP2
000004b1: PUSH2 0x1068
000004b4: JUMP
000004b5: JUMPDEST
000004b6: POP
000004b7: PUSH1 0x01
000004b9: PUSH1 0x01
000004bb: PUSH1 0xa0
000004bd: SHL
000004be: SUB
000004bf: AND
000004c0: PUSH1 0x00
000004c2: SWAP1
000004c3: DUP2
000004c4: MSTORE
000004c5: PUSH1 0xfb
000004c7: PUSH1 0x20
000004c9: MSTORE
000004ca: PUSH1 0x40
000004cc: SWAP1
000004cd: KECCAK256
000004ce: DUP1
000004cf: SLOAD
000004d0: PUSH1 0xff
000004d2: NOT
000004d3: AND
000004d4: SWAP1
000004d5: SSTORE
000004d6: JUMP
000004d7: JUMPDEST
000004d8: PUSH1 0x00
000004da: DUP1
000004db: MLOAD
000004dc: PUSH1 0x20
000004de: PUSH2 0x241d
000004e1: DUP4
000004e2: CODECOPY
000004e3: DUP2
000004e4: MLOAD
000004e5: SWAP2
000004e6: MSTORE
000004e7: PUSH2 0x04ef
000004ea: DUP2
000004eb: PUSH2 0x1068
000004ee: JUMP
000004ef: JUMPDEST
000004f0: PUSH1 0xfb
000004f2: PUSH1 0x00
000004f4: PUSH2 0x0503
000004f7: PUSH1 0x40
000004f9: DUP6
000004fa: ADD
000004fb: PUSH1 0x20
000004fd: DUP7
000004fe: ADD
000004ff: PUSH2 0x1dfa
00000502: JUMP
00000503: JUMPDEST
00000504: PUSH1 0x01
00000506: PUSH1 0x01
00000508: PUSH1 0xa0
0000050a: SHL
0000050b: SUB
0000050c: AND
0000050d: DUP2
0000050e: MSTORE
0000050f: PUSH1 0x20
00000511: DUP2
00000512: ADD
00000513: SWAP2
00000514: SWAP1
00000515: SWAP2
00000516: MSTORE
00000517: PUSH1 0x40
00000519: ADD
0000051a: PUSH1 0x00
0000051c: KECCAK256
0000051d: SLOAD
0000051e: PUSH1 0xff
00000520: AND
00000521: PUSH2 0x053d
00000524: JUMPI
00000525: PUSH1 0x40
00000527: MLOAD
00000528: PUSH4 0x514e24c3
0000052d: PUSH1 0xe1
0000052f: SHL
00000530: DUP2
00000531: MSTORE
00000532: PUSH1 0x04
00000534: ADD
00000535: PUSH1 0x40
00000537: MLOAD
00000538: DUP1
00000539: SWAP2
0000053a: SUB
0000053b: SWAP1
0000053c: REVERT
0000053d: JUMPDEST
0000053e: PUSH1 0x00
00000540: PUSH2 0x054f
00000543: PUSH1 0x40
00000545: DUP5
00000546: ADD
00000547: PUSH1 0x20
00000549: DUP6
0000054a: ADD
0000054b: PUSH2 0x1dfa
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH1 0x40
00000552: MLOAD
00000553: PUSH4 0x70a08231
00000558: PUSH1 0xe0
0000055a: SHL
0000055b: DUP2
0000055c: MSTORE
0000055d: ADDRESS
0000055e: PUSH1 0x04
00000560: DUP3
00000561: ADD
00000562: MSTORE
00000563: PUSH1 0x01
00000565: PUSH1 0x01
00000567: PUSH1 0xa0
00000569: SHL
0000056a: SUB
0000056b: SWAP2
0000056c: SWAP1
0000056d: SWAP2
0000056e: AND
0000056f: SWAP1
00000570: PUSH4 0x70a08231
00000575: SWAP1
00000576: PUSH1 0x24
00000578: ADD
00000579: PUSH1 0x20
0000057b: PUSH1 0x40
0000057d: MLOAD
0000057e: DUP1
0000057f: DUP4
00000580: SUB
00000581: DUP2
00000582: DUP7
00000583: GAS
00000584: STATICCALL
00000585: ISZERO
00000586: DUP1
00000587: ISZERO
00000588: PUSH2 0x0595
0000058b: JUMPI
0000058c: RETURNDATASIZE
0000058d: PUSH1 0x00
0000058f: DUP1
00000590: RETURNDATACOPY
00000591: RETURNDATASIZE
00000592: PUSH1 0x00
00000594: REVERT
00000595: JUMPDEST
00000596: POP
00000597: POP
00000598: POP
00000599: POP
0000059a: PUSH1 0x40
0000059c: MLOAD
0000059d: RETURNDATASIZE
0000059e: PUSH1 0x1f
000005a0: NOT
000005a1: PUSH1 0x1f
000005a3: DUP3
000005a4: ADD
000005a5: AND
000005a6: DUP3
000005a7: ADD
000005a8: DUP1
000005a9: PUSH1 0x40
000005ab: MSTORE
000005ac: POP
000005ad: DUP2
000005ae: ADD
000005af: SWAP1
000005b0: PUSH2 0x05b9
000005b3: SWAP2
000005b4: SWAP1
000005b5: PUSH2 0x2145
000005b8: JUMP
000005b9: JUMPDEST
000005ba: SWAP1
000005bb: POP
000005bc: DUP3
000005bd: PUSH1 0x40
000005bf: ADD
000005c0: CALLDATALOAD
000005c1: DUP2
000005c2: LT
000005c3: ISZERO
000005c4: PUSH2 0x05f1
000005c7: JUMPI
000005c8: PUSH1 0x40
000005ca: DUP1
000005cb: MLOAD
000005cc: PUSH3 0xfae2d5
000005d0: PUSH1 0xe2
000005d2: SHL
000005d3: DUP2
000005d4: MSTORE
000005d5: SWAP1
000005d6: DUP5
000005d7: ADD
000005d8: CALLDATALOAD
000005d9: PUSH1 0x04
000005db: DUP3
000005dc: ADD
000005dd: MSTORE
000005de: PUSH1 0x24
000005e0: DUP2
000005e1: ADD
000005e2: DUP3
000005e3: SWAP1
000005e4: MSTORE
000005e5: PUSH1 0x44
000005e7: ADD
000005e8: JUMPDEST
000005e9: PUSH1 0x40
000005eb: MLOAD
000005ec: DUP1
000005ed: SWAP2
000005ee: SUB
000005ef: SWAP1
000005f0: REVERT
000005f1: JUMPDEST
000005f2: PUSH1 0x00
000005f4: PUSH2 0x0603
000005f7: PUSH1 0x40
000005f9: DUP6
000005fa: ADD
000005fb: PUSH1 0x20
000005fd: DUP7
000005fe: ADD
000005ff: PUSH2 0x1dfa
00000602: JUMP
00000603: JUMPDEST
00000604: PUSH1 0x01
00000606: PUSH1 0x01
00000608: PUSH1 0xa0
0000060a: SHL
0000060b: SUB
0000060c: AND
0000060d: PUSH4 0xdd62ed3e
00000612: ADDRESS
00000613: PUSH2 0x061f
00000616: PUSH1 0x20
00000618: DUP9
00000619: ADD
0000061a: DUP9
0000061b: PUSH2 0x1dfa
0000061e: JUMP
0000061f: JUMPDEST
00000620: PUSH1 0x40
00000622: MLOAD
00000623: PUSH1 0x01
00000625: PUSH1 0x01
00000627: PUSH1 0xe0
00000629: SHL
0000062a: SUB
0000062b: NOT
0000062c: PUSH1 0xe0
0000062e: DUP6
0000062f: SWAP1
00000630: SHL
00000631: AND
00000632: DUP2
00000633: MSTORE
00000634: PUSH1 0x01
00000636: PUSH1 0x01
00000638: PUSH1 0xa0
0000063a: SHL
0000063b: SUB
0000063c: SWAP3
0000063d: DUP4
0000063e: AND
0000063f: PUSH1 0x04
00000641: DUP3
00000642: ADD
00000643: MSTORE
00000644: SWAP2
00000645: AND
00000646: PUSH1 0x24
00000648: DUP3
00000649: ADD
0000064a: MSTORE
0000064b: PUSH1 0x44
0000064d: ADD
0000064e: PUSH1 0x20
00000650: PUSH1 0x40
00000652: MLOAD
00000653: DUP1
00000654: DUP4
00000655: SUB
00000656: DUP2
00000657: DUP7
00000658: GAS
00000659: STATICCALL
0000065a: ISZERO
0000065b: DUP1
0000065c: ISZERO
0000065d: PUSH2 0x066a
00000660: JUMPI
00000661: RETURNDATASIZE
00000662: PUSH1 0x00
00000664: DUP1
00000665: RETURNDATACOPY
00000666: RETURNDATASIZE
00000667: PUSH1 0x00
00000669: REVERT
0000066a: JUMPDEST
0000066b: POP
0000066c: POP
0000066d: POP
0000066e: POP
0000066f: PUSH1 0x40
00000671: MLOAD
00000672: RETURNDATASIZE
00000673: PUSH1 0x1f
00000675: NOT
00000676: PUSH1 0x1f
00000678: DUP3
00000679: ADD
0000067a: AND
0000067b: DUP3
0000067c: ADD
0000067d: DUP1
0000067e: PUSH1 0x40
00000680: MSTORE
00000681: POP
00000682: DUP2
00000683: ADD
00000684: SWAP1
00000685: PUSH2 0x068e
00000688: SWAP2
00000689: SWAP1
0000068a: PUSH2 0x2145
0000068d: JUMP
0000068e: JUMPDEST
0000068f: SWAP1
00000690: POP
00000691: DUP1
00000692: PUSH1 0x00
00000694: SUB
00000695: PUSH2 0x06dc
00000698: JUMPI
00000699: PUSH2 0x06d7
0000069c: PUSH2 0x06a8
0000069f: PUSH1 0x20
000006a1: DUP7
000006a2: ADD
000006a3: DUP7
000006a4: PUSH2 0x1dfa
000006a7: JUMP
000006a8: JUMPDEST
000006a9: PUSH2 0x06b7
000006ac: PUSH1 0x02
000006ae: PUSH1 0x40
000006b0: DUP9
000006b1: ADD
000006b2: CALLDATALOAD
000006b3: PUSH2 0x2174
000006b6: JUMP
000006b7: JUMPDEST
000006b8: PUSH2 0x06c7
000006bb: PUSH1 0x40
000006bd: DUP9
000006be: ADD
000006bf: PUSH1 0x20
000006c1: DUP10
000006c2: ADD
000006c3: PUSH2 0x1dfa
000006c6: JUMP
000006c7: JUMPDEST
000006c8: PUSH1 0x01
000006ca: PUSH1 0x01
000006cc: PUSH1 0xa0
000006ce: SHL
000006cf: SUB
000006d0: AND
000006d1: SWAP2
000006d2: SWAP1
000006d3: PUSH2 0x1072
000006d6: JUMP
000006d7: JUMPDEST
000006d8: PUSH2 0x0700
000006db: JUMP
000006dc: JUMPDEST
000006dd: PUSH2 0x0700
000006e0: PUSH2 0x06ec
000006e3: PUSH1 0x20
000006e5: DUP7
000006e6: ADD
000006e7: DUP7
000006e8: PUSH2 0x1dfa
000006eb: JUMP
000006ec: JUMPDEST
000006ed: PUSH1 0x40
000006ef: DUP7
000006f0: ADD
000006f1: DUP1
000006f2: CALLDATALOAD
000006f3: SWAP1
000006f4: PUSH2 0x06c7
000006f7: SWAP1
000006f8: PUSH1 0x20
000006fa: DUP10
000006fb: ADD
000006fc: PUSH2 0x1dfa
000006ff: JUMP
00000700: JUMPDEST
00000701: PUSH2 0x0724
00000704: PUSH2 0x0710
00000707: PUSH1 0x20
00000709: DUP7
0000070a: ADD
0000070b: DUP7
0000070c: PUSH2 0x1dfa
0000070f: JUMP
00000710: JUMPDEST
00000711: PUSH1 0x00
00000713: PUSH2 0x071f
00000716: PUSH1 0x60
00000718: DUP9
00000719: ADD
0000071a: DUP9
0000071b: PUSH2 0x2187
0000071e: JUMP
0000071f: JUMPDEST
00000720: PUSH2 0x1152
00000723: JUMP
00000724: JUMPDEST
00000725: PUSH1 0x00
00000727: PUSH2 0x0736
0000072a: PUSH1 0x40
0000072c: DUP7
0000072d: ADD
0000072e: PUSH1 0x20
00000730: DUP8
00000731: ADD
00000732: PUSH2 0x1dfa
00000735: JUMP
00000736: JUMPDEST
00000737: PUSH1 0x01
00000739: PUSH1 0x01
0000073b: PUSH1 0xa0
0000073d: SHL
0000073e: SUB
0000073f: AND
00000740: PUSH4 0xdd62ed3e
00000745: ADDRESS
00000746: PUSH2 0x0752
00000749: PUSH1 0x20
0000074b: DUP10
0000074c: ADD
0000074d: DUP10
0000074e: PUSH2 0x1dfa
00000751: JUMP
00000752: JUMPDEST
00000753: PUSH1 0x40
00000755: MLOAD
00000756: PUSH1 0x01
00000758: PUSH1 0x01
0000075a: PUSH1 0xe0
0000075c: SHL
0000075d: SUB
0000075e: NOT
0000075f: PUSH1 0xe0
00000761: DUP6
00000762: SWAP1
00000763: SHL
00000764: AND
00000765: DUP2
00000766: MSTORE
00000767: PUSH1 0x01
00000769: PUSH1 0x01
0000076b: PUSH1 0xa0
0000076d: SHL
0000076e: SUB
0000076f: SWAP3
00000770: DUP4
00000771: AND
00000772: PUSH1 0x04
00000774: DUP3
00000775: ADD
00000776: MSTORE
00000777: SWAP2
00000778: AND
00000779: PUSH1 0x24
0000077b: DUP3
0000077c: ADD
0000077d: MSTORE
0000077e: PUSH1 0x44
00000780: ADD
00000781: PUSH1 0x20
00000783: PUSH1 0x40
00000785: MLOAD
00000786: DUP1
00000787: DUP4
00000788: SUB
00000789: DUP2
0000078a: DUP7
0000078b: GAS
0000078c: STATICCALL
0000078d: ISZERO
0000078e: DUP1
0000078f: ISZERO
00000790: PUSH2 0x079d
00000793: JUMPI
00000794: RETURNDATASIZE
00000795: PUSH1 0x00
00000797: DUP1
00000798: RETURNDATACOPY
00000799: RETURNDATASIZE
0000079a: PUSH1 0x00
0000079c: REVERT
0000079d: JUMPDEST
0000079e: POP
0000079f: POP
000007a0: POP
000007a1: POP
000007a2: PUSH1 0x40
000007a4: MLOAD
000007a5: RETURNDATASIZE
000007a6: PUSH1 0x1f
000007a8: NOT
000007a9: PUSH1 0x1f
000007ab: DUP3
000007ac: ADD
000007ad: AND
000007ae: DUP3
000007af: ADD
000007b0: DUP1
000007b1: PUSH1 0x40
000007b3: MSTORE
000007b4: POP
000007b5: DUP2
000007b6: ADD
000007b7: SWAP1
000007b8: PUSH2 0x07c1
000007bb: SWAP2
000007bc: SWAP1
000007bd: PUSH2 0x2145
000007c0: JUMP
000007c1: JUMPDEST
000007c2: SWAP1
000007c3: POP
000007c4: PUSH1 0x02
000007c6: DUP2
000007c7: EQ
000007c8: PUSH2 0x07e7
000007cb: JUMPI
000007cc: PUSH1 0x40
000007ce: MLOAD
000007cf: PUSH4 0x327c29c1
000007d4: PUSH1 0xe2
000007d6: SHL
000007d7: DUP2
000007d8: MSTORE
000007d9: PUSH1 0x04
000007db: DUP2
000007dc: ADD
000007dd: DUP3
000007de: SWAP1
000007df: MSTORE
000007e0: PUSH1 0x24
000007e2: ADD
000007e3: PUSH2 0x05e8
000007e6: JUMP
000007e7: JUMPDEST
000007e8: POP
000007e9: POP
000007ea: POP
000007eb: POP
000007ec: POP
000007ed: JUMP
000007ee: JUMPDEST
000007ef: PUSH1 0x00
000007f1: DUP3
000007f2: DUP2
000007f3: MSTORE
000007f4: PUSH1 0x65
000007f6: PUSH1 0x20
000007f8: MSTORE
000007f9: PUSH1 0x40
000007fb: SWAP1
000007fc: KECCAK256
000007fd: PUSH1 0x01
000007ff: ADD
00000800: SLOAD
00000801: PUSH2 0x0809
00000804: DUP2
00000805: PUSH2 0x1068
00000808: JUMP
00000809: JUMPDEST
0000080a: PUSH2 0x0813
0000080d: DUP4
0000080e: DUP4
0000080f: PUSH2 0x11d7
00000812: JUMP
00000813: JUMPDEST
00000814: POP
00000815: POP
00000816: POP
00000817: JUMP
00000818: JUMPDEST
00000819: PUSH1 0x00
0000081b: DUP1
0000081c: MLOAD
0000081d: PUSH1 0x20
0000081f: PUSH2 0x241d
00000822: DUP4
00000823: CODECOPY
00000824: DUP2
00000825: MLOAD
00000826: SWAP2
00000827: MSTORE
00000828: PUSH2 0x0830
0000082b: DUP2
0000082c: PUSH2 0x1068
0000082f: JUMP
00000830: JUMPDEST
00000831: PUSH1 0x00
00000833: JUMPDEST
00000834: DUP3
00000835: DUP2
00000836: LT
00000837: ISZERO
00000838: PUSH2 0x08dc
0000083b: JUMPI
0000083c: PUSH2 0x08ca
0000083f: DUP5
00000840: DUP5
00000841: DUP4
00000842: DUP2
00000843: DUP2
00000844: LT
00000845: PUSH2 0x0850
00000848: JUMPI
00000849: PUSH2 0x0850
0000084c: PUSH2 0x21ce
0000084f: JUMP
00000850: JUMPDEST
00000851: SWAP1
00000852: POP
00000853: PUSH1 0x20
00000855: MUL
00000856: DUP2
00000857: ADD
00000858: SWAP1
00000859: PUSH2 0x0862
0000085c: SWAP2
0000085d: SWAP1
0000085e: PUSH2 0x21e4
00000861: JUMP
00000862: JUMPDEST
00000863: PUSH2 0x0870
00000866: SWAP1
00000867: PUSH1 0x20
00000869: DUP2
0000086a: ADD
0000086b: SWAP1
0000086c: PUSH2 0x1dfa
0000086f: JUMP
00000870: JUMPDEST
00000871: DUP6
00000872: DUP6
00000873: DUP5
00000874: DUP2
00000875: DUP2
00000876: LT
00000877: PUSH2 0x0882
0000087a: JUMPI
0000087b: PUSH2 0x0882
0000087e: PUSH2 0x21ce
00000881: JUMP
00000882: JUMPDEST
00000883: SWAP1
00000884: POP
00000885: PUSH1 0x20
00000887: MUL
00000888: DUP2
00000889: ADD
0000088a: SWAP1
0000088b: PUSH2 0x0894
0000088e: SWAP2
0000088f: SWAP1
00000890: PUSH2 0x21e4
00000893: JUMP
00000894: JUMPDEST
00000895: PUSH1 0x20
00000897: ADD
00000898: CALLDATALOAD
00000899: DUP7
0000089a: DUP7
0000089b: DUP6
0000089c: DUP2
0000089d: DUP2
0000089e: LT
0000089f: PUSH2 0x08aa
000008a2: JUMPI
000008a3: PUSH2 0x08aa
000008a6: PUSH2 0x21ce
000008a9: JUMP
000008aa: JUMPDEST
000008ab: SWAP1
000008ac: POP
000008ad: PUSH1 0x20
000008af: MUL
000008b0: DUP2
000008b1: ADD
000008b2: SWAP1
000008b3: PUSH2 0x08bc
000008b6: SWAP2
000008b7: SWAP1
000008b8: PUSH2 0x21e4
000008bb: JUMP
000008bc: JUMPDEST
000008bd: PUSH2 0x071f
000008c0: SWAP1
000008c1: PUSH1 0x40
000008c3: DUP2
000008c4: ADD
000008c5: SWAP1
000008c6: PUSH2 0x2187
000008c9: JUMP
000008ca: JUMPDEST
000008cb: DUP1
000008cc: PUSH2 0x08d4
000008cf: DUP2
000008d0: PUSH2 0x2204
000008d3: JUMP
000008d4: JUMPDEST
000008d5: SWAP2
000008d6: POP
000008d7: POP
000008d8: PUSH2 0x0833
000008db: JUMP
000008dc: JUMPDEST
000008dd: POP
000008de: POP
000008df: POP
000008e0: POP
000008e1: JUMP
000008e2: JUMPDEST
000008e3: PUSH1 0x01
000008e5: PUSH1 0x01
000008e7: PUSH1 0xa0
000008e9: SHL
000008ea: SUB
000008eb: DUP2
000008ec: AND
000008ed: CALLER
000008ee: EQ
000008ef: PUSH2 0x0952
000008f2: JUMPI
000008f3: PUSH1 0x40
000008f5: MLOAD
000008f6: PUSH3 0x461bcd
000008fa: PUSH1 0xe5
000008fc: SHL
000008fd: DUP2
000008fe: MSTORE
000008ff: PUSH1 0x20
00000901: PUSH1 0x04
00000903: DUP3
00000904: ADD
00000905: MSTORE
00000906: PUSH1 0x2f
00000908: PUSH1 0x24
0000090a: DUP3
0000090b: ADD
0000090c: MSTORE
0000090d: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365
0000092e: PUSH1 0x44
00000930: DUP3
00000931: ADD
00000932: MSTORE
00000933: PUSH15 0x103937b632b9903337b91039b2b633
00000943: PUSH1 0x89
00000945: SHL
00000946: PUSH1 0x64
00000948: DUP3
00000949: ADD
0000094a: MSTORE
0000094b: PUSH1 0x84
0000094d: ADD
0000094e: PUSH2 0x05e8
00000951: JUMP
00000952: JUMPDEST
00000953: PUSH2 0x095c
00000956: DUP3
00000957: DUP3
00000958: PUSH2 0x125d
0000095b: JUMP
0000095c: JUMPDEST
0000095d: POP
0000095e: POP
0000095f: JUMP
00000960: JUMPDEST
00000961: PUSH1 0x01
00000963: PUSH1 0x01
00000965: PUSH1 0xa0
00000967: SHL
00000968: SUB
00000969: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b
0000098a: AND
0000098b: ADDRESS
0000098c: SUB
0000098d: PUSH2 0x09a8
00000990: JUMPI
00000991: PUSH1 0x40
00000993: MLOAD
00000994: PUSH3 0x461bcd
00000998: PUSH1 0xe5
0000099a: SHL
0000099b: DUP2
0000099c: MSTORE
0000099d: PUSH1 0x04
0000099f: ADD
000009a0: PUSH2 0x05e8
000009a3: SWAP1
000009a4: PUSH2 0x221d
000009a7: JUMP
000009a8: JUMPDEST
000009a9: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b
000009ca: PUSH1 0x01
000009cc: PUSH1 0x01
000009ce: PUSH1 0xa0
000009d0: SHL
000009d1: SUB
000009d2: AND
000009d3: PUSH2 0x09f1
000009d6: PUSH1 0x00
000009d8: DUP1
000009d9: MLOAD
000009da: PUSH1 0x20
000009dc: PUSH2 0x238d
000009df: DUP4
000009e0: CODECOPY
000009e1: DUP2
000009e2: MLOAD
000009e3: SWAP2
000009e4: MSTORE
000009e5: SLOAD
000009e6: PUSH1 0x01
000009e8: PUSH1 0x01
000009ea: PUSH1 0xa0
000009ec: SHL
000009ed: SUB
000009ee: AND
000009ef: SWAP1
000009f0: JUMP
000009f1: JUMPDEST
000009f2: PUSH1 0x01
000009f4: PUSH1 0x01
000009f6: PUSH1 0xa0
000009f8: SHL
000009f9: SUB
000009fa: AND
000009fb: EQ
000009fc: PUSH2 0x0a17
000009ff: JUMPI
00000a00: PUSH1 0x40
00000a02: MLOAD
00000a03: PUSH3 0x461bcd
00000a07: PUSH1 0xe5
00000a09: SHL
00000a0a: DUP2
00000a0b: MSTORE
00000a0c: PUSH1 0x04
00000a0e: ADD
00000a0f: PUSH2 0x05e8
00000a12: SWAP1
00000a13: PUSH2 0x2269
00000a16: JUMP
00000a17: JUMPDEST
00000a18: PUSH2 0x0a20
00000a1b: DUP2
00000a1c: PUSH2 0x12c4
00000a1f: JUMP
00000a20: JUMPDEST
00000a21: PUSH1 0x40
00000a23: DUP1
00000a24: MLOAD
00000a25: PUSH1 0x00
00000a27: DUP1
00000a28: DUP3
00000a29: MSTORE
00000a2a: PUSH1 0x20
00000a2c: DUP3
00000a2d: ADD
00000a2e: SWAP1
00000a2f: SWAP3
00000a30: MSTORE
00000a31: PUSH2 0x0a3c
00000a34: SWAP2
00000a35: DUP4
00000a36: SWAP2
00000a37: SWAP1
00000a38: PUSH2 0x12dc
00000a3b: JUMP
00000a3c: JUMPDEST
00000a3d: POP
00000a3e: JUMP
00000a3f: JUMPDEST
00000a40: PUSH1 0x00
00000a42: SLOAD
00000a43: PUSH2 0x0100
00000a46: SWAP1
00000a47: DIV
00000a48: PUSH1 0xff
00000a4a: AND
00000a4b: ISZERO
00000a4c: DUP1
00000a4d: DUP1
00000a4e: ISZERO
00000a4f: PUSH2 0x0a5f
00000a52: JUMPI
00000a53: POP
00000a54: PUSH1 0x00
00000a56: SLOAD
00000a57: PUSH1 0x01
00000a59: PUSH1 0xff
00000a5b: SWAP1
00000a5c: SWAP2
00000a5d: AND
00000a5e: LT
00000a5f: JUMPDEST
00000a60: DUP1
00000a61: PUSH2 0x0a79
00000a64: JUMPI
00000a65: POP
00000a66: ADDRESS
00000a67: EXTCODESIZE
00000a68: ISZERO
00000a69: DUP1
00000a6a: ISZERO
00000a6b: PUSH2 0x0a79
00000a6e: JUMPI
00000a6f: POP
00000a70: PUSH1 0x00
00000a72: SLOAD
00000a73: PUSH1 0xff
00000a75: AND
00000a76: PUSH1 0x01
00000a78: EQ
00000a79: JUMPDEST
00000a7a: PUSH2 0x0adc
00000a7d: JUMPI
00000a7e: PUSH1 0x40
00000a80: MLOAD
00000a81: PUSH3 0x461bcd
00000a85: PUSH1 0xe5
00000a87: SHL
00000a88: DUP2
00000a89: MSTORE
00000a8a: PUSH1 0x20
00000a8c: PUSH1 0x04
00000a8e: DUP3
00000a8f: ADD
00000a90: MSTORE
00000a91: PUSH1 0x2e
00000a93: PUSH1 0x24
00000a95: DUP3
00000a96: ADD
00000a97: MSTORE
00000a98: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00000ab9: PUSH1 0x44
00000abb: DUP3
00000abc: ADD
00000abd: MSTORE
00000abe: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00000acd: PUSH1 0x92
00000acf: SHL
00000ad0: PUSH1 0x64
00000ad2: DUP3
00000ad3: ADD
00000ad4: MSTORE
00000ad5: PUSH1 0x84
00000ad7: ADD
00000ad8: PUSH2 0x05e8
00000adb: JUMP
00000adc: JUMPDEST
00000add: PUSH1 0x00
00000adf: DUP1
00000ae0: SLOAD
00000ae1: PUSH1 0xff
00000ae3: NOT
00000ae4: AND
00000ae5: PUSH1 0x01
00000ae7: OR
00000ae8: SWAP1
00000ae9: SSTORE
00000aea: DUP1
00000aeb: ISZERO
00000aec: PUSH2 0x0aff
00000aef: JUMPI
00000af0: PUSH1 0x00
00000af2: DUP1
00000af3: SLOAD
00000af4: PUSH2 0xff00
00000af7: NOT
00000af8: AND
00000af9: PUSH2 0x0100
00000afc: OR
00000afd: SWAP1
00000afe: SSTORE
00000aff: JUMPDEST
00000b00: PUSH2 0x0b07
00000b03: PUSH2 0x1447
00000b06: JUMP
00000b07: JUMPDEST
00000b08: PUSH2 0x0b0f
00000b0b: PUSH2 0x1447
00000b0e: JUMP
00000b0f: JUMPDEST
00000b10: PUSH2 0x0b35
00000b13: PUSH1 0x00
00000b15: DUP1
00000b16: MLOAD
00000b17: PUSH1 0x20
00000b19: PUSH2 0x241d
00000b1c: DUP4
00000b1d: CODECOPY
00000b1e: DUP2
00000b1f: MLOAD
00000b20: SWAP2
00000b21: MSTORE
00000b22: PUSH1 0x00
00000b24: DUP1
00000b25: MLOAD
00000b26: PUSH1 0x20
00000b28: PUSH2 0x23fd
00000b2b: DUP4
00000b2c: CODECOPY
00000b2d: DUP2
00000b2e: MLOAD
00000b2f: SWAP2
00000b30: MSTORE
00000b31: PUSH2 0x14b4
00000b34: JUMP
00000b35: JUMPDEST
00000b36: PUSH2 0x0b4d
00000b39: PUSH1 0x00
00000b3b: DUP1
00000b3c: MLOAD
00000b3d: PUSH1 0x20
00000b3f: PUSH2 0x23fd
00000b42: DUP4
00000b43: CODECOPY
00000b44: DUP2
00000b45: MLOAD
00000b46: SWAP2
00000b47: MSTORE
00000b48: DUP1
00000b49: PUSH2 0x14b4
00000b4c: JUMP
00000b4d: JUMPDEST
00000b4e: PUSH1 0x00
00000b50: JUMPDEST
00000b51: DUP7
00000b52: DUP2
00000b53: LT
00000b54: ISZERO
00000b55: PUSH2 0x0bf8
00000b58: JUMPI
00000b59: PUSH1 0x00
00000b5b: DUP9
00000b5c: DUP9
00000b5d: DUP4
00000b5e: DUP2
00000b5f: DUP2
00000b60: LT
00000b61: PUSH2 0x0b6c
00000b64: JUMPI
00000b65: PUSH2 0x0b6c
00000b68: PUSH2 0x21ce
00000b6b: JUMP
00000b6c: JUMPDEST
00000b6d: SWAP1
00000b6e: POP
00000b6f: PUSH1 0x20
00000b71: MUL
00000b72: ADD
00000b73: PUSH1 0x20
00000b75: DUP2
00000b76: ADD
00000b77: SWAP1
00000b78: PUSH2 0x0b81
00000b7b: SWAP2
00000b7c: SWAP1
00000b7d: PUSH2 0x1dfa
00000b80: JUMP
00000b81: JUMPDEST
00000b82: PUSH1 0x01
00000b84: PUSH1 0x01
00000b86: PUSH1 0xa0
00000b88: SHL
00000b89: SUB
00000b8a: AND
00000b8b: SUB
00000b8c: PUSH2 0x0ba8
00000b8f: JUMPI
00000b90: PUSH1 0x40
00000b92: MLOAD
00000b93: PUSH4 0x42bcdf7f
00000b98: PUSH1 0xe1
00000b9a: SHL
00000b9b: DUP2
00000b9c: MSTORE
00000b9d: PUSH1 0x04
00000b9f: ADD
00000ba0: PUSH1 0x40
00000ba2: MLOAD
00000ba3: DUP1
00000ba4: SWAP2
00000ba5: SUB
00000ba6: SWAP1
00000ba7: REVERT
00000ba8: JUMPDEST
00000ba9: PUSH2 0x0be6
00000bac: PUSH1 0x00
00000bae: DUP1
00000baf: MLOAD
00000bb0: PUSH1 0x20
00000bb2: PUSH2 0x23fd
00000bb5: DUP4
00000bb6: CODECOPY
00000bb7: DUP2
00000bb8: MLOAD
00000bb9: SWAP2
00000bba: MSTORE
00000bbb: DUP10
00000bbc: DUP10
00000bbd: DUP5
00000bbe: DUP2
00000bbf: DUP2
00000bc0: LT
00000bc1: PUSH2 0x0bcc
00000bc4: JUMPI
00000bc5: PUSH2 0x0bcc
00000bc8: PUSH2 0x21ce
00000bcb: JUMP
00000bcc: JUMPDEST
00000bcd: SWAP1
00000bce: POP
00000bcf: PUSH1 0x20
00000bd1: MUL
00000bd2: ADD
00000bd3: PUSH1 0x20
00000bd5: DUP2
00000bd6: ADD
00000bd7: SWAP1
00000bd8: PUSH2 0x0be1
00000bdb: SWAP2
00000bdc: SWAP1
00000bdd: PUSH2 0x1dfa
00000be0: JUMP
00000be1: JUMPDEST
00000be2: PUSH2 0x11d7
00000be5: JUMP
00000be6: JUMPDEST
00000be7: DUP1
00000be8: PUSH2 0x0bf0
00000beb: DUP2
00000bec: PUSH2 0x2204
00000bef: JUMP
00000bf0: JUMPDEST
00000bf1: SWAP2
00000bf2: POP
00000bf3: POP
00000bf4: PUSH2 0x0b50
00000bf7: JUMP
00000bf8: JUMPDEST
00000bf9: POP
00000bfa: PUSH1 0x00
00000bfc: JUMPDEST
00000bfd: DUP5
00000bfe: DUP2
00000bff: LT
00000c00: ISZERO
00000c01: PUSH2 0x0c8a
00000c04: JUMPI
00000c05: PUSH1 0x00
00000c07: DUP7
00000c08: DUP7
00000c09: DUP4
00000c0a: DUP2
00000c0b: DUP2
00000c0c: LT
00000c0d: PUSH2 0x0c18
00000c10: JUMPI
00000c11: PUSH2 0x0c18
00000c14: PUSH2 0x21ce
00000c17: JUMP
00000c18: JUMPDEST
00000c19: SWAP1
00000c1a: POP
00000c1b: PUSH1 0x20
00000c1d: MUL
00000c1e: ADD
00000c1f: PUSH1 0x20
00000c21: DUP2
00000c22: ADD
00000c23: SWAP1
00000c24: PUSH2 0x0c2d
00000c27: SWAP2
00000c28: SWAP1
00000c29: PUSH2 0x1dfa
00000c2c: JUMP
00000c2d: JUMPDEST
00000c2e: PUSH1 0x01
00000c30: PUSH1 0x01
00000c32: PUSH1 0xa0
00000c34: SHL
00000c35: SUB
00000c36: AND
00000c37: SUB
00000c38: PUSH2 0x0c54
00000c3b: JUMPI
00000c3c: PUSH1 0x40
00000c3e: MLOAD
00000c3f: PUSH4 0x42bcdf7f
00000c44: PUSH1 0xe1
00000c46: SHL
00000c47: DUP2
00000c48: MSTORE
00000c49: PUSH1 0x04
00000c4b: ADD
00000c4c: PUSH1 0x40
00000c4e: MLOAD
00000c4f: DUP1
00000c50: SWAP2
00000c51: SUB
00000c52: SWAP1
00000c53: REVERT
00000c54: JUMPDEST
00000c55: PUSH2 0x0c78
00000c58: PUSH1 0x00
00000c5a: DUP1
00000c5b: MLOAD
00000c5c: PUSH1 0x20
00000c5e: PUSH2 0x241d
00000c61: DUP4
00000c62: CODECOPY
00000c63: DUP2
00000c64: MLOAD
00000c65: SWAP2
00000c66: MSTORE
00000c67: DUP8
00000c68: DUP8
00000c69: DUP5
00000c6a: DUP2
00000c6b: DUP2
00000c6c: LT
00000c6d: PUSH2 0x0bcc
00000c70: JUMPI
00000c71: PUSH2 0x0bcc
00000c74: PUSH2 0x21ce
00000c77: JUMP
00000c78: JUMPDEST
00000c79: DUP1
00000c7a: PUSH2 0x0c82
00000c7d: DUP2
00000c7e: PUSH2 0x2204
00000c81: JUMP
00000c82: JUMPDEST
00000c83: SWAP2
00000c84: POP
00000c85: POP
00000c86: PUSH2 0x0bfc
00000c89: JUMP
00000c8a: JUMPDEST
00000c8b: POP
00000c8c: PUSH1 0x00
00000c8e: JUMPDEST
00000c8f: DUP3
00000c90: DUP2
00000c91: LT
00000c92: ISZERO
00000c93: PUSH2 0x0d4d
00000c96: JUMPI
00000c97: PUSH1 0x00
00000c99: DUP5
00000c9a: DUP5
00000c9b: DUP4
00000c9c: DUP2
00000c9d: DUP2
00000c9e: LT
00000c9f: PUSH2 0x0caa
00000ca2: JUMPI
00000ca3: PUSH2 0x0caa
00000ca6: PUSH2 0x21ce
00000ca9: JUMP
00000caa: JUMPDEST
00000cab: SWAP1
00000cac: POP
00000cad: PUSH1 0x20
00000caf: MUL
00000cb0: ADD
00000cb1: PUSH1 0x20
00000cb3: DUP2
00000cb4: ADD
00000cb5: SWAP1
00000cb6: PUSH2 0x0cbf
00000cb9: SWAP2
00000cba: SWAP1
00000cbb: PUSH2 0x1dfa
00000cbe: JUMP
00000cbf: JUMPDEST
00000cc0: PUSH1 0x01
00000cc2: PUSH1 0x01
00000cc4: PUSH1 0xa0
00000cc6: SHL
00000cc7: SUB
00000cc8: AND
00000cc9: SUB
00000cca: PUSH2 0x0ce6
00000ccd: JUMPI
00000cce: PUSH1 0x40
00000cd0: MLOAD
00000cd1: PUSH4 0x42bcdf7f
00000cd6: PUSH1 0xe1
00000cd8: SHL
00000cd9: DUP2
00000cda: MSTORE
00000cdb: PUSH1 0x04
00000cdd: ADD
00000cde: PUSH1 0x40
00000ce0: MLOAD
00000ce1: DUP1
00000ce2: SWAP2
00000ce3: SUB
00000ce4: SWAP1
00000ce5: REVERT
00000ce6: JUMPDEST
00000ce7: PUSH1 0x01
00000ce9: PUSH1 0xfb
00000ceb: PUSH1 0x00
00000ced: DUP7
00000cee: DUP7
00000cef: DUP6
00000cf0: DUP2
00000cf1: DUP2
00000cf2: LT
00000cf3: PUSH2 0x0cfe
00000cf6: JUMPI
00000cf7: PUSH2 0x0cfe
00000cfa: PUSH2 0x21ce
00000cfd: JUMP
00000cfe: JUMPDEST
00000cff: SWAP1
00000d00: POP
00000d01: PUSH1 0x20
00000d03: MUL
00000d04: ADD
00000d05: PUSH1 0x20
00000d07: DUP2
00000d08: ADD
00000d09: SWAP1
00000d0a: PUSH2 0x0d13
00000d0d: SWAP2
00000d0e: SWAP1
00000d0f: PUSH2 0x1dfa
00000d12: JUMP
00000d13: JUMPDEST
00000d14: PUSH1 0x01
00000d16: PUSH1 0x01
00000d18: PUSH1 0xa0
00000d1a: SHL
00000d1b: SUB
00000d1c: AND
00000d1d: DUP2
00000d1e: MSTORE
00000d1f: PUSH1 0x20
00000d21: DUP2
00000d22: ADD
00000d23: SWAP2
00000d24: SWAP1
00000d25: SWAP2
00000d26: MSTORE
00000d27: PUSH1 0x40
00000d29: ADD
00000d2a: PUSH1 0x00
00000d2c: KECCAK256
00000d2d: DUP1
00000d2e: SLOAD
00000d2f: PUSH1 0xff
00000d31: NOT
00000d32: AND
00000d33: SWAP2
00000d34: ISZERO
00000d35: ISZERO
00000d36: SWAP2
00000d37: SWAP1
00000d38: SWAP2
00000d39: OR
00000d3a: SWAP1
00000d3b: SSTORE
00000d3c: DUP1
00000d3d: PUSH2 0x0d45
00000d40: DUP2
00000d41: PUSH2 0x2204
00000d44: JUMP
00000d45: JUMPDEST
00000d46: SWAP2
00000d47: POP
00000d48: POP
00000d49: PUSH2 0x0c8e
00000d4c: JUMP
00000d4d: JUMPDEST
00000d4e: POP
00000d4f: DUP1
00000d50: ISZERO
00000d51: PUSH2 0x0d94
00000d54: JUMPI
00000d55: PUSH1 0x00
00000d57: DUP1
00000d58: SLOAD
00000d59: PUSH2 0xff00
00000d5c: NOT
00000d5d: AND
00000d5e: SWAP1
00000d5f: SSTORE
00000d60: PUSH1 0x40
00000d62: MLOAD
00000d63: PUSH1 0x01
00000d65: DUP2
00000d66: MSTORE
00000d67: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00000d88: SWAP1
00000d89: PUSH1 0x20
00000d8b: ADD
00000d8c: PUSH1 0x40
00000d8e: MLOAD
00000d8f: DUP1
00000d90: SWAP2
00000d91: SUB
00000d92: SWAP1
00000d93: LOG1
00000d94: JUMPDEST
00000d95: POP
00000d96: POP
00000d97: POP
00000d98: POP
00000d99: POP
00000d9a: POP
00000d9b: POP
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH1 0x01
00000da0: PUSH1 0x01
00000da2: PUSH1 0xa0
00000da4: SHL
00000da5: SUB
00000da6: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b
00000dc7: AND
00000dc8: ADDRESS
00000dc9: SUB
00000dca: PUSH2 0x0de5
00000dcd: JUMPI
00000dce: PUSH1 0x40
00000dd0: MLOAD
00000dd1: PUSH3 0x461bcd
00000dd5: PUSH1 0xe5
00000dd7: SHL
00000dd8: DUP2
00000dd9: MSTORE
00000dda: PUSH1 0x04
00000ddc: ADD
00000ddd: PUSH2 0x05e8
00000de0: SWAP1
00000de1: PUSH2 0x221d
00000de4: JUMP
00000de5: JUMPDEST
00000de6: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b
00000e07: PUSH1 0x01
00000e09: PUSH1 0x01
00000e0b: PUSH1 0xa0
00000e0d: SHL
00000e0e: SUB
00000e0f: AND
00000e10: PUSH2 0x0e2e
00000e13: PUSH1 0x00
00000e15: DUP1
00000e16: MLOAD
00000e17: PUSH1 0x20
00000e19: PUSH2 0x238d
00000e1c: DUP4
00000e1d: CODECOPY
00000e1e: DUP2
00000e1f: MLOAD
00000e20: SWAP2
00000e21: MSTORE
00000e22: SLOAD
00000e23: PUSH1 0x01
00000e25: PUSH1 0x01
00000e27: PUSH1 0xa0
00000e29: SHL
00000e2a: SUB
00000e2b: AND
00000e2c: SWAP1
00000e2d: JUMP
00000e2e: JUMPDEST
00000e2f: PUSH1 0x01
00000e31: PUSH1 0x01
00000e33: PUSH1 0xa0
00000e35: SHL
00000e36: SUB
00000e37: AND
00000e38: EQ
00000e39: PUSH2 0x0e54
00000e3c: JUMPI
00000e3d: PUSH1 0x40
00000e3f: MLOAD
00000e40: PUSH3 0x461bcd
00000e44: PUSH1 0xe5
00000e46: SHL
00000e47: DUP2
00000e48: MSTORE
00000e49: PUSH1 0x04
00000e4b: ADD
00000e4c: PUSH2 0x05e8
00000e4f: SWAP1
00000e50: PUSH2 0x2269
00000e53: JUMP
00000e54: JUMPDEST
00000e55: PUSH2 0x0e5d
00000e58: DUP3
00000e59: PUSH2 0x12c4
00000e5c: JUMP
00000e5d: JUMPDEST
00000e5e: PUSH2 0x095c
00000e61: DUP3
00000e62: DUP3
00000e63: PUSH1 0x01
00000e65: PUSH2 0x12dc
00000e68: JUMP
00000e69: JUMPDEST
00000e6a: PUSH1 0x00
00000e6c: ADDRESS
00000e6d: PUSH1 0x01
00000e6f: PUSH1 0x01
00000e71: PUSH1 0xa0
00000e73: SHL
00000e74: SUB
00000e75: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b
00000e96: AND
00000e97: EQ
00000e98: PUSH2 0x0f09
00000e9b: JUMPI
00000e9c: PUSH1 0x40
00000e9e: MLOAD
00000e9f: PUSH3 0x461bcd
00000ea3: PUSH1 0xe5
00000ea5: SHL
00000ea6: DUP2
00000ea7: MSTORE
00000ea8: PUSH1 0x20
00000eaa: PUSH1 0x04
00000eac: DUP3
00000ead: ADD
00000eae: MSTORE
00000eaf: PUSH1 0x38
00000eb1: PUSH1 0x24
00000eb3: DUP3
00000eb4: ADD
00000eb5: MSTORE
00000eb6: PUSH32 0x555550535570677261646561626c653a206d757374206e6f742062652063616c
00000ed7: PUSH1 0x44
00000ed9: DUP3
00000eda: ADD
00000edb: MSTORE
00000edc: PUSH32 0x6c6564207468726f7567682064656c656761746563616c6c0000000000000000
00000efd: PUSH1 0x64
00000eff: DUP3
00000f00: ADD
00000f01: MSTORE
00000f02: PUSH1 0x84
00000f04: ADD
00000f05: PUSH2 0x05e8
00000f08: JUMP
00000f09: JUMPDEST
00000f0a: POP
00000f0b: PUSH1 0x00
00000f0d: DUP1
00000f0e: MLOAD
00000f0f: PUSH1 0x20
00000f11: PUSH2 0x238d
00000f14: DUP4
00000f15: CODECOPY
00000f16: DUP2
00000f17: MLOAD
00000f18: SWAP2
00000f19: MSTORE
00000f1a: SWAP1
00000f1b: JUMP
00000f1c: JUMPDEST
00000f1d: PUSH1 0x00
00000f1f: DUP1
00000f20: MLOAD
00000f21: PUSH1 0x20
00000f23: PUSH2 0x23fd
00000f26: DUP4
00000f27: CODECOPY
00000f28: DUP2
00000f29: MLOAD
00000f2a: SWAP2
00000f2b: MSTORE
00000f2c: PUSH2 0x0f34
00000f2f: DUP2
00000f30: PUSH2 0x1068
00000f33: JUMP
00000f34: JUMPDEST
00000f35: PUSH1 0x01
00000f37: PUSH1 0x01
00000f39: PUSH1 0xa0
00000f3b: SHL
00000f3c: SUB
00000f3d: DUP3
00000f3e: AND
00000f3f: EXTCODESIZE
00000f40: PUSH2 0x0f5c
00000f43: JUMPI
00000f44: PUSH1 0x40
00000f46: MLOAD
00000f47: PUSH4 0x4aa4cf51
00000f4c: PUSH1 0xe0
00000f4e: SHL
00000f4f: DUP2
00000f50: MSTORE
00000f51: PUSH1 0x04
00000f53: ADD
00000f54: PUSH1 0x40
00000f56: MLOAD
00000f57: DUP1
00000f58: SWAP2
00000f59: SUB
00000f5a: SWAP1
00000f5b: REVERT
00000f5c: JUMPDEST
00000f5d: POP
00000f5e: PUSH1 0x01
00000f60: PUSH1 0x01
00000f62: PUSH1 0xa0
00000f64: SHL
00000f65: SUB
00000f66: AND
00000f67: PUSH1 0x00
00000f69: SWAP1
00000f6a: DUP2
00000f6b: MSTORE
00000f6c: PUSH1 0xfb
00000f6e: PUSH1 0x20
00000f70: MSTORE
00000f71: PUSH1 0x40
00000f73: SWAP1
00000f74: KECCAK256
00000f75: DUP1
00000f76: SLOAD
00000f77: PUSH1 0xff
00000f79: NOT
00000f7a: AND
00000f7b: PUSH1 0x01
00000f7d: OR
00000f7e: SWAP1
00000f7f: SSTORE
00000f80: JUMP
00000f81: JUMPDEST
00000f82: PUSH1 0x00
00000f84: DUP1
00000f85: MLOAD
00000f86: PUSH1 0x20
00000f88: PUSH2 0x241d
00000f8b: DUP4
00000f8c: CODECOPY
00000f8d: DUP2
00000f8e: MLOAD
00000f8f: SWAP2
00000f90: MSTORE
00000f91: PUSH2 0x0f99
00000f94: DUP2
00000f95: PUSH2 0x1068
00000f98: JUMP
00000f99: JUMPDEST
00000f9a: PUSH2 0x095c
00000f9d: PUSH2 0x0fa9
00000fa0: PUSH1 0x20
00000fa2: DUP5
00000fa3: ADD
00000fa4: DUP5
00000fa5: PUSH2 0x1dfa
00000fa8: JUMP
00000fa9: JUMPDEST
00000faa: PUSH1 0x20
00000fac: DUP5
00000fad: ADD
00000fae: CALLDATALOAD
00000faf: PUSH2 0x071f
00000fb2: PUSH1 0x40
00000fb4: DUP7
00000fb5: ADD
00000fb6: DUP7
00000fb7: PUSH2 0x2187
00000fba: JUMP
00000fbb: JUMPDEST
00000fbc: PUSH1 0x00
00000fbe: DUP1
00000fbf: MLOAD
00000fc0: PUSH1 0x20
00000fc2: PUSH2 0x23fd
00000fc5: DUP4
00000fc6: CODECOPY
00000fc7: DUP2
00000fc8: MLOAD
00000fc9: SWAP2
00000fca: MSTORE
00000fcb: PUSH2 0x0fd3
00000fce: DUP2
00000fcf: PUSH2 0x1068
00000fd2: JUMP
00000fd3: JUMPDEST
00000fd4: PUSH2 0x08dc
00000fd7: DUP5
00000fd8: DUP5
00000fd9: DUP5
00000fda: PUSH2 0x14ff
00000fdd: JUMP
00000fde: JUMPDEST
00000fdf: PUSH1 0x00
00000fe1: SWAP2
00000fe2: DUP3
00000fe3: MSTORE
00000fe4: PUSH1 0x65
00000fe6: PUSH1 0x20
00000fe8: SWAP1
00000fe9: DUP2
00000fea: MSTORE
00000feb: PUSH1 0x40
00000fed: DUP1
00000fee: DUP5
00000fef: KECCAK256
00000ff0: PUSH1 0x01
00000ff2: PUSH1 0x01
00000ff4: PUSH1 0xa0
00000ff6: SHL
00000ff7: SUB
00000ff8: SWAP4
00000ff9: SWAP1
00000ffa: SWAP4
00000ffb: AND
00000ffc: DUP5
00000ffd: MSTORE
00000ffe: SWAP2
00000fff: SWAP1
00001000: MSTORE
00001001: SWAP1
00001002: KECCAK256
00001003: SLOAD
00001004: PUSH1 0xff
00001006: AND
00001007: SWAP1
00001008: JUMP
00001009: JUMPDEST
0000100a: PUSH1 0x00
0000100c: DUP3
0000100d: DUP2
0000100e: MSTORE
0000100f: PUSH1 0x65
00001011: PUSH1 0x20
00001013: MSTORE
00001014: PUSH1 0x40
00001016: SWAP1
00001017: KECCAK256
00001018: PUSH1 0x01
0000101a: ADD
0000101b: SLOAD
0000101c: PUSH2 0x1024
0000101f: DUP2
00001020: PUSH2 0x1068
00001023: JUMP
00001024: JUMPDEST
00001025: PUSH2 0x0813
00001028: DUP4
00001029: DUP4
0000102a: PUSH2 0x125d
0000102d: JUMP
0000102e: JUMPDEST
0000102f: PUSH1 0x00
00001031: DUP1
00001032: MLOAD
00001033: PUSH1 0x20
00001035: PUSH2 0x241d
00001038: DUP4
00001039: CODECOPY
0000103a: DUP2
0000103b: MLOAD
0000103c: SWAP2
0000103d: MSTORE
0000103e: PUSH2 0x0fd3
00001041: DUP2
00001042: PUSH2 0x1068
00001045: JUMP
00001046: JUMPDEST
00001047: PUSH1 0x00
00001049: DUP1
0000104a: MLOAD
0000104b: PUSH1 0x20
0000104d: PUSH2 0x23fd
00001050: DUP4
00001051: CODECOPY
00001052: DUP2
00001053: MLOAD
00001054: SWAP2
00001055: MSTORE
00001056: PUSH2 0x105e
00001059: DUP2
0000105a: PUSH2 0x1068
0000105d: JUMP
0000105e: JUMPDEST
0000105f: PUSH2 0x0813
00001062: DUP4
00001063: DUP4
00001064: PUSH2 0x15e3
00001067: JUMP
00001068: JUMPDEST
00001069: PUSH2 0x0a3c
0000106c: DUP2
0000106d: CALLER
0000106e: PUSH2 0x16fc
00001071: JUMP
00001072: JUMPDEST
00001073: PUSH1 0x40
00001075: MLOAD
00001076: PUSH4 0x6eb1769f
0000107b: PUSH1 0xe1
0000107d: SHL
0000107e: DUP2
0000107f: MSTORE
00001080: ADDRESS
00001081: PUSH1 0x04
00001083: DUP3
00001084: ADD
00001085: MSTORE
00001086: PUSH1 0x01
00001088: PUSH1 0x01
0000108a: PUSH1 0xa0
0000108c: SHL
0000108d: SUB
0000108e: DUP4
0000108f: DUP2
00001090: AND
00001091: PUSH1 0x24
00001093: DUP4
00001094: ADD
00001095: MSTORE
00001096: PUSH1 0x00
00001098: SWAP2
00001099: SWAP1
0000109a: DUP6
0000109b: AND
0000109c: SWAP1
0000109d: PUSH4 0xdd62ed3e
000010a2: SWAP1
000010a3: PUSH1 0x44
000010a5: ADD
000010a6: PUSH1 0x20
000010a8: PUSH1 0x40
000010aa: MLOAD
000010ab: DUP1
000010ac: DUP4
000010ad: SUB
000010ae: DUP2
000010af: DUP7
000010b0: GAS
000010b1: STATICCALL
000010b2: ISZERO
000010b3: DUP1
000010b4: ISZERO
000010b5: PUSH2 0x10c2
000010b8: JUMPI
000010b9: RETURNDATASIZE
000010ba: PUSH1 0x00
000010bc: DUP1
000010bd: RETURNDATACOPY
000010be: RETURNDATASIZE
000010bf: PUSH1 0x00
000010c1: REVERT
000010c2: JUMPDEST
000010c3: POP
000010c4: POP
000010c5: POP
000010c6: POP
000010c7: PUSH1 0x40
000010c9: MLOAD
000010ca: RETURNDATASIZE
000010cb: PUSH1 0x1f
000010cd: NOT
000010ce: PUSH1 0x1f
000010d0: DUP3
000010d1: ADD
000010d2: AND
000010d3: DUP3
000010d4: ADD
000010d5: DUP1
000010d6: PUSH1 0x40
000010d8: MSTORE
000010d9: POP
000010da: DUP2
000010db: ADD
000010dc: SWAP1
000010dd: PUSH2 0x10e6
000010e0: SWAP2
000010e1: SWAP1
000010e2: PUSH2 0x2145
000010e5: JUMP
000010e6: JUMPDEST
000010e7: SWAP1
000010e8: POP
000010e9: PUSH2 0x08dc
000010ec: DUP5
000010ed: PUSH4 0x095ea7b3
000010f2: PUSH1 0xe0
000010f4: SHL
000010f5: DUP6
000010f6: PUSH2 0x10ff
000010f9: DUP7
000010fa: DUP7
000010fb: PUSH2 0x2174
000010fe: JUMP
000010ff: JUMPDEST
00001100: PUSH1 0x40
00001102: MLOAD
00001103: PUSH1 0x01
00001105: PUSH1 0x01
00001107: PUSH1 0xa0
00001109: SHL
0000110a: SUB
0000110b: SWAP1
0000110c: SWAP3
0000110d: AND
0000110e: PUSH1 0x24
00001110: DUP4
00001111: ADD
00001112: MSTORE
00001113: PUSH1 0x44
00001115: DUP3
00001116: ADD
00001117: MSTORE
00001118: PUSH1 0x64
0000111a: ADD
0000111b: JUMPDEST
0000111c: PUSH1 0x40
0000111e: DUP1
0000111f: MLOAD
00001120: PUSH1 0x1f
00001122: NOT
00001123: DUP2
00001124: DUP5
00001125: SUB
00001126: ADD
00001127: DUP2
00001128: MSTORE
00001129: SWAP2
0000112a: SWAP1
0000112b: MSTORE
0000112c: PUSH1 0x20
0000112e: DUP2
0000112f: ADD
00001130: DUP1
00001131: MLOAD
00001132: PUSH1 0x01
00001134: PUSH1 0x01
00001136: PUSH1 0xe0
00001138: SHL
00001139: SUB
0000113a: AND
0000113b: PUSH1 0x01
0000113d: PUSH1 0x01
0000113f: PUSH1 0xe0
00001141: SHL
00001142: SUB
00001143: NOT
00001144: SWAP1
00001145: SWAP4
00001146: AND
00001147: SWAP3
00001148: SWAP1
00001149: SWAP3
0000114a: OR
0000114b: SWAP1
0000114c: SWAP2
0000114d: MSTORE
0000114e: PUSH2 0x1755
00001151: JUMP
00001152: JUMPDEST
00001153: PUSH1 0x01
00001155: PUSH1 0x01
00001157: PUSH1 0xa0
00001159: SHL
0000115a: SUB
0000115b: DUP5
0000115c: AND
0000115d: PUSH1 0x00
0000115f: SWAP1
00001160: DUP2
00001161: MSTORE
00001162: PUSH1 0xfb
00001164: PUSH1 0x20
00001166: MSTORE
00001167: PUSH1 0x40
00001169: SWAP1
0000116a: KECCAK256
0000116b: SLOAD
0000116c: PUSH1 0xff
0000116e: AND
0000116f: ISZERO
00001170: PUSH2 0x118c
00001173: JUMPI
00001174: PUSH1 0x40
00001176: MLOAD
00001177: PUSH4 0x20324605
0000117c: PUSH1 0xe0
0000117e: SHL
0000117f: DUP2
00001180: MSTORE
00001181: PUSH1 0x04
00001183: ADD
00001184: PUSH1 0x40
00001186: MLOAD
00001187: DUP1
00001188: SWAP2
00001189: SUB
0000118a: SWAP1
0000118b: REVERT
0000118c: JUMPDEST
0000118d: PUSH2 0x07e7
00001190: DUP3
00001191: DUP3
00001192: DUP1
00001193: DUP1
00001194: PUSH1 0x1f
00001196: ADD
00001197: PUSH1 0x20
00001199: DUP1
0000119a: SWAP2
0000119b: DIV
0000119c: MUL
0000119d: PUSH1 0x20
0000119f: ADD
000011a0: PUSH1 0x40
000011a2: MLOAD
000011a3: SWAP1
000011a4: DUP2
000011a5: ADD
000011a6: PUSH1 0x40
000011a8: MSTORE
000011a9: DUP1
000011aa: SWAP4
000011ab: SWAP3
000011ac: SWAP2
000011ad: SWAP1
000011ae: DUP2
000011af: DUP2
000011b0: MSTORE
000011b1: PUSH1 0x20
000011b3: ADD
000011b4: DUP4
000011b5: DUP4
000011b6: DUP1
000011b7: DUP3
000011b8: DUP5
000011b9: CALLDATACOPY
000011ba: PUSH1 0x00
000011bc: SWAP3
000011bd: ADD
000011be: SWAP2
000011bf: SWAP1
000011c0: SWAP2
000011c1: MSTORE
000011c2: POP
000011c3: POP
000011c4: POP
000011c5: PUSH1 0x01
000011c7: PUSH1 0x01
000011c9: PUSH1 0xa0
000011cb: SHL
000011cc: SUB
000011cd: DUP8
000011ce: AND
000011cf: SWAP2
000011d0: SWAP1
000011d1: POP
000011d2: DUP6
000011d3: PUSH2 0x182a
000011d6: JUMP
000011d7: JUMPDEST
000011d8: PUSH2 0x11e1
000011db: DUP3
000011dc: DUP3
000011dd: PUSH2 0x0fde
000011e0: JUMP
000011e1: JUMPDEST
000011e2: PUSH2 0x095c
000011e5: JUMPI
000011e6: PUSH1 0x00
000011e8: DUP3
000011e9: DUP2
000011ea: MSTORE
000011eb: PUSH1 0x65
000011ed: PUSH1 0x20
000011ef: SWAP1
000011f0: DUP2
000011f1: MSTORE
000011f2: PUSH1 0x40
000011f4: DUP1
000011f5: DUP4
000011f6: KECCAK256
000011f7: PUSH1 0x01
000011f9: PUSH1 0x01
000011fb: PUSH1 0xa0
000011fd: SHL
000011fe: SUB
000011ff: DUP6
00001200: AND
00001201: DUP5
00001202: MSTORE
00001203: SWAP1
00001204: SWAP2
00001205: MSTORE
00001206: SWAP1
00001207: KECCAK256
00001208: DUP1
00001209: SLOAD
0000120a: PUSH1 0xff
0000120c: NOT
0000120d: AND
0000120e: PUSH1 0x01
00001210: OR
00001211: SWAP1
00001212: SSTORE
00001213: PUSH2 0x1219
00001216: CALLER
00001217: SWAP1
00001218: JUMP
00001219: JUMPDEST
0000121a: PUSH1 0x01
0000121c: PUSH1 0x01
0000121e: PUSH1 0xa0
00001220: SHL
00001221: SUB
00001222: AND
00001223: DUP2
00001224: PUSH1 0x01
00001226: PUSH1 0x01
00001228: PUSH1 0xa0
0000122a: SHL
0000122b: SUB
0000122c: AND
0000122d: DUP4
0000122e: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
0000124f: PUSH1 0x40
00001251: MLOAD
00001252: PUSH1 0x40
00001254: MLOAD
00001255: DUP1
00001256: SWAP2
00001257: SUB
00001258: SWAP1
00001259: LOG4
0000125a: POP
0000125b: POP
0000125c: JUMP
0000125d: JUMPDEST
0000125e: PUSH2 0x1267
00001261: DUP3
00001262: DUP3
00001263: PUSH2 0x0fde
00001266: JUMP
00001267: JUMPDEST
00001268: ISZERO
00001269: PUSH2 0x095c
0000126c: JUMPI
0000126d: PUSH1 0x00
0000126f: DUP3
00001270: DUP2
00001271: MSTORE
00001272: PUSH1 0x65
00001274: PUSH1 0x20
00001276: SWAP1
00001277: DUP2
00001278: MSTORE
00001279: PUSH1 0x40
0000127b: DUP1
0000127c: DUP4
0000127d: KECCAK256
0000127e: PUSH1 0x01
00001280: PUSH1 0x01
00001282: PUSH1 0xa0
00001284: SHL
00001285: SUB
00001286: DUP6
00001287: AND
00001288: DUP1
00001289: DUP6
0000128a: MSTORE
0000128b: SWAP3
0000128c: MSTORE
0000128d: DUP1
0000128e: DUP4
0000128f: KECCAK256
00001290: DUP1
00001291: SLOAD
00001292: PUSH1 0xff
00001294: NOT
00001295: AND
00001296: SWAP1
00001297: SSTORE
00001298: MLOAD
00001299: CALLER
0000129a: SWAP3
0000129b: DUP6
0000129c: SWAP2
0000129d: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
000012be: SWAP2
000012bf: SWAP1
000012c0: LOG4
000012c1: POP
000012c2: POP
000012c3: JUMP
000012c4: JUMPDEST
000012c5: PUSH1 0x00
000012c7: DUP1
000012c8: MLOAD
000012c9: PUSH1 0x20
000012cb: PUSH2 0x23fd
000012ce: DUP4
000012cf: CODECOPY
000012d0: DUP2
000012d1: MLOAD
000012d2: SWAP2
000012d3: MSTORE
000012d4: PUSH2 0x095c
000012d7: DUP2
000012d8: PUSH2 0x1068
000012db: JUMP
000012dc: JUMPDEST
000012dd: PUSH32 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143
000012fe: SLOAD
000012ff: PUSH1 0xff
00001301: AND
00001302: ISZERO
00001303: PUSH2 0x130f
00001306: JUMPI
00001307: PUSH2 0x0813
0000130a: DUP4
0000130b: PUSH2 0x1858
0000130e: JUMP
0000130f: JUMPDEST
00001310: DUP3
00001311: PUSH1 0x01
00001313: PUSH1 0x01
00001315: PUSH1 0xa0
00001317: SHL
00001318: SUB
00001319: AND
0000131a: PUSH4 0x52d1902d
0000131f: PUSH1 0x40
00001321: MLOAD
00001322: DUP2
00001323: PUSH4 0xffffffff
00001328: AND
00001329: PUSH1 0xe0
0000132b: SHL
0000132c: DUP2
0000132d: MSTORE
0000132e: PUSH1 0x04
00001330: ADD
00001331: PUSH1 0x20
00001333: PUSH1 0x40
00001335: MLOAD
00001336: DUP1
00001337: DUP4
00001338: SUB
00001339: DUP2
0000133a: DUP7
0000133b: GAS
0000133c: STATICCALL
0000133d: SWAP3
0000133e: POP
0000133f: POP
00001340: POP
00001341: DUP1
00001342: ISZERO
00001343: PUSH2 0x1369
00001346: JUMPI
00001347: POP
00001348: PUSH1 0x40
0000134a: DUP1
0000134b: MLOAD
0000134c: PUSH1 0x1f
0000134e: RETURNDATASIZE
0000134f: SWAP1
00001350: DUP2
00001351: ADD
00001352: PUSH1 0x1f
00001354: NOT
00001355: AND
00001356: DUP3
00001357: ADD
00001358: SWAP1
00001359: SWAP3
0000135a: MSTORE
0000135b: PUSH2 0x1366
0000135e: SWAP2
0000135f: DUP2
00001360: ADD
00001361: SWAP1
00001362: PUSH2 0x2145
00001365: JUMP
00001366: JUMPDEST
00001367: PUSH1 0x01
00001369: JUMPDEST
0000136a: PUSH2 0x13cc
0000136d: JUMPI
0000136e: PUSH1 0x40
00001370: MLOAD
00001371: PUSH3 0x461bcd
00001375: PUSH1 0xe5
00001377: SHL
00001378: DUP2
00001379: MSTORE
0000137a: PUSH1 0x20
0000137c: PUSH1 0x04
0000137e: DUP3
0000137f: ADD
00001380: MSTORE
00001381: PUSH1 0x2e
00001383: PUSH1 0x24
00001385: DUP3
00001386: ADD
00001387: MSTORE
00001388: PUSH32 0x45524331393637557067726164653a206e657720696d706c656d656e74617469
000013a9: PUSH1 0x44
000013ab: DUP3
000013ac: ADD
000013ad: MSTORE
000013ae: PUSH14 0x6f6e206973206e6f742055555053
000013bd: PUSH1 0x90
000013bf: SHL
000013c0: PUSH1 0x64
000013c2: DUP3
000013c3: ADD
000013c4: MSTORE
000013c5: PUSH1 0x84
000013c7: ADD
000013c8: PUSH2 0x05e8
000013cb: JUMP
000013cc: JUMPDEST
000013cd: PUSH1 0x00
000013cf: DUP1
000013d0: MLOAD
000013d1: PUSH1 0x20
000013d3: PUSH2 0x238d
000013d6: DUP4
000013d7: CODECOPY
000013d8: DUP2
000013d9: MLOAD
000013da: SWAP2
000013db: MSTORE
000013dc: DUP2
000013dd: EQ
000013de: PUSH2 0x143b
000013e1: JUMPI
000013e2: PUSH1 0x40
000013e4: MLOAD
000013e5: PUSH3 0x461bcd
000013e9: PUSH1 0xe5
000013eb: SHL
000013ec: DUP2
000013ed: MSTORE
000013ee: PUSH1 0x20
000013f0: PUSH1 0x04
000013f2: DUP3
000013f3: ADD
000013f4: MSTORE
000013f5: PUSH1 0x29
000013f7: PUSH1 0x24
000013f9: DUP3
000013fa: ADD
000013fb: MSTORE
000013fc: PUSH32 0x45524331393637557067726164653a20756e737570706f727465642070726f78
0000141d: PUSH1 0x44
0000141f: DUP3
00001420: ADD
00001421: MSTORE
00001422: PUSH9 0x1a58589b1955555251
0000142c: PUSH1 0xba
0000142e: SHL
0000142f: PUSH1 0x64
00001431: DUP3
00001432: ADD
00001433: MSTORE
00001434: PUSH1 0x84
00001436: ADD
00001437: PUSH2 0x05e8
0000143a: JUMP
0000143b: JUMPDEST
0000143c: POP
0000143d: PUSH2 0x0813
00001440: DUP4
00001441: DUP4
00001442: DUP4
00001443: PUSH2 0x18f4
00001446: JUMP
00001447: JUMPDEST
00001448: PUSH1 0x00
0000144a: SLOAD
0000144b: PUSH2 0x0100
0000144e: SWAP1
0000144f: DIV
00001450: PUSH1 0xff
00001452: AND
00001453: PUSH2 0x14b2
00001456: JUMPI
00001457: PUSH1 0x40
00001459: MLOAD
0000145a: PUSH3 0x461bcd
0000145e: PUSH1 0xe5
00001460: SHL
00001461: DUP2
00001462: MSTORE
00001463: PUSH1 0x20
00001465: PUSH1 0x04
00001467: DUP3
00001468: ADD
00001469: MSTORE
0000146a: PUSH1 0x2b
0000146c: PUSH1 0x24
0000146e: DUP3
0000146f: ADD
00001470: MSTORE
00001471: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00001492: PUSH1 0x44
00001494: DUP3
00001495: ADD
00001496: MSTORE
00001497: PUSH11 0x6e697469616c697a696e67
000014a3: PUSH1 0xa8
000014a5: SHL
000014a6: PUSH1 0x64
000014a8: DUP3
000014a9: ADD
000014aa: MSTORE
000014ab: PUSH1 0x84
000014ad: ADD
000014ae: PUSH2 0x05e8
000014b1: JUMP
000014b2: JUMPDEST
000014b3: JUMP
000014b4: JUMPDEST
000014b5: PUSH1 0x00
000014b7: DUP3
000014b8: DUP2
000014b9: MSTORE
000014ba: PUSH1 0x65
000014bc: PUSH1 0x20
000014be: MSTORE
000014bf: PUSH1 0x40
000014c1: DUP1
000014c2: DUP3
000014c3: KECCAK256
000014c4: PUSH1 0x01
000014c6: ADD
000014c7: DUP1
000014c8: SLOAD
000014c9: SWAP1
000014ca: DUP5
000014cb: SWAP1
000014cc: SSTORE
000014cd: SWAP1
000014ce: MLOAD
000014cf: SWAP1
000014d0: SWAP2
000014d1: DUP4
000014d2: SWAP2
000014d3: DUP4
000014d4: SWAP2
000014d5: DUP7
000014d6: SWAP2
000014d7: PUSH32 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff
000014f8: SWAP2
000014f9: SWAP1
000014fa: LOG4
000014fb: POP
000014fc: POP
000014fd: POP
000014fe: JUMP
000014ff: JUMPDEST
00001500: PUSH1 0x01
00001502: PUSH1 0x01
00001504: PUSH1 0xa0
00001506: SHL
00001507: SUB
00001508: DUP4
00001509: AND
0000150a: PUSH1 0x00
0000150c: SWAP1
0000150d: DUP2
0000150e: MSTORE
0000150f: PUSH1 0xfb
00001511: PUSH1 0x20
00001513: MSTORE
00001514: PUSH1 0x40
00001516: SWAP1
00001517: KECCAK256
00001518: SLOAD
00001519: PUSH1 0xff
0000151b: AND
0000151c: PUSH2 0x1538
0000151f: JUMPI
00001520: PUSH1 0x40
00001522: MLOAD
00001523: PUSH4 0x514e24c3
00001528: PUSH1 0xe1
0000152a: SHL
0000152b: DUP2
0000152c: MSTORE
0000152d: PUSH1 0x04
0000152f: ADD
00001530: PUSH1 0x40
00001532: MLOAD
00001533: DUP1
00001534: SWAP2
00001535: SUB
00001536: SWAP1
00001537: REVERT
00001538: JUMPDEST
00001539: PUSH1 0x40
0000153b: MLOAD
0000153c: PUSH4 0x70a08231
00001541: PUSH1 0xe0
00001543: SHL
00001544: DUP2
00001545: MSTORE
00001546: ADDRESS
00001547: PUSH1 0x04
00001549: DUP3
0000154a: ADD
0000154b: MSTORE
0000154c: PUSH1 0x00
0000154e: SWAP1
0000154f: PUSH1 0x01
00001551: PUSH1 0x01
00001553: PUSH1 0xa0
00001555: SHL
00001556: SUB
00001557: DUP6
00001558: AND
00001559: SWAP1
0000155a: PUSH4 0x70a08231
0000155f: SWAP1
00001560: PUSH1 0x24
00001562: ADD
00001563: PUSH1 0x20
00001565: PUSH1 0x40
00001567: MLOAD
00001568: DUP1
00001569: DUP4
0000156a: SUB
0000156b: DUP2
0000156c: DUP7
0000156d: GAS
0000156e: STATICCALL
0000156f: ISZERO
00001570: DUP1
00001571: ISZERO
00001572: PUSH2 0x157f
00001575: JUMPI
00001576: RETURNDATASIZE
00001577: PUSH1 0x00
00001579: DUP1
0000157a: RETURNDATACOPY
0000157b: RETURNDATASIZE
0000157c: PUSH1 0x00
0000157e: REVERT
0000157f: JUMPDEST
00001580: POP
00001581: POP
00001582: POP
00001583: POP
00001584: PUSH1 0x40
00001586: MLOAD
00001587: RETURNDATASIZE
00001588: PUSH1 0x1f
0000158a: NOT
0000158b: PUSH1 0x1f
0000158d: DUP3
0000158e: ADD
0000158f: AND
00001590: DUP3
00001591: ADD
00001592: DUP1
00001593: PUSH1 0x40
00001595: MSTORE
00001596: POP
00001597: DUP2
00001598: ADD
00001599: SWAP1
0000159a: PUSH2 0x15a3
0000159d: SWAP2
0000159e: SWAP1
0000159f: PUSH2 0x2145
000015a2: JUMP
000015a3: JUMPDEST
000015a4: SWAP1
000015a5: POP
000015a6: DUP2
000015a7: DUP2
000015a8: LT
000015a9: ISZERO
000015aa: PUSH2 0x15cf
000015ad: JUMPI
000015ae: PUSH1 0x40
000015b0: MLOAD
000015b1: PUSH3 0xfae2d5
000015b5: PUSH1 0xe2
000015b7: SHL
000015b8: DUP2
000015b9: MSTORE
000015ba: PUSH1 0x04
000015bc: DUP2
000015bd: ADD
000015be: DUP4
000015bf: SWAP1
000015c0: MSTORE
000015c1: PUSH1 0x24
000015c3: DUP2
000015c4: ADD
000015c5: DUP3
000015c6: SWAP1
000015c7: MSTORE
000015c8: PUSH1 0x44
000015ca: ADD
000015cb: PUSH2 0x05e8
000015ce: JUMP
000015cf: JUMPDEST
000015d0: PUSH2 0x08dc
000015d3: PUSH1 0x01
000015d5: PUSH1 0x01
000015d7: PUSH1 0xa0
000015d9: SHL
000015da: SUB
000015db: DUP6
000015dc: AND
000015dd: DUP5
000015de: DUP5
000015df: PUSH2 0x1919
000015e2: JUMP
000015e3: JUMPDEST
000015e4: DUP1
000015e5: SELFBALANCE
000015e6: LT
000015e7: ISZERO
000015e8: PUSH2 0x1633
000015eb: JUMPI
000015ec: PUSH1 0x40
000015ee: MLOAD
000015ef: PUSH3 0x461bcd
000015f3: PUSH1 0xe5
000015f5: SHL
000015f6: DUP2
000015f7: MSTORE
000015f8: PUSH1 0x20
000015fa: PUSH1 0x04
000015fc: DUP3
000015fd: ADD
000015fe: MSTORE
000015ff: PUSH1 0x1d
00001601: PUSH1 0x24
00001603: DUP3
00001604: ADD
00001605: MSTORE
00001606: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
00001627: PUSH1 0x44
00001629: DUP3
0000162a: ADD
0000162b: MSTORE
0000162c: PUSH1 0x64
0000162e: ADD
0000162f: PUSH2 0x05e8
00001632: JUMP
00001633: JUMPDEST
00001634: PUSH1 0x00
00001636: DUP3
00001637: PUSH1 0x01
00001639: PUSH1 0x01
0000163b: PUSH1 0xa0
0000163d: SHL
0000163e: SUB
0000163f: AND
00001640: DUP3
00001641: PUSH1 0x40
00001643: MLOAD
00001644: PUSH1 0x00
00001646: PUSH1 0x40
00001648: MLOAD
00001649: DUP1
0000164a: DUP4
0000164b: SUB
0000164c: DUP2
0000164d: DUP6
0000164e: DUP8
0000164f: GAS
00001650: CALL
00001651: SWAP3
00001652: POP
00001653: POP
00001654: POP
00001655: RETURNDATASIZE
00001656: DUP1
00001657: PUSH1 0x00
00001659: DUP2
0000165a: EQ
0000165b: PUSH2 0x1680
0000165e: JUMPI
0000165f: PUSH1 0x40
00001661: MLOAD
00001662: SWAP2
00001663: POP
00001664: PUSH1 0x1f
00001666: NOT
00001667: PUSH1 0x3f
00001669: RETURNDATASIZE
0000166a: ADD
0000166b: AND
0000166c: DUP3
0000166d: ADD
0000166e: PUSH1 0x40
00001670: MSTORE
00001671: RETURNDATASIZE
00001672: DUP3
00001673: MSTORE
00001674: RETURNDATASIZE
00001675: PUSH1 0x00
00001677: PUSH1 0x20
00001679: DUP5
0000167a: ADD
0000167b: RETURNDATACOPY
0000167c: PUSH2 0x1685
0000167f: JUMP
00001680: JUMPDEST
00001681: PUSH1 0x60
00001683: SWAP2
00001684: POP
00001685: JUMPDEST
00001686: POP
00001687: POP
00001688: SWAP1
00001689: POP
0000168a: DUP1
0000168b: PUSH2 0x0813
0000168e: JUMPI
0000168f: PUSH1 0x40
00001691: MLOAD
00001692: PUSH3 0x461bcd
00001696: PUSH1 0xe5
00001698: SHL
00001699: DUP2
0000169a: MSTORE
0000169b: PUSH1 0x20
0000169d: PUSH1 0x04
0000169f: DUP3
000016a0: ADD
000016a1: MSTORE
000016a2: PUSH1 0x3a
000016a4: PUSH1 0x24
000016a6: DUP3
000016a7: ADD
000016a8: MSTORE
000016a9: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072
000016ca: PUSH1 0x44
000016cc: DUP3
000016cd: ADD
000016ce: MSTORE
000016cf: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000
000016f0: PUSH1 0x64
000016f2: DUP3
000016f3: ADD
000016f4: MSTORE
000016f5: PUSH1 0x84
000016f7: ADD
000016f8: PUSH2 0x05e8
000016fb: JUMP
000016fc: JUMPDEST
000016fd: PUSH2 0x1706
00001700: DUP3
00001701: DUP3
00001702: PUSH2 0x0fde
00001705: JUMP
00001706: JUMPDEST
00001707: PUSH2 0x095c
0000170a: JUMPI
0000170b: PUSH2 0x1713
0000170e: DUP2
0000170f: PUSH2 0x1949
00001712: JUMP
00001713: JUMPDEST
00001714: PUSH2 0x171e
00001717: DUP4
00001718: PUSH1 0x20
0000171a: PUSH2 0x195b
0000171d: JUMP
0000171e: JUMPDEST
0000171f: PUSH1 0x40
00001721: MLOAD
00001722: PUSH1 0x20
00001724: ADD
00001725: PUSH2 0x172f
00001728: SWAP3
00001729: SWAP2
0000172a: SWAP1
0000172b: PUSH2 0x22b5
0000172e: JUMP
0000172f: JUMPDEST
00001730: PUSH1 0x40
00001732: DUP1
00001733: MLOAD
00001734: PUSH1 0x1f
00001736: NOT
00001737: DUP2
00001738: DUP5
00001739: SUB
0000173a: ADD
0000173b: DUP2
0000173c: MSTORE
0000173d: SWAP1
0000173e: DUP3
0000173f: SWAP1
00001740: MSTORE
00001741: PUSH3 0x461bcd
00001745: PUSH1 0xe5
00001747: SHL
00001748: DUP3
00001749: MSTORE
0000174a: PUSH2 0x05e8
0000174d: SWAP2
0000174e: PUSH1 0x04
00001750: ADD
00001751: PUSH2 0x1db2
00001754: JUMP
00001755: JUMPDEST
00001756: PUSH1 0x00
00001758: PUSH2 0x17aa
0000175b: DUP3
0000175c: PUSH1 0x40
0000175e: MLOAD
0000175f: DUP1
00001760: PUSH1 0x40
00001762: ADD
00001763: PUSH1 0x40
00001765: MSTORE
00001766: DUP1
00001767: PUSH1 0x20
00001769: DUP2
0000176a: MSTORE
0000176b: PUSH1 0x20
0000176d: ADD
0000176e: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
0000178f: DUP2
00001790: MSTORE
00001791: POP
00001792: DUP6
00001793: PUSH1 0x01
00001795: PUSH1 0x01
00001797: PUSH1 0xa0
00001799: SHL
0000179a: SUB
0000179b: AND
0000179c: PUSH2 0x1afe
0000179f: SWAP1
000017a0: SWAP3
000017a1: SWAP2
000017a2: SWAP1
000017a3: PUSH4 0xffffffff
000017a8: AND
000017a9: JUMP
000017aa: JUMPDEST
000017ab: SWAP1
000017ac: POP
000017ad: DUP1
000017ae: MLOAD
000017af: PUSH1 0x00
000017b1: EQ
000017b2: DUP1
000017b3: PUSH2 0x17cb
000017b6: JUMPI
000017b7: POP
000017b8: DUP1
000017b9: DUP1
000017ba: PUSH1 0x20
000017bc: ADD
000017bd: SWAP1
000017be: MLOAD
000017bf: DUP2
000017c0: ADD
000017c1: SWAP1
000017c2: PUSH2 0x17cb
000017c5: SWAP2
000017c6: SWAP1
000017c7: PUSH2 0x232a
000017ca: JUMP
000017cb: JUMPDEST
000017cc: PUSH2 0x0813
000017cf: JUMPI
000017d0: PUSH1 0x40
000017d2: MLOAD
000017d3: PUSH3 0x461bcd
000017d7: PUSH1 0xe5
000017d9: SHL
000017da: DUP2
000017db: MSTORE
000017dc: PUSH1 0x20
000017de: PUSH1 0x04
000017e0: DUP3
000017e1: ADD
000017e2: MSTORE
000017e3: PUSH1 0x2a
000017e5: PUSH1 0x24
000017e7: DUP3
000017e8: ADD
000017e9: MSTORE
000017ea: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
0000180b: PUSH1 0x44
0000180d: DUP3
0000180e: ADD
0000180f: MSTORE
00001810: PUSH10 0x1bdd081cdd58d8d95959
0000181b: PUSH1 0xb2
0000181d: SHL
0000181e: PUSH1 0x64
00001820: DUP3
00001821: ADD
00001822: MSTORE
00001823: PUSH1 0x84
00001825: ADD
00001826: PUSH2 0x05e8
00001829: JUMP
0000182a: JUMPDEST
0000182b: PUSH1 0x60
0000182d: PUSH2 0x1850
00001830: DUP5
00001831: DUP5
00001832: DUP5
00001833: PUSH1 0x40
00001835: MLOAD
00001836: DUP1
00001837: PUSH1 0x60
00001839: ADD
0000183a: PUSH1 0x40
0000183c: MSTORE
0000183d: DUP1
0000183e: PUSH1 0x29
00001840: DUP2
00001841: MSTORE
00001842: PUSH1 0x20
00001844: ADD
00001845: PUSH2 0x23ad
00001848: PUSH1 0x29
0000184a: SWAP2
0000184b: CODECOPY
0000184c: PUSH2 0x1b09
0000184f: JUMP
00001850: JUMPDEST
00001851: SWAP5
00001852: SWAP4
00001853: POP
00001854: POP
00001855: POP
00001856: POP
00001857: JUMP
00001858: JUMPDEST
00001859: PUSH1 0x01
0000185b: PUSH1 0x01
0000185d: PUSH1 0xa0
0000185f: SHL
00001860: SUB
00001861: DUP2
00001862: AND
00001863: EXTCODESIZE
00001864: PUSH2 0x18c5
00001867: JUMPI
00001868: PUSH1 0x40
0000186a: MLOAD
0000186b: PUSH3 0x461bcd
0000186f: PUSH1 0xe5
00001871: SHL
00001872: DUP2
00001873: MSTORE
00001874: PUSH1 0x20
00001876: PUSH1 0x04
00001878: DUP3
00001879: ADD
0000187a: MSTORE
0000187b: PUSH1 0x2d
0000187d: PUSH1 0x24
0000187f: DUP3
00001880: ADD
00001881: MSTORE
00001882: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e
000018a3: PUSH1 0x44
000018a5: DUP3
000018a6: ADD
000018a7: MSTORE
000018a8: PUSH13 0x1bdd08184818dbdb9d1c9858dd
000018b6: PUSH1 0x9a
000018b8: SHL
000018b9: PUSH1 0x64
000018bb: DUP3
000018bc: ADD
000018bd: MSTORE
000018be: PUSH1 0x84
000018c0: ADD
000018c1: PUSH2 0x05e8
000018c4: JUMP
000018c5: JUMPDEST
000018c6: PUSH1 0x00
000018c8: DUP1
000018c9: MLOAD
000018ca: PUSH1 0x20
000018cc: PUSH2 0x238d
000018cf: DUP4
000018d0: CODECOPY
000018d1: DUP2
000018d2: MLOAD
000018d3: SWAP2
000018d4: MSTORE
000018d5: DUP1
000018d6: SLOAD
000018d7: PUSH1 0x01
000018d9: PUSH1 0x01
000018db: PUSH1 0xa0
000018dd: SHL
000018de: SUB
000018df: NOT
000018e0: AND
000018e1: PUSH1 0x01
000018e3: PUSH1 0x01
000018e5: PUSH1 0xa0
000018e7: SHL
000018e8: SUB
000018e9: SWAP3
000018ea: SWAP1
000018eb: SWAP3
000018ec: AND
000018ed: SWAP2
000018ee: SWAP1
000018ef: SWAP2
000018f0: OR
000018f1: SWAP1
000018f2: SSTORE
000018f3: JUMP
000018f4: JUMPDEST
000018f5: PUSH2 0x18fd
000018f8: DUP4
000018f9: PUSH2 0x1be4
000018fc: JUMP
000018fd: JUMPDEST
000018fe: PUSH1 0x00
00001900: DUP3
00001901: MLOAD
00001902: GT
00001903: DUP1
00001904: PUSH2 0x190a
00001907: JUMPI
00001908: POP
00001909: DUP1
0000190a: JUMPDEST
0000190b: ISZERO
0000190c: PUSH2 0x0813
0000190f: JUMPI
00001910: PUSH2 0x08dc
00001913: DUP4
00001914: DUP4
00001915: PUSH2 0x1c24
00001918: JUMP
00001919: JUMPDEST
0000191a: PUSH1 0x40
0000191c: MLOAD
0000191d: PUSH1 0x01
0000191f: PUSH1 0x01
00001921: PUSH1 0xa0
00001923: SHL
00001924: SUB
00001925: DUP4
00001926: AND
00001927: PUSH1 0x24
00001929: DUP3
0000192a: ADD
0000192b: MSTORE
0000192c: PUSH1 0x44
0000192e: DUP2
0000192f: ADD
00001930: DUP3
00001931: SWAP1
00001932: MSTORE
00001933: PUSH2 0x0813
00001936: SWAP1
00001937: DUP5
00001938: SWAP1
00001939: PUSH4 0xa9059cbb
0000193e: PUSH1 0xe0
00001940: SHL
00001941: SWAP1
00001942: PUSH1 0x64
00001944: ADD
00001945: PUSH2 0x111b
00001948: JUMP
00001949: JUMPDEST
0000194a: PUSH1 0x60
0000194c: PUSH2 0x0497
0000194f: PUSH1 0x01
00001951: PUSH1 0x01
00001953: PUSH1 0xa0
00001955: SHL
00001956: SUB
00001957: DUP4
00001958: AND
00001959: PUSH1 0x14
0000195b: JUMPDEST
0000195c: PUSH1 0x60
0000195e: PUSH1 0x00
00001960: PUSH2 0x196a
00001963: DUP4
00001964: PUSH1 0x02
00001966: PUSH2 0x234c
00001969: JUMP
0000196a: JUMPDEST
0000196b: PUSH2 0x1975
0000196e: SWAP1
0000196f: PUSH1 0x02
00001971: PUSH2 0x2174
00001974: JUMP
00001975: JUMPDEST
00001976: PUSH8 0xffffffffffffffff
0000197f: DUP2
00001980: GT
00001981: ISZERO
00001982: PUSH2 0x198d
00001985: JUMPI
00001986: PUSH2 0x198d
00001989: PUSH2 0x1fc3
0000198c: JUMP
0000198d: JUMPDEST
0000198e: PUSH1 0x40
00001990: MLOAD
00001991: SWAP1
00001992: DUP1
00001993: DUP3
00001994: MSTORE
00001995: DUP1
00001996: PUSH1 0x1f
00001998: ADD
00001999: PUSH1 0x1f
0000199b: NOT
0000199c: AND
0000199d: PUSH1 0x20
0000199f: ADD
000019a0: DUP3
000019a1: ADD
000019a2: PUSH1 0x40
000019a4: MSTORE
000019a5: DUP1
000019a6: ISZERO
000019a7: PUSH2 0x19b7
000019aa: JUMPI
000019ab: PUSH1 0x20
000019ad: DUP3
000019ae: ADD
000019af: DUP2
000019b0: DUP1
000019b1: CALLDATASIZE
000019b2: DUP4
000019b3: CALLDATACOPY
000019b4: ADD
000019b5: SWAP1
000019b6: POP
000019b7: JUMPDEST
000019b8: POP
000019b9: SWAP1
000019ba: POP
000019bb: PUSH1 0x03
000019bd: PUSH1 0xfc
000019bf: SHL
000019c0: DUP2
000019c1: PUSH1 0x00
000019c3: DUP2
000019c4: MLOAD
000019c5: DUP2
000019c6: LT
000019c7: PUSH2 0x19d2
000019ca: JUMPI
000019cb: PUSH2 0x19d2
000019ce: PUSH2 0x21ce
000019d1: JUMP
000019d2: JUMPDEST
000019d3: PUSH1 0x20
000019d5: ADD
000019d6: ADD
000019d7: SWAP1
000019d8: PUSH1 0x01
000019da: PUSH1 0x01
000019dc: PUSH1 0xf8
000019de: SHL
000019df: SUB
000019e0: NOT
000019e1: AND
000019e2: SWAP1
000019e3: DUP2
000019e4: PUSH1 0x00
000019e6: BYTE
000019e7: SWAP1
000019e8: MSTORE8
000019e9: POP
000019ea: PUSH1 0x0f
000019ec: PUSH1 0xfb
000019ee: SHL
000019ef: DUP2
000019f0: PUSH1 0x01
000019f2: DUP2
000019f3: MLOAD
000019f4: DUP2
000019f5: LT
000019f6: PUSH2 0x1a01
000019f9: JUMPI
000019fa: PUSH2 0x1a01
000019fd: PUSH2 0x21ce
00001a00: JUMP
00001a01: JUMPDEST
00001a02: PUSH1 0x20
00001a04: ADD
00001a05: ADD
00001a06: SWAP1
00001a07: PUSH1 0x01
00001a09: PUSH1 0x01
00001a0b: PUSH1 0xf8
00001a0d: SHL
00001a0e: SUB
00001a0f: NOT
00001a10: AND
00001a11: SWAP1
00001a12: DUP2
00001a13: PUSH1 0x00
00001a15: BYTE
00001a16: SWAP1
00001a17: MSTORE8
00001a18: POP
00001a19: PUSH1 0x00
00001a1b: PUSH2 0x1a25
00001a1e: DUP5
00001a1f: PUSH1 0x02
00001a21: PUSH2 0x234c
00001a24: JUMP
00001a25: JUMPDEST
00001a26: PUSH2 0x1a30
00001a29: SWAP1
00001a2a: PUSH1 0x01
00001a2c: PUSH2 0x2174
00001a2f: JUMP
00001a30: JUMPDEST
00001a31: SWAP1
00001a32: POP
00001a33: JUMPDEST
00001a34: PUSH1 0x01
00001a36: DUP2
00001a37: GT
00001a38: ISZERO
00001a39: PUSH2 0x1aa8
00001a3c: JUMPI
00001a3d: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3
00001a4e: PUSH1 0x81
00001a50: SHL
00001a51: DUP6
00001a52: PUSH1 0x0f
00001a54: AND
00001a55: PUSH1 0x10
00001a57: DUP2
00001a58: LT
00001a59: PUSH2 0x1a64
00001a5c: JUMPI
00001a5d: PUSH2 0x1a64
00001a60: PUSH2 0x21ce
00001a63: JUMP
00001a64: JUMPDEST
00001a65: BYTE
00001a66: PUSH1 0xf8
00001a68: SHL
00001a69: DUP3
00001a6a: DUP3
00001a6b: DUP2
00001a6c: MLOAD
00001a6d: DUP2
00001a6e: LT
00001a6f: PUSH2 0x1a7a
00001a72: JUMPI
00001a73: PUSH2 0x1a7a
00001a76: PUSH2 0x21ce
00001a79: JUMP
00001a7a: JUMPDEST
00001a7b: PUSH1 0x20
00001a7d: ADD
00001a7e: ADD
00001a7f: SWAP1
00001a80: PUSH1 0x01
00001a82: PUSH1 0x01
00001a84: PUSH1 0xf8
00001a86: SHL
00001a87: SUB
00001a88: NOT
00001a89: AND
00001a8a: SWAP1
00001a8b: DUP2
00001a8c: PUSH1 0x00
00001a8e: BYTE
00001a8f: SWAP1
00001a90: MSTORE8
00001a91: POP
00001a92: PUSH1 0x04
00001a94: SWAP5
00001a95: SWAP1
00001a96: SWAP5
00001a97: SHR
00001a98: SWAP4
00001a99: PUSH2 0x1aa1
00001a9c: DUP2
00001a9d: PUSH2 0x2363
00001aa0: JUMP
00001aa1: JUMPDEST
00001aa2: SWAP1
00001aa3: POP
00001aa4: PUSH2 0x1a33
00001aa7: JUMP
00001aa8: JUMPDEST
00001aa9: POP
00001aaa: DUP4
00001aab: ISZERO
00001aac: PUSH2 0x1af7
00001aaf: JUMPI
00001ab0: PUSH1 0x40
00001ab2: MLOAD
00001ab3: PUSH3 0x461bcd
00001ab7: PUSH1 0xe5
00001ab9: SHL
00001aba: DUP2
00001abb: MSTORE
00001abc: PUSH1 0x20
00001abe: PUSH1 0x04
00001ac0: DUP3
00001ac1: ADD
00001ac2: DUP2
00001ac3: SWAP1
00001ac4: MSTORE
00001ac5: PUSH1 0x24
00001ac7: DUP3
00001ac8: ADD
00001ac9: MSTORE
00001aca: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74
00001aeb: PUSH1 0x44
00001aed: DUP3
00001aee: ADD
00001aef: MSTORE
00001af0: PUSH1 0x64
00001af2: ADD
00001af3: PUSH2 0x05e8
00001af6: JUMP
00001af7: JUMPDEST
00001af8: SWAP4
00001af9: SWAP3
00001afa: POP
00001afb: POP
00001afc: POP
00001afd: JUMP
00001afe: JUMPDEST
00001aff: PUSH1 0x60
00001b01: PUSH2 0x1850
00001b04: DUP5
00001b05: DUP5
00001b06: PUSH1 0x00
00001b08: DUP6
00001b09: JUMPDEST
00001b0a: PUSH1 0x60
00001b0c: DUP3
00001b0d: SELFBALANCE
00001b0e: LT
00001b0f: ISZERO
00001b10: PUSH2 0x1b6a
00001b13: JUMPI
00001b14: PUSH1 0x40
00001b16: MLOAD
00001b17: PUSH3 0x461bcd
00001b1b: PUSH1 0xe5
00001b1d: SHL
00001b1e: DUP2
00001b1f: MSTORE
00001b20: PUSH1 0x20
00001b22: PUSH1 0x04
00001b24: DUP3
00001b25: ADD
00001b26: MSTORE
00001b27: PUSH1 0x26
00001b29: PUSH1 0x24
00001b2b: DUP3
00001b2c: ADD
00001b2d: MSTORE
00001b2e: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00001b4f: PUSH1 0x44
00001b51: DUP3
00001b52: ADD
00001b53: MSTORE
00001b54: PUSH6 0x1c8818d85b1b
00001b5b: PUSH1 0xd2
00001b5d: SHL
00001b5e: PUSH1 0x64
00001b60: DUP3
00001b61: ADD
00001b62: MSTORE
00001b63: PUSH1 0x84
00001b65: ADD
00001b66: PUSH2 0x05e8
00001b69: JUMP
00001b6a: JUMPDEST
00001b6b: PUSH1 0x00
00001b6d: DUP1
00001b6e: DUP7
00001b6f: PUSH1 0x01
00001b71: PUSH1 0x01
00001b73: PUSH1 0xa0
00001b75: SHL
00001b76: SUB
00001b77: AND
00001b78: DUP6
00001b79: DUP8
00001b7a: PUSH1 0x40
00001b7c: MLOAD
00001b7d: PUSH2 0x1b86
00001b80: SWAP2
00001b81: SWAP1
00001b82: PUSH2 0x237a
00001b85: JUMP
00001b86: JUMPDEST
00001b87: PUSH1 0x00
00001b89: PUSH1 0x40
00001b8b: MLOAD
00001b8c: DUP1
00001b8d: DUP4
00001b8e: SUB
00001b8f: DUP2
00001b90: DUP6
00001b91: DUP8
00001b92: GAS
00001b93: CALL
00001b94: SWAP3
00001b95: POP
00001b96: POP
00001b97: POP
00001b98: RETURNDATASIZE
00001b99: DUP1
00001b9a: PUSH1 0x00
00001b9c: DUP2
00001b9d: EQ
00001b9e: PUSH2 0x1bc3
00001ba1: JUMPI
00001ba2: PUSH1 0x40
00001ba4: MLOAD
00001ba5: SWAP2
00001ba6: POP
00001ba7: PUSH1 0x1f
00001ba9: NOT
00001baa: PUSH1 0x3f
00001bac: RETURNDATASIZE
00001bad: ADD
00001bae: AND
00001baf: DUP3
00001bb0: ADD
00001bb1: PUSH1 0x40
00001bb3: MSTORE
00001bb4: RETURNDATASIZE
00001bb5: DUP3
00001bb6: MSTORE
00001bb7: RETURNDATASIZE
00001bb8: PUSH1 0x00
00001bba: PUSH1 0x20
00001bbc: DUP5
00001bbd: ADD
00001bbe: RETURNDATACOPY
00001bbf: PUSH2 0x1bc8
00001bc2: JUMP
00001bc3: JUMPDEST
00001bc4: PUSH1 0x60
00001bc6: SWAP2
00001bc7: POP
00001bc8: JUMPDEST
00001bc9: POP
00001bca: SWAP2
00001bcb: POP
00001bcc: SWAP2
00001bcd: POP
00001bce: PUSH2 0x1bd9
00001bd1: DUP8
00001bd2: DUP4
00001bd3: DUP4
00001bd4: DUP8
00001bd5: PUSH2 0x1c49
00001bd8: JUMP
00001bd9: JUMPDEST
00001bda: SWAP8
00001bdb: SWAP7
00001bdc: POP
00001bdd: POP
00001bde: POP
00001bdf: POP
00001be0: POP
00001be1: POP
00001be2: POP
00001be3: JUMP
00001be4: JUMPDEST
00001be5: PUSH2 0x1bed
00001be8: DUP2
00001be9: PUSH2 0x1858
00001bec: JUMP
00001bed: JUMPDEST
00001bee: PUSH1 0x40
00001bf0: MLOAD
00001bf1: PUSH1 0x01
00001bf3: PUSH1 0x01
00001bf5: PUSH1 0xa0
00001bf7: SHL
00001bf8: SUB
00001bf9: DUP3
00001bfa: AND
00001bfb: SWAP1
00001bfc: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00001c1d: SWAP1
00001c1e: PUSH1 0x00
00001c20: SWAP1
00001c21: LOG2
00001c22: POP
00001c23: JUMP
00001c24: JUMPDEST
00001c25: PUSH1 0x60
00001c27: PUSH2 0x1af7
00001c2a: DUP4
00001c2b: DUP4
00001c2c: PUSH1 0x40
00001c2e: MLOAD
00001c2f: DUP1
00001c30: PUSH1 0x60
00001c32: ADD
00001c33: PUSH1 0x40
00001c35: MSTORE
00001c36: DUP1
00001c37: PUSH1 0x27
00001c39: DUP2
00001c3a: MSTORE
00001c3b: PUSH1 0x20
00001c3d: ADD
00001c3e: PUSH2 0x23d6
00001c41: PUSH1 0x27
00001c43: SWAP2
00001c44: CODECOPY
00001c45: PUSH2 0x1cc2
00001c48: JUMP
00001c49: JUMPDEST
00001c4a: PUSH1 0x60
00001c4c: DUP4
00001c4d: ISZERO
00001c4e: PUSH2 0x1cb8
00001c51: JUMPI
00001c52: DUP3
00001c53: MLOAD
00001c54: PUSH1 0x00
00001c56: SUB
00001c57: PUSH2 0x1cb1
00001c5a: JUMPI
00001c5b: PUSH1 0x01
00001c5d: PUSH1 0x01
00001c5f: PUSH1 0xa0
00001c61: SHL
00001c62: SUB
00001c63: DUP6
00001c64: AND
00001c65: EXTCODESIZE
00001c66: PUSH2 0x1cb1
00001c69: JUMPI
00001c6a: PUSH1 0x40
00001c6c: MLOAD
00001c6d: PUSH3 0x461bcd
00001c71: PUSH1 0xe5
00001c73: SHL
00001c74: DUP2
00001c75: MSTORE
00001c76: PUSH1 0x20
00001c78: PUSH1 0x04
00001c7a: DUP3
00001c7b: ADD
00001c7c: MSTORE
00001c7d: PUSH1 0x1d
00001c7f: PUSH1 0x24
00001c81: DUP3
00001c82: ADD
00001c83: MSTORE
00001c84: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001ca5: PUSH1 0x44
00001ca7: DUP3
00001ca8: ADD
00001ca9: MSTORE
00001caa: PUSH1 0x64
00001cac: ADD
00001cad: PUSH2 0x05e8
00001cb0: JUMP
00001cb1: JUMPDEST
00001cb2: POP
00001cb3: DUP2
00001cb4: PUSH2 0x1850
00001cb7: JUMP
00001cb8: JUMPDEST
00001cb9: PUSH2 0x1850
00001cbc: DUP4
00001cbd: DUP4
00001cbe: PUSH2 0x1d3a
00001cc1: JUMP
00001cc2: JUMPDEST
00001cc3: PUSH1 0x60
00001cc5: PUSH1 0x00
00001cc7: DUP1
00001cc8: DUP6
00001cc9: PUSH1 0x01
00001ccb: PUSH1 0x01
00001ccd: PUSH1 0xa0
00001ccf: SHL
00001cd0: SUB
00001cd1: AND
00001cd2: DUP6
00001cd3: PUSH1 0x40
00001cd5: MLOAD
00001cd6: PUSH2 0x1cdf
00001cd9: SWAP2
00001cda: SWAP1
00001cdb: PUSH2 0x237a
00001cde: JUMP
00001cdf: JUMPDEST
00001ce0: PUSH1 0x00
00001ce2: PUSH1 0x40
00001ce4: MLOAD
00001ce5: DUP1
00001ce6: DUP4
00001ce7: SUB
00001ce8: DUP2
00001ce9: DUP6
00001cea: GAS
00001ceb: DELEGATECALL
00001cec: SWAP2
00001ced: POP
00001cee: POP
00001cef: RETURNDATASIZE
00001cf0: DUP1
00001cf1: PUSH1 0x00
00001cf3: DUP2
00001cf4: EQ
00001cf5: PUSH2 0x1d1a
00001cf8: JUMPI
00001cf9: PUSH1 0x40
00001cfb: MLOAD
00001cfc: SWAP2
00001cfd: POP
00001cfe: PUSH1 0x1f
00001d00: NOT
00001d01: PUSH1 0x3f
00001d03: RETURNDATASIZE
00001d04: ADD
00001d05: AND
00001d06: DUP3
00001d07: ADD
00001d08: PUSH1 0x40
00001d0a: MSTORE
00001d0b: RETURNDATASIZE
00001d0c: DUP3
00001d0d: MSTORE
00001d0e: RETURNDATASIZE
00001d0f: PUSH1 0x00
00001d11: PUSH1 0x20
00001d13: DUP5
00001d14: ADD
00001d15: RETURNDATACOPY
00001d16: PUSH2 0x1d1f
00001d19: JUMP
00001d1a: JUMPDEST
00001d1b: PUSH1 0x60
00001d1d: SWAP2
00001d1e: POP
00001d1f: JUMPDEST
00001d20: POP
00001d21: SWAP2
00001d22: POP
00001d23: SWAP2
00001d24: POP
00001d25: PUSH2 0x1d30
00001d28: DUP7
00001d29: DUP4
00001d2a: DUP4
00001d2b: DUP8
00001d2c: PUSH2 0x1c49
00001d2f: JUMP
00001d30: JUMPDEST
00001d31: SWAP7
00001d32: SWAP6
00001d33: POP
00001d34: POP
00001d35: POP
00001d36: POP
00001d37: POP
00001d38: POP
00001d39: JUMP
00001d3a: JUMPDEST
00001d3b: DUP2
00001d3c: MLOAD
00001d3d: ISZERO
00001d3e: PUSH2 0x1d4a
00001d41: JUMPI
00001d42: DUP2
00001d43: MLOAD
00001d44: DUP1
00001d45: DUP4
00001d46: PUSH1 0x20
00001d48: ADD
00001d49: REVERT
00001d4a: JUMPDEST
00001d4b: DUP1
00001d4c: PUSH1 0x40
00001d4e: MLOAD
00001d4f: PUSH3 0x461bcd
00001d53: PUSH1 0xe5
00001d55: SHL
00001d56: DUP2
00001d57: MSTORE
00001d58: PUSH1 0x04
00001d5a: ADD
00001d5b: PUSH2 0x05e8
00001d5e: SWAP2
00001d5f: SWAP1
00001d60: PUSH2 0x1db2
00001d63: JUMP
00001d64: JUMPDEST
00001d65: PUSH1 0x00
00001d67: PUSH1 0x20
00001d69: DUP3
00001d6a: DUP5
00001d6b: SUB
00001d6c: SLT
00001d6d: ISZERO
00001d6e: PUSH2 0x1d76
00001d71: JUMPI
00001d72: PUSH1 0x00
00001d74: DUP1
00001d75: REVERT
00001d76: JUMPDEST
00001d77: DUP2
00001d78: CALLDATALOAD
00001d79: PUSH1 0x01
00001d7b: PUSH1 0x01
00001d7d: PUSH1 0xe0
00001d7f: SHL
00001d80: SUB
00001d81: NOT
00001d82: DUP2
00001d83: AND
00001d84: DUP2
00001d85: EQ
00001d86: PUSH2 0x1af7
00001d89: JUMPI
00001d8a: PUSH1 0x00
00001d8c: DUP1
00001d8d: REVERT
00001d8e: JUMPDEST
00001d8f: PUSH1 0x00
00001d91: JUMPDEST
00001d92: DUP4
00001d93: DUP2
00001d94: LT
00001d95: ISZERO
00001d96: PUSH2 0x1da9
00001d99: JUMPI
00001d9a: DUP2
00001d9b: DUP2
00001d9c: ADD
00001d9d: MLOAD
00001d9e: DUP4
00001d9f: DUP3
00001da0: ADD
00001da1: MSTORE
00001da2: PUSH1 0x20
00001da4: ADD
00001da5: PUSH2 0x1d91
00001da8: JUMP
00001da9: JUMPDEST
00001daa: POP
00001dab: POP
00001dac: PUSH1 0x00
00001dae: SWAP2
00001daf: ADD
00001db0: MSTORE
00001db1: JUMP
00001db2: JUMPDEST
00001db3: PUSH1 0x20
00001db5: DUP2
00001db6: MSTORE
00001db7: PUSH1 0x00
00001db9: DUP3
00001dba: MLOAD
00001dbb: DUP1
00001dbc: PUSH1 0x20
00001dbe: DUP5
00001dbf: ADD
00001dc0: MSTORE
00001dc1: PUSH2 0x1dd1
00001dc4: DUP2
00001dc5: PUSH1 0x40
00001dc7: DUP6
00001dc8: ADD
00001dc9: PUSH1 0x20
00001dcb: DUP8
00001dcc: ADD
00001dcd: PUSH2 0x1d8e
00001dd0: JUMP
00001dd1: JUMPDEST
00001dd2: PUSH1 0x1f
00001dd4: ADD
00001dd5: PUSH1 0x1f
00001dd7: NOT
00001dd8: AND
00001dd9: SWAP2
00001dda: SWAP1
00001ddb: SWAP2
00001ddc: ADD
00001ddd: PUSH1 0x40
00001ddf: ADD
00001de0: SWAP3
00001de1: SWAP2
00001de2: POP
00001de3: POP
00001de4: JUMP
00001de5: JUMPDEST
00001de6: PUSH1 0x01
00001de8: PUSH1 0x01
00001dea: PUSH1 0xa0
00001dec: SHL
00001ded: SUB
00001dee: DUP2
00001def: AND
00001df0: DUP2
00001df1: EQ
00001df2: PUSH2 0x0a3c
00001df5: JUMPI
00001df6: PUSH1 0x00
00001df8: DUP1
00001df9: REVERT
00001dfa: JUMPDEST
00001dfb: PUSH1 0x00
00001dfd: PUSH1 0x20
00001dff: DUP3
00001e00: DUP5
00001e01: SUB
00001e02: SLT
00001e03: ISZERO
00001e04: PUSH2 0x1e0c
00001e07: JUMPI
00001e08: PUSH1 0x00
00001e0a: DUP1
00001e0b: REVERT
00001e0c: JUMPDEST
00001e0d: DUP2
00001e0e: CALLDATALOAD
00001e0f: PUSH2 0x1af7
00001e12: DUP2
00001e13: PUSH2 0x1de5
00001e16: JUMP
00001e17: JUMPDEST
00001e18: PUSH1 0x00
00001e1a: PUSH1 0x20
00001e1c: DUP3
00001e1d: DUP5
00001e1e: SUB
00001e1f: SLT
00001e20: ISZERO
00001e21: PUSH2 0x1e29
00001e24: JUMPI
00001e25: PUSH1 0x00
00001e27: DUP1
00001e28: REVERT
00001e29: JUMPDEST
00001e2a: POP
00001e2b: CALLDATALOAD
00001e2c: SWAP2
00001e2d: SWAP1
00001e2e: POP
00001e2f: JUMP
00001e30: JUMPDEST
00001e31: PUSH1 0x00
00001e33: PUSH1 0x20
00001e35: DUP3
00001e36: DUP5
00001e37: SUB
00001e38: SLT
00001e39: ISZERO
00001e3a: PUSH2 0x1e42
00001e3d: JUMPI
00001e3e: PUSH1 0x00
00001e40: DUP1
00001e41: REVERT
00001e42: JUMPDEST
00001e43: DUP2
00001e44: CALLDATALOAD
00001e45: PUSH8 0xffffffffffffffff
00001e4e: DUP2
00001e4f: GT
00001e50: ISZERO
00001e51: PUSH2 0x1e59
00001e54: JUMPI
00001e55: PUSH1 0x00
00001e57: DUP1
00001e58: REVERT
00001e59: JUMPDEST
00001e5a: DUP3
00001e5b: ADD
00001e5c: PUSH1 0x80
00001e5e: DUP2
00001e5f: DUP6
00001e60: SUB
00001e61: SLT
00001e62: ISZERO
00001e63: PUSH2 0x1af7
00001e66: JUMPI
00001e67: PUSH1 0x00
00001e69: DUP1
00001e6a: REVERT
00001e6b: JUMPDEST
00001e6c: PUSH1 0x00
00001e6e: DUP1
00001e6f: PUSH1 0x40
00001e71: DUP4
00001e72: DUP6
00001e73: SUB
00001e74: SLT
00001e75: ISZERO
00001e76: PUSH2 0x1e7e
00001e79: JUMPI
00001e7a: PUSH1 0x00
00001e7c: DUP1
00001e7d: REVERT
00001e7e: JUMPDEST
00001e7f: DUP3
00001e80: CALLDATALOAD
00001e81: SWAP2
00001e82: POP
00001e83: PUSH1 0x20
00001e85: DUP4
00001e86: ADD
00001e87: CALLDATALOAD
00001e88: PUSH2 0x1e90
00001e8b: DUP2
00001e8c: PUSH2 0x1de5
00001e8f: JUMP
00001e90: JUMPDEST
00001e91: DUP1
00001e92: SWAP2
00001e93: POP
00001e94: POP
00001e95: SWAP3
00001e96: POP
00001e97: SWAP3
00001e98: SWAP1
00001e99: POP
00001e9a: JUMP
00001e9b: JUMPDEST
00001e9c: PUSH1 0x00
00001e9e: DUP1
00001e9f: DUP4
00001ea0: PUSH1 0x1f
00001ea2: DUP5
00001ea3: ADD
00001ea4: SLT
00001ea5: PUSH2 0x1ead
00001ea8: JUMPI
00001ea9: PUSH1 0x00
00001eab: DUP1
00001eac: REVERT
00001ead: JUMPDEST
00001eae: POP
00001eaf: DUP2
00001eb0: CALLDATALOAD
00001eb1: PUSH8 0xffffffffffffffff
00001eba: DUP2
00001ebb: GT
00001ebc: ISZERO
00001ebd: PUSH2 0x1ec5
00001ec0: JUMPI
00001ec1: PUSH1 0x00
00001ec3: DUP1
00001ec4: REVERT
00001ec5: JUMPDEST
00001ec6: PUSH1 0x20
00001ec8: DUP4
00001ec9: ADD
00001eca: SWAP2
00001ecb: POP
00001ecc: DUP4
00001ecd: PUSH1 0x20
00001ecf: DUP3
00001ed0: PUSH1 0x05
00001ed2: SHL
00001ed3: DUP6
00001ed4: ADD
00001ed5: ADD
00001ed6: GT
00001ed7: ISZERO
00001ed8: PUSH2 0x1ee0
00001edb: JUMPI
00001edc: PUSH1 0x00
00001ede: DUP1
00001edf: REVERT
00001ee0: JUMPDEST
00001ee1: SWAP3
00001ee2: POP
00001ee3: SWAP3
00001ee4: SWAP1
00001ee5: POP
00001ee6: JUMP
00001ee7: JUMPDEST
00001ee8: PUSH1 0x00
00001eea: DUP1
00001eeb: PUSH1 0x20
00001eed: DUP4
00001eee: DUP6
00001eef: SUB
00001ef0: SLT
00001ef1: ISZERO
00001ef2: PUSH2 0x1efa
00001ef5: JUMPI
00001ef6: PUSH1 0x00
00001ef8: DUP1
00001ef9: REVERT
00001efa: JUMPDEST
00001efb: DUP3
00001efc: CALLDATALOAD
00001efd: PUSH8 0xffffffffffffffff
00001f06: DUP2
00001f07: GT
00001f08: ISZERO
00001f09: PUSH2 0x1f11
00001f0c: JUMPI
00001f0d: PUSH1 0x00
00001f0f: DUP1
00001f10: REVERT
00001f11: JUMPDEST
00001f12: PUSH2 0x1f1d
00001f15: DUP6
00001f16: DUP3
00001f17: DUP7
00001f18: ADD
00001f19: PUSH2 0x1e9b
00001f1c: JUMP
00001f1d: JUMPDEST
00001f1e: SWAP1
00001f1f: SWAP7
00001f20: SWAP1
00001f21: SWAP6
00001f22: POP
00001f23: SWAP4
00001f24: POP
00001f25: POP
00001f26: POP
00001f27: POP
00001f28: JUMP
00001f29: JUMPDEST
00001f2a: PUSH1 0x00
00001f2c: DUP1
00001f2d: PUSH1 0x00
00001f2f: DUP1
00001f30: PUSH1 0x00
00001f32: DUP1
00001f33: PUSH1 0x60
00001f35: DUP8
00001f36: DUP10
00001f37: SUB
00001f38: SLT
00001f39: ISZERO
00001f3a: PUSH2 0x1f42
00001f3d: JUMPI
00001f3e: PUSH1 0x00
00001f40: DUP1
00001f41: REVERT
00001f42: JUMPDEST
00001f43: DUP7
00001f44: CALLDATALOAD
00001f45: PUSH8 0xffffffffffffffff
00001f4e: DUP1
00001f4f: DUP3
00001f50: GT
00001f51: ISZERO
00001f52: PUSH2 0x1f5a
00001f55: JUMPI
00001f56: PUSH1 0x00
00001f58: DUP1
00001f59: REVERT
00001f5a: JUMPDEST
00001f5b: PUSH2 0x1f66
00001f5e: DUP11
00001f5f: DUP4
00001f60: DUP12
00001f61: ADD
00001f62: PUSH2 0x1e9b
00001f65: JUMP
00001f66: JUMPDEST
00001f67: SWAP1
00001f68: SWAP9
00001f69: POP
00001f6a: SWAP7
00001f6b: POP
00001f6c: PUSH1 0x20
00001f6e: DUP10
00001f6f: ADD
00001f70: CALLDATALOAD
00001f71: SWAP2
00001f72: POP
00001f73: DUP1
00001f74: DUP3
00001f75: GT
00001f76: ISZERO
00001f77: PUSH2 0x1f7f
00001f7a: JUMPI
00001f7b: PUSH1 0x00
00001f7d: DUP1
00001f7e: REVERT
00001f7f: JUMPDEST
00001f80: PUSH2 0x1f8b
00001f83: DUP11
00001f84: DUP4
00001f85: DUP12
00001f86: ADD
00001f87: PUSH2 0x1e9b
00001f8a: JUMP
00001f8b: JUMPDEST
00001f8c: SWAP1
00001f8d: SWAP7
00001f8e: POP
00001f8f: SWAP5
00001f90: POP
00001f91: PUSH1 0x40
00001f93: DUP10
00001f94: ADD
00001f95: CALLDATALOAD
00001f96: SWAP2
00001f97: POP
00001f98: DUP1
00001f99: DUP3
00001f9a: GT
00001f9b: ISZERO
00001f9c: PUSH2 0x1fa4
00001f9f: JUMPI
00001fa0: PUSH1 0x00
00001fa2: DUP1
00001fa3: REVERT
00001fa4: JUMPDEST
00001fa5: POP
00001fa6: PUSH2 0x1fb1
00001fa9: DUP10
00001faa: DUP3
00001fab: DUP11
00001fac: ADD
00001fad: PUSH2 0x1e9b
00001fb0: JUMP
00001fb1: JUMPDEST
00001fb2: SWAP8
00001fb3: SWAP11
00001fb4: SWAP7
00001fb5: SWAP10
00001fb6: POP
00001fb7: SWAP5
00001fb8: SWAP8
00001fb9: POP
00001fba: SWAP3
00001fbb: SWAP6
00001fbc: SWAP4
00001fbd: SWAP5
00001fbe: SWAP3
00001fbf: POP
00001fc0: POP
00001fc1: POP
00001fc2: JUMP
00001fc3: JUMPDEST
00001fc4: PUSH4 0x4e487b71
00001fc9: PUSH1 0xe0
00001fcb: SHL
00001fcc: PUSH1 0x00
00001fce: MSTORE
00001fcf: PUSH1 0x41
00001fd1: PUSH1 0x04
00001fd3: MSTORE
00001fd4: PUSH1 0x24
00001fd6: PUSH1 0x00
00001fd8: REVERT
00001fd9: JUMPDEST
00001fda: PUSH1 0x00
00001fdc: DUP1
00001fdd: PUSH1 0x40
00001fdf: DUP4
00001fe0: DUP6
00001fe1: SUB
00001fe2: SLT
00001fe3: ISZERO
00001fe4: PUSH2 0x1fec
00001fe7: JUMPI
00001fe8: PUSH1 0x00
00001fea: DUP1
00001feb: REVERT
00001fec: JUMPDEST
00001fed: DUP3
00001fee: CALLDATALOAD
00001fef: PUSH2 0x1ff7
00001ff2: DUP2
00001ff3: PUSH2 0x1de5
00001ff6: JUMP
00001ff7: JUMPDEST
00001ff8: SWAP2
00001ff9: POP
00001ffa: PUSH1 0x20
00001ffc: DUP4
00001ffd: ADD
00001ffe: CALLDATALOAD
00001fff: PUSH8 0xffffffffffffffff
00002008: DUP1
00002009: DUP3
0000200a: GT
0000200b: ISZERO
0000200c: PUSH2 0x2014
0000200f: JUMPI
00002010: PUSH1 0x00
00002012: DUP1
00002013: REVERT
00002014: JUMPDEST
00002015: DUP2
00002016: DUP6
00002017: ADD
00002018: SWAP2
00002019: POP
0000201a: DUP6
0000201b: PUSH1 0x1f
0000201d: DUP4
0000201e: ADD
0000201f: SLT
00002020: PUSH2 0x2028
00002023: JUMPI
00002024: PUSH1 0x00
00002026: DUP1
00002027: REVERT
00002028: JUMPDEST
00002029: DUP2
0000202a: CALLDATALOAD
0000202b: DUP2
0000202c: DUP2
0000202d: GT
0000202e: ISZERO
0000202f: PUSH2 0x203a
00002032: JUMPI
00002033: PUSH2 0x203a
00002036: PUSH2 0x1fc3
00002039: JUMP
0000203a: JUMPDEST
0000203b: PUSH1 0x40
0000203d: MLOAD
0000203e: PUSH1 0x1f
00002040: DUP3
00002041: ADD
00002042: PUSH1 0x1f
00002044: NOT
00002045: SWAP1
00002046: DUP2
00002047: AND
00002048: PUSH1 0x3f
0000204a: ADD
0000204b: AND
0000204c: DUP2
0000204d: ADD
0000204e: SWAP1
0000204f: DUP4
00002050: DUP3
00002051: GT
00002052: DUP2
00002053: DUP4
00002054: LT
00002055: OR
00002056: ISZERO
00002057: PUSH2 0x2062
0000205a: JUMPI
0000205b: PUSH2 0x2062
0000205e: PUSH2 0x1fc3
00002061: JUMP
00002062: JUMPDEST
00002063: DUP2
00002064: PUSH1 0x40
00002066: MSTORE
00002067: DUP3
00002068: DUP2
00002069: MSTORE
0000206a: DUP9
0000206b: PUSH1 0x20
0000206d: DUP5
0000206e: DUP8
0000206f: ADD
00002070: ADD
00002071: GT
00002072: ISZERO
00002073: PUSH2 0x207b
00002076: JUMPI
00002077: PUSH1 0x00
00002079: DUP1
0000207a: REVERT
0000207b: JUMPDEST
0000207c: DUP3
0000207d: PUSH1 0x20
0000207f: DUP7
00002080: ADD
00002081: PUSH1 0x20
00002083: DUP4
00002084: ADD
00002085: CALLDATACOPY
00002086: PUSH1 0x00
00002088: PUSH1 0x20
0000208a: DUP5
0000208b: DUP4
0000208c: ADD
0000208d: ADD
0000208e: MSTORE
0000208f: DUP1
00002090: SWAP6
00002091: POP
00002092: POP
00002093: POP
00002094: POP
00002095: POP
00002096: POP
00002097: SWAP3
00002098: POP
00002099: SWAP3
0000209a: SWAP1
0000209b: POP
0000209c: JUMP
0000209d: JUMPDEST
0000209e: PUSH1 0x00
000020a0: PUSH1 0x20
000020a2: DUP3
000020a3: DUP5
000020a4: SUB
000020a5: SLT
000020a6: ISZERO
000020a7: PUSH2 0x20af
000020aa: JUMPI
000020ab: PUSH1 0x00
000020ad: DUP1
000020ae: REVERT
000020af: JUMPDEST
000020b0: DUP2
000020b1: CALLDATALOAD
000020b2: PUSH8 0xffffffffffffffff
000020bb: DUP2
000020bc: GT
000020bd: ISZERO
000020be: PUSH2 0x20c6
000020c1: JUMPI
000020c2: PUSH1 0x00
000020c4: DUP1
000020c5: REVERT
000020c6: JUMPDEST
000020c7: DUP3
000020c8: ADD
000020c9: PUSH1 0x60
000020cb: DUP2
000020cc: DUP6
000020cd: SUB
000020ce: SLT
000020cf: ISZERO
000020d0: PUSH2 0x1af7
000020d3: JUMPI
000020d4: PUSH1 0x00
000020d6: DUP1
000020d7: REVERT
000020d8: JUMPDEST
000020d9: PUSH1 0x00
000020db: DUP1
000020dc: PUSH1 0x00
000020de: PUSH1 0x60
000020e0: DUP5
000020e1: DUP7
000020e2: SUB
000020e3: SLT
000020e4: ISZERO
000020e5: PUSH2 0x20ed
000020e8: JUMPI
000020e9: PUSH1 0x00
000020eb: DUP1
000020ec: REVERT
000020ed: JUMPDEST
000020ee: DUP4
000020ef: CALLDATALOAD
000020f0: PUSH2 0x20f8
000020f3: DUP2
000020f4: PUSH2 0x1de5
000020f7: JUMP
000020f8: JUMPDEST
000020f9: SWAP3
000020fa: POP
000020fb: PUSH1 0x20
000020fd: DUP5
000020fe: ADD
000020ff: CALLDATALOAD
00002100: PUSH2 0x2108
00002103: DUP2
00002104: PUSH2 0x1de5
00002107: JUMP
00002108: JUMPDEST
00002109: SWAP3
0000210a: SWAP6
0000210b: SWAP3
0000210c: SWAP5
0000210d: POP
0000210e: POP
0000210f: POP
00002110: PUSH1 0x40
00002112: SWAP2
00002113: SWAP1
00002114: SWAP2
00002115: ADD
00002116: CALLDATALOAD
00002117: SWAP1
00002118: JUMP
00002119: JUMPDEST
0000211a: PUSH1 0x00
0000211c: DUP1
0000211d: PUSH1 0x40
0000211f: DUP4
00002120: DUP6
00002121: SUB
00002122: SLT
00002123: ISZERO
00002124: PUSH2 0x212c
00002127: JUMPI
00002128: PUSH1 0x00
0000212a: DUP1
0000212b: REVERT
0000212c: JUMPDEST
0000212d: DUP3
0000212e: CALLDATALOAD
0000212f: PUSH2 0x2137
00002132: DUP2
00002133: PUSH2 0x1de5
00002136: JUMP
00002137: JUMPDEST
00002138: SWAP5
00002139: PUSH1 0x20
0000213b: SWAP4
0000213c: SWAP1
0000213d: SWAP4
0000213e: ADD
0000213f: CALLDATALOAD
00002140: SWAP4
00002141: POP
00002142: POP
00002143: POP
00002144: JUMP
00002145: JUMPDEST
00002146: PUSH1 0x00
00002148: PUSH1 0x20
0000214a: DUP3
0000214b: DUP5
0000214c: SUB
0000214d: SLT
0000214e: ISZERO
0000214f: PUSH2 0x2157
00002152: JUMPI
00002153: PUSH1 0x00
00002155: DUP1
00002156: REVERT
00002157: JUMPDEST
00002158: POP
00002159: MLOAD
0000215a: SWAP2
0000215b: SWAP1
0000215c: POP
0000215d: JUMP
0000215e: JUMPDEST
0000215f: PUSH4 0x4e487b71
00002164: PUSH1 0xe0
00002166: SHL
00002167: PUSH1 0x00
00002169: MSTORE
0000216a: PUSH1 0x11
0000216c: PUSH1 0x04
0000216e: MSTORE
0000216f: PUSH1 0x24
00002171: PUSH1 0x00
00002173: REVERT
00002174: JUMPDEST
00002175: DUP1
00002176: DUP3
00002177: ADD
00002178: DUP1
00002179: DUP3
0000217a: GT
0000217b: ISZERO
0000217c: PUSH2 0x0497
0000217f: JUMPI
00002180: PUSH2 0x0497
00002183: PUSH2 0x215e
00002186: JUMP
00002187: JUMPDEST
00002188: PUSH1 0x00
0000218a: DUP1
0000218b: DUP4
0000218c: CALLDATALOAD
0000218d: PUSH1 0x1e
0000218f: NOT
00002190: DUP5
00002191: CALLDATASIZE
00002192: SUB
00002193: ADD
00002194: DUP2
00002195: SLT
00002196: PUSH2 0x219e
00002199: JUMPI
0000219a: PUSH1 0x00
0000219c: DUP1
0000219d: REVERT
0000219e: JUMPDEST
0000219f: DUP4
000021a0: ADD
000021a1: DUP1
000021a2: CALLDATALOAD
000021a3: SWAP2
000021a4: POP
000021a5: PUSH8 0xffffffffffffffff
000021ae: DUP3
000021af: GT
000021b0: ISZERO
000021b1: PUSH2 0x21b9
000021b4: JUMPI
000021b5: PUSH1 0x00
000021b7: DUP1
000021b8: REVERT
000021b9: JUMPDEST
000021ba: PUSH1 0x20
000021bc: ADD
000021bd: SWAP2
000021be: POP
000021bf: CALLDATASIZE
000021c0: DUP2
000021c1: SWAP1
000021c2: SUB
000021c3: DUP3
000021c4: SGT
000021c5: ISZERO
000021c6: PUSH2 0x1ee0
000021c9: JUMPI
000021ca: PUSH1 0x00
000021cc: DUP1
000021cd: REVERT
000021ce: JUMPDEST
000021cf: PUSH4 0x4e487b71
000021d4: PUSH1 0xe0
000021d6: SHL
000021d7: PUSH1 0x00
000021d9: MSTORE
000021da: PUSH1 0x32
000021dc: PUSH1 0x04
000021de: MSTORE
000021df: PUSH1 0x24
000021e1: PUSH1 0x00
000021e3: REVERT
000021e4: JUMPDEST
000021e5: PUSH1 0x00
000021e7: DUP3
000021e8: CALLDATALOAD
000021e9: PUSH1 0x5e
000021eb: NOT
000021ec: DUP4
000021ed: CALLDATASIZE
000021ee: SUB
000021ef: ADD
000021f0: DUP2
000021f1: SLT
000021f2: PUSH2 0x21fa
000021f5: JUMPI
000021f6: PUSH1 0x00
000021f8: DUP1
000021f9: REVERT
000021fa: JUMPDEST
000021fb: SWAP2
000021fc: SWAP1
000021fd: SWAP2
000021fe: ADD
000021ff: SWAP3
00002200: SWAP2
00002201: POP
00002202: POP
00002203: JUMP
00002204: JUMPDEST
00002205: PUSH1 0x00
00002207: PUSH1 0x01
00002209: DUP3
0000220a: ADD
0000220b: PUSH2 0x2216
0000220e: JUMPI
0000220f: PUSH2 0x2216
00002212: PUSH2 0x215e
00002215: JUMP
00002216: JUMPDEST
00002217: POP
00002218: PUSH1 0x01
0000221a: ADD
0000221b: SWAP1
0000221c: JUMP
0000221d: JUMPDEST
0000221e: PUSH1 0x20
00002220: DUP1
00002221: DUP3
00002222: MSTORE
00002223: PUSH1 0x2c
00002225: SWAP1
00002226: DUP3
00002227: ADD
00002228: MSTORE
00002229: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
0000224a: PUSH1 0x40
0000224c: DUP3
0000224d: ADD
0000224e: MSTORE
0000224f: PUSH12 0x19195b1959d85d1958d85b1b
0000225c: PUSH1 0xa2
0000225e: SHL
0000225f: PUSH1 0x60
00002261: DUP3
00002262: ADD
00002263: MSTORE
00002264: PUSH1 0x80
00002266: ADD
00002267: SWAP1
00002268: JUMP
00002269: JUMPDEST
0000226a: PUSH1 0x20
0000226c: DUP1
0000226d: DUP3
0000226e: MSTORE
0000226f: PUSH1 0x2c
00002271: SWAP1
00002272: DUP3
00002273: ADD
00002274: MSTORE
00002275: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00002296: PUSH1 0x40
00002298: DUP3
00002299: ADD
0000229a: MSTORE
0000229b: PUSH12 0x6163746976652070726f7879
000022a8: PUSH1 0xa0
000022aa: SHL
000022ab: PUSH1 0x60
000022ad: DUP3
000022ae: ADD
000022af: MSTORE
000022b0: PUSH1 0x80
000022b2: ADD
000022b3: SWAP1
000022b4: JUMP
000022b5: JUMPDEST
000022b6: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000
000022d7: DUP2
000022d8: MSTORE
000022d9: PUSH1 0x00
000022db: DUP4
000022dc: MLOAD
000022dd: PUSH2 0x22ed
000022e0: DUP2
000022e1: PUSH1 0x17
000022e3: DUP6
000022e4: ADD
000022e5: PUSH1 0x20
000022e7: DUP9
000022e8: ADD
000022e9: PUSH2 0x1d8e
000022ec: JUMP
000022ed: JUMPDEST
000022ee: PUSH17 0x01034b99036b4b9b9b4b733903937b6329
00002300: PUSH1 0x7d
00002302: SHL
00002303: PUSH1 0x17
00002305: SWAP2
00002306: DUP5
00002307: ADD
00002308: SWAP2
00002309: DUP3
0000230a: ADD
0000230b: MSTORE
0000230c: DUP4
0000230d: MLOAD
0000230e: PUSH2 0x231e
00002311: DUP2
00002312: PUSH1 0x28
00002314: DUP5
00002315: ADD
00002316: PUSH1 0x20
00002318: DUP9
00002319: ADD
0000231a: PUSH2 0x1d8e
0000231d: JUMP
0000231e: JUMPDEST
0000231f: ADD
00002320: PUSH1 0x28
00002322: ADD
00002323: SWAP5
00002324: SWAP4
00002325: POP
00002326: POP
00002327: POP
00002328: POP
00002329: JUMP
0000232a: JUMPDEST
0000232b: PUSH1 0x00
0000232d: PUSH1 0x20
0000232f: DUP3
00002330: DUP5
00002331: SUB
00002332: SLT
00002333: ISZERO
00002334: PUSH2 0x233c
00002337: JUMPI
00002338: PUSH1 0x00
0000233a: DUP1
0000233b: REVERT
0000233c: JUMPDEST
0000233d: DUP2
0000233e: MLOAD
0000233f: DUP1
00002340: ISZERO
00002341: ISZERO
00002342: DUP2
00002343: EQ
00002344: PUSH2 0x1af7
00002347: JUMPI
00002348: PUSH1 0x00
0000234a: DUP1
0000234b: REVERT
0000234c: JUMPDEST
0000234d: DUP1
0000234e: DUP3
0000234f: MUL
00002350: DUP2
00002351: ISZERO
00002352: DUP3
00002353: DUP3
00002354: DIV
00002355: DUP5
00002356: EQ
00002357: OR
00002358: PUSH2 0x0497
0000235b: JUMPI
0000235c: PUSH2 0x0497
0000235f: PUSH2 0x215e
00002362: JUMP
00002363: JUMPDEST
00002364: PUSH1 0x00
00002366: DUP2
00002367: PUSH2 0x2372
0000236a: JUMPI
0000236b: PUSH2 0x2372
0000236e: PUSH2 0x215e
00002371: JUMP
00002372: JUMPDEST
00002373: POP
00002374: PUSH1 0x00
00002376: NOT
00002377: ADD
00002378: SWAP1
00002379: JUMP
0000237a: JUMPDEST
0000237b: PUSH1 0x00
0000237d: DUP3
0000237e: MLOAD
0000237f: PUSH2 0x21fa
00002382: DUP2
00002383: DUP5
00002384: PUSH1 0x20
00002386: DUP8
00002387: ADD
00002388: PUSH2 0x1d8e
0000238b: JUMP
0000238c: INVALID
0000238d: CALLDATASIZE
0000238e: ADDMOD
0000238f: SWAP5
00002390: LOG1
00002391: EXTCODESIZE
00002392: LOG1
00002393: LOG3
00002394: UNKNOWN(0x21)
00002395: MOD
00002396: PUSH8 0xc828492db98dca3e
0000239f: KECCAK256
000023a0: PUSH23 0xcc3735a920a3ca505d382bbc416464726573733a206c6f
000023b8: PUSH24 0x2d6c6576656c2063616c6c20776974682076616c75652066
000023d1: PUSH2 0x696c
000023d4: PUSH6 0x644164647265
000023db: PUSH20 0x733a206c6f772d6c6576656c2064656c65676174
000023f0: PUSH6 0x2063616c6c20
000023f7: PUSH7 0x61696c6564a498
000023ff: SMOD
00002400: KECCAK256
00002401: TLOAD
00002402: UNKNOWN(0xE4)
00002403: UNKNOWN(0xD3)
00002404: SSTORE
00002405: MULMOD
00002406: UNKNOWN(0x2E)
00002407: CREATE2
00002408: UNKNOWN(0xA8)
00002409: LOG1
0000240a: DUP16
0000240b: JUMP
0000240c: UNKNOWN(0xE8)
0000240d: SWAP2
0000240e: EXTCODECOPY
0000240f: DELEGATECALL
00002410: LOG2
00002411: ADD
00002412: UNKNOWN(0xFB)
00002413: UNKNOWN(0xE2)
00002414: DUP8
00002415: DUP3
00002416: JUMPDEST
00002417: MULMOD
00002418: JUMP
00002419: SWAP4
0000241a: UNKNOWN(0xC2)
0000241b: OR
0000241c: PUSH22 0xe1dcbdb91df27212a29bc27177c840cf2f819ecf2187
00002433: NUMBER
00002434: UNKNOWN(0x2E)
00002435: UNKNOWN(0x1F)
00002436: UNKNOWN(0xAC)
00002437: DUP7
00002438: UNKNOWN(0xC2)
00002439: UNKNOWN(0xDD)
0000243a: TSTORE
0000243b: UNKNOWN(0xFC)
0000243c: UNKNOWN(0xA9)
0000243d: LOG2
0000243e: PUSH5 0x6970667358
00002444: UNKNOWN(0x22)
00002445: SLT
00002446: KECCAK256
00002447: PUSH4 0xee10cff0
0000244c: MSTORE
0000244d: UNKNOWN(0xCD)
0000244e: DUP3
0000244f: GT
00002450: PUSH16 0x6c76d65c743cbde7e04d9a66c77f54ae
00002461: DIFFICULTY
00002462: UNKNOWN(0x23)
00002463: DIFFICULTY
00002464: BLOBBASEFEE
00002465: SELFBALANCE
00002466: TLOAD
00002467: PUSH5 0x736f6c6343
0000246d: STOP
0000246e: ADDMOD
0000246f: SGT
00002470: STOP
00002471: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x393d951f08fe3f8b73849c3d330d20c221656533fec370e0931a839cb7bde75f
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x393d951f08fe3f8b73849c3d330d20c221656533fec370e0931a839cb7bde75f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x94a173b7",
            "selector": "0x94a173b7",
            "calldata_variants": [
                "0x94a173b7",
                "0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd11a57ec",
            "selector": "0xd11a57ec",
            "calldata_variants": [
                "0xd11a57ec",
                "0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6d66ac8",
            "selector": "0xe6d66ac8",
            "calldata_variants": [
                "0xe6d66ac8",
                "0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x59ff6d3b",
            "selector": "0x59ff6d3b",
            "calldata_variants": [
                "0x59ff6d3b",
                "0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c1c6dcd",
            "selector": "0x5c1c6dcd",
            "calldata_variants": [
                "0x5c1c6dcd",
                "0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7403,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 9231,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8
call_targets: 0x75161367fcac81482706d119ceedf8ef9a26fb8b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x75161367fcac81482706d119ceedf8ef9a26fb8b"
    ],
    "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": "0x94a173b7",
            "selector": "0x94a173b7",
            "calldata_variants": [
                "0x94a173b7",
                "0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd11a57ec",
            "selector": "0xd11a57ec",
            "calldata_variants": [
                "0xd11a57ec",
                "0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6d66ac8",
            "selector": "0xe6d66ac8",
            "calldata_variants": [
                "0xe6d66ac8",
                "0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x59ff6d3b",
            "selector": "0x59ff6d3b",
            "calldata_variants": [
                "0x59ff6d3b",
                "0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c1c6dcd",
            "selector": "0x5c1c6dcd",
            "calldata_variants": [
                "0x5c1c6dcd",
                "0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5712,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7059,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8
call_targets: 0x75161367fcac81482706d119ceedf8ef9a26fb8b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x75161367fcac81482706d119ceedf8ef9a26fb8b"
    ],
    "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": "0x94a173b7",
            "selector": "0x94a173b7",
            "calldata_variants": [
                "0x94a173b7",
                "0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd11a57ec",
            "selector": "0xd11a57ec",
            "calldata_variants": [
                "0xd11a57ec",
                "0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6d66ac8",
            "selector": "0xe6d66ac8",
            "calldata_variants": [
                "0xe6d66ac8",
                "0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x59ff6d3b",
            "selector": "0x59ff6d3b",
            "calldata_variants": [
                "0x59ff6d3b",
                "0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c1c6dcd",
            "selector": "0x5c1c6dcd",
            "calldata_variants": [
                "0x5c1c6dcd",
                "0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5712,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7059,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x52787b2904b4b95a303343b086f31c6e54c0e8d9c15eae42f855d1274f8461f1
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x52787b2904b4b95a303343b086f31c6e54c0e8d9c15eae42f855d1274f8461f1",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x94a173b7",
            "selector": "0x94a173b7",
            "calldata_variants": [
                "0x94a173b7",
                "0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd11a57ec",
            "selector": "0xd11a57ec",
            "calldata_variants": [
                "0xd11a57ec",
                "0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6d66ac8",
            "selector": "0xe6d66ac8",
            "calldata_variants": [
                "0xe6d66ac8",
                "0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x59ff6d3b",
            "selector": "0x59ff6d3b",
            "calldata_variants": [
                "0x59ff6d3b",
                "0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c1c6dcd",
            "selector": "0x5c1c6dcd",
            "calldata_variants": [
                "0x5c1c6dcd",
                "0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 6
}