Overview
ETH Balance
0.000450895499432032 ETH
Eth Value
$1.61 (@ $3,575.26/ETH)More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x0f069f6d3186a97ae684fc261937e750a6fa78f8d58ee37bd989409cf9fc68a0 | Withdraw | (pending) | 1 hr ago | IN | 0 ETH | (Pending) | |||
Deposit | 20452038 | 115 days ago | IN | 0.002 ETH | 0.0001 | ||||
Collect | 20408895 | 121 days ago | IN | 0 ETH | 0.000342 | ||||
Collect | 20408895 | 121 days ago | IN | 0 ETH | 0.00018 | ||||
Collect | 20395537 | 123 days ago | IN | 0 ETH | 0.00783604 | ||||
Deposit | 20395536 | 123 days ago | IN | 0.01 ETH | 0.01931646 | ||||
Deposit | 20395535 | 123 days ago | IN | 0.03 ETH | 0.00030116 | ||||
Deposit | 20251075 | 143 days ago | IN | 0.002 ETH | 0.0005371 | ||||
Collect | 20174164 | 154 days ago | IN | 0 ETH | 0.00054 | ||||
Deposit | 15382450 | 829 days ago | IN | 0 ETH | 0.00049209 | ||||
Deposit | 15291928 | 843 days ago | IN | 0.004 ETH | 0.00061766 | ||||
Withdraw | 15247091 | 850 days ago | IN | 0 ETH | 0.00104158 | ||||
Deposit | 12625956 | 1263 days ago | IN | 0.02 ETH | 0.00025 | ||||
Deposit | 12578882 | 1270 days ago | IN | 0 ETH | 0.00418386 | ||||
Deposit | 12578841 | 1270 days ago | IN | 0 ETH | 0.00358098 | ||||
Deposit | 11236156 | 1477 days ago | IN | 0 ETH | 0.00043252 | ||||
Collect | 11219038 | 1479 days ago | IN | 0 ETH | 0.00140967 | ||||
Deposit | 11219030 | 1479 days ago | IN | 0 ETH | 0.00446499 | ||||
Unlock | 11218570 | 1479 days ago | IN | 0 ETH | 0.00211777 | ||||
Buy Bees | 11214990 | 1480 days ago | IN | 0 ETH | 0.00193432 | ||||
Buy Bees | 11209791 | 1481 days ago | IN | 0 ETH | 0.00394479 | ||||
Collect | 11196122 | 1483 days ago | IN | 0 ETH | 0.00225547 | ||||
Collect | 11178972 | 1485 days ago | IN | 0 ETH | 0.00413503 | ||||
Deposit | 11178958 | 1485 days ago | IN | 0 ETH | 0.01311591 | ||||
Collect | 11175885 | 1486 days ago | IN | 0 ETH | 0.00185421 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
11218570 | 1479 days ago | 0.00000226 ETH | ||||
11209791 | 1481 days ago | 0.00004432 ETH | ||||
11077259 | 1501 days ago | 0.00024983 ETH | ||||
11034489 | 1508 days ago | 0.09828 ETH | ||||
11028538 | 1509 days ago | 0.011 ETH | ||||
10599341 | 1575 days ago | 0.0056 ETH | ||||
10582337 | 1577 days ago | 0.00087595 ETH | ||||
10556022 | 1581 days ago | 0.00015123 ETH | ||||
10553837 | 1582 days ago | 0.000001 ETH | ||||
10552064 | 1582 days ago | 0.0007 ETH | ||||
10521664 | 1587 days ago | 0.00054 ETH | ||||
10521664 | 1587 days ago | 0.0004429 ETH | ||||
10514110 | 1588 days ago | 0.032 ETH | ||||
10514039 | 1588 days ago | 0.0035 ETH | ||||
10513465 | 1588 days ago | 0.00004158 ETH | ||||
10513328 | 1588 days ago | 0.00173413 ETH | ||||
10513250 | 1588 days ago | 0.0004 ETH | ||||
10511481 | 1588 days ago | 0.00019029 ETH | ||||
10508368 | 1589 days ago | 0.00000404 ETH | ||||
10506607 | 1589 days ago | 0.0035978 ETH | ||||
10506290 | 1589 days ago | 0.00050769 ETH | ||||
10505731 | 1589 days ago | 0.00064011 ETH | ||||
10503769 | 1590 days ago | 0.0005 ETH | ||||
10503559 | 1590 days ago | 0.01 ETH | ||||
10503471 | 1590 days ago | 0.108 ETH |
Loading...
Loading
Contract Name:
EtherHives
Compiler Version
v0.6.10+commit.00c0fcaf
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-07-06 */ // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; library Math { function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } function average(uint256 a, uint256 b) internal pure returns (uint256) { return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2); } } contract Context { constructor () internal { } function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract UserBonus { using SafeMath for uint256; uint256 public constant BONUS_PERCENTS_PER_WEEK = 1; uint256 public constant BONUS_TIME = 1 weeks; struct UserBonusData { uint256 threadPaid; uint256 lastPaidTime; uint256 numberOfUsers; mapping(address => bool) userRegistered; mapping(address => uint256) userPaid; } UserBonusData public bonus; event BonusPaid(uint256 users, uint256 amount); event UserAddedToBonus(address indexed user); modifier payRepBonusIfNeeded { payRepresentativeBonus(); _; } constructor() public { bonus.lastPaidTime = block.timestamp; } function payRepresentativeBonus() public { while (bonus.numberOfUsers > 0 && bonus.lastPaidTime.add(BONUS_TIME) <= block.timestamp) { uint256 reward = address(this).balance.mul(BONUS_PERCENTS_PER_WEEK).div(100); bonus.threadPaid = bonus.threadPaid.add(reward.div(bonus.numberOfUsers)); bonus.lastPaidTime = bonus.lastPaidTime.add(BONUS_TIME); emit BonusPaid(bonus.numberOfUsers, reward); } } function userRegisteredForBonus(address user) public view returns(bool) { return bonus.userRegistered[user]; } function userBonusPaid(address user) public view returns(uint256) { return bonus.userPaid[user]; } function userBonusEarned(address user) public view returns(uint256) { return bonus.userRegistered[user] ? bonus.threadPaid.sub(bonus.userPaid[user]) : 0; } function retrieveBonus() public virtual payRepBonusIfNeeded { require(bonus.userRegistered[msg.sender], "User not registered for bonus"); uint256 amount = Math.min(address(this).balance, userBonusEarned(msg.sender)); bonus.userPaid[msg.sender] = bonus.userPaid[msg.sender].add(amount); msg.sender.transfer(amount); } function _addUserToBonus(address user) internal payRepBonusIfNeeded { require(!bonus.userRegistered[user], "User already registered for bonus"); bonus.userRegistered[user] = true; bonus.userPaid[user] = bonus.threadPaid; bonus.numberOfUsers = bonus.numberOfUsers.add(1); emit UserAddedToBonus(user); } } contract Claimable is Ownable { address public pendingOwner; modifier onlyPendingOwner() { require(msg.sender == pendingOwner); _; } function renounceOwnership() public override(Ownable) onlyOwner { revert(); } function transferOwnership(address newOwner) public override(Ownable) onlyOwner { pendingOwner = newOwner; } function claimOwnership() public virtual onlyPendingOwner { transferOwnership(pendingOwner); delete pendingOwner; } } contract EtherHives is Claimable, UserBonus { struct Player { uint256 registeredDate; bool airdropCollected; address referrer; uint256 balanceHoney; uint256 balanceWax; uint256 points; uint256 medals; uint256 qualityLevel; uint256 lastTimeCollected; uint256 unlockedBee; uint256[BEES_COUNT] bees; uint256 totalDeposited; uint256 totalWithdrawed; uint256 referralsTotalDeposited; uint256 subreferralsCount; address[] referrals; } uint256 public constant BEES_COUNT = 8; uint256 public constant SUPER_BEE_INDEX = BEES_COUNT - 1; uint256 public constant TRON_BEE_INDEX = BEES_COUNT - 2; uint256 public constant MEDALS_COUNT = 10; uint256 public constant QUALITIES_COUNT = 6; uint256[BEES_COUNT] public BEES_PRICES = [0e18, 1500e18, 7500e18, 30000e18, 75000e18, 250000e18, 750000e18, 100000e18]; uint256[BEES_COUNT] public BEES_LEVELS_PRICES = [0e18, 0e18, 11250e18, 45000e18, 112500e18, 375000e18, 1125000e18, 0]; uint256[BEES_COUNT] public BEES_MONTHLY_PERCENTS = [0, 220, 223, 226, 229, 232, 235, 333]; uint256[MEDALS_COUNT] public MEDALS_POINTS = [0e18, 50000e18, 190000e18, 510000e18, 1350000e18, 3225000e18, 5725000e18, 8850000e18, 12725000e18, 23500000e18]; uint256[MEDALS_COUNT] public MEDALS_REWARDS = [0e18, 3500e18, 10500e18, 24000e18, 65000e18, 140000e18, 185000e18, 235000e18, 290000e18, 800000e18]; uint256[QUALITIES_COUNT] public QUALITY_HONEY_PERCENT = [80, 82, 84, 86, 88, 90]; uint256[QUALITIES_COUNT] public QUALITY_PRICE = [0e18, 15000e18, 50000e18, 120000e18, 250000e18, 400000e18]; uint256 public constant COINS_PER_ETH = 250000; uint256 public constant MAX_BEES_PER_TARIFF = 32; uint256 public constant FIRST_BEE_AIRDROP_AMOUNT = 500e18; uint256 public constant ADMIN_PERCENT = 10; uint256 public constant HONEY_DISCOUNT_PERCENT = 10; uint256 public constant SUPERBEE_PERCENT_UNLOCK = 30; uint256 public constant SUPER_BEE_BUYER_PERIOD = 7 days; uint256[] public REFERRAL_PERCENT_PER_LEVEL = [10, 5, 3]; uint256[] public REFERRAL_POINT_PERCENT = [50, 25, 0]; uint256 public maxBalance; uint256 public totalPlayers; uint256 public totalDeposited; uint256 public totalWithdrawed; uint256 public totalBeesBought; mapping(address => Player) public players; event Registered(address indexed user, address indexed referrer); event Deposited(address indexed user, uint256 amount); event Withdrawed(address indexed user, uint256 amount); event ReferrerPaid(address indexed user, address indexed referrer, uint256 indexed level, uint256 amount); event MedalAwarded(address indexed user, uint256 indexed medal); event QualityUpdated(address indexed user, uint256 indexed quality); event RewardCollected(address indexed user, uint256 honeyReward, uint256 waxReward); event BeeUnlocked(address indexed user, uint256 bee); event BeesBought(address indexed user, uint256 bee, uint256 count); constructor() public { _register(owner(), address(0)); } receive() external payable { if (msg.value == 0) { if (players[msg.sender].registeredDate > 0) { collect(); } } else { deposit(address(0)); } } function playerBees(address who) public view returns(uint256[BEES_COUNT] memory) { return players[who].bees; } function superBeeUnlocked() public view returns(bool) { return address(this).balance <= maxBalance.mul(100 - SUPERBEE_PERCENT_UNLOCK).div(100); } function referrals(address user) public view returns(address[] memory) { return players[user].referrals; } function referrerOf(address user, address ref) internal view returns(address) { if (players[user].registeredDate == 0 && ref != user) { return ref; } return players[user].referrer; } function transfer(address account, uint256 amount) public returns(bool) { require(msg.sender == owner()); collect(); _payWithWaxAndHoney(msg.sender, amount); players[account].balanceWax = players[account].balanceWax.add(amount); return true; } function deposit(address ref) public payable payRepBonusIfNeeded { Player storage player = players[msg.sender]; address refAddress = referrerOf(msg.sender, ref); require((msg.value == 0) != player.registeredDate > 0, "Send 0 for registration"); if (player.registeredDate == 0) { _register(msg.sender, refAddress); } collect(); uint256 wax = msg.value.mul(COINS_PER_ETH); player.balanceWax = player.balanceWax.add(wax); player.totalDeposited = player.totalDeposited.add(msg.value); totalDeposited = totalDeposited.add(msg.value); player.points = player.points.add(wax); emit Deposited(msg.sender, msg.value); _distributeFees(msg.sender, wax, msg.value, refAddress); _addToBonusIfNeeded(msg.sender); uint256 adminWithdrawed = players[owner()].totalWithdrawed; maxBalance = Math.max(maxBalance, address(this).balance.add(adminWithdrawed)); } function withdraw(uint256 amount) public { Player storage player = players[msg.sender]; collect(); uint256 value = amount.div(COINS_PER_ETH); require(value > 0, "Trying to withdraw too small"); player.balanceHoney = player.balanceHoney.sub(amount); player.totalWithdrawed = player.totalWithdrawed.add(value); totalWithdrawed = totalWithdrawed.add(value); msg.sender.transfer(value); emit Withdrawed(msg.sender, value); } function collect() public payRepBonusIfNeeded { Player storage player = players[msg.sender]; require(player.registeredDate > 0, "Not registered yet"); if (userBonusEarned(msg.sender) > 0) { retrieveBonus(); } (uint256 balanceHoney, uint256 balanceWax) = instantBalance(msg.sender); emit RewardCollected( msg.sender, balanceHoney.sub(player.balanceHoney), balanceWax.sub(player.balanceWax) ); if (!player.airdropCollected && player.registeredDate < now) { player.airdropCollected = true; } player.balanceHoney = balanceHoney; player.balanceWax = balanceWax; player.lastTimeCollected = block.timestamp; } function instantBalance(address account) public view returns( uint256 balanceHoney, uint256 balanceWax ) { Player storage player = players[account]; if (player.registeredDate == 0) { return (0, 0); } balanceHoney = player.balanceHoney; balanceWax = player.balanceWax; uint256 collected = earned(account); if (!player.airdropCollected && player.registeredDate < now) { collected = collected.sub(FIRST_BEE_AIRDROP_AMOUNT); balanceWax = balanceWax.add(FIRST_BEE_AIRDROP_AMOUNT); } uint256 honeyReward = collected.mul(QUALITY_HONEY_PERCENT[player.qualityLevel]).div(100); uint256 waxReward = collected.sub(honeyReward); balanceHoney = balanceHoney.add(honeyReward); balanceWax = balanceWax.add(waxReward); } function unlock(uint256 bee) public payable payRepBonusIfNeeded { Player storage player = players[msg.sender]; if (msg.value > 0) { deposit(address(0)); } collect(); require(bee < SUPER_BEE_INDEX, "No more levels to unlock"); require(player.bees[bee - 1] == MAX_BEES_PER_TARIFF, "Prev level must be filled"); require(bee == player.unlockedBee + 1, "Trying to unlock wrong bee type"); if (bee == TRON_BEE_INDEX) { require(player.medals >= 9); } _payWithWaxAndHoney(msg.sender, BEES_LEVELS_PRICES[bee]); player.unlockedBee = bee; player.bees[bee] = 1; emit BeeUnlocked(msg.sender, bee); } function buyBees(uint256 bee, uint256 count) public payable payRepBonusIfNeeded { Player storage player = players[msg.sender]; if (msg.value > 0) { deposit(address(0)); } collect(); require(bee > 0 && bee < BEES_COUNT, "Don't try to buy bees of type 0"); if (bee == SUPER_BEE_INDEX) { require(superBeeUnlocked(), "SuperBee is not unlocked yet"); require(block.timestamp.sub(player.registeredDate) < SUPER_BEE_BUYER_PERIOD, "You should be registered less than 7 days ago"); } else { require(bee <= player.unlockedBee, "This bee type not unlocked yet"); } require(player.bees[bee].add(count) <= MAX_BEES_PER_TARIFF); player.bees[bee] = player.bees[bee].add(count); totalBeesBought = totalBeesBought.add(count); uint256 honeySpent = _payWithWaxAndHoney(msg.sender, BEES_PRICES[bee].mul(count)); _distributeFees(msg.sender, honeySpent, 0, referrerOf(msg.sender, address(0))); emit BeesBought(msg.sender, bee, count); } function updateQualityLevel() public payRepBonusIfNeeded { Player storage player = players[msg.sender]; collect(); require(player.qualityLevel < QUALITIES_COUNT - 1); _payWithHoneyOnly(msg.sender, QUALITY_PRICE[player.qualityLevel + 1]); player.qualityLevel++; emit QualityUpdated(msg.sender, player.qualityLevel); } function earned(address user) public view returns(uint256) { Player storage player = players[user]; if (player.registeredDate == 0) { return 0; } uint256 total = 0; for (uint i = 1; i < BEES_COUNT; i++) { total = total.add( player.bees[i].mul(BEES_PRICES[i]).mul(BEES_MONTHLY_PERCENTS[i]).div(100) ); } return total .mul(block.timestamp.sub(player.lastTimeCollected)) .div(30 days) .add(player.airdropCollected || player.registeredDate == now ? 0 : FIRST_BEE_AIRDROP_AMOUNT); } function collectMedals(address user) public payRepBonusIfNeeded { Player storage player = players[user]; collect(); for (uint i = player.medals; i < MEDALS_COUNT; i++) { if (player.points >= MEDALS_POINTS[i]) { player.balanceWax = player.balanceWax.add(MEDALS_REWARDS[i]); player.medals = i + 1; emit MedalAwarded(user, i + 1); } } } function retrieveBonus() public override(UserBonus) { totalWithdrawed = totalWithdrawed.add(userBonusEarned(msg.sender)); super.retrieveBonus(); } function claimOwnership() public override(Claimable) { super.claimOwnership(); _register(owner(), address(0)); } function _distributeFees(address user, uint256 wax, uint256 deposited, address refAddress) internal { address(uint160(owner())).transfer(wax * ADMIN_PERCENT / 100 / COINS_PER_ETH); if (refAddress != address(0)) { Player storage referrer = players[refAddress]; referrer.referralsTotalDeposited = referrer.referralsTotalDeposited.add(deposited); _addToBonusIfNeeded(refAddress); address to = refAddress; for (uint i = 0; to != address(0) && i < REFERRAL_PERCENT_PER_LEVEL.length; i++) { uint256 reward = wax.mul(REFERRAL_PERCENT_PER_LEVEL[i]).div(100); players[to].balanceHoney = players[to].balanceHoney.add(reward); players[to].points = players[to].points.add(wax.mul(REFERRAL_POINT_PERCENT[i]).div(100)); emit ReferrerPaid(user, to, i + 1, reward); to = players[to].referrer; } } } function _register(address user, address refAddress) internal { Player storage player = players[user]; player.registeredDate = block.timestamp; player.bees[0] = MAX_BEES_PER_TARIFF; player.unlockedBee = 1; player.lastTimeCollected = block.timestamp; totalBeesBought = totalBeesBought.add(MAX_BEES_PER_TARIFF); totalPlayers++; if (refAddress != address(0)) { player.referrer = refAddress; players[refAddress].referrals.push(user); if (players[refAddress].referrer != address(0)) { players[players[refAddress].referrer].subreferralsCount++; } _addToBonusIfNeeded(refAddress); } emit Registered(user, refAddress); } function _payWithHoneyOnly(address user, uint256 amount) internal { Player storage player = players[user]; player.balanceHoney = player.balanceHoney.sub(amount); } function _payWithWaxOnly(address user, uint256 amount) internal { Player storage player = players[user]; player.balanceWax = player.balanceWax.sub(amount); } function _payWithWaxAndHoney(address user, uint256 amount) internal returns(uint256) { Player storage player = players[user]; uint256 wax = Math.min(amount, player.balanceWax); uint256 honey = amount.sub(wax).mul(100 - HONEY_DISCOUNT_PERCENT).div(100); player.balanceWax = player.balanceWax.sub(wax); _payWithHoneyOnly(user, honey); return honey; } function _addToBonusIfNeeded(address user) internal { if (user != address(0) && !bonus.userRegistered[user]) { Player storage player = players[user]; if (player.totalDeposited >= 5 ether && player.referrals.length >= 10 && player.referralsTotalDeposited >= 50 ether) { _addUserToBonus(user); } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"bee","type":"uint256"}],"name":"BeeUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"bee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"}],"name":"BeesBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"users","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BonusPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"medal","type":"uint256"}],"name":"MedalAwarded","type":"event"},{"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":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"quality","type":"uint256"}],"name":"QualityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReferrerPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"honeyReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"waxReward","type":"uint256"}],"name":"RewardCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"UserAddedToBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawed","type":"event"},{"inputs":[],"name":"ADMIN_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BEES_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_LEVELS_PRICES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_MONTHLY_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_PRICES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BONUS_PERCENTS_PER_WEEK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BONUS_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COINS_PER_ETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FIRST_BEE_AIRDROP_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HONEY_DISCOUNT_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BEES_PER_TARIFF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MEDALS_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"MEDALS_POINTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"MEDALS_REWARDS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"QUALITIES_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"QUALITY_HONEY_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"QUALITY_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_PERCENT_PER_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_POINT_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPERBEE_PERCENT_UNLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPER_BEE_BUYER_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPER_BEE_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRON_BEE_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bonus","outputs":[{"internalType":"uint256","name":"threadPaid","type":"uint256"},{"internalType":"uint256","name":"lastPaidTime","type":"uint256"},{"internalType":"uint256","name":"numberOfUsers","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bee","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"buyBees","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"collectMedals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"instantBalance","outputs":[{"internalType":"uint256","name":"balanceHoney","type":"uint256"},{"internalType":"uint256","name":"balanceWax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payRepresentativeBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"playerBees","outputs":[{"internalType":"uint256[8]","name":"","type":"uint256[8]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"players","outputs":[{"internalType":"uint256","name":"registeredDate","type":"uint256"},{"internalType":"bool","name":"airdropCollected","type":"bool"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"balanceHoney","type":"uint256"},{"internalType":"uint256","name":"balanceWax","type":"uint256"},{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"uint256","name":"medals","type":"uint256"},{"internalType":"uint256","name":"qualityLevel","type":"uint256"},{"internalType":"uint256","name":"lastTimeCollected","type":"uint256"},{"internalType":"uint256","name":"unlockedBee","type":"uint256"},{"internalType":"uint256","name":"totalDeposited","type":"uint256"},{"internalType":"uint256","name":"totalWithdrawed","type":"uint256"},{"internalType":"uint256","name":"referralsTotalDeposited","type":"uint256"},{"internalType":"uint256","name":"subreferralsCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"referrals","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"superBeeUnlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBeesBought","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPlayers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"bee","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"updateQualityLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userBonusEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userBonusPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userRegisteredForBonus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
61018060405260006080908152685150ae84a8cdf0000060a0526901969368974c05b0000060c05269065a4da25d3016c0000060e052690fe1c215e8f838e00000610100526934f086f3b33b6840000061012052699ed194db19b238c000006101405269152d02c7e14af6800000610160526200008190600790600862000a56565b506040805161010081018252600080825260208201819052690261dd1ce2f2088800009282019290925269098774738bc82220000060608201526917d2a320dd74555000006080820152694f68ca6d8cd91c60000060a082015269ee3a5f48a68b5520000060c082015260e08101919091526200010390600f90600862000a56565b5060408051610100810182526000815260dc602082015260df9181019190915260e2606082015260e5608082015260e860a082015260eb60c082015261014d60e08201526200015790601790600862000aa4565b50604080516101408101825260008152690a968163f0a57b400000602082015269283bebaef8db3ac0000091810191909152696bff27c8303182c0000060608201526a011ddfa58a6173ffc0000060808201526a02aaeb99ae21b18da0000060a08201526a04bc50df332203a020000060c08201526a07520f7619626a3740000060e08201526a0a869fa1dabc83072000006101008201526a1370518d7bcfd0478000006101208201526200021190601f90600a62000adb565b5060408051610140810182526000815268bdbc41e0348b300000602082015269023934c5a09da1900000918101919091526905150ae84a8cdf0000006060820152690dc3a8351f3d86a000006080820152691da56a4b0835bf80000060a082015269272cdebe93fde1a0000060c08201526931c3602284a35ce0000060e0820152693d68ee76da263140000061010082015269a968163f0a57b4000000610120820152620002c490602990600a62000b17565b506040805160c08101825260508152605260208201526054918101919091526056606082015260586080820152605a60a08201526200030890603390600662000b52565b506040805160c0810182526000815269032d26d12e980b6000006020820152690a968163f0a57b40000091810191909152691969368974c05b00000060608201526934f086f3b33b6840000060808201526954b40b1f852bda00000060a08201526200037990603990600662000b88565b5060408051606081018252600a8152600560208201526003918101829052620003a691603f919062000bc3565b50604080516060810182526032815260196020820152600081830152620003d09190600362000bc3565b50348015620003de57600080fd5b506000620003f46001600160e01b036200047016565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350426003556200046a620004596001600160e01b036200047516565b60006001600160e01b036200048416565b62000c22565b335b90565b6000546001600160a01b031690565b6001600160a01b038216600090815260466020908152604082204281559160098301015560016008820155426007820155604554620004ce90602062001c9e620005eb821b17811c565b6045556042805460010190556001600160a01b03821615620005a65760018181018054610100600160a81b0319166101006001600160a01b038681168281029390931790935560008281526046602090815260408220601581018054808901825590845291832090910180546001600160a01b0319168a871617905592905292015491909104161562000592576001600160a01b03808316600090815260466020526040808220600190810154610100900490931682529020601401805490910190555b620005a6826001600160e01b036200064f16565b816001600160a01b0316836001600160a01b03167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b60008282018381101562000646576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b038116158015906200068157506001600160a01b03811660009081526005602052604090205460ff16155b15620006f7576001600160a01b03811660009081526046602052604090206011810154674563918244f4000011801590620006c157506015810154600a11155b8015620006db57506802b5e3af16b1880000816013015410155b15620006f557620006f5826001600160e01b03620006fa16565b505b50565b6200070d6001600160e01b03620007ef16565b6001600160a01b03811660009081526005602052604090205460ff1615620007675760405162461bcd60e51b8152600401808060200182810382526021815260200180620033366021913960400191505060405180910390fd5b6001600160a01b0381166000908152600560209081526040808320805460ff19166001908117909155600254600684529190932055600454620007b592909162001c9e620005eb821b17901c565b6004556040516001600160a01b038216907fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a90600090a250565b60045415801590620008225750426200081f62093a80600260010154620005eb60201b62001c9e1790919060201c565b11155b15620009055760006200085f60646200084b6001476200090760201b62001cff1790919060201c565b6200096560201b62001d581790919060201c565b90506200089d620008836002800154836200096560201b62001d581790919060201c565b600260000154620005eb60201b62001c9e1790919060201c565b600255600354620008be9062093a80620005eb602090811b62001c9e17901c565b600355600454604080519182526020820183905280517f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f9281900390910190a150620007ef565b565b600082620009185750600062000649565b828202828482816200092657fe5b0414620006465760405162461bcd60e51b8152600401808060200182810382526021815260200180620033576021913960400191505060405180910390fd5b60006200064683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620009af60201b60201c565b6000818362000a3f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000a03578181015183820152602001620009e9565b50505050905090810190601f16801562000a315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858162000a4c57fe5b0495945050505050565b826008810192821562000a92579160200282015b8281111562000a9257825182906001600160501b031690559160200191906001019062000a6a565b5062000aa092915062000c05565b5090565b826008810192821562000a92579160200282015b8281111562000a92578251829061ffff1690559160200191906001019062000ab8565b82600a810192821562000a92579160200282015b8281111562000a9257825182906001600160581b031690559160200191906001019062000aef565b82600a810192821562000a92579160200282018281111562000a9257825182906001600160501b031690559160200191906001019062000a6a565b826006810192821562000a92579160200282015b8281111562000a92578251829060ff1690559160200191906001019062000b66565b826006810192821562000a92579160200282018281111562000a9257825182906001600160501b031690559160200191906001019062000a6a565b82805482825590600052602060002090810192821562000a92579160200282018281111562000a92578251829060ff1690559160200191906001019062000b66565b6200047291905b8082111562000aa0576000815560010162000c0c565b6127048062000c326000396000f3fe60806040526004361061031d5760003560e01c80639ca423b3116101ab578063cfbeb83e116100f7578063e5d6c33a11610095578063f340fa011161006f578063f340fa0114610aa6578063f60cdcf614610acc578063f7620b1614610ae1578063ff50abdc14610b0b57610355565b8063e5d6c33a14610a49578063eeb851a214610a5e578063f2fde38b14610a7357610355565b8063dec107d1116100d1578063dec107d1146105f0578063e2eb41ff14610976578063e30c397814610a1f578063e522538114610a3457610355565b8063cfbeb83e14610919578063d9c282f01461092e578063dacfbd791461096157610355565b8063b5affb0511610164578063be6c588a1161013e578063be6c588a1461085b578063bfaed58a14610870578063bfd3dc93146108a3578063c7d88b05146108cd57610355565b8063b5affb05146107f2578063b74126cc1461081c578063b913ee4f1461083157610355565b80639ca423b31461070c5780639e95452b1461078f578063a155b1d41461053a578063a35bc9af1461054f578063a9059cbb146107a4578063b2da61b4146107dd57610355565b806347ee29921161026a578063715018a61161022357806375b4d78c116101fd57806375b4d78c146106615780637e9907721461054f578063894af783146106945780638da5cb5b146106db57610355565b8063715018a614610622578063723928901461063757806373ad468a1461064c57610355565b806347ee2992146105875780634ab0cac91461059c5780634e71e0c8146105c65780635b373092146105db5780635ec1ddfc146105f05780636198e3391461060557610355565b806321f45653116102d75780633128aa86116102b15780633128aa861461050757806336fe15e61461053a578063435f220c1461054f57806346a837851461056457610355565b806321f45653146104475780632ab291c1146104b35780632e1a7d4d146104dd57610355565b80628cc2621461035a5780630486916d1461039f5780630542061e146103b457806310f230dc146103c9578063127fcac7146103f357806321d378f51461041d57610355565b36610355573461034957336000908152604660205260409020541561034457610344610b20565b610353565b6103536000610c59565b005b600080fd5b34801561036657600080fd5b5061038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610e0a565b60408051918252519081900360200190f35b3480156103ab57600080fd5b5061038d610f2a565b3480156103c057600080fd5b50610353610f2f565b3480156103d557600080fd5b5061038d600480360360208110156103ec57600080fd5b5035610fb9565b3480156103ff57600080fd5b5061038d6004803603602081101561041657600080fd5b5035610fcd565b34801561042957600080fd5b5061038d6004803603602081101561044057600080fd5b5035610fda565b34801561045357600080fd5b5061047a6004803603602081101561046a57600080fd5b50356001600160a01b0316610fe7565b604051808261010080838360005b838110156104a0578181015183820152602001610488565b5050505090500191505060405180910390f35b3480156104bf57600080fd5b5061038d600480360360208110156104d657600080fd5b5035611042565b3480156104e957600080fd5b506103536004803603602081101561050057600080fd5b503561104f565b34801561051357600080fd5b5061038d6004803603602081101561052a57600080fd5b50356001600160a01b0316611185565b34801561054657600080fd5b5061038d6111dd565b34801561055b57600080fd5b5061038d6111e2565b6103536004803603604081101561057a57600080fd5b50803590602001356111e7565b34801561059357600080fd5b5061038d611468565b3480156105a857600080fd5b5061038d600480360360208110156105bf57600080fd5b503561146f565b3480156105d257600080fd5b5061035361147c565b3480156105e757600080fd5b50610353611498565b3480156105fc57600080fd5b5061038d6114be565b6103536004803603602081101561061b57600080fd5b50356114c5565b34801561062e57600080fd5b50610353611696565b34801561064357600080fd5b5061038d611700565b34801561065857600080fd5b5061038d611705565b34801561066d57600080fd5b5061067661170b565b60408051938452602084019290925282820152519081900360600190f35b3480156106a057600080fd5b506106c7600480360360208110156106b757600080fd5b50356001600160a01b0316611717565b604080519115158252519081900360200190f35b3480156106e757600080fd5b506106f0611735565b604080516001600160a01b039092168252519081900360200190f35b34801561071857600080fd5b5061073f6004803603602081101561072f57600080fd5b50356001600160a01b0316611744565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561077b578181015183820152602001610763565b505050509050019250505060405180910390f35b34801561079b57600080fd5b506103536117bc565b3480156107b057600080fd5b506106c7600480360360408110156107c757600080fd5b506001600160a01b038135169060200135611889565b3480156107e957600080fd5b5061038d611914565b3480156107fe57600080fd5b5061038d6004803603602081101561081557600080fd5b5035611919565b34801561082857600080fd5b5061038d611926565b34801561083d57600080fd5b5061038d6004803603602081101561085457600080fd5b503561192c565b34801561086757600080fd5b5061038d61194a565b34801561087c57600080fd5b506103536004803603602081101561089357600080fd5b50356001600160a01b031661194f565b3480156108af57600080fd5b5061038d600480360360208110156108c657600080fd5b5035611a14565b3480156108d957600080fd5b50610900600480360360208110156108f057600080fd5b50356001600160a01b0316611a21565b6040805192835260208301919091528051918290030190f35b34801561092557600080fd5b5061038d611b2a565b34801561093a57600080fd5b5061038d6004803603602081101561095157600080fd5b50356001600160a01b0316611b37565b34801561096d57600080fd5b5061038d611b52565b34801561098257600080fd5b506109a96004803603602081101561099957600080fd5b50356001600160a01b0316611b57565b604080519e8f529c151560208f01526001600160a01b03909b168d8d015260608d019990995260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401526101a083015251908190036101c00190f35b348015610a2b57600080fd5b506106f0611bbe565b348015610a4057600080fd5b50610353610b20565b348015610a5557600080fd5b506106c7611bcd565b348015610a6a57600080fd5b5061038d611bf3565b348015610a7f57600080fd5b5061035360048036036020811015610a9657600080fd5b50356001600160a01b0316611bf9565b61035360048036036020811015610abc57600080fd5b50356001600160a01b0316610c59565b348015610ad857600080fd5b5061038d611c85565b348015610aed57600080fd5b5061038d60048036036020811015610b0457600080fd5b5035611c8b565b348015610b1757600080fd5b5061038d611c98565b610b286117bc565b3360009081526046602052604090208054610b7f576040805162461bcd60e51b8152602060048201526012602482015271139bdd081c9959da5cdd195c9959081e595d60721b604482015290519081900360640190fd5b6000610b8a33611185565b1115610b9857610b98611498565b600080610ba433611a21565b91509150336001600160a01b03167f175de791cae106394f6c9daa00b9b55b3c2babff16f57c56b89a8c66601ec59e610bea856002015485611d9a90919063ffffffff16565b6003860154610c0090859063ffffffff611d9a16565b6040805192835260208301919091528051918290030190a2600183015460ff16158015610c2d5750825442115b15610c43576001838101805460ff191690911790555b6002830191909155600382015542600790910155565b610c616117bc565b33600081815260466020526040812091610c7b9084611ddc565b8254909150151534151415610cd7576040805162461bcd60e51b815260206004820152601760248201527f53656e64203020666f7220726567697374726174696f6e000000000000000000604482015290519081900360640190fd5b8154610ce757610ce73382611e48565b610cef610b20565b6000610d04346203d09063ffffffff611cff16565b6003840154909150610d1c908263ffffffff611c9e16565b60038401556011830154610d36903463ffffffff611c9e16565b6011840155604354610d4e903463ffffffff611c9e16565b6043556004830154610d66908263ffffffff611c9e16565b600484015560408051348152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a2610dad33823485611f9d565b610db6336121d1565b600060466000610dc4611735565b6001600160a01b03168152602081019190915260400160002060120154604154909150610e0090610dfb478463ffffffff611c9e16565b61226c565b6041555050505050565b6001600160a01b03811660009081526046602052604081208054610e32576000915050610f25565b600060015b6008811015610eb857610eae610ea16064610e9560178560088110610e5857fe5b0154610e8960078760088110610e6a57fe5b0154896009018860088110610e7b57fe5b01549063ffffffff611cff16565b9063ffffffff611cff16565b9063ffffffff611d5816565b839063ffffffff611c9e16565b9150600101610e37565b506001820154610f209060ff1680610ed05750825442145b610ee357681b1ae4d6e2ef500000610ee6565b60005b610f1462278d00610e95610f07876007015442611d9a90919063ffffffff16565b869063ffffffff611cff16565b9063ffffffff611c9e16565b925050505b919050565b600881565b610f376117bc565b336000908152604660205260409020610f4e610b20565b6006810154600511610f5f57600080fd5b610f7e336039836006015460010160068110610f7757fe5b0154612283565b6006810180546001019081905560405133907fab7da30456d497e9ccbd16778660ea62630c90e6eacce1f230887620f0449c8990600090a350565b60078160088110610fc657fe5b0154905081565b600f8160088110610fc657fe5b60338160068110610fc657fe5b610fef612640565b6001600160a01b038216600090815260466020526040908190208151610100810190925260090160088282826020028201915b815481526020019060010190808311611022575b50505050509050919050565b601f81600a8110610fc657fe5b336000908152604660205260409020611066610b20565b600061107b836203d09063ffffffff611d5816565b9050600081116110d2576040805162461bcd60e51b815260206004820152601c60248201527f547279696e6720746f20776974686472617720746f6f20736d616c6c00000000604482015290519081900360640190fd5b60028201546110e7908463ffffffff611d9a16565b60028301556012820154611101908263ffffffff611c9e16565b6012830155604454611119908263ffffffff611c9e16565b604455604051339082156108fc029083906000818181858888f19350505050158015611149573d6000803e3d6000fd5b5060408051828152905133917f6cca423c6ffc06e62a0acc433965e074b11c28479b0449250ce3ff65ac9e39fe919081900360200190a2505050565b6001600160a01b03811660009081526005602052604081205460ff166111ac5760006111d7565b6001600160a01b0382166000908152600660205260409020546002546111d79163ffffffff611d9a16565b92915050565b600681565b600a81565b6111ef6117bc565b336000908152604660205260409020341561120e5761120e6000610c59565b611216610b20565b6000831180156112265750600883105b611277576040805162461bcd60e51b815260206004820152601f60248201527f446f6e27742074727920746f206275792062656573206f662074797065203000604482015290519081900360640190fd5b600783141561133257611288611bcd565b6112d9576040805162461bcd60e51b815260206004820152601c60248201527f5375706572426565206973206e6f7420756e6c6f636b65642079657400000000604482015290519081900360640190fd5b805462093a80906112f190429063ffffffff611d9a16565b1061132d5760405162461bcd60e51b815260040180806020018281038252602d815260200180612660602d913960400191505060405180910390fd5b61138b565b806008015483111561138b576040805162461bcd60e51b815260206004820152601e60248201527f54686973206265652074797065206e6f7420756e6c6f636b6564207965740000604482015290519081900360640190fd5b60206113ae838360090186600881106113a057fe5b01549063ffffffff611c9e16565b11156113b957600080fd5b6113cc828260090185600881106113a057fe5b8160090184600881106113db57fe5b01556045546113f0908363ffffffff611c9e16565b604555600061140f3361140a8560078860088110610e7b57fe5b6122ba565b905061142833826000611423336000611ddc565b611f9d565b6040805185815260208101859052815133927f3b8efbf8f2c0dcb58c5082344b6573cf15279f2be6c0415141060f747fd8bab1928290030190a250505050565b6203d09081565b602981600a8110610fc657fe5b611484612332565b61149661148f611735565b6000611e48565b565b6114b36114a433611185565b6044549063ffffffff611c9e16565b604455611496612370565b62093a8081565b6114cd6117bc565b33600090815260466020526040902034156114ec576114ec6000610c59565b6114f4610b20565b60078210611549576040805162461bcd60e51b815260206004820152601860248201527f4e6f206d6f7265206c6576656c7320746f20756e6c6f636b0000000000000000604482015290519081900360640190fd5b602081600901600184036008811061155d57fe5b0154146115b1576040805162461bcd60e51b815260206004820152601960248201527f50726576206c6576656c206d7573742062652066696c6c656400000000000000604482015290519081900360640190fd5b8060080154600101821461160c576040805162461bcd60e51b815260206004820152601f60248201527f547279696e6720746f20756e6c6f636b2077726f6e6720626565207479706500604482015290519081900360640190fd5b60068214156116275760098160050154101561162757600080fd5b61163f33600f846008811061163857fe5b01546122ba565b50818160080181905550600181600901836008811061165a57fe5b015560408051838152905133917f9314809af08e4ddf0214b2248c8ea28466a17bcf8283d48cebe52b0f1386af0f919081900360200190a25050565b61169e612451565b6000546001600160a01b03908116911614610355576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600781565b60415481565b60025460035460045483565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b031690565b6001600160a01b03811660009081526046602090815260409182902060150180548351818402810184019094528084526060939283018282801561103657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117935750505050509050919050565b600454158015906117e3575060035442906117e09062093a8063ffffffff611c9e16565b11155b156114965760006118006064610e9547600163ffffffff611cff16565b60045490915061182a9061181b90839063ffffffff611d5816565b6002549063ffffffff611c9e16565b6002556003546118439062093a8063ffffffff611c9e16565b600355600454604080519182526020820183905280517f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f9281900390910190a1506117bc565b6000611893611735565b6001600160a01b0316336001600160a01b0316146118b057600080fd5b6118b8610b20565b6118c233836122ba565b506001600160a01b0383166000908152604660205260409020600301546118ef908363ffffffff611c9e16565b6001600160a01b03841660009081526046602052604090206003015550600192915050565b602081565b60398160068110610fc657fe5b60445481565b6040818154811061193957fe5b600091825260209091200154905081565b601e81565b6119576117bc565b6001600160a01b0381166000908152604660205260409020611977610b20565b60058101545b600a811015611a0f57601f81600a811061199357fe5b0154826004015410611a07576119c2602982600a81106119af57fe5b015460038401549063ffffffff611c9e16565b600383015560018101600583018190556040516001600160a01b038516907f93135b83255eeccdefec3e312591c2743d0dc8bfac656f9773d7a132af4bb81f90600090a35b60010161197d565b505050565b603f818154811061193957fe5b6001600160a01b03811660009081526046602052604081208054829190611a4f575060009150819050611b25565b80600201549250806003015491506000611a6885610e0a565b600183015490915060ff16158015611a805750815442115b15611abc57611a9e81681b1ae4d6e2ef50000063ffffffff611d9a16565b9050611ab983681b1ae4d6e2ef50000063ffffffff611c9e16565b92505b6000611ae66064610e956033866006015460068110611ad757fe5b0154859063ffffffff611cff16565b90506000611afa838363ffffffff611d9a16565b9050611b0c868363ffffffff611c9e16565b9550611b1e858263ffffffff611c9e16565b9450505050505b915091565b681b1ae4d6e2ef50000081565b6001600160a01b031660009081526006602052604090205490565b600181565b604660205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460118a015460128b015460138c01546014909c01549a9b60ff8b169b610100909b046001600160a01b03169a8e565b6001546001600160a01b031681565b604154600090611beb90606490610e9590604663ffffffff611cff16565b471115905090565b60455481565b611c01612451565b6000546001600160a01b03908116911614611c63576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60425481565b60178160088110610fc657fe5b60435481565b600082820183811015611cf8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082611d0e575060006111d7565b82820282848281611d1b57fe5b0414611cf85760405162461bcd60e51b81526004018080602001828103825260218152602001806126ae6021913960400191505060405180910390fd5b6000611cf883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612455565b6000611cf883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124f7565b6001600160a01b038216600090815260466020526040812054158015611e145750826001600160a01b0316826001600160a01b031614155b15611e205750806111d7565b50506001600160a01b0390811660009081526046602052604090206001015461010090041690565b6001600160a01b038216600090815260466020908152604082204281559160098301015560016008820155426007820155604554611e8d90602063ffffffff611c9e16565b6045556042805460010190556001600160a01b03821615611f585760018181018054610100600160a81b0319166101006001600160a01b038681168281029390931790935560008281526046602090815260408220601581018054808901825590845291832090910180546001600160a01b0319168a8716179055929052920154919091041615611f4f576001600160a01b03808316600090815260466020526040808220600190810154610100900490931682529020601401805490910190555b611f58826121d1565b816001600160a01b0316836001600160a01b03167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b611fa5611735565b6001600160a01b03166108fc6203d0906064600a870204049081150290604051600060405180830381858888f19350505050158015611fe8573d6000803e3d6000fd5b506001600160a01b038116156121cb576001600160a01b03811660009081526046602052604090206013810154612025908463ffffffff611c9e16565b6013820155612033826121d1565b8160005b6001600160a01b038216158015906120505750603f5481105b156121c75760006120866064610e95603f858154811061206c57fe5b90600052602060002001548a611cff90919063ffffffff16565b6001600160a01b0384166000908152604660205260409020600201549091506120b5908263ffffffff611c9e16565b60466000856001600160a01b03166001600160a01b031681526020019081526020016000206002018190555061213b6121136064610e95604086815481106120f957fe5b90600052602060002001548b611cff90919063ffffffff16565b6001600160a01b0385166000908152604660205260409020600401549063ffffffff611c9e16565b6001600160a01b038085166000818152604660209081526040918290206004019490945580518581529051600187019492938d16927f8fa68a6a8e2fc9ff758a6e64afba8bc2f66fb082999a2c5225c8c49633faded4928290030190a4506001600160a01b03918216600090815260466020526040902060019081015461010090049092169101612037565b5050505b50505050565b6001600160a01b0381161580159061220257506001600160a01b03811660009081526005602052604090205460ff16155b15612269576001600160a01b03811660009081526046602052604090206011810154674563918244f400001180159061224057506015810154600a11155b801561225957506802b5e3af16b1880000816013015410155b156122675761226782612551565b505b50565b60008183101561227c5781611cf8565b5090919050565b6001600160a01b038216600090815260466020526040902060028101546122b0908363ffffffff611d9a16565b6002909101555050565b6001600160a01b0382166000908152604660205260408120600381015482906122e4908590612631565b905060006123026064610e95605a610e89898763ffffffff611d9a16565b600384015490915061231a908363ffffffff611d9a16565b60038401556123298682612283565b95945050505050565b6001546001600160a01b0316331461234957600080fd5b60015461235e906001600160a01b0316611bf9565b600180546001600160a01b0319169055565b6123786117bc565b3360009081526005602052604090205460ff166123dc576040805162461bcd60e51b815260206004820152601d60248201527f55736572206e6f74207265676973746572656420666f7220626f6e7573000000604482015290519081900360640190fd5b60006123f0476123eb33611185565b612631565b33600090815260066020526040902054909150612413908263ffffffff611c9e16565b33600081815260066020526040808220939093559151909183156108fc02918491818181858888f19350505050158015612267573d6000803e3d6000fd5b3390565b600081836124e15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124a657818101518382015260200161248e565b50505050905090810190601f1680156124d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816124ed57fe5b0495945050505050565b600081848411156125495760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156124a657818101518382015260200161248e565b505050900390565b6125596117bc565b6001600160a01b03811660009081526005602052604090205460ff16156125b15760405162461bcd60e51b815260040180806020018281038252602181526020018061268d6021913960400191505060405180910390fd5b6001600160a01b0381166000908152600560209081526040808320805460ff1916600190811790915560025460069093529220556004546125f79163ffffffff611c9e16565b6004556040516001600160a01b038216907fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a90600090a250565b600081831061227c5781611cf8565b604051806101000160405280600890602082028036833750919291505056fe596f752073686f756c642062652072656769737465726564206c657373207468616e203720646179732061676f5573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122044a6ec0dd14a6d9e33eca1c16e7d98f4e3ecb85ae80fe8d9dbd79e517129536464736f6c634300060a00335573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77
Deployed Bytecode
0x60806040526004361061031d5760003560e01c80639ca423b3116101ab578063cfbeb83e116100f7578063e5d6c33a11610095578063f340fa011161006f578063f340fa0114610aa6578063f60cdcf614610acc578063f7620b1614610ae1578063ff50abdc14610b0b57610355565b8063e5d6c33a14610a49578063eeb851a214610a5e578063f2fde38b14610a7357610355565b8063dec107d1116100d1578063dec107d1146105f0578063e2eb41ff14610976578063e30c397814610a1f578063e522538114610a3457610355565b8063cfbeb83e14610919578063d9c282f01461092e578063dacfbd791461096157610355565b8063b5affb0511610164578063be6c588a1161013e578063be6c588a1461085b578063bfaed58a14610870578063bfd3dc93146108a3578063c7d88b05146108cd57610355565b8063b5affb05146107f2578063b74126cc1461081c578063b913ee4f1461083157610355565b80639ca423b31461070c5780639e95452b1461078f578063a155b1d41461053a578063a35bc9af1461054f578063a9059cbb146107a4578063b2da61b4146107dd57610355565b806347ee29921161026a578063715018a61161022357806375b4d78c116101fd57806375b4d78c146106615780637e9907721461054f578063894af783146106945780638da5cb5b146106db57610355565b8063715018a614610622578063723928901461063757806373ad468a1461064c57610355565b806347ee2992146105875780634ab0cac91461059c5780634e71e0c8146105c65780635b373092146105db5780635ec1ddfc146105f05780636198e3391461060557610355565b806321f45653116102d75780633128aa86116102b15780633128aa861461050757806336fe15e61461053a578063435f220c1461054f57806346a837851461056457610355565b806321f45653146104475780632ab291c1146104b35780632e1a7d4d146104dd57610355565b80628cc2621461035a5780630486916d1461039f5780630542061e146103b457806310f230dc146103c9578063127fcac7146103f357806321d378f51461041d57610355565b36610355573461034957336000908152604660205260409020541561034457610344610b20565b610353565b6103536000610c59565b005b600080fd5b34801561036657600080fd5b5061038d6004803603602081101561037d57600080fd5b50356001600160a01b0316610e0a565b60408051918252519081900360200190f35b3480156103ab57600080fd5b5061038d610f2a565b3480156103c057600080fd5b50610353610f2f565b3480156103d557600080fd5b5061038d600480360360208110156103ec57600080fd5b5035610fb9565b3480156103ff57600080fd5b5061038d6004803603602081101561041657600080fd5b5035610fcd565b34801561042957600080fd5b5061038d6004803603602081101561044057600080fd5b5035610fda565b34801561045357600080fd5b5061047a6004803603602081101561046a57600080fd5b50356001600160a01b0316610fe7565b604051808261010080838360005b838110156104a0578181015183820152602001610488565b5050505090500191505060405180910390f35b3480156104bf57600080fd5b5061038d600480360360208110156104d657600080fd5b5035611042565b3480156104e957600080fd5b506103536004803603602081101561050057600080fd5b503561104f565b34801561051357600080fd5b5061038d6004803603602081101561052a57600080fd5b50356001600160a01b0316611185565b34801561054657600080fd5b5061038d6111dd565b34801561055b57600080fd5b5061038d6111e2565b6103536004803603604081101561057a57600080fd5b50803590602001356111e7565b34801561059357600080fd5b5061038d611468565b3480156105a857600080fd5b5061038d600480360360208110156105bf57600080fd5b503561146f565b3480156105d257600080fd5b5061035361147c565b3480156105e757600080fd5b50610353611498565b3480156105fc57600080fd5b5061038d6114be565b6103536004803603602081101561061b57600080fd5b50356114c5565b34801561062e57600080fd5b50610353611696565b34801561064357600080fd5b5061038d611700565b34801561065857600080fd5b5061038d611705565b34801561066d57600080fd5b5061067661170b565b60408051938452602084019290925282820152519081900360600190f35b3480156106a057600080fd5b506106c7600480360360208110156106b757600080fd5b50356001600160a01b0316611717565b604080519115158252519081900360200190f35b3480156106e757600080fd5b506106f0611735565b604080516001600160a01b039092168252519081900360200190f35b34801561071857600080fd5b5061073f6004803603602081101561072f57600080fd5b50356001600160a01b0316611744565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561077b578181015183820152602001610763565b505050509050019250505060405180910390f35b34801561079b57600080fd5b506103536117bc565b3480156107b057600080fd5b506106c7600480360360408110156107c757600080fd5b506001600160a01b038135169060200135611889565b3480156107e957600080fd5b5061038d611914565b3480156107fe57600080fd5b5061038d6004803603602081101561081557600080fd5b5035611919565b34801561082857600080fd5b5061038d611926565b34801561083d57600080fd5b5061038d6004803603602081101561085457600080fd5b503561192c565b34801561086757600080fd5b5061038d61194a565b34801561087c57600080fd5b506103536004803603602081101561089357600080fd5b50356001600160a01b031661194f565b3480156108af57600080fd5b5061038d600480360360208110156108c657600080fd5b5035611a14565b3480156108d957600080fd5b50610900600480360360208110156108f057600080fd5b50356001600160a01b0316611a21565b6040805192835260208301919091528051918290030190f35b34801561092557600080fd5b5061038d611b2a565b34801561093a57600080fd5b5061038d6004803603602081101561095157600080fd5b50356001600160a01b0316611b37565b34801561096d57600080fd5b5061038d611b52565b34801561098257600080fd5b506109a96004803603602081101561099957600080fd5b50356001600160a01b0316611b57565b604080519e8f529c151560208f01526001600160a01b03909b168d8d015260608d019990995260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401526101a083015251908190036101c00190f35b348015610a2b57600080fd5b506106f0611bbe565b348015610a4057600080fd5b50610353610b20565b348015610a5557600080fd5b506106c7611bcd565b348015610a6a57600080fd5b5061038d611bf3565b348015610a7f57600080fd5b5061035360048036036020811015610a9657600080fd5b50356001600160a01b0316611bf9565b61035360048036036020811015610abc57600080fd5b50356001600160a01b0316610c59565b348015610ad857600080fd5b5061038d611c85565b348015610aed57600080fd5b5061038d60048036036020811015610b0457600080fd5b5035611c8b565b348015610b1757600080fd5b5061038d611c98565b610b286117bc565b3360009081526046602052604090208054610b7f576040805162461bcd60e51b8152602060048201526012602482015271139bdd081c9959da5cdd195c9959081e595d60721b604482015290519081900360640190fd5b6000610b8a33611185565b1115610b9857610b98611498565b600080610ba433611a21565b91509150336001600160a01b03167f175de791cae106394f6c9daa00b9b55b3c2babff16f57c56b89a8c66601ec59e610bea856002015485611d9a90919063ffffffff16565b6003860154610c0090859063ffffffff611d9a16565b6040805192835260208301919091528051918290030190a2600183015460ff16158015610c2d5750825442115b15610c43576001838101805460ff191690911790555b6002830191909155600382015542600790910155565b610c616117bc565b33600081815260466020526040812091610c7b9084611ddc565b8254909150151534151415610cd7576040805162461bcd60e51b815260206004820152601760248201527f53656e64203020666f7220726567697374726174696f6e000000000000000000604482015290519081900360640190fd5b8154610ce757610ce73382611e48565b610cef610b20565b6000610d04346203d09063ffffffff611cff16565b6003840154909150610d1c908263ffffffff611c9e16565b60038401556011830154610d36903463ffffffff611c9e16565b6011840155604354610d4e903463ffffffff611c9e16565b6043556004830154610d66908263ffffffff611c9e16565b600484015560408051348152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a2610dad33823485611f9d565b610db6336121d1565b600060466000610dc4611735565b6001600160a01b03168152602081019190915260400160002060120154604154909150610e0090610dfb478463ffffffff611c9e16565b61226c565b6041555050505050565b6001600160a01b03811660009081526046602052604081208054610e32576000915050610f25565b600060015b6008811015610eb857610eae610ea16064610e9560178560088110610e5857fe5b0154610e8960078760088110610e6a57fe5b0154896009018860088110610e7b57fe5b01549063ffffffff611cff16565b9063ffffffff611cff16565b9063ffffffff611d5816565b839063ffffffff611c9e16565b9150600101610e37565b506001820154610f209060ff1680610ed05750825442145b610ee357681b1ae4d6e2ef500000610ee6565b60005b610f1462278d00610e95610f07876007015442611d9a90919063ffffffff16565b869063ffffffff611cff16565b9063ffffffff611c9e16565b925050505b919050565b600881565b610f376117bc565b336000908152604660205260409020610f4e610b20565b6006810154600511610f5f57600080fd5b610f7e336039836006015460010160068110610f7757fe5b0154612283565b6006810180546001019081905560405133907fab7da30456d497e9ccbd16778660ea62630c90e6eacce1f230887620f0449c8990600090a350565b60078160088110610fc657fe5b0154905081565b600f8160088110610fc657fe5b60338160068110610fc657fe5b610fef612640565b6001600160a01b038216600090815260466020526040908190208151610100810190925260090160088282826020028201915b815481526020019060010190808311611022575b50505050509050919050565b601f81600a8110610fc657fe5b336000908152604660205260409020611066610b20565b600061107b836203d09063ffffffff611d5816565b9050600081116110d2576040805162461bcd60e51b815260206004820152601c60248201527f547279696e6720746f20776974686472617720746f6f20736d616c6c00000000604482015290519081900360640190fd5b60028201546110e7908463ffffffff611d9a16565b60028301556012820154611101908263ffffffff611c9e16565b6012830155604454611119908263ffffffff611c9e16565b604455604051339082156108fc029083906000818181858888f19350505050158015611149573d6000803e3d6000fd5b5060408051828152905133917f6cca423c6ffc06e62a0acc433965e074b11c28479b0449250ce3ff65ac9e39fe919081900360200190a2505050565b6001600160a01b03811660009081526005602052604081205460ff166111ac5760006111d7565b6001600160a01b0382166000908152600660205260409020546002546111d79163ffffffff611d9a16565b92915050565b600681565b600a81565b6111ef6117bc565b336000908152604660205260409020341561120e5761120e6000610c59565b611216610b20565b6000831180156112265750600883105b611277576040805162461bcd60e51b815260206004820152601f60248201527f446f6e27742074727920746f206275792062656573206f662074797065203000604482015290519081900360640190fd5b600783141561133257611288611bcd565b6112d9576040805162461bcd60e51b815260206004820152601c60248201527f5375706572426565206973206e6f7420756e6c6f636b65642079657400000000604482015290519081900360640190fd5b805462093a80906112f190429063ffffffff611d9a16565b1061132d5760405162461bcd60e51b815260040180806020018281038252602d815260200180612660602d913960400191505060405180910390fd5b61138b565b806008015483111561138b576040805162461bcd60e51b815260206004820152601e60248201527f54686973206265652074797065206e6f7420756e6c6f636b6564207965740000604482015290519081900360640190fd5b60206113ae838360090186600881106113a057fe5b01549063ffffffff611c9e16565b11156113b957600080fd5b6113cc828260090185600881106113a057fe5b8160090184600881106113db57fe5b01556045546113f0908363ffffffff611c9e16565b604555600061140f3361140a8560078860088110610e7b57fe5b6122ba565b905061142833826000611423336000611ddc565b611f9d565b6040805185815260208101859052815133927f3b8efbf8f2c0dcb58c5082344b6573cf15279f2be6c0415141060f747fd8bab1928290030190a250505050565b6203d09081565b602981600a8110610fc657fe5b611484612332565b61149661148f611735565b6000611e48565b565b6114b36114a433611185565b6044549063ffffffff611c9e16565b604455611496612370565b62093a8081565b6114cd6117bc565b33600090815260466020526040902034156114ec576114ec6000610c59565b6114f4610b20565b60078210611549576040805162461bcd60e51b815260206004820152601860248201527f4e6f206d6f7265206c6576656c7320746f20756e6c6f636b0000000000000000604482015290519081900360640190fd5b602081600901600184036008811061155d57fe5b0154146115b1576040805162461bcd60e51b815260206004820152601960248201527f50726576206c6576656c206d7573742062652066696c6c656400000000000000604482015290519081900360640190fd5b8060080154600101821461160c576040805162461bcd60e51b815260206004820152601f60248201527f547279696e6720746f20756e6c6f636b2077726f6e6720626565207479706500604482015290519081900360640190fd5b60068214156116275760098160050154101561162757600080fd5b61163f33600f846008811061163857fe5b01546122ba565b50818160080181905550600181600901836008811061165a57fe5b015560408051838152905133917f9314809af08e4ddf0214b2248c8ea28466a17bcf8283d48cebe52b0f1386af0f919081900360200190a25050565b61169e612451565b6000546001600160a01b03908116911614610355576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600781565b60415481565b60025460035460045483565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b031690565b6001600160a01b03811660009081526046602090815260409182902060150180548351818402810184019094528084526060939283018282801561103657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117935750505050509050919050565b600454158015906117e3575060035442906117e09062093a8063ffffffff611c9e16565b11155b156114965760006118006064610e9547600163ffffffff611cff16565b60045490915061182a9061181b90839063ffffffff611d5816565b6002549063ffffffff611c9e16565b6002556003546118439062093a8063ffffffff611c9e16565b600355600454604080519182526020820183905280517f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f9281900390910190a1506117bc565b6000611893611735565b6001600160a01b0316336001600160a01b0316146118b057600080fd5b6118b8610b20565b6118c233836122ba565b506001600160a01b0383166000908152604660205260409020600301546118ef908363ffffffff611c9e16565b6001600160a01b03841660009081526046602052604090206003015550600192915050565b602081565b60398160068110610fc657fe5b60445481565b6040818154811061193957fe5b600091825260209091200154905081565b601e81565b6119576117bc565b6001600160a01b0381166000908152604660205260409020611977610b20565b60058101545b600a811015611a0f57601f81600a811061199357fe5b0154826004015410611a07576119c2602982600a81106119af57fe5b015460038401549063ffffffff611c9e16565b600383015560018101600583018190556040516001600160a01b038516907f93135b83255eeccdefec3e312591c2743d0dc8bfac656f9773d7a132af4bb81f90600090a35b60010161197d565b505050565b603f818154811061193957fe5b6001600160a01b03811660009081526046602052604081208054829190611a4f575060009150819050611b25565b80600201549250806003015491506000611a6885610e0a565b600183015490915060ff16158015611a805750815442115b15611abc57611a9e81681b1ae4d6e2ef50000063ffffffff611d9a16565b9050611ab983681b1ae4d6e2ef50000063ffffffff611c9e16565b92505b6000611ae66064610e956033866006015460068110611ad757fe5b0154859063ffffffff611cff16565b90506000611afa838363ffffffff611d9a16565b9050611b0c868363ffffffff611c9e16565b9550611b1e858263ffffffff611c9e16565b9450505050505b915091565b681b1ae4d6e2ef50000081565b6001600160a01b031660009081526006602052604090205490565b600181565b604660205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460118a015460128b015460138c01546014909c01549a9b60ff8b169b610100909b046001600160a01b03169a8e565b6001546001600160a01b031681565b604154600090611beb90606490610e9590604663ffffffff611cff16565b471115905090565b60455481565b611c01612451565b6000546001600160a01b03908116911614611c63576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60425481565b60178160088110610fc657fe5b60435481565b600082820183811015611cf8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082611d0e575060006111d7565b82820282848281611d1b57fe5b0414611cf85760405162461bcd60e51b81526004018080602001828103825260218152602001806126ae6021913960400191505060405180910390fd5b6000611cf883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612455565b6000611cf883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124f7565b6001600160a01b038216600090815260466020526040812054158015611e145750826001600160a01b0316826001600160a01b031614155b15611e205750806111d7565b50506001600160a01b0390811660009081526046602052604090206001015461010090041690565b6001600160a01b038216600090815260466020908152604082204281559160098301015560016008820155426007820155604554611e8d90602063ffffffff611c9e16565b6045556042805460010190556001600160a01b03821615611f585760018181018054610100600160a81b0319166101006001600160a01b038681168281029390931790935560008281526046602090815260408220601581018054808901825590845291832090910180546001600160a01b0319168a8716179055929052920154919091041615611f4f576001600160a01b03808316600090815260466020526040808220600190810154610100900490931682529020601401805490910190555b611f58826121d1565b816001600160a01b0316836001600160a01b03167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b611fa5611735565b6001600160a01b03166108fc6203d0906064600a870204049081150290604051600060405180830381858888f19350505050158015611fe8573d6000803e3d6000fd5b506001600160a01b038116156121cb576001600160a01b03811660009081526046602052604090206013810154612025908463ffffffff611c9e16565b6013820155612033826121d1565b8160005b6001600160a01b038216158015906120505750603f5481105b156121c75760006120866064610e95603f858154811061206c57fe5b90600052602060002001548a611cff90919063ffffffff16565b6001600160a01b0384166000908152604660205260409020600201549091506120b5908263ffffffff611c9e16565b60466000856001600160a01b03166001600160a01b031681526020019081526020016000206002018190555061213b6121136064610e95604086815481106120f957fe5b90600052602060002001548b611cff90919063ffffffff16565b6001600160a01b0385166000908152604660205260409020600401549063ffffffff611c9e16565b6001600160a01b038085166000818152604660209081526040918290206004019490945580518581529051600187019492938d16927f8fa68a6a8e2fc9ff758a6e64afba8bc2f66fb082999a2c5225c8c49633faded4928290030190a4506001600160a01b03918216600090815260466020526040902060019081015461010090049092169101612037565b5050505b50505050565b6001600160a01b0381161580159061220257506001600160a01b03811660009081526005602052604090205460ff16155b15612269576001600160a01b03811660009081526046602052604090206011810154674563918244f400001180159061224057506015810154600a11155b801561225957506802b5e3af16b1880000816013015410155b156122675761226782612551565b505b50565b60008183101561227c5781611cf8565b5090919050565b6001600160a01b038216600090815260466020526040902060028101546122b0908363ffffffff611d9a16565b6002909101555050565b6001600160a01b0382166000908152604660205260408120600381015482906122e4908590612631565b905060006123026064610e95605a610e89898763ffffffff611d9a16565b600384015490915061231a908363ffffffff611d9a16565b60038401556123298682612283565b95945050505050565b6001546001600160a01b0316331461234957600080fd5b60015461235e906001600160a01b0316611bf9565b600180546001600160a01b0319169055565b6123786117bc565b3360009081526005602052604090205460ff166123dc576040805162461bcd60e51b815260206004820152601d60248201527f55736572206e6f74207265676973746572656420666f7220626f6e7573000000604482015290519081900360640190fd5b60006123f0476123eb33611185565b612631565b33600090815260066020526040902054909150612413908263ffffffff611c9e16565b33600081815260066020526040808220939093559151909183156108fc02918491818181858888f19350505050158015612267573d6000803e3d6000fd5b3390565b600081836124e15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124a657818101518382015260200161248e565b50505050905090810190601f1680156124d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816124ed57fe5b0495945050505050565b600081848411156125495760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156124a657818101518382015260200161248e565b505050900390565b6125596117bc565b6001600160a01b03811660009081526005602052604090205460ff16156125b15760405162461bcd60e51b815260040180806020018281038252602181526020018061268d6021913960400191505060405180910390fd5b6001600160a01b0381166000908152600560209081526040808320805460ff1916600190811790915560025460069093529220556004546125f79163ffffffff611c9e16565b6004556040516001600160a01b038216907fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a90600090a250565b600081831061227c5781611cf8565b604051806101000160405280600890602082028036833750919291505056fe596f752073686f756c642062652072656769737465726564206c657373207468616e203720646179732061676f5573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122044a6ec0dd14a6d9e33eca1c16e7d98f4e3ecb85ae80fe8d9dbd79e517129536464736f6c634300060a0033
Deployed Bytecode Sourcemap
6234:14509:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9504:9;9500:186;;9547:10;9576:1;9539:19;;;:7;:19;;;;;:34;:38;9535:88;;9598:9;:7;:9::i;:::-;9500:186;;;9655:19;9671:1;9655:7;:19::i;:::-;6234:14509;;;;;16229:644;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16229:644:0;-1:-1:-1;;;;;16229:644:0;;:::i;:::-;;;;;;;;;;;;;;;;6828:38;;;;;;;;;;;;;:::i;15842:379::-;;;;;;;;;;;;;:::i;7096:118::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7096:118:0;;:::i;7221:117::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7221:117:0;;:::i;7758:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7758:80:0;;:::i;9701:124::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9701:124:0;-1:-1:-1;;;;;9701:124:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7441:157;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7441:157:0;;:::i;11722:510::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11722:510:0;;:::i;4779:169::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4779:169:0;-1:-1:-1;;;;;4779:169:0;;:::i;7046:43::-;;;;;;;;;;;;;:::i;6998:41::-;;;;;;;;;;;;;:::i;14725:1109::-;;;;;;;;;;;;;;;;-1:-1:-1;14725:1109:0;;;;;;;:::i;7961:46::-;;;;;;;;;;;;;:::i;7605:146::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7605:146:0;;:::i;17521:135::-;;;;;;;;;;;;;:::i;17344:169::-;;;;;;;;;;;;;:::i;3457:44::-;;;;;;;;;;;;;:::i;13974:743::-;;;;;;;;;;;;;;;;-1:-1:-1;13974:743:0;;:::i;5860:91::-;;;;;;;;;;;;;:::i;6873:56::-;;;;;;;;;;;;;:::i;8486:25::-;;;;;;;;;;;;;:::i;3736:26::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4527:124;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4527:124:0;-1:-1:-1;;;;;4527:124:0;;:::i;:::-;;;;;;;;;;;;;;;;;;1134:79;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1134:79:0;;;;;;;;;;;;;;10000:120;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10000:120:0;-1:-1:-1;;;;;10000:120:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4053:466;;;;;;;;;;;;;:::i;10363:297::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10363:297:0;;;;;;;;:::i;8014:48::-;;;;;;;;;;;;;:::i;7845:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7845:107:0;;:::i;8588:30::-;;;;;;;;;;;;;:::i;8424:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8424:53:0;;:::i;8240:52::-;;;;;;;;;;;;;:::i;16881:455::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16881:455:0;-1:-1:-1;;;;;16881:455:0;;:::i;8361:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8361:56:0;;:::i;13036:930::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13036:930:0;-1:-1:-1;;;;;13036:930:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8069:57;;;;;;;;;;;;;:::i;4659:112::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4659:112:0;-1:-1:-1;;;;;4659:112:0;;:::i;3399:51::-;;;;;;;;;;;;;:::i;8662:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8662:41:0;-1:-1:-1;;;;;8662:41:0;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;8662:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5722:27;;;;;;;;;;;;;:::i;12240:788::-;;;;;;;;;;;;;:::i;9833:159::-;;;;;;;;;;;;;:::i;8625:30::-;;;;;;;;;;;;;:::i;5959:122::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5959:122:0;-1:-1:-1;;;;;5959:122:0;;:::i;10668:1046::-;;;;;;;;;;;;;;;;-1:-1:-1;10668:1046:0;-1:-1:-1;;;;;10668:1046:0;;:::i;8518:27::-;;;;;;;;;;;;;:::i;7345:89::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7345:89:0;;:::i;8552:29::-;;;;;;;;;;;;;:::i;12240:788::-;3917:24;:22;:24::i;:::-;12329:10:::1;12297:21;12321:19:::0;;;:7:::1;:19;::::0;;;;12359:21;;12351:56:::1;;;::::0;;-1:-1:-1;;;12351:56:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12351:56:0;;;;;;;;;;;;;::::1;;12454:1;12424:27;12440:10;12424:15;:27::i;:::-;:31;12420:79;;;12472:15;:13;:15::i;:::-;12512:20;12534:18:::0;12556:26:::1;12571:10;12556:14;:26::i;:::-;12511:71;;;;12628:10;-1:-1:-1::0;;;;;12598:151:0::1;;12653:37;12670:6;:19;;;12653:12;:16;;:37;;;;:::i;:::-;12720:17;::::0;::::1;::::0;12705:33:::1;::::0;:10;;:33:::1;:14;:33;:::i;:::-;12598:151;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;12767:23;::::0;::::1;::::0;::::1;;12766:24;:55:::0;::::1;;;-1:-1:-1::0;12794:21:0;;12818:3:::1;-1:-1:-1::0;12766:55:0::1;12762:118;;;12864:4;12838:23:::0;;::::1;:30:::0;;-1:-1:-1;;12838:30:0::1;::::0;;::::1;::::0;;12762:118:::1;12892:19;::::0;::::1;:34:::0;;;;12937:17:::1;::::0;::::1;:30:::0;13005:15:::1;12978:24;::::0;;::::1;:42:::0;12240:788::o;10668:1046::-;3917:24;:22;:24::i;:::-;10776:10:::1;10744:21;10768:19:::0;;;:7:::1;:19;::::0;;;;;10819:27:::1;::::0;10842:3;10819:10:::1;:27::i;:::-;10887:21:::0;;10798:48;;-1:-1:-1;10887:25:0;;10868:9:::1;:14:::0;10867:45:::1;;10859:81;;;::::0;;-1:-1:-1;;;10859:81:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;10967:21:::0;;10963:92:::1;;11010:33;11020:10;11032;11010:9;:33::i;:::-;11067:9;:7;:9::i;:::-;11099:11;11113:28;:9;8001:6;11113:28;:13;:28;:::i;:::-;11172:17;::::0;::::1;::::0;11099:42;;-1:-1:-1;11172:26:0::1;::::0;11099:42;11172:26:::1;:21;:26;:::i;:::-;11152:17;::::0;::::1;:46:::0;11233:21:::1;::::0;::::1;::::0;:36:::1;::::0;11259:9:::1;11233:36;:25;:36;:::i;:::-;11209:21;::::0;::::1;:60:::0;11297:14:::1;::::0;:29:::1;::::0;11316:9:::1;11297:29;:18;:29;:::i;:::-;11280:14;:46:::0;11353:13:::1;::::0;::::1;::::0;:22:::1;::::0;11371:3;11353:22:::1;:17;:22;:::i;:::-;11337:13;::::0;::::1;:38:::0;11391:32:::1;::::0;;11413:9:::1;11391:32:::0;;;;11401:10:::1;::::0;11391:32:::1;::::0;;;;;::::1;::::0;;::::1;11448:55;11464:10;11476:3;11481:9;11492:10;11448:15;:55::i;:::-;11516:31;11536:10;11516:19;:31::i;:::-;11560:23;11586:7;:16;11594:7;:5;:7::i;:::-;-1:-1:-1::0;;;;;11586:16:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11586:16:0;:32:::1;;::::0;11651:10:::1;::::0;11586:32;;-1:-1:-1;11642:64:0::1;::::0;11663:42:::1;:21;11586:32:::0;11663:42:::1;:25;:42;:::i;:::-;11642:8;:64::i;:::-;11629:10;:77:::0;-1:-1:-1;;;;;10668:1046:0:o;16229:644::-;-1:-1:-1;;;;;16323:13:0;;16279:7;16323:13;;;:7;:13;;;;;16351:21;;16347:67;;16401:1;16394:8;;;;;16347:67;16426:13;16468:1;16454:189;6865:1;16471;:14;16454:189;;;16515:116;16543:73;16612:3;16543:64;16582:21;16604:1;16582:24;;;;;;;;;16543:34;16562:11;16574:1;16562:14;;;;;;;;;16543:6;:11;;16555:1;16543:14;;;;;;;;;;:34;:18;:34;:::i;:::-;:38;:64;:38;:64;:::i;:::-;:68;:73;:68;:73;:::i;:::-;16515:5;;:116;:9;:116;:::i;:::-;16507:124;-1:-1:-1;16487:3:0;;16454:189;;;-1:-1:-1;16778:23:0;;;;16662:203;;16778:23;;;:55;;-1:-1:-1;16805:21:0;;16830:3;16805:28;16778:55;:86;;8120:6;16778:86;;;16836:1;16778:86;16662:97;16751:7;16662:70;16686:45;16706:6;:24;;;16686:15;:19;;:45;;;;:::i;:::-;16662:5;;:70;:23;:70;:::i;:97::-;:115;:203;:115;:203;:::i;:::-;16655:210;;;;16229:644;;;;:::o;6828:38::-;6865:1;6828:38;:::o;15842:379::-;3917:24;:22;:24::i;:::-;15942:10:::1;15910:21;15934:19:::0;;;:7:::1;:19;::::0;;;;15966:9:::1;:7;:9::i;:::-;7088:1;15996:19:::0;::::1;::::0;16018;-1:-1:-1;15988:50:0::1;;;::::0;::::1;;16049:69;16067:10;16079:13;16093:6;:19;;;16115:1;16093:23;16079:38;;;;;;;;;16049:17;:69::i;:::-;16129:19;::::0;::::1;:21:::0;;::::1;;::::0;;;;16166:47:::1;::::0;16181:10:::1;::::0;16166:47:::1;::::0;16129:19:::1;::::0;16166:47:::1;3952:1;15842:379::o:0;7096:118::-;;;;;;;;;;;;;-1:-1:-1;7096:118:0;:::o;7221:117::-;;;;;;;;;7758:80;;;;;;;;;9701:124;9754:26;;:::i;:::-;-1:-1:-1;;;;;9800:12:0;;;;;;:7;:12;;;;;;;9793:24;;;;;;;;9800:17;;9793:24;;9800:17;9793:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9701:124;;;:::o;7441:157::-;;;;;;;;;11722:510;11806:10;11774:21;11798:19;;;:7;:19;;;;;11830:9;:7;:9::i;:::-;11852:13;11868:25;:6;8001;11868:25;:10;:25;:::i;:::-;11852:41;;11920:1;11912:5;:9;11904:50;;;;;-1:-1:-1;;;11904:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11987:19;;;;:31;;12011:6;11987:31;:23;:31;:::i;:::-;11965:19;;;:53;12054:22;;;;:33;;12081:5;12054:33;:26;:33;:::i;:::-;12029:22;;;:58;12116:15;;:26;;12136:5;12116:26;:19;:26;:::i;:::-;12098:15;:44;12153:26;;:10;;:26;;;;;12173:5;;12153:26;;;;12173:5;12153:10;:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12195:29:0;;;;;;;;12206:10;;12195:29;;;;;;;;;;11722:510;;;:::o;4779:169::-;-1:-1:-1;;;;;4865:26:0;;4838:7;4865:26;;;:20;:26;;;;;;;;:75;;4939:1;4865:75;;;-1:-1:-1;;;;;4915:20:0;;;;;;:14;:20;;;;;;:5;4894:16;:42;;;:20;:42;:::i;:::-;4858:82;4779:169;-1:-1:-1;;4779:169:0:o;7046:43::-;7088:1;7046:43;:::o;6998:41::-;7037:2;6998:41;:::o;14725:1109::-;3917:24;:22;:24::i;:::-;14848:10:::1;14816:21;14840:19:::0;;;:7:::1;:19;::::0;;;;14876:9:::1;:13:::0;14872:65:::1;;14906:19;14922:1;14906:7;:19::i;:::-;14949:9;:7;:9::i;:::-;14985:1;14979:3;:7;:27;;;;;6865:1;14990:3;:16;14979:27;14971:71;;;::::0;;-1:-1:-1;;;14971:71:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6915:14:::0;15057:22;::::1;15053:355;;;15104:18;:16;:18::i;:::-;15096:59;;;::::0;;-1:-1:-1;;;15096:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;15198:21:::0;;8348:6:::1;::::0;15178:42:::1;::::0;:15:::1;::::0;:42:::1;:19;:42;:::i;:::-;:67;15170:125;;;;-1:-1:-1::0;;;15170:125:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15053:355;;;15343:6;:18;;;15336:3;:25;;15328:68;;;::::0;;-1:-1:-1;;;15328:68:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8060:2;15428:27;15449:5;15428:6;:11;;15440:3;15428:16;;;;;;;;::::0;;:27:::1;:20;:27;:::i;:::-;:50;;15420:59;;;::::0;::::1;;15509:27;15530:5;15509:6;:11;;15521:3;15509:16;;;;;;:27;15490:6;:11;;15502:3;15490:16;;;;;;;;:46:::0;15565:15:::1;::::0;:26:::1;::::0;15585:5;15565:26:::1;:19;:26;:::i;:::-;15547:15;:44:::0;15602:18:::1;15623:60;15643:10;15655:27;15676:5:::0;15655:11:::1;15667:3:::0;15655:16:::1;::::0;::::1;;;;:27;15623:19;:60::i;:::-;15602:81;;15696:78;15712:10;15724;15736:1;15739:34;15750:10;15770:1;15739:10;:34::i;:::-;15696:15;:78::i;:::-;15792:34;::::0;;;;;::::1;::::0;::::1;::::0;;;;;15803:10:::1;::::0;15792:34:::1;::::0;;;;;;::::1;3952:1;;14725:1109:::0;;:::o;7961:46::-;8001:6;7961:46;:::o;7605:146::-;;;;;;;;;17521:135;17585:22;:20;:22::i;:::-;17618:30;17628:7;:5;:7::i;:::-;17645:1;17618:9;:30::i;:::-;17521:135::o;17344:169::-;17425:48;17445:27;17461:10;17445:15;:27::i;:::-;17425:15;;;:48;:19;:48;:::i;:::-;17407:15;:66;17484:21;:19;:21::i;3457:44::-;3494:7;3457:44;:::o;13974:743::-;3917:24;:22;:24::i;:::-;14081:10:::1;14049:21;14073:19:::0;;;:7:::1;:19;::::0;;;;14109:9:::1;:13:::0;14105:65:::1;;14139:19;14155:1;14139:7;:19::i;:::-;14182:9;:7;:9::i;:::-;6915:14:::0;14212:21;::::1;14204:58;;;::::0;;-1:-1:-1;;;14204:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8060:2;14282:6;:11;;14300:1;14294:3;:7;14282:20;;;;;;;;;:43;14274:81;;;::::0;;-1:-1:-1;;;14274:81:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14381:6;:18;;;14402:1;14381:22;14374:3;:29;14366:73;;;::::0;;-1:-1:-1;;;14366:73:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6977:14:::0;14456:21;::::1;14452:81;;;14519:1;14502:6;:13;;;:18;;14494:27;;;::::0;::::1;;14543:56;14563:10;14575:18;14594:3;14575:23;;;;;;;;;14543:19;:56::i;:::-;;14631:3;14610:6;:18;;:24;;;;14664:1;14645:6;:11;;14657:3;14645:16;;;;;;;;:20:::0;14681:28:::1;::::0;;;;;;;14693:10:::1;::::0;14681:28:::1;::::0;;;;;::::1;::::0;;::::1;3952:1;13974:743:::0;:::o;5860:91::-;1277:12;:10;:12::i;:::-;1267:6;;-1:-1:-1;;;;;1267:6:0;;;:22;;;1259:67;;;;;-1:-1:-1;;;1259:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6873:56;6915:14;6873:56;:::o;8486:25::-;;;;:::o;3736:26::-;;;;;;;;:::o;4527:124::-;-1:-1:-1;;;;;4617:26:0;4593:4;4617:26;;;:20;:26;;;;;;;;;4527:124::o;1134:79::-;1172:7;1199:6;-1:-1:-1;;;;;1199:6:0;1134:79;:::o;10000:120::-;-1:-1:-1;;;;;10089:13:0;;;;;;:7;:13;;;;;;;;;:23;;10082:30;;;;;;;;;;;;;;;;;10053:16;;10082:30;;;10089:23;10082:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10082:30:0;;;;;;;;;;;;;;;;;;;;;;10000:120;;;:::o;4053:466::-;4112:19;;:23;;;;:80;;-1:-1:-1;4139:18:0;;4177:15;;4139:34;;3494:7;4139:34;:22;:34;:::i;:::-;:53;;4112:80;4105:407;;;4209:14;4226:59;4281:3;4226:50;:21;3449:1;4226:50;:25;:50;:::i;:59::-;4351:19;;4209:76;;-1:-1:-1;4319:53:0;;4340:31;;4209:76;;4340:31;:10;:31;:::i;:::-;4319:5;:16;;:53;:20;:53;:::i;:::-;4300:5;:72;4408:18;;:34;;3494:7;4408:34;:22;:34;:::i;:::-;4387:18;:55;4472:19;;4462:38;;;;;;;;;;;;;;;;;;;;;;;;4105:407;;;10363:297;10429:4;10468:7;:5;:7::i;:::-;-1:-1:-1;;;;;10454:21:0;:10;-1:-1:-1;;;;;10454:21:0;;10446:30;;;;;;10489:9;:7;:9::i;:::-;10511:39;10531:10;10543:6;10511:19;:39::i;:::-;-1:-1:-1;;;;;;10591:16:0;;;;;;:7;:16;;;;;:27;;;:39;;10623:6;10591:39;:31;:39;:::i;:::-;-1:-1:-1;;;;;10561:16:0;;;;;;:7;:16;;;;;:27;;:69;-1:-1:-1;10648:4:0;10363:297;;;;:::o;8014:48::-;8060:2;8014:48;:::o;7845:107::-;;;;;;;;;8588:30;;;;:::o;8424:53::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8424:53:0;:::o;8240:52::-;8290:2;8240:52;:::o;16881:455::-;3917:24;:22;:24::i;:::-;-1:-1:-1;;;;;16980:13:0;::::1;16956:21;16980:13:::0;;;:7:::1;:13;::::0;;;;17006:9:::1;:7;:9::i;:::-;17042:13;::::0;::::1;::::0;17028:301:::1;7037:2;17057:1;:16;17028:301;;;17116:13;17130:1;17116:16;;;;;;;;;17099:6;:13;;;:33;17095:223;;17173:40;17195:14;17210:1;17195:17;;;;;;;;::::0;17173::::1;::::0;::::1;::::0;;:40:::1;:21;:40;:::i;:::-;17153:17;::::0;::::1;:60:::0;17252:1:::1;17248:5:::0;::::1;17232:13;::::0;::::1;:21:::0;;;17277:25:::1;::::0;-1:-1:-1;;;;;17277:25:0;::::1;::::0;::::1;::::0;-1:-1:-1;;17277:25:0::1;17095:223;17075:3;;17028:301;;;;3952:1;16881:455:::0;:::o;8361:56::-;;;;;;;;;;13036:930;-1:-1:-1;;;;;13243:16:0;;13138:20;13243:16;;;:7;:16;;;;;13274:21;;13138:20;;13243:16;13270:72;;-1:-1:-1;13325:1:0;;-1:-1:-1;13325:1:0;;-1:-1:-1;13317:13:0;;13270:72;13369:6;:19;;;13354:34;;13412:6;:17;;;13399:30;;13442:17;13462:15;13469:7;13462:6;:15::i;:::-;13493:23;;;;13442:35;;-1:-1:-1;13493:23:0;;13492:24;:55;;;;-1:-1:-1;13520:21:0;;13544:3;-1:-1:-1;13492:55:0;13488:207;;;13576:39;:9;8120:6;13576:39;:13;:39;:::i;:::-;13564:51;-1:-1:-1;13643:40:0;:10;8120:6;13643:40;:14;:40;:::i;:::-;13630:53;;13488:207;13707:19;13729:66;13791:3;13729:57;13743:21;13765:6;:19;;;13743:42;;;;;;;;;13729:9;;:57;:13;:57;:::i;:66::-;13707:88;-1:-1:-1;13806:17:0;13826:26;:9;13707:88;13826:26;:13;:26;:::i;:::-;13806:46;-1:-1:-1;13880:29:0;:12;13897:11;13880:29;:16;:29;:::i;:::-;13865:44;-1:-1:-1;13933:25:0;:10;13948:9;13933:25;:14;:25;:::i;:::-;13920:38;;13036:930;;;;;;;;:::o;8069:57::-;8120:6;8069:57;:::o;4659:112::-;-1:-1:-1;;;;;4743:20:0;4716:7;4743:20;;;:14;:20;;;;;;;4659:112::o;3399:51::-;3449:1;3399:51;:::o;8662:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8662:41:0;;;:::o;5722:27::-;;;-1:-1:-1;;;;;5722:27:0;;:::o;9833:159::-;9930:10;;9881:4;;9930:54;;9980:3;;9930:45;;9945:29;9930:45;:14;:45;:::i;:54::-;9905:21;:79;;9898:86;;9833:159;:::o;8625:30::-;;;;:::o;5959:122::-;1277:12;:10;:12::i;:::-;1267:6;;-1:-1:-1;;;;;1267:6:0;;;:22;;;1259:67;;;;;-1:-1:-1;;;1259:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6050:12:::1;:23:::0;;-1:-1:-1;;;;;;6050:23:0::1;-1:-1:-1::0;;;;;6050:23:0;;;::::1;::::0;;;::::1;::::0;;5959:122::o;8518:27::-;;;;:::o;7345:89::-;;;;;;;;;8552:29;;;;:::o;1803:181::-;1861:7;1893:5;;;1917:6;;;;1909:46;;;;;-1:-1:-1;;;1909:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:1;1803:181;-1:-1:-1;;;1803:181:0:o;2354:280::-;2412:7;2466:6;2462:47;;-1:-1:-1;2496:1:0;2489:8;;2462:47;2533:5;;;2537:1;2533;:5;:1;2557:5;;;;;:10;2549:56;;;;-1:-1:-1;;;2549:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2648:132;2706:7;2733:39;2737:1;2740;2733:39;;;;;;;;;;;;;;;;;:3;:39::i;1998:136::-;2056:7;2083:43;2087:1;2090;2083:43;;;;;;;;;;;;;;;;;:3;:43::i;10128:227::-;-1:-1:-1;;;;;10221:13:0;;10197:7;10221:13;;;:7;:13;;;;;:28;:33;:48;;;;;10265:4;-1:-1:-1;;;;;10258:11:0;:3;-1:-1:-1;;;;;10258:11:0;;;10221:48;10217:91;;;-1:-1:-1;10293:3:0;10286:10;;10217:91;-1:-1:-1;;;;;;;10325:13:0;;;;;;;:7;:13;;;;;:22;;;;;;;;10128:227::o;18707:797::-;-1:-1:-1;;;;;18804:13:0;;18780:21;18804:13;;;:7;:13;;;;;;;18854:15;18830:39;;18804:13;18880:11;;;:14;:36;18948:1;18927:18;;;:22;18987:15;18960:24;;;:42;19031:15;;:40;;8060:2;19031:40;:19;:40;:::i;:::-;19013:15;:58;19082:12;:14;;;;;;-1:-1:-1;;;;;19113:24:0;;;19109:344;;19154:15;;;;:28;;-1:-1:-1;;;;;;19154:28:0;;-1:-1:-1;;;;;19154:28:0;;;;;;;;;;;;;-1:-1:-1;19197:19:0;;;:7;:19;;;;;;;:29;;;:40;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19197:40:0;;;;;;;19258:19;;;:28;;;;;;;;:42;19254:140;;-1:-1:-1;;;;;19329:19:0;;;19321:37;19329:19;;;19321:7;19329:19;;;;;;:28;;;;;;;;;;;19321:37;;;;:55;;:57;;;;;;;19254:140;19410:31;19430:10;19410:19;:31::i;:::-;19485:10;-1:-1:-1;;;;;19468:28:0;19479:4;-1:-1:-1;;;;;19468:28:0;;;;;;;;;;;18707:797;;;:::o;17664:1035::-;17801:7;:5;:7::i;:::-;-1:-1:-1;;;;;17785:34:0;:77;8001:6;17842:3;8173:2;17820:19;;:25;:41;17785:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17889:24:0;;;17885:807;;-1:-1:-1;;;;;17956:19:0;;17930:23;17956:19;;;:7;:19;;;;;18025:32;;;;:47;;18062:9;18025:47;:36;:47;:::i;:::-;17990:32;;;:82;18087:31;18107:10;18087:19;:31::i;:::-;18162:10;18149;18187:494;-1:-1:-1;;;;;18204:16:0;;;;;;:57;;-1:-1:-1;18228:26:0;:33;18224:37;;18204:57;18187:494;;;18287:14;18304:47;18347:3;18304:38;18312:26;18339:1;18312:29;;;;;;;;;;;;;;;;18304:3;:7;;:38;;;;:::i;:47::-;-1:-1:-1;;;;;18397:11:0;;;;;;:7;:11;;;;;:24;;;18287:64;;-1:-1:-1;18397:36:0;;18287:64;18397:36;:28;:36;:::i;:::-;18370:7;:11;18378:2;-1:-1:-1;;;;;18370:11:0;-1:-1:-1;;;;;18370:11:0;;;;;;;;;;;;:24;;:63;;;;18473:67;18496:43;18535:3;18496:34;18504:22;18527:1;18504:25;;;;;;;;;;;;;;;;18496:3;:7;;:34;;;;:::i;:43::-;-1:-1:-1;;;;;18473:11:0;;;;;;:7;:11;;;;;:18;;;;:67;:22;:67;:::i;:::-;-1:-1:-1;;;;;18452:11:0;;;;;;;:7;:11;;;;;;;;;:18;;:88;;;;18564:37;;;;;;;18591:1;18587:5;;;18452:11;;18564:37;;;;;;;;;;;-1:-1:-1;;;;;;18645:11:0;;;;;;;:7;:11;;;;;:20;;;;;;;;;;;;18263:3;18187:494;;;;17885:807;;;17664:1035;;;;:::o;20315:425::-;-1:-1:-1;;;;;20382:18:0;;;;;;:49;;-1:-1:-1;;;;;;20405:26:0;;;;;;:20;:26;;;;;;;;20404:27;20382:49;20378:355;;;-1:-1:-1;;;;;20472:13:0;;20448:21;20472:13;;;:7;:13;;;;;20506:21;;;;20531:7;-1:-1:-1;20506:32:0;;;:82;;-1:-1:-1;20559:16:0;;;:23;20586:2;-1:-1:-1;20559:29:0;20506:82;:145;;;;;20643:8;20609:6;:30;;;:42;;20506:145;20502:220;;;20685:21;20701:4;20685:15;:21::i;:::-;20378:355;;20315:425;:::o;90:107::-;148:7;180:1;175;:6;;:14;;188:1;175:14;;;-1:-1:-1;184:1:0;;90:107;-1:-1:-1;90:107:0:o;19512:186::-;-1:-1:-1;;;;;19613:13:0;;19589:21;19613:13;;;:7;:13;;;;;19659:19;;;;:31;;19683:6;19659:31;:23;:31;:::i;:::-;19637:19;;;;:53;-1:-1:-1;;19512:186:0:o;19894:413::-;-1:-1:-1;;;;;20014:13:0;;19970:7;20014:13;;;:7;:13;;;;;20071:17;;;;19970:7;;20054:35;;20063:6;;20054:8;:35::i;:::-;20040:49;-1:-1:-1;20100:13:0;20116:58;20170:3;20116:49;20136:28;20116:15;:6;20040:49;20116:15;:10;:15;:::i;:58::-;20207:17;;;;20100:74;;-1:-1:-1;20207:26:0;;20229:3;20207:26;:21;:26;:::i;:::-;20187:17;;;:46;20244:30;20262:4;20268:5;20244:17;:30::i;:::-;20294:5;19894:413;-1:-1:-1;;;;;19894:413:0:o;6089:138::-;5819:12;;-1:-1:-1;;;;;5819:12:0;5805:10;:26;5797:35;;;;;;6176:12:::1;::::0;6158:31:::1;::::0;-1:-1:-1;;;;;6176:12:0::1;6158:17;:31::i;:::-;6207:12;6200:19:::0;;-1:-1:-1;;;;;;6200:19:0::1;::::0;;6089:138::o;4956:359::-;3917:24;:22;:24::i;:::-;5056:10:::1;5035:32;::::0;;;:20;:32:::1;::::0;;;;;::::1;;5027:74;;;::::0;;-1:-1:-1;;;5027:74:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5114:14;5131:60;5140:21;5163:27;5179:10;5163:15;:27::i;:::-;5131:8;:60::i;:::-;5246:10;5231:26;::::0;;;:14;:26:::1;::::0;;;;;5114:77;;-1:-1:-1;5231:38:0::1;::::0;5114:77;5231:38:::1;:30;:38;:::i;:::-;5217:10;5202:26;::::0;;;:14;:26:::1;::::0;;;;;:67;;;;5280:27;;5217:10;;5280:27;::::1;;;::::0;5300:6;;5280:27;5202:26;5280:27;5300:6;5217:10;5280:27;::::1;;;;;;;;;;;;;::::0;::::1;;;;557:106:::0;645:10;557:106;:::o;2794:211::-;2880:7;2925:12;2918:5;2910:28;;;;-1:-1:-1;;;2910:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2949:9;2965:1;2961;:5;;;;;;;2794:211;-1:-1:-1;;;;;2794:211:0:o;2148:192::-;2234:7;2270:12;2262:6;;;;2254:29;;;;-1:-1:-1;;;2254:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2306:5:0;;;2148:192::o;5323:353::-;3917:24;:22;:24::i;:::-;-1:-1:-1;;;;;5411:26:0;::::1;;::::0;;;:20;:26:::1;::::0;;;;;::::1;;5410:27;5402:73;;;;-1:-1:-1::0;;;5402:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5488:26:0;::::1;;::::0;;;:20;:26:::1;::::0;;;;;;;:33;;-1:-1:-1;;5488:33:0::1;5517:4;5488:33:::0;;::::1;::::0;;;:5:::1;5555:16:::0;5532:14;:20;;;;;:39;:14:::1;5604:19:::0;:26:::1;::::0;::::1;:23;:26;:::i;:::-;5582:19:::0;:48;5646:22:::1;::::0;-1:-1:-1;;;;;5646:22:0;::::1;::::0;::::1;::::0;;;::::1;5323:353:::0;:::o;211:106::-;269:7;300:1;296;:5;:13;;308:1;296:13;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://44a6ec0dd14a6d9e33eca1c16e7d98f4e3ecb85ae80fe8d9dbd79e5171295364
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,575.26 | 0.0004509 | $1.61 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.