ERC-20
Overview
Max Total Supply
1,000,000,000 DORKP
Holders
110
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
dorkp
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-06 */ /* https://twitter.com/DorkPrint https://t.me/DorkPrint https://www.dorkprint.com/ */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.13; /** * Standard SafeMath, stripped down to just add/sub/mul/div */ 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; } } /** * ERC20 standard interface. */ 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 Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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; } interface IDorkPrint { function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external; function setShare(address shareholder, uint256 amount) external; function deposit() external payable; function process(uint256 gas) external; function gibTokens(address shareholder) external; } contract DorkPrint is IDorkPrint { using SafeMath for uint256; address _token; address public DORKL; IDEXRouter router; struct Share { uint256 amount; uint256 totalExcluded; uint256 totalRealised; } address[] shareholders; mapping (address => uint256) shareholderIndexes; mapping (address => uint256) shareholderClaims; mapping (address => Share) public shares; uint256 public totalShares; uint256 public totalDividends; uint256 public totalDistributed; uint256 public dividendsPerShare; uint256 public dividendsPerShareAccuracyFactor = 10 ** 36; uint256 public minPeriod = 30 minutes; uint256 public minDistribution = 0 * (10 ** 9); uint256 public currentIndex; bool initialized; modifier initialization() { require(!initialized); _; initialized = true; } modifier onlyToken() { require(msg.sender == _token); _; } constructor () { _token = msg.sender; router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); DORKL = 0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3; } receive() external payable { deposit(); } function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external override onlyToken { minPeriod = newMinPeriod; minDistribution = newMinDistribution; } function setShare(address shareholder, uint256 amount) external override onlyToken { if(shares[shareholder].amount > 0){ distributeDividend(shareholder); } if(amount > 0 && shares[shareholder].amount == 0){ addShareholder(shareholder); }else if(amount == 0 && shares[shareholder].amount > 0){ removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } function deposit() public payable override { uint256 balanceBefore = IERC20(DORKL).balanceOf(address(this)); address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(DORKL); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}( 0, path, address(this), block.timestamp ); uint256 amount = IERC20(DORKL).balanceOf(address(this)).sub(balanceBefore); totalDividends = totalDividends.add(amount); dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)); } function process(uint256 gas) external override { uint256 shareholderCount = shareholders.length; if(shareholderCount == 0) { return; } uint256 iterations = 0; uint256 gasUsed = 0; uint256 gasLeft = gasleft(); while(gasUsed < gas && iterations < shareholderCount) { if(currentIndex >= shareholderCount){ currentIndex = 0; } if(shouldDistribute(shareholders[currentIndex])){ distributeDividend(shareholders[currentIndex]); } gasUsed = gasUsed.add(gasLeft.sub(gasleft())); gasLeft = gasleft(); currentIndex++; iterations++; } } function shouldDistribute(address shareholder) public view returns (bool) { return shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution; } function distributeDividend(address shareholder) internal { if(shares[shareholder].amount == 0){ return; } uint256 amount = getUnpaidEarnings(shareholder); if(amount > 0){ totalDistributed = totalDistributed.add(amount); IERC20(DORKL).transfer(shareholder, amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount); shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } } function gibTokens(address shareholder) external override onlyToken { distributeDividend(shareholder); } function getUnpaidEarnings(address shareholder) public view returns (uint256) { if(shares[shareholder].amount == 0){ return 0; } uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1]; shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder]; shareholders.pop(); } } contract dorkp is Context, IERC20, Ownable { using SafeMath for uint256; address public DORKL = 0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3; //DORKL CA string private constant _name = "\xE1\x97\xaaO\xE1\x96\x87K P\xE1\x96\x87INT"; string private constant _symbol = "DORKP"; uint8 private constant _decimals = 18; uint256 private _totalSupply = 1000000000 * (10 ** _decimals); mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping (address => uint256) private cooldown; address private WETH; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; bool public antiBot = true; mapping (address => bool) private bots; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isDividendExempt; uint256 public launchedAt; address public lpWallet = DEAD; uint256 public buyFee = 25; uint256 public sellFee = 45; uint256 public toReflections = 50; uint256 public toLiquidity = 0; uint256 public toMarketing = 50; uint256 public allocationSum = 100; IDEXRouter public router; address public pair; address public factory; address private tokenOwner; address public devWallet = payable(0x666Eae4331797008E73Ed20F1d443C6599bF2b96); bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public tradingOpen = false; DorkPrint public dorkPrint; uint256 public dorkPrintGas = 0; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } uint256 public maxTx = _totalSupply.div(100); uint256 public maxWallet = _totalSupply.div(50); uint256 public swapThreshold = _totalSupply.div(400); constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; dorkPrint = new DorkPrint(); isFeeExempt[owner()] = true; isFeeExempt[devWallet] = true; isDividendExempt[pair] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[DEAD] = true; isTxLimitExempt[devWallet] = true; _balances[owner()] = _totalSupply; emit Transfer(address(0), owner(), _totalSupply); } receive() external payable { } function setBots(address[] memory bots_) external onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } //once enabled, cannot be reversed function openTrading() external onlyOwner { launchedAt = block.number; tradingOpen = true; } function changeTotalFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner { buyFee = newBuyFee; sellFee = newSellFee; } function changeFeeAllocation(uint256 newRewardFee, uint256 newLpFee, uint256 newMarketingFee) external onlyOwner { toReflections = newRewardFee; toLiquidity = newLpFee; toMarketing = newMarketingFee; } function changeTxLimit(uint256 newLimit) external onlyOwner { maxTx = newLimit; } function changeWalletLimit(uint256 newLimit) external onlyOwner { maxWallet = newLimit; } function changeIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function changeIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setDevWallet(address payable newDevWallet) external onlyOwner { devWallet = payable(newDevWallet); } function setOwnerWallet(address payable newOwnerWallet) external onlyOwner { tokenOwner = newOwnerWallet; } function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; } function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external onlyOwner { dorkPrint.setDistributionCriteria(newMinPeriod, newMinDistribution); } function delBot(address notbot) external onlyOwner { bots[notbot] = false; } function _setIsDividendExempt(address holder, bool exempt) internal { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ dorkPrint.setShare(holder, 0); }else{ dorkPrint.setShare(holder, _balances[holder]); } } function setIsDividendExempt(address holder, bool exempt) external onlyOwner { _setIsDividendExempt(holder, exempt); } function changeDorkPrintGas(uint256 newGas) external onlyOwner { dorkPrintGas = newGas; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure 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 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, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transfer(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transfer(sender, recipient, amount); } function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) { if (sender!= owner() && recipient!= owner()) require(tradingOpen, "hold ur horses big guy."); //transfers disabled before tradingActive require(!bots[sender] && !bots[recipient]); if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); } require(amount <= maxTx || isTxLimitExempt[sender], "tx"); if(!isTxLimitExempt[recipient] && antiBot) { require(_balances[recipient].add(amount) <= maxWallet, "wallet"); } if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); // Dividend tracker if(!isDividendExempt[sender]) { try dorkPrint.setShare(sender, _balances[sender]) {} catch {} } if(!isDividendExempt[recipient]) { try dorkPrint.setShare(recipient, _balances[recipient]) {} catch {} } emit Transfer(sender, recipient, finalAmount); return true; } 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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeApplicable = pair == recipient ? sellFee : buyFee; uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); approve(address(this), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, lpWallet, block.timestamp ); } function swapBack() internal lockTheSwap { uint256 tokenBalance = _balances[address(this)]; uint256 tokensForLiquidity = tokenBalance.mul(toLiquidity).div(100).div(2); uint256 amountToSwap = tokenBalance.sub(tokensForLiquidity); swapTokensForEth(amountToSwap); uint256 totalEthBalance = address(this).balance; uint256 ethForDORKL = totalEthBalance.mul(toReflections).div(100); uint256 ethForDev = totalEthBalance.mul(toMarketing).div(100); uint256 ethForLiquidity = totalEthBalance.mul(toLiquidity).div(100).div(2); if (totalEthBalance > 0){ payable(devWallet).transfer(ethForDev); } try dorkPrint.deposit{value: ethForDORKL}() {} catch {} if (tokensForLiquidity > 0){ addLiquidity(tokensForLiquidity, ethForLiquidity); } } function manualSwapBack() external onlyOwner { swapBack(); } function clearStuckEth() external onlyOwner { uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0){ payable(devWallet).transfer(contractETHBalance); } } function manualProcessGas(uint256 manualGas) external onlyOwner { dorkPrint.process(manualGas); } function checkPendingReflections(address shareholder) external view returns (uint256) { return dorkPrint.getUnpaidEarnings(shareholder); } function getDORKL() external { dorkPrint.gibTokens(msg.sender); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"DORKL","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allocationSum","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":[],"name":"antiBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newGas","type":"uint256"}],"name":"changeDorkPrintGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"}],"name":"changeFeeAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"changeTotalFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"checkPendingReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dorkPrint","outputs":[{"internalType":"contract DorkPrint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dorkPrintGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDORKL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"manualGas","type":"uint256"}],"name":"manualProcessGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newDevWallet","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinPeriod","type":"uint256"},{"internalType":"uint256","name":"newMinDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwnerWallet","type":"address"}],"name":"setOwnerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","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":"pure","type":"function"},{"inputs":[],"name":"toLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b0319167394be6962be41377d5beda8dfe1b100f3bf0eacf3179055620000386012600a62000656565b6200004890633b9aca0062000667565b6002819055600780546001600160a01b031990811661dead908117909255600880546001600160a81b031916600160a01b179055600e805490911690911790556019600f819055602d6010556032601181905560006012819055601391909155606460148190558254600162ffff0160a01b031916750100666eae4331797008e73ed20f1d443c6599bf2b9617909255601b55620000f691906200146a6200049d602090811b91909117901c565b601c556200011660326002546200049d60201b6200146a1790919060201c565b601d55620001376101906002546200049d60201b6200146a1790919060201c565b601e553480156200014757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000214919062000689565b600680546001600160a01b0319166001600160a01b039283161790556015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000299919062000689565b6006546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000311919062000689565b601680546001600160a01b0319166001600160a01b0392831617905530600090815260046020908152604080832060155490941683529290528190206000199055516200035e9062000535565b604051809103906000f0801580156200037b573d6000803e3d6000fd5b50601a80546001600160a01b0319166001600160a01b039283161790556000805482168152600a60209081526040808320805460ff199081166001908117909255601980548716865283862080548316841790556016805488168752600c86528487208054841685179055308752848720805484168517905560078054891688528588208054851686179055875489168852600b8752858820805485168617905590548816875284872080548416851790555487168652838620805483168417905554861685528285208054909116909117905560025483548516845260038352818420819055835491519081529316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000736565b6000620004e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004f060201b60201c565b90505b92915050565b600081836200051d5760405162461bcd60e51b8152600401620005149190620006bb565b60405180910390fd5b5060006200052c848662000713565b95945050505050565b61109d8062002d0e83390190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200059a5781600019048211156200057e576200057e62000543565b808516156200058c57918102915b93841c93908002906200055e565b509250929050565b600082620005b357506001620004ea565b81620005c257506000620004ea565b8160018114620005db5760028114620005e65762000606565b6001915050620004ea565b60ff841115620005fa57620005fa62000543565b50506001821b620004ea565b5060208310610133831016604e8410600b84101617156200062b575081810a620004ea565b62000637838362000559565b80600019048211156200064e576200064e62000543565b029392505050565b6000620004e760ff841683620005a2565b600081600019048311821515161562000684576200068462000543565b500290565b6000602082840312156200069c57600080fd5b81516001600160a01b0381168114620006b457600080fd5b9392505050565b600060208083528351808285015260005b81811015620006ea57858101830151858201604001528201620006cc565b81811115620006fd576000604083870101525b50601f01601f1916929092016040019392505050565b6000826200073157634e487b7160e01b600052601260045260246000fd5b500490565b6125c880620007466000396000f3fe6080604052600436106103905760003560e01c80637db1342c116101dc578063bf56b37111610102578063dd62ed3e116100a0578063f887ea401161006f578063f887ea4014610a80578063f8b45b0514610aa0578063fabe628314610ab6578063ffb54a9914610ad657600080fd5b8063dd62ed3e146109e4578063e36f06da14610a2a578063f2fde38b14610a40578063f708a64f14610a6057600080fd5b8063c9567bf9116100dc578063c9567bf914610979578063caa5581b1461098e578063cc950fbc146109a4578063d920334e146109c457600080fd5b8063bf56b3711461092d578063c45a015514610943578063c8d1293d1461096357600080fd5b80638ea5220f1161017a578063a9059cbb11610149578063a9059cbb146108ad578063b2d946b0146108cd578063b515566a146108ed578063bb542ef01461090d57600080fd5b80638ea5220f1461081f57806395d89b411461083f578063a3a2e89e1461086d578063a8aa1b311461088d57600080fd5b806389291a8f116101b657806389291a8f146107bc578063893d20e8146107d15780638b42507f146107ef5780638da5cb5b146107d157600080fd5b80637db1342c1461075b5780637dfcbe341461077b578063819340311461079c57600080fd5b8063313ce567116102c1578063571ac8b01161025f578063715018a61161022e578063715018a6146106fa5780637437681e1461070f57806375df13051461072557806377359aa71461073b57600080fd5b8063571ac8b01461066f5780636303516c1461068f57806366eb3785146106af57806370a08231146106c457600080fd5b80634355855a1161029b5780634355855a146105f2578063454343771461062257806347062402146106385780634a74bb021461064e57600080fd5b8063313ce567146105865780633dab5269146105a25780633f4218e0146105c257600080fd5b806323b872dd1161032e5780632b14ca56116103085780632b14ca56146105105780632d48e896146105265780632dbea2e11461054657806330ca34ee1461056657600080fd5b806323b872dd146104bb578063273123b7146104db5780632b112e49146104fb57600080fd5b8063095ea7b31161036a578063095ea7b31461041e5780630d815f431461044e57806318160ddd146104865780631f53ac021461049b57600080fd5b80630445b6671461039c57806306fdde03146103c55780630811f9ce1461040757600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b2601e5481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b5060408051808201909152601081526f3865ea93f865a1d2c8143865a1d2539560821b60208201525b6040516103bc91906120f3565b34801561041357600080fd5b5061041c610af7565b005b34801561042a57600080fd5b5061043e61043936600461216d565b610b56565b60405190151581526020016103bc565b34801561045a57600080fd5b50601a5461046e906001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b34801561049257600080fd5b506002546103b2565b3480156104a757600080fd5b5061041c6104b6366004612199565b610bc3565b3480156104c757600080fd5b5061043e6104d63660046121b6565b610c18565b3480156104e757600080fd5b5061041c6104f6366004612199565b610cda565b34801561050757600080fd5b506103b2610d25565b34801561051c57600080fd5b506103b260105481565b34801561053257600080fd5b5061041c6105413660046121f7565b610d77565b34801561055257600080fd5b5061041c610561366004612219565b610e0b565b34801561057257600080fd5b5061041c6105813660046121f7565b610e43565b34801561059257600080fd5b50604051601281526020016103bc565b3480156105ae57600080fd5b5061041c6105bd366004612255565b610e78565b3480156105ce57600080fd5b5061043e6105dd366004612199565b600a6020526000908152604090205460ff1681565b3480156105fe57600080fd5b5061043e61060d366004612199565b600c6020526000908152604090205460ff1681565b34801561062e57600080fd5b506103b260145481565b34801561064457600080fd5b506103b2600f5481565b34801561065a57600080fd5b5060195461043e90600160a81b900460ff1681565b34801561067b57600080fd5b5061043e61068a366004612199565b610ec4565b34801561069b57600080fd5b50600e5461046e906001600160a01b031681565b3480156106bb57600080fd5b5061041c610ed2565b3480156106d057600080fd5b506103b26106df366004612199565b6001600160a01b031660009081526003602052604090205490565b34801561070657600080fd5b5061041c610f06565b34801561071b57600080fd5b506103b2601c5481565b34801561073157600080fd5b506103b260135481565b34801561074757600080fd5b506103b2610756366004612199565b610f7a565b34801561076757600080fd5b5061041c610776366004612271565b610fe9565b34801561078757600080fd5b5060085461043e90600160a01b900460ff1681565b3480156107a857600080fd5b5061041c6107b7366004612271565b611018565b3480156107c857600080fd5b5061041c6110a6565b3480156107dd57600080fd5b506000546001600160a01b031661046e565b3480156107fb57600080fd5b5061043e61080a366004612199565b600b6020526000908152604090205460ff1681565b34801561082b57600080fd5b5060195461046e906001600160a01b031681565b34801561084b57600080fd5b506040805180820190915260058152640444f524b560dc1b60208201526103fa565b34801561087957600080fd5b5061041c61088836600461228a565b611116565b34801561089957600080fd5b5060165461046e906001600160a01b031681565b3480156108b957600080fd5b5061043e6108c836600461216d565b61116b565b3480156108d957600080fd5b5060015461046e906001600160a01b031681565b3480156108f957600080fd5b5061041c6109083660046122d5565b611178565b34801561091957600080fd5b5061041c610928366004612199565b61120a565b34801561093957600080fd5b506103b2600d5481565b34801561094f57600080fd5b5060175461046e906001600160a01b031681565b34801561096f57600080fd5b506103b260125481565b34801561098557600080fd5b5061041c611256565b34801561099a57600080fd5b506103b260115481565b3480156109b057600080fd5b5061041c6109bf366004612271565b611299565b3480156109d057600080fd5b5061041c6109df366004612271565b6112c8565b3480156109f057600080fd5b506103b26109ff36600461239a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a3657600080fd5b506103b2601b5481565b348015610a4c57600080fd5b5061041c610a5b366004612199565b6112f7565b348015610a6c57600080fd5b5061041c610a7b36600461228a565b6113e1565b348015610a8c57600080fd5b5060155461046e906001600160a01b031681565b348015610aac57600080fd5b506103b2601d5481565b348015610ac257600080fd5b5061041c610ad136600461228a565b611415565b348015610ae257600080fd5b5060195461043e90600160b01b900460ff1681565b601a5460405163bd14ae2760e01b81523360048201526001600160a01b039091169063bd14ae2790602401600060405180830381600087803b158015610b3c57600080fd5b505af1158015610b50573d6000803e3d6000fd5b50505050565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610bb19086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610bf65760405162461bcd60e51b8152600401610bed906123d3565b60405180910390fd5b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610cc5576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610ca09184906114ac565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610cd08484846114e6565b90505b9392505050565b6000546001600160a01b03163314610d045760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d72906007546001600160a01b0316600090815260036020526040902054610d6c906002549061199c565b9061199c565b905090565b6000546001600160a01b03163314610da15760405162461bcd60e51b8152600401610bed906123d3565b601a546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610e355760405162461bcd60e51b8152600401610bed906123d3565b601192909255601255601355565b6000546001600160a01b03163314610e6d5760405162461bcd60e51b8152600401610bed906123d3565b600f91909155601055565b6000546001600160a01b03163314610ea25760405162461bcd60e51b8152600401610bed906123d3565b60198054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000610bbd82600019610b56565b6000546001600160a01b03163314610efc5760405162461bcd60e51b8152600401610bed906123d3565b610f046119de565b565b6000546001600160a01b03163314610f305760405162461bcd60e51b8152600401610bed906123d3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601a5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa158015610fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190612408565b6000546001600160a01b031633146110135760405162461bcd60e51b8152600401610bed906123d3565b601d55565b6000546001600160a01b031633146110425760405162461bcd60e51b8152600401610bed906123d3565b601a546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146110d05760405162461bcd60e51b8152600401610bed906123d3565b478015611113576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611111573d6000803e3d6000fd5b505b50565b6000546001600160a01b031633146111405760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610cd33384846114e6565b6000546001600160a01b031633146111a25760405162461bcd60e51b8152600401610bed906123d3565b60005b8151811015611111576001600960008484815181106111c6576111c6612421565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806112028161244d565b9150506111a5565b6000546001600160a01b031633146112345760405162461bcd60e51b8152600401610bed906123d3565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112805760405162461bcd60e51b8152600401610bed906123d3565b43600d556019805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146112c35760405162461bcd60e51b8152600401610bed906123d3565b601b55565b6000546001600160a01b031633146112f25760405162461bcd60e51b8152600401610bed906123d3565b601c55565b6000546001600160a01b031633146113215760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b0381166113865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bed565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461140b5760405162461bcd60e51b8152600401610bed906123d3565b6111118282611b6c565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610cd383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c7d565b600081848411156114d05760405162461bcd60e51b8152600401610bed91906120f3565b5060006114dd8486612466565b95945050505050565b600080546001600160a01b0385811691161480159061151357506000546001600160a01b03848116911614155b1561157157601954600160b01b900460ff166115715760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610bed565b6001600160a01b03841660009081526009602052604090205460ff161580156115b357506001600160a01b03831660009081526009602052604090205460ff16155b6115bc57600080fd5b601954600160a01b900460ff16156115e0576115d9848484611cab565b9050610cd3565b601c548211158061160957506001600160a01b0384166000908152600b602052604090205460ff165b61163a5760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610bed565b6001600160a01b0383166000908152600b602052604090205460ff1615801561166c5750600854600160a01b900460ff165b156116ce57601d546001600160a01b0384166000908152600360205260409020546116979084611d91565b11156116ce5760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610bed565b6016546001600160a01b031633148015906116f35750601954600160a01b900460ff16155b80156117085750601954600160a81b900460ff165b80156117255750601e543060009081526003602052604090205410155b15611732576117326119de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117849184906114ac565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff161580156117d457506001600160a01b0384166000908152600a602052604090205460ff16155b6117de57826117e9565b6117e9858585611df0565b6001600160a01b03851660009081526003602052604090205490915061180f9082611d91565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff166118b357601a546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118a057600080fd5b505af19250505080156118b1575060015b505b6001600160a01b0384166000908152600c602052604090205460ff1661194457601a546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561193157600080fd5b505af1925050508015611942575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161198991815260200190565b60405180910390a3506001949350505050565b6000610cd383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ac565b6019805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a2490600290611a1e9060649082908790611eb3565b9061146a565b90506000611a32838361199c565b9050611a3d81611f35565b60004790506000611a5e6064611a1e60115485611eb390919063ffffffff16565b90506000611a7c6064611a1e60135486611eb390919063ffffffff16565b90506000611a9f6002611a1e6064611a1e60125489611eb390919063ffffffff16565b90508315611ae3576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611ae1573d6000803e3d6000fd5b505b601a60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b3357600080fd5b505af193505050508015611b45575060015b508515611b5657611b56868261205e565b50506019805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611b9357506016546001600160a01b03838116911614155b611b9c57600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611c3457601a54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b158015611c1757600080fd5b505af1158015611c2b573d6000803e3d6000fd5b50505050611111565b601a546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610dd5565b60008183611c9e5760405162461bcd60e51b8152600401610bed91906120f3565b5060006114dd848661247d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611cfc9184906114ac565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611d2b9083611d91565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d7f9086815260200190565b60405180910390a35060019392505050565b600080611d9e838561249f565b905083811015610cd35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bed565b60165460009081906001600160a01b03858116911614611e1257600f54611e16565b6010545b90506000611e296064611a1e8685611eb3565b30600090815260036020526040902054909150611e469082611d91565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e979085815260200190565b60405180910390a3611ea9848261199c565b9695505050505050565b600082600003611ec557506000610bbd565b6000611ed183856124b7565b905082611ede858361247d565b14610cd35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bed565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f6a57611f6a612421565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe791906124d6565b81600181518110611ffa57611ffa612421565b60200260200101906001600160a01b031690816001600160a01b0316815250506120243083610b56565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dd59085906000908690309042906004016124f3565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120ce573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061109f9190612564565b600060208083528351808285015260005b8181101561212057858101830151858201604001528201612104565b81811115612132576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461111357600080fd5b803561216881612148565b919050565b6000806040838503121561218057600080fd5b823561218b81612148565b946020939093013593505050565b6000602082840312156121ab57600080fd5b8135610cd381612148565b6000806000606084860312156121cb57600080fd5b83356121d681612148565b925060208401356121e681612148565b929592945050506040919091013590565b6000806040838503121561220a57600080fd5b50508035926020909101359150565b60008060006060848603121561222e57600080fd5b505081359360208301359350604090920135919050565b8035801515811461216857600080fd5b6000806040838503121561226857600080fd5b61218b83612245565b60006020828403121561228357600080fd5b5035919050565b6000806040838503121561229d57600080fd5b82356122a881612148565b91506122b660208401612245565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122e857600080fd5b823567ffffffffffffffff8082111561230057600080fd5b818501915085601f83011261231457600080fd5b813581811115612326576123266122bf565b8060051b604051601f19603f8301168101818110858211171561234b5761234b6122bf565b60405291825284820192508381018501918883111561236957600080fd5b938501935b8285101561238e5761237f8561215d565b8452938501939285019261236e565b98975050505050505050565b600080604083850312156123ad57600080fd5b82356123b881612148565b915060208301356123c881612148565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561241a57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161245f5761245f612437565b5060010190565b60008282101561247857612478612437565b500390565b60008261249a57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156124b2576124b2612437565b500190565b60008160001904831182151516156124d1576124d1612437565b500290565b6000602082840312156124e857600080fd5b8151610cd381612148565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125435784516001600160a01b03168352938301939183019160010161251e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561257957600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220249dc8a0575707c36766557d9b6ee3639f41ae0b1fa224f450889d2a86b176a664736f6c634300080d003360806040526ec097ce7bc90715b34b9f1000000000600b55610708600c556000600d5534801561002e57600080fd5b50600080546001600160a01b03199081163317909155600280548216737a250d5630b4cf539739df2c5dacb4c659f2488d179055600180549091167394be6962be41377d5beda8dfe1b100f3bf0eacf317905561100d806100906000396000f3fe6080604052600436106101025760003560e01c8063997664d711610095578063d0e30db011610064578063d0e30db0146102d6578063e2d2e219146102de578063efca2eed146102f4578063ffb2c4791461030a578063ffd49c841461032a57600080fd5b8063997664d714610211578063b2d946b014610227578063bd14ae271461025f578063ce7c2ac21461027f57600080fd5b80632d48e896116100d15780632d48e896146101955780633a98ef39146101b55780634fab0ae8146101cb5780638c21cd52146101e157600080fd5b806311ce023d1461011657806314b6ca961461013f57806326987b601461015f57806328fd31981461017557600080fd5b366101115761010f610340565b005b600080fd5b34801561012257600080fd5b5061012c600b5481565b6040519081526020015b60405180910390f35b34801561014b57600080fd5b5061010f61015a366004610d71565b6105b8565b34801561016b57600080fd5b5061012c600e5481565b34801561018157600080fd5b5061012c610190366004610d9d565b610730565b3480156101a157600080fd5b5061010f6101b0366004610dba565b6107bb565b3480156101c157600080fd5b5061012c60075481565b3480156101d757600080fd5b5061012c600d5481565b3480156101ed57600080fd5b506102016101fc366004610d9d565b6107dd565b6040519015158152602001610136565b34801561021d57600080fd5b5061012c60085481565b34801561023357600080fd5b50600154610247906001600160a01b031681565b6040516001600160a01b039091168152602001610136565b34801561026b57600080fd5b5061010f61027a366004610d9d565b610823565b34801561028b57600080fd5b506102bb61029a366004610d9d565b60066020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610136565b61010f610340565b3480156102ea57600080fd5b5061012c600a5481565b34801561030057600080fd5b5061012c60095481565b34801561031657600080fd5b5061010f610325366004610ddc565b610846565b34801561033657600080fd5b5061012c600c5481565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ad9190610df5565b60408051600280825260608201835292935060009290916020830190803683375050600254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610e0e565b8160008151811061045357610453610e2b565b6001600160a01b039283166020918202929092010152600180548351921691839190811061048357610483610e2b565b6001600160a01b03928316602091820292909201015260025460405163b6f9de9560e01b815291169063b6f9de959034906104c990600090869030904290600401610e41565b6000604051808303818588803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b50506001546040516370a0823160e01b81523060048201526000945061057693508692506001600160a01b03909116906370a0823190602401602060405180830381865afa15801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190610df5565b90610933565b600854909150610586908261097c565b600855600754600b546105b0916105a7916105a190856109e0565b90610a62565b600a549061097c565b600a55505050565b6000546001600160a01b031633146105cf57600080fd5b6001600160a01b038216600090815260066020526040902054156105f6576105f682610aa4565b60008111801561061c57506001600160a01b038216600090815260066020526040902054155b1561068257600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191690911790556106b5565b801580156106a757506001600160a01b03821660009081526006602052604090205415155b156106b5576106b582610bc2565b6001600160a01b0382166000908152600660205260409020546007546106e69183916106e091610933565b9061097c565b6007556001600160a01b038216600090815260066020526040902081905561070d81610cd7565b6001600160a01b0390921660009081526006602052604090206001019190915550565b6001600160a01b038116600090815260066020526040812054810361075757506000919050565b6001600160a01b03821660009081526006602052604081205461077990610cd7565b6001600160a01b0384166000908152600660205260409020600101549091508082116107a9575060009392505050565b6107b38282610933565b949350505050565b6000546001600160a01b031633146107d257600080fd5b600c91909155600d55565b600c546001600160a01b038216600090815260056020526040812054909142916108079190610ec1565b10801561081d5750600d5461081b83610730565b115b92915050565b6000546001600160a01b0316331461083a57600080fd5b61084381610aa4565b50565b6003546000819003610856575050565b60008060005a90505b848210801561086d57508383105b1561092c5783600e5410610881576000600e555b6108b36003600e548154811061089957610899610e2b565b6000918252602090912001546001600160a01b03166107dd565b156108ea576108ea6003600e54815481106108d0576108d0610e2b565b6000918252602090912001546001600160a01b0316610aa4565b6108ff6108f85a8390610933565b839061097c565b91505a600e8054919250600061091483610ed9565b9190505550828061092490610ed9565b93505061085f565b5050505050565b600061097583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cf4565b9392505050565b6000806109898385610ec1565b9050838110156109755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b6000826000036109f25750600061081d565b60006109fe8385610ef2565b905082610a0b8583610f11565b146109755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109d7565b600061097583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d2e565b6001600160a01b0381166000908152600660205260408120549003610ac65750565b6000610ad182610730565b90508015610bbe57600954610ae6908261097c565b60095560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190610f33565b506001600160a01b03821660009081526005602090815260408083204290556006909152902060020154610b94908261097c565b6001600160a01b038316600090815260066020526040902060028101919091555461070d90610cd7565b5050565b60038054610bd290600190610f55565b81548110610be257610be2610e2b565b60009182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610c2057610c20610e2b565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260049182905260408120546003805491939291610c6c90600190610f55565b81548110610c7c57610c7c610e2b565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610cb257610cb2610f6c565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061081d600b546105a1600a54856109e090919063ffffffff16565b60008184841115610d185760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f55565b95945050505050565b60008183610d4f5760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f11565b6001600160a01b038116811461084357600080fd5b60008060408385031215610d8457600080fd5b8235610d8f81610d5c565b946020939093013593505050565b600060208284031215610daf57600080fd5b813561097581610d5c565b60008060408385031215610dcd57600080fd5b50508035926020909101359150565b600060208284031215610dee57600080fd5b5035919050565b600060208284031215610e0757600080fd5b5051919050565b600060208284031215610e2057600080fd5b815161097581610d5c565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610e8b5784516001600160a01b031683529383019391830191600101610e66565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ed457610ed4610eab565b500190565b600060018201610eeb57610eeb610eab565b5060010190565b6000816000190483118215151615610f0c57610f0c610eab565b500290565b600082610f2e57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610f4557600080fd5b8151801515811461097557600080fd5b600082821015610f6757610f67610eab565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208083528351808285015260005b81811015610faf57858101830151858201604001528201610f93565b81811115610fc1576000604083870101525b50601f01601f191692909201604001939250505056fea264697066735822122012e1e50a50ef706c985d3532841b51d2ec5630d3b9605e11bea279720de84b9664736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106103905760003560e01c80637db1342c116101dc578063bf56b37111610102578063dd62ed3e116100a0578063f887ea401161006f578063f887ea4014610a80578063f8b45b0514610aa0578063fabe628314610ab6578063ffb54a9914610ad657600080fd5b8063dd62ed3e146109e4578063e36f06da14610a2a578063f2fde38b14610a40578063f708a64f14610a6057600080fd5b8063c9567bf9116100dc578063c9567bf914610979578063caa5581b1461098e578063cc950fbc146109a4578063d920334e146109c457600080fd5b8063bf56b3711461092d578063c45a015514610943578063c8d1293d1461096357600080fd5b80638ea5220f1161017a578063a9059cbb11610149578063a9059cbb146108ad578063b2d946b0146108cd578063b515566a146108ed578063bb542ef01461090d57600080fd5b80638ea5220f1461081f57806395d89b411461083f578063a3a2e89e1461086d578063a8aa1b311461088d57600080fd5b806389291a8f116101b657806389291a8f146107bc578063893d20e8146107d15780638b42507f146107ef5780638da5cb5b146107d157600080fd5b80637db1342c1461075b5780637dfcbe341461077b578063819340311461079c57600080fd5b8063313ce567116102c1578063571ac8b01161025f578063715018a61161022e578063715018a6146106fa5780637437681e1461070f57806375df13051461072557806377359aa71461073b57600080fd5b8063571ac8b01461066f5780636303516c1461068f57806366eb3785146106af57806370a08231146106c457600080fd5b80634355855a1161029b5780634355855a146105f2578063454343771461062257806347062402146106385780634a74bb021461064e57600080fd5b8063313ce567146105865780633dab5269146105a25780633f4218e0146105c257600080fd5b806323b872dd1161032e5780632b14ca56116103085780632b14ca56146105105780632d48e896146105265780632dbea2e11461054657806330ca34ee1461056657600080fd5b806323b872dd146104bb578063273123b7146104db5780632b112e49146104fb57600080fd5b8063095ea7b31161036a578063095ea7b31461041e5780630d815f431461044e57806318160ddd146104865780631f53ac021461049b57600080fd5b80630445b6671461039c57806306fdde03146103c55780630811f9ce1461040757600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b2601e5481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b5060408051808201909152601081526f3865ea93f865a1d2c8143865a1d2539560821b60208201525b6040516103bc91906120f3565b34801561041357600080fd5b5061041c610af7565b005b34801561042a57600080fd5b5061043e61043936600461216d565b610b56565b60405190151581526020016103bc565b34801561045a57600080fd5b50601a5461046e906001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b34801561049257600080fd5b506002546103b2565b3480156104a757600080fd5b5061041c6104b6366004612199565b610bc3565b3480156104c757600080fd5b5061043e6104d63660046121b6565b610c18565b3480156104e757600080fd5b5061041c6104f6366004612199565b610cda565b34801561050757600080fd5b506103b2610d25565b34801561051c57600080fd5b506103b260105481565b34801561053257600080fd5b5061041c6105413660046121f7565b610d77565b34801561055257600080fd5b5061041c610561366004612219565b610e0b565b34801561057257600080fd5b5061041c6105813660046121f7565b610e43565b34801561059257600080fd5b50604051601281526020016103bc565b3480156105ae57600080fd5b5061041c6105bd366004612255565b610e78565b3480156105ce57600080fd5b5061043e6105dd366004612199565b600a6020526000908152604090205460ff1681565b3480156105fe57600080fd5b5061043e61060d366004612199565b600c6020526000908152604090205460ff1681565b34801561062e57600080fd5b506103b260145481565b34801561064457600080fd5b506103b2600f5481565b34801561065a57600080fd5b5060195461043e90600160a81b900460ff1681565b34801561067b57600080fd5b5061043e61068a366004612199565b610ec4565b34801561069b57600080fd5b50600e5461046e906001600160a01b031681565b3480156106bb57600080fd5b5061041c610ed2565b3480156106d057600080fd5b506103b26106df366004612199565b6001600160a01b031660009081526003602052604090205490565b34801561070657600080fd5b5061041c610f06565b34801561071b57600080fd5b506103b2601c5481565b34801561073157600080fd5b506103b260135481565b34801561074757600080fd5b506103b2610756366004612199565b610f7a565b34801561076757600080fd5b5061041c610776366004612271565b610fe9565b34801561078757600080fd5b5060085461043e90600160a01b900460ff1681565b3480156107a857600080fd5b5061041c6107b7366004612271565b611018565b3480156107c857600080fd5b5061041c6110a6565b3480156107dd57600080fd5b506000546001600160a01b031661046e565b3480156107fb57600080fd5b5061043e61080a366004612199565b600b6020526000908152604090205460ff1681565b34801561082b57600080fd5b5060195461046e906001600160a01b031681565b34801561084b57600080fd5b506040805180820190915260058152640444f524b560dc1b60208201526103fa565b34801561087957600080fd5b5061041c61088836600461228a565b611116565b34801561089957600080fd5b5060165461046e906001600160a01b031681565b3480156108b957600080fd5b5061043e6108c836600461216d565b61116b565b3480156108d957600080fd5b5060015461046e906001600160a01b031681565b3480156108f957600080fd5b5061041c6109083660046122d5565b611178565b34801561091957600080fd5b5061041c610928366004612199565b61120a565b34801561093957600080fd5b506103b2600d5481565b34801561094f57600080fd5b5060175461046e906001600160a01b031681565b34801561096f57600080fd5b506103b260125481565b34801561098557600080fd5b5061041c611256565b34801561099a57600080fd5b506103b260115481565b3480156109b057600080fd5b5061041c6109bf366004612271565b611299565b3480156109d057600080fd5b5061041c6109df366004612271565b6112c8565b3480156109f057600080fd5b506103b26109ff36600461239a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a3657600080fd5b506103b2601b5481565b348015610a4c57600080fd5b5061041c610a5b366004612199565b6112f7565b348015610a6c57600080fd5b5061041c610a7b36600461228a565b6113e1565b348015610a8c57600080fd5b5060155461046e906001600160a01b031681565b348015610aac57600080fd5b506103b2601d5481565b348015610ac257600080fd5b5061041c610ad136600461228a565b611415565b348015610ae257600080fd5b5060195461043e90600160b01b900460ff1681565b601a5460405163bd14ae2760e01b81523360048201526001600160a01b039091169063bd14ae2790602401600060405180830381600087803b158015610b3c57600080fd5b505af1158015610b50573d6000803e3d6000fd5b50505050565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610bb19086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610bf65760405162461bcd60e51b8152600401610bed906123d3565b60405180910390fd5b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610cc5576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610ca09184906114ac565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610cd08484846114e6565b90505b9392505050565b6000546001600160a01b03163314610d045760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d72906007546001600160a01b0316600090815260036020526040902054610d6c906002549061199c565b9061199c565b905090565b6000546001600160a01b03163314610da15760405162461bcd60e51b8152600401610bed906123d3565b601a546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610e355760405162461bcd60e51b8152600401610bed906123d3565b601192909255601255601355565b6000546001600160a01b03163314610e6d5760405162461bcd60e51b8152600401610bed906123d3565b600f91909155601055565b6000546001600160a01b03163314610ea25760405162461bcd60e51b8152600401610bed906123d3565b60198054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000610bbd82600019610b56565b6000546001600160a01b03163314610efc5760405162461bcd60e51b8152600401610bed906123d3565b610f046119de565b565b6000546001600160a01b03163314610f305760405162461bcd60e51b8152600401610bed906123d3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601a5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa158015610fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190612408565b6000546001600160a01b031633146110135760405162461bcd60e51b8152600401610bed906123d3565b601d55565b6000546001600160a01b031633146110425760405162461bcd60e51b8152600401610bed906123d3565b601a546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b15801561108b57600080fd5b505af115801561109f573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146110d05760405162461bcd60e51b8152600401610bed906123d3565b478015611113576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611111573d6000803e3d6000fd5b505b50565b6000546001600160a01b031633146111405760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610cd33384846114e6565b6000546001600160a01b031633146111a25760405162461bcd60e51b8152600401610bed906123d3565b60005b8151811015611111576001600960008484815181106111c6576111c6612421565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806112028161244d565b9150506111a5565b6000546001600160a01b031633146112345760405162461bcd60e51b8152600401610bed906123d3565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112805760405162461bcd60e51b8152600401610bed906123d3565b43600d556019805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146112c35760405162461bcd60e51b8152600401610bed906123d3565b601b55565b6000546001600160a01b031633146112f25760405162461bcd60e51b8152600401610bed906123d3565b601c55565b6000546001600160a01b031633146113215760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b0381166113865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bed565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461140b5760405162461bcd60e51b8152600401610bed906123d3565b6111118282611b6c565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610bed906123d3565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610cd383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c7d565b600081848411156114d05760405162461bcd60e51b8152600401610bed91906120f3565b5060006114dd8486612466565b95945050505050565b600080546001600160a01b0385811691161480159061151357506000546001600160a01b03848116911614155b1561157157601954600160b01b900460ff166115715760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610bed565b6001600160a01b03841660009081526009602052604090205460ff161580156115b357506001600160a01b03831660009081526009602052604090205460ff16155b6115bc57600080fd5b601954600160a01b900460ff16156115e0576115d9848484611cab565b9050610cd3565b601c548211158061160957506001600160a01b0384166000908152600b602052604090205460ff165b61163a5760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610bed565b6001600160a01b0383166000908152600b602052604090205460ff1615801561166c5750600854600160a01b900460ff165b156116ce57601d546001600160a01b0384166000908152600360205260409020546116979084611d91565b11156116ce5760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610bed565b6016546001600160a01b031633148015906116f35750601954600160a01b900460ff16155b80156117085750601954600160a81b900460ff165b80156117255750601e543060009081526003602052604090205410155b15611732576117326119de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117849184906114ac565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff161580156117d457506001600160a01b0384166000908152600a602052604090205460ff16155b6117de57826117e9565b6117e9858585611df0565b6001600160a01b03851660009081526003602052604090205490915061180f9082611d91565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff166118b357601a546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118a057600080fd5b505af19250505080156118b1575060015b505b6001600160a01b0384166000908152600c602052604090205460ff1661194457601a546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561193157600080fd5b505af1925050508015611942575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161198991815260200190565b60405180910390a3506001949350505050565b6000610cd383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ac565b6019805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a2490600290611a1e9060649082908790611eb3565b9061146a565b90506000611a32838361199c565b9050611a3d81611f35565b60004790506000611a5e6064611a1e60115485611eb390919063ffffffff16565b90506000611a7c6064611a1e60135486611eb390919063ffffffff16565b90506000611a9f6002611a1e6064611a1e60125489611eb390919063ffffffff16565b90508315611ae3576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611ae1573d6000803e3d6000fd5b505b601a60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b3357600080fd5b505af193505050508015611b45575060015b508515611b5657611b56868261205e565b50506019805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611b9357506016546001600160a01b03838116911614155b611b9c57600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611c3457601a54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b158015611c1757600080fd5b505af1158015611c2b573d6000803e3d6000fd5b50505050611111565b601a546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610dd5565b60008183611c9e5760405162461bcd60e51b8152600401610bed91906120f3565b5060006114dd848661247d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611cfc9184906114ac565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611d2b9083611d91565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d7f9086815260200190565b60405180910390a35060019392505050565b600080611d9e838561249f565b905083811015610cd35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bed565b60165460009081906001600160a01b03858116911614611e1257600f54611e16565b6010545b90506000611e296064611a1e8685611eb3565b30600090815260036020526040902054909150611e469082611d91565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e979085815260200190565b60405180910390a3611ea9848261199c565b9695505050505050565b600082600003611ec557506000610bbd565b6000611ed183856124b7565b905082611ede858361247d565b14610cd35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bed565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f6a57611f6a612421565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe791906124d6565b81600181518110611ffa57611ffa612421565b60200260200101906001600160a01b031690816001600160a01b0316815250506120243083610b56565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dd59085906000908690309042906004016124f3565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120ce573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061109f9190612564565b600060208083528351808285015260005b8181101561212057858101830151858201604001528201612104565b81811115612132576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461111357600080fd5b803561216881612148565b919050565b6000806040838503121561218057600080fd5b823561218b81612148565b946020939093013593505050565b6000602082840312156121ab57600080fd5b8135610cd381612148565b6000806000606084860312156121cb57600080fd5b83356121d681612148565b925060208401356121e681612148565b929592945050506040919091013590565b6000806040838503121561220a57600080fd5b50508035926020909101359150565b60008060006060848603121561222e57600080fd5b505081359360208301359350604090920135919050565b8035801515811461216857600080fd5b6000806040838503121561226857600080fd5b61218b83612245565b60006020828403121561228357600080fd5b5035919050565b6000806040838503121561229d57600080fd5b82356122a881612148565b91506122b660208401612245565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122e857600080fd5b823567ffffffffffffffff8082111561230057600080fd5b818501915085601f83011261231457600080fd5b813581811115612326576123266122bf565b8060051b604051601f19603f8301168101818110858211171561234b5761234b6122bf565b60405291825284820192508381018501918883111561236957600080fd5b938501935b8285101561238e5761237f8561215d565b8452938501939285019261236e565b98975050505050505050565b600080604083850312156123ad57600080fd5b82356123b881612148565b915060208301356123c881612148565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561241a57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161245f5761245f612437565b5060010190565b60008282101561247857612478612437565b500390565b60008261249a57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156124b2576124b2612437565b500190565b60008160001904831182151516156124d1576124d1612437565b500290565b6000602082840312156124e857600080fd5b8151610cd381612148565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125435784516001600160a01b03168352938301939183019160010161251e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561257957600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220249dc8a0575707c36766557d9b6ee3639f41ae0b1fa224f450889d2a86b176a664736f6c634300080d0033
Deployed Bytecode Sourcemap
11182:11842:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13107:52;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;13107:52:0;;;;;;;;17131:80;;;;;;;;;;-1:-1:-1;17203:5:0;;;;;;;;;;;;-1:-1:-1;;;17203:5:0;;;;17131:80;;;;;;;:::i;22942:79::-;;;;;;;;;;;;;:::i;:::-;;17559:216;;;;;;;;;;-1:-1:-1;17559:216:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;17559:216:0;1393:187:1;12811:26:0;;;;;;;;;;-1:-1:-1;12811:26:0;;;;-1:-1:-1;;;;;12811:26:0;;;;;;-1:-1:-1;;;;;1775:32:1;;;1757:51;;1745:2;1730:18;12811:26:0;1585:229:1;16861:88:0;;;;;;;;;;-1:-1:-1;16934:12:0;;16861:88;;15334:123;;;;;;;;;;-1:-1:-1;15334:123:0;;;;;:::i;:::-;;:::i;18073:366::-;;;;;;;;;;-1:-1:-1;18073:366:0;;;;;:::i;:::-;;:::i;16010:90::-;;;;;;;;;;-1:-1:-1;16010:90:0;;;;;:::i;:::-;;:::i;16711:142::-;;;;;;;;;;;;;:::i;12290:27::-;;;;;;;;;;;;;;;;15806:196;;;;;;;;;;-1:-1:-1;15806:196:0;;;;;:::i;:::-;;:::i;14600:233::-;;;;;;;;;;-1:-1:-1;14600:233:0;;;;;:::i;:::-;;:::i;14434:153::-;;;;;;;;;;-1:-1:-1;14434:153:0;;;;;:::i;:::-;;:::i;16955:80::-;;;;;;;;;;-1:-1:-1;16955:80:0;;11519:2;3508:36:1;;3496:2;3481:18;16955:80:0;3366:184:1;15599:199:0;;;;;;;;;;-1:-1:-1;15599:199:0;;;;;:::i;:::-;;:::i;12022:44::-;;;;;;;;;;-1:-1:-1;12022:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12128:49;;;;;;;;;;-1:-1:-1;12128:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12443:34;;;;;;;;;;;;;;;;12257:26;;;;;;;;;;;;;;;;12720:40;;;;;;;;;;-1:-1:-1;12720:40:0;;;;-1:-1:-1;;;12720:40:0;;;;;;17783:122;;;;;;;;;;-1:-1:-1;17783:122:0;;;;;:::i;:::-;;:::i;12218:30::-;;;;;;;;;;-1:-1:-1;12218:30:0;;;;-1:-1:-1;;;;;12218:30:0;;;22340:74;;;;;;;;;;;;;:::i;17303:105::-;;;;;;;;;;-1:-1:-1;17303:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;17387:18:0;17369:7;17387:18;;;:9;:18;;;;;;;17303:105;3274:148;;;;;;;;;;;;;:::i;13002:44::-;;;;;;;;;;;;;;;;12403:31;;;;;;;;;;;;;;;;22782:152;;;;;;;;;;-1:-1:-1;22782:152:0;;;;;:::i;:::-;;:::i;14944:104::-;;;;;;;;;;-1:-1:-1;14944:104:0;;;;;:::i;:::-;;:::i;11941:26::-;;;;;;;;;;-1:-1:-1;11941:26:0;;;;-1:-1:-1;;;11941:26:0;;;;;;22663:111;;;;;;;;;;-1:-1:-1;22663:111:0;;;;;:::i;:::-;;:::i;22422:233::-;;;;;;;;;;;;;:::i;17217:80::-;;;;;;;;;;-1:-1:-1;17269:7:0;3125:6;-1:-1:-1;;;;;3125:6:0;17217:80;16711:142;12073:48;;;;;;;;;;-1:-1:-1;12073:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12605:78;;;;;;;;;;-1:-1:-1;12605:78:0;;;;-1:-1:-1;;;;;12605:78:0;;;17041:84;;;;;;;;;;-1:-1:-1;17115:7:0;;;;;;;;;;;;-1:-1:-1;;;17115:7:0;;;;17041:84;;15060:122;;;;;;;;;;-1:-1:-1;15060:122:0;;;;;:::i;:::-;;:::i;12517:19::-;;;;;;;;;;-1:-1:-1;12517:19:0;;;;-1:-1:-1;;;;;12517:19:0;;;17913:152;;;;;;;;;;-1:-1:-1;17913:152:0;;;;;:::i;:::-;;:::i;11267:65::-;;;;;;;;;;-1:-1:-1;11267:65:0;;;;-1:-1:-1;;;;;11267:65:0;;;14087:166;;;;;;;;;;-1:-1:-1;14087:166:0;;;;;:::i;:::-;;:::i;15465:121::-;;;;;;;;;;-1:-1:-1;15465:121:0;;;;;:::i;:::-;;:::i;12186:25::-;;;;;;;;;;;;;;;;12543:22;;;;;;;;;;-1:-1:-1;12543:22:0;;;;-1:-1:-1;;;;;12543:22:0;;;12366:30;;;;;;;;;;;;;;;;14305:115;;;;;;;;;;;;;:::i;12326:33::-;;;;;;;;;;;;;;;;16589:103;;;;;;;;;;-1:-1:-1;16589:103:0;;;;;:::i;:::-;;:::i;14841:95::-;;;;;;;;;;-1:-1:-1;14841:95:0;;;;;:::i;:::-;;:::i;17414:133::-;;;;;;;;;;-1:-1:-1;17414:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;17516:19:0;;;17498:7;17516:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;17414:133;12844:31;;;;;;;;;;;;;;;;3430:244;;;;;;;;;;-1:-1:-1;3430:244:0;;;;;:::i;:::-;;:::i;16449:132::-;;;;;;;;;;-1:-1:-1;16449:132:0;;;;;:::i;:::-;;:::i;12486:24::-;;;;;;;;;;-1:-1:-1;12486:24:0;;;;-1:-1:-1;;;;;12486:24:0;;;13053:47;;;;;;;;;;;;;;;;15190:136;;;;;;;;;;-1:-1:-1;15190:136:0;;;;;:::i;:::-;;:::i;12767:31::-;;;;;;;;;;-1:-1:-1;12767:31:0;;;;-1:-1:-1;;;12767:31:0;;;;;;22942:79;22982:9;;:31;;-1:-1:-1;;;22982:31:0;;23002:10;22982:31;;;1757:51:1;-1:-1:-1;;;;;22982:9:0;;;;:19;;1730:18:1;;22982:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22942:79::o;17559:216::-;17663:10;17634:4;17651:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;17651:32:0;;;;;;;;;;:41;;;17708:37;17634:4;;17651:32;;17708:37;;;;17686:6;160:25:1;;148:2;133:18;;14:177;17708:37:0;;;;;;;;-1:-1:-1;17763:4:0;17559:216;;;;;:::o;15334:123::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;;;;;;;;;15416:9:::1;:33:::0;;-1:-1:-1;;;;;;15416:33:0::1;-1:-1:-1::0;;;;;15416:33:0;;;::::1;::::0;;;::::1;::::0;;15334:123::o;18073:366::-;-1:-1:-1;;;;;18193:19:0;;18173:4;18193:19;;;:11;:19;;;;;;;;18213:10;18193:31;;;;;;;;-1:-1:-1;;18193:52:0;18190:186;;18295:69;;;;;;;;;;;-1:-1:-1;;;18295:69:0;;;;;;;;-1:-1:-1;;;;;18295:19:0;;-1:-1:-1;18295:19:0;;;:11;:19;;;;;18315:10;18295:31;;;;;;;;;;:69;;18331:6;;18295:35;:69::i;:::-;-1:-1:-1;;;;;18261:19:0;;;;;;:11;:19;;;;;;;;18281:10;18261:31;;;;;;;:103;18190:186;18395:36;18405:6;18413:9;18424:6;18395:9;:36::i;:::-;18388:43;;18073:366;;;;;;:::o;16010:90::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16072:12:0::1;16087:5;16072:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;16072:20:0::1;::::0;;16010:90::o;16711:142::-;16839:4;;-1:-1:-1;;;;;16839:4:0;16764:7;17387:18;;;:9;:18;;;;;;16791:54;;16818:4;;-1:-1:-1;;;;;16818:4:0;17369:7;17387:18;;;:9;:18;;;;;;16791:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;16784:61;;16711:142;:::o;15806:196::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;15919:9:::1;::::0;:67:::1;::::0;-1:-1:-1;;;15919:67:0;;::::1;::::0;::::1;7098:25:1::0;;;7139:18;;;7132:34;;;-1:-1:-1;;;;;15919:9:0;;::::1;::::0;:33:::1;::::0;7071:18:1;;15919:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15806:196:::0;;:::o;14600:233::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;14724:13:::1;:28:::0;;;;14763:11:::1;:22:::0;14796:11:::1;:29:::0;14600:233::o;14434:153::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;14530:6:::1;:18:::0;;;;14559:7:::1;:20:::0;14434:153::o;15599:199::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;15708:21:::1;:39:::0;;;::::1;;-1:-1:-1::0;;;15708:39:0::1;-1:-1:-1::0;;;;15708:39:0;;::::1;::::0;;;::::1;::::0;;;15758:13:::1;:32:::0;15599:199::o;17783:122::-;17838:4;17862:35;17870:7;-1:-1:-1;;17862:7:0;:35::i;22340:74::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;22396:10:::1;:8;:10::i;:::-;22340:74::o:0;3274:148::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;3381:1:::1;3365:6:::0;;3344:40:::1;::::0;-1:-1:-1;;;;;3365:6:0;;::::1;::::0;3344:40:::1;::::0;3381:1;;3344:40:::1;3412:1;3395:19:::0;;-1:-1:-1;;;;;;3395:19:0::1;::::0;;3274:148::o;22782:152::-;22886:9;;:40;;-1:-1:-1;;;22886:40:0;;-1:-1:-1;;;;;1775:32:1;;;22886:40:0;;;1757:51:1;22859:7:0;;22886:9;;:27;;1730:18:1;;22886:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14944:104::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;15019:9:::1;:21:::0;14944:104::o;22663:111::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;22738:9:::1;::::0;:28:::1;::::0;-1:-1:-1;;;;;;22738:28:0;;::::1;::::0;::::1;160:25:1::0;;;-1:-1:-1;;;;;22738:9:0;;::::1;::::0;:17:::1;::::0;133:18:1;;22738:28:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22663:111:::0;:::o;22422:233::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;22506:21:::1;22541:22:::0;;22538:110:::1;;22597:9;::::0;22589:47:::1;::::0;-1:-1:-1;;;;;22597:9:0;;::::1;::::0;22589:47;::::1;;;::::0;22617:18;;22597:9:::1;22589:47:::0;22597:9;22589:47;22617:18;22597:9;22589:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22538:110;22466:189;22422:233::o:0;15060:122::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15146:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;15146:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15060:122::o;17913:152::-;17993:4;18017:40;18027:10;18039:9;18050:6;18017:9;:40::i;14087:166::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;14163:6:::1;14158:88;14179:5;:12;14175:1;:16;14158:88;;;14230:4;14213;:14;14218:5;14224:1;14218:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14213:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14213:14:0;:21;;-1:-1:-1;;14213:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14193:3;::::1;::::0;::::1;:::i;:::-;;;;14158:88;;15465:121:::0;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;15551:10:::1;:27:::0;;-1:-1:-1;;;;;;15551:27:0::1;-1:-1:-1::0;;;;;15551:27:0;;;::::1;::::0;;;::::1;::::0;;15465:121::o;14305:115::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;14371:12:::1;14358:10;:25:::0;14394:11:::1;:18:::0;;-1:-1:-1;;;;14394:18:0::1;-1:-1:-1::0;;;14394:18:0::1;::::0;;14305:115::o;16589:103::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;16663:12:::1;:21:::0;16589:103::o;14841:95::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;14912:5:::1;:16:::0;14841:95::o;3430:244::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:22:0;::::1;3511:73;;;::::0;-1:-1:-1;;;3511:73:0;;7972:2:1;3511:73:0::1;::::0;::::1;7954:21:1::0;8011:2;7991:18;;;7984:30;8050:34;8030:18;;;8023:62;-1:-1:-1;;;8101:18:1;;;8094:36;8147:19;;3511:73:0::1;7770:402:1::0;3511:73:0::1;3621:6;::::0;;3600:38:::1;::::0;-1:-1:-1;;;;;3600:38:0;;::::1;::::0;3621:6;::::1;::::0;3600:38:::1;::::0;::::1;3649:6;:17:::0;;-1:-1:-1;;;;;;3649:17:0::1;-1:-1:-1::0;;;;;3649:17:0;;;::::1;::::0;;;::::1;::::0;;3430:244::o;16449:132::-;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;16537:36:::1;16558:6;16566;16537:20;:36::i;15190:136::-:0;3187:6;;-1:-1:-1;;;;;3187:6:0;2604:10;3187:22;3179:67;;;;-1:-1:-1;;;3179:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15286:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;15286:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15190:136::o;1044:132::-;1102:7;1129:39;1133:1;1136;1129:39;;;;;;;;;;;;;;;;;:3;:39::i;590:192::-;676:7;712:12;704:6;;;;696:29;;;;-1:-1:-1;;;696:29:0;;;;;;;;:::i;:::-;-1:-1:-1;736:9:0;748:5;752:1;748;:5;:::i;:::-;736:17;590:192;-1:-1:-1;;;;;590:192:0:o;18447:1420::-;18535:4;3125:6;;-1:-1:-1;;;;;18556:16:0;;;3125:6;;18556:16;;;;:39;;-1:-1:-1;3098:7:0;3125:6;-1:-1:-1;;;;;18576:19:0;;;3125:6;;18576:19;;18556:39;18552:92;;;18605:11;;-1:-1:-1;;;18605:11:0;;;;18597:47;;;;-1:-1:-1;;;18597:47:0;;8509:2:1;18597:47:0;;;8491:21:1;8548:2;8528:18;;;8521:30;8587:25;8567:18;;;8560:53;8630:18;;18597:47:0;8307:347:1;18597:47:0;-1:-1:-1;;;;;18706:12:0;;;;;;:4;:12;;;;;;;;18705:13;:33;;;;-1:-1:-1;;;;;;18723:15:0;;;;;;:4;:15;;;;;;;;18722:16;18705:33;18697:42;;;;;;18755:16;;-1:-1:-1;;;18755:16:0;;;;18752:73;;;18781:41;18796:6;18804:9;18815:6;18781:14;:41::i;:::-;18774:48;;;;18752:73;18855:5;;18845:6;:15;;:42;;;-1:-1:-1;;;;;;18864:23:0;;;;;;:15;:23;;;;;;;;18845:42;18837:57;;;;-1:-1:-1;;;18837:57:0;;8861:2:1;18837:57:0;;;8843:21:1;8900:1;8880:18;;;8873:29;-1:-1:-1;;;8918:18:1;;;8911:32;8960:18;;18837:57:0;8659:325:1;18837:57:0;-1:-1:-1;;;;;18911:26:0;;;;;;:15;:26;;;;;;;;18910:27;:38;;;;-1:-1:-1;18941:7:0;;-1:-1:-1;;;18941:7:0;;;;18910:38;18907:143;;;19018:9;;-1:-1:-1;;;;;18982:20:0;;;;;;:9;:20;;;;;;:32;;19007:6;18982:24;:32::i;:::-;:45;;18974:64;;;;-1:-1:-1;;;18974:64:0;;9191:2:1;18974:64:0;;;9173:21:1;9230:1;9210:18;;;9203:29;-1:-1:-1;;;9248:18:1;;;9241:36;9294:18;;18974:64:0;8989:329:1;18974:64:0;19079:4;;-1:-1:-1;;;;;19079:4:0;19065:10;:18;;;;:39;;-1:-1:-1;19088:16:0;;-1:-1:-1;;;19088:16:0;;;;19087:17;19065:39;:64;;;;-1:-1:-1;19108:21:0;;-1:-1:-1;;;19108:21:0;;;;19065:64;:109;;;;-1:-1:-1;19161:13:0;;19151:4;19133:24;;;;:9;:24;;;;;;:41;;19065:109;19062:128;;;19177:10;:8;:10::i;:::-;19222:53;;;;;;;;;;;-1:-1:-1;;;19222:53:0;;;;;;;;-1:-1:-1;;;;;19222:17:0;;-1:-1:-1;19222:17:0;;;:9;:17;;;;;;;;:53;;19244:6;;19222:21;:53::i;:::-;-1:-1:-1;;;;;19202:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19319:11;:19;;;;;;;;19318:20;:47;;;;-1:-1:-1;;;;;;19343:22:0;;;;;;:11;:22;;;;;;;;19342:23;19318:47;:93;;19405:6;19318:93;;;19368:34;19376:6;19384:9;19395:6;19368:7;:34::i;:::-;-1:-1:-1;;;;;19445:20:0;;;;;;:9;:20;;;;;;19296:115;;-1:-1:-1;19445:37:0;;19296:115;19445:24;:37::i;:::-;-1:-1:-1;;;;;19422:20:0;;;;;;;:9;:20;;;;;;;;:60;;;;19528:24;;;;;:16;:24;;;;;;;19524:117;;19573:9;;-1:-1:-1;;;;;19600:17:0;;;19573:9;19600:17;;;:9;:17;;;;;;;;19573:45;;-1:-1:-1;;;19573:45:0;;;;;9497:51:1;;;;9564:18;;;9557:34;19573:9:0;;;:18;;9470::1;;19573:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19569:61;;-1:-1:-1;;;;;19657:27:0;;;;;;:16;:27;;;;;;;;19653:127;;19705:9;;-1:-1:-1;;;;;19735:20:0;;;19705:9;19735:20;;;:9;:20;;;;;;;;19705:51;;-1:-1:-1;;;19705:51:0;;;;;9497::1;;;;9564:18;;;9557:34;19705:9:0;;;:18;;9470::1;;19705:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19701:67;;19814:9;-1:-1:-1;;;;;19797:40:0;19806:6;-1:-1:-1;;;;;19797:40:0;;19825:11;19797:40;;;;160:25:1;;148:2;133:18;;14:177;19797:40:0;;;;;;;;-1:-1:-1;19855:4:0;;18447:1420;-1:-1:-1;;;;18447:1420:0:o;448:136::-;506:7;533:43;537:1;540;533:43;;;;;;;;;;;;;;;;;:3;:43::i;21417:915::-;12916:16;:23;;-1:-1:-1;;;;12916:23:0;-1:-1:-1;;;12916:23:0;;;21516:4:::1;12916:23:::0;21498:24;;;:9:::1;:24;::::0;;;;;21580:11:::1;::::0;21498:24;;12916:23;21563:45:::1;::::0;21606:1:::1;::::0;21563:38:::1;::::0;21597:3:::1;::::0;21563:38;;21498:24;;21563:16:::1;:29::i;:::-;:33:::0;::::1;:38::i;:45::-;21534:74:::0;-1:-1:-1;21624:20:0::1;21647:36;:12:::0;21534:74;21647:16:::1;:36::i;:::-;21624:59;;21696:30;21713:12;21696:16;:30::i;:::-;21739:23;21765:21;21739:47;;21797:19;21819:43;21858:3;21819:34;21839:13;;21819:15;:19;;:34;;;;:::i;:43::-;21797:65;;21873:17;21893:41;21930:3;21893:32;21913:11;;21893:15;:19;;:32;;;;:::i;:41::-;21873:61;;21945:23;21971:48;22017:1;21971:41;22008:3;21971:32;21991:11;;21971:15;:19;;:32;;;;:::i;:48::-;21945:74:::0;-1:-1:-1;22042:19:0;;22038:89:::1;;22085:9;::::0;22077:38:::1;::::0;-1:-1:-1;;;;;22085:9:0;;::::1;::::0;22077:38;::::1;;;::::0;22105:9;;22085::::1;22077:38:::0;22085:9;22077:38;22105:9;22085;22077:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22038:89;22151:9;;;;;;;;;-1:-1:-1::0;;;;;22151:9:0::1;-1:-1:-1::0;;;;;22151:17:0::1;;22176:11;22151:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22147:55:::0;22226:22;;22222:103:::1;;22264:49;22277:18;22297:15;22264:12;:49::i;:::-;-1:-1:-1::0;;12962:16:0;:24;;-1:-1:-1;;;;12962:24:0;;;-1:-1:-1;;;;;21417:915:0:o;16108:333::-;-1:-1:-1;;;;;16195:23:0;;16213:4;16195:23;;;;:41;;-1:-1:-1;16232:4:0;;-1:-1:-1;;;;;16222:14:0;;;16232:4;;16222:14;;16195:41;16187:50;;;;;;-1:-1:-1;;;;;16248:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;16248:33:0;;;;;;;;;;;;16292:142;;16317:9;;:29;;-1:-1:-1;;;16317:29:0;;-1:-1:-1;;;;;9515:32:1;;;16317:29:0;;;9497:51:1;16317:9:0;9564:18:1;;;9557:34;16317:9:0;;;;:18;;9470::1;;16317:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16292:142;;;16377:9;;-1:-1:-1;;;;;16404:17:0;;;16377:9;16404:17;;;:9;:17;;;;;;;;16377:45;;-1:-1:-1;;;16377:45:0;;;;;9497:51:1;;;;9564:18;;;9557:34;16377:9:0;;;:18;;9470::1;;16377:45:0;9323:274:1;1182:345:0;1268:7;1370:12;1363:5;1355:28;;;;-1:-1:-1;;;1355:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1394:9:0;1406:5;1410:1;1406;:5;:::i;19879:330::-;20009:53;;;;;;;;;;;-1:-1:-1;;;20009:53:0;;;;;;;;-1:-1:-1;;;;;20009:17:0;;19972:4;20009:17;;;:9;:17;;;;;;;:53;;20031:6;;20009:21;:53::i;:::-;-1:-1:-1;;;;;19989:17:0;;;;;;;:9;:17;;;;;;:73;;;;20096:20;;;;;;;:32;;20121:6;20096:24;:32::i;:::-;-1:-1:-1;;;;;20073:20:0;;;;;;;:9;:20;;;;;;;:55;;;;20144:35;;;;;;;;;;20172:6;160:25:1;;148:2;133:18;;14:177;20144:35:0;;;;;;;;-1:-1:-1;20197:4:0;19879:330;;;;;:::o;261:181::-;319:7;;351:5;355:1;351;:5;:::i;:::-;339:17;;380:1;375;:6;;367:46;;;;-1:-1:-1;;;367:46:0;;10446:2:1;367:46:0;;;10428:21:1;10485:2;10465:18;;;10458:30;10524:29;10504:18;;;10497:57;10571:18;;367:46:0;10244:351:1;20223:427:0;20363:4;;20309:7;;;;-1:-1:-1;;;;;20363:17:0;;;:4;;:17;:36;;20393:6;;20363:36;;;20383:7;;20363:36;20339:60;-1:-1:-1;20410:17:0;20430:34;20460:3;20430:25;:6;20339:60;20430:10;:25::i;:34::-;20522:4;20504:24;;;;:9;:24;;;;;;20410:54;;-1:-1:-1;20504:39:0;;20410:54;20504:28;:39::i;:::-;20495:4;20477:24;;;;:9;:24;;;;;;;:66;;;;20559:42;;-1:-1:-1;;;;;20559:42:0;;;;;;;20591:9;160:25:1;;148:2;133:18;;14:177;20559:42:0;;;;;;;;20621:21;:6;20632:9;20621:10;:21::i;:::-;20614:28;20223:427;-1:-1:-1;;;;;;20223:427:0:o;788:250::-;846:7;870:1;875;870:6;866:47;;-1:-1:-1;900:1:0;893:8;;866:47;925:9;937:5;941:1;937;:5;:::i;:::-;925:17;-1:-1:-1;970:1:0;961:5;965:1;925:17;961:5;:::i;:::-;:10;953:56;;;;-1:-1:-1;;;953:56:0;;10975:2:1;953:56:0;;;10957:21:1;11014:2;10994:18;;;10987:30;11053:34;11033:18;;;11026:62;-1:-1:-1;;;11104:18:1;;;11097:31;11145:19;;953:56:0;10773:397:1;20662:460:0;20754:16;;;20768:1;20754:16;;;;;;;;20730:21;;20754:16;;;;;;;;;;-1:-1:-1;20754:16:0;20730:40;;20799:4;20781;20786:1;20781:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20781:23:0;;;:7;;;;;;;;;;:23;;;;20825:6;;:13;;;-1:-1:-1;;;20825:13:0;;;;:6;;;;;:11;;:13;;;;;20781:7;;20825:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20815:4;20820:1;20815:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20815:23:0;;;-1:-1:-1;;;;;20815:23:0;;;;;20851:35;20867:4;20874:11;20851:7;:35::i;:::-;-1:-1:-1;20899:6:0;;:215;;-1:-1:-1;;;20899:215:0;;-1:-1:-1;;;;;20899:6:0;;;;:57;;:215;;20971:11;;20899:6;;21041:4;;21068;;21088:15;;20899:215;;;:::i;21130:279::-;21211:6;;21352:8;;21211:190;;-1:-1:-1;;;21211:190:0;;21274:4;21211:190;;;12757:34:1;12807:18;;;12800:34;;;21211:6:0;12850:18:1;;;12843:34;;;12893:18;;;12886:34;-1:-1:-1;;;;;21352:8:0;;;12936:19:1;;;12929:44;21375:15:0;12989:19:1;;;12982:35;21211:6:0;;;:22;;21241:9;;12691:19:1;;21211:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;196:597: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;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1819:255::-;1886:6;1939:2;1927:9;1918:7;1914:23;1910:32;1907:52;;;1955:1;1952;1945:12;1907:52;1994:9;1981:23;2013:31;2038:5;2013:31;:::i;2079:456::-;2156:6;2164;2172;2225:2;2213:9;2204:7;2200:23;2196:32;2193:52;;;2241:1;2238;2231:12;2193:52;2280:9;2267:23;2299:31;2324:5;2299:31;:::i;:::-;2349:5;-1:-1:-1;2406:2:1;2391:18;;2378:32;2419:33;2378:32;2419:33;:::i;:::-;2079:456;;2471:7;;-1:-1:-1;;;2525:2:1;2510:18;;;;2497:32;;2079:456::o;2792:248::-;2860:6;2868;2921:2;2909:9;2900:7;2896:23;2892:32;2889:52;;;2937:1;2934;2927:12;2889:52;-1:-1:-1;;2960:23:1;;;3030:2;3015:18;;;3002:32;;-1:-1:-1;2792:248:1:o;3045:316::-;3122:6;3130;3138;3191:2;3179:9;3170:7;3166:23;3162:32;3159:52;;;3207:1;3204;3197:12;3159:52;-1:-1:-1;;3230:23:1;;;3300:2;3285:18;;3272:32;;-1:-1:-1;3351:2:1;3336:18;;;3323:32;;3045:316;-1:-1:-1;3045:316:1:o;3555:160::-;3620:20;;3676:13;;3669:21;3659:32;;3649:60;;3705:1;3702;3695:12;3720:248;3785:6;3793;3846:2;3834:9;3825:7;3821:23;3817:32;3814:52;;;3862:1;3859;3852:12;3814:52;3885:26;3901:9;3885:26;:::i;4181:180::-;4240:6;4293:2;4281:9;4272:7;4268:23;4264:32;4261:52;;;4309:1;4306;4299:12;4261:52;-1:-1:-1;4332:23:1;;4181:180;-1:-1:-1;4181:180:1:o;4366:315::-;4431:6;4439;4492:2;4480:9;4471:7;4467:23;4463:32;4460:52;;;4508:1;4505;4498:12;4460:52;4547:9;4534:23;4566:31;4591:5;4566:31;:::i;:::-;4616:5;-1:-1:-1;4640:35:1;4671:2;4656:18;;4640:35;:::i;:::-;4630:45;;4366:315;;;;;:::o;4686:127::-;4747:10;4742:3;4738:20;4735:1;4728:31;4778:4;4775:1;4768:15;4802:4;4799:1;4792:15;4818:1121;4902:6;4933:2;4976;4964:9;4955:7;4951:23;4947:32;4944:52;;;4992:1;4989;4982:12;4944:52;5032:9;5019:23;5061:18;5102:2;5094:6;5091:14;5088:34;;;5118:1;5115;5108:12;5088:34;5156:6;5145:9;5141:22;5131:32;;5201:7;5194:4;5190:2;5186:13;5182:27;5172:55;;5223:1;5220;5213:12;5172:55;5259:2;5246:16;5281:2;5277;5274:10;5271:36;;;5287:18;;:::i;:::-;5333:2;5330:1;5326:10;5365:2;5359:9;5428:2;5424:7;5419:2;5415;5411:11;5407:25;5399:6;5395:38;5483:6;5471:10;5468:22;5463:2;5451:10;5448:18;5445:46;5442:72;;;5494:18;;:::i;:::-;5530:2;5523:22;5580:18;;;5614:15;;;;-1:-1:-1;5656:11:1;;;5652:20;;;5684:19;;;5681:39;;;5716:1;5713;5706:12;5681:39;5740:11;;;;5760:148;5776:6;5771:3;5768:15;5760:148;;;5842:23;5861:3;5842:23;:::i;:::-;5830:36;;5793:12;;;;5886;;;;5760:148;;;5927:6;4818:1121;-1:-1:-1;;;;;;;;4818:1121:1:o;5944:388::-;6012:6;6020;6073:2;6061:9;6052:7;6048:23;6044:32;6041:52;;;6089:1;6086;6079:12;6041:52;6128:9;6115:23;6147:31;6172:5;6147:31;:::i;:::-;6197:5;-1:-1:-1;6254:2:1;6239:18;;6226:32;6267:33;6226:32;6267:33;:::i;:::-;6319:7;6309:17;;;5944:388;;;;;:::o;6563:356::-;6765:2;6747:21;;;6784:18;;;6777:30;6843:34;6838:2;6823:18;;6816:62;6910:2;6895:18;;6563:356::o;7177:184::-;7247:6;7300:2;7288:9;7279:7;7275:23;7271:32;7268:52;;;7316:1;7313;7306:12;7268:52;-1:-1:-1;7339:16:1;;7177:184;-1:-1:-1;7177:184:1:o;7366:127::-;7427:10;7422:3;7418:20;7415:1;7408:31;7458:4;7455:1;7448:15;7482:4;7479:1;7472:15;7498:127;7559:10;7554:3;7550:20;7547:1;7540:31;7590:4;7587:1;7580:15;7614:4;7611:1;7604:15;7630:135;7669:3;7690:17;;;7687:43;;7710:18;;:::i;:::-;-1:-1:-1;7757:1:1;7746:13;;7630:135::o;8177:125::-;8217:4;8245:1;8242;8239:8;8236:34;;;8250:18;;:::i;:::-;-1:-1:-1;8287:9:1;;8177:125::o;9889:217::-;9929:1;9955;9945:132;;9999:10;9994:3;9990:20;9987:1;9980:31;10034:4;10031:1;10024:15;10062:4;10059:1;10052:15;9945:132;-1:-1:-1;10091:9:1;;9889:217::o;10111:128::-;10151:3;10182:1;10178:6;10175:1;10172:13;10169:39;;;10188:18;;:::i;:::-;-1:-1:-1;10224:9:1;;10111:128::o;10600:168::-;10640:7;10706:1;10702;10698:6;10694:14;10691:1;10688:21;10683:1;10676:9;10669:17;10665:45;10662:71;;;10713:18;;:::i;:::-;-1:-1:-1;10753:9:1;;10600:168::o;11175:251::-;11245:6;11298:2;11286:9;11277:7;11273:23;11269:32;11266:52;;;11314:1;11311;11304:12;11266:52;11346:9;11340:16;11365:31;11390:5;11365:31;:::i;11431:980::-;11693:4;11741:3;11730:9;11726:19;11772:6;11761:9;11754:25;11798:2;11836:6;11831:2;11820:9;11816:18;11809:34;11879:3;11874:2;11863:9;11859:18;11852:31;11903:6;11938;11932:13;11969:6;11961;11954:22;12007:3;11996:9;11992:19;11985:26;;12046:2;12038:6;12034:15;12020:29;;12067:1;12077:195;12091:6;12088:1;12085:13;12077:195;;;12156:13;;-1:-1:-1;;;;;12152:39:1;12140:52;;12247:15;;;;12212:12;;;;12188:1;12106:9;12077:195;;;-1:-1:-1;;;;;;;12328:32:1;;;;12323:2;12308:18;;12301:60;-1:-1:-1;;;12392:3:1;12377:19;12370:35;12289:3;11431:980;-1:-1:-1;;;11431:980:1:o;13028:306::-;13116:6;13124;13132;13185:2;13173:9;13164:7;13160:23;13156:32;13153:52;;;13201:1;13198;13191:12;13153:52;13230:9;13224:16;13214:26;;13280:2;13269:9;13265:18;13259:25;13249:35;;13324:2;13313:9;13309:18;13303:25;13293:35;;13028:306;;;;;:::o
Swarm Source
ipfs://12e1e50a50ef706c985d3532841b51d2ec5630d3b9605e11bea279720de84b96
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.