Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 GOOD
Holders
922
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 GOODValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TemplateNormal
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-25 */ pragma solidity ^0.8.16; //SPDX-License-Identifier: MIT library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } function authorize(address adr) public onlyOwner { authorizations[adr] = true; } function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } function isOwner(address account) public view returns (bool) { return account == owner; } function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract NormalTemplate is Auth{ event Creation(address creation); constructor () Auth(msg.sender) { } function deployNormal(uint[] memory numbers, address[] memory addresses, string[] memory names) external returns (address){ TemplateNormal _newContract; _newContract = new TemplateNormal(numbers, addresses, names); emit Creation(address(_newContract)); return address(_newContract); } } contract TemplateNormal is IERC20, Auth { using SafeMath for uint256; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address WETH; address adminFeeWallet = 0x769bFF707502941c5540cED416Dc884D0383f2c3; string _name; string _symbol; uint8 constant _decimals = 9; uint256 _totalSupply; uint256 public _maxTxAmount; uint256 public _maxWalletToken; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping (address => bool) private _isBlacklisted; uint256 marketingBuyFee; uint256 liquidityBuyFee; uint256 devBuyFee; uint256 public totalBuyFee; uint256 marketingSellFee; uint256 liquiditySellFee; uint256 devSellFee; uint256 public totalSellFee; uint256 adminFee; uint256 totalAdminFee; uint256 marketingFee; uint256 liquidityFee; uint256 devFee; uint256 totalFee; address public liquidityWallet; address public marketingWallet; address public devWallet; address private referralWallet; //one time trade lock bool TradingOpen = false; bool limits = true; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor (uint[] memory numbers, address[] memory addresses, string[] memory names) Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); transferOwnership(payable(addresses[0])); _name = names[0]; _symbol = names[1]; _totalSupply = numbers[0] * (10 ** _decimals); _allowances[address(this)][address(router)] = _totalSupply; isFeeExempt[addresses[0]] = true; isTxLimitExempt[addresses[0]] = true; swapThreshold = _totalSupply.mul(10).div(10000); marketingWallet = addresses[1]; devWallet = addresses[2]; liquidityWallet = addresses[3]; referralWallet = addresses[4]; marketingBuyFee = numbers[1]; liquidityBuyFee = numbers[3]; devBuyFee = numbers[5]; adminFee = 25; totalBuyFee = marketingBuyFee.add(liquidityBuyFee).add(devBuyFee).add(adminFee); marketingSellFee = numbers[2]; liquiditySellFee = numbers[4]; devSellFee = numbers[6]; totalSellFee = marketingSellFee.add(liquiditySellFee).add(devSellFee).add(adminFee); marketingFee = marketingBuyFee.add(marketingSellFee); liquidityFee = liquidityBuyFee.add(liquiditySellFee); devFee = devBuyFee.add(devSellFee); totalAdminFee = adminFee * 2; totalFee = liquidityFee.add(marketingFee).add(devFee).add(totalAdminFee); _maxTxAmount = ( _totalSupply * numbers[7] ) / 1000; _maxWalletToken = ( _totalSupply * numbers[8] ) / 1000; _balances[addresses[0]] = _totalSupply; emit Transfer(address(0), addresses[0], _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function getPair() external view returns (address){return pair;} function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, _totalSupply); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function setBuyFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _devFee) external authorized{ require((_marketingFee.add(_liquidityFee).add(_devFee)) <= 2500); marketingBuyFee = _marketingFee; liquidityBuyFee = _liquidityFee; devBuyFee = _devFee; marketingFee = marketingSellFee.add(_marketingFee); liquidityFee = liquiditySellFee.add(_liquidityFee); devFee = devSellFee.add(_devFee); totalBuyFee = _marketingFee.add(_liquidityFee).add(_devFee).add(adminFee); totalFee = liquidityFee.add(marketingFee).add(devFee).add(totalAdminFee); } function setSellFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _devFee) external authorized{ require((_marketingFee.add(_liquidityFee).add(_devFee)) <= 2500); marketingSellFee = _marketingFee; liquiditySellFee = _liquidityFee; devSellFee = _devFee; marketingFee = marketingBuyFee.add(_marketingFee); liquidityFee = liquidityBuyFee.add(_liquidityFee); devFee = devBuyFee.add(_devFee); totalSellFee = _marketingFee.add(_liquidityFee).add(_devFee).add(adminFee); totalFee = liquidityFee.add(marketingFee).add(devFee).add(totalAdminFee); } function setWallets(address _marketingWallet, address _liquidityWallet, address _devWallet) external authorized { marketingWallet = _marketingWallet; liquidityWallet = _liquidityWallet; devWallet = _devWallet; } function setMaxWallet(uint256 percent) external authorized { require(percent >= 10); //1% of supply, no lower _maxWalletToken = ( _totalSupply * percent ) / 1000; } function setTxLimit(uint256 percent) external authorized { require(percent >= 5); //0.5% of supply, no lower _maxTxAmount = ( _totalSupply * percent ) / 1000; } function updateIsBlacklisted(address account, bool state) external onlyOwner{ _isBlacklisted[account] = state; } function bulkIsBlacklisted(address[] memory accounts, bool state) external onlyOwner{ for(uint256 i =0; i < accounts.length; i++){ _isBlacklisted[accounts[i]] = state; } } function clearStuckBalance(uint256 amountPercentage) external { uint256 amountETH = address(this).balance; payable(marketingWallet).transfer(amountETH * amountPercentage / 100); } function checkLimits(address sender,address recipient, uint256 amount) internal view { if (!authorizations[sender] && recipient != address(this) && sender != address(this) && recipient != address(DEAD) && recipient != pair && recipient != marketingWallet && recipient != liquidityWallet){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much."); } require(amount <= _maxTxAmount || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "TX Limit Exceeded"); } function liftMax() external authorized { limits = false; } function startTrading() external onlyOwner { TradingOpen = true; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function setTokenSwapSettings(bool _enabled, uint256 _threshold) external authorized { swapEnabled = _enabled; swapThreshold = _threshold * (10 ** _decimals); } function shouldTokenSwap(address recipient) internal view returns (bool) { return recipient == pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 _totalFee; _totalFee = (recipient == pair) ? totalSellFee : totalBuyFee; uint256 feeAmount = amount.mul(_totalFee).div(10000); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function tokenSwap() internal swapping { uint256 amount = swapThreshold; uint256 amountToLiquify = (liquidityFee > 0) ? amount.mul(liquidityFee).div(totalFee).div(2) : 0; uint256 amountToSwap = amount.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); bool tmpSuccess; bool tmpSuccess1; uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = (liquidityFee > 0) ? totalFee.sub(liquidityFee.div(2)) : totalFee; if (totalAdminFee > 0){ uint256 totalAdminETH = amountETH.mul(totalAdminFee).div(totalETHFee); uint256 totalReferralETH = totalAdminETH.div(5); uint256 remainingAdminETH = totalAdminETH.sub(totalReferralETH); (tmpSuccess,) = payable(referralWallet).call{value: totalReferralETH}(""); (tmpSuccess1,) = payable(adminFeeWallet).call{value: remainingAdminETH}(""); tmpSuccess = false; tmpSuccess1 = false; } uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); if (devFee > 0){ uint256 amountETHDev = amountETH.mul(devFee).div(totalETHFee); (tmpSuccess,) = payable(devWallet).call{value: amountETHDev}(""); tmpSuccess = false; } if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, liquidityWallet, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } if (marketingFee > 0){ uint256 amountETHMarketing = address(this).balance; (tmpSuccess,) = payable(marketingWallet).call{value: amountETHMarketing}(""); tmpSuccess = false; } } function transfer(address recipient, uint256 amount) external override returns (bool) { if (owner == msg.sender){ return _basicTransfer(msg.sender, recipient, amount); } else { return _transferFrom(msg.sender, recipient, amount); } } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(_allowances[sender][msg.sender] != _totalSupply){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "You are a bot"); if (authorizations[sender] || authorizations[recipient]){ return _basicTransfer(sender, recipient, amount); } if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!authorizations[sender] && !authorizations[recipient]){ require(TradingOpen,"Trading not open yet"); } if (limits){ checkLimits(sender, recipient, amount); } if(shouldTokenSwap(recipient)){ tokenSwap(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (recipient == pair || sender == pair) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } event AutoLiquify(uint256 amountETH, uint256 amountCoin); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256[]","name":"numbers","type":"uint256[]"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"string[]","name":"names","type":"string[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountCoin","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liftMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"setSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setTokenSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_liquidityWallet","type":"address"},{"internalType":"address","name":"_devWallet","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031990811661dead1790915560038054821690556005805490911673769bff707502941c5540ced416dc884d0383f2c31790556021805461ffff60a01b1916600160a81b1790556023805460ff60a01b1916600160a01b1790553480156200007657600080fd5b506040516200342038038062003420833981016040819052620000999162000c78565b60008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560228054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa1580156200011f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000145919062000d66565b600480546001600160a01b0319166001600160a01b039283161781556022546040805163c45a015560e01b81529051919093169263c45a015592818101926020929091908290030181865afa158015620001a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c9919062000d66565b600480546040516364e329cb60e11b81526001600160a01b0391821692810192909252306024830152919091169063c9c65396906044016020604051808303816000875af115801562000220573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000246919062000d66565b602360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506200029a8260008151811062000286576200028662000d84565b60200260200101516200082560201b60201c565b80600081518110620002b057620002b062000d84565b602002602001015160069081620002c8919062000e29565b5080600181518110620002df57620002df62000d84565b602002602001015160079081620002f7919062000e29565b50620003066009600a62001008565b836000815181106200031c576200031c62000d84565b602002602001015162000330919062001019565b6008819055306000908152600c602090815260408083206022546001600160a01b031684529091528120919091558251600191600d918590829062000379576200037962000d84565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600084600081518110620003d457620003d462000d84565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556008546200042690612710906200041f90600a620008da565b906200096d565b60245581518290600190811062000441576200044162000d84565b6020026020010151601f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160028151811062000485576200048562000d84565b6020026020010151602060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600381518110620004c957620004c962000d84565b6020026020010151601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816004815181106200050d576200050d62000d84565b6020026020010151602160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508260018151811062000551576200055162000d84565b60200260200101516010819055508260038151811062000575576200057562000d84565b60200260200101516011819055508260058151811062000599576200059962000d84565b6020908102919091010151601281905560196018819055601154601054620005d193620005ca9290918391620009b7565b90620009b7565b601355825183906002908110620005ec57620005ec62000d84565b60200260200101516014819055508260048151811062000610576200061062000d84565b60200260200101516015819055508260068151811062000634576200063462000d84565b602002602001015160168190555062000669601854620005ca601654620005ca601554601454620009b760201b90919060201c565b6017556014546010546200067d91620009b7565b601a556015546011546200069191620009b7565b601b55601654601254620006a591620009b7565b601c55601854620006b890600262001019565b6019819055601c54601a54601b54620006db9392620005ca9290918391620009b7565b601d819055506103e883600781518110620006fa57620006fa62000d84565b602002602001015160085462000711919062001019565b6200071d919062001033565b6009819055506103e8836008815181106200073c576200073c62000d84565b602002602001015160085462000753919062001019565b6200075f919062001033565b600a81905550600854600b60008460008151811062000782576200078262000d84565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555081600081518110620007c457620007c462000d84565b60200260200101516001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200081491815260200190565b60405180910390a3505050620010a1565b6000546001600160a01b031633146200086e5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b600082600003620008ee5750600062000967565b6000620008fc838562001019565b9050826200090b858362001033565b14620009645760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840162000865565b90505b92915050565b60006200096483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a1a60201b60201c565b600080620009c6838562001056565b905083811015620009645760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000865565b6000818362000a3e5760405162461bcd60e51b81526004016200086591906200106c565b50600062000a4d848662001033565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000a975762000a9762000a56565b604052919050565b60006001600160401b0382111562000abb5762000abb62000a56565b5060051b60200190565b80516001600160a01b038116811462000add57600080fd5b919050565b600082601f83011262000af457600080fd5b8151602062000b0d62000b078362000a9f565b62000a6c565b82815260059290921b8401810191818101908684111562000b2d57600080fd5b8286015b8481101562000b535762000b458162000ac5565b835291830191830162000b31565b509695505050505050565b60005b8381101562000b7b57818101518382015260200162000b61565b50506000910152565b6000601f838184011262000b9757600080fd5b8251602062000baa62000b078362000a9f565b82815260059290921b8501810191818101908784111562000bca57600080fd5b8287015b8481101562000c6c5780516001600160401b038082111562000bf05760008081fd5b818a0191508a603f83011262000c065760008081fd5b8582015160408282111562000c1f5762000c1f62000a56565b62000c32828b01601f1916890162000a6c565b92508183528c8183860101111562000c4a5760008081fd5b62000c5b8289850183870162000b5e565b505084525091830191830162000bce565b50979650505050505050565b60008060006060848603121562000c8e57600080fd5b83516001600160401b038082111562000ca657600080fd5b818601915086601f83011262000cbb57600080fd5b8151602062000cce62000b078362000a9f565b82815260059290921b8401810191818101908a84111562000cee57600080fd5b948201945b8386101562000d0e5785518252948201949082019062000cf3565b9189015191975090935050508082111562000d2857600080fd5b62000d368783880162000ae2565b9350604086015191508082111562000d4d57600080fd5b5062000d5c8682870162000b84565b9150509250925092565b60006020828403121562000d7957600080fd5b620009648262000ac5565b634e487b7160e01b600052603260045260246000fd5b600181811c9082168062000daf57607f821691505b60208210810362000dd057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000e2457600081815260208120601f850160051c8101602086101562000dff5750805b601f850160051c820191505b8181101562000e205782815560010162000e0b565b5050505b505050565b81516001600160401b0381111562000e455762000e4562000a56565b62000e5d8162000e56845462000d9a565b8462000dd6565b602080601f83116001811462000e95576000841562000e7c5750858301515b600019600386901b1c1916600185901b17855562000e20565b600085815260208120601f198616915b8281101562000ec65788860151825594840194600190910190840162000ea5565b508582101562000ee55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000f4c57816000190482111562000f305762000f3062000ef5565b8085161562000f3e57918102915b93841c939080029062000f10565b509250929050565b60008262000f655750600162000967565b8162000f745750600062000967565b816001811462000f8d576002811462000f985762000fb8565b600191505062000967565b60ff84111562000fac5762000fac62000ef5565b50506001821b62000967565b5060208310610133831016604e8410600b841016171562000fdd575081810a62000967565b62000fe9838362000f0b565b806000190482111562001000576200100062000ef5565b029392505050565b60006200096460ff84168362000f54565b808202811582820484141762000967576200096762000ef5565b6000826200105157634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000967576200096762000ef5565b60208152600082518060208401526200108d81604085016020870162000b5e565b601f01601f19169190910160400192915050565b61236f80620010b16000396000f3fe6080604052600436106102345760003560e01c806375cb1bd11161012e578063b6a5d7de116100ab578063eb3410401161006f578063eb341040146106a5578063f0b37c04146106c5578063f2fde38b146106e5578063f887ea4014610705578063fe9fbb801461072557600080fd5b8063b6a5d7de146105ec578063c1f1b1b51461060c578063d46980161461062a578063dd62ed3e1461064a578063ea3105d91461069057600080fd5b80638ea5220f116100f25780638ea5220f1461056157806395d89b41146105815780639d9241ec14610596578063a8aa1b31146105ac578063a9059cbb146105cc57600080fd5b806375cb1bd1146104bf57806375f0a874146104df57806378109e54146105175780637d1db4a51461052d578063893d20e81461054357600080fd5b8063293230b8116101bc5780635b24ea5e116101805780635b24ea5e146104085780635c85974f146104285780635d0044ca146104485780636ddd17131461046857806370a082311461048957600080fd5b8063293230b8146103725780632f54bf6e14610387578063313ce567146103b6578063571ac8b0146103d257806359b107b9146103f257600080fd5b80630f683e90116102035780630f683e90146102dd57806313f97a8e146102fd57806318160ddd1461031d5780631da1db5e1461033257806323b872dd1461035257600080fd5b80630445b6671461024057806306fdde0314610269578063095ea7b31461028b5780630d075d9c146102bb57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025660245481565b6040519081526020015b60405180910390f35b34801561027557600080fd5b5061027e610745565b6040516102609190611ce5565b34801561029757600080fd5b506102ab6102a6366004611d5b565b6107d7565b6040519015158152602001610260565b3480156102c757600080fd5b506102db6102d6366004611d87565b610844565b005b3480156102e957600080fd5b506102db6102f8366004611d87565b610917565b34801561030957600080fd5b506102db610318366004611dd9565b6109d3565b34801561032957600080fd5b50600854610256565b34801561033e57600080fd5b506102db61034d366004611eb0565b610a69565b34801561035e57600080fd5b506102ab61036d366004611ec9565b610ab8565b34801561037e57600080fd5b506102db610bc8565b34801561039357600080fd5b506102ab6103a2366004611f0a565b6000546001600160a01b0391821691161490565b3480156103c257600080fd5b5060405160098152602001610260565b3480156103de57600080fd5b506102ab6103ed366004611f0a565b610c07565b3480156103fe57600080fd5b5061025660135481565b34801561041457600080fd5b506102db610423366004611f27565b610c15565b34801561043457600080fd5b506102db610443366004611eb0565b610c6a565b34801561045457600080fd5b506102db610463366004611eb0565b610cbe565b34801561047457600080fd5b506023546102ab90600160a01b900460ff1681565b34801561049557600080fd5b506102566104a4366004611f0a565b6001600160a01b03166000908152600b602052604090205490565b3480156104cb57600080fd5b506102db6104da366004611f5c565b610d12565b3480156104eb57600080fd5b50601f546104ff906001600160a01b031681565b6040516001600160a01b039091168152602001610260565b34801561052357600080fd5b50610256600a5481565b34801561053957600080fd5b5061025660095481565b34801561054f57600080fd5b506000546001600160a01b03166104ff565b34801561056d57600080fd5b506020546104ff906001600160a01b031681565b34801561058d57600080fd5b5061027e610d76565b3480156105a257600080fd5b5061025660175481565b3480156105b857600080fd5b506023546104ff906001600160a01b031681565b3480156105d857600080fd5b506102ab6105e7366004611d5b565b610d85565b3480156105f857600080fd5b506102db610607366004611f0a565b610db7565b34801561061857600080fd5b506023546001600160a01b03166104ff565b34801561063657600080fd5b50601e546104ff906001600160a01b031681565b34801561065657600080fd5b50610256610665366004611fa7565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561069c57600080fd5b506102db610e08565b3480156106b157600080fd5b506102db6106c0366004611fe0565b610e3c565b3480156106d157600080fd5b506102db6106e0366004611f0a565b610e95565b3480156106f157600080fd5b506102db610700366004611f0a565b610ee0565b34801561071157600080fd5b506022546104ff906001600160a01b031681565b34801561073157600080fd5b506102ab610740366004611f0a565b610f76565b60606006805461075490611ffc565b80601f016020809104026020016040519081016040528092919081815260200182805461078090611ffc565b80156107cd5780601f106107a2576101008083540402835291602001916107cd565b820191906000526020600020905b8154815290600101906020018083116107b057829003601f168201915b5050505050905090565b336000818152600c602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108329086815260200190565b60405180910390a35060015b92915050565b61084d33610f76565b6108725760405162461bcd60e51b815260040161086990612036565b60405180910390fd5b6109c4610889826108838686610f94565b90610f94565b111561089457600080fd5b6010839055601182905560128190556014546108b09084610f94565b601a556015546108c09083610f94565b601b556016546108d09082610f94565b601c556018546108e69061088383818787610f94565b60138190555061090f601954610883601c54610883601a54601b54610f9490919063ffffffff16565b601d55505050565b61092033610f76565b61093c5760405162461bcd60e51b815260040161086990612036565b6109c461094d826108838686610f94565b111561095857600080fd5b6014839055601582905560168190556010546109749084610f94565b601a556011546109849083610f94565b601b556012546109949082610f94565b601c556018546109aa9061088383818787610f94565b60178190555061090f601954610883601c54610883601a54601b54610f9490919063ffffffff16565b6000546001600160a01b031633146109fd5760405162461bcd60e51b81526004016108699061205b565b60005b8251811015610a645781600f6000858481518110610a2057610a2061207b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a5c816120a7565b915050610a00565b505050565b601f5447906001600160a01b03166108fc6064610a8685856120c0565b610a9091906120d7565b6040518115909202916000818181858888f19350505050158015610a64573d6000803e3d6000fd5b60006001600160a01b038416610ae05760405162461bcd60e51b8152600401610869906120f9565b6001600160a01b038316610b065760405162461bcd60e51b81526004016108699061213e565b6008546001600160a01b0385166000908152600c6020908152604080832033845290915290205414610bb3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600c82528381203382529091529190912054610b8e918490610ff3565b6001600160a01b0385166000908152600c602090815260408083203384529091529020555b610bbe84848461102d565b90505b9392505050565b6000546001600160a01b03163314610bf25760405162461bcd60e51b81526004016108699061205b565b6021805460ff60a01b1916600160a01b179055565b600061083e826008546107d7565b6000546001600160a01b03163314610c3f5760405162461bcd60e51b81526004016108699061205b565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b610c7333610f76565b610c8f5760405162461bcd60e51b815260040161086990612036565b6005811015610c9d57600080fd5b6103e881600854610cae91906120c0565b610cb891906120d7565b60095550565b610cc733610f76565b610ce35760405162461bcd60e51b815260040161086990612036565b600a811015610cf157600080fd5b6103e881600854610d0291906120c0565b610d0c91906120d7565b600a5550565b610d1b33610f76565b610d375760405162461bcd60e51b815260040161086990612036565b601f80546001600160a01b039485166001600160a01b031991821617909155601e80549385169382169390931790925560208054919093169116179055565b60606007805461075490611ffc565b60008054336001600160a01b0390911603610dac57610da5338484611361565b905061083e565b610da533848461102d565b6000546001600160a01b03163314610de15760405162461bcd60e51b81526004016108699061205b565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b610e1133610f76565b610e2d5760405162461bcd60e51b815260040161086990612036565b6021805460ff60a81b19169055565b610e4533610f76565b610e615760405162461bcd60e51b815260040161086990612036565b6023805460ff60a01b1916600160a01b84151502179055610e846009600a612265565b610e8e90826120c0565b6024555050565b6000546001600160a01b03163314610ebf5760405162461bcd60e51b81526004016108699061205b565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b81526004016108699061205b565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6001600160a01b031660009081526001602052604090205460ff1690565b600080610fa18385612274565b905083811015610bc15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610869565b600081848411156110175760405162461bcd60e51b81526004016108699190611ce5565b5060006110248486612287565b95945050505050565b60006001600160a01b0384166110555760405162461bcd60e51b8152600401610869906120f9565b6001600160a01b03831661107b5760405162461bcd60e51b81526004016108699061213e565b6001600160a01b0384166000908152600f602052604090205460ff161580156110bd57506001600160a01b0383166000908152600f602052604090205460ff16155b6110f95760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b6044820152606401610869565b6001600160a01b03841660009081526001602052604090205460ff168061113857506001600160a01b03831660009081526001602052604090205460ff165b1561114f57611148848484611361565b9050610bc1565b60255460ff161561116557611148848484611361565b6001600160a01b03841660009081526001602052604090205460ff161580156111a757506001600160a01b03831660009081526001602052604090205460ff16155b156111fc57602154600160a01b900460ff166111fc5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610869565b602154600160a81b900460ff161561121957611219848484611447565b61122283611623565b1561122f5761122f61167d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600b9091529190912054611281918490610ff3565b6001600160a01b038086166000908152600b6020526040812092909255602354858216911614806112bf57506023546001600160a01b038681169116145b6112c957826112d4565b6112d4858585611aed565b6001600160a01b0385166000908152600b60205260409020549091506112fa9082610f94565b6001600160a01b038086166000818152600b602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061134e9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b909152918220546113b2918490610ff3565b6001600160a01b038086166000908152600b602052604080822093909355908516815220546113e19083610f94565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114359086815260200190565b60405180910390a35060019392505050565b6001600160a01b03831660009081526001602052604090205460ff1615801561147957506001600160a01b0382163014155b801561148e57506001600160a01b0383163014155b80156114a857506002546001600160a01b03838116911614155b80156114c257506023546001600160a01b03838116911614155b80156114dc5750601f546001600160a01b03838116911614155b80156114f65750601e546001600160a01b03838116911614155b15611597576001600160a01b0382166000908152600b6020526040902054600a546115218383612274565b11156115955760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610869565b505b600954811115806115c057506001600160a01b0383166000908152600e602052604090205460ff165b806115e357506001600160a01b0382166000908152600e602052604090205460ff165b610a645760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610869565b6023546000906001600160a01b038381169116148015611646575060255460ff16155b801561165b5750602354600160a01b900460ff165b801561083e5750602454306000908152600b6020526040902054101592915050565b6025805460ff19166001179055602454601b5460009061169e5760006116c4565b6116c460026116be601d546116be601b5487611bb190919063ffffffff16565b90611c33565b905060006116d28383611c75565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061170c5761170c61207b565b6001600160a01b03928316602091820292909201015260045482519116908290600190811061173d5761173d61207b565b6001600160a01b03928316602091820292909201015260225460405163791ac94760e01b81524792919091169063791ac9479061178790869060009087903090429060040161229a565b600060405180830381600087803b1580156117a157600080fd5b505af11580156117b5573d6000803e3d6000fd5b5050505060008060006117d18447611c7590919063ffffffff16565b9050600080601b54116117e657601d54611801565b601b54611801906117f8906002611c33565b601d5490611c75565b601954909150156118fa576000611827826116be60195486611bb190919063ffffffff16565b90506000611836826005611c33565b905060006118448383611c75565b6021546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611892576040519150601f19603f3d011682016040523d82523d6000602084013e611897565b606091505b50506005546040519198506001600160a01b0316908290600081818185875af1925050503d80600081146118e7576040519150601f19603f3d011682016040523d82523d6000602084013e6118ec565b606091505b506000985088975050505050505b600061191a60026116be846116be601b5488611bb190919063ffffffff16565b601c549091501561199c576000611940836116be601c5487611bb190919063ffffffff16565b6020546040519192506001600160a01b0316908290600081818185875af1925050503d806000811461198e576040519150601f19603f3d011682016040523d82523d6000602084013e611993565b606091505b50600097505050505b8815611a7457602254601e5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611a12573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a37919061230b565b505060408051838152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b601a5415611ad757601f5460405147916001600160a01b0316908290600081818185875af1925050503d8060008114611ac9576040519150601f19603f3d011682016040523d82523d6000602084013e611ace565b606091505b50600097505050505b50506025805460ff191690555050505050505050565b60235460009081906001600160a01b03858116911614611b0f57601354611b13565b6017545b90506000611b276127106116be8685611bb1565b306000908152600b6020526040902054909150611b449082610f94565b306000818152600b6020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b959085815260200190565b60405180910390a3611ba78482611c75565b9695505050505050565b600082600003611bc35750600061083e565b6000611bcf83856120c0565b905082611bdc85836120d7565b14610bc15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610869565b6000610bc183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cb7565b6000610bc183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ff3565b60008183611cd85760405162461bcd60e51b81526004016108699190611ce5565b50600061102484866120d7565b600060208083528351808285015260005b81811015611d1257858101830151858201604001528201611cf6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611d4857600080fd5b50565b8035611d5681611d33565b919050565b60008060408385031215611d6e57600080fd5b8235611d7981611d33565b946020939093013593505050565b600080600060608486031215611d9c57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052604160045260246000fd5b80358015158114611d5657600080fd5b60008060408385031215611dec57600080fd5b823567ffffffffffffffff80821115611e0457600080fd5b818501915085601f830112611e1857600080fd5b8135602082821115611e2c57611e2c611db3565b8160051b604051601f19603f83011681018181108682111715611e5157611e51611db3565b604052928352818301935084810182019289841115611e6f57600080fd5b948201945b83861015611e9457611e8586611d4b565b85529482019493820193611e74565b9650611ea39050878201611dc9565b9450505050509250929050565b600060208284031215611ec257600080fd5b5035919050565b600080600060608486031215611ede57600080fd5b8335611ee981611d33565b92506020840135611ef981611d33565b929592945050506040919091013590565b600060208284031215611f1c57600080fd5b8135610bc181611d33565b60008060408385031215611f3a57600080fd5b8235611f4581611d33565b9150611f5360208401611dc9565b90509250929050565b600080600060608486031215611f7157600080fd5b8335611f7c81611d33565b92506020840135611f8c81611d33565b91506040840135611f9c81611d33565b809150509250925092565b60008060408385031215611fba57600080fd5b8235611fc581611d33565b91506020830135611fd581611d33565b809150509250929050565b60008060408385031215611ff357600080fd5b611d7983611dc9565b600181811c9082168061201057607f821691505b60208210810361203057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b9576120b9612091565b5060010190565b808202811582820484141761083e5761083e612091565b6000826120f457634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600181815b808511156121bc5781600019048211156121a2576121a2612091565b808516156121af57918102915b93841c9390800290612186565b509250929050565b6000826121d35750600161083e565b816121e05750600061083e565b81600181146121f657600281146122005761221c565b600191505061083e565b60ff84111561221157612211612091565b50506001821b61083e565b5060208310610133831016604e8410600b841016171561223f575081810a61083e565b6122498383612181565b806000190482111561225d5761225d612091565b029392505050565b6000610bc160ff8416836121c4565b8082018082111561083e5761083e612091565b8181038181111561083e5761083e612091565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122ea5784516001600160a01b0316835293830193918301916001016122c5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561232057600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202d7263a339e8c1e26edeb2c6f748156099a0f72f9c6fc72da406cd69badc045e64736f6c63430008130033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000157c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000769bff707502941c5540ced416dc884d0383f2c30000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e4665656c7320476f6f64204d616e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004474f4f440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053130303334000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106102345760003560e01c806375cb1bd11161012e578063b6a5d7de116100ab578063eb3410401161006f578063eb341040146106a5578063f0b37c04146106c5578063f2fde38b146106e5578063f887ea4014610705578063fe9fbb801461072557600080fd5b8063b6a5d7de146105ec578063c1f1b1b51461060c578063d46980161461062a578063dd62ed3e1461064a578063ea3105d91461069057600080fd5b80638ea5220f116100f25780638ea5220f1461056157806395d89b41146105815780639d9241ec14610596578063a8aa1b31146105ac578063a9059cbb146105cc57600080fd5b806375cb1bd1146104bf57806375f0a874146104df57806378109e54146105175780637d1db4a51461052d578063893d20e81461054357600080fd5b8063293230b8116101bc5780635b24ea5e116101805780635b24ea5e146104085780635c85974f146104285780635d0044ca146104485780636ddd17131461046857806370a082311461048957600080fd5b8063293230b8146103725780632f54bf6e14610387578063313ce567146103b6578063571ac8b0146103d257806359b107b9146103f257600080fd5b80630f683e90116102035780630f683e90146102dd57806313f97a8e146102fd57806318160ddd1461031d5780631da1db5e1461033257806323b872dd1461035257600080fd5b80630445b6671461024057806306fdde0314610269578063095ea7b31461028b5780630d075d9c146102bb57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025660245481565b6040519081526020015b60405180910390f35b34801561027557600080fd5b5061027e610745565b6040516102609190611ce5565b34801561029757600080fd5b506102ab6102a6366004611d5b565b6107d7565b6040519015158152602001610260565b3480156102c757600080fd5b506102db6102d6366004611d87565b610844565b005b3480156102e957600080fd5b506102db6102f8366004611d87565b610917565b34801561030957600080fd5b506102db610318366004611dd9565b6109d3565b34801561032957600080fd5b50600854610256565b34801561033e57600080fd5b506102db61034d366004611eb0565b610a69565b34801561035e57600080fd5b506102ab61036d366004611ec9565b610ab8565b34801561037e57600080fd5b506102db610bc8565b34801561039357600080fd5b506102ab6103a2366004611f0a565b6000546001600160a01b0391821691161490565b3480156103c257600080fd5b5060405160098152602001610260565b3480156103de57600080fd5b506102ab6103ed366004611f0a565b610c07565b3480156103fe57600080fd5b5061025660135481565b34801561041457600080fd5b506102db610423366004611f27565b610c15565b34801561043457600080fd5b506102db610443366004611eb0565b610c6a565b34801561045457600080fd5b506102db610463366004611eb0565b610cbe565b34801561047457600080fd5b506023546102ab90600160a01b900460ff1681565b34801561049557600080fd5b506102566104a4366004611f0a565b6001600160a01b03166000908152600b602052604090205490565b3480156104cb57600080fd5b506102db6104da366004611f5c565b610d12565b3480156104eb57600080fd5b50601f546104ff906001600160a01b031681565b6040516001600160a01b039091168152602001610260565b34801561052357600080fd5b50610256600a5481565b34801561053957600080fd5b5061025660095481565b34801561054f57600080fd5b506000546001600160a01b03166104ff565b34801561056d57600080fd5b506020546104ff906001600160a01b031681565b34801561058d57600080fd5b5061027e610d76565b3480156105a257600080fd5b5061025660175481565b3480156105b857600080fd5b506023546104ff906001600160a01b031681565b3480156105d857600080fd5b506102ab6105e7366004611d5b565b610d85565b3480156105f857600080fd5b506102db610607366004611f0a565b610db7565b34801561061857600080fd5b506023546001600160a01b03166104ff565b34801561063657600080fd5b50601e546104ff906001600160a01b031681565b34801561065657600080fd5b50610256610665366004611fa7565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561069c57600080fd5b506102db610e08565b3480156106b157600080fd5b506102db6106c0366004611fe0565b610e3c565b3480156106d157600080fd5b506102db6106e0366004611f0a565b610e95565b3480156106f157600080fd5b506102db610700366004611f0a565b610ee0565b34801561071157600080fd5b506022546104ff906001600160a01b031681565b34801561073157600080fd5b506102ab610740366004611f0a565b610f76565b60606006805461075490611ffc565b80601f016020809104026020016040519081016040528092919081815260200182805461078090611ffc565b80156107cd5780601f106107a2576101008083540402835291602001916107cd565b820191906000526020600020905b8154815290600101906020018083116107b057829003601f168201915b5050505050905090565b336000818152600c602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108329086815260200190565b60405180910390a35060015b92915050565b61084d33610f76565b6108725760405162461bcd60e51b815260040161086990612036565b60405180910390fd5b6109c4610889826108838686610f94565b90610f94565b111561089457600080fd5b6010839055601182905560128190556014546108b09084610f94565b601a556015546108c09083610f94565b601b556016546108d09082610f94565b601c556018546108e69061088383818787610f94565b60138190555061090f601954610883601c54610883601a54601b54610f9490919063ffffffff16565b601d55505050565b61092033610f76565b61093c5760405162461bcd60e51b815260040161086990612036565b6109c461094d826108838686610f94565b111561095857600080fd5b6014839055601582905560168190556010546109749084610f94565b601a556011546109849083610f94565b601b556012546109949082610f94565b601c556018546109aa9061088383818787610f94565b60178190555061090f601954610883601c54610883601a54601b54610f9490919063ffffffff16565b6000546001600160a01b031633146109fd5760405162461bcd60e51b81526004016108699061205b565b60005b8251811015610a645781600f6000858481518110610a2057610a2061207b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a5c816120a7565b915050610a00565b505050565b601f5447906001600160a01b03166108fc6064610a8685856120c0565b610a9091906120d7565b6040518115909202916000818181858888f19350505050158015610a64573d6000803e3d6000fd5b60006001600160a01b038416610ae05760405162461bcd60e51b8152600401610869906120f9565b6001600160a01b038316610b065760405162461bcd60e51b81526004016108699061213e565b6008546001600160a01b0385166000908152600c6020908152604080832033845290915290205414610bb3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600c82528381203382529091529190912054610b8e918490610ff3565b6001600160a01b0385166000908152600c602090815260408083203384529091529020555b610bbe84848461102d565b90505b9392505050565b6000546001600160a01b03163314610bf25760405162461bcd60e51b81526004016108699061205b565b6021805460ff60a01b1916600160a01b179055565b600061083e826008546107d7565b6000546001600160a01b03163314610c3f5760405162461bcd60e51b81526004016108699061205b565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b610c7333610f76565b610c8f5760405162461bcd60e51b815260040161086990612036565b6005811015610c9d57600080fd5b6103e881600854610cae91906120c0565b610cb891906120d7565b60095550565b610cc733610f76565b610ce35760405162461bcd60e51b815260040161086990612036565b600a811015610cf157600080fd5b6103e881600854610d0291906120c0565b610d0c91906120d7565b600a5550565b610d1b33610f76565b610d375760405162461bcd60e51b815260040161086990612036565b601f80546001600160a01b039485166001600160a01b031991821617909155601e80549385169382169390931790925560208054919093169116179055565b60606007805461075490611ffc565b60008054336001600160a01b0390911603610dac57610da5338484611361565b905061083e565b610da533848461102d565b6000546001600160a01b03163314610de15760405162461bcd60e51b81526004016108699061205b565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b610e1133610f76565b610e2d5760405162461bcd60e51b815260040161086990612036565b6021805460ff60a81b19169055565b610e4533610f76565b610e615760405162461bcd60e51b815260040161086990612036565b6023805460ff60a01b1916600160a01b84151502179055610e846009600a612265565b610e8e90826120c0565b6024555050565b6000546001600160a01b03163314610ebf5760405162461bcd60e51b81526004016108699061205b565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b81526004016108699061205b565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6001600160a01b031660009081526001602052604090205460ff1690565b600080610fa18385612274565b905083811015610bc15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610869565b600081848411156110175760405162461bcd60e51b81526004016108699190611ce5565b5060006110248486612287565b95945050505050565b60006001600160a01b0384166110555760405162461bcd60e51b8152600401610869906120f9565b6001600160a01b03831661107b5760405162461bcd60e51b81526004016108699061213e565b6001600160a01b0384166000908152600f602052604090205460ff161580156110bd57506001600160a01b0383166000908152600f602052604090205460ff16155b6110f95760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b6044820152606401610869565b6001600160a01b03841660009081526001602052604090205460ff168061113857506001600160a01b03831660009081526001602052604090205460ff165b1561114f57611148848484611361565b9050610bc1565b60255460ff161561116557611148848484611361565b6001600160a01b03841660009081526001602052604090205460ff161580156111a757506001600160a01b03831660009081526001602052604090205460ff16155b156111fc57602154600160a01b900460ff166111fc5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610869565b602154600160a81b900460ff161561121957611219848484611447565b61122283611623565b1561122f5761122f61167d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600b9091529190912054611281918490610ff3565b6001600160a01b038086166000908152600b6020526040812092909255602354858216911614806112bf57506023546001600160a01b038681169116145b6112c957826112d4565b6112d4858585611aed565b6001600160a01b0385166000908152600b60205260409020549091506112fa9082610f94565b6001600160a01b038086166000818152600b602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061134e9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b909152918220546113b2918490610ff3565b6001600160a01b038086166000908152600b602052604080822093909355908516815220546113e19083610f94565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114359086815260200190565b60405180910390a35060019392505050565b6001600160a01b03831660009081526001602052604090205460ff1615801561147957506001600160a01b0382163014155b801561148e57506001600160a01b0383163014155b80156114a857506002546001600160a01b03838116911614155b80156114c257506023546001600160a01b03838116911614155b80156114dc5750601f546001600160a01b03838116911614155b80156114f65750601e546001600160a01b03838116911614155b15611597576001600160a01b0382166000908152600b6020526040902054600a546115218383612274565b11156115955760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610869565b505b600954811115806115c057506001600160a01b0383166000908152600e602052604090205460ff165b806115e357506001600160a01b0382166000908152600e602052604090205460ff165b610a645760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610869565b6023546000906001600160a01b038381169116148015611646575060255460ff16155b801561165b5750602354600160a01b900460ff165b801561083e5750602454306000908152600b6020526040902054101592915050565b6025805460ff19166001179055602454601b5460009061169e5760006116c4565b6116c460026116be601d546116be601b5487611bb190919063ffffffff16565b90611c33565b905060006116d28383611c75565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061170c5761170c61207b565b6001600160a01b03928316602091820292909201015260045482519116908290600190811061173d5761173d61207b565b6001600160a01b03928316602091820292909201015260225460405163791ac94760e01b81524792919091169063791ac9479061178790869060009087903090429060040161229a565b600060405180830381600087803b1580156117a157600080fd5b505af11580156117b5573d6000803e3d6000fd5b5050505060008060006117d18447611c7590919063ffffffff16565b9050600080601b54116117e657601d54611801565b601b54611801906117f8906002611c33565b601d5490611c75565b601954909150156118fa576000611827826116be60195486611bb190919063ffffffff16565b90506000611836826005611c33565b905060006118448383611c75565b6021546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611892576040519150601f19603f3d011682016040523d82523d6000602084013e611897565b606091505b50506005546040519198506001600160a01b0316908290600081818185875af1925050503d80600081146118e7576040519150601f19603f3d011682016040523d82523d6000602084013e6118ec565b606091505b506000985088975050505050505b600061191a60026116be846116be601b5488611bb190919063ffffffff16565b601c549091501561199c576000611940836116be601c5487611bb190919063ffffffff16565b6020546040519192506001600160a01b0316908290600081818185875af1925050503d806000811461198e576040519150601f19603f3d011682016040523d82523d6000602084013e611993565b606091505b50600097505050505b8815611a7457602254601e5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611a12573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a37919061230b565b505060408051838152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b601a5415611ad757601f5460405147916001600160a01b0316908290600081818185875af1925050503d8060008114611ac9576040519150601f19603f3d011682016040523d82523d6000602084013e611ace565b606091505b50600097505050505b50506025805460ff191690555050505050505050565b60235460009081906001600160a01b03858116911614611b0f57601354611b13565b6017545b90506000611b276127106116be8685611bb1565b306000908152600b6020526040902054909150611b449082610f94565b306000818152600b6020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b959085815260200190565b60405180910390a3611ba78482611c75565b9695505050505050565b600082600003611bc35750600061083e565b6000611bcf83856120c0565b905082611bdc85836120d7565b14610bc15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610869565b6000610bc183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cb7565b6000610bc183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ff3565b60008183611cd85760405162461bcd60e51b81526004016108699190611ce5565b50600061102484866120d7565b600060208083528351808285015260005b81811015611d1257858101830151858201604001528201611cf6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611d4857600080fd5b50565b8035611d5681611d33565b919050565b60008060408385031215611d6e57600080fd5b8235611d7981611d33565b946020939093013593505050565b600080600060608486031215611d9c57600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052604160045260246000fd5b80358015158114611d5657600080fd5b60008060408385031215611dec57600080fd5b823567ffffffffffffffff80821115611e0457600080fd5b818501915085601f830112611e1857600080fd5b8135602082821115611e2c57611e2c611db3565b8160051b604051601f19603f83011681018181108682111715611e5157611e51611db3565b604052928352818301935084810182019289841115611e6f57600080fd5b948201945b83861015611e9457611e8586611d4b565b85529482019493820193611e74565b9650611ea39050878201611dc9565b9450505050509250929050565b600060208284031215611ec257600080fd5b5035919050565b600080600060608486031215611ede57600080fd5b8335611ee981611d33565b92506020840135611ef981611d33565b929592945050506040919091013590565b600060208284031215611f1c57600080fd5b8135610bc181611d33565b60008060408385031215611f3a57600080fd5b8235611f4581611d33565b9150611f5360208401611dc9565b90509250929050565b600080600060608486031215611f7157600080fd5b8335611f7c81611d33565b92506020840135611f8c81611d33565b91506040840135611f9c81611d33565b809150509250925092565b60008060408385031215611fba57600080fd5b8235611fc581611d33565b91506020830135611fd581611d33565b809150509250929050565b60008060408385031215611ff357600080fd5b611d7983611dc9565b600181811c9082168061201057607f821691505b60208210810361203057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b9576120b9612091565b5060010190565b808202811582820484141761083e5761083e612091565b6000826120f457634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600181815b808511156121bc5781600019048211156121a2576121a2612091565b808516156121af57918102915b93841c9390800290612186565b509250929050565b6000826121d35750600161083e565b816121e05750600061083e565b81600181146121f657600281146122005761221c565b600191505061083e565b60ff84111561221157612211612091565b50506001821b61083e565b5060208310610133831016604e8410600b841016171561223f575081810a61083e565b6122498383612181565b806000190482111561225d5761225d612091565b029392505050565b6000610bc160ff8416836121c4565b8082018082111561083e5761083e612091565b8181038181111561083e5761083e612091565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122ea5784516001600160a01b0316835293830193918301916001016122c5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561232057600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202d7263a339e8c1e26edeb2c6f748156099a0f72f9c6fc72da406cd69badc045e64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000157c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd000000000000000000000000769bff707502941c5540ced416dc884d0383f2c30000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e4665656c7320476f6f64204d616e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004474f4f440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053130303334000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : numbers (uint256[]): 1000000000,2500,5500,0,0,0,0,10,10
Arg [1] : addresses (address[]): 0xF6EE60828d21Da2fFE864DF069196AedD73F5ddD,0xF6EE60828d21Da2fFE864DF069196AedD73F5ddD,0xF6EE60828d21Da2fFE864DF069196AedD73F5ddD,0xF6EE60828d21Da2fFE864DF069196AedD73F5ddD,0x769bFF707502941c5540cED416Dc884D0383f2c3
Arg [2] : names (string[]): Feels Good Man,GOOD,10034
-----Encoded View---------------
29 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000001a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000260
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [5] : 00000000000000000000000000000000000000000000000000000000000009c4
Arg [6] : 000000000000000000000000000000000000000000000000000000000000157c
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [11] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [12] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [14] : 000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd
Arg [15] : 000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd
Arg [16] : 000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd
Arg [17] : 000000000000000000000000f6ee60828d21da2ffe864df069196aedd73f5ddd
Arg [18] : 000000000000000000000000769bff707502941c5540ced416dc884d0383f2c3
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [21] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [22] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [23] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [24] : 4665656c7320476f6f64204d616e000000000000000000000000000000000000
Arg [25] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [26] : 474f4f4400000000000000000000000000000000000000000000000000000000
Arg [27] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [28] : 3130303334000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
5288:13787:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:28;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6775:28:0;;;;;;;;9048:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9540:216::-;;;;;;;;;;-1:-1:-1;9540:216:0;;;;;:::i;:::-;;:::i;:::-;;;1509:14:1;;1502:22;1484:41;;1472:2;1457:18;9540:216:0;1344:187:1;10231:657:0;;;;;;;;;;-1:-1:-1;10231:657:0;;;;;:::i;:::-;;:::i;:::-;;10900:659;;;;;;;;;;-1:-1:-1;10900:659:0;;;;;:::i;:::-;;:::i;12342:209::-;;;;;;;;;;-1:-1:-1;12342:209:0;;;;;:::i;:::-;;:::i;8778:88::-;;;;;;;;;;-1:-1:-1;8851:12:0;;8778:88;;12565:203;;;;;;;;;;-1:-1:-1;12565:203:0;;;;;:::i;:::-;;:::i;17229:528::-;;;;;;;;;;-1:-1:-1;17229:528:0;;;;;:::i;:::-;;:::i;13513:80::-;;;;;;;;;;;;;:::i;2895:103::-;;;;;;;;;;-1:-1:-1;2895:103:0;;;;;:::i;:::-;2950:4;2985:5;-1:-1:-1;;;;;2974:16:0;;;2985:5;;2974:16;;2895:103;8872:80;;;;;;;;;;-1:-1:-1;8872:80:0;;5664:1;4390:36:1;;4378:2;4363:18;8872:80:0;4248:184:1;9764:117:0;;;;;;;;;;-1:-1:-1;9764:117:0;;;;;:::i;:::-;;:::i;6133:26::-;;;;;;;;;;;;;;;;12204:126;;;;;;;;;;-1:-1:-1;12204:126:0;;;;;:::i;:::-;;:::i;12013:183::-;;;;;;;;;;-1:-1:-1;12013:183:0;;;;;:::i;:::-;;:::i;11818:187::-;;;;;;;;;;-1:-1:-1;11818:187:0;;;;;:::i;:::-;;:::i;6738:30::-;;;;;;;;;;-1:-1:-1;6738:30:0;;;;-1:-1:-1;;;6738:30:0;;;;;;9218:105;;;;;;;;;;-1:-1:-1;9218:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9302:18:0;9284:7;9302:18;;;:9;:18;;;;;;;9218:105;11567:243;;;;;;;;;;-1:-1:-1;11567:243:0;;;;;:::i;:::-;;:::i;6483:30::-;;;;;;;;;;-1:-1:-1;6483:30:0;;;;-1:-1:-1;;;;;6483:30:0;;;;;;-1:-1:-1;;;;;5455:32:1;;;5437:51;;5425:2;5410:18;6483:30:0;5291:203:1;5746:30:0;;;;;;;;;;;;;;;;5712:27;;;;;;;;;;;;;;;;9134:78;;;;;;;;;;-1:-1:-1;9186:7:0;9204:5;-1:-1:-1;;;;;9204:5:0;9134:78;;6520:24;;;;;;;;;;-1:-1:-1;6520:24:0;;;;-1:-1:-1;;;;;6520:24:0;;;8958:84;;;;;;;;;;;;;:::i;6255:27::-;;;;;;;;;;;;;;;;6710:19;;;;;;;;;;-1:-1:-1;6710:19:0;;;;-1:-1:-1;;;;;6710:19:0;;;16921:300;;;;;;;;;;-1:-1:-1;16921:300:0;;;;;:::i;:::-;;:::i;2688:94::-;;;;;;;;;;-1:-1:-1;2688:94:0;;;;;:::i;:::-;;:::i;9468:64::-;;;;;;;;;;-1:-1:-1;9526:4:0;;-1:-1:-1;;;;;9526:4:0;9468:64;;6446:30;;;;;;;;;;-1:-1:-1;6446:30:0;;;;-1:-1:-1;;;;;6446:30:0;;;9329:133;;;;;;;;;;-1:-1:-1;9329:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9431:19:0;;;9413:7;9431:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9329:133;13433:72;;;;;;;;;;;;;:::i;13727:183::-;;;;;;;;;;-1:-1:-1;13727:183:0;;;;;:::i;:::-;;:::i;2790:97::-;;;;;;;;;;-1:-1:-1;2790:97:0;;;;;:::i;:::-;;:::i;3121:173::-;;;;;;;;;;-1:-1:-1;3121:173:0;;;;;:::i;:::-;;:::i;6679:24::-;;;;;;;;;;-1:-1:-1;6679:24:0;;;;-1:-1:-1;;;;;6679:24:0;;;3006:107;;;;;;;;;;-1:-1:-1;3006:107:0;;;;;:::i;:::-;;:::i;9048:80::-;9096:13;9120:5;9113:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9048:80;:::o;9540:216::-;9644:10;9615:4;9632:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9632:32:0;;;;;;;;;;:41;;;9689:37;9615:4;;9632:32;;9689:37;;;;9667:6;160:25:1;;148:2;133:18;;14:177;9689:37:0;;;;;;;;-1:-1:-1;9744:4:0;9540:216;;;;;:::o;10231:657::-;2629:24;2642:10;2629:12;:24::i;:::-;2621:48;;;;-1:-1:-1;;;2621:48:0;;;;;;;:::i;:::-;;;;;;;;;10425:4:::1;10375:45;10412:7:::0;10375:32:::1;:13:::0;10393;10375:17:::1;:32::i;:::-;:36:::0;::::1;:45::i;:::-;10374:55;;10366:64;;;::::0;::::1;;10441:15;:31:::0;;;10483:15:::1;:31:::0;;;10525:9:::1;:19:::0;;;10572:16:::1;::::0;:35:::1;::::0;10459:13;10572:20:::1;:35::i;:::-;10557:12;:50:::0;10633:16:::1;::::0;:35:::1;::::0;10654:13;10633:20:::1;:35::i;:::-;10618:12;:50:::0;10688:10:::1;::::0;:23:::1;::::0;10703:7;10688:14:::1;:23::i;:::-;10679:6;:32:::0;10788:8:::1;::::0;10738:59:::1;::::0;:45:::1;10775:7:::0;10738:45;:13;10756;10738:17:::1;:32::i;:59::-;10724:11;:73;;;;10819:61;10866:13;;10819:42;10854:6;;10819:30;10836:12;;10819;;:16;;:30;;;;:::i;:61::-;10808:8;:72:::0;-1:-1:-1;;;10231:657:0:o;10900:659::-;2629:24;2642:10;2629:12;:24::i;:::-;2621:48;;;;-1:-1:-1;;;2621:48:0;;;;;;;:::i;:::-;11095:4:::1;11045:45;11082:7:::0;11045:32:::1;:13:::0;11063;11045:17:::1;:32::i;:45::-;11044:55;;11036:64;;;::::0;::::1;;11111:16;:32:::0;;;11154:16:::1;:32:::0;;;11197:10:::1;:20:::0;;;11245:15:::1;::::0;:34:::1;::::0;11130:13;11245:19:::1;:34::i;:::-;11230:12;:49:::0;11305:15:::1;::::0;:34:::1;::::0;11325:13;11305:19:::1;:34::i;:::-;11290:12;:49:::0;11359:9:::1;::::0;:22:::1;::::0;11373:7;11359:13:::1;:22::i;:::-;11350:6;:31:::0;11459:8:::1;::::0;11409:59:::1;::::0;:45:::1;11446:7:::0;11409:45;:13;11427;11409:17:::1;:32::i;:59::-;11394:12;:74;;;;11490:61;11537:13;;11490:42;11525:6;;11490:30;11507:12;;11490;;:16;;:30;;;;:::i;12342:209::-:0;2950:4;2985:5;-1:-1:-1;;;;;2985:5:0;2547:10;2974:16;2531:38;;;;-1:-1:-1;;;2531:38:0;;;;;;;:::i;:::-;12441:9:::1;12437:107;12459:8;:15;12455:1;:19;12437:107;;;12525:5;12495:14;:27;12510:8;12519:1;12510:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12495:27:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12495:27:0;:35;;-1:-1:-1;;12495:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12476:3;::::1;::::0;::::1;:::i;:::-;;;;12437:107;;;;12342:209:::0;;:::o;12565:203::-;12699:15;;12659:21;;-1:-1:-1;;;;;12699:15:0;12691:69;12756:3;12725:28;12737:16;12659:21;12725:28;:::i;:::-;:34;;;;:::i;:::-;12691:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17229:528;17329:4;-1:-1:-1;;;;;17354:20:0;;17346:70;;;;-1:-1:-1;;;17346:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17435:23:0;;17427:71;;;;-1:-1:-1;;;17427:71:0;;;;;;;:::i;:::-;17547:12;;-1:-1:-1;;;;;17512:19:0;;;;;;:11;:19;;;;;;;;17532:10;17512:31;;;;;;;;:47;17509:181;;17609:69;;;;;;;;;;;-1:-1:-1;;;17609:69:0;;;;;;;;-1:-1:-1;;;;;17609:19:0;;-1:-1:-1;17609:19:0;;;:11;:19;;;;;17629:10;17609:31;;;;;;;;;;:69;;17645:6;;17609:35;:69::i;:::-;-1:-1:-1;;;;;17575:19:0;;;;;;:11;:19;;;;;;;;17595:10;17575:31;;;;;;;:103;17509:181;17709:40;17723:6;17731:9;17742:6;17709:13;:40::i;:::-;17702:47;;17229:528;;;;;;:::o;13513:80::-;2950:4;2985:5;-1:-1:-1;;;;;2985:5:0;2547:10;2974:16;2531:38;;;;-1:-1:-1;;;2531:38:0;;;;;;;:::i;:::-;13567:11:::1;:18:::0;;-1:-1:-1;;;;13567:18:0::1;-1:-1:-1::0;;;13567:18:0::1;::::0;;13513:80::o;9764:117::-;9819:4;9843:30;9851:7;9860:12;;9843:7;:30::i;12204:126::-;2950:4;2985:5;-1:-1:-1;;;;;2985:5:0;2547:10;2974:16;2531:38;;;;-1:-1:-1;;;2531:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12291:23:0;;;::::1;;::::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;12291:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12204:126::o;12013:183::-;2629:24;2642:10;2629:12;:24::i;:::-;2621:48;;;;-1:-1:-1;;;2621:48:0;;;;;;;:::i;:::-;12100:1:::1;12089:7;:12;;12081:21;;;::::0;::::1;;12184:4;12172:7;12157:12;;:22;;;;:::i;:::-;12155:33;;;;:::i;:::-;12140:12;:48:::0;-1:-1:-1;12013:183:0:o;11818:187::-;2629:24;2642:10;2629:12;:24::i;:::-;2621:48;;;;-1:-1:-1;;;2621:48:0;;;;;;;:::i;:::-;11907:2:::1;11896:7;:13;;11888:22;;;::::0;::::1;;11993:4;11981:7;11966:12;;:22;;;;:::i;:::-;11964:33;;;;:::i;:::-;11946:15;:51:::0;-1:-1:-1;11818:187:0:o;11567:243::-;2629:24;2642:10;2629:12;:24::i;:::-;2621:48;;;;-1:-1:-1;;;2621:48:0;;;;;;;:::i;:::-;11690:15:::1;:34:::0;;-1:-1:-1;;;;;11690:34:0;;::::1;-1:-1:-1::0;;;;;;11690:34:0;;::::1;;::::0;;;11735:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;11780:9:::1;:22:::0;;;;;::::1;::::0;::::1;;::::0;;11567:243::o;8958:84::-;9008:13;9032:7;9025:14;;;;;:::i;16921:300::-;17001:4;17022:5;;17031:10;-1:-1:-1;;;;;17022:5:0;;;:19;17018:196;;17064:45;17079:10;17091:9;17102:6;17064:14;:45::i;:::-;17057:52;;;;17018:196;17158:44;17172:10;17184:9;17195:6;17158:13;:44::i;2688:94::-;2950:4;2985:5;-1:-1:-1;;;;;2985:5:0;2547:10;2974:16;2531:38;;;;-1:-1:-1;;;2531:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2748:19:0::1;;::::0;;;2770:4:::1;2748:19;::::0;;;;;;;:26;;-1:-1:-1;;2748:26:0::1;::::0;;::::1;::::0;;2688:94::o;13433:72::-;2629:24;2642:10;2629:12;:24::i;:::-;2621:48;;;;-1:-1:-1;;;2621:48:0;;;;;;;:::i;:::-;13483:6:::1;:14:::0;;-1:-1:-1;;;;13483:14:0::1;::::0;;13433:72::o;13727:183::-;2629:24;2642:10;2629:12;:24::i;:::-;2621:48;;;;-1:-1:-1;;;2621:48:0;;;;;;;:::i;:::-;13823:11:::1;:22:::0;;-1:-1:-1;;;;13823:22:0::1;-1:-1:-1::0;;;13823:22:0;::::1;;;;::::0;;13886:15:::1;5664:1;13886:2;:15;:::i;:::-;13872:30;::::0;:10;:30:::1;:::i;:::-;13856:13;:46:::0;-1:-1:-1;;13727:183:0:o;2790:97::-;2950:4;2985:5;-1:-1:-1;;;;;2985:5:0;2547:10;2974:16;2531:38;;;;-1:-1:-1;;;2531:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2852:19:0::1;2874:5;2852:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;2852:27:0::1;::::0;;2790:97::o;3121:173::-;2950:4;2985:5;-1:-1:-1;;;;;2985:5:0;2547:10;2974:16;2531:38;;;;-1:-1:-1;;;2531:38:0;;;;;;;:::i;:::-;3197:5:::1;:11:::0;;-1:-1:-1;;;;;;3197:11:0::1;-1:-1:-1::0;;;;;3197:11:0;::::1;::::0;;::::1;::::0;;3219:19;;;-1:-1:-1;3219:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3219:26:0::1;::::0;;::::1;::::0;;;3261:25;;5437:51:1;;;3261:25:0::1;::::0;5410:18:1;3261:25:0::1;;;;;;;3121:173:::0;:::o;3006:107::-;-1:-1:-1;;;;;3086:19:0;3062:4;3086:19;;;:14;:19;;;;;;;;;3006:107::o;86:181::-;144:7;;176:5;180:1;176;:5;:::i;:::-;164:17;;205:1;200;:6;;192:46;;;;-1:-1:-1;;;192:46:0;;11230:2:1;192:46:0;;;11212:21:1;11269:2;11249:18;;;11242:30;11308:29;11288:18;;;11281:57;11355:18;;192:46:0;11028:351:1;415:192:0;501:7;537:12;529:6;;;;521:29;;;;-1:-1:-1;;;521:29:0;;;;;;;;:::i;:::-;-1:-1:-1;561:9:0;573:5;577:1;573;:5;:::i;:::-;561:17;415:192;-1:-1:-1;;;;;415:192:0:o;17765:1242::-;17857:4;-1:-1:-1;;;;;17884:20:0;;17876:70;;;;-1:-1:-1;;;17876:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17965:23:0;;17957:71;;;;-1:-1:-1;;;17957:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18048:22:0;;;;;;:14;:22;;;;;;;;18047:23;:53;;;;-1:-1:-1;;;;;;18075:25:0;;;;;;:14;:25;;;;;;;;18074:26;18047:53;18039:79;;;;-1:-1:-1;;;18039:79:0;;11719:2:1;18039:79:0;;;11701:21:1;11758:2;11738:18;;;11731:30;-1:-1:-1;;;11777:18:1;;;11770:43;11830:18;;18039:79:0;11517:337:1;18039:79:0;-1:-1:-1;;;;;18135:22:0;;;;;;:14;:22;;;;;;;;;:51;;-1:-1:-1;;;;;;18161:25:0;;;;;;:14;:25;;;;;;;;18135:51;18131:131;;;18209:41;18224:6;18232:9;18243:6;18209:14;:41::i;:::-;18202:48;;;;18131:131;18277:6;;;;18274:63;;;18293:41;18308:6;18316:9;18327:6;18293:14;:41::i;18274:63::-;-1:-1:-1;;;;;18353:22:0;;;;;;:14;:22;;;;;;;;18352:23;:53;;;;-1:-1:-1;;;;;;18380:25:0;;;;;;:14;:25;;;;;;;;18379:26;18352:53;18349:127;;;18429:11;;-1:-1:-1;;;18429:11:0;;;;18421:43;;;;-1:-1:-1;;;18421:43:0;;12061:2:1;18421:43:0;;;12043:21:1;12100:2;12080:18;;;12073:30;-1:-1:-1;;;12119:18:1;;;12112:50;12179:18;;18421:43:0;11859:344:1;18421:43:0;18500:6;;-1:-1:-1;;;18500:6:0;;;;18496:76;;;18522:38;18534:6;18542:9;18553:6;18522:11;:38::i;:::-;18587:26;18603:9;18587:15;:26::i;:::-;18584:46;;;18616:11;:9;:11::i;:::-;18670:53;;;;;;;;;;;-1:-1:-1;;;18670:53:0;;;;;;;;-1:-1:-1;;;;;18670:17:0;;-1:-1:-1;18670:17:0;;;:9;:17;;;;;;;;:53;;18692:6;;18670:21;:53::i;:::-;-1:-1:-1;;;;;18650:17:0;;;;;;;:9;:17;;;;;:73;;;;18773:4;;18760:17;;;18773:4;;18760:17;;:35;;-1:-1:-1;18791:4:0;;-1:-1:-1;;;;;18781:14:0;;;18791:4;;18781:14;18760:35;18759:83;;18836:6;18759:83;;;18799:34;18807:6;18815:9;18826:6;18799:7;:34::i;:::-;-1:-1:-1;;;;;18876:20:0;;;;;;:9;:20;;;;;;18734:108;;-1:-1:-1;18876:40:0;;18734:108;18876:24;:40::i;:::-;-1:-1:-1;;;;;18853:20:0;;;;;;;:9;:20;;;;;;;:63;;;;18934:43;;;;;;;;;;18962:14;160:25:1;;148:2;133:18;;14:177;18934:43:0;;;;;;;;-1:-1:-1;18995:4:0;;17765:1242;-1:-1:-1;;;;17765:1242:0:o;9893:330::-;10023:53;;;;;;;;;;;-1:-1:-1;;;10023:53:0;;;;;;;;-1:-1:-1;;;;;10023:17:0;;9986:4;10023:17;;;:9;:17;;;;;;;:53;;10045:6;;10023:21;:53::i;:::-;-1:-1:-1;;;;;10003:17:0;;;;;;;:9;:17;;;;;;:73;;;;10110:20;;;;;;;:32;;10135:6;10110:24;:32::i;:::-;-1:-1:-1;;;;;10087:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10158:35;;;;;;;;;;10186:6;160:25:1;;148:2;133:18;;14:177;10158:35:0;;;;;;;;-1:-1:-1;10211:4:0;9893:330;;;;;:::o;12776:649::-;-1:-1:-1;;;;;12877:22:0;;;;;;:14;:22;;;;;;;;12876:23;:53;;;;-1:-1:-1;;;;;;12903:26:0;;12924:4;12903:26;;12876:53;:80;;;;-1:-1:-1;;;;;;12933:23:0;;12951:4;12933:23;;12876:80;:125;;;;-1:-1:-1;12996:4:0;;-1:-1:-1;;;;;12975:26:0;;;12996:4;;12975:26;;12876:125;:146;;;;-1:-1:-1;13018:4:0;;-1:-1:-1;;;;;13005:17:0;;;13018:4;;13005:17;;12876:146;:178;;;;-1:-1:-1;13039:15:0;;-1:-1:-1;;;;;13026:28:0;;;13039:15;;13026:28;;12876:178;:210;;;;-1:-1:-1;13071:15:0;;-1:-1:-1;;;;;13058:28:0;;;13071:15;;13058:28;;12876:210;12872:424;;;-1:-1:-1;;;;;9302:18:0;;13106;9302;;;:9;:18;;;;;;13199:15;;13175:19;13188:6;9302:18;13175:19;:::i;:::-;13174:40;;13166:114;;;;-1:-1:-1;;;13166:114:0;;12410:2:1;13166:114:0;;;12392:21:1;12449:2;12429:18;;;12422:30;12488:34;12468:18;;;12461:62;12559:32;12539:18;;;12532:60;12609:19;;13166:114:0;12208:426:1;13166:114:0;13087:209;12872:424;13326:12;;13316:6;:22;;:49;;;-1:-1:-1;;;;;;13342:23:0;;;;;;:15;:23;;;;;;;;13316:49;:79;;;-1:-1:-1;;;;;;13369:26:0;;;;;;:15;:26;;;;;;;;13316:79;13308:109;;;;-1:-1:-1;;;13308:109:0;;12841:2:1;13308:109:0;;;12823:21:1;12880:2;12860:18;;;12853:30;-1:-1:-1;;;12899:18:1;;;12892:47;12956:18;;13308:109:0;12639:341:1;13922:216:0;14028:4;;13989;;-1:-1:-1;;;;;14015:17:0;;;14028:4;;14015:17;:37;;;;-1:-1:-1;14046:6:0;;;;14045:7;14015:37;:61;;;;-1:-1:-1;14065:11:0;;-1:-1:-1;;;14065:11:0;;;;14015:61;:115;;;;-1:-1:-1;14117:13:0;;14107:4;14089:24;;;;:9;:24;;;;;;:41;;14008:122;13922:216;-1:-1:-1;;13922:216:0:o;14605:2308::-;6852:6;:13;;-1:-1:-1;;6852:13:0;6861:4;6852:13;;;14674::::1;::::0;14727:12:::1;::::0;6852:6;;14726:70:::1;;14795:1;14726:70;;;14747:45;14790:1;14747:38;14776:8;;14747:24;14758:12;;14747:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:38::i;:45::-;14700:96:::0;-1:-1:-1;14809:20:0::1;14832:27;:6:::0;14700:96;14832:10:::1;:27::i;:::-;14896:16;::::0;;14910:1:::1;14896:16:::0;;;;;::::1;::::0;;14809:50;;-1:-1:-1;14872:21:0::1;::::0;14896:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14896:16:0::1;14872:40;;14941:4;14923;14928:1;14923:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14923:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14967:4:::1;::::0;14957:7;;14967:4;::::1;::::0;14957;;14967;;14957:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;14957:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15042:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15042:188:0;;15008:21:::1;::::0;15042:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15114:12;;14984:21:::1;::::0;15157:4;;15184::::1;::::0;15204:15:::1;::::0;15042:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15243:15;15269:16:::0;15298:17:::1;15318:40;15344:13;15318:21;:25;;:40;;;;:::i;:::-;15298:60;;15369:19;15407:1:::0;15392:12:::1;;:16;15391:65;;15448:8;;15391:65;;;15425:12;::::0;15412:33:::1;::::0;15425:19:::1;::::0;15442:1:::1;15425:16;:19::i;:::-;15412:8;::::0;;:12:::1;:33::i;:::-;15473:13;::::0;15369:87;;-1:-1:-1;15473:17:0;15469:503:::1;;15506:21;15530:45;15563:11;15530:28;15544:13;;15530:9;:13;;:28;;;;:::i;:45::-;15506:69:::0;-1:-1:-1;15590:24:0::1;15617:20;15506:69:::0;15635:1:::1;15617:17;:20::i;:::-;15590:47:::0;-1:-1:-1;15652:25:0::1;15680:35;:13:::0;15590:47;15680:17:::1;:35::i;:::-;15754:14;::::0;15746:57:::1;::::0;15652:63;;-1:-1:-1;;;;;;15754:14:0::1;::::0;15782:16;;15746:57:::1;::::0;;;15782:16;15754:14;15746:57:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15843:14:0::1;::::0;15835:58:::1;::::0;15730:73;;-1:-1:-1;;;;;;15843:14:0::1;::::0;15871:17;;15835:58:::1;::::0;;;15871:17;15843:14;15835:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15921:5:0::1;::::0;-1:-1:-1;15921:5:0;;-1:-1:-1;;;;;;15469:503:0::1;15984:26;16013:51;16062:1;16013:44;16045:11;16013:27;16027:12;;16013:9;:13;;:27;;;;:::i;:51::-;16079:6;::::0;15984:80;;-1:-1:-1;16079:10:0;16075:229:::1;;16105:20;16128:38;16154:11;16128:21;16142:6;;16128:9;:13;;:21;;;;:::i;:38::-;16219:9;::::0;16211:48:::1;::::0;16105:61;;-1:-1:-1;;;;;;16219:9:0::1;::::0;16105:61;;16211:48:::1;::::0;;;16105:61;16219:9;16211:48:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16287:5:0::1;::::0;-1:-1:-1;;;;16075:229:0::1;16319:19:::0;;16316:356:::1;;16354:6;::::0;16528:15:::1;::::0;16354:238:::1;::::0;-1:-1:-1;;;16354:238:0;;16430:4:::1;16354:238;::::0;::::1;14521:34:1::0;14571:18;;;14564:34;;;16354:6:0::1;14614:18:1::0;;;14607:34;;;14657:18;;;14650:34;-1:-1:-1;;;;;16528:15:0;;::::1;14700:19:1::0;;;14693:44;16562:15:0::1;14753:19:1::0;;;14746:35;16354:6:0;::::1;::::0;:22:::1;::::0;16384:18;;14455:19:1;;16354:238:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16612:48:0::1;::::0;;15277:25:1;;;15333:2;15318:18;;15311:34;;;16612:48:0::1;::::0;-1:-1:-1;15250:18:1;16612:48:0::1;;;;;;;16316:356;16686:12;::::0;:16;16682:224:::1;;16809:15;::::0;16801:60:::1;::::0;16747:21:::1;::::0;-1:-1:-1;;;;;16809:15:0::1;::::0;16747:21;;16801:60:::1;::::0;;;16747:21;16809:15;16801:60:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16889:5:0::1;::::0;-1:-1:-1;;;;16682:224:0::1;-1:-1:-1::0;;6870:6:0;:14;;-1:-1:-1;;6870:14:0;;;-1:-1:-1;;;;;;;;14605:2308:0:o;14146:451::-;14310:4;;14232:7;;;;-1:-1:-1;;;;;14297:17:0;;;14310:4;;14297:17;14296:48;;14333:11;;14296:48;;;14318:12;;14296:48;14284:60;-1:-1:-1;14357:17:0;14377:32;14403:5;14377:21;:6;14284:60;14377:10;:21::i;:32::-;14467:4;14449:24;;;;:9;:24;;;;;;14357:52;;-1:-1:-1;14449:39:0;;14357:52;14449:28;:39::i;:::-;14440:4;14422:24;;;;:9;:24;;;;;;;:66;;;;14506:42;;-1:-1:-1;;;;;14506:42:0;;;;;;;14538:9;160:25:1;;148:2;133:18;;14:177;14506:42:0;;;;;;;;14568:21;:6;14579:9;14568:10;:21::i;:::-;14561:28;14146:451;-1:-1:-1;;;;;;14146:451:0:o;613:250::-;671:7;695:1;700;695:6;691:47;;-1:-1:-1;725:1:0;718:8;;691:47;750:9;762:5;766:1;762;:5;:::i;:::-;750:17;-1:-1:-1;795:1:0;786:5;790:1;750:17;786:5;:::i;:::-;:10;778:56;;;;-1:-1:-1;;;778:56:0;;15558:2:1;778:56:0;;;15540:21:1;15597:2;15577:18;;;15570:30;15636:34;15616:18;;;15609:62;-1:-1:-1;;;15687:18:1;;;15680:31;15728:19;;778:56:0;15356:397:1;869:132:0;927:7;954:39;958:1;961;954:39;;;;;;;;;;;;;;;;;:3;:39::i;273:136::-;331:7;358:43;362:1;365;358:43;;;;;;;;;;;;;;;;;:3;:43::i;1007:345::-;1093:7;1195:12;1188:5;1180:28;;;;-1:-1:-1;;;1180:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1219:9:0;1231:5;1235:1;1231;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:134::-;953:20;;982:31;953:20;982:31;:::i;:::-;885:134;;;:::o;1024:315::-;1092:6;1100;1153:2;1141:9;1132:7;1128:23;1124:32;1121:52;;;1169:1;1166;1159:12;1121:52;1208:9;1195:23;1227:31;1252:5;1227:31;:::i;:::-;1277:5;1329:2;1314:18;;;;1301:32;;-1:-1:-1;;;1024:315:1:o;1536:316::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;-1:-1:-1;;1721:23:1;;;1791:2;1776:18;;1763:32;;-1:-1:-1;1842:2:1;1827:18;;;1814:32;;1536:316;-1:-1:-1;1536:316:1:o;1857:127::-;1918:10;1913:3;1909:20;1906:1;1899:31;1949:4;1946:1;1939:15;1973:4;1970:1;1963:15;1989:160;2054:20;;2110:13;;2103:21;2093:32;;2083:60;;2139:1;2136;2129:12;2154:1191;2244:6;2252;2305:2;2293:9;2284:7;2280:23;2276:32;2273:52;;;2321:1;2318;2311:12;2273:52;2361:9;2348:23;2390:18;2431:2;2423:6;2420:14;2417:34;;;2447:1;2444;2437:12;2417:34;2485:6;2474:9;2470:22;2460:32;;2530:7;2523:4;2519:2;2515:13;2511:27;2501:55;;2552:1;2549;2542:12;2501:55;2588:2;2575:16;2610:4;2633:2;2629;2626:10;2623:36;;;2639:18;;:::i;:::-;2685:2;2682:1;2678:10;2717:2;2711:9;2780:2;2776:7;2771:2;2767;2763:11;2759:25;2751:6;2747:38;2835:6;2823:10;2820:22;2815:2;2803:10;2800:18;2797:46;2794:72;;;2846:18;;:::i;:::-;2882:2;2875:22;2932:18;;;2966:15;;;;-1:-1:-1;3008:11:1;;;3004:20;;;3036:19;;;3033:39;;;3068:1;3065;3058:12;3033:39;3092:11;;;;3112:148;3128:6;3123:3;3120:15;3112:148;;;3194:23;3213:3;3194:23;:::i;:::-;3182:36;;3145:12;;;;3238;;;;3112:148;;;3279:6;-1:-1:-1;3304:35:1;;-1:-1:-1;3320:18:1;;;3304:35;:::i;:::-;3294:45;;;;;;2154:1191;;;;;:::o;3350:180::-;3409:6;3462:2;3450:9;3441:7;3437:23;3433:32;3430:52;;;3478:1;3475;3468:12;3430:52;-1:-1:-1;3501:23:1;;3350:180;-1:-1:-1;3350:180:1:o;3535:456::-;3612:6;3620;3628;3681:2;3669:9;3660:7;3656:23;3652:32;3649:52;;;3697:1;3694;3687:12;3649:52;3736:9;3723:23;3755:31;3780:5;3755:31;:::i;:::-;3805:5;-1:-1:-1;3862:2:1;3847:18;;3834:32;3875:33;3834:32;3875:33;:::i;:::-;3535:456;;3927:7;;-1:-1:-1;;;3981:2:1;3966:18;;;;3953:32;;3535:456::o;3996:247::-;4055:6;4108:2;4096:9;4087:7;4083:23;4079:32;4076:52;;;4124:1;4121;4114:12;4076:52;4163:9;4150:23;4182:31;4207:5;4182:31;:::i;4437:315::-;4502:6;4510;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:31;4662:5;4637:31;:::i;:::-;4687:5;-1:-1:-1;4711:35:1;4742:2;4727:18;;4711:35;:::i;:::-;4701:45;;4437:315;;;;;:::o;4757:529::-;4834:6;4842;4850;4903:2;4891:9;4882:7;4878:23;4874:32;4871:52;;;4919:1;4916;4909:12;4871:52;4958:9;4945:23;4977:31;5002:5;4977:31;:::i;:::-;5027:5;-1:-1:-1;5084:2:1;5069:18;;5056:32;5097:33;5056:32;5097:33;:::i;:::-;5149:7;-1:-1:-1;5208:2:1;5193:18;;5180:32;5221:33;5180:32;5221:33;:::i;:::-;5273:7;5263:17;;;4757:529;;;;;:::o;5499:388::-;5567:6;5575;5628:2;5616:9;5607:7;5603:23;5599:32;5596:52;;;5644:1;5641;5634:12;5596:52;5683:9;5670:23;5702:31;5727:5;5702:31;:::i;:::-;5752:5;-1:-1:-1;5809:2:1;5794:18;;5781:32;5822:33;5781:32;5822:33;:::i;:::-;5874:7;5864:17;;;5499:388;;;;;:::o;5892:248::-;5957:6;5965;6018:2;6006:9;5997:7;5993:23;5989:32;5986:52;;;6034:1;6031;6024:12;5986:52;6057:26;6073:9;6057:26;:::i;6631:380::-;6710:1;6706:12;;;;6753;;;6774:61;;6828:4;6820:6;6816:17;6806:27;;6774:61;6881:2;6873:6;6870:14;6850:18;6847:38;6844:161;;6927:10;6922:3;6918:20;6915:1;6908:31;6962:4;6959:1;6952:15;6990:4;6987:1;6980:15;6844:161;;6631:380;;;:::o;7016:335::-;7218:2;7200:21;;;7257:2;7237:18;;;7230:30;-1:-1:-1;;;7291:2:1;7276:18;;7269:41;7342:2;7327:18;;7016:335::o;7356:329::-;7558:2;7540:21;;;7597:1;7577:18;;;7570:29;-1:-1:-1;;;7630:2:1;7615:18;;7608:36;7676:2;7661:18;;7356:329::o;7690:127::-;7751:10;7746:3;7742:20;7739:1;7732:31;7782:4;7779:1;7772:15;7806:4;7803:1;7796:15;7822:127;7883:10;7878:3;7874:20;7871:1;7864:31;7914:4;7911:1;7904:15;7938:4;7935:1;7928:15;7954:135;7993:3;8014:17;;;8011:43;;8034:18;;:::i;:::-;-1:-1:-1;8081:1:1;8070:13;;7954:135::o;8094:168::-;8167:9;;;8198;;8215:15;;;8209:22;;8195:37;8185:71;;8236:18;;:::i;8267:217::-;8307:1;8333;8323:132;;8377:10;8372:3;8368:20;8365:1;8358:31;8412:4;8409:1;8402:15;8440:4;8437:1;8430:15;8323:132;-1:-1:-1;8469:9:1;;8267:217::o;8489:401::-;8691:2;8673:21;;;8730:2;8710:18;;;8703:30;8769:34;8764:2;8749:18;;8742:62;-1:-1:-1;;;8835:2:1;8820:18;;8813:35;8880:3;8865:19;;8489:401::o;8895:399::-;9097:2;9079:21;;;9136:2;9116:18;;;9109:30;9175:34;9170:2;9155:18;;9148:62;-1:-1:-1;;;9241:2:1;9226:18;;9219:33;9284:3;9269:19;;8895:399::o;9299:422::-;9388:1;9431:5;9388:1;9445:270;9466:7;9456:8;9453:21;9445:270;;;9525:4;9521:1;9517:6;9513:17;9507:4;9504:27;9501:53;;;9534:18;;:::i;:::-;9584:7;9574:8;9570:22;9567:55;;;9604:16;;;;9567:55;9683:22;;;;9643:15;;;;9445:270;;;9449:3;9299:422;;;;;:::o;9726:806::-;9775:5;9805:8;9795:80;;-1:-1:-1;9846:1:1;9860:5;;9795:80;9894:4;9884:76;;-1:-1:-1;9931:1:1;9945:5;;9884:76;9976:4;9994:1;9989:59;;;;10062:1;10057:130;;;;9969:218;;9989:59;10019:1;10010:10;;10033:5;;;10057:130;10094:3;10084:8;10081:17;10078:43;;;10101:18;;:::i;:::-;-1:-1:-1;;10157:1:1;10143:16;;10172:5;;9969:218;;10271:2;10261:8;10258:16;10252:3;10246:4;10243:13;10239:36;10233:2;10223:8;10220:16;10215:2;10209:4;10206:12;10202:35;10199:77;10196:159;;;-1:-1:-1;10308:19:1;;;10340:5;;10196:159;10387:34;10412:8;10406:4;10387:34;:::i;:::-;10457:6;10453:1;10449:6;10445:19;10436:7;10433:32;10430:58;;;10468:18;;:::i;:::-;10506:20;;9726:806;-1:-1:-1;;;9726:806:1:o;10537:140::-;10595:5;10624:47;10665:4;10655:8;10651:19;10645:4;10624:47;:::i;10898:125::-;10963:9;;;10984:10;;;10981:36;;;10997:18;;:::i;11384:128::-;11451:9;;;11472:11;;;11469:37;;;11486:18;;:::i;12985:980::-;13247:4;13295:3;13284:9;13280:19;13326:6;13315:9;13308:25;13352:2;13390:6;13385:2;13374:9;13370:18;13363:34;13433:3;13428:2;13417:9;13413:18;13406:31;13457:6;13492;13486:13;13523:6;13515;13508:22;13561:3;13550:9;13546:19;13539:26;;13600:2;13592:6;13588:15;13574:29;;13621:1;13631:195;13645:6;13642:1;13639:13;13631:195;;;13710:13;;-1:-1:-1;;;;;13706:39:1;13694:52;;13801:15;;;;13766:12;;;;13742:1;13660:9;13631:195;;;-1:-1:-1;;;;;;;13882:32:1;;;;13877:2;13862:18;;13855:60;-1:-1:-1;;;13946:3:1;13931:19;13924:35;13843:3;12985:980;-1:-1:-1;;;12985:980:1:o;14792:306::-;14880:6;14888;14896;14949:2;14937:9;14928:7;14924:23;14920:32;14917:52;;;14965:1;14962;14955:12;14917:52;14994:9;14988:16;14978:26;;15044:2;15033:9;15029:18;15023:25;15013:35;;15088:2;15077:9;15073:18;15067:25;15057:35;;14792:306;;;;;:::o
Swarm Source
ipfs://2d7263a339e8c1e26edeb2c6f748156099a0f72f9c6fc72da406cd69badc045e
Loading...
Loading
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.