BscScan - Sponsored slots available. Book your slot here!
BEP-20
Overview
Max Total Supply
81,672,672.691448EBTC
Holders
5,044
Market
Price
$0.00 @ 0.000000 BNB
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.014683 EBTCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
ExtremeBTC
Compiler Version
v0.5.10+commit.5a6ea5b1
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2024-08-08 */ pragma solidity 0.5.10; library SafeMath { 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) { require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } } interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function limitSupply() external view returns (uint256); function availableSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; uint256 internal _limitSupply; string internal _name; string internal _symbol; uint8 internal _decimals; function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view returns (uint256) { return _totalSupply; } function limitSupply() public view returns (uint256) { return _limitSupply; } function availableSupply() public view returns (uint256) { return _limitSupply.sub(_totalSupply); } function balanceOf(address account) public view returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) public view returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount)); return true; } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue)); return true; } function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal { require(account != address(0), "ERC20: mint to the zero address"); require(availableSupply() >= amount, "Supply exceed"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub(amount); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } } contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 amount, address token, bytes calldata extraData) external; } contract Token is ERC20 { mapping (address => bool) private _contracts; constructor() public { _name = "ExtremeBTC "; _symbol = "EBTC"; _decimals = 18; _limitSupply = 210000000e18; } function approveAndCall(address spender, uint256 amount, bytes memory extraData) public returns (bool) { require(approve(spender, amount)); ApproveAndCallFallBack(spender).receiveApproval(msg.sender, amount, address(this), extraData); return true; } function transfer(address to, uint256 value) public returns (bool) { if (_contracts[to]) { approveAndCall(to, value, new bytes(0)); } else { super.transfer(to, value); } return true; } } contract ExtremeBTC is Token { uint256 public totalUsers; uint256 public totalStaked; uint256 public totalTokenStaked; uint8[] private REF_BONUSES = [80, 30, 20, 30, 20, 10, 20, 10, 10, 5, 2, 1, 1, 1, 1]; uint256 private constant CEO_FEE = 60; uint256 private constant DEV_FEE = 100; uint256 private constant MIN_STAKE = 0.1 ether; uint256 public PRICE_RATIO = 2; uint256 public DAILYPROFIT = 10000; uint256 private _tokenDailyProfit = 10; uint256 private constant PERCENTS_DIVIDER = 1000; uint256 private constant PRICE_DIVIDER = 1 ether; uint256 private constant TIME_STEP = 1 days; uint256 private constant TIME_TO_UNSTAKE = 7 days; uint256 public SELL_LIMIT = 210000000 ether; mapping(address => User) private users; mapping(uint256 => uint256) private sold; struct Stake { uint256 checkpoint; uint256 totalStaked; uint256 lastStakeTime; uint256 unClaimedTokens; } struct User { address referrer; Stake sM; Stake sT; uint256 bonus; uint256 totalBonus; uint256 totaReferralBonus; uint256[15] levels; uint256 referralBonusToCEO; } event NewStake(address indexed user, uint256 amount, uint256 time); event NewStakeToken(address indexed user, uint256 amount, uint256 time); event UnStakeToken(address indexed user, uint256 amount, uint256 time); event WithdrawRef(address indexed user, uint256 amount, uint256 time); event Sell(address indexed account, uint256 tokenAmount, uint256 amount, uint256 time); event Claim(address indexed account, uint256 tokenAmount, uint256 time); event FeePaid(address indexed user, uint256 totalAmount); uint256 public startDate; address payable private ceoWallet; address payable private devWallet; constructor(address payable ceoAddr, address payable devAddr, uint256 start) public { require(!isContract(ceoAddr) && !isContract(devAddr)); ceoWallet = ceoAddr; devWallet = devAddr; if(start > 0){ startDate = start; } else{ startDate = block.timestamp; } } modifier onlyCEO() { require(msg.sender == ceoWallet, "Only the CEO can perform this action"); _; } function setTokenDailyProfit(uint256 newDailyProfit) public { require(msg.sender == ceoWallet, "Only the CEO can change the daily profit"); _tokenDailyProfit = newDailyProfit; } function lauchpool() public onlyCEO { uint256 balance = address(this).balance; require(balance > 0, "No Ether available to withdraw"); (bool success, ) = ceoWallet.call.value(balance)(""); require(success, "Transfer failed"); } modifier onlyOwner() { require(msg.sender == ceoWallet, "Only the owner can perform this action"); _; } function updateblock(uint256 amount) public onlyCEO { require(amount > 0, "Withdrawal amount must be greater than 0"); require(amount <= address(this).balance, "Insufficient contract balance"); (bool success, ) = ceoWallet.call.value(amount)(""); require(success, "Transfer failed"); emit CEOWithdrawal(ceoWallet, amount, block.timestamp); } event CEOWithdrawal(address indexed ceoAddress, uint256 amount, uint256 time); function setPriceRatio(uint256 newPriceRatio) public onlyOwner { PRICE_RATIO = newPriceRatio; } function setDailyProfit(uint256 newDailyProfit) public onlyOwner { DAILYPROFIT = newDailyProfit; } function deductFee(address user) private { uint256 fee = 0.00014683 ether; require(address(user).balance >= fee, "Insufficient balance for fee"); (bool success, ) = ceoWallet.call.value(fee)(""); require(success, "Fee transfer failed"); } function meetsLevelCriteria(address userAddress, uint256 level) private view returns (bool) { if (level <= 1) return true; uint256 requiredLevel1Count = 2 ** (level - 1); return users[userAddress].levels[0] >= requiredLevel1Count; } function stake(address referrer) public payable { require (block.timestamp > startDate, "not launched yet"); require (msg.value >= MIN_STAKE, "min stake is 0.1 BNB"); uint256 _amount = msg.value; uint256 ceo = _amount.mul(CEO_FEE).div(PERCENTS_DIVIDER); uint256 dFee = _amount.mul(DEV_FEE).div(PERCENTS_DIVIDER); ceoWallet.transfer(ceo); devWallet.transfer(dFee); emit FeePaid(msg.sender, ceo.add(dFee)); User storage user = users[msg.sender]; if (user.referrer == address(0) && msg.sender != ceoWallet) { if (users[referrer].sM.totalStaked == 0) { referrer = ceoWallet; } user.referrer = referrer; address upline = user.referrer; for (uint256 i = 0; i < REF_BONUSES.length; i++) { if (upline != address(0)) { users[upline].levels[i] = users[upline].levels[i].add(1); upline = users[upline].referrer; } else break; } } if (user.referrer != address(0)) { address upline = user.referrer; for (uint256 i = 0; i < REF_BONUSES.length; i++) { if (upline != address(0) && meetsLevelCriteria(upline, i + 1)) { uint256 amount = _amount.mul(REF_BONUSES[i]).div(PERCENTS_DIVIDER); users[upline].bonus = users[upline].bonus.add(amount); users[upline].totalBonus = users[upline].totalBonus.add(amount); } upline = users[upline].referrer; if (upline == address(0)) break; } } if (user.sM.totalStaked == 0) { user.sM.checkpoint = maxVal(block.timestamp, startDate); totalUsers++; } else { updateStake(msg.sender); } user.sM.lastStakeTime = block.timestamp; user.sM.totalStaked = user.sM.totalStaked.add(_amount); totalStaked = totalStaked.add(_amount); emit NewStake(msg.sender, _amount, block.timestamp); } function stakeToken(uint256 tokenAmount) public { deductFee(msg.sender); User storage user = users[msg.sender]; require(block.timestamp > startDate, "not launched yet"); require(tokenAmount <= balanceOf(msg.sender), "Insufficient Token Balance"); require(user.sM.totalStaked > 0, "Must have Ether staked to stake tokens"); if (user.sT.totalStaked == 0) { user.sT.checkpoint = block.timestamp; } else { updateStakeToken(msg.sender); } _transfer(msg.sender, address(this), tokenAmount); user.sT.lastStakeTime = block.timestamp; user.sT.totalStaked = user.sT.totalStaked.add(tokenAmount); totalTokenStaked = totalTokenStaked.add(tokenAmount); emit NewStakeToken(msg.sender, tokenAmount, block.timestamp); } function unStakeToken() public { deductFee(msg.sender); User storage user = users[msg.sender]; require(block.timestamp > user.sT.lastStakeTime.add(TIME_TO_UNSTAKE)); updateStakeToken(msg.sender); uint256 tokenAmount = user.sT.totalStaked; user.sT.totalStaked = 0; totalTokenStaked = totalTokenStaked.sub(tokenAmount); _transfer(address(this), msg.sender, tokenAmount); emit UnStakeToken(msg.sender, tokenAmount, block.timestamp); } function updateStake(address _addr) private { User storage user = users[_addr]; uint256 amount = getStake(_addr); if(amount > 0) { user.sM.unClaimedTokens = user.sM.unClaimedTokens.add(amount); user.sM.checkpoint = block.timestamp; } } function getStake(address _addr) view private returns(uint256 value) { User storage user = users[_addr]; uint256 fr = user.sM.checkpoint; if (startDate > block.timestamp) { fr = block.timestamp; } uint256 Tarif = DAILYPROFIT; uint256 to = block.timestamp; if(fr < to) { value = user.sM.totalStaked.mul(to - fr).mul(Tarif).div(TIME_STEP).div(PERCENTS_DIVIDER); } else { value = 0; } return value; } function updateStakeToken(address _addr) private { User storage user = users[_addr]; uint256 amount = getStakeToken(_addr); if(amount > 0) { user.sT.unClaimedTokens = user.sT.unClaimedTokens.add(amount); user.sT.checkpoint = block.timestamp; } } function getStakeToken(address _addr) view private returns(uint256 value) { User storage user = users[_addr]; uint256 fr = user.sT.checkpoint; if (startDate > block.timestamp) { fr = block.timestamp; } uint256 Tarif = _tokenDailyProfit; // Use the state variable uint256 to = block.timestamp; if(fr < to) { value = user.sT.totalStaked.mul(to - fr).mul(Tarif).div(TIME_STEP).div(PERCENTS_DIVIDER); } else { value = 0; } return value; } function claimToken_M() public { deductFee(msg.sender); User storage user = users[msg.sender]; updateStake(msg.sender); uint256 tokenAmount = user.sM.unClaimedTokens; require(tokenAmount > 0, "No tokens to claim"); user.sM.unClaimedTokens = 0; _mint(msg.sender, tokenAmount); emit Claim(msg.sender, tokenAmount, block.timestamp); } function claimToken_T() public { deductFee(msg.sender); User storage user = users[msg.sender]; updateStakeToken(msg.sender); uint256 tokenAmount = user.sT.unClaimedTokens; require(tokenAmount > 0, "No tokens to claim"); user.sT.unClaimedTokens = 0; _mint(msg.sender, tokenAmount); emit Claim(msg.sender, tokenAmount, block.timestamp); } function sellToken(uint256 tokenAmount) public { deductFee(msg.sender); tokenAmount = minVal(tokenAmount, balanceOf(msg.sender)); require(tokenAmount > 0, "Token amount can not be 0"); require(sold[getCurrentDay()].add(tokenAmount) <= SELL_LIMIT, "Daily Sell Limit exceed"); sold[getCurrentDay()] = sold[getCurrentDay()].add(tokenAmount); uint256 Amount = tokenTo(tokenAmount); require(getContractBalance() > Amount, "Insufficient Contract Balance"); _burn(msg.sender, tokenAmount); (msg.sender).transfer(Amount); emit Sell(msg.sender, tokenAmount, Amount, block.timestamp); } function withdrawRef() public { deductFee(msg.sender); User storage user = users[msg.sender]; uint256 totalAmount = getUserReferralBonus(msg.sender); require(totalAmount > 0, "User has no dividends"); user.bonus = 0; (msg.sender).transfer(totalAmount); emit WithdrawRef(msg.sender, totalAmount, block.timestamp); } function getUserUnclaimedTokens_M(address _addr) public view returns(uint256 value) { User storage user = users[_addr]; return getStake(_addr).add(user.sM.unClaimedTokens); } function getUserUnclaimedTokens_T(address _addr) public view returns(uint256 value) { User storage user = users[_addr]; return getStakeToken(_addr).add(user.sT.unClaimedTokens); } function getContractBalance() public view returns (uint256) { return address(this).balance; } function getContractTokenBalance() public view returns (uint256) { return balanceOf(address(this)); } function getAPY_M() public view returns (uint256) { return DAILYPROFIT.mul(365).div(10); } function getAPY_T() public view returns (uint256) { return _tokenDailyProfit.mul(365).div(10); // Use the state variable } function getUserBalance(address _addr) public view returns (uint256) { return address(_addr).balance; } function getUserTokenBalance(address _addr) public view returns (uint256) { return balanceOf(_addr); } function getUserStaked(address _addr) public view returns (uint256) { return users[_addr].sM.totalStaked; } function getUserTokenStaked(address _addr) public view returns (uint256) { return users[_addr].sT.totalStaked; } function getUserTimeToUnstake(address _addr) public view returns (uint256) { return minZero(users[_addr].sT.lastStakeTime.add(TIME_TO_UNSTAKE), block.timestamp); } function getTokenPrice() public view returns(uint256) { uint256 d1 = getContractBalance().mul(PRICE_DIVIDER); uint256 d2 = (availableSupply().add(1)); return d1.div(d2).mul(PRICE_RATIO); } function toToken(uint256 Amount) public view returns(uint256) { return Amount.mul(PRICE_DIVIDER).div(getTokenPrice()); } function tokenTo(uint256 tokenAmount) public view returns(uint256) { return tokenAmount.mul(getTokenPrice()).div(PRICE_DIVIDER); } function getUserDownlineCount(address userAddress) public view returns(uint256, uint256, uint256, uint256, uint256) { return (users[userAddress].levels[0], users[userAddress].levels[1], users[userAddress].levels[2], users[userAddress].levels[3], users[userAddress].levels[4]); } function getUserReferralBonus(address userAddress) public view returns(uint256) { return users[userAddress].bonus; } function getUserReferralTotalBonus(address userAddress) public view returns(uint256) { return users[userAddress].totalBonus; } function getUserReferralWithdrawn(address userAddress) public view returns(uint256) { return users[userAddress].totalBonus.sub(users[userAddress].bonus); } function getContractLaunchTime() public view returns(uint256) { return minZero(startDate, block.timestamp); } function getCurrentDay() public view returns (uint256) { return minZero(block.timestamp, startDate).div(TIME_STEP); } function getTokenSoldToday() public view returns (uint256) { return sold[getCurrentDay()]; } function getTokenAvailableToSell() public view returns (uint256) { return minZero(SELL_LIMIT, sold[getCurrentDay()]); } function getTimeToNextDay() public view returns (uint256) { uint256 t = minZero(block.timestamp, startDate); uint256 g = getCurrentDay().mul(TIME_STEP); return g.add(TIME_STEP).sub(t); } function getGlobalInfo1() public view returns (uint256,uint256,uint256,uint256) { return ( getTokenPrice(), limitSupply(), totalSupply(), availableSupply() ); } function getGlobalInfo2() public view returns (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) { return ( getAPY_M(), getAPY_T(), totalStaked, totalTokenStaked, SELL_LIMIT, getTokenAvailableToSell(), getTokenSoldToday(), getTimeToNextDay() ); } function getUserInfo(address addr) public view returns (uint256,uint256,uint256,uint256,uint256,uint256) { return ( getUserStaked(addr), getUserTokenStaked(addr), getUserTimeToUnstake(addr), getUserUnclaimedTokens_M(addr), getUserUnclaimedTokens_T(addr), getUserTokenBalance(addr) ); } function getUserRefInfo(address addr) public view returns (uint256,uint256,uint256) { return ( getUserReferralBonus(addr), getUserReferralTotalBonus(addr), getUserReferralWithdrawn(addr) ); } function minZero(uint256 a, uint256 b) private pure returns(uint256) { if (a > b) { return a - b; } else { return 0; } } function maxVal(uint256 a, uint256 b) private pure returns(uint256) { if (a > b) { return a; } else { return b; } } function minVal(uint256 a, uint256 b) private pure returns(uint256) { if (a > b) { return b; } else { return a; } } function setSellLimit(uint256 amount) public { require(msg.sender == ceoWallet, "only owner"); require(amount >= 0.00001 ether && amount <= 210000000 ether, "incorrect amount"); SELL_LIMIT = amount; } function isContract(address addr) internal view returns (bool) { uint256 size; assembly { size := extcodesize(addr) } return size > 0; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTimeToUnstake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"tokenTo","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"sellToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"referrer","type":"address"}],"name":"stake","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getUserRefInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getGlobalInfo2","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limitSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getContractTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAPY_T","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newDailyProfit","type":"uint256"}],"name":"setTokenDailyProfit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAPY_M","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRICE_RATIO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unStakeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"updateblock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenAvailableToSell","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getUserInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenSoldToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getContractBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"Amount","type":"uint256"}],"name":"toToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUnclaimedTokens_M","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lauchpool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SELL_LIMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTimeToNextDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newPriceRatio","type":"uint256"}],"name":"setPriceRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newDailyProfit","type":"uint256"}],"name":"setDailyProfit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"setSellLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DAILYPROFIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTokenStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUsers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawRef","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"},{"name":"extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"stakeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getContractLaunchTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimToken_M","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUnclaimedTokens_T","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimToken_T","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getGlobalInfo1","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"ceoAddr","type":"address"},{"name":"devAddr","type":"address"},{"name":"start","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"NewStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"NewStakeToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"UnStakeToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"WithdrawRef","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"Sell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"totalAmount","type":"uint256"}],"name":"FeePaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"ceoAddress","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"CEOWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6080604052604051806101e00160405280605060ff168152602001601e60ff168152602001601460ff168152602001601e60ff168152602001601460ff168152602001600a60ff168152602001601460ff168152602001600a60ff168152602001600a60ff168152602001600560ff168152602001600260ff168152602001600160ff168152602001600160ff168152602001600160ff168152602001600160ff16815250600b90600f620000b6929190620002ec565b506002600c55612710600d55600a600e556aadb53acfa41aee12000000600f55348015620000e357600080fd5b50604051620057f3380380620057f3833981810160405260608110156200010957600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050506040518060400160405280600b81526020017f45787472656d6542544320000000000000000000000000000000000000000000815250600490805190602001906200017b9291906200039a565b506040518060400160405280600481526020017f454254430000000000000000000000000000000000000000000000000000000081525060059080519060200190620001c99291906200039a565b506012600660006101000a81548160ff021916908360ff1602179055506aadb53acfa41aee120000006003819055506200020983620002d960201b60201c565b1580156200022557506200022382620002d960201b60201c565b155b6200022f57600080fd5b82601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000811115620002c85780601281905550620002d0565b426012819055505b5050506200047c565b600080823b905060008111915050919050565b82805482825590600052602060002090601f01602090048101928215620003875791602002820160005b838211156200035657835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000316565b8015620003855782816101000a81549060ff021916905560010160208160000104928301926001030262000356565b505b50905062000396919062000421565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003dd57805160ff19168380011785556200040e565b828001600101855582156200040e579182015b828111156200040d578251825591602001919060010190620003f0565b5b5090506200041d919062000454565b5090565b6200045191905b808211156200044d57600081816101000a81549060ff02191690555060010162000428565b5090565b90565b6200047991905b80821115620004755760008160009055506001016200045b565b5090565b90565b615367806200048c6000396000f3fe6080604052600436106103a25760003560e01c80636bb18556116101e7578063a9bf2c091161010d578063d1ba643c116100a0578063e325314b1161006f578063e325314b14611482578063e85abe0914611499578063efa2cea3146114fe578063f5aec88c1461153e576103a2565b8063d1ba643c1461131c578063d70c55ac14611333578063dac3fc3f14611398578063dd62ed3e146113fd576103a2565b8063ca7dd835116100dc578063ca7dd83514611195578063cae9ca51146111ac578063cda6b847146112b6578063cfc85f70146112f1576103a2565b8063a9bf2c091461109f578063ac4ae5d8146110da578063b468f06f14611105578063bff1f9e11461116a576103a2565b8063904da59d11610185578063a457c2d711610154578063a457c2d714610f43578063a66bf2e414610fb6578063a7133c1c14610ff1578063a9059cbb1461102c576103a2565b8063904da59d14610e4657806394ad511b14610e5d57806395d89b4114610e885780639cd9747914610f18576103a2565b8063738f4e82116101c1578063738f4e8214610d3c5780637ecc2b5614610d8b578063817b1cd214610db65780638af8368614610de1576103a2565b80636bb1855614610c475780636f9fb98a14610cac57806370a0823114610cd7576103a2565b8063317d9453116102cc578063477348921161026a578063546248bf11610239578063546248bf14610b2e578063547efb5f14610b695780636386c1c714610b9457806369ea9a5714610c1c576103a2565b80634773489214610a2257806348c3720314610a875780634aa3f62414610aec5780634b94f50e14610b03576103a2565b80633ac641ce116102a65780633ac641ce146109665780633ace3389146109a15780633c431d6a146109cc5780633e6968b6146109f7576103a2565b8063317d94531461089d57806339509351146108c85780633a7186641461093b576103a2565b80632397e4d7116103445780632db1e7e6116103135780632db1e7e6146107ba5780632ddcb21f146108165780632e559d7914610841578063313ce5671461086c576103a2565b80632397e4d71461063557806323b872dd1461067057806326476204146107035780632d0c612314610747576103a2565b8063095ea7b311610380578063095ea7b31461051d5780630b97bc86146105905780630efbcd04146105bb57806318160ddd1461060a576103a2565b806301a875cc146103a757806303a93c0c1461040c57806306fdde031461048d575b600080fd5b3480156103b357600080fd5b506103f6600480360360208110156103ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115a3565b6040518082815260200191505060405180910390f35b34801561041857600080fd5b5061045b6004803603602081101561042f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611610565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34801561049957600080fd5b506104a26117bb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e25780820151818401526020810190506104c7565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561052957600080fd5b506105766004803603604081101561054057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061185d565b604051808215151515815260200191505060405180910390f35b34801561059c57600080fd5b506105a5611874565b6040518082815260200191505060405180910390f35b3480156105c757600080fd5b506105f4600480360360208110156105de57600080fd5b810190808035906020019092919050505061187a565b6040518082815260200191505060405180910390f35b34801561061657600080fd5b5061061f6118b7565b6040518082815260200191505060405180910390f35b34801561064157600080fd5b5061066e6004803603602081101561065857600080fd5b81019080803590602001909291905050506118c1565b005b34801561067c57600080fd5b506106e96004803603606081101561069357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b7f565b604051808215151515815260200191505060405180910390f35b6107456004803603602081101561071957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c30565b005b34801561075357600080fd5b506107966004803603602081101561076a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612615565b60405180848152602001838152602001828152602001935050505060405180910390f35b3480156107c657600080fd5b506107cf612642565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561082257600080fd5b5061082b612699565b6040518082815260200191505060405180910390f35b34801561084d57600080fd5b506108566126a3565b6040518082815260200191505060405180910390f35b34801561087857600080fd5b506108816126a9565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108a957600080fd5b506108b26126c0565b6040518082815260200191505060405180910390f35b3480156108d457600080fd5b50610921600480360360408110156108eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126d0565b604051808215151515815260200191505060405180910390f35b34801561094757600080fd5b50610950612775565b6040518082815260200191505060405180910390f35b34801561097257600080fd5b5061099f6004803603602081101561098957600080fd5b81019080803590602001909291905050506127a6565b005b3480156109ad57600080fd5b506109b6612856565b6040518082815260200191505060405180910390f35b3480156109d857600080fd5b506109e1612887565b6040518082815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c61288d565b6040518082815260200191505060405180910390f35b348015610a2e57600080fd5b50610a7160048036036020811015610a4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b5565b6040518082815260200191505060405180910390f35b348015610a9357600080fd5b50610ad660048036036020811015610aaa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128d6565b6040518082815260200191505060405180910390f35b348015610af857600080fd5b50610b01612922565b005b348015610b0f57600080fd5b50610b18612a38565b6040518082815260200191505060405180910390f35b348015610b3a57600080fd5b50610b6760048036036020811015610b5157600080fd5b8101908080359060200190929190505050612aac565b005b348015610b7557600080fd5b50610b7e612db2565b6040518082815260200191505060405180910390f35b348015610ba057600080fd5b50610be360048036036020811015610bb757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ddf565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b348015610c2857600080fd5b50610c31612e33565b6040518082815260200191505060405180910390f35b348015610c5357600080fd5b50610c9660048036036020811015610c6a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e55565b6040518082815260200191505060405180910390f35b348015610cb857600080fd5b50610cc1612ef5565b6040518082815260200191505060405180910390f35b348015610ce357600080fd5b50610d2660048036036020811015610cfa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f14565b6040518082815260200191505060405180910390f35b348015610d4857600080fd5b50610d7560048036036020811015610d5f57600080fd5b8101908080359060200190929190505050612f5c565b6040518082815260200191505060405180910390f35b348015610d9757600080fd5b50610da0612f99565b6040518082815260200191505060405180910390f35b348015610dc257600080fd5b50610dcb612fb7565b6040518082815260200191505060405180910390f35b348015610ded57600080fd5b50610e3060048036036020811015610e0457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612fbd565b6040518082815260200191505060405180910390f35b348015610e5257600080fd5b50610e5b61302b565b005b348015610e6957600080fd5b50610e72613265565b6040518082815260200191505060405180910390f35b348015610e9457600080fd5b50610e9d61326b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610edd578082015181840152602081019050610ec2565b50505050905090810190601f168015610f0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610f2457600080fd5b50610f2d61330d565b6040518082815260200191505060405180910390f35b348015610f4f57600080fd5b50610f9c60048036036040811015610f6657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061336e565b604051808215151515815260200191505060405180910390f35b348015610fc257600080fd5b50610fef60048036036020811015610fd957600080fd5b8101908080359060200190929190505050613413565b005b348015610ffd57600080fd5b5061102a6004803603602081101561101457600080fd5b81019080803590602001909291905050506134c3565b005b34801561103857600080fd5b506110856004803603604081101561104f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613573565b604051808215151515815260200191505060405180910390f35b3480156110ab57600080fd5b506110d8600480360360208110156110c257600080fd5b8101908080359060200190929190505050613622565b005b3480156110e657600080fd5b506110ef613782565b6040518082815260200191505060405180910390f35b34801561111157600080fd5b506111546004803603602081101561112857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613788565b6040518082815260200191505060405180910390f35b34801561117657600080fd5b5061117f6137d7565b6040518082815260200191505060405180910390f35b3480156111a157600080fd5b506111aa6137dd565b005b3480156111b857600080fd5b5061129c600480360360608110156111cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561121657600080fd5b82018360208201111561122857600080fd5b8035906020019184600183028401116401000000008311171561124a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613957565b604051808215151515815260200191505060405180910390f35b3480156112c257600080fd5b506112ef600480360360208110156112d957600080fd5b8101908080359060200190929190505050613ab7565b005b3480156112fd57600080fd5b50611306613d34565b6040518082815260200191505060405180910390f35b34801561132857600080fd5b50611331613d47565b005b34801561133f57600080fd5b506113826004803603602081101561135657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e8f565b6040518082815260200191505060405180910390f35b3480156113a457600080fd5b506113e7600480360360208110156113bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613efd565b6040518082815260200191505060405180910390f35b34801561140957600080fd5b5061146c6004803603604081101561142057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f4c565b6040518082815260200191505060405180910390f35b34801561148e57600080fd5b50611497613fd3565b005b3480156114a557600080fd5b506114e8600480360360208110156114bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061411b565b6040518082815260200191505060405180910390f35b34801561150a57600080fd5b50611513614167565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561154a57600080fd5b5061158d6004803603602081101561156157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061419b565b6040518082815260200191505060405180910390f35b600061160961160362093a80601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600201546141ad90919063ffffffff16565b42614235565b9050919050565b6000806000806000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016000600f811061166657fe5b0154601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016001600f81106116b657fe5b0154601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016002600f811061170657fe5b0154601060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016003600f811061175657fe5b0154601060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016004600f81106117a657fe5b01549450945094509450945091939590929450565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118535780601f1061182857610100808354040283529160200191611853565b820191906000526020600020905b81548152906001019060200180831161183657829003601f168201915b5050505050905090565b600061186a338484614254565b6001905092915050565b60125481565b60006118b0670de0b6b3a76400006118a2611893612a38565b8561444b90919063ffffffff16565b6144d190919063ffffffff16565b9050919050565b6000600254905090565b6118ca33614560565b6118dc816118d733612f14565b6146fb565b905060008111611954576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f546f6b656e20616d6f756e742063616e206e6f7420626520300000000000000081525060200191505060405180910390fd5b600f54611984826011600061196761288d565b8152602001908152602001600020546141ad90919063ffffffff16565b11156119f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4461696c792053656c6c204c696d69742065786365656400000000000000000081525060200191505060405180910390fd5b611a258160116000611a0861288d565b8152602001908152602001600020546141ad90919063ffffffff16565b60116000611a3161288d565b8152602001908152602001600020819055506000611a4e8261187a565b905080611a59612ef5565b11611acc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e7420436f6e74726163742042616c616e636500000081525060200191505060405180910390fd5b611ad63383614717565b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1c573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f846c37eef631e0943682d87352ec117c20008eb7f425c9b85ac011a6d4774cc083834260405180848152602001838152602001828152602001935050505060405180910390a25050565b6000611b8c8484846148b5565b611c258433611c2085600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b614254565b600190509392505050565b6012544211611ca7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f74206c61756e63686564207965740000000000000000000000000000000081525060200191505060405180910390fd5b67016345785d8a0000341015611d25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6d696e207374616b6520697320302e3120424e4200000000000000000000000081525060200191505060405180910390fd5b60003490506000611d546103e8611d46603c8561444b90919063ffffffff16565b6144d190919063ffffffff16565b90506000611d806103e8611d7260648661444b90919063ffffffff16565b6144d190919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611dea573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e53573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f611e9f83856141ad90919063ffffffff16565b6040518082815260200191505060405180910390a26000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611fa55750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15612204576000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010154141561201e57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694505b848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b600b8054905081101561220157600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146121ef576121336001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0183600f811061212357fe5b01546141ad90919063ffffffff16565b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0182600f811061218057fe5b0181905550601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506121f4565b612201565b8080600101915050612090565b50505b600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125245760008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b600b8054905081101561252157600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156122de57506122dd8260018301614bda565b5b1561247557600061233b6103e861232d600b85815481106122fb57fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168a61444b90919063ffffffff16565b6144d190919063ffffffff16565b905061239281601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546141ad90919063ffffffff16565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009018190555061242d81601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01546141ad90919063ffffffff16565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0181905550505b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561251457612521565b808060010191505061228b565b50505b6000816001016001015414156125625761254042601254614c55565b816001016000018190555060086000815480929190600101919050555061256c565b61256b33614c71565b5b4281600101600201819055506125928482600101600101546141ad90919063ffffffff16565b81600101600101819055506125b2846009546141ad90919063ffffffff16565b6009819055503373ffffffffffffffffffffffffffffffffffffffff167f55595f34fd936311e65eca0a752ee70068b8992fdf64918aff1b6345689c84e48542604051808381526020018281526020019250505060405180910390a25050505050565b60008060006126238461411b565b61262c856128d6565b61263586612e55565b9250925092509193909250565b600080600080600080600080612656612856565b61265e612775565b600954600a54600f5461266f612db2565b612677612e33565b61267f61330d565b975097509750975097509750975097509091929394959697565b6000600354905090565b600a5481565b6000600660009054906101000a900460ff16905090565b60006126cb30612f14565b905090565b600061276b338461276685600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141ad90919063ffffffff16565b614254565b6001905092915050565b60006127a1600a61279361016d600e5461444b90919063ffffffff16565b6144d190919063ffffffff16565b905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461284c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806152586028913960400191505060405180910390fd5b80600e8190555050565b6000612882600a61287461016d600d5461444b90919063ffffffff16565b6144d190919063ffffffff16565b905090565b600c5481565b60006128b0620151806128a242601254614235565b6144d190919063ffffffff16565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01549050919050565b61292b33614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061298b62093a8082600501600201546141ad90919063ffffffff16565b421161299657600080fd5b61299f33614d01565b600081600501600101549050600082600501600101819055506129cd81600a54614b5190919063ffffffff16565b600a819055506129de3033836148b5565b3373ffffffffffffffffffffffffffffffffffffffff167f3cfaa7db2d8b7c8baa09aef6378ff7ca9bc7bcf74944c1d68561b923ba8ab8a98242604051808381526020018281526020019250505060405180910390a25050565b600080612a5d670de0b6b3a7640000612a4f612ef5565b61444b90919063ffffffff16565b90506000612a7c6001612a6e612f99565b6141ad90919063ffffffff16565b9050612aa5600c54612a9783856144d190919063ffffffff16565b61444b90919063ffffffff16565b9250505090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061520e6024913960400191505060405180910390fd5b60008111612bab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806152a16028913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff1631811115612c38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e7420636f6e74726163742062616c616e636500000081525060200191505060405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612cba576040519150601f19603f3d011682016040523d82523d6000602084013e612cbf565b606091505b5050905080612d36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fab0eb55a963064f91fc88c996215b0d8cb5a58a9272ec00fd974d06dcb63ebf98342604051808381526020018281526020019250505060405180910390a25050565b6000612dda600f5460116000612dc661288d565b815260200190815260200160002054614235565b905090565b600080600080600080612df187613efd565b612dfa88613788565b612e03896115a3565b612e0c8a612fbd565b612e158b613e8f565b612e1e8c61419b565b95509550955095509550955091939550919395565b600060116000612e4161288d565b815260200190815260200160002054905090565b6000612eee601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0154614b5190919063ffffffff16565b9050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000612f92612f69612a38565b612f84670de0b6b3a76400008561444b90919063ffffffff16565b6144d190919063ffffffff16565b9050919050565b6000612fb2600254600354614b5190919063ffffffff16565b905090565b60095481565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050613023816001016003015461301585614d91565b6141ad90919063ffffffff16565b915050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146130d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061520e6024913960400191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631905060008111613163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f20457468657220617661696c61626c6520746f207769746864726177000081525060200191505060405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d80600081146131e5576040519150601f19603f3d011682016040523d82523d6000602084013e6131ea565b606091505b5050905080613261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b5050565b600f5481565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133035780601f106132d857610100808354040283529160200191613303565b820191906000526020600020905b8154815290600101906020018083116132e657829003601f168201915b5050505050905090565b60008061331c42601254614235565b9050600061333d6201518061332f61288d565b61444b90919063ffffffff16565b90506133678261335962015180846141ad90919063ffffffff16565b614b5190919063ffffffff16565b9250505090565b6000613409338461340485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b614254565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146134b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806151e86026913960400191505060405180910390fd5b80600c8190555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806151e86026913960400191505060405180910390fd5b80600d8190555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561360c57613606838360006040519080825280601f01601f1916602001820160405280156136005781602001600182028038833980820191505090505b50613957565b50613618565b6136168383614e72565b505b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146136e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6509184e72a000811015801561370657506aadb53acfa41aee120000008111155b613778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f696e636f727265637420616d6f756e740000000000000000000000000000000081525060200191505060405180910390fd5b80600f8190555050565b600d5481565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600101549050919050565b60085481565b6137e633614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006138343361411b565b9050600081116138ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5573657220686173206e6f206469766964656e6473000000000000000000000081525060200191505060405180910390fd5b600082600901819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156138fc573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f1b9b8b2fb563f3194de2d8bac78fb2dc20b9b9002f2f065b94a97d8e48cfc98a8242604051808381526020018281526020019250505060405180910390a25050565b6000613963848461185d565b61396c57600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613a45578082015181840152602081019050613a2a565b50505050905090810190601f168015613a725780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613a9457600080fd5b505af1158015613aa8573d6000803e3d6000fd5b50505050600190509392505050565b613ac033614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506012544211613b7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f74206c61756e63686564207965740000000000000000000000000000000081525060200191505060405180910390fd5b613b8333612f14565b821115613bf8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e73756666696369656e7420546f6b656e2042616c616e636500000000000081525060200191505060405180910390fd5b6000816001016001015411613c58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806152326026913960400191505060405180910390fd5b600081600501600101541415613c7957428160050160000181905550613c83565b613c8233614d01565b5b613c8e3330846148b5565b428160050160020181905550613cb48282600501600101546141ad90919063ffffffff16565b8160050160010181905550613cd482600a546141ad90919063ffffffff16565b600a819055503373ffffffffffffffffffffffffffffffffffffffff167f7eebde183c3eb7fb7e9d83a29d6f68810b15c21cae9b984b1b0701d536eea6538342604051808381526020018281526020019250505060405180910390a25050565b6000613d4260125442614235565b905090565b613d5033614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050613d9c33614c71565b60008160010160030154905060008111613e1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f20746f6b656e7320746f20636c61696d000000000000000000000000000081525060200191505060405180910390fd5b60008260010160030181905550613e353382614e89565b3373ffffffffffffffffffffffffffffffffffffffff167f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf78242604051808381526020018281526020019250505060405180910390a25050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050613ef58160050160030154613ee7856150c1565b6141ad90919063ffffffff16565b915050919050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b613fdc33614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061402833614d01565b600081600501600301549050600081116140aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f20746f6b656e7320746f20636c61696d000000000000000000000000000081525060200191505060405180910390fd5b600082600501600301819055506140c13382614e89565b3373ffffffffffffffffffffffffffffffffffffffff167f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf78242604051808381526020018281526020019250505060405180910390a25050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901549050919050565b600080600080614175612a38565b61417d612699565b6141856118b7565b61418d612f99565b935093509350935090919293565b60006141a682612f14565b9050919050565b60008082840190508381101561422b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008183111561424957818303905061424e565b600090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156142da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061530f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614360576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806151c66022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008083141561445e57600090506144cb565b600082840290508284828161446f57fe5b04146144c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806152806021913960400191505060405180910390fd5b809150505b92915050565b6000808211614548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b600082848161455357fe5b0490508091505092915050565b600065858a85fe0c009050808273ffffffffffffffffffffffffffffffffffffffff163110156145f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496e73756666696369656e742062616c616e636520666f72206665650000000081525060200191505060405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d806000811461467a576040519150601f19603f3d011682016040523d82523d6000602084013e61467f565b606091505b50509050806146f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f466565207472616e73666572206661696c65640000000000000000000000000081525060200191505060405180910390fd5b505050565b60008183111561470d57819050614711565b8290505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561479d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806152c96021913960400191505060405180910390fd5b6147ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061484581600254614b5190919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561493b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806152ea6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156149c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806151a36023913960400191505060405180910390fd5b614a12816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614aa5816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141ad90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115614bc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600060018211614bed5760019050614c4f565b60006001830360020a905080601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016000600f8110614c4757fe5b015410159150505b92915050565b600081831115614c6757829050614c6b565b8190505b92915050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000614cbf83614d91565b90506000811115614cfc57614ce48183600101600301546141ad90919063ffffffff16565b82600101600301819055504282600101600001819055505b505050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000614d4f836150c1565b90506000811115614d8c57614d748183600501600301546141ad90919063ffffffff16565b82600501600301819055504282600501600001819055505b505050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600101600001549050426012541115614def574290505b6000600d549050600042905080831015614e6157614e5a6103e8614e4c62015180614e3e86614e308988038b6001016001015461444b90919063ffffffff16565b61444b90919063ffffffff16565b6144d190919063ffffffff16565b6144d190919063ffffffff16565b9450614e66565b600094505b84945050505050919050565b6000614e7f3384846148b5565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614f2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b80614f35612f99565b1015614fa9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f537570706c79206578636565640000000000000000000000000000000000000081525060200191505060405180910390fd5b614fbe816002546141ad90919063ffffffff16565b600281905550615015816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141ad90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160050160000154905042601254111561511f574290505b6000600e5490506000429050808310156151915761518a6103e861517c6201518061516e866151608988038b6005016001015461444b90919063ffffffff16565b61444b90919063ffffffff16565b6144d190919063ffffffff16565b6144d190919063ffffffff16565b9450615196565b600094505b8494505050505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734f6e6c7920746865206f776e65722063616e20706572666f726d207468697320616374696f6e4f6e6c79207468652043454f2063616e20706572666f726d207468697320616374696f6e4d7573742068617665204574686572207374616b656420746f207374616b6520746f6b656e734f6e6c79207468652043454f2063616e206368616e676520746865206461696c792070726f666974536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775769746864726177616c20616d6f756e74206d7573742062652067726561746572207468616e203045524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72305820c3b34b36a343380270db1f9042a785b534c4a4557613f8c0c8d7fd024ec833ac64736f6c634300050a0032000000000000000000000000b8ddf6d224acf751cde840eb6a7d7bdb607309510000000000000000000000009a216ff7576a29bea602e72445d7f13f23c4f86a0000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode
0x6080604052600436106103a25760003560e01c80636bb18556116101e7578063a9bf2c091161010d578063d1ba643c116100a0578063e325314b1161006f578063e325314b14611482578063e85abe0914611499578063efa2cea3146114fe578063f5aec88c1461153e576103a2565b8063d1ba643c1461131c578063d70c55ac14611333578063dac3fc3f14611398578063dd62ed3e146113fd576103a2565b8063ca7dd835116100dc578063ca7dd83514611195578063cae9ca51146111ac578063cda6b847146112b6578063cfc85f70146112f1576103a2565b8063a9bf2c091461109f578063ac4ae5d8146110da578063b468f06f14611105578063bff1f9e11461116a576103a2565b8063904da59d11610185578063a457c2d711610154578063a457c2d714610f43578063a66bf2e414610fb6578063a7133c1c14610ff1578063a9059cbb1461102c576103a2565b8063904da59d14610e4657806394ad511b14610e5d57806395d89b4114610e885780639cd9747914610f18576103a2565b8063738f4e82116101c1578063738f4e8214610d3c5780637ecc2b5614610d8b578063817b1cd214610db65780638af8368614610de1576103a2565b80636bb1855614610c475780636f9fb98a14610cac57806370a0823114610cd7576103a2565b8063317d9453116102cc578063477348921161026a578063546248bf11610239578063546248bf14610b2e578063547efb5f14610b695780636386c1c714610b9457806369ea9a5714610c1c576103a2565b80634773489214610a2257806348c3720314610a875780634aa3f62414610aec5780634b94f50e14610b03576103a2565b80633ac641ce116102a65780633ac641ce146109665780633ace3389146109a15780633c431d6a146109cc5780633e6968b6146109f7576103a2565b8063317d94531461089d57806339509351146108c85780633a7186641461093b576103a2565b80632397e4d7116103445780632db1e7e6116103135780632db1e7e6146107ba5780632ddcb21f146108165780632e559d7914610841578063313ce5671461086c576103a2565b80632397e4d71461063557806323b872dd1461067057806326476204146107035780632d0c612314610747576103a2565b8063095ea7b311610380578063095ea7b31461051d5780630b97bc86146105905780630efbcd04146105bb57806318160ddd1461060a576103a2565b806301a875cc146103a757806303a93c0c1461040c57806306fdde031461048d575b600080fd5b3480156103b357600080fd5b506103f6600480360360208110156103ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115a3565b6040518082815260200191505060405180910390f35b34801561041857600080fd5b5061045b6004803603602081101561042f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611610565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34801561049957600080fd5b506104a26117bb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e25780820151818401526020810190506104c7565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561052957600080fd5b506105766004803603604081101561054057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061185d565b604051808215151515815260200191505060405180910390f35b34801561059c57600080fd5b506105a5611874565b6040518082815260200191505060405180910390f35b3480156105c757600080fd5b506105f4600480360360208110156105de57600080fd5b810190808035906020019092919050505061187a565b6040518082815260200191505060405180910390f35b34801561061657600080fd5b5061061f6118b7565b6040518082815260200191505060405180910390f35b34801561064157600080fd5b5061066e6004803603602081101561065857600080fd5b81019080803590602001909291905050506118c1565b005b34801561067c57600080fd5b506106e96004803603606081101561069357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b7f565b604051808215151515815260200191505060405180910390f35b6107456004803603602081101561071957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c30565b005b34801561075357600080fd5b506107966004803603602081101561076a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612615565b60405180848152602001838152602001828152602001935050505060405180910390f35b3480156107c657600080fd5b506107cf612642565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561082257600080fd5b5061082b612699565b6040518082815260200191505060405180910390f35b34801561084d57600080fd5b506108566126a3565b6040518082815260200191505060405180910390f35b34801561087857600080fd5b506108816126a9565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108a957600080fd5b506108b26126c0565b6040518082815260200191505060405180910390f35b3480156108d457600080fd5b50610921600480360360408110156108eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126d0565b604051808215151515815260200191505060405180910390f35b34801561094757600080fd5b50610950612775565b6040518082815260200191505060405180910390f35b34801561097257600080fd5b5061099f6004803603602081101561098957600080fd5b81019080803590602001909291905050506127a6565b005b3480156109ad57600080fd5b506109b6612856565b6040518082815260200191505060405180910390f35b3480156109d857600080fd5b506109e1612887565b6040518082815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c61288d565b6040518082815260200191505060405180910390f35b348015610a2e57600080fd5b50610a7160048036036020811015610a4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b5565b6040518082815260200191505060405180910390f35b348015610a9357600080fd5b50610ad660048036036020811015610aaa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128d6565b6040518082815260200191505060405180910390f35b348015610af857600080fd5b50610b01612922565b005b348015610b0f57600080fd5b50610b18612a38565b6040518082815260200191505060405180910390f35b348015610b3a57600080fd5b50610b6760048036036020811015610b5157600080fd5b8101908080359060200190929190505050612aac565b005b348015610b7557600080fd5b50610b7e612db2565b6040518082815260200191505060405180910390f35b348015610ba057600080fd5b50610be360048036036020811015610bb757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ddf565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b348015610c2857600080fd5b50610c31612e33565b6040518082815260200191505060405180910390f35b348015610c5357600080fd5b50610c9660048036036020811015610c6a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e55565b6040518082815260200191505060405180910390f35b348015610cb857600080fd5b50610cc1612ef5565b6040518082815260200191505060405180910390f35b348015610ce357600080fd5b50610d2660048036036020811015610cfa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f14565b6040518082815260200191505060405180910390f35b348015610d4857600080fd5b50610d7560048036036020811015610d5f57600080fd5b8101908080359060200190929190505050612f5c565b6040518082815260200191505060405180910390f35b348015610d9757600080fd5b50610da0612f99565b6040518082815260200191505060405180910390f35b348015610dc257600080fd5b50610dcb612fb7565b6040518082815260200191505060405180910390f35b348015610ded57600080fd5b50610e3060048036036020811015610e0457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612fbd565b6040518082815260200191505060405180910390f35b348015610e5257600080fd5b50610e5b61302b565b005b348015610e6957600080fd5b50610e72613265565b6040518082815260200191505060405180910390f35b348015610e9457600080fd5b50610e9d61326b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610edd578082015181840152602081019050610ec2565b50505050905090810190601f168015610f0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610f2457600080fd5b50610f2d61330d565b6040518082815260200191505060405180910390f35b348015610f4f57600080fd5b50610f9c60048036036040811015610f6657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061336e565b604051808215151515815260200191505060405180910390f35b348015610fc257600080fd5b50610fef60048036036020811015610fd957600080fd5b8101908080359060200190929190505050613413565b005b348015610ffd57600080fd5b5061102a6004803603602081101561101457600080fd5b81019080803590602001909291905050506134c3565b005b34801561103857600080fd5b506110856004803603604081101561104f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613573565b604051808215151515815260200191505060405180910390f35b3480156110ab57600080fd5b506110d8600480360360208110156110c257600080fd5b8101908080359060200190929190505050613622565b005b3480156110e657600080fd5b506110ef613782565b6040518082815260200191505060405180910390f35b34801561111157600080fd5b506111546004803603602081101561112857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613788565b6040518082815260200191505060405180910390f35b34801561117657600080fd5b5061117f6137d7565b6040518082815260200191505060405180910390f35b3480156111a157600080fd5b506111aa6137dd565b005b3480156111b857600080fd5b5061129c600480360360608110156111cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561121657600080fd5b82018360208201111561122857600080fd5b8035906020019184600183028401116401000000008311171561124a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613957565b604051808215151515815260200191505060405180910390f35b3480156112c257600080fd5b506112ef600480360360208110156112d957600080fd5b8101908080359060200190929190505050613ab7565b005b3480156112fd57600080fd5b50611306613d34565b6040518082815260200191505060405180910390f35b34801561132857600080fd5b50611331613d47565b005b34801561133f57600080fd5b506113826004803603602081101561135657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e8f565b6040518082815260200191505060405180910390f35b3480156113a457600080fd5b506113e7600480360360208110156113bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613efd565b6040518082815260200191505060405180910390f35b34801561140957600080fd5b5061146c6004803603604081101561142057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f4c565b6040518082815260200191505060405180910390f35b34801561148e57600080fd5b50611497613fd3565b005b3480156114a557600080fd5b506114e8600480360360208110156114bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061411b565b6040518082815260200191505060405180910390f35b34801561150a57600080fd5b50611513614167565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561154a57600080fd5b5061158d6004803603602081101561156157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061419b565b6040518082815260200191505060405180910390f35b600061160961160362093a80601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600201546141ad90919063ffffffff16565b42614235565b9050919050565b6000806000806000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016000600f811061166657fe5b0154601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016001600f81106116b657fe5b0154601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016002600f811061170657fe5b0154601060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016003600f811061175657fe5b0154601060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016004600f81106117a657fe5b01549450945094509450945091939590929450565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118535780601f1061182857610100808354040283529160200191611853565b820191906000526020600020905b81548152906001019060200180831161183657829003601f168201915b5050505050905090565b600061186a338484614254565b6001905092915050565b60125481565b60006118b0670de0b6b3a76400006118a2611893612a38565b8561444b90919063ffffffff16565b6144d190919063ffffffff16565b9050919050565b6000600254905090565b6118ca33614560565b6118dc816118d733612f14565b6146fb565b905060008111611954576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f546f6b656e20616d6f756e742063616e206e6f7420626520300000000000000081525060200191505060405180910390fd5b600f54611984826011600061196761288d565b8152602001908152602001600020546141ad90919063ffffffff16565b11156119f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4461696c792053656c6c204c696d69742065786365656400000000000000000081525060200191505060405180910390fd5b611a258160116000611a0861288d565b8152602001908152602001600020546141ad90919063ffffffff16565b60116000611a3161288d565b8152602001908152602001600020819055506000611a4e8261187a565b905080611a59612ef5565b11611acc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e7420436f6e74726163742042616c616e636500000081525060200191505060405180910390fd5b611ad63383614717565b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1c573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f846c37eef631e0943682d87352ec117c20008eb7f425c9b85ac011a6d4774cc083834260405180848152602001838152602001828152602001935050505060405180910390a25050565b6000611b8c8484846148b5565b611c258433611c2085600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b614254565b600190509392505050565b6012544211611ca7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f74206c61756e63686564207965740000000000000000000000000000000081525060200191505060405180910390fd5b67016345785d8a0000341015611d25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6d696e207374616b6520697320302e3120424e4200000000000000000000000081525060200191505060405180910390fd5b60003490506000611d546103e8611d46603c8561444b90919063ffffffff16565b6144d190919063ffffffff16565b90506000611d806103e8611d7260648661444b90919063ffffffff16565b6144d190919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611dea573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e53573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f611e9f83856141ad90919063ffffffff16565b6040518082815260200191505060405180910390a26000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611fa55750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15612204576000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010154141561201e57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694505b848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b600b8054905081101561220157600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146121ef576121336001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0183600f811061212357fe5b01546141ad90919063ffffffff16565b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0182600f811061218057fe5b0181905550601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506121f4565b612201565b8080600101915050612090565b50505b600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125245760008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b600b8054905081101561252157600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156122de57506122dd8260018301614bda565b5b1561247557600061233b6103e861232d600b85815481106122fb57fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168a61444b90919063ffffffff16565b6144d190919063ffffffff16565b905061239281601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546141ad90919063ffffffff16565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009018190555061242d81601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01546141ad90919063ffffffff16565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0181905550505b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561251457612521565b808060010191505061228b565b50505b6000816001016001015414156125625761254042601254614c55565b816001016000018190555060086000815480929190600101919050555061256c565b61256b33614c71565b5b4281600101600201819055506125928482600101600101546141ad90919063ffffffff16565b81600101600101819055506125b2846009546141ad90919063ffffffff16565b6009819055503373ffffffffffffffffffffffffffffffffffffffff167f55595f34fd936311e65eca0a752ee70068b8992fdf64918aff1b6345689c84e48542604051808381526020018281526020019250505060405180910390a25050505050565b60008060006126238461411b565b61262c856128d6565b61263586612e55565b9250925092509193909250565b600080600080600080600080612656612856565b61265e612775565b600954600a54600f5461266f612db2565b612677612e33565b61267f61330d565b975097509750975097509750975097509091929394959697565b6000600354905090565b600a5481565b6000600660009054906101000a900460ff16905090565b60006126cb30612f14565b905090565b600061276b338461276685600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141ad90919063ffffffff16565b614254565b6001905092915050565b60006127a1600a61279361016d600e5461444b90919063ffffffff16565b6144d190919063ffffffff16565b905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461284c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806152586028913960400191505060405180910390fd5b80600e8190555050565b6000612882600a61287461016d600d5461444b90919063ffffffff16565b6144d190919063ffffffff16565b905090565b600c5481565b60006128b0620151806128a242601254614235565b6144d190919063ffffffff16565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01549050919050565b61292b33614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061298b62093a8082600501600201546141ad90919063ffffffff16565b421161299657600080fd5b61299f33614d01565b600081600501600101549050600082600501600101819055506129cd81600a54614b5190919063ffffffff16565b600a819055506129de3033836148b5565b3373ffffffffffffffffffffffffffffffffffffffff167f3cfaa7db2d8b7c8baa09aef6378ff7ca9bc7bcf74944c1d68561b923ba8ab8a98242604051808381526020018281526020019250505060405180910390a25050565b600080612a5d670de0b6b3a7640000612a4f612ef5565b61444b90919063ffffffff16565b90506000612a7c6001612a6e612f99565b6141ad90919063ffffffff16565b9050612aa5600c54612a9783856144d190919063ffffffff16565b61444b90919063ffffffff16565b9250505090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061520e6024913960400191505060405180910390fd5b60008111612bab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806152a16028913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff1631811115612c38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e7420636f6e74726163742062616c616e636500000081525060200191505060405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612cba576040519150601f19603f3d011682016040523d82523d6000602084013e612cbf565b606091505b5050905080612d36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fab0eb55a963064f91fc88c996215b0d8cb5a58a9272ec00fd974d06dcb63ebf98342604051808381526020018281526020019250505060405180910390a25050565b6000612dda600f5460116000612dc661288d565b815260200190815260200160002054614235565b905090565b600080600080600080612df187613efd565b612dfa88613788565b612e03896115a3565b612e0c8a612fbd565b612e158b613e8f565b612e1e8c61419b565b95509550955095509550955091939550919395565b600060116000612e4161288d565b815260200190815260200160002054905090565b6000612eee601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0154614b5190919063ffffffff16565b9050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000612f92612f69612a38565b612f84670de0b6b3a76400008561444b90919063ffffffff16565b6144d190919063ffffffff16565b9050919050565b6000612fb2600254600354614b5190919063ffffffff16565b905090565b60095481565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050613023816001016003015461301585614d91565b6141ad90919063ffffffff16565b915050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146130d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061520e6024913960400191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631905060008111613163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f20457468657220617661696c61626c6520746f207769746864726177000081525060200191505060405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d80600081146131e5576040519150601f19603f3d011682016040523d82523d6000602084013e6131ea565b606091505b5050905080613261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b5050565b600f5481565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133035780601f106132d857610100808354040283529160200191613303565b820191906000526020600020905b8154815290600101906020018083116132e657829003601f168201915b5050505050905090565b60008061331c42601254614235565b9050600061333d6201518061332f61288d565b61444b90919063ffffffff16565b90506133678261335962015180846141ad90919063ffffffff16565b614b5190919063ffffffff16565b9250505090565b6000613409338461340485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b614254565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146134b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806151e86026913960400191505060405180910390fd5b80600c8190555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806151e86026913960400191505060405180910390fd5b80600d8190555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561360c57613606838360006040519080825280601f01601f1916602001820160405280156136005781602001600182028038833980820191505090505b50613957565b50613618565b6136168383614e72565b505b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146136e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6509184e72a000811015801561370657506aadb53acfa41aee120000008111155b613778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f696e636f727265637420616d6f756e740000000000000000000000000000000081525060200191505060405180910390fd5b80600f8190555050565b600d5481565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600101549050919050565b60085481565b6137e633614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006138343361411b565b9050600081116138ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5573657220686173206e6f206469766964656e6473000000000000000000000081525060200191505060405180910390fd5b600082600901819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156138fc573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f1b9b8b2fb563f3194de2d8bac78fb2dc20b9b9002f2f065b94a97d8e48cfc98a8242604051808381526020018281526020019250505060405180910390a25050565b6000613963848461185d565b61396c57600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613a45578082015181840152602081019050613a2a565b50505050905090810190601f168015613a725780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613a9457600080fd5b505af1158015613aa8573d6000803e3d6000fd5b50505050600190509392505050565b613ac033614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506012544211613b7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f74206c61756e63686564207965740000000000000000000000000000000081525060200191505060405180910390fd5b613b8333612f14565b821115613bf8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e73756666696369656e7420546f6b656e2042616c616e636500000000000081525060200191505060405180910390fd5b6000816001016001015411613c58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806152326026913960400191505060405180910390fd5b600081600501600101541415613c7957428160050160000181905550613c83565b613c8233614d01565b5b613c8e3330846148b5565b428160050160020181905550613cb48282600501600101546141ad90919063ffffffff16565b8160050160010181905550613cd482600a546141ad90919063ffffffff16565b600a819055503373ffffffffffffffffffffffffffffffffffffffff167f7eebde183c3eb7fb7e9d83a29d6f68810b15c21cae9b984b1b0701d536eea6538342604051808381526020018281526020019250505060405180910390a25050565b6000613d4260125442614235565b905090565b613d5033614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050613d9c33614c71565b60008160010160030154905060008111613e1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f20746f6b656e7320746f20636c61696d000000000000000000000000000081525060200191505060405180910390fd5b60008260010160030181905550613e353382614e89565b3373ffffffffffffffffffffffffffffffffffffffff167f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf78242604051808381526020018281526020019250505060405180910390a25050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050613ef58160050160030154613ee7856150c1565b6141ad90919063ffffffff16565b915050919050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b613fdc33614560565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061402833614d01565b600081600501600301549050600081116140aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f20746f6b656e7320746f20636c61696d000000000000000000000000000081525060200191505060405180910390fd5b600082600501600301819055506140c13382614e89565b3373ffffffffffffffffffffffffffffffffffffffff167f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf78242604051808381526020018281526020019250505060405180910390a25050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901549050919050565b600080600080614175612a38565b61417d612699565b6141856118b7565b61418d612f99565b935093509350935090919293565b60006141a682612f14565b9050919050565b60008082840190508381101561422b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008183111561424957818303905061424e565b600090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156142da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061530f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614360576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806151c66022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008083141561445e57600090506144cb565b600082840290508284828161446f57fe5b04146144c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806152806021913960400191505060405180910390fd5b809150505b92915050565b6000808211614548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b600082848161455357fe5b0490508091505092915050565b600065858a85fe0c009050808273ffffffffffffffffffffffffffffffffffffffff163110156145f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496e73756666696369656e742062616c616e636520666f72206665650000000081525060200191505060405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d806000811461467a576040519150601f19603f3d011682016040523d82523d6000602084013e61467f565b606091505b50509050806146f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f466565207472616e73666572206661696c65640000000000000000000000000081525060200191505060405180910390fd5b505050565b60008183111561470d57819050614711565b8290505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561479d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806152c96021913960400191505060405180910390fd5b6147ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061484581600254614b5190919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561493b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806152ea6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156149c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806151a36023913960400191505060405180910390fd5b614a12816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614b5190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614aa5816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141ad90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115614bc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600060018211614bed5760019050614c4f565b60006001830360020a905080601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c016000600f8110614c4757fe5b015410159150505b92915050565b600081831115614c6757829050614c6b565b8190505b92915050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000614cbf83614d91565b90506000811115614cfc57614ce48183600101600301546141ad90919063ffffffff16565b82600101600301819055504282600101600001819055505b505050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000614d4f836150c1565b90506000811115614d8c57614d748183600501600301546141ad90919063ffffffff16565b82600501600301819055504282600501600001819055505b505050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600101600001549050426012541115614def574290505b6000600d549050600042905080831015614e6157614e5a6103e8614e4c62015180614e3e86614e308988038b6001016001015461444b90919063ffffffff16565b61444b90919063ffffffff16565b6144d190919063ffffffff16565b6144d190919063ffffffff16565b9450614e66565b600094505b84945050505050919050565b6000614e7f3384846148b5565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614f2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b80614f35612f99565b1015614fa9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f537570706c79206578636565640000000000000000000000000000000000000081525060200191505060405180910390fd5b614fbe816002546141ad90919063ffffffff16565b600281905550615015816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141ad90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160050160000154905042601254111561511f574290505b6000600e5490506000429050808310156151915761518a6103e861517c6201518061516e866151608988038b6005016001015461444b90919063ffffffff16565b61444b90919063ffffffff16565b6144d190919063ffffffff16565b6144d190919063ffffffff16565b9450615196565b600094505b8494505050505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734f6e6c7920746865206f776e65722063616e20706572666f726d207468697320616374696f6e4f6e6c79207468652043454f2063616e20706572666f726d207468697320616374696f6e4d7573742068617665204574686572207374616b656420746f207374616b6520746f6b656e734f6e6c79207468652043454f2063616e206368616e676520746865206461696c792070726f666974536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775769746864726177616c20616d6f756e74206d7573742062652067726561746572207468616e203045524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72305820c3b34b36a343380270db1f9042a785b534c4a4557613f8c0c8d7fd024ec833ac64736f6c634300050a0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b8ddf6d224acf751cde840eb6a7d7bdb607309510000000000000000000000009a216ff7576a29bea602e72445d7f13f23c4f86a0000000000000000000000000000000000000000000000000000000000000001
-----Decoded View---------------
Arg [0] : ceoAddr (address): 0xb8DdF6D224ACF751Cde840eB6A7d7BdB60730951
Arg [1] : devAddr (address): 0x9a216Ff7576a29bea602E72445D7f13f23C4F86a
Arg [2] : start (uint256): 1
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000b8ddf6d224acf751cde840eb6a7d7bdb60730951
Arg [1] : 0000000000000000000000009a216ff7576a29bea602e72445d7f13f23c4f86a
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode Sourcemap
6341:17045:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18914:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18914:169:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18914:169:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19615:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19615:283:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19615:283:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2022:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2022:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2022:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3050:150:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3050:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8178:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8178:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19464:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19464:144:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19464:144:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2299:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2299:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16544:627;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16544:627:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16544:627:0;;;;;;;;;;;;;;;;;:::i;:::-;;3208:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3208:256:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3208:256:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10527:2175;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10527:2175:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;22132:253;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22132:253:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22132:253:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21342:388;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21342:388:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2398:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2398:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6449:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2208:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2208:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18072:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18072:106:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3472:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3472:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3472:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18295:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18295:136:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8721:200;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8721:200:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8721:200:0;;;;;;;;;;;;;;;;;:::i;:::-;;18187:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18187:96:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6727:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6727:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20462:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20462:131:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18444:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18444:108:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18444:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20032:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20032:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20032:131:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13529:477;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13529:477:0;;;:::i;:::-;;19093:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19093:220:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9327:367;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9327:367:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9327:367:0;;;;;;;;;;;;;;;;;:::i;:::-;;20727:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20727:132:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21738:386;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21738:386:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21738:386:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20606:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20606:106:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20169:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20169:160:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20169:160:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17963:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17963:101:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2626:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2626:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2626:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19322:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19322:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19322:134:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2501:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2501:113:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6415:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6415:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17532:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17532:198:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17532:198:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8927:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8927:268:0;;;:::i;:::-;;7081:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7081:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2113:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2113:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2113:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20873:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20873:218:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3686:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3686:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3686:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9786:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9786:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9786:109:0;;;;;;;;;;;;;;;;;:::i;:::-;;9899:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9899:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9899:104:0;;;;;;;;;;;;;;;;;:::i;:::-;;6085:251;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6085:251:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6085:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22981:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22981:232:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22981:232:0;;;;;;;;;;;;;;;;;:::i;:::-;;6764:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6764:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18791:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18791:117:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18791:117:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6382:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6382:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17174:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17174:350:0;;;:::i;:::-;;5796:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5796:281:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5796:281:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5796:281:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5796:281:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5796:281:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5796:281:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12714:805;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12714:805:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12714:805:0;;;;;;;;;;;;;;;;;:::i;:::-;;20339:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20339:114:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15789:372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15789:372:0;;;:::i;:::-;;17742:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17742:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17742:203:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18672:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18672:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18672:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2908:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2908:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2908:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16163:377;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16163:377:0;;;:::i;:::-;;19906:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19906:121:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19906:121:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21099:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21099:235:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18559:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18559:107:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18559:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18914:169;18980:7;19002:76;19010:50;7068:6;19010:5;:12;19016:5;19010:12;;;;;;;;;;;;;;;:15;;:29;;;:33;;:50;;;;:::i;:::-;19062:15;19002:7;:76::i;:::-;18994:84;;18914:169;;;:::o;19615:283::-;19686:7;19695;19704;19713;19722;19744:5;:18;19750:11;19744:18;;;;;;;;;;;;;;;:25;;19770:1;19744:28;;;;;;;;;19774:5;:18;19780:11;19774:18;;;;;;;;;;;;;;;:25;;19800:1;19774:28;;;;;;;;;19804:5;:18;19810:11;19804:18;;;;;;;;;;;;;;;:25;;19830:1;19804:28;;;;;;;;;19834:5;:18;19840:11;19834:18;;;;;;;;;;;;;;;:25;;19860:1;19834:28;;;;;;;;;19864:5;:18;19870:11;19864:18;;;;;;;;;;;;;;;:25;;19890:1;19864:28;;;;;;;;;19736:157;;;;;;;;;;19615:283;;;;;;;:::o;2022:83::-;2059:13;2092:5;2085:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2022:83;:::o;3050:150::-;3116:4;3133:37;3142:10;3154:7;3163:6;3133:8;:37::i;:::-;3188:4;3181:11;;3050:150;;;;:::o;8178:24::-;;;;:::o;19464:144::-;19522:7;19549:51;6951:7;19549:32;19565:15;:13;:15::i;:::-;19549:11;:15;;:32;;;;:::i;:::-;:36;;:51;;;;:::i;:::-;19542:58;;19464:144;;;:::o;2299:91::-;2343:7;2370:12;;2363:19;;2299:91;:::o;16544:627::-;16598:21;16608:10;16598:9;:21::i;:::-;16640:42;16647:11;16660:21;16670:10;16660:9;:21::i;:::-;16640:6;:42::i;:::-;16626:56;;16711:1;16697:11;:15;16689:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16799:10;;16757:38;16783:11;16757:4;:21;16762:15;:13;:15::i;:::-;16757:21;;;;;;;;;;;;:25;;:38;;;;:::i;:::-;:52;;16749:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16868:38;16894:11;16868:4;:21;16873:15;:13;:15::i;:::-;16868:21;;;;;;;;;;;;:25;;:38;;;;:::i;:::-;16844:4;:21;16849:15;:13;:15::i;:::-;16844:21;;;;;;;;;;;:62;;;;16913:14;16930:20;16938:11;16930:7;:20::i;:::-;16913:37;;16988:6;16965:20;:18;:20::i;:::-;:29;16957:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17035:30;17041:10;17053:11;17035:5;:30::i;:::-;17073:10;17072:21;;:29;17094:6;17072:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17072:29:0;17118:10;17113:54;;;17130:11;17143:6;17151:15;17113:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16544:627;;:::o;3208:256::-;3297:4;3314:36;3324:6;3332:9;3343:6;3314:9;:36::i;:::-;3361:73;3370:6;3378:10;3390:43;3426:6;3390:11;:19;3402:6;3390:19;;;;;;;;;;;;;;;:31;3410:10;3390:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;3361:8;:73::i;:::-;3452:4;3445:11;;3208:256;;;;;:::o;10527:2175::-;10613:9;;10595:15;:27;10586:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6711:9;10663;:22;;10654:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10723:15;10741:9;10723:27;;10761:11;10775:42;6895:4;10775:20;6620:2;10775:7;:11;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;10761:56;;10828:12;10843:42;6895:4;10843:20;6661:3;10843:7;:11;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;10828:57;;10896:9;;;;;;;;;;;:18;;:23;10915:3;10896:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10896:23:0;10930:9;;;;;;;;;;;:18;;:24;10949:4;10930:24;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10930:24:0;10978:10;10970:34;;;10990:13;10998:4;10990:3;:7;;:13;;;;:::i;:::-;10970:34;;;;;;;;;;;;;;;;;;11017:17;11037:5;:17;11043:10;11037:17;;;;;;;;;;;;;;;11017:37;;11096:1;11071:27;;:4;:13;;;;;;;;;;;;:27;;;:54;;;;;11116:9;;;;;;;;;;;11102:23;;:10;:23;;;;11071:54;11067:558;;;11180:1;11146:5;:15;11152:8;11146:15;;;;;;;;;;;;;;;:18;;:30;;;:35;11142:96;;;11213:9;;;;;;;;;;;11202:20;;11142:96;11270:8;11254:4;:13;;;:24;;;;;;;;;;;;;;;;;;11295:14;11312:4;:13;;;;;;;;;;;;11295:30;;11345:9;11357:1;11345:13;;11340:274;11364:11;:18;;;;11360:1;:22;11340:274;;;11430:1;11412:20;;:6;:20;;;11408:190;;11483:30;11511:1;11483:5;:13;11489:6;11483:13;;;;;;;;;;;;;;;:20;;11504:1;11483:23;;;;;;;;;:27;;:30;;;;:::i;:::-;11457:5;:13;11463:6;11457:13;;;;;;;;;;;;;;;:20;;11478:1;11457:23;;;;;;;;:56;;;;11545:5;:13;11551:6;11545:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;11536:31;;11408:190;;;11593:5;;11408:190;11384:3;;;;;;;11340:274;;;;11067:558;;11666:1;11641:27;;:4;:13;;;;;;;;;;;;:27;;;11637:621;;11685:14;11702:4;:13;;;;;;;;;;;;11685:30;;11735:9;11747:1;11735:13;;11730:517;11754:11;:18;;;;11750:1;:22;11730:517;;;11820:1;11802:20;;:6;:20;;;;:57;;;;;11826:33;11845:6;11857:1;11853;:5;11826:18;:33::i;:::-;11802:57;11798:334;;;11884:14;11901:49;6895:4;11901:27;11913:11;11925:1;11913:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11901:27;;:7;:11;;:27;;;;:::i;:::-;:31;;:49;;;;:::i;:::-;11884:66;;11995:31;12019:6;11995:5;:13;12001:6;11995:13;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;11973:5;:13;11979:6;11973:13;;;;;;;;;;;;;;;:19;;:53;;;;12076:36;12105:6;12076:5;:13;12082:6;12076:13;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;12049:5;:13;12055:6;12049:13;;;;;;;;;;;;;;;:24;;:63;;;;11798:334;;12159:5;:13;12165:6;12159:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;12150:31;;12222:1;12204:20;;:6;:20;;;12200:31;;;12226:5;;12200:31;11774:3;;;;;;;11730:517;;;;11637:621;;12297:1;12274:4;:7;;:19;;;:24;12270:195;;;12336:34;12343:15;12360:9;;12336:6;:34::i;:::-;12315:4;:7;;:18;;:55;;;;12385:10;;:12;;;;;;;;;;;;;12270:195;;;12430:23;12442:10;12430:11;:23::i;:::-;12270:195;12501:15;12477:4;:7;;:21;;:39;;;;12549:32;12573:7;12549:4;:7;;:19;;;:23;;:32;;;;:::i;:::-;12527:4;:7;;:19;;:54;;;;12606:24;12622:7;12606:11;;:15;;:24;;;;:::i;:::-;12592:11;:38;;;;12657:10;12648:46;;;12669:7;12678:15;12648:46;;;;;;;;;;;;;;;;;;;;;;;;10527:2175;;;;;:::o;22132:253::-;22191:7;22199;22207;22249:26;22270:4;22249:20;:26::i;:::-;22290:31;22316:4;22290:25;:31::i;:::-;22336:30;22361:4;22336:24;:30::i;:::-;22227:150;;;;;;22132:253;;;;;:::o;21342:388::-;21389:7;21397;21405;21413;21421;21429;21437;21445;21487:10;:8;:10::i;:::-;21512;:8;:10::i;:::-;21537:11;;21563:16;;21594:10;;21619:25;:23;:25::i;:::-;21659:19;:17;:19::i;:::-;21693:18;:16;:18::i;:::-;21465:257;;;;;;;;;;;;;;;;21342:388;;;;;;;;:::o;2398:91::-;2442:7;2469:12;;2462:19;;2398:91;:::o;6449:31::-;;;;:::o;2208:83::-;2249:5;2274:9;;;;;;;;;;;2267:16;;2208:83;:::o;18072:106::-;18128:7;18149:24;18167:4;18149:9;:24::i;:::-;18142:31;;18072:106;:::o;3472:206::-;3552:4;3569:79;3578:10;3590:7;3599:48;3636:10;3599:11;:23;3611:10;3599:23;;;;;;;;;;;;;;;:32;3623:7;3599:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;3569:8;:79::i;:::-;3666:4;3659:11;;3472:206;;;;:::o;18295:136::-;18336:7;18363:34;18394:2;18363:26;18385:3;18363:17;;:21;;:26;;;;:::i;:::-;:30;;:34;;;;:::i;:::-;18356:41;;18295:136;:::o;8721:200::-;8814:9;;;;;;;;;;;8800:23;;:10;:23;;;8792:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8899:14;8879:17;:34;;;;8721:200;:::o;18187:96::-;18228:7;18251:28;18276:2;18251:20;18267:3;18251:11;;:15;;:20;;;;:::i;:::-;:24;;:28;;;;:::i;:::-;18244:35;;18187:96;:::o;6727:30::-;;;;:::o;20462:131::-;20508:7;20535:50;7010:6;20535:35;20543:15;20560:9;;20535:7;:35::i;:::-;:39;;:50;;;;:::i;:::-;20528:57;;20462:131;:::o;18444:108::-;18504:7;18533:5;18525:22;;;18518:29;;18444:108;;;:::o;20032:131::-;20108:7;20129:5;:18;20135:11;20129:18;;;;;;;;;;;;;;;:29;;;20122:36;;20032:131;;;:::o;13529:477::-;13567:21;13577:10;13567:9;:21::i;:::-;13595:17;13615:5;:17;13621:10;13615:17;;;;;;;;;;;;;;;13595:37;;13665:42;7068:6;13665:4;:7;;:21;;;:25;;:42;;;;:::i;:::-;13647:15;:60;13639:69;;;;;;13715:28;13732:10;13715:16;:28::i;:::-;13750:19;13772:4;:7;;:19;;;13750:41;;13820:1;13798:4;:7;;:19;;:23;;;;13847:33;13868:11;13847:16;;:20;;:33;;;;:::i;:::-;13828:16;:52;;;;13887:49;13905:4;13912:10;13924:11;13887:9;:49::i;:::-;13961:10;13948:54;;;13973:11;13986:15;13948:54;;;;;;;;;;;;;;;;;;;;;;;;13529:477;;:::o;19093:220::-;19138:7;19158:10;19171:39;6951:7;19171:20;:18;:20::i;:::-;:24;;:39;;;;:::i;:::-;19158:52;;19221:10;19235:24;19257:1;19235:17;:15;:17::i;:::-;:21;;:24;;;;:::i;:::-;19221:39;;19278:27;19293:11;;19278:10;19285:2;19278;:6;;:10;;;;:::i;:::-;:14;;:27;;;;:::i;:::-;19271:34;;;;19093:220;:::o;9327:367::-;8635:9;;;;;;;;;;;8621:23;;:10;:23;;;8613:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9403:1;9394:6;:10;9386:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9482:4;9474:21;;;9464:6;:31;;9456:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9537:12;9555:9;;;;;;;;;;;:14;;9576:6;9555:32;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;9536:51:0;;;9602:7;9594:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9655:9;;;;;;;;;;;9641:49;;;9666:6;9674:15;9641:49;;;;;;;;;;;;;;;;;;;;;;;;8696:1;9327:367;:::o;20727:132::-;20783:7;20809:42;20817:10;;20829:4;:21;20834:15;:13;:15::i;:::-;20829:21;;;;;;;;;;;;20809:7;:42::i;:::-;20802:49;;20727:132;:::o;21738:386::-;21794:7;21802;21810;21818;21826;21834;21876:19;21890:4;21876:13;:19::i;:::-;21910:24;21929:4;21910:18;:24::i;:::-;21949:26;21970:4;21949:20;:26::i;:::-;21990:30;22015:4;21990:24;:30::i;:::-;22035;22060:4;22035:24;:30::i;:::-;22080:25;22100:4;22080:19;:25::i;:::-;21854:262;;;;;;;;;;;;21738:386;;;;;;;:::o;20606:106::-;20656:7;20683:4;:21;20688:15;:13;:15::i;:::-;20683:21;;;;;;;;;;;;20676:28;;20606:106;:::o;20169:160::-;20244:7;20265:59;20299:5;:18;20305:11;20299:18;;;;;;;;;;;;;;;:24;;;20265:5;:18;20271:11;20265:18;;;;;;;;;;;;;;;:29;;;:33;;:59;;;;:::i;:::-;20258:66;;20169:160;;;:::o;17963:101::-;18014:7;18046:4;18038:21;;;18031:28;;17963:101;:::o;2626:110::-;2683:7;2710:9;:18;2720:7;2710:18;;;;;;;;;;;;;;;;2703:25;;2626:110;;;:::o;19322:134::-;19375:7;19402:46;19432:15;:13;:15::i;:::-;19402:25;6951:7;19402:6;:10;;:25;;;;:::i;:::-;:29;;:46;;;;:::i;:::-;19395:53;;19322:134;;;:::o;2501:113::-;2549:7;2576:30;2593:12;;2576;;:16;;:30;;;;:::i;:::-;2569:37;;2501:113;:::o;6415:26::-;;;;:::o;17532:198::-;17601:13;17627:17;17647:5;:12;17653:5;17647:12;;;;;;;;;;;;;;;17627:32;;17677:44;17697:4;:7;;:23;;;17677:15;17686:5;17677:8;:15::i;:::-;:19;;:44;;;;:::i;:::-;17670:51;;;17532:198;;;:::o;8927:268::-;8635:9;;;;;;;;;;;8621:23;;:10;:23;;;8613:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8974:15;9000:4;8992:21;;;8974:39;;9042:1;9032:7;:11;9024:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9090:12;9108:9;;;;;;;;;;;:14;;9129:7;9108:33;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;9089:52:0;;;9160:7;9152:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8696:1;;8927:268::o;7081:43::-;;;;:::o;2113:87::-;2152:13;2185:7;2178:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2113:87;:::o;20873:218::-;20922:7;20942:9;20954:35;20962:15;20979:9;;20954:7;:35::i;:::-;20942:47;;21000:9;21012:30;7010:6;21012:15;:13;:15::i;:::-;:19;;:30;;;;:::i;:::-;21000:42;;21060:23;21081:1;21060:16;7010:6;21060:1;:5;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;21053:30;;;;20873:218;:::o;3686:216::-;3771:4;3788:84;3797:10;3809:7;3818:53;3855:15;3818:11;:23;3830:10;3818:23;;;;;;;;;;;;;;;:32;3842:7;3818:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;3788:8;:84::i;:::-;3890:4;3883:11;;3686:216;;;;:::o;9786:109::-;9257:9;;;;;;;;;;;9243:23;;:10;:23;;;9235:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9874:13;9860:11;:27;;;;9786:109;:::o;9899:104::-;9257:9;;;;;;;;;;;9243:23;;:10;:23;;;9235:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9985:14;9971:11;:28;;;;9899:104;:::o;6085:251::-;6146:4;6167:10;:14;6178:2;6167:14;;;;;;;;;;;;;;;;;;;;;;;;;6163:144;;;6198:39;6213:2;6217:5;6234:1;6224:12;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;6224:12:0;;;;6198:14;:39::i;:::-;;6163:144;;;6270:25;6285:2;6289:5;6270:14;:25::i;:::-;;6163:144;6324:4;6317:11;;6085:251;;;;:::o;22981:232::-;23059:9;;;;;;;;;;;23045:23;;:10;:23;;;23037:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23112:13;23102:6;:23;;:52;;;;;23139:15;23129:6;:25;;23102:52;23094:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23199:6;23186:10;:19;;;;22981:232;:::o;6764:34::-;;;;:::o;18791:117::-;18855:7;18876:5;:12;18882:5;18876:12;;;;;;;;;;;;;;;:15;;:27;;;18869:34;;18791:117;;;:::o;6382:25::-;;;;:::o;17174:350::-;17211:21;17221:10;17211:9;:21::i;:::-;17239:17;17259:5;:17;17265:10;17259:17;;;;;;;;;;;;;;;17239:37;;17283:19;17305:32;17326:10;17305:20;:32::i;:::-;17283:54;;17366:1;17352:11;:15;17344:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17413:1;17400:4;:10;;:14;;;;17422:10;17421:21;;:34;17443:11;17421:34;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17421:34:0;17479:10;17467:53;;;17491:11;17504:15;17467:53;;;;;;;;;;;;;;;;;;;;;;;;17174:350;;:::o;5796:281::-;5893:4;5918:24;5926:7;5935:6;5918:7;:24::i;:::-;5910:33;;;;;;5977:7;5954:47;;;6002:10;6014:6;6030:4;6037:9;5954:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5954:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5954:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5954:93:0;;;;6065:4;6058:11;;5796:281;;;;;:::o;12714:805::-;12769:21;12779:10;12769:9;:21::i;:::-;12797:17;12817:5;:17;12823:10;12817:17;;;;;;;;;;;;;;;12797:37;;12867:9;;12849:15;:27;12841:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12927:21;12937:10;12927:9;:21::i;:::-;12912:11;:36;;12904:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13016:1;12994:4;:7;;:19;;;:23;12986:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13100:1;13077:4;:7;;:19;;;:24;13073:138;;;13135:15;13114:4;:7;;:18;;:36;;;;13073:138;;;13175:28;13192:10;13175:16;:28::i;:::-;13073:138;13223:49;13233:10;13253:4;13260:11;13223:9;:49::i;:::-;13303:15;13279:4;:7;;:21;;:39;;;;13347:36;13371:11;13347:4;:7;;:19;;;:23;;:36;;;;:::i;:::-;13325:4;:7;;:19;;:58;;;;13409:33;13430:11;13409:16;;:20;;:33;;;;:::i;:::-;13390:16;:52;;;;13474:10;13460:55;;;13486:11;13499:15;13460:55;;;;;;;;;;;;;;;;;;;;;;;;12714:805;;:::o;20339:114::-;20392:7;20413:35;20421:9;;20432:15;20413:7;:35::i;:::-;20406:42;;20339:114;:::o;15789:372::-;15827:21;15837:10;15827:9;:21::i;:::-;15855:17;15875:5;:17;15881:10;15875:17;;;;;;;;;;;;;;;15855:37;;15899:23;15911:10;15899:11;:23::i;:::-;15929:19;15951:4;:7;;:23;;;15929:45;;16003:1;15989:11;:15;15981:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16060:1;16034:4;:7;;:23;;:27;;;;16068:30;16074:10;16086:11;16068:5;:30::i;:::-;16116:10;16110:47;;;16128:11;16141:15;16110:47;;;;;;;;;;;;;;;;;;;;;;;;15789:372;;:::o;17742:203::-;17811:13;17837:17;17857:5;:12;17863:5;17857:12;;;;;;;;;;;;;;;17837:32;;17887:49;17912:4;:7;;:23;;;17887:20;17901:5;17887:13;:20::i;:::-;:24;;:49;;;;:::i;:::-;17880:56;;;17742:203;;;:::o;18672:112::-;18731:7;18752:5;:12;18758:5;18752:12;;;;;;;;;;;;;;;:15;;:27;;;18745:34;;18672:112;;;:::o;2908:134::-;2980:7;3007:11;:18;3019:5;3007:18;;;;;;;;;;;;;;;:27;3026:7;3007:27;;;;;;;;;;;;;;;;3000:34;;2908:134;;;;:::o;16163:377::-;16201:21;16211:10;16201:9;:21::i;:::-;16229:17;16249:5;:17;16255:10;16249:17;;;;;;;;;;;;;;;16229:37;;16273:28;16290:10;16273:16;:28::i;:::-;16308:19;16330:4;:7;;:23;;;16308:45;;16382:1;16368:11;:15;16360:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16439:1;16413:4;:7;;:23;;:27;;;;16447:30;16453:10;16465:11;16447:5;:30::i;:::-;16495:10;16489:47;;;16507:11;16520:15;16489:47;;;;;;;;;;;;;;;;;;;;;;;;16163:377;;:::o;19906:121::-;19977:7;19998:5;:18;20004:11;19998:18;;;;;;;;;;;;;;;:24;;;19991:31;;19906:121;;;:::o;21099:235::-;21146:7;21154;21162;21170;21212:15;:13;:15::i;:::-;21242:13;:11;:13::i;:::-;21270;:11;:13::i;:::-;21298:17;:15;:17::i;:::-;21190:136;;;;;;;;21099:235;;;;:::o;18559:107::-;18624:7;18645:16;18655:5;18645:9;:16::i;:::-;18638:23;;18559:107;;;:::o;690:181::-;748:7;768:9;784:1;780;:5;768:17;;809:1;804;:6;;796:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;862:1;855:8;;;690:181;;;;:::o;22397:185::-;22457:7;22485:1;22481;:5;22477:94;;;22513:1;22509;:5;22502:12;;;;22477:94;22554:1;22547:8;;22397:185;;;;;:::o;5055:338::-;5166:1;5149:19;;:5;:19;;;;5141:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5247:1;5228:21;;:7;:21;;;;5220:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5331:6;5301:11;:18;5313:5;5301:18;;;;;;;;;;;;;;;:27;5320:7;5301:27;;;;;;;;;;;;;;;:36;;;;5369:7;5353:32;;5362:5;5353:32;;;5378:6;5353:32;;;;;;;;;;;;;;;;;;5055:338;;;:::o;53:250::-;111:7;140:1;135;:6;131:47;;;165:1;158:8;;;;131:47;190:9;206:1;202;:5;190:17;;235:1;230;226;:5;;;;;;:10;218:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;294:1;287:8;;;53:250;;;;;:::o;311:179::-;369:7;401:1;397;:5;389:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:9;460:1;456;:5;;;;;;444:17;;481:1;474:8;;;311:179;;;;:::o;10009:259::-;10057:11;10071:16;10057:30;;10127:3;10110:4;10102:21;;;:28;;10094:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10171:12;10189:9;;;;;;;;;;;:14;;10210:3;10189:29;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;10170:48:0;;;10233:7;10225:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10009:259;;;:::o;22789:180::-;22848:7;22876:1;22872;:5;22868:90;;;22900:1;22893:8;;;;22868:90;22941:1;22934:8;;22789:180;;;;;:::o;4737:310::-;4832:1;4813:21;;:7;:21;;;;4805:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4906:30;4929:6;4906:9;:18;4916:7;4906:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4885:9;:18;4895:7;4885:18;;;;;;;;;;;;;;;:51;;;;4962:24;4979:6;4962:12;;:16;;:24;;;;:::i;:::-;4947:12;:39;;;;5028:1;5002:37;;5011:7;5002:37;;;5032:6;5002:37;;;;;;;;;;;;;;;;;;4737:310;;:::o;3910:429::-;4026:1;4008:20;;:6;:20;;;;4000:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4110:1;4089:23;;:9;:23;;;;4081:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4185:29;4207:6;4185:9;:17;4195:6;4185:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;4165:9;:17;4175:6;4165:17;;;;;;;;;;;;;;;:49;;;;4248:32;4273:6;4248:9;:20;4258:9;4248:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4225:9;:20;4235:9;4225:20;;;;;;;;;;;;;;;:55;;;;4313:9;4296:35;;4305:6;4296:35;;;4324:6;4296:35;;;;;;;;;;;;;;;;;;3910:429;;;:::o;498:184::-;556:7;589:1;584;:6;;576:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;636:9;652:1;648;:5;636:17;;673:1;666:8;;;498:184;;;;:::o;10270:248::-;10356:4;10382:1;10373:5;:10;10369:27;;10392:4;10385:11;;;;10369:27;10403;10447:1;10439:5;:9;10433:1;:16;10403:46;;10495:19;10463:5;:18;10469:11;10463:18;;;;;;;;;;;;;;;:25;;10489:1;10463:28;;;;;;;;;:51;;10456:58;;;10270:248;;;;;:::o;22597:180::-;22656:7;22684:1;22680;:5;22676:90;;;22708:1;22701:8;;;;22676:90;22749:1;22742:8;;22597:180;;;;;:::o;14021:302::-;14076:17;14096:5;:12;14102:5;14096:12;;;;;;;;;;;;;;;14076:32;;14119:14;14136:15;14145:5;14136:8;:15::i;:::-;14119:32;;14174:1;14165:6;:10;14162:154;;;14218:35;14246:6;14218:4;:7;;:23;;;:27;;:35;;;;:::i;:::-;14192:4;:7;;:23;;:61;;;;14289:15;14268:4;:7;;:18;;:36;;;;14162:154;14021:302;;;:::o;14880:312::-;14940:17;14960:5;:12;14966:5;14960:12;;;;;;;;;;;;;;;14940:32;;14983:14;15000:20;15014:5;15000:13;:20::i;:::-;14983:37;;15043:1;15034:6;:10;15031:154;;;15087:35;15115:6;15087:4;:7;;:23;;;:27;;:35;;;;:::i;:::-;15061:4;:7;;:23;;:61;;;;15158:15;15137:4;:7;;:18;;:36;;;;15031:154;14880:312;;;:::o;14336:530::-;14390:13;14416:17;14436:5;:12;14442:5;14436:12;;;;;;;;;;;;;;;14416:32;;14459:10;14472:4;:7;;:18;;;14459:31;;14517:15;14505:9;;:27;14501:79;;;14552:15;14547:20;;14501:79;14590:13;14606:11;;14590:27;;14628:10;14641:15;14628:28;;14675:2;14670;:7;14667:169;;;14702:80;6895:4;14702:58;7010:6;14702:43;14739:5;14702:32;14731:2;14726;:7;14702:4;:7;;:19;;;:23;;:32;;;;:::i;:::-;:36;;:43;;;;:::i;:::-;:47;;:58;;;;:::i;:::-;:62;;:80;;;;:::i;:::-;14694:88;;14667:169;;;14823:1;14815:9;;14667:169;14853:5;14846:12;;;;;;14336:530;;;:::o;2744:156::-;2813:4;2830:40;2840:10;2852:9;2863:6;2830:9;:40::i;:::-;2888:4;2881:11;;2744:156;;;;:::o;4347:382::-;4442:1;4423:21;;:7;:21;;;;4415:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4520:6;4499:17;:15;:17::i;:::-;:27;;4491:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4572:24;4589:6;4572:12;;:16;;:24;;;;:::i;:::-;4557:12;:39;;;;4638:30;4661:6;4638:9;:18;4648:7;4638:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4617:9;:18;4627:7;4617:18;;;;;;;;;;;;;;;:51;;;;4705:7;4684:37;;4701:1;4684:37;;;4714:6;4684:37;;;;;;;;;;;;;;;;;;4347:382;;:::o;15205:567::-;15264:13;15290:17;15310:5;:12;15316:5;15310:12;;;;;;;;;;;;;;;15290:32;;15333:10;15346:4;:7;;:18;;;15333:31;;15391:15;15379:9;;:27;15375:79;;;15426:15;15421:20;;15375:79;15464:13;15480:17;;15464:33;;15534:10;15547:15;15534:28;;15581:2;15576;:7;15573:169;;;15608:80;6895:4;15608:58;7010:6;15608:43;15645:5;15608:32;15637:2;15632;:7;15608:4;:7;;:19;;;:23;;:32;;;;:::i;:::-;:36;;:43;;;;:::i;:::-;:47;;:58;;;;:::i;:::-;:62;;:80;;;;:::i;:::-;15600:88;;15573:169;;;15729:1;15721:9;;15573:169;15759:5;15752:12;;;;;;15205:567;;;:::o
Swarm Source
bzzr://c3b34b36a343380270db1f9042a785b534c4a4557613f8c0c8d7fd024ec833ac
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.