More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,079 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Begin Stake | 16954385 | 655 days ago | IN | 0 ETH | 0.00373396 | ||||
Begin Stake | 16915895 | 660 days ago | IN | 0 ETH | 0.00366533 | ||||
Begin Stake | 16911031 | 661 days ago | IN | 0 ETH | 0.00311508 | ||||
Set Begin Lock S... | 16892914 | 663 days ago | IN | 0 ETH | 0.00071006 | ||||
Set End Lock Sta... | 16825556 | 673 days ago | IN | 0 ETH | 0.0005004 | ||||
Set Begin Lock S... | 16825417 | 673 days ago | IN | 0 ETH | 0.000854 | ||||
End Stake | 16818682 | 674 days ago | IN | 0 ETH | 0.00300193 | ||||
Begin Stake | 16817830 | 674 days ago | IN | 0 ETH | 0.00309567 | ||||
End Stake | 16817801 | 674 days ago | IN | 0 ETH | 0.00377346 | ||||
End Stake | 16817786 | 674 days ago | IN | 0 ETH | 0.0036494 | ||||
Begin Stake | 16817525 | 674 days ago | IN | 0 ETH | 0.00333234 | ||||
End Stake | 16817448 | 674 days ago | IN | 0 ETH | 0.00470373 | ||||
End Stake | 16817445 | 674 days ago | IN | 0 ETH | 0.00373845 | ||||
End Stake | 16812296 | 675 days ago | IN | 0 ETH | 0.00320917 | ||||
End Stake | 16811633 | 675 days ago | IN | 0 ETH | 0.00295833 | ||||
Begin Stake | 16811621 | 675 days ago | IN | 0 ETH | 0.00370641 | ||||
End Stake | 16811613 | 675 days ago | IN | 0 ETH | 0.00317352 | ||||
End Stake | 16811004 | 675 days ago | IN | 0 ETH | 0.00321183 | ||||
End Stake | 16810366 | 675 days ago | IN | 0 ETH | 0.00315666 | ||||
End Stake | 16809892 | 675 days ago | IN | 0 ETH | 0.00297254 | ||||
End Stake | 16808828 | 675 days ago | IN | 0 ETH | 0.00362421 | ||||
Begin Stake | 16803624 | 676 days ago | IN | 0 ETH | 0.04835682 | ||||
End Stake | 16803619 | 676 days ago | IN | 0 ETH | 0.04402748 | ||||
End Stake | 16801663 | 676 days ago | IN | 0 ETH | 0.01623816 | ||||
End Stake | 16801654 | 676 days ago | IN | 0 ETH | 0.01644677 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
LuffyStaking
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.12; import "./RewardsVault.sol"; /** * @title GucciStaking * @author Aaron Hanson <[email protected]> */ contract LuffyStaking is RewardsVault { struct Stake { uint256 amount; bool isActive; uint40 poolID; uint40 rewardRate; uint40 startTimestamp; uint40 maturityTimestamp; uint256 amountRewarded; uint40 stakeEndTimestamp; } mapping(address => mapping(bytes16 => Stake)) public stakes; mapping(address => uint256) public stakeCount; bool public beginStakeLocked = false; bool public endStakeLocked = false; event StakeBegan ( bytes16 indexed stakeID, address indexed staker, uint40 indexed poolID, uint256 amount, uint40 rewardRate, uint256 rewardAtMaturity, uint40 startTimestamp, uint40 maturityTimestamp ); event StakeEnded ( bytes16 indexed stakeID, address indexed staker, uint40 indexed poolID, uint256 rewardPaid, uint256 endTimestamp ); modifier lockBeginStake(){ require(!beginStakeLocked, "Begin Stake is locked."); _; } modifier lockEndStake() { require(!endStakeLocked, "End Stake is locked."); _; } constructor( address _immutableLuffy ) Declaration(_immutableLuffy) {} function beginStake( uint40 _poolID, uint256 _amount ) external lockBeginStake returns (bytes16 stakeID) { require( _poolID < NUM_POOLS, "Invalid pool ID" ); require( _amount > 0, "Amount cannot be zero" ); uint256 walletBalance = LUFFY.balanceOf(_msgSender()); require( walletBalance >= _amount, "Amount cannot be greater than balance" ); if (_amount > walletBalance - 10**9) { _amount = walletBalance - 10**9; } PoolInfo storage pool = pools[_poolID]; uint256 maxReward = _calcStakeMaxReward( pool, _amount ); require( maxReward <= vaultAvailableBalance, "Vault cannot cover rewards" ); unchecked { vaultAvailableBalance -= maxReward; } pool.totalStaked += _amount; pool.totalRewardsReserved += maxReward; LUFFY.transferFrom( _msgSender(), address(this), _amount ); uint40 blockTimestamp = uint40(block.timestamp); uint40 maturityTimestamp = blockTimestamp + pool.lockDays * ONE_DAY; Stake memory stake = Stake( _amount, true, _poolID, pool.rewardRate, blockTimestamp, maturityTimestamp, 0, 0 ); stakeID = getStakeID( _msgSender(), stakeCount[_msgSender()] ); stakes[_msgSender()][stakeID] = stake; stakeCount[_msgSender()] += 1; emit StakeBegan( stakeID, _msgSender(), _poolID, stake.amount, stake.rewardRate, maxReward, stake.startTimestamp, stake.maturityTimestamp ); } function setBeginLockState(bool _state) public onlyOwner { beginStakeLocked = _state; } function setEndLockState(bool _state) public onlyOwner { endStakeLocked = _state; } struct StakeInfoStruct { uint256 amount; uint40 lockDays; bool isActive; uint40 poolID; uint40 rewardRate; uint40 startTimestamp; uint40 maturityTimestamp; bool isMature; uint256 withdrawableReward; uint256 unusedReservedReward; uint256 amountRewarded; bytes16 stakeId; uint40 stakeEndTimestamp; } function getStakeInfoList(address _address) public view returns (StakeInfoStruct[] memory) { StakeInfoStruct[] memory array = new StakeInfoStruct[](stakeCount[_address]); for(uint i = 0; i < stakeCount[_address]; i++){ bytes16 stakeId = getStakeID(_address, i); Stake memory stake = stakes[_address][stakeId]; array[i].amount = stake.amount; array[i].lockDays = (stake.maturityTimestamp - stake.startTimestamp) / ONE_DAY; array[i].isActive = stake.isActive; array[i].poolID = stake.poolID; array[i].rewardRate = stake.rewardRate; array[i].startTimestamp = stake.startTimestamp; array[i].maturityTimestamp = stake.maturityTimestamp; array[i].isMature = stake.isActive ? block.timestamp >= stake.maturityTimestamp : stake.stakeEndTimestamp >= stake.maturityTimestamp ; array[i].amountRewarded = stake.amountRewarded; array[i].stakeEndTimestamp = stake.stakeEndTimestamp; array[i].stakeId = stakeId; (array[i].withdrawableReward, array[i].unusedReservedReward) = _stakeWithdrawableReward( stake ); } return array; } function endStake( bytes16 _stakeID ) external lockEndStake { Stake storage stake = stakes[_msgSender()][_stakeID]; PoolInfo storage pool = pools[stake.poolID]; require( stake.isActive == true, "Stake is inactive" ); ( uint256 reward, uint256 unusedReservedReward ) = _stakeWithdrawableReward(stake); stake.isActive = false; stake.stakeEndTimestamp = uint40(block.timestamp); vaultAvailableBalance += unusedReservedReward; pool.totalRewardsReserved -= reward + unusedReservedReward; pool.totalStaked -= stake.amount; stake.amountRewarded = reward; LUFFY.transfer( _msgSender(), stake.amount + reward ); emit StakeEnded( _stakeID, _msgSender(), stake.poolID, reward, block.timestamp ); } function getStakeID( address _staker, uint256 _stakeIndex ) public pure returns (bytes16 id) { id = bytes16(bytes32(uint256(keccak256( abi.encodePacked(_staker, _stakeIndex) )))); } function stakeInfo( address _staker, bytes16 _stakeID ) external view returns (StakeInfoStruct memory) { Stake memory stake = stakes[_staker][_stakeID]; (uint256 withdrawableReward, uint256 unusedReservedReward) = _stakeWithdrawableReward( stake ); return StakeInfoStruct( stake.amount, (stake.maturityTimestamp - stake.startTimestamp) / ONE_DAY, stake.isActive, stake.poolID, stake.rewardRate, stake.startTimestamp, stake.maturityTimestamp, stake.isActive ? block.timestamp >= stake.maturityTimestamp : stake.stakeEndTimestamp >= stake.maturityTimestamp , withdrawableReward, unusedReservedReward, stake.amountRewarded, _stakeID, stake.stakeEndTimestamp ); } function calcStakeMaxReward( uint40 _poolID, uint256 _amount ) external view returns (uint256 maxReward) { maxReward = _calcStakeMaxReward( pools[_poolID], _amount ); } function stakeWithdrawableReward( address _staker, bytes16 _stakeID ) external view returns (uint256 withdrawableReward) { Stake memory stake = stakes[_staker][_stakeID]; (withdrawableReward, ) = _stakeWithdrawableReward( stake ); } function _stakeWithdrawableReward( Stake memory _stake ) private view returns ( uint256 withdrawableReward, uint256 unusedReservedReward ) { if (_stake.isActive == true) { uint256 rewardAtMaturity = _calculateReward( _stake.amount, _stake.rewardRate, _stake.maturityTimestamp - _stake.startTimestamp ); withdrawableReward = _calculateReward( _stake.amount, _stake.rewardRate, _stakeRewardableDuration( _stake ) ); unusedReservedReward = rewardAtMaturity - withdrawableReward; } else { withdrawableReward = 0; unusedReservedReward = 0; } } function _stakeRewardableDuration( Stake memory _stake ) private view returns (uint256 duration) { if (block.timestamp >= _stake.maturityTimestamp) { duration = _stake.maturityTimestamp - _stake.startTimestamp; } else { PoolInfo memory pool = pools[_stake.poolID]; duration = pool.isFlexible == true ? block.timestamp - _stake.startTimestamp : 0; } } function _calcStakeMaxReward( PoolInfo memory _pool, uint256 _amount ) private pure returns (uint256 maxReward) { maxReward = _amount * _pool.lockDays * _pool.rewardRate / 36500; } function _calculateReward( uint256 _amount, uint256 _rewardRate, uint256 _duration ) private pure returns (uint256 reward) { reward = _amount * _rewardRate * _duration / 100 / ONE_YEAR; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.12; import "./Declaration.sol"; import "./OwnableSafe.sol"; /** * @title ConfigurablePools * @author Aaron Hanson <[email protected]> */ abstract contract ConfigurablePools is OwnableSafe, Declaration { struct PoolInfo { uint40 lockDays; uint40 rewardRate; bool isFlexible; uint256 totalStaked; uint256 totalRewardsReserved; } uint256 public constant NUM_POOLS = 5; mapping(uint256 => PoolInfo) public pools; constructor() { pools[0] = PoolInfo(100, 3, true, 0, 0); pools[1] = PoolInfo(30, 7, false, 0, 0); pools[2] = PoolInfo(60, 14, false, 0, 0); pools[3] = PoolInfo(90, 20, false, 0, 0); pools[4] = PoolInfo(120, 24, false, 0, 0); } function allPools() public view returns(PoolInfo[] memory) { PoolInfo[] memory array = new PoolInfo[](NUM_POOLS); for(uint i=0; i < NUM_POOLS; i++){ array[i] = pools[i]; } return array; } function editPoolTerms( uint256 _poolID, uint40 _newLockDays, uint40 _newRewardRate ) external onlyOwner { require( _poolID < NUM_POOLS, "Invalid pool ID" ); require( _newLockDays > 0, "Lock days cannot be zero" ); require( _newRewardRate > 0, "Reward rate cannot be zero" ); pools[_poolID].lockDays = _newLockDays; pools[_poolID].rewardRate = _newRewardRate; } }
// SPDX-License-Identifier: MIT // Based on OpenZeppelin Contracts v4.4.0 (utils/Context.sol) // With _msgData() removed pragma solidity ^0.8.12; /** * @dev Provides the msg.sender in the current execution context. */ abstract contract ContextSimple { function _msgSender() internal view virtual returns (address) { return msg.sender; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.12; interface IERC20 { function transfer( address recipient, uint256 amount ) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); function balanceOf(address account) external view returns (uint256); } abstract contract Declaration { uint40 constant ONE_DAY = 60 * 60 * 24; uint40 constant ONE_YEAR = ONE_DAY * 365; IERC20 public immutable LUFFY; constructor( address _immutableLuffy ) { LUFFY = IERC20(_immutableLuffy); } }
// SPDX-License-Identifier: MIT // Based on OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) // With renounceOwnership() removed pragma solidity ^0.8.12; import "./ContextSimple.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract OwnableSafe is ContextSimple { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.12; import "./ConfigurablePools.sol"; /** * @title RewardsVault * @author Aaron Hanson <[email protected]> */ abstract contract RewardsVault is ConfigurablePools { uint256 public vaultAvailableBalance; function donateToVault( uint256 _amount ) external { uint256 walletBalance = LUFFY.balanceOf(_msgSender()); require( walletBalance >= _amount, "Amount cannot be greater than balance" ); if (_amount > walletBalance - 10**9) { _amount = walletBalance - 10**9; } vaultAvailableBalance += _amount; LUFFY.transferFrom( _msgSender(), address(this), _amount ); } function withdrawFromVault( uint256 _amount ) external onlyOwner { vaultAvailableBalance -= _amount; LUFFY.transfer( _msgSender(), _amount ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_immutableLuffy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes16","name":"stakeID","type":"bytes16"},{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"uint40","name":"poolID","type":"uint40"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint40","name":"rewardRate","type":"uint40"},{"indexed":false,"internalType":"uint256","name":"rewardAtMaturity","type":"uint256"},{"indexed":false,"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"indexed":false,"internalType":"uint40","name":"maturityTimestamp","type":"uint40"}],"name":"StakeBegan","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes16","name":"stakeID","type":"bytes16"},{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"uint40","name":"poolID","type":"uint40"},{"indexed":false,"internalType":"uint256","name":"rewardPaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTimestamp","type":"uint256"}],"name":"StakeEnded","type":"event"},{"inputs":[],"name":"LUFFY","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NUM_POOLS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allPools","outputs":[{"components":[{"internalType":"uint40","name":"lockDays","type":"uint40"},{"internalType":"uint40","name":"rewardRate","type":"uint40"},{"internalType":"bool","name":"isFlexible","type":"bool"},{"internalType":"uint256","name":"totalStaked","type":"uint256"},{"internalType":"uint256","name":"totalRewardsReserved","type":"uint256"}],"internalType":"struct ConfigurablePools.PoolInfo[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint40","name":"_poolID","type":"uint40"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"beginStake","outputs":[{"internalType":"bytes16","name":"stakeID","type":"bytes16"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"beginStakeLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint40","name":"_poolID","type":"uint40"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calcStakeMaxReward","outputs":[{"internalType":"uint256","name":"maxReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"donateToVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_poolID","type":"uint256"},{"internalType":"uint40","name":"_newLockDays","type":"uint40"},{"internalType":"uint40","name":"_newRewardRate","type":"uint40"}],"name":"editPoolTerms","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes16","name":"_stakeID","type":"bytes16"}],"name":"endStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endStakeLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"uint256","name":"_stakeIndex","type":"uint256"}],"name":"getStakeID","outputs":[{"internalType":"bytes16","name":"id","type":"bytes16"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getStakeInfoList","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint40","name":"lockDays","type":"uint40"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint40","name":"poolID","type":"uint40"},{"internalType":"uint40","name":"rewardRate","type":"uint40"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"maturityTimestamp","type":"uint40"},{"internalType":"bool","name":"isMature","type":"bool"},{"internalType":"uint256","name":"withdrawableReward","type":"uint256"},{"internalType":"uint256","name":"unusedReservedReward","type":"uint256"},{"internalType":"uint256","name":"amountRewarded","type":"uint256"},{"internalType":"bytes16","name":"stakeId","type":"bytes16"},{"internalType":"uint40","name":"stakeEndTimestamp","type":"uint40"}],"internalType":"struct LuffyStaking.StakeInfoStruct[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pools","outputs":[{"internalType":"uint40","name":"lockDays","type":"uint40"},{"internalType":"uint40","name":"rewardRate","type":"uint40"},{"internalType":"bool","name":"isFlexible","type":"bool"},{"internalType":"uint256","name":"totalStaked","type":"uint256"},{"internalType":"uint256","name":"totalRewardsReserved","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"setBeginLockState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"setEndLockState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"bytes16","name":"_stakeID","type":"bytes16"}],"name":"stakeInfo","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint40","name":"lockDays","type":"uint40"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint40","name":"poolID","type":"uint40"},{"internalType":"uint40","name":"rewardRate","type":"uint40"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"maturityTimestamp","type":"uint40"},{"internalType":"bool","name":"isMature","type":"bool"},{"internalType":"uint256","name":"withdrawableReward","type":"uint256"},{"internalType":"uint256","name":"unusedReservedReward","type":"uint256"},{"internalType":"uint256","name":"amountRewarded","type":"uint256"},{"internalType":"bytes16","name":"stakeId","type":"bytes16"},{"internalType":"uint40","name":"stakeEndTimestamp","type":"uint40"}],"internalType":"struct LuffyStaking.StakeInfoStruct","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"bytes16","name":"_stakeID","type":"bytes16"}],"name":"stakeWithdrawableReward","outputs":[{"internalType":"uint256","name":"withdrawableReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes16","name":"","type":"bytes16"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint40","name":"poolID","type":"uint40"},{"internalType":"uint40","name":"rewardRate","type":"uint40"},{"internalType":"uint40","name":"startTimestamp","type":"uint40"},{"internalType":"uint40","name":"maturityTimestamp","type":"uint40"},{"internalType":"uint256","name":"amountRewarded","type":"uint256"},{"internalType":"uint40","name":"stakeEndTimestamp","type":"uint40"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultAvailableBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawFromVault","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040526005805461ffff191690553480156200001c57600080fd5b5060405162002811380380620028118339810160408190526200003f91620004f9565b806200004b33620004a9565b806001600160a01b03166080816001600160a01b031681525050506040518060a00160405280606464ffffffffff168152602001600364ffffffffff1681526020016001151581526020016000815260200160008152506001600080815260200190815260200160002060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a81548164ffffffffff021916908364ffffffffff160217905550604082015181600001600a6101000a81548160ff02191690831515021790555060608201518160010155608082015181600201559050506040518060a00160405280601e64ffffffffff168152602001600764ffffffffff168152602001600015158152602001600081526020016000815250600160006001815260200190815260200160002060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a81548164ffffffffff021916908364ffffffffff160217905550604082015181600001600a6101000a81548160ff02191690831515021790555060608201518160010155608082015181600201559050506040518060a00160405280603c64ffffffffff168152602001600e64ffffffffff168152602001600015158152602001600081526020016000815250600160006002815260200190815260200160002060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a81548164ffffffffff021916908364ffffffffff160217905550604082015181600001600a6101000a81548160ff02191690831515021790555060608201518160010155608082015181600201559050506040518060a00160405280605a64ffffffffff168152602001601464ffffffffff168152602001600015158152602001600081526020016000815250600160006003815260200190815260200160002060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a81548164ffffffffff021916908364ffffffffff160217905550604082015181600001600a6101000a81548160ff02191690831515021790555060608201518160010155608082015181600201559050506040518060a00160405280607864ffffffffff168152602001601864ffffffffff168152602001600015158152602001600081526020016000815250600160006004815260200190815260200160002060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a81548164ffffffffff021916908364ffffffffff160217905550604082015181600001600a6101000a81548160ff0219169083151502179055506060820151816001015560808201518160020155905050506200052b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200050c57600080fd5b81516001600160a01b03811681146200052457600080fd5b9392505050565b6080516122a06200057160003960008181610281015281816104e00152818161066f0152818161084301528181610f08015281816110e001526111cf01526122a06000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80639fb4dd4c116100c3578063c5c63e651161007c578063c5c63e651461036a578063e1d033e91461037f578063e8e8b7c01461043b578063f2fde38b1461045b578063fa6a34691461046e578063fd75235f1461048157600080fd5b80639fb4dd4c1461027c578063ac4afa38146102a3578063ae27fb2614610329578063bb8c542e14610332578063bd803ede14610345578063c4fbd08b1461035857600080fd5b806350291ab71161011557806350291ab7146101eb5780637a52f81c146101fe5780638da5cb5b1461021e57806399c2def4146102435780639ab06ff0146102565780639e3875ba1461026957600080fd5b8063076d081514610152578063210af618146101675780632e66220e1461018957806333060d901461019f5780633c6e2af6146101bf575b600080fd5b610165610160366004611d08565b610494565b005b6005546101749060ff1681565b60405190151581526020015b60405180910390f35b610191600581565b604051908152602001610180565b6101916101ad366004611d38565b60046020526000908152604090205481565b6101d26101cd366004611d68565b610583565b6040516001600160801b03199091168152602001610180565b6101d26101f9366004611d92565b610b12565b61021161020c366004611dc6565b610b5a565b6040516101809190611eeb565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610180565b610165610251366004611efa565b610d25565b610191610264366004611dc6565b611022565b610165610277366004611d08565b6110d4565b61022b7f000000000000000000000000000000000000000000000000000000000000000081565b6102f26102b1366004611d08565b600160208190526000918252604090912080549181015460029091015464ffffffffff80841693600160281b810490911692600160501b90910460ff169185565b6040805164ffffffffff9687168152959094166020860152911515928401929092526060830191909152608082015260a001610180565b61019160025481565b610165610340366004611f23565b611279565b610191610353366004611d68565b6112bd565b60055461017490610100900460ff1681565b61037261132e565b6040516101809190611f40565b6103f161038d366004611dc6565b600360208181526000938452604080852090915291835291208054600182015460028301549290930154909260ff81169264ffffffffff6101008304811693600160301b8404821693600160581b8104831693600160801b90910483169290911688565b60408051988952961515602089015264ffffffffff9586169688019690965292841660608701529083166080860152821660a085015260c08401521660e082015261010001610180565b61044e610449366004611d38565b611429565b6040516101809190611fba565b610165610469366004611d38565b611843565b61016561047c366004612009565b6118de565b61016561048f366004611f23565b611a34565b6000546001600160a01b031633146104c75760405162461bcd60e51b81526004016104be90612045565b60405180910390fd5b80600260008282546104d99190612090565b90915550507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af115801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f91906120a7565b5050565b60055460009060ff16156105d25760405162461bcd60e51b81526020600482015260166024820152752132b3b4b71029ba30b5b29034b9903637b1b5b2b21760511b60448201526064016104be565b60058364ffffffffff161061061b5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081c1bdbdb081251608a1b60448201526064016104be565b600082116106635760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742063616e6e6f74206265207a65726f60581b60448201526064016104be565b60006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166370a08231336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd91906120c4565b90508281101561071f5760405162461bcd60e51b81526004016104be906120dd565b61072d633b9aca0082612090565b83111561074557610742633b9aca0082612090565b92505b64ffffffffff8481166000908152600160208181526040808420815160a08101835281548088168252600160281b810490971693810193909352600160501b90950460ff16151590820152908301546060820152600283015460808201526107ad9086611a71565b90506002548111156108015760405162461bcd60e51b815260206004820152601a60248201527f5661756c742063616e6e6f7420636f766572207265776172647300000000000060448201526064016104be565b600280548290039055600182018054869190600090610821908490612122565b925050819055508082600201600082825461083c9190612122565b90915550507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018890526064016020604051808303816000875af11580156108c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e891906120a7565b508154429060009061090590620151809064ffffffffff1661213a565b61090f9083612167565b6040805161010081018252898152600160208083019190915264ffffffffff8c8116838501528854600160281b9004811660608401528681166080840152841660a0830152600060c0830181905260e083018190523380825260049092529290922054929350916109809190610b12565b3360008181526003602081815260408084206001600160801b03198716855282528084208751815587830151600180830180548b86015160608d015160808e015160a08f015165ffffffffffff1990941696151565ffffffffff0019169690961761010064ffffffffff93841602176fffffffffffffffffffff0000000000001916600160301b9183169190910264ffffffffff60581b191617600160581b958216959095029490941764ffffffffff60801b1916600160801b9185169190910217905560c08a0151600284015560e08a015192909501805464ffffffffff191692909116919091179055938352600490529181208054939a509192610a87908490612122565b9091555050805160608083015160808085015160a0808701516040805197885264ffffffffff958616602089015287018b9052918416948601949094528216908401528b169133916001600160801b03198b16917fdaa122a3982a206ebcd4dcbcad8f8aeafa15dcf6d831bf53add7c2ed68db66f5910160405180910390a450505050505092915050565b6040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260009060540160408051601f1981840301815291905280516020909101209392505050565b610b62611c9c565b6001600160a01b03831660009081526003602081815260408084206001600160801b03198716855282528084208151610100808201845282548252600183015460ff811615159583019590955264ffffffffff908504811693820193909352600160301b840483166060820152600160581b840483166080820152600160801b909304821660a0840152600281015460c08401529092015490911660e08201529080610c0d83611aad565b91509150604051806101a00160405280846000015181526020016201518085608001518660a00151610c3f9190612190565b610c4991906121cc565b64ffffffffff168152602001846020015115158152602001846040015164ffffffffff168152602001846060015164ffffffffff168152602001846080015164ffffffffff1681526020018460a0015164ffffffffff1681526020018460200151610ccd578460a0015164ffffffffff168560e0015164ffffffffff161015610cdd565b8460a0015164ffffffffff164210155b151581526020018381526020018281526020018460c001518152602001866001600160801b03191681526020018460e0015164ffffffffff1681525093505050505b92915050565b600554610100900460ff1615610d745760405162461bcd60e51b815260206004820152601460248201527322b7321029ba30b5b29034b9903637b1b5b2b21760611b60448201526064016104be565b3360009081526003602090815260408083206001600160801b0319851684528252808320600180820154610100810464ffffffffff16865293819052919093209160ff16151514610dfb5760405162461bcd60e51b81526020600482015260116024820152705374616b6520697320696e61637469766560781b60448201526064016104be565b60408051610100808201835284548252600185015460ff81161515602084015264ffffffffff918104821693830193909352600160301b830481166060830152600160581b830481166080830152600160801b909204821660a0820152600284015460c0820152600384015490911660e08201526000908190610e7d90611aad565b60018601805460ff1916905560038601805464ffffffffff19164264ffffffffff16179055600280549294509092508291600090610ebc908490612122565b90915550610ecc90508183612122565b836002016000828254610edf9190612090565b90915550508354600184018054600090610efa908490612090565b9091555050600284018290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb338654610f43908690612122565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb291906120a7565b506001840154610100900464ffffffffff16336001600160a01b0316866001600160801b0319167f44188be409e998865052aad7339b4c06dba208427e683f1d1fe8ca9dd2e303818542604051611013929190918252602082015260400190565b60405180910390a45050505050565b6001600160a01b03821660009081526003602081815260408084206001600160801b03198616855282528084208151610100808201845282548252600183015460ff811615159583019590955264ffffffffff908504811693820193909352600160301b840483166060820152600160581b840483166080820152600160801b909304821660a0840152600281015460c08401529092015490911660e08201526110cb81611aad565b50949350505050565b60006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166370a08231336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561114a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116e91906120c4565b9050818110156111905760405162461bcd60e51b81526004016104be906120dd565b61119e633b9aca0082612090565b8211156111b6576111b3633b9aca0082612090565b91505b81600260008282546111c89190612122565b90915550507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018590526064016020604051808303816000875af1158015611250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127491906120a7565b505050565b6000546001600160a01b031633146112a35760405162461bcd60e51b81526004016104be90612045565b600580549115156101000261ff0019909216919091179055565b64ffffffffff8281166000908152600160208181526040808420815160a08101835281548088168252600160281b810490971693810193909352600160501b90950460ff161515908201529083015460608201526002909201546080830152906113279083611a71565b9392505050565b60408051600580825260c0820190925260609160009190816020015b6040805160a08101825260008082526020808301829052928201819052606082018190526080820152825260001990920191018161134a57905050905060005b600581101561142357600081815260016020818152604092839020835160a081018552815464ffffffffff8082168352600160281b82041693820193909352600160501b90920460ff161515938201939093529082015460608201526002909101546080820152825183908390811061140557611405612206565b6020026020010181905250808061141b9061221c565b91505061138a565b50919050565b6001600160a01b0381166000908152600460205260408120546060919067ffffffffffffffff81111561145e5761145e6121f0565b60405190808252806020026020018201604052801561149757816020015b611484611c9c565b81526020019060019003908161147c5790505b50905060005b6001600160a01b03841660009081526004602052604090205481101561183c5760006114c98583610b12565b6001600160a01b03861660009081526003602081815260408084206001600160801b031986168552825292839020835161010080820186528254808352600184015460ff811615159584019590955264ffffffffff918504821696830196909652600160301b840481166060830152600160581b840481166080830152600160801b909304831660a0820152600282015460c08201529201541660e082015285519293509185908590811061158057611580612206565b602090810291909101015152608081015160a082015162015180916115a491612190565b6115ae91906121cc565b8484815181106115c0576115c0612206565b60200260200101516020019064ffffffffff16908164ffffffffff168152505080602001518484815181106115f7576115f7612206565b60200260200101516040019015159081151581525050806040015184848151811061162457611624612206565b60200260200101516060019064ffffffffff16908164ffffffffff1681525050806060015184848151811061165b5761165b612206565b60200260200101516080019064ffffffffff16908164ffffffffff1681525050806080015184848151811061169257611692612206565b602002602001015160a0019064ffffffffff16908164ffffffffff16815250508060a001518484815181106116c9576116c9612206565b602002602001015160c0019064ffffffffff16908164ffffffffff16815250508060200151611711578060a0015164ffffffffff168160e0015164ffffffffff161015611721565b8060a0015164ffffffffff164210155b84848151811061173357611733612206565b602002602001015160e00190151590811515815250508060c0015184848151811061176057611760612206565b60200260200101516101400181815250508060e0015184848151811061178857611788612206565b6020026020010151610180019064ffffffffff16908164ffffffffff1681525050818484815181106117bc576117bc612206565b60209081029190910101516001600160801b0319909116610160909101526117e381611aad565b8585815181106117f5576117f5612206565b60200260200101516101000186868151811061181357611813612206565b6020908102919091010151610120019190915252508190506118348161221c565b91505061149d565b5092915050565b6000546001600160a01b0316331461186d5760405162461bcd60e51b81526004016104be90612045565b6001600160a01b0381166118d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104be565b6118db81611b3a565b50565b6000546001600160a01b031633146119085760405162461bcd60e51b81526004016104be90612045565b6005831061194a5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081c1bdbdb081251608a1b60448201526064016104be565b60008264ffffffffff16116119a15760405162461bcd60e51b815260206004820152601860248201527f4c6f636b20646179732063616e6e6f74206265207a65726f000000000000000060448201526064016104be565b60008164ffffffffff16116119f85760405162461bcd60e51b815260206004820152601a60248201527f52657761726420726174652063616e6e6f74206265207a65726f00000000000060448201526064016104be565b600092835260016020526040909220805464ffffffffff938416600160281b0269ffffffffffffffffffff199091169390921692909217179055565b6000546001600160a01b03163314611a5e5760405162461bcd60e51b81526004016104be90612045565b6005805460ff1916911515919091179055565b6000618e94836020015164ffffffffff16846000015164ffffffffff1684611a999190612237565b611aa39190612237565b6113279190612256565b60008082602001511515600115151415611b2f576000611af78460000151856060015164ffffffffff1686608001518760a00151611aeb9190612190565b64ffffffffff16611b8a565b9050611b1b8460000151856060015164ffffffffff16611b1687611bd5565b611b8a565b9250611b278382612090565b915050915091565b506000905080915091565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611b9b6201518061016d61213a565b64ffffffffff16606483611baf8688612237565b611bb99190612237565b611bc39190612256565b611bcd9190612256565b949350505050565b60008160a0015164ffffffffff164210611c0a5781608001518260a00151611bfd9190612190565b64ffffffffff1692915050565b60408281015164ffffffffff90811660009081526001602081815291849020845160a08101865281548086168252600160281b810490951693810193909352600160501b90930460ff16151593820184905282810154606083015260029092015460808201529114611c7d576000611c93565b6080830151611c939064ffffffffff1642612090565b9150505b919050565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081019190915290565b600060208284031215611d1a57600080fd5b5035919050565b80356001600160a01b0381168114611c9757600080fd5b600060208284031215611d4a57600080fd5b61132782611d21565b803564ffffffffff81168114611c9757600080fd5b60008060408385031215611d7b57600080fd5b611d8483611d53565b946020939093013593505050565b60008060408385031215611da557600080fd5b611d8483611d21565b80356001600160801b031981168114611c9757600080fd5b60008060408385031215611dd957600080fd5b611de283611d21565b9150611df060208401611dae565b90509250929050565b805182526020810151611e15602084018264ffffffffff169052565b506040810151611e29604084018215159052565b506060810151611e42606084018264ffffffffff169052565b506080810151611e5b608084018264ffffffffff169052565b5060a0810151611e7460a084018264ffffffffff169052565b5060c0810151611e8d60c084018264ffffffffff169052565b5060e0810151611ea160e084018215159052565b50610100818101519083015261012080820151908301526101408082015190830152610160808201516001600160801b031916908301526101809081015164ffffffffff16910152565b6101a08101610d1f8284611df9565b600060208284031215611f0c57600080fd5b61132782611dae565b80151581146118db57600080fd5b600060208284031215611f3557600080fd5b813561132781611f15565b602080825282518282018190526000919060409081850190868401855b82811015611fad578151805164ffffffffff908116865287820151168786015285810151151586860152606080820151908601526080908101519085015260a09093019290850190600101611f5d565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611ffd57611fe9838551611df9565b928401926101a09290920191600101611fd6565b50909695505050505050565b60008060006060848603121561201e57600080fd5b8335925061202e60208501611d53565b915061203c60408501611d53565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156120a2576120a261207a565b500390565b6000602082840312156120b957600080fd5b815161132781611f15565b6000602082840312156120d657600080fd5b5051919050565b60208082526025908201527f416d6f756e742063616e6e6f742062652067726561746572207468616e2062616040820152646c616e636560d81b606082015260800190565b600082198211156121355761213561207a565b500190565b600064ffffffffff8083168185168183048111821515161561215e5761215e61207a565b02949350505050565b600064ffffffffff8083168185168083038211156121875761218761207a565b01949350505050565b600064ffffffffff838116908316818110156121ae576121ae61207a565b039392505050565b634e487b7160e01b600052601260045260246000fd5b600064ffffffffff808416806121e4576121e46121b6565b92169190910492915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006000198214156122305761223061207a565b5060010190565b60008160001904831182151516156122515761225161207a565b500290565b600082612265576122656121b6565b50049056fea2646970667358221220658f7aa5807622caf1deccb109aab8132118bf79248610b9294ee4df56d8159464736f6c634300080c00330000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc8
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80639fb4dd4c116100c3578063c5c63e651161007c578063c5c63e651461036a578063e1d033e91461037f578063e8e8b7c01461043b578063f2fde38b1461045b578063fa6a34691461046e578063fd75235f1461048157600080fd5b80639fb4dd4c1461027c578063ac4afa38146102a3578063ae27fb2614610329578063bb8c542e14610332578063bd803ede14610345578063c4fbd08b1461035857600080fd5b806350291ab71161011557806350291ab7146101eb5780637a52f81c146101fe5780638da5cb5b1461021e57806399c2def4146102435780639ab06ff0146102565780639e3875ba1461026957600080fd5b8063076d081514610152578063210af618146101675780632e66220e1461018957806333060d901461019f5780633c6e2af6146101bf575b600080fd5b610165610160366004611d08565b610494565b005b6005546101749060ff1681565b60405190151581526020015b60405180910390f35b610191600581565b604051908152602001610180565b6101916101ad366004611d38565b60046020526000908152604090205481565b6101d26101cd366004611d68565b610583565b6040516001600160801b03199091168152602001610180565b6101d26101f9366004611d92565b610b12565b61021161020c366004611dc6565b610b5a565b6040516101809190611eeb565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610180565b610165610251366004611efa565b610d25565b610191610264366004611dc6565b611022565b610165610277366004611d08565b6110d4565b61022b7f0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc881565b6102f26102b1366004611d08565b600160208190526000918252604090912080549181015460029091015464ffffffffff80841693600160281b810490911692600160501b90910460ff169185565b6040805164ffffffffff9687168152959094166020860152911515928401929092526060830191909152608082015260a001610180565b61019160025481565b610165610340366004611f23565b611279565b610191610353366004611d68565b6112bd565b60055461017490610100900460ff1681565b61037261132e565b6040516101809190611f40565b6103f161038d366004611dc6565b600360208181526000938452604080852090915291835291208054600182015460028301549290930154909260ff81169264ffffffffff6101008304811693600160301b8404821693600160581b8104831693600160801b90910483169290911688565b60408051988952961515602089015264ffffffffff9586169688019690965292841660608701529083166080860152821660a085015260c08401521660e082015261010001610180565b61044e610449366004611d38565b611429565b6040516101809190611fba565b610165610469366004611d38565b611843565b61016561047c366004612009565b6118de565b61016561048f366004611f23565b611a34565b6000546001600160a01b031633146104c75760405162461bcd60e51b81526004016104be90612045565b60405180910390fd5b80600260008282546104d99190612090565b90915550507f0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc86001600160a01b031663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af115801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f91906120a7565b5050565b60055460009060ff16156105d25760405162461bcd60e51b81526020600482015260166024820152752132b3b4b71029ba30b5b29034b9903637b1b5b2b21760511b60448201526064016104be565b60058364ffffffffff161061061b5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081c1bdbdb081251608a1b60448201526064016104be565b600082116106635760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742063616e6e6f74206265207a65726f60581b60448201526064016104be565b60006001600160a01b037f0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc8166370a08231336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd91906120c4565b90508281101561071f5760405162461bcd60e51b81526004016104be906120dd565b61072d633b9aca0082612090565b83111561074557610742633b9aca0082612090565b92505b64ffffffffff8481166000908152600160208181526040808420815160a08101835281548088168252600160281b810490971693810193909352600160501b90950460ff16151590820152908301546060820152600283015460808201526107ad9086611a71565b90506002548111156108015760405162461bcd60e51b815260206004820152601a60248201527f5661756c742063616e6e6f7420636f766572207265776172647300000000000060448201526064016104be565b600280548290039055600182018054869190600090610821908490612122565b925050819055508082600201600082825461083c9190612122565b90915550507f0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc86001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018890526064016020604051808303816000875af11580156108c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e891906120a7565b508154429060009061090590620151809064ffffffffff1661213a565b61090f9083612167565b6040805161010081018252898152600160208083019190915264ffffffffff8c8116838501528854600160281b9004811660608401528681166080840152841660a0830152600060c0830181905260e083018190523380825260049092529290922054929350916109809190610b12565b3360008181526003602081815260408084206001600160801b03198716855282528084208751815587830151600180830180548b86015160608d015160808e015160a08f015165ffffffffffff1990941696151565ffffffffff0019169690961761010064ffffffffff93841602176fffffffffffffffffffff0000000000001916600160301b9183169190910264ffffffffff60581b191617600160581b958216959095029490941764ffffffffff60801b1916600160801b9185169190910217905560c08a0151600284015560e08a015192909501805464ffffffffff191692909116919091179055938352600490529181208054939a509192610a87908490612122565b9091555050805160608083015160808085015160a0808701516040805197885264ffffffffff958616602089015287018b9052918416948601949094528216908401528b169133916001600160801b03198b16917fdaa122a3982a206ebcd4dcbcad8f8aeafa15dcf6d831bf53add7c2ed68db66f5910160405180910390a450505050505092915050565b6040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260009060540160408051601f1981840301815291905280516020909101209392505050565b610b62611c9c565b6001600160a01b03831660009081526003602081815260408084206001600160801b03198716855282528084208151610100808201845282548252600183015460ff811615159583019590955264ffffffffff908504811693820193909352600160301b840483166060820152600160581b840483166080820152600160801b909304821660a0840152600281015460c08401529092015490911660e08201529080610c0d83611aad565b91509150604051806101a00160405280846000015181526020016201518085608001518660a00151610c3f9190612190565b610c4991906121cc565b64ffffffffff168152602001846020015115158152602001846040015164ffffffffff168152602001846060015164ffffffffff168152602001846080015164ffffffffff1681526020018460a0015164ffffffffff1681526020018460200151610ccd578460a0015164ffffffffff168560e0015164ffffffffff161015610cdd565b8460a0015164ffffffffff164210155b151581526020018381526020018281526020018460c001518152602001866001600160801b03191681526020018460e0015164ffffffffff1681525093505050505b92915050565b600554610100900460ff1615610d745760405162461bcd60e51b815260206004820152601460248201527322b7321029ba30b5b29034b9903637b1b5b2b21760611b60448201526064016104be565b3360009081526003602090815260408083206001600160801b0319851684528252808320600180820154610100810464ffffffffff16865293819052919093209160ff16151514610dfb5760405162461bcd60e51b81526020600482015260116024820152705374616b6520697320696e61637469766560781b60448201526064016104be565b60408051610100808201835284548252600185015460ff81161515602084015264ffffffffff918104821693830193909352600160301b830481166060830152600160581b830481166080830152600160801b909204821660a0820152600284015460c0820152600384015490911660e08201526000908190610e7d90611aad565b60018601805460ff1916905560038601805464ffffffffff19164264ffffffffff16179055600280549294509092508291600090610ebc908490612122565b90915550610ecc90508183612122565b836002016000828254610edf9190612090565b90915550508354600184018054600090610efa908490612090565b9091555050600284018290557f0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc86001600160a01b031663a9059cbb338654610f43908690612122565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb291906120a7565b506001840154610100900464ffffffffff16336001600160a01b0316866001600160801b0319167f44188be409e998865052aad7339b4c06dba208427e683f1d1fe8ca9dd2e303818542604051611013929190918252602082015260400190565b60405180910390a45050505050565b6001600160a01b03821660009081526003602081815260408084206001600160801b03198616855282528084208151610100808201845282548252600183015460ff811615159583019590955264ffffffffff908504811693820193909352600160301b840483166060820152600160581b840483166080820152600160801b909304821660a0840152600281015460c08401529092015490911660e08201526110cb81611aad565b50949350505050565b60006001600160a01b037f0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc8166370a08231336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561114a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116e91906120c4565b9050818110156111905760405162461bcd60e51b81526004016104be906120dd565b61119e633b9aca0082612090565b8211156111b6576111b3633b9aca0082612090565b91505b81600260008282546111c89190612122565b90915550507f0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc86001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018590526064016020604051808303816000875af1158015611250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127491906120a7565b505050565b6000546001600160a01b031633146112a35760405162461bcd60e51b81526004016104be90612045565b600580549115156101000261ff0019909216919091179055565b64ffffffffff8281166000908152600160208181526040808420815160a08101835281548088168252600160281b810490971693810193909352600160501b90950460ff161515908201529083015460608201526002909201546080830152906113279083611a71565b9392505050565b60408051600580825260c0820190925260609160009190816020015b6040805160a08101825260008082526020808301829052928201819052606082018190526080820152825260001990920191018161134a57905050905060005b600581101561142357600081815260016020818152604092839020835160a081018552815464ffffffffff8082168352600160281b82041693820193909352600160501b90920460ff161515938201939093529082015460608201526002909101546080820152825183908390811061140557611405612206565b6020026020010181905250808061141b9061221c565b91505061138a565b50919050565b6001600160a01b0381166000908152600460205260408120546060919067ffffffffffffffff81111561145e5761145e6121f0565b60405190808252806020026020018201604052801561149757816020015b611484611c9c565b81526020019060019003908161147c5790505b50905060005b6001600160a01b03841660009081526004602052604090205481101561183c5760006114c98583610b12565b6001600160a01b03861660009081526003602081815260408084206001600160801b031986168552825292839020835161010080820186528254808352600184015460ff811615159584019590955264ffffffffff918504821696830196909652600160301b840481166060830152600160581b840481166080830152600160801b909304831660a0820152600282015460c08201529201541660e082015285519293509185908590811061158057611580612206565b602090810291909101015152608081015160a082015162015180916115a491612190565b6115ae91906121cc565b8484815181106115c0576115c0612206565b60200260200101516020019064ffffffffff16908164ffffffffff168152505080602001518484815181106115f7576115f7612206565b60200260200101516040019015159081151581525050806040015184848151811061162457611624612206565b60200260200101516060019064ffffffffff16908164ffffffffff1681525050806060015184848151811061165b5761165b612206565b60200260200101516080019064ffffffffff16908164ffffffffff1681525050806080015184848151811061169257611692612206565b602002602001015160a0019064ffffffffff16908164ffffffffff16815250508060a001518484815181106116c9576116c9612206565b602002602001015160c0019064ffffffffff16908164ffffffffff16815250508060200151611711578060a0015164ffffffffff168160e0015164ffffffffff161015611721565b8060a0015164ffffffffff164210155b84848151811061173357611733612206565b602002602001015160e00190151590811515815250508060c0015184848151811061176057611760612206565b60200260200101516101400181815250508060e0015184848151811061178857611788612206565b6020026020010151610180019064ffffffffff16908164ffffffffff1681525050818484815181106117bc576117bc612206565b60209081029190910101516001600160801b0319909116610160909101526117e381611aad565b8585815181106117f5576117f5612206565b60200260200101516101000186868151811061181357611813612206565b6020908102919091010151610120019190915252508190506118348161221c565b91505061149d565b5092915050565b6000546001600160a01b0316331461186d5760405162461bcd60e51b81526004016104be90612045565b6001600160a01b0381166118d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104be565b6118db81611b3a565b50565b6000546001600160a01b031633146119085760405162461bcd60e51b81526004016104be90612045565b6005831061194a5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081c1bdbdb081251608a1b60448201526064016104be565b60008264ffffffffff16116119a15760405162461bcd60e51b815260206004820152601860248201527f4c6f636b20646179732063616e6e6f74206265207a65726f000000000000000060448201526064016104be565b60008164ffffffffff16116119f85760405162461bcd60e51b815260206004820152601a60248201527f52657761726420726174652063616e6e6f74206265207a65726f00000000000060448201526064016104be565b600092835260016020526040909220805464ffffffffff938416600160281b0269ffffffffffffffffffff199091169390921692909217179055565b6000546001600160a01b03163314611a5e5760405162461bcd60e51b81526004016104be90612045565b6005805460ff1916911515919091179055565b6000618e94836020015164ffffffffff16846000015164ffffffffff1684611a999190612237565b611aa39190612237565b6113279190612256565b60008082602001511515600115151415611b2f576000611af78460000151856060015164ffffffffff1686608001518760a00151611aeb9190612190565b64ffffffffff16611b8a565b9050611b1b8460000151856060015164ffffffffff16611b1687611bd5565b611b8a565b9250611b278382612090565b915050915091565b506000905080915091565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611b9b6201518061016d61213a565b64ffffffffff16606483611baf8688612237565b611bb99190612237565b611bc39190612256565b611bcd9190612256565b949350505050565b60008160a0015164ffffffffff164210611c0a5781608001518260a00151611bfd9190612190565b64ffffffffff1692915050565b60408281015164ffffffffff90811660009081526001602081815291849020845160a08101865281548086168252600160281b810490951693810193909352600160501b90930460ff16151593820184905282810154606083015260029092015460808201529114611c7d576000611c93565b6080830151611c939064ffffffffff1642612090565b9150505b919050565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081019190915290565b600060208284031215611d1a57600080fd5b5035919050565b80356001600160a01b0381168114611c9757600080fd5b600060208284031215611d4a57600080fd5b61132782611d21565b803564ffffffffff81168114611c9757600080fd5b60008060408385031215611d7b57600080fd5b611d8483611d53565b946020939093013593505050565b60008060408385031215611da557600080fd5b611d8483611d21565b80356001600160801b031981168114611c9757600080fd5b60008060408385031215611dd957600080fd5b611de283611d21565b9150611df060208401611dae565b90509250929050565b805182526020810151611e15602084018264ffffffffff169052565b506040810151611e29604084018215159052565b506060810151611e42606084018264ffffffffff169052565b506080810151611e5b608084018264ffffffffff169052565b5060a0810151611e7460a084018264ffffffffff169052565b5060c0810151611e8d60c084018264ffffffffff169052565b5060e0810151611ea160e084018215159052565b50610100818101519083015261012080820151908301526101408082015190830152610160808201516001600160801b031916908301526101809081015164ffffffffff16910152565b6101a08101610d1f8284611df9565b600060208284031215611f0c57600080fd5b61132782611dae565b80151581146118db57600080fd5b600060208284031215611f3557600080fd5b813561132781611f15565b602080825282518282018190526000919060409081850190868401855b82811015611fad578151805164ffffffffff908116865287820151168786015285810151151586860152606080820151908601526080908101519085015260a09093019290850190600101611f5d565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611ffd57611fe9838551611df9565b928401926101a09290920191600101611fd6565b50909695505050505050565b60008060006060848603121561201e57600080fd5b8335925061202e60208501611d53565b915061203c60408501611d53565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156120a2576120a261207a565b500390565b6000602082840312156120b957600080fd5b815161132781611f15565b6000602082840312156120d657600080fd5b5051919050565b60208082526025908201527f416d6f756e742063616e6e6f742062652067726561746572207468616e2062616040820152646c616e636560d81b606082015260800190565b600082198211156121355761213561207a565b500190565b600064ffffffffff8083168185168183048111821515161561215e5761215e61207a565b02949350505050565b600064ffffffffff8083168185168083038211156121875761218761207a565b01949350505050565b600064ffffffffff838116908316818110156121ae576121ae61207a565b039392505050565b634e487b7160e01b600052601260045260246000fd5b600064ffffffffff808416806121e4576121e46121b6565b92169190910492915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006000198214156122305761223061207a565b5060010190565b60008160001904831182151516156122515761225161207a565b500290565b600082612265576122656121b6565b50049056fea2646970667358221220658f7aa5807622caf1deccb109aab8132118bf79248610b9294ee4df56d8159464736f6c634300080c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc8
-----Decoded View---------------
Arg [0] : _immutableLuffy (address): 0x7121D00b4fA18F13Da6c2e30d19C04844E6AfDC8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007121d00b4fa18f13da6c2e30d19c04844e6afdc8
Deployed Bytecode Sourcemap
176:9787:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;790:228:5;;;;;;:::i;:::-;;:::i;:::-;;593:36:3;;;;;;;;;;;;460:14:6;;453:22;435:41;;423:2;408:18;593:36:3;;;;;;;;452:37:0;;488:1;452:37;;;;;633:25:6;;;621:2;606:18;452:37:0;487:177:6;541:45:3;;;;;;:::i;:::-;;;;;;;;;;;;;;1453:1958;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;1758:52:6;;;1740:71;;1728:2;1713:18;1453:1958:3;1594:223:6;6278:261:3;;;;;;:::i;:::-;;:::i;6545:922::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1091:85:4:-;1137:7;1163:6;-1:-1:-1;;;;;1163:6:4;1091:85;;;-1:-1:-1;;;;;4462:32:6;;;4444:51;;4432:2;4417:18;1091:85:4;4298:203:6;5285:987:3;;;;;;:::i;:::-;;:::i;7739:320::-;;;;;;:::i;:::-;;:::i;283:501:5:-;;;;;;:::i;:::-;;:::i;519:29:2:-;;;;;496:41:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;496:41:0;;;;;;-1:-1:-1;;;496:41:0;;;;;;;;;;;;5178:12:6;5217:15;;;5199:34;;5269:15;;;;5264:2;5249:18;;5242:43;5328:14;;5321:22;5301:18;;;5294:50;;;;5375:2;5360:18;;5353:34;;;;5418:3;5403:19;;5396:35;5155:3;5140:19;496:41:0;4919:518:6;240:36:5;;;;;;3522:95:3;;;;;;:::i;:::-;;:::i;7473:260::-;;;;;;:::i;:::-;;:::i;635:34::-;;;;;;;;;;;;820:235:0;;;:::i;:::-;;;;;;;:::i;475:59:3:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;475:59:3;;;;;-1:-1:-1;;;475:59:3;;;;;-1:-1:-1;;;475:59:3;;;;;;;;;;;;;;;7213:25:6;;;7281:14;;7274:22;7269:2;7254:18;;7247:50;7316:12;7364:15;;;7344:18;;;7337:43;;;;7416:15;;;7411:2;7396:18;;7389:43;7469:15;;;7463:3;7448:19;;7441:44;7522:15;;7516:3;7501:19;;7494:44;7569:3;7554:19;;7547:35;7619:15;7613:3;7598:19;;7591:44;7200:3;7185:19;475:59:3;6886:755:6;4034:1245:3;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1530:198:4:-;;;;;;:::i;:::-;;:::i;1061:552:0:-;;;;;;:::i;:::-;;:::i;3417:99:3:-;;;;;;:::i;:::-;;:::i;790:228:5:-;1137:7:4;1163:6;-1:-1:-1;;;;;1163:6:4;339:10:1;1303:23:4;1295:68;;;;-1:-1:-1;;;1295:68:4;;;;;;;:::i;:::-;;;;;;;;;922:7:5::1;897:21;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;940:5:5::1;-1:-1:-1::0;;;;;940:14:5::1;;339:10:1::0;940:71:5::1;::::0;-1:-1:-1;;;;;;940:71:5::1;::::0;;;;;;-1:-1:-1;;;;;9522:32:6;;;940:71:5::1;::::0;::::1;9504:51:6::0;9571:18;;;9564:34;;;9477:18;;940:71:5::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;790:228:::0;:::o;1453:1958:3:-;1180:16;;1585:15;;1180:16;;1179:17;1171:52;;;;-1:-1:-1;;;1171:52:3;;10061:2:6;1171:52:3;;;10043:21:6;10100:2;10080:18;;;10073:30;-1:-1:-1;;;10119:18:6;;;10112:52;10181:18;;1171:52:3;9859:346:6;1171:52:3;488:1:0::1;1637:7:3;:19;;;1616:81;;;::::0;-1:-1:-1;;;1616:81:3;;10412:2:6;1616:81:3::1;::::0;::::1;10394:21:6::0;10451:2;10431:18;;;10424:30;-1:-1:-1;;;10470:18:6;;;10463:45;10525:18;;1616:81:3::1;10210:339:6::0;1616:81:3::1;1739:1;1729:7;:11;1708:79;;;::::0;-1:-1:-1;;;1708:79:3;;10756:2:6;1708:79:3::1;::::0;::::1;10738:21:6::0;10795:2;10775:18;;;10768:30;-1:-1:-1;;;10814:18:6;;;10807:51;10875:18;;1708:79:3::1;10554:345:6::0;1708:79:3::1;1794:21;-1:-1:-1::0;;;;;1818:5:3::1;:15;;339:10:1::0;1818:29:3::1;::::0;-1:-1:-1;;;;;;1818:29:3::1;::::0;;;;;;-1:-1:-1;;;;;4462:32:6;;;1818:29:3::1;::::0;::::1;4444:51:6::0;4417:18;;1818:29:3::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1794:53;;1889:7;1872:13;:24;;1851:108;;;;-1:-1:-1::0;;;1851:108:3::1;;;;;;;:::i;:::-;1977:21;1993:5;1977:13:::0;:21:::1;:::i;:::-;1967:7;:31;1963:92;;;2023:21;2039:5;2023:13:::0;:21:::1;:::i;:::-;2013:31;;1963:92;2089:14;::::0;;::::1;2065:21;2089:14:::0;;;:5:::1;:14;::::0;;;;;;;2134:68;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;2134:68:3;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;-1:-1:-1;;;2134:68:3;;::::1;;;;;::::0;;;;;;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;2185:7;2134:19:::1;:68::i;:::-;2114:88;;2247:21;;2234:9;:34;;2213:107;;;::::0;-1:-1:-1;;;2213:107:3;;11701:2:6;2213:107:3::1;::::0;::::1;11683:21:6::0;11740:2;11720:18;;;11713:30;11779:28;11759:18;;;11752:56;11825:18;;2213:107:3::1;11499:350:6::0;2213:107:3::1;2355:21;:34:::0;;;;::::1;::::0;;-1:-1:-1;2410:16:3;::::1;:27:::0;;2430:7;;2410:16;2355:21:::1;::::0;2410:27:::1;::::0;2430:7;;2410:27:::1;:::i;:::-;;;;;;;;2476:9;2447:4;:25;;;:38;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;2496:5:3::1;-1:-1:-1::0;;;;;2496:18:3::1;;339:10:1::0;2496:102:3::1;::::0;-1:-1:-1;;;;;;2496:102:3::1;::::0;;;;;;-1:-1:-1;;;;;12245:15:6;;;2496:102:3::1;::::0;::::1;12227:34:6::0;2562:4:3::1;12277:18:6::0;;;12270:43;12329:18;;;12322:34;;;12162:18;;2496:102:3::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;2710:13:3;;2640:15:::1;::::0;2609:21:::1;::::0;2710:23:::1;::::0;454:12:2::1;::::0;2710:13:3::1;;:23;:::i;:::-;2693:40;::::0;:14;:40:::1;:::i;:::-;2765:193;::::0;;::::1;::::0;::::1;::::0;;;;;2805:4:::1;2765:193;::::0;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;;;2844:15;;-1:-1:-1;;;2844:15:3;::::1;::::0;::::1;2765:193:::0;;;;;;::::1;::::0;;;;;::::1;::::0;;;;-1:-1:-1;2765:193:3;;;;;;;;;;;;339:10:1;3029:24:3;;;:10:::1;:24:::0;;;;;;;;2765:193;;-1:-1:-1;2765:193:3;2979:84:::1;::::0;339:10:1;2979::3::1;:84::i;:::-;339:10:1::0;3074:20:3::1;::::0;;;:6:::1;:20;::::0;;;;;;;-1:-1:-1;;;;;;3074:29:3;::::1;::::0;;;;;;;:37;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;3074:37:3;;;;::::1;;-1:-1:-1::0;;3074:37:3;;;;;::::1;;::::0;;::::1;;;-1:-1:-1::0;;3074:37:3;-1:-1:-1;;;3074:37:3;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;3074:37:3;;-1:-1:-1;;;3074:37:3;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;3074:37:3::1;-1:-1:-1::0;;;3074:37:3;;::::1;::::0;;;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;-1:-1:-1;;3074:37:3::1;::::0;;;::::1;::::0;;;::::1;::::0;;3121:24;;;:10:::1;:24:::0;;;;;:29;;3074;;-1:-1:-1;3074:37:3;;3121:29:::1;::::0;3074:37;;3121:29:::1;:::i;:::-;::::0;;;-1:-1:-1;;3258:12:3;;3284:16:::1;::::0;;::::1;::::0;3337:20:::1;::::0;;::::1;::::0;3371:23:::1;::::0;;::::1;::::0;3166:238:::1;::::0;;13124:25:6;;;3166:238:3::1;13216:15:6::0;;;13211:2;13196:18;;13189:43;13248:18;;13241:34;;;13311:15;;;13291:18;;;13284:43;;;;13364:15;;13343:19;;;13336:44;3166:238:3;::::1;::::0;339:10:1;;-1:-1:-1;;;;;;3166:238:3;::::1;::::0;::::1;::::0;13096:19:6;3166:238:3::1;;;;;;;1606:1805;;;;;;1453:1958:::0;;;;:::o;6278:261::-;6481:38;;-1:-1:-1;;13568:2:6;13564:15;;;13560:53;6481:38:3;;;13548:66:6;13630:12;;;13623:28;;;6403:10:3;;13667:12:6;;6481:38:3;;;-1:-1:-1;;6481:38:3;;;;;;;;;6458:71;;6481:38;6458:71;;;;;6278:261;-1:-1:-1;;;6278:261:3:o;6545:922::-;6668:22;;:::i;:::-;-1:-1:-1;;;;;6727:15:3;;6706:18;6727:15;;;:6;:15;;;;;;;;-1:-1:-1;;;;;;6727:25:3;;;;;;;;;6706:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6706:46:3;;;;;;;;-1:-1:-1;;;6706:46:3;;;;;;;;-1:-1:-1;;;6706:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;6824:53;6706:46;6824:24;:53::i;:::-;6763:114;;;;6895:565;;;;;;;;6924:5;:12;;;6895:565;;;;454:12:2;6977:5:3;:20;;;6951:5;:23;;;:46;;;;:::i;:::-;6950:58;;;;:::i;:::-;6895:565;;;;;;7022:5;:14;;;6895:565;;;;;;7050:5;:12;;;6895:565;;;;;;7076:5;:16;;;6895:565;;;;;;7106:5;:20;;;6895:565;;;;;;7140:5;:23;;;6895:565;;;;;;7177:5;:14;;;:112;;7266:5;:23;;;7239:50;;:5;:23;;;:50;;;;7177:112;;;7213:5;:23;;;7194:42;;:15;:42;;7177:112;6895:565;;;;;;7304:18;6895:565;;;;7337:20;6895:565;;;;7371:5;:20;;;6895:565;;;;7405:8;-1:-1:-1;;;;;6895:565:3;;;;;;7427:5;:23;;;6895:565;;;;;6888:572;;;;;6545:922;;;;;:::o;5285:987::-;1290:14;;;;;;;1289:15;1281:48;;;;-1:-1:-1;;;1281:48:3;;14450:2:6;1281:48:3;;;14432:21:6;14489:2;14469:18;;;14462:30;-1:-1:-1;;;14508:18:6;;;14501:50;14568:18;;1281:48:3;14248:344:6;1281:48:3;339:10:1;5387:19:3::1;5409:20:::0;;;:6:::1;:20;::::0;;;;;;;-1:-1:-1;;;;;;5409:30:3;::::1;::::0;;;;;;;5473:5:::1;5479:12:::0;;::::1;::::0;::::1;::::0;::::1;;;5473:19:::0;;;;;;;;;;;5524:14:::1;;:22;;;5503:86;;;::::0;-1:-1:-1;;;5503:86:3;;14799:2:6;5503:86:3::1;::::0;::::1;14781:21:6::0;14838:2;14818:18;;;14811:30;-1:-1:-1;;;14857:18:6;;;14850:47;14914:18;;5503:86:3::1;14597:341:6::0;5503:86:3::1;5683:31;::::0;;::::1;::::0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;;;;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;5683:31:3;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5683:31:3;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5683:31:3;;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;5614:14:::1;::::0;;;5683:31:::1;::::0;:24:::1;:31::i;:::-;5725:14;::::0;::::1;:22:::0;;-1:-1:-1;;5725:22:3::1;::::0;;5757:23:::1;::::0;::::1;:49:::0;;-1:-1:-1;;5757:49:3::1;5790:15;5757:49;;;::::0;;5816:21:::1;:45:::0;;5600:114;;-1:-1:-1;5600:114:3;;-1:-1:-1;5600:114:3;;-1:-1:-1;;5816:45:3::1;::::0;5600:114;;5816:45:::1;:::i;:::-;::::0;;;-1:-1:-1;5900:29:3::1;::::0;-1:-1:-1;5909:20:3;5900:6;:29:::1;:::i;:::-;5871:4;:25;;;:58;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;5959:12:3;;5939:16:::1;::::0;::::1;:32:::0;;5959:12:::1;::::0;5939:32:::1;::::0;5959:12;;5939:32:::1;:::i;:::-;::::0;;;-1:-1:-1;;5981:20:3::1;::::0;::::1;:29:::0;;;6021:5:::1;-1:-1:-1::0;;;;;6021:14:3::1;;339:10:1::0;6075:12:3;;:21:::1;::::0;6090:6;;6075:21:::1;:::i;:::-;6021:85;::::0;-1:-1:-1;;;;;;6021:85:3::1;::::0;;;;;;-1:-1:-1;;;;;9522:32:6;;;6021:85:3::1;::::0;::::1;9504:51:6::0;9571:18;;;9564:34;9477:18;;6021:85:3::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6194:12:3::1;::::0;::::1;::::0;::::1;::::0;::::1;;;339:10:1::0;-1:-1:-1;;;;;6122:143:3::1;6146:8;-1:-1:-1::0;;;;;6122:143:3::1;;;6220:6;6240:15;6122:143;;;;;;15117:25:6::0;;;15173:2;15158:18;;15151:34;15105:2;15090:18;;14943:248;6122:143:3::1;;;;;;;;5377:895;;;;5285:987:::0;:::o;7739:320::-;-1:-1:-1;;;;;7939:15:3;;7876:26;7939:15;;;:6;:15;;;;;;;;-1:-1:-1;;;;;;7939:25:3;;;;;;;;;7918:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7918:46:3;;;;;;;;-1:-1:-1;;;7918:46:3;;;;;;;;-1:-1:-1;;;7918:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7999:53;7918:46;7999:24;:53::i;:::-;-1:-1:-1;7974:78:3;7739:320;-1:-1:-1;;;;7739:320:3:o;283:501:5:-;362:21;-1:-1:-1;;;;;386:5:5;:15;;339:10:1;386:29:5;;-1:-1:-1;;;;;;386:29:5;;;;;;;-1:-1:-1;;;;;4462:32:6;;;386:29:5;;;4444:51:6;4417:18;;386:29:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;362:53;;457:7;440:13;:24;;419:108;;;;-1:-1:-1;;;419:108:5;;;;;;;:::i;:::-;545:21;561:5;545:13;:21;:::i;:::-;535:7;:31;531:92;;;591:21;607:5;591:13;:21;:::i;:::-;581:31;;531:92;657:7;632:21;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;;675:5:5;-1:-1:-1;;;;;675:18:5;;339:10:1;675:102:5;;-1:-1:-1;;;;;;675:102:5;;;;;;;-1:-1:-1;;;;;12245:15:6;;;675:102:5;;;12227:34:6;741:4:5;12277:18:6;;;12270:43;12329:18;;;12322:34;;;12162:18;;675:102:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;358:426;283:501;:::o;3522:95:3:-;1137:7:4;1163:6;-1:-1:-1;;;;;1163:6:4;339:10:1;1303:23:4;1295:68;;;;-1:-1:-1;;;1295:68:4;;;;;;;:::i;:::-;3587:14:3::1;:23:::0;;;::::1;;;;-1:-1:-1::0;;3587:23:3;;::::1;::::0;;;::::1;::::0;;3522:95::o;7473:260::-;7681:14;;;;7603:17;7681:14;;;:5;:14;;;;;;;;7648:78;;;;;;;;;;;;;;-1:-1:-1;;;7648:78:3;;;;;;;;;;;;-1:-1:-1;;;7648:78:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7603:17;7648:78;;7709:7;7648:19;:78::i;:::-;7636:90;7473:260;-1:-1:-1;;;7473:260:3:o;820:235:0:-;915:25;;;488:1;915:25;;;;;;;;;860:17;;889:23;;915:25;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915:25:0;;-1:-1:-1;;915:25:0;;;;;;;;;;;889:51;;954:6;950:77;488:1;964;:13;950:77;;;1008:8;;;;:5;:8;;;;;;;;;997:19;;;;;;;;;;;;;;;-1:-1:-1;;;997:19:0;;;;;;;;;;-1:-1:-1;;;997:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:8;;;;1008;;997;;;;;;:::i;:::-;;;;;;:19;;;;979:3;;;;;:::i;:::-;;;;950:77;;;-1:-1:-1;1043:5:0;820:235;-1:-1:-1;820:235:0:o;4034:1245:3:-;-1:-1:-1;;;;;4190:20:3;;4135:30;4190:20;;;:10;:20;;;;;;4099:24;;4135:30;4168:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4135:76;;4225:6;4221:1030;-1:-1:-1;;;;;4241:20:3;;;;;;:10;:20;;;;;;4237:24;;4221:1030;;;4281:15;4299:23;4310:8;4320:1;4299:10;:23::i;:::-;-1:-1:-1;;;;;4357:16:3;;4336:18;4357:16;;;:6;:16;;;;;;;;-1:-1:-1;;;;;;4357:25:3;;;;;;;;;;4336:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4336:46:3;;;;;;;;-1:-1:-1;;;4336:46:3;;;;;;;;-1:-1:-1;;;4336:46:3;;;;;;;;;;;;;;;;;;;;;;;;;4397:8;;4281:41;;-1:-1:-1;4336:46:3;4397:5;;4403:1;;4397:8;;;;;;:::i;:::-;;;;;;;;;;;:30;4488:20;;;;4462:23;;;;454:12:2;;4462:46:3;;;:::i;:::-;4461:58;;;;:::i;:::-;4441:5;4447:1;4441:8;;;;;;;;:::i;:::-;;;;;;;:17;;:78;;;;;;;;;;;4553:5;:14;;;4533:5;4539:1;4533:8;;;;;;;;:::i;:::-;;;;;;;:17;;:34;;;;;;;;;;;4599:5;:12;;;4581:5;4587:1;4581:8;;;;;;;;:::i;:::-;;;;;;;:15;;:30;;;;;;;;;;;4647:5;:16;;;4625:5;4631:1;4625:8;;;;;;;;:::i;:::-;;;;;;;:19;;:38;;;;;;;;;;;4703:5;:20;;;4677:5;4683:1;4677:8;;;;;;;;:::i;:::-;;;;;;;:23;;:46;;;;;;;;;;;4766:5;:23;;;4737:5;4743:1;4737:8;;;;;;;;:::i;:::-;;;;;;;:26;;:52;;;;;;;;;;;4823:5;:14;;;:112;;4912:5;:23;;;4885:50;;:5;:23;;;:50;;;;4823:112;;;4859:5;:23;;;4840:42;;:15;:42;;4823:112;4803:5;4809:1;4803:8;;;;;;;;:::i;:::-;;;;;;;:17;;:132;;;;;;;;;;;4976:5;:20;;;4950:5;4956:1;4950:8;;;;;;;;:::i;:::-;;;;;;;:23;;:46;;;;;5039:5;:23;;;5010:5;5016:1;5010:8;;;;;;;;:::i;:::-;;;;;;;:26;;:52;;;;;;;;;;;5095:7;5076:5;5082:1;5076:8;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;;5076:26:3;;;:16;;;;:26;5179:61;5221:5;5179:24;:61::i;:::-;5117:5;5123:1;5117:8;;;;;;;;:::i;:::-;;;;;;;:27;;5146:5;5152:1;5146:8;;;;;;;;:::i;:::-;;;;;;;;;;;:29;;5116:124;;;;;-1:-1:-1;4263:3:3;;-1:-1:-1;4263:3:3;;;:::i;:::-;;;;4221:1030;;;-1:-1:-1;5267:5:3;4034:1245;-1:-1:-1;;4034:1245:3:o;1530:198:4:-;1137:7;1163:6;-1:-1:-1;;;;;1163:6:4;339:10:1;1303:23:4;1295:68;;;;-1:-1:-1;;;1295:68:4;;;;;;;:::i;:::-;-1:-1:-1;;;;;1618:22:4;::::1;1610:73;;;::::0;-1:-1:-1;;;1610:73:4;;15802:2:6;1610:73:4::1;::::0;::::1;15784:21:6::0;15841:2;15821:18;;;15814:30;15880:34;15860:18;;;15853:62;-1:-1:-1;;;15931:18:6;;;15924:36;15977:19;;1610:73:4::1;15600:402:6::0;1610:73:4::1;1693:28;1712:8;1693:18;:28::i;:::-;1530:198:::0;:::o;1061:552:0:-;1137:7:4;1163:6;-1:-1:-1;;;;;1163:6:4;339:10:1;1303:23:4;1295:68;;;;-1:-1:-1;;;1295:68:4;;;;;;;:::i;:::-;488:1:0::1;1245:7;:19;1224:81;;;::::0;-1:-1:-1;;;1224:81:0;;10412:2:6;1224:81:0::1;::::0;::::1;10394:21:6::0;10451:2;10431:18;;;10424:30;-1:-1:-1;;;10470:18:6;;;10463:45;10525:18;;1224:81:0::1;10210:339:6::0;1224:81:0::1;1352:1;1337:12;:16;;;1316:87;;;::::0;-1:-1:-1;;;1316:87:0;;16209:2:6;1316:87:0::1;::::0;::::1;16191:21:6::0;16248:2;16228:18;;;16221:30;16287:26;16267:18;;;16260:54;16331:18;;1316:87:0::1;16007:348:6::0;1316:87:0::1;1452:1;1435:14;:18;;;1414:91;;;::::0;-1:-1:-1;;;1414:91:0;;16562:2:6;1414:91:0::1;::::0;::::1;16544:21:6::0;16601:2;16581:18;;;16574:30;16640:28;16620:18;;;16613:56;16686:18;;1414:91:0::1;16360:350:6::0;1414:91:0::1;1516:14;::::0;;;:5:::1;:14;::::0;;;;;:38;;::::1;1564:42:::0;;::::1;-1:-1:-1::0;;;1564:42:0::1;-1:-1:-1::0;;1564:42:0;;;1516:38;;;::::1;1564:42:::0;;;;::::1;::::0;;1061:552::o;3417:99:3:-;1137:7:4;1163:6;-1:-1:-1;;;;;1163:6:4;339:10:1;1303:23:4;1295:68;;;;-1:-1:-1;;;1295:68:4;;;;;;;:::i;:::-;3484:16:3::1;:25:::0;;-1:-1:-1;;3484:25:3::1;::::0;::::1;;::::0;;;::::1;::::0;;3417:99::o;9435:264::-;9572:17;9687:5;9660;:16;;;9617:59;;9635:5;:14;;;9617:32;;:7;:32;;;;:::i;:::-;:59;;;;:::i;:::-;:75;;;;:::i;8065:864::-;8193:26;8233:28;8290:6;:15;;;:23;;8309:4;8290:23;;;8286:637;;;8329:24;8356:162;8390:6;:13;;;8421:6;:17;;;8356:162;;8483:6;:21;;;8456:6;:24;;;:48;;;;:::i;:::-;8356:162;;:16;:162::i;:::-;8329:189;;8554:184;8588:6;:13;;;8619:6;:17;;;8554:184;;8654:70;8700:6;8654:24;:70::i;:::-;8554:16;:184::i;:::-;8533:205;-1:-1:-1;8776:37:3;8533:205;8776:16;:37;:::i;:::-;8753:60;;8315:509;8065:864;;;:::o;8286:637::-;-1:-1:-1;8873:1:3;;-1:-1:-1;8873:1:3;8065:864;;;:::o;1882:187:4:-;1955:16;1974:6;;-1:-1:-1;;;;;1990:17:4;;;-1:-1:-1;;;;;;1990:17:4;;;;;;2022:40;;1974:6;;;;;;;2022:40;;1955:16;2022:40;1945:124;1882:187;:::o;9705:255:3:-;9864:14;499:13:2;454:12;509:3;499:13;:::i;:::-;9903:50:3;;9939:3;9927:9;9903:21;9913:11;9903:7;:21;:::i;:::-;:33;;;;:::i;:::-;:39;;;;:::i;:::-;:50;;;;:::i;:::-;9894:59;9705:255;-1:-1:-1;;;;9705:255:3:o;8935:494::-;9050:16;9105:6;:24;;;9086:43;;:15;:43;9082:341;;9183:6;:21;;;9156:6;:24;;;:48;;;;:::i;:::-;9145:59;;;8935:494;-1:-1:-1;;8935:494:3:o;9082:341::-;9272:13;;;;;9266:20;;;;9243;9266;;;:5;:20;;;;;;;;9243:43;;;;;;;;;;;;;;-1:-1:-1;;;9243:43:3;;;;;;;;;;;;-1:-1:-1;;;9243:43:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9311:23;:101;;9411:1;9311:101;;;9371:21;;;;9353:39;;;;:15;:39;:::i;:::-;9300:112;;9229:194;9082:341;8935:494;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:6:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:6;;14:180;-1:-1:-1;14:180:6:o;669:173::-;737:20;;-1:-1:-1;;;;;786:31:6;;776:42;;766:70;;832:1;829;822:12;847:186;906:6;959:2;947:9;938:7;934:23;930:32;927:52;;;975:1;972;965:12;927:52;998:29;1017:9;998:29;:::i;1038:165::-;1105:20;;1165:12;1154:24;;1144:35;;1134:63;;1193:1;1190;1183:12;1208:252;1275:6;1283;1336:2;1324:9;1315:7;1311:23;1307:32;1304:52;;;1352:1;1349;1342:12;1304:52;1375:28;1393:9;1375:28;:::i;:::-;1365:38;1450:2;1435:18;;;;1422:32;;-1:-1:-1;;;1208:252:6:o;1822:254::-;1890:6;1898;1951:2;1939:9;1930:7;1926:23;1922:32;1919:52;;;1967:1;1964;1957:12;1919:52;1990:29;2009:9;1990:29;:::i;2081:193::-;2149:20;;-1:-1:-1;;;;;;2198:51:6;;2188:62;;2178:90;;2264:1;2261;2254:12;2279:260;2347:6;2355;2408:2;2396:9;2387:7;2383:23;2379:32;2376:52;;;2424:1;2421;2414:12;2376:52;2447:29;2466:9;2447:29;:::i;:::-;2437:39;;2495:38;2529:2;2518:9;2514:18;2495:38;:::i;:::-;2485:48;;2279:260;;;;;:::o;2645:1374::-;2732:5;2726:12;2721:3;2714:25;2785:4;2778:5;2774:16;2768:23;2800:47;2841:4;2836:3;2832:14;2818:12;2620;2609:24;2597:37;;2544:96;2800:47;;2895:4;2888:5;2884:16;2878:23;2910:47;2951:4;2946:3;2942:14;2926;269:13;262:21;250:34;;199:91;2910:47;;3005:4;2998:5;2994:16;2988:23;3020:49;3063:4;3058:3;3054:14;3038;2620:12;2609:24;2597:37;;2544:96;3020:49;;3117:4;3110:5;3106:16;3100:23;3132:49;3175:4;3170:3;3166:14;3150;2620:12;2609:24;2597:37;;2544:96;3132:49;;3229:4;3222:5;3218:16;3212:23;3244:49;3287:4;3282:3;3278:14;3262;2620:12;2609:24;2597:37;;2544:96;3244:49;;3341:4;3334:5;3330:16;3324:23;3356:49;3399:4;3394:3;3390:14;3374;2620:12;2609:24;2597:37;;2544:96;3356:49;;3453:4;3446:5;3442:16;3436:23;3468:47;3509:4;3504:3;3500:14;3484;269:13;262:21;250:34;;199:91;3468:47;-1:-1:-1;3534:6:6;3576:14;;;3570:21;3556:12;;;3549:43;3611:6;3653:14;;;3647:21;3633:12;;;3626:43;3688:6;3730:14;;;3724:21;3710:12;;;3703:43;3765:6;3808:14;;;3802:21;-1:-1:-1;;;;;;1531:51:6;3867:12;;;1519:64;3899:6;3942:14;;;3936:21;2620:12;2609:24;4000:12;;2597:37;2645:1374::o;4024:269::-;4222:3;4207:19;;4235:52;4211:9;4269:6;4235:52;:::i;4506:186::-;4565:6;4618:2;4606:9;4597:7;4593:23;4589:32;4586:52;;;4634:1;4631;4624:12;4586:52;4657:29;4676:9;4657:29;:::i;5442:118::-;5528:5;5521:13;5514:21;5507:5;5504:32;5494:60;;5550:1;5547;5540:12;5565:241;5621:6;5674:2;5662:9;5653:7;5649:23;5645:32;5642:52;;;5690:1;5687;5680:12;5642:52;5729:9;5716:23;5748:28;5770:5;5748:28;:::i;5811:1070::-;6030:2;6082:21;;;6152:13;;6055:18;;;6174:22;;;6001:4;;6030:2;6215;;6233:18;;;;6274:15;;;6001:4;6317:538;6331:6;6328:1;6325:13;6317:538;;;6390:13;;6467:9;;6426:12;6463:18;;;6451:31;;6526:11;;;6520:18;6516:27;6502:12;;;6495:49;6598:11;;;6592:18;6585:26;6578:34;6564:12;;;6557:56;6636:4;6680:11;;;6674:18;6660:12;;;6653:40;6716:4;6760:11;;;6754:18;6740:12;;;6733:40;6802:4;6793:14;;;;6830:15;;;;6353:1;6346:9;6317:538;;;-1:-1:-1;6872:3:6;;5811:1070;-1:-1:-1;;;;;;;5811:1070:6:o;7646:727::-;7881:2;7933:21;;;8003:13;;7906:18;;;8025:22;;;7852:4;;7881:2;8104:15;;;;8078:2;8063:18;;;7852:4;8147:200;8161:6;8158:1;8155:13;8147:200;;;8210:53;8259:3;8250:6;8244:13;8210:53;:::i;:::-;8322:15;;;;8292:6;8283:16;;;;;8183:1;8176:9;8147:200;;;-1:-1:-1;8364:3:6;;7646:727;-1:-1:-1;;;;;;7646:727:6:o;8378:324::-;8453:6;8461;8469;8522:2;8510:9;8501:7;8497:23;8493:32;8490:52;;;8538:1;8535;8528:12;8490:52;8574:9;8561:23;8551:33;;8603:37;8636:2;8625:9;8621:18;8603:37;:::i;:::-;8593:47;;8659:37;8692:2;8681:9;8677:18;8659:37;:::i;:::-;8649:47;;8378:324;;;;;:::o;8707:356::-;8909:2;8891:21;;;8928:18;;;8921:30;8987:34;8982:2;8967:18;;8960:62;9054:2;9039:18;;8707:356::o;9068:127::-;9129:10;9124:3;9120:20;9117:1;9110:31;9160:4;9157:1;9150:15;9184:4;9181:1;9174:15;9200:125;9240:4;9268:1;9265;9262:8;9259:34;;;9273:18;;:::i;:::-;-1:-1:-1;9310:9:6;;9200:125::o;9609:245::-;9676:6;9729:2;9717:9;9708:7;9704:23;9700:32;9697:52;;;9745:1;9742;9735:12;9697:52;9777:9;9771:16;9796:28;9818:5;9796:28;:::i;10904:184::-;10974:6;11027:2;11015:9;11006:7;11002:23;10998:32;10995:52;;;11043:1;11040;11033:12;10995:52;-1:-1:-1;11066:16:6;;10904:184;-1:-1:-1;10904:184:6:o;11093:401::-;11295:2;11277:21;;;11334:2;11314:18;;;11307:30;11373:34;11368:2;11353:18;;11346:62;-1:-1:-1;;;11439:2:6;11424:18;;11417:35;11484:3;11469:19;;11093:401::o;11854:128::-;11894:3;11925:1;11921:6;11918:1;11915:13;11912:39;;;11931:18;;:::i;:::-;-1:-1:-1;11967:9:6;;11854:128::o;12367:264::-;12406:7;12438:12;12477:2;12474:1;12470:10;12507:2;12504:1;12500:10;12563:3;12559:2;12555:12;12550:3;12547:21;12540:3;12533:11;12526:19;12522:47;12519:73;;;12572:18;;:::i;:::-;12612:13;;12367:264;-1:-1:-1;;;;12367:264:6:o;12636:230::-;12675:3;12703:12;12742:2;12739:1;12735:10;12772:2;12769:1;12765:10;12803:3;12799:2;12795:12;12790:3;12787:21;12784:47;;;12811:18;;:::i;:::-;12847:13;;12636:230;-1:-1:-1;;;;12636:230:6:o;13690:223::-;13729:4;13758:12;13820:10;;;;13790;;13842:12;;;13839:38;;;13857:18;;:::i;:::-;13894:13;;13690:223;-1:-1:-1;;;13690:223:6:o;13918:127::-;13979:10;13974:3;13970:20;13967:1;13960:31;14010:4;14007:1;14000:15;14034:4;14031:1;14024:15;14050:193;14089:1;14115:12;14154:2;14151:1;14147:10;14176:3;14166:37;;14183:18;;:::i;:::-;14221:10;;14217:20;;;;;14050:193;-1:-1:-1;;14050:193:6:o;15196:127::-;15257:10;15252:3;15248:20;15245:1;15238:31;15288:4;15285:1;15278:15;15312:4;15309:1;15302:15;15328:127;15389:10;15384:3;15380:20;15377:1;15370:31;15420:4;15417:1;15410:15;15444:4;15441:1;15434:15;15460:135;15499:3;-1:-1:-1;;15520:17:6;;15517:43;;;15540:18;;:::i;:::-;-1:-1:-1;15587:1:6;15576:13;;15460:135::o;16715:168::-;16755:7;16821:1;16817;16813:6;16809:14;16806:1;16803:21;16798:1;16791:9;16784:17;16780:45;16777:71;;;16828:18;;:::i;:::-;-1:-1:-1;16868:9:6;;16715:168::o;16888:120::-;16928:1;16954;16944:35;;16959:18;;:::i;:::-;-1:-1:-1;16993:9:6;;16888:120::o
Swarm Source
ipfs://658f7aa5807622caf1deccb109aab8132118bf79248610b9294ee4df56d81594
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.