Contract Overview
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
BabyCroge
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at cronoscan.com on 2023-03-22 */ /** https://t.me/BabyCrogePortal */ //SPDX-License-Identifier: Unlicensed pragma solidity ^0.7.6; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ICRC20 { 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); } 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 IDividendDistributor { function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external; function setShare(address shareholder, uint256 amount) external; function deposit() external payable; function process(uint256 gas) external; } contract DividendDistributor is IDividendDistributor { using SafeMath for uint256; address _token; struct Share { uint256 amount; uint256 totalExcluded; uint256 totalRealised; } IDEXRouter router; address routerAddress = 0x145677FC4d9b8F19B5D56d1820c48e0443049a30; ICRC20 RewardToken = ICRC20(0xC4a174cCb5fb54a6721e11e0Ca961e42715023F9); 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 = 1 / 100000 * (10 ** 18); uint256 currentIndex; bool initialized; modifier initialization() { require(!initialized); _; initialized = true; } modifier onlyToken() { require(msg.sender == _token); _; } constructor (address _router) { router = _router != address(0) ? IDEXRouter(_router) : IDEXRouter(routerAddress); _token = msg.sender; } 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() external payable override onlyToken { uint256 balanceBefore = RewardToken.balanceOf(address(this)); address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(RewardToken); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}( 0, path, address(this), block.timestamp ); uint256 amount = RewardToken.balanceOf(address(this)).sub(balanceBefore); totalDividends = totalDividends.add(amount); dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)); } function process(uint256 gas) external override onlyToken { 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) internal 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); RewardToken.transfer(shareholder, amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount); shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } } function claimDividend() external { require(shouldDistribute(msg.sender), "Too soon. Need to wait!"); distributeDividend(msg.sender); } 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(); } } abstract contract Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } /** * Function modifier to require caller to be contract owner */ modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } /** * Function modifier to require caller to be authorized */ modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } /** * Authorize address. Owner only */ function authorize(address adr) public onlyOwner { authorizations[adr] = true; } /** * Remove address' authorization. Owner only */ function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } /** * Check if address is owner */ function isOwner(address account) public view returns (bool) { return account == owner; } /** * Return address' authorization status */ function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } /** * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized */ function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } contract BabyCroge is ICRC20, Auth { using SafeMath for uint256; string constant _name = "BabyCroge"; string constant _symbol = "BCROGE"; uint8 constant _decimals = 9; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address routerAddress = 0x145677FC4d9b8F19B5D56d1820c48e0443049a30; address RewardToken = 0xC4a174cCb5fb54a6721e11e0Ca961e42715023F9; uint256 _totalSupply =1 * 10**9 * (10 ** _decimals); uint256 public _maxTxAmount = 2 * 10**7 * (10 ** _decimals); uint256 public _walletMax = 2 * 10**7 * (10 ** _decimals); bool public restrictWhales = true; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isDividendExempt; bool private blacklistMode = true; mapping (address => bool) private isBlacklisted; uint256 public liquidityFee = 2; uint256 public operationsFee = 4; uint256 public rewardsFee = 4; uint256 public extraFeeOnSell = 20; uint256 private totalFee = 0; uint256 private totalFeeIfSelling = 0; address private autoLiquidityReceiver; address private operationsWallet; address private devWallet; IDEXRouter public router; address public pair; uint256 public launchedAt; bool public tradingOpen = false; DividendDistributor public dividendDistributor; uint256 distributorGas = 300000; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; uint256 public swapThreshold = 2 * 10**4 * (10 ** _decimals); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () Auth(msg.sender) { router = IDEXRouter(routerAddress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = uint256(-1); dividendDistributor = new DividendDistributor(address(router)); isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isDividendExempt[pair] = true; isDividendExempt[msg.sender] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; isDividendExempt[ZERO] = true; autoLiquidityReceiver = 0xD0aC1786CC44E9342BE0f2521971De7A839F95c5; operationsWallet = 0xC3872fe2c27E794dc8d63B8ba42647421d8631D1; totalFee = liquidityFee.add(operationsFee).add(rewardsFee); totalFeeIfSelling = totalFee.add(extraFeeOnSell); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function name() external pure override returns (string memory) { return _name; } function symbol() external pure override returns (string memory) { return _symbol; } function decimals() external pure override returns (uint8) { return _decimals; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function getOwner() external view override returns (address) { return owner; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } 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, uint256(-1)); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function changeTxLimit(uint256 newLimit) external authorized { _maxTxAmount = newLimit; } function changeWalletLimit(uint256 newLimit) external authorized { _walletMax = newLimit; } function changeRestrictWhales(bool newValue) external authorized { restrictWhales = newValue; } function changeIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function changeIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function changeIsDividendExempt(address holder, bool exempt) external authorized { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ dividendDistributor.setShare(holder, 0); }else{ dividendDistributor.setShare(holder, _balances[holder]); } } function enable_blacklist(bool _status) private onlyOwner { blacklistMode = _status; } function manage_blacklist(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isBlacklisted[addresses[i]] = status; } } function changeFees(uint256 newLiqFee, uint256 newRewardFee, uint256 newOperationsFee, uint256 newExtraSellFee) external authorized { liquidityFee = newLiqFee; rewardsFee = newRewardFee; operationsFee = newOperationsFee; extraFeeOnSell = newExtraSellFee; totalFee = liquidityFee.add(operationsFee).add(rewardsFee); totalFeeIfSelling = totalFee.add(extraFeeOnSell); require(totalFeeIfSelling <=30, "Total fee is over 30%"); } function changeFeeReceivers(address newLiquidityReceiver, address newOperationsWallet, address newDevWallet) external authorized { autoLiquidityReceiver = newLiquidityReceiver; operationsWallet = newOperationsWallet; devWallet = newDevWallet; } function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit, bool swapByLimitOnly) external authorized { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; swapAndLiquifyByLimitOnly = swapByLimitOnly; } function changeDistributionCriteria(uint256 newinPeriod, uint256 newMinDistribution) external authorized { dividendDistributor.setDistributionCriteria(newinPeriod, newMinDistribution); } function changeDistributorSettings(uint256 gas) external authorized { require(gas < 300000); distributorGas = gas; } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != uint256(-1)){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } // Blacklist if(blacklistMode){ require(!isBlacklisted[sender],"Blacklisted"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); } if(!authorizations[sender] && !authorizations[recipient]){ require(tradingOpen, "Trading not open yet"); } require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); } if(!launched() && recipient == pair) { require(_balances[sender] > 0); launch(); } //Exchange tokens _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); if(!isTxLimitExempt[recipient] && restrictWhales) { require(_balances[recipient].add(amount) <= _walletMax); } uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); // Dividend tracker if(!isDividendExempt[sender]) { try dividendDistributor.setShare(sender, _balances[sender]) {} catch {} } if(!isDividendExempt[recipient]) { try dividendDistributor.setShare(recipient, _balances[recipient]) {} catch {} } try dividendDistributor.process(distributorGas) {} 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 ? totalFeeIfSelling : totalFee; 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 tradingStatus(bool newStatus) public onlyOwner { tradingOpen = newStatus; } function swapBack() internal lockTheSwap { uint256 tokensToLiquify = _balances[address(this)]; uint256 amountToLiquify = tokensToLiquify.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountCRO = address(this).balance; uint256 totalCROFee = totalFee.sub(liquidityFee.div(2)); uint256 amountCROLiquidity = amountCRO.mul(liquidityFee).div(totalCROFee).div(2); uint256 amountCROReflection = amountCRO.mul(rewardsFee).div(totalCROFee); uint256 amountCROOperations = amountCRO.sub(amountCROLiquidity).sub(amountCROReflection); try dividendDistributor.deposit{value: amountCROReflection}() {} catch {} uint256 operationsShare = amountCROOperations.mul(3).div(4); uint256 devShare = amountCROOperations.sub(operationsShare); (bool tmpSuccess,) = payable(operationsWallet).call{value: operationsShare, gas: 30000}(""); (bool tmpSuccess1,) = payable(devWallet).call{value: devShare, gas: 30000}(""); // only to supress warning msg tmpSuccess = false; tmpSuccess1 = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountCROLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountCROLiquidity, amountToLiquify); } } event AutoLiquify(uint256 amountCRO, uint256 amountBOG); }
[{"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":false,"internalType":"uint256","name":"amountCRO","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newinPeriod","type":"uint256"},{"internalType":"uint256","name":"newMinDistribution","type":"uint256"}],"name":"changeDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"changeDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityReceiver","type":"address"},{"internalType":"address","name":"newOperationsWallet","type":"address"},{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"changeFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newOperationsFee","type":"uint256"},{"internalType":"uint256","name":"newExtraSellFee","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsDividendExempt","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":"newValue","type":"bool"}],"name":"changeRestrictWhales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"},{"internalType":"bool","name":"swapByLimitOnly","type":"bool"}],"name":"changeSwapBackSettings","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dividendDistributor","outputs":[{"internalType":"contract DividendDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"extraFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","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":"account","type":"address"}],"name":"isOwner","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":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"operationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"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":"bool","name":"newStatus","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405261dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073145677fc4d9b8f19b5d56d1820c48e0443049a30600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c4a174ccb5fb54a6721e11e0ca961e42715023f9600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960ff16600a0a633b9aca0002600655600960ff16600a0a6301312d0002600755600960ff16600a0a6301312d00026008556001600960006101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff02191690831515021790555060026011556004601255600460135560148055600060155560006016556000601d60006101000a81548160ff021916908315150217905550620493e0601e556001601f60016101000a81548160ff0219169083151502179055506000601f60026101000a81548160ff021916908315150217905550600960ff16600a0a614e20026020553480156200022d57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039357600080fd5b505afa158015620003a8573d6000803e3d6000fd5b505050506040513d6020811015620003bf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200045457600080fd5b505afa15801562000469573d6000803e3d6000fd5b505050506040513d60208110156200048057600080fd5b8101908080519060200190929190505050306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620004fc57600080fd5b505af115801562000511573d6000803e3d6000fd5b505050506040513d60208110156200052857600080fd5b8101908080519060200190929190505050601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200066d9062000cd5565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015620006aa573d6000803e3d6000fd5b50601d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073d0ac1786cc44e9342be0f2521971de7a839f95c5601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c3872fe2c27e794dc8d63b8ba42647421d8631d1601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000b6e60135462000b5a60125460115462000c4c60201b6200299d1790919060201c565b62000c4c60201b6200299d1790919060201c565b60158190555062000b9260145460155462000c4c60201b6200299d1790919060201c565b601681905550600654600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a362000ce3565b60008082840190508381101562000ccb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b611ad88062004f6883390190565b6142758062000cf36000396000f3fe6080604052600436106102975760003560e01c80637db1342c1161015a578063bad3ea6a116100c1578063f0b37c041161007a578063f0b37c0414610f93578063f2fde38b14610fe4578063f887ea4014611035578063fabe628314611076578063fe9fbb80146110d3578063ffb54a991461113a5761029e565b8063bad3ea6a14610dfd578063bf56b37114610e3e578063d920334e14610e69578063da00097d14610ea4578063dd62ed3e14610ed1578063e66b1d1e14610f565761029e565b806398118cb41161011357806398118cb414610c2d578063a3a2e89e14610c58578063a8aa1b3114610cb5578063a9059cbb14610cf6578063a9f7864b14610d67578063b6a5d7de14610dac5761029e565b80637db1342c146109fd578063807c2d9c14610a38578063893d20e814610a635780638b42507f14610aa45780638e2eee8414610b0b57806395d89b4114610b9d5761029e565b806334c70889116101fe578063571ac8b0116101b7578063571ac8b014610825578063650c42261461088c57806369cf17d4146108e557806370a0823114610910578063773fcb5c146109755780637d1db4a5146109d25761029e565b806334c708891461066f5780633f4218e0146106c25780634355855a1461072957806344de2e4c14610790578063479f66d8146107bd5780634a74bb02146107f85761029e565b806323b872dd1161025057806323b872dd146104625780632b112e49146104f35780632bb14e1d1461051e5780632f54bf6e14610549578063313ce567146105b0578063315dca29146105de5761029e565b80630445b667146102a357806306fdde03146102ce578063090896be1461035e578063095ea7b3146103895780630d295980146103fa57806318160ddd146104375761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8611167565b6040518082815260200191505060405180910390f35b3480156102da57600080fd5b506102e361116d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610323578082015181840152602081019050610308565b50505050905090810190601f1680156103505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036a57600080fd5b506103736111aa565b6040518082815260200191505060405180910390f35b34801561039557600080fd5b506103e2600480360360408110156103ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111b0565b60405180821515815260200191505060405180910390f35b34801561040657600080fd5b506104356004803603602081101561041d57600080fd5b810190808035151590602001909291905050506112a2565b005b34801561044357600080fd5b5061044c61133a565b6040518082815260200191505060405180910390f35b34801561046e57600080fd5b506104db6004803603606081101561048557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611344565b60405180821515815260200191505060405180910390f35b3480156104ff57600080fd5b5061050861161a565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b5061053361169c565b6040518082815260200191505060405180910390f35b34801561055557600080fd5b506105986004803603602081101561056c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116a2565b60405180821515815260200191505060405180910390f35b3480156105bc57600080fd5b506105c56116fb565b604051808260ff16815260200191505060405180910390f35b3480156105ea57600080fd5b5061066d6004803603606081101561060157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611704565b005b34801561067b57600080fd5b506106c06004803603606081101561069257600080fd5b8101908080351515906020019092919080359060200190929190803515159060200190929190505050611847565b005b3480156106ce57600080fd5b50610711600480360360208110156106e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611902565b60405180821515815260200191505060405180910390f35b34801561073557600080fd5b506107786004803603602081101561074c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b60405180821515815260200191505060405180910390f35b34801561079c57600080fd5b506107a5611942565b60405180821515815260200191505060405180910390f35b3480156107c957600080fd5b506107f6600480360360208110156107e057600080fd5b8101908080359060200190929190505050611955565b005b34801561080457600080fd5b5061080d6119e9565b60405180821515815260200191505060405180910390f35b34801561083157600080fd5b506108746004803603602081101561084857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119fc565b60405180821515815260200191505060405180910390f35b34801561089857600080fd5b506108e3600480360360808110156108af57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611a2f565b005b3480156108f157600080fd5b506108fa611b93565b6040518082815260200191505060405180910390f35b34801561091c57600080fd5b5061095f6004803603602081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b99565b6040518082815260200191505060405180910390f35b34801561098157600080fd5b506109d06004803603604081101561099857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611be2565b005b3480156109de57600080fd5b506109e7611eed565b6040518082815260200191505060405180910390f35b348015610a0957600080fd5b50610a3660048036036020811015610a2057600080fd5b8101908080359060200190929190505050611ef3565b005b348015610a4457600080fd5b50610a4d611f78565b6040518082815260200191505060405180910390f35b348015610a6f57600080fd5b50610a78611f7e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ab057600080fd5b50610af360048036036020811015610ac757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fa7565b60405180821515815260200191505060405180910390f35b348015610b1757600080fd5b50610b9b60048036036040811015610b2e57600080fd5b8101908080359060200190640100000000811115610b4b57600080fd5b820183602082011115610b5d57600080fd5b80359060200191846020830284011164010000000083111715610b7f57600080fd5b9091929391929390803515159060200190929190505050611fc7565b005b348015610ba957600080fd5b50610bb26120e0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bf2578082015181840152602081019050610bd7565b50505050905090810190601f168015610c1f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c3957600080fd5b50610c4261211d565b6040518082815260200191505060405180910390f35b348015610c6457600080fd5b50610cb360048036036040811015610c7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612123565b005b348015610cc157600080fd5b50610cca6121f9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d0257600080fd5b50610d4f60048036036040811015610d1957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061221f565b60405180821515815260200191505060405180910390f35b348015610d7357600080fd5b50610daa60048036036040811015610d8a57600080fd5b810190808035906020019092919080359060200190929190505050612234565b005b348015610db857600080fd5b50610dfb60048036036020811015610dcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612348565b005b348015610e0957600080fd5b50610e1261241d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e4a57600080fd5b50610e53612443565b6040518082815260200191505060405180910390f35b348015610e7557600080fd5b50610ea260048036036020811015610e8c57600080fd5b8101908080359060200190929190505050612449565b005b348015610eb057600080fd5b50610eb96124ce565b60405180821515815260200191505060405180910390f35b348015610edd57600080fd5b50610f4060048036036040811015610ef457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124e1565b6040518082815260200191505060405180910390f35b348015610f6257600080fd5b50610f9160048036036020811015610f7957600080fd5b81019080803515159060200190929190505050612568565b005b348015610f9f57600080fd5b50610fe260048036036020811015610fb657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612600565b005b348015610ff057600080fd5b506110336004803603602081101561100757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126d6565b005b34801561104157600080fd5b5061104a612838565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561108257600080fd5b506110d16004803603604081101561109957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061285e565b005b3480156110df57600080fd5b50611122600480360360208110156110f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612934565b60405180821515815260200191505060405180910390f35b34801561114657600080fd5b5061114f61298a565b60405180821515815260200191505060405180910390f35b60205481565b60606040518060400160405280600981526020017f4261627943726f67650000000000000000000000000000000000000000000000815250905090565b60125481565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6112ab336116a2565b61131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601d60006101000a81548160ff02191690831515021790555050565b6000600654905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611530576114af826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a259092919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900460ff161561160657601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611605576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f426c61636b6c697374656400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b611611848484612ae5565b90509392505050565b600061169761164a600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611b99565b611689611678600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611b99565b60065461350d90919063ffffffff16565b61350d90919063ffffffff16565b905090565b60135481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b61170d33612934565b61177f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61185033612934565b6118c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601f60016101000a81548160ff0219169083151502179055508160208190555080601f60026101000a81548160ff021916908315150217905550505050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600e6020528060005260406000206000915054906101000a900460ff1681565b600960009054906101000a900460ff1681565b61195e33612934565b6119d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b620493e081106119df57600080fd5b80601e8190555050565b601f60019054906101000a900460ff1681565b6000611a28827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6111b0565b9050919050565b611a3833612934565b611aaa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b83601181905550826013819055508160128190555080601481905550611af1601354611ae360125460115461299d90919063ffffffff16565b61299d90919063ffffffff16565b601581905550611b0e60145460155461299d90919063ffffffff16565b601681905550601e6016541115611b8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f74616c20666565206973206f76657220333025000000000000000000000081525060200191505060405180910390fd5b50505050565b60145481565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611beb33612934565b611c5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611ce75750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611cf057600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611dfe57601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca968360006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611de157600080fd5b505af1158015611df5573d6000803e3d6000fd5b50505050611ee9565b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9683600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611ed057600080fd5b505af1158015611ee4573d6000803e3d6000fd5b505050505b5050565b60075481565b611efc33612934565b611f6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060088190555050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b611fd0336116a2565b612042576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005b838390508110156120da57816010600086868581811061206157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806001019050612045565b50505050565b60606040518060400160405280600681526020017f4243524f47450000000000000000000000000000000000000000000000000000815250905090565b60115481565b61212c33612934565b61219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061222c338484612ae5565b905092915050565b61223d33612934565b6122af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632d48e89683836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561232c57600080fd5b505af1158015612340573d6000803e3d6000fd5b505050505050565b612351336116a2565b6123c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c5481565b61245233612934565b6124c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b601f60029054906101000a900460ff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61257133612934565b6125e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548160ff02191690831515021790555050565b612609336116a2565b61267b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6126df336116a2565b612751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61286733612934565b6128d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601d60009054906101000a900460ff1681565b600080828401905083811015612a1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612ad2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a97578082015181840152602081019050612a7c565b50505050905090810190601f168015612ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000601f60009054906101000a900460ff1615612b0e57612b07848484613557565b9050613506565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612bb25750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c3a57601d60009054906101000a900460ff16612c39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f54726164696e67206e6f74206f70656e2079657400000000000000000000000081525060200191505060405180910390fd5b5b60075482111580612c945750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612d06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5458204c696d697420457863656564656400000000000000000000000000000081525060200191505060405180910390fd5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612d715750601f60009054906101000a900460ff16155b8015612d895750601f60019054906101000a900460ff165b8015612dd65750602054600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612de457612de361372a565b5b612dec613eca565b158015612e465750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15612ea0576000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411612e9757600080fd5b612e9f613ed7565b5b612f29826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a259092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612fd25750600960009054906101000a900460ff165b156130385760085461302c83600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b111561303757600080fd5b5b6000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130de5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6130e857826130f4565b6130f3858585613ee0565b5b905061314881600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166132ca57601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9686600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156132ae57600080fd5b505af19250505080156132bf575060015b6132c8576132c9565b5b5b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661340957601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9685600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156133ed57600080fd5b505af19250505080156133fe575060015b61340757613408565b5b5b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479601e546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561348057600080fd5b505af1925050508015613491575060015b61349a5761349b565b5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b600061354f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a25565b905092915050565b60006135e2826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a259092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061367782600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6001601f60006101000a81548160ff0219169083151502179055506000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006137c760026137b96015546137ab6011548761408890919063ffffffff16565b61410e90919063ffffffff16565b61410e90919063ffffffff16565b905060006137de828461350d90919063ffffffff16565b90506000600267ffffffffffffffff811180156137fa57600080fd5b506040519080825280602002602001820160405280156138295781602001602082028036833780820191505090505b509050308160008151811061383a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156138dc57600080fd5b505afa1580156138f0573d6000803e3d6000fd5b505050506040513d602081101561390657600080fd5b81019080805190602001909291905050508160018151811061392457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015613a22578082015181840152602081019050613a07565b505050509050019650505050505050600060405180830381600087803b158015613a4b57600080fd5b505af1158015613a5f573d6000803e3d6000fd5b5050505060004790506000613a94613a83600260115461410e90919063ffffffff16565b60155461350d90919063ffffffff16565b90506000613ad26002613ac484613ab66011548861408890919063ffffffff16565b61410e90919063ffffffff16565b61410e90919063ffffffff16565b90506000613afd83613aef6013548761408890919063ffffffff16565b61410e90919063ffffffff16565b90506000613b2682613b18858861350d90919063ffffffff16565b61350d90919063ffffffff16565b9050601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015613b9257600080fd5b505af193505050508015613ba4575060015b613bad57613bae565b5b6000613bd76004613bc960038561408890919063ffffffff16565b61410e90919063ffffffff16565b90506000613bee828461350d90919063ffffffff16565b90506000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d8060008114613c77576040519150601f19603f3d011682016040523d82523d6000602084013e613c7c565b606091505b505090506000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d8060008114613d07576040519150601f19603f3d011682016040523d82523d6000602084013e613d0c565b606091505b50509050600091506000905060008c1115613ea057601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71988308f600080601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015613e0d57600080fd5b505af1158015613e21573d6000803e3d6000fd5b50505050506040513d6060811015613e3857600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506878d604051808381526020018281526020019250505060405180910390a15b505050505050505050505050506000601f60006101000a81548160ff021916908315150217905550565b600080601c541415905090565b43601c81905550565b6000808373ffffffffffffffffffffffffffffffffffffffff16601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613f4057601554613f44565b6016545b90506000613f6e6064613f60848761408890919063ffffffff16565b61410e90919063ffffffff16565b9050613fc281600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361407d818561350d90919063ffffffff16565b925050509392505050565b60008083141561409b5760009050614108565b60008284029050828482816140ac57fe5b0414614103576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061421f6021913960400191505060405180910390fd5b809150505b92915050565b600061415083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614158565b905092915050565b60008083118290614204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156141c95780820151818401526020810190506141ae565b50505050905090810190601f1680156141f65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161421057fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212202babf84577886518699b77da4017275eee97bf08a52d60466622a1453e80abc964736f6c63430007060033608060405273145677fc4d9b8f19b5d56d1820c48e0443049a30600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c4a174ccb5fb54a6721e11e0ca961e42715023f9600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506ec097ce7bc90715b34b9f1000000000600c55610708600d556509184e72a000600e553480156100dd57600080fd5b50604051611ad8380380611ad88339818101604052602081101561010057600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561016e57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610170565b805b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506118d8806102006000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed1461033b578063f0fc6bca14610366578063ffb2c4791461037d578063ffd49c84146103b8576100dd565b8063ce7c2ac214610293578063d0e30db014610306578063e2d2e21914610310576100dd565b80632d48e896116100bb5780632d48e896146101cd5780633a98ef39146102125780634fab0ae81461023d578063997664d714610268576100dd565b806311ce023d146100e257806314b6ca961461010d57806328fd319814610168575b600080fd5b3480156100ee57600080fd5b506100f76103e3565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b506101666004803603604081101561013057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103e9565b005b34801561017457600080fd5b506101b76004803603602081101561018b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a8565b6040518082815260200191505060405180910390f35b3480156101d957600080fd5b50610210600480360360408110156101f057600080fd5b8101908080359060200190929190803590602001909291905050506107c2565b005b34801561021e57600080fd5b5061022761082c565b6040518082815260200191505060405180910390f35b34801561024957600080fd5b50610252610832565b6040518082815260200191505060405180910390f35b34801561027457600080fd5b5061027d610838565b6040518082815260200191505060405180910390f35b34801561029f57600080fd5b506102e2600480360360208110156102b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083e565b60405180848152602001838152602001828152602001935050505060405180910390f35b61030e610868565b005b34801561031c57600080fd5b50610325610d63565b6040518082815260200191505060405180910390f35b34801561034757600080fd5b50610350610d69565b6040518082815260200191505060405180910390f35b34801561037257600080fd5b5061037b610d6f565b005b34801561038957600080fd5b506103b6600480360360208110156103a057600080fd5b8101908080359060200190929190505050610df5565b005b3480156103c457600080fd5b506103cd610f6f565b6040518082815260200191505060405180910390f35b600c5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461044157600080fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411156104965761049582610f75565b5b6000811180156104e857506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154145b156104fb576104f68261123b565b61055d565b60008114801561054d57506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154115b1561055c5761055b826112ea565b5b5b6105c6816105b8600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546008546114c390919063ffffffff16565b61150d90919063ffffffff16565b60088190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061065e600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611595565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156106fd57600090506107bd565b600061074a600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611595565b90506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490508082116107a5576000925050506107bd565b6107b881836114c390919063ffffffff16565b925050505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461081a57600080fd5b81600d8190555080600e819055505050565b60085481565b600e5481565b60095481565b60076020528060005260406000206000915090508060000154908060010154908060020154905083565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108c057600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561094b57600080fd5b505afa15801561095f573d6000803e3d6000fd5b505050506040513d602081101561097557600080fd5b810190808051906020019092919050505090506000600267ffffffffffffffff811180156109a257600080fd5b506040519080825280602002602001820160405280156109d15781602001602082028036833780820191505090505b509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3c57600080fd5b505afa158015610a50573d6000803e3d6000fd5b505050506040513d6020811015610a6657600080fd5b810190808051906020019092919050505081600081518110610a8457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110610aee57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de953460008430426040518663ffffffff1660e01b815260040180858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015610be6578082015181840152602081019050610bcb565b50505050905001955050505050506000604051808303818588803b158015610c0d57600080fd5b505af1158015610c21573d6000803e3d6000fd5b50505050506000610cfe83600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cb557600080fd5b505afa158015610cc9573d6000803e3d6000fd5b505050506040513d6020811015610cdf57600080fd5b81019080805190602001909291905050506114c390919063ffffffff16565b9050610d158160095461150d90919063ffffffff16565b600981905550610d58610d47600854610d3984600c546115c790919063ffffffff16565b61164d90919063ffffffff16565b600b5461150d90919063ffffffff16565b600b81905550505050565b600b5481565b600a5481565b610d7833611697565b610dea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f546f6f20736f6f6e2e204e65656420746f20776169742100000000000000000081525060200191505060405180910390fd5b610df333610f75565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e4d57600080fd5b600060048054905090506000811415610e665750610f6c565b60008060005a90505b8482108015610e7d57508383105b15610f675783600f5410610e94576000600f819055505b610ed66004600f5481548110610ea657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611697565b15610f1e57610f1d6004600f5481548110610eed57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f75565b5b610f43610f345a836114c390919063ffffffff16565b8361150d90919063ffffffff16565b91505a9050600f600081548092919060010191905055508280600101935050610e6f565b505050505b50565b600d5481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610fc557611238565b6000610fd0826106a8565b9050600081111561123657610ff081600a5461150d90919063ffffffff16565b600a81905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561108957600080fd5b505af115801561109d573d6000803e3d6000fd5b505050506040513d60208110156110b357600080fd5b81019080805190602001909291905050505042600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061115e81600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015461150d90919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506111ef600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611595565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b505b50565b600480549050600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506004819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6004600160048054905003815481106112ff57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548154811061137657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546005600060046001600480549050038154811061141757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600480548061148b57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905550565b600061150583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116fb565b905092915050565b60008082840190508381101561158b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006115c0600c546115b2600b54856115c790919063ffffffff16565b61164d90919063ffffffff16565b9050919050565b6000808314156115da5760009050611647565b60008284029050828482816115eb57fe5b0414611642576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806118826021913960400191505060405180910390fd5b809150505b92915050565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117bb565b905092915050565b600042600d54600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011080156116f45750600e546116f2836106a8565b115b9050919050565b60008383111582906117a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561176d578082015181840152602081019050611752565b50505050905090810190601f16801561179a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611867576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561182c578082015181840152602081019050611811565b50505050905090810190601f1680156118595780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161187357fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220c669a8b7a63cc5444397b966d703dad045fdfb150ef9629ac60d082b918b657a64736f6c63430007060033
Deployed Bytecode
0x6080604052600436106102975760003560e01c80637db1342c1161015a578063bad3ea6a116100c1578063f0b37c041161007a578063f0b37c0414610f93578063f2fde38b14610fe4578063f887ea4014611035578063fabe628314611076578063fe9fbb80146110d3578063ffb54a991461113a5761029e565b8063bad3ea6a14610dfd578063bf56b37114610e3e578063d920334e14610e69578063da00097d14610ea4578063dd62ed3e14610ed1578063e66b1d1e14610f565761029e565b806398118cb41161011357806398118cb414610c2d578063a3a2e89e14610c58578063a8aa1b3114610cb5578063a9059cbb14610cf6578063a9f7864b14610d67578063b6a5d7de14610dac5761029e565b80637db1342c146109fd578063807c2d9c14610a38578063893d20e814610a635780638b42507f14610aa45780638e2eee8414610b0b57806395d89b4114610b9d5761029e565b806334c70889116101fe578063571ac8b0116101b7578063571ac8b014610825578063650c42261461088c57806369cf17d4146108e557806370a0823114610910578063773fcb5c146109755780637d1db4a5146109d25761029e565b806334c708891461066f5780633f4218e0146106c25780634355855a1461072957806344de2e4c14610790578063479f66d8146107bd5780634a74bb02146107f85761029e565b806323b872dd1161025057806323b872dd146104625780632b112e49146104f35780632bb14e1d1461051e5780632f54bf6e14610549578063313ce567146105b0578063315dca29146105de5761029e565b80630445b667146102a357806306fdde03146102ce578063090896be1461035e578063095ea7b3146103895780630d295980146103fa57806318160ddd146104375761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8611167565b6040518082815260200191505060405180910390f35b3480156102da57600080fd5b506102e361116d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610323578082015181840152602081019050610308565b50505050905090810190601f1680156103505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036a57600080fd5b506103736111aa565b6040518082815260200191505060405180910390f35b34801561039557600080fd5b506103e2600480360360408110156103ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111b0565b60405180821515815260200191505060405180910390f35b34801561040657600080fd5b506104356004803603602081101561041d57600080fd5b810190808035151590602001909291905050506112a2565b005b34801561044357600080fd5b5061044c61133a565b6040518082815260200191505060405180910390f35b34801561046e57600080fd5b506104db6004803603606081101561048557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611344565b60405180821515815260200191505060405180910390f35b3480156104ff57600080fd5b5061050861161a565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b5061053361169c565b6040518082815260200191505060405180910390f35b34801561055557600080fd5b506105986004803603602081101561056c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116a2565b60405180821515815260200191505060405180910390f35b3480156105bc57600080fd5b506105c56116fb565b604051808260ff16815260200191505060405180910390f35b3480156105ea57600080fd5b5061066d6004803603606081101561060157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611704565b005b34801561067b57600080fd5b506106c06004803603606081101561069257600080fd5b8101908080351515906020019092919080359060200190929190803515159060200190929190505050611847565b005b3480156106ce57600080fd5b50610711600480360360208110156106e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611902565b60405180821515815260200191505060405180910390f35b34801561073557600080fd5b506107786004803603602081101561074c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b60405180821515815260200191505060405180910390f35b34801561079c57600080fd5b506107a5611942565b60405180821515815260200191505060405180910390f35b3480156107c957600080fd5b506107f6600480360360208110156107e057600080fd5b8101908080359060200190929190505050611955565b005b34801561080457600080fd5b5061080d6119e9565b60405180821515815260200191505060405180910390f35b34801561083157600080fd5b506108746004803603602081101561084857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119fc565b60405180821515815260200191505060405180910390f35b34801561089857600080fd5b506108e3600480360360808110156108af57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611a2f565b005b3480156108f157600080fd5b506108fa611b93565b6040518082815260200191505060405180910390f35b34801561091c57600080fd5b5061095f6004803603602081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b99565b6040518082815260200191505060405180910390f35b34801561098157600080fd5b506109d06004803603604081101561099857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611be2565b005b3480156109de57600080fd5b506109e7611eed565b6040518082815260200191505060405180910390f35b348015610a0957600080fd5b50610a3660048036036020811015610a2057600080fd5b8101908080359060200190929190505050611ef3565b005b348015610a4457600080fd5b50610a4d611f78565b6040518082815260200191505060405180910390f35b348015610a6f57600080fd5b50610a78611f7e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ab057600080fd5b50610af360048036036020811015610ac757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fa7565b60405180821515815260200191505060405180910390f35b348015610b1757600080fd5b50610b9b60048036036040811015610b2e57600080fd5b8101908080359060200190640100000000811115610b4b57600080fd5b820183602082011115610b5d57600080fd5b80359060200191846020830284011164010000000083111715610b7f57600080fd5b9091929391929390803515159060200190929190505050611fc7565b005b348015610ba957600080fd5b50610bb26120e0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bf2578082015181840152602081019050610bd7565b50505050905090810190601f168015610c1f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c3957600080fd5b50610c4261211d565b6040518082815260200191505060405180910390f35b348015610c6457600080fd5b50610cb360048036036040811015610c7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612123565b005b348015610cc157600080fd5b50610cca6121f9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d0257600080fd5b50610d4f60048036036040811015610d1957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061221f565b60405180821515815260200191505060405180910390f35b348015610d7357600080fd5b50610daa60048036036040811015610d8a57600080fd5b810190808035906020019092919080359060200190929190505050612234565b005b348015610db857600080fd5b50610dfb60048036036020811015610dcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612348565b005b348015610e0957600080fd5b50610e1261241d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e4a57600080fd5b50610e53612443565b6040518082815260200191505060405180910390f35b348015610e7557600080fd5b50610ea260048036036020811015610e8c57600080fd5b8101908080359060200190929190505050612449565b005b348015610eb057600080fd5b50610eb96124ce565b60405180821515815260200191505060405180910390f35b348015610edd57600080fd5b50610f4060048036036040811015610ef457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124e1565b6040518082815260200191505060405180910390f35b348015610f6257600080fd5b50610f9160048036036020811015610f7957600080fd5b81019080803515159060200190929190505050612568565b005b348015610f9f57600080fd5b50610fe260048036036020811015610fb657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612600565b005b348015610ff057600080fd5b506110336004803603602081101561100757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126d6565b005b34801561104157600080fd5b5061104a612838565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561108257600080fd5b506110d16004803603604081101561109957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061285e565b005b3480156110df57600080fd5b50611122600480360360208110156110f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612934565b60405180821515815260200191505060405180910390f35b34801561114657600080fd5b5061114f61298a565b60405180821515815260200191505060405180910390f35b60205481565b60606040518060400160405280600981526020017f4261627943726f67650000000000000000000000000000000000000000000000815250905090565b60125481565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6112ab336116a2565b61131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601d60006101000a81548160ff02191690831515021790555050565b6000600654905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611530576114af826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a259092919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900460ff161561160657601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611605576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f426c61636b6c697374656400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b611611848484612ae5565b90509392505050565b600061169761164a600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611b99565b611689611678600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611b99565b60065461350d90919063ffffffff16565b61350d90919063ffffffff16565b905090565b60135481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b61170d33612934565b61177f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61185033612934565b6118c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601f60016101000a81548160ff0219169083151502179055508160208190555080601f60026101000a81548160ff021916908315150217905550505050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600e6020528060005260406000206000915054906101000a900460ff1681565b600960009054906101000a900460ff1681565b61195e33612934565b6119d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b620493e081106119df57600080fd5b80601e8190555050565b601f60019054906101000a900460ff1681565b6000611a28827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6111b0565b9050919050565b611a3833612934565b611aaa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b83601181905550826013819055508160128190555080601481905550611af1601354611ae360125460115461299d90919063ffffffff16565b61299d90919063ffffffff16565b601581905550611b0e60145460155461299d90919063ffffffff16565b601681905550601e6016541115611b8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f74616c20666565206973206f76657220333025000000000000000000000081525060200191505060405180910390fd5b50505050565b60145481565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611beb33612934565b611c5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611ce75750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611cf057600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611dfe57601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca968360006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611de157600080fd5b505af1158015611df5573d6000803e3d6000fd5b50505050611ee9565b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9683600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611ed057600080fd5b505af1158015611ee4573d6000803e3d6000fd5b505050505b5050565b60075481565b611efc33612934565b611f6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060088190555050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b611fd0336116a2565b612042576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005b838390508110156120da57816010600086868581811061206157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806001019050612045565b50505050565b60606040518060400160405280600681526020017f4243524f47450000000000000000000000000000000000000000000000000000815250905090565b60115481565b61212c33612934565b61219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061222c338484612ae5565b905092915050565b61223d33612934565b6122af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632d48e89683836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561232c57600080fd5b505af1158015612340573d6000803e3d6000fd5b505050505050565b612351336116a2565b6123c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c5481565b61245233612934565b6124c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b601f60029054906101000a900460ff1681565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61257133612934565b6125e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548160ff02191690831515021790555050565b612609336116a2565b61267b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6126df336116a2565b612751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61286733612934565b6128d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601d60009054906101000a900460ff1681565b600080828401905083811015612a1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612ad2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a97578082015181840152602081019050612a7c565b50505050905090810190601f168015612ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000601f60009054906101000a900460ff1615612b0e57612b07848484613557565b9050613506565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612bb25750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c3a57601d60009054906101000a900460ff16612c39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f54726164696e67206e6f74206f70656e2079657400000000000000000000000081525060200191505060405180910390fd5b5b60075482111580612c945750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612d06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5458204c696d697420457863656564656400000000000000000000000000000081525060200191505060405180910390fd5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612d715750601f60009054906101000a900460ff16155b8015612d895750601f60019054906101000a900460ff165b8015612dd65750602054600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612de457612de361372a565b5b612dec613eca565b158015612e465750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15612ea0576000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411612e9757600080fd5b612e9f613ed7565b5b612f29826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a259092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612fd25750600960009054906101000a900460ff165b156130385760085461302c83600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b111561303757600080fd5b5b6000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130de5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6130e857826130f4565b6130f3858585613ee0565b5b905061314881600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166132ca57601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9686600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156132ae57600080fd5b505af19250505080156132bf575060015b6132c8576132c9565b5b5b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661340957601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9685600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156133ed57600080fd5b505af19250505080156133fe575060015b61340757613408565b5b5b601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479601e546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561348057600080fd5b505af1925050508015613491575060015b61349a5761349b565b5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b600061354f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a25565b905092915050565b60006135e2826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a259092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061367782600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6001601f60006101000a81548160ff0219169083151502179055506000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006137c760026137b96015546137ab6011548761408890919063ffffffff16565b61410e90919063ffffffff16565b61410e90919063ffffffff16565b905060006137de828461350d90919063ffffffff16565b90506000600267ffffffffffffffff811180156137fa57600080fd5b506040519080825280602002602001820160405280156138295781602001602082028036833780820191505090505b509050308160008151811061383a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156138dc57600080fd5b505afa1580156138f0573d6000803e3d6000fd5b505050506040513d602081101561390657600080fd5b81019080805190602001909291905050508160018151811061392457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015613a22578082015181840152602081019050613a07565b505050509050019650505050505050600060405180830381600087803b158015613a4b57600080fd5b505af1158015613a5f573d6000803e3d6000fd5b5050505060004790506000613a94613a83600260115461410e90919063ffffffff16565b60155461350d90919063ffffffff16565b90506000613ad26002613ac484613ab66011548861408890919063ffffffff16565b61410e90919063ffffffff16565b61410e90919063ffffffff16565b90506000613afd83613aef6013548761408890919063ffffffff16565b61410e90919063ffffffff16565b90506000613b2682613b18858861350d90919063ffffffff16565b61350d90919063ffffffff16565b9050601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015613b9257600080fd5b505af193505050508015613ba4575060015b613bad57613bae565b5b6000613bd76004613bc960038561408890919063ffffffff16565b61410e90919063ffffffff16565b90506000613bee828461350d90919063ffffffff16565b90506000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d8060008114613c77576040519150601f19603f3d011682016040523d82523d6000602084013e613c7c565b606091505b505090506000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d8060008114613d07576040519150601f19603f3d011682016040523d82523d6000602084013e613d0c565b606091505b50509050600091506000905060008c1115613ea057601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71988308f600080601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015613e0d57600080fd5b505af1158015613e21573d6000803e3d6000fd5b50505050506040513d6060811015613e3857600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506878d604051808381526020018281526020019250505060405180910390a15b505050505050505050505050506000601f60006101000a81548160ff021916908315150217905550565b600080601c541415905090565b43601c81905550565b6000808373ffffffffffffffffffffffffffffffffffffffff16601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613f4057601554613f44565b6016545b90506000613f6e6064613f60848761408890919063ffffffff16565b61410e90919063ffffffff16565b9050613fc281600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461299d90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361407d818561350d90919063ffffffff16565b925050509392505050565b60008083141561409b5760009050614108565b60008284029050828482816140ac57fe5b0414614103576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061421f6021913960400191505060405180910390fd5b809150505b92915050565b600061415083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614158565b905092915050565b60008083118290614204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156141c95780820151818401526020810190506141ae565b50505050905090810190601f1680156141f65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161421057fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212202babf84577886518699b77da4017275eee97bf08a52d60466622a1453e80abc964736f6c63430007060033
Deployed ByteCode Sourcemap
11304:12503:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13101:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14454:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12432:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15298:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21705:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14716:88;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18749:510;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14896:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12471:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10674:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14630:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17658:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17942;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12132:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12238:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11975:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18434:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13000:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15522:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17148:502;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12507:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15046:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16438:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11839:59;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15934:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11905:57;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14810:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12183:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16930:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14540:84;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12394:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16168:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12779:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18585:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18226:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10347:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12879:46;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12807:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15823:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13047:45;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15157:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16048:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10517:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11074:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12748:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16299:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10848:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12839:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13101:60;;;;:::o;14454:80::-;14502:13;14526:5;;;;;;;;;;;;;;;;;14519:12;;14454:80;:::o;12432:32::-;;;;:::o;15298:216::-;15373:4;15425:6;15390:11;:23;15402:10;15390:23;;;;;;;;;;;;;;;:32;15414:7;15390:32;;;;;;;;;;;;;;;:41;;;;15468:7;15447:37;;15456:10;15447:37;;;15477:6;15447:37;;;;;;;;;;;;;;;;;;15502:4;15495:11;;15298:216;;;;:::o;21705:98::-;10063:19;10071:10;10063:7;:19::i;:::-;10055:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21786:9:::1;21772:11;;:23;;;;;;;;;;;;;;;;;;21705:98:::0;:::o;14716:88::-;14771:7;14789:12;;14782:19;;14716:88;:::o;18749:510::-;18849:4;18922:2;18879:11;:19;18891:6;18879:19;;;;;;;;;;;;;;;:31;18899:10;18879:31;;;;;;;;;;;;;;;;:46;18876:180;;18975:69;19011:6;18975:69;;;;;;;;;;;;;;;;;:11;:19;18987:6;18975:19;;;;;;;;;;;;;;;:31;18995:10;18975:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;18941:11;:19;18953:6;18941:19;;;;;;;;;;;;;;;:31;18961:10;18941:31;;;;;;;;;;;;;;;:103;;;;18876:180;19094:13;;;;;;;;;;;19091:93;;;19132:13;:21;19146:6;19132:21;;;;;;;;;;;;;;;;;;;;;;;;;19131:22;19123:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19091:93;19211:40;19225:6;19233:9;19244:6;19211:13;:40::i;:::-;19204:47;;18749:510;;;;;:::o;14896:142::-;14949:7;14976:54;15014:15;15024:4;;;;;;;;;;;15014:9;:15::i;:::-;14976:33;14993:15;15003:4;;;;;;;;;;;14993:9;:15::i;:::-;14976:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;14969:61;;14896:142;:::o;12471:29::-;;;;:::o;10674:103::-;10729:4;10764:5;;;;;;;;;;;10753:16;;:7;:16;;;10746:23;;10674:103;;;:::o;14630:80::-;14682:5;11497:1;14691:16;;14630:80;:::o;17658:276::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17822:20:::1;17798:21;;:44;;;;;;;;;;;;;;;;;;17872:19;17853:16;;:38;;;;;;;;;;;;;;;;;;17914:12;17902:9;;:24;;;;;;;;;;;;;;;;;;17658:276:::0;;;:::o;17942:::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18099:14:::1;18074:21;;:39;;;;;;;;;;;;;;;;;;18140:16;18124:13;:32;;;;18195:15;18167:25;;:43;;;;;;;;;;;;;;;;;;17942:276:::0;;;:::o;12132:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;12238:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;11975:33::-;;;;;;;;;;;;;:::o;18434:139::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18527:6:::1;18521:3;:12;18513:21;;;::::0;::::1;;18562:3;18545:14;:20;;;;18434:139:::0;:::o;13000:40::-;;;;;;;;;;;;;:::o;15522:116::-;15577:4;15601:29;15609:7;15626:2;15601:7;:29::i;:::-;15594:36;;15522:116;;;:::o;17148:502::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17306:9:::1;17291:12;:24;;;;17339:12;17326:10;:25;;;;17378:16;17362:13;:32;;;;17422:15;17405:14;:32;;;;17469:47;17505:10;;17469:31;17486:13;;17469:12;;:16;;:31;;;;:::i;:::-;:35;;:47;;;;:::i;:::-;17458:8;:58;;;;17547:28;17560:14;;17547:8;;:12;;:28;;;;:::i;:::-;17527:17;:48;;;;17614:2;17594:17;;:22;;17586:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;17148:502:::0;;;;:::o;12507:34::-;;;;:::o;15046:105::-;15112:7;15130:9;:18;15140:7;15130:18;;;;;;;;;;;;;;;;15123:25;;15046:105;;;:::o;16438:376::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16556:4:::1;16538:23;;:6;:23;;;;:41;;;;;16575:4;;;;;;;;;;;16565:14;;:6;:14;;;;16538:41;16530:50;;;::::0;::::1;;16618:6;16591:16;:24;16608:6;16591:24;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;16648:6;16645:162;;;16670:19;;;;;;;;;;;:28;;;16699:6;16707:1;16670:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16645:162;;;16740:19;;;;;;;;;;;:28;;;16769:6;16777:9;:17;16787:6;16777:17;;;;;;;;;;;;;;;;16740:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16645:162;16438:376:::0;;:::o;11839:59::-;;;;:::o;15934:106::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16024:8:::1;16010:10;:22;;;;15934:106:::0;:::o;11905:57::-;;;;:::o;14810:78::-;14862:7;14880:5;;;;;;;;;;;14873:12;;14810:78;:::o;12183:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;16930:210::-;10063:19;10071:10;10063:7;:19::i;:::-;10055:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17032:9:::1;17027:106;17047:9;;:16;;17043:1;:20;17027:106;;;17115:6;17085:13;:27;17099:9;;17109:1;17099:12;;;;;;;;;;;;;;;17085:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;17065:3;;;;;17027:106;;;;16930:210:::0;;;:::o;14540:84::-;14590:13;14614:7;;;;;;;;;;;;;;;;;14607:14;;14540:84;:::o;12394:31::-;;;;:::o;16168:123::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16277:6:::1;16255:11;:19;16267:6;16255:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;16168:123:::0;;:::o;12779:19::-;;;;;;;;;;;;;:::o;18585:156::-;18665:4;18689:44;18703:10;18715:9;18726:6;18689:13;:44::i;:::-;18682:51;;18585:156;;;;:::o;18226:200::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18342:19:::1;;;;;;;;;;;:43;;;18386:11;18399:18;18342:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18226:200:::0;;:::o;10347:94::-;10063:19;10071:10;10063:7;:19::i;:::-;10055:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10429:4:::1;10407:14:::0;:19:::1;10422:3;10407:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10347:94:::0;:::o;12879:46::-;;;;;;;;;;;;;:::o;12807:25::-;;;;:::o;15823:103::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15910:8:::1;15895:12;:23;;;;15823:103:::0;:::o;13047:45::-;;;;;;;;;;;;;:::o;15157:133::-;15241:7;15259:11;:19;15271:6;15259:19;;;;;;;;;;;;;;;:28;15279:7;15259:28;;;;;;;;;;;;;;;;15252:35;;15157:133;;;;:::o;16048:108::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16140:8:::1;16123:14;;:25;;;;;;;;;;;;;;;;;;16048:108:::0;:::o;10517:97::-;10063:19;10071:10;10063:7;:19::i;:::-;10055:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10601:5:::1;10579:14;:19;10594:3;10579:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;10517:97:::0;:::o;11074:173::-;10063:19;10071:10;10063:7;:19::i;:::-;10055:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11158:3:::1;11150:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;11194:4;11172:14:::0;:19:::1;11187:3;11172:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11214:25;11235:3;11214:25;;;;;;;;;;;;;;;;;;;;11074:173:::0;:::o;12748:24::-;;;;;;;;;;;;;:::o;16299:131::-;10232:24;10245:10;10232:12;:24::i;:::-;10224:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16416:6:::1;16390:15;:23;16406:6;16390:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;16299:131:::0;;:::o;10848:107::-;10904:4;10928:14;:19;10943:3;10928:19;;;;;;;;;;;;;;;;;;;;;;;;;10921:26;;10848:107;;;:::o;12839:31::-;;;;;;;;;;;;;:::o;139:179::-;197:7;217:9;233:1;229;:5;217:17;;258:1;253;:6;;245:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:1;302:8;;;139:179;;;;:::o;470:190::-;556:7;589:1;584;:6;;592:12;576:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;616:9;632:1;628;:5;616:17;;651:1;644:8;;;470:190;;;;;:::o;19267:1641::-;19359:4;19389:16;;;;;;;;;;;19386:73;;;19415:41;19430:6;19438:9;19449:6;19415:14;:41::i;:::-;19408:48;;;;19386:73;19475:14;:22;19490:6;19475:22;;;;;;;;;;;;;;;;;;;;;;;;;19474:23;:53;;;;;19502:14;:25;19517:9;19502:25;;;;;;;;;;;;;;;;;;;;;;;;;19501:26;19474:53;19471:128;;;19551:11;;;;;;;;;;;19543:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19471:128;19629:12;;19619:6;:22;;:49;;;;19645:15;:23;19661:6;19645:23;;;;;;;;;;;;;;;;;;;;;;;;;19619:49;19611:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19720:4;;;;;;;;;;;19706:18;;:10;:18;;;;:39;;;;;19729:16;;;;;;;;;;;19728:17;19706:39;:64;;;;;19749:21;;;;;;;;;;;19706:64;:109;;;;;19802:13;;19774:9;:24;19792:4;19774:24;;;;;;;;;;;;;;;;:41;;19706:109;19703:128;;;19818:10;:8;:10::i;:::-;19703:128;19847:10;:8;:10::i;:::-;19846:11;:32;;;;;19874:4;;;;;;;;;;;19861:17;;:9;:17;;;19846:32;19843:117;;;19923:1;19903:9;:17;19913:6;19903:17;;;;;;;;;;;;;;;;:21;19895:30;;;;;;19940:8;:6;:8::i;:::-;19843:117;20019:53;20041:6;20019:53;;;;;;;;;;;;;;;;;:9;:17;20029:6;20019:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;19999:9;:17;20009:6;19999:17;;;;;;;;;;;;;;;:73;;;;20097:15;:26;20113:9;20097:26;;;;;;;;;;;;;;;;;;;;;;;;;20096:27;:45;;;;;20127:14;;;;;;;;;;;20096:45;20093:141;;;20211:10;;20175:32;20200:6;20175:9;:20;20185:9;20175:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;:46;;20167:55;;;;;;20093:141;20246:19;20269:11;:19;20281:6;20269:19;;;;;;;;;;;;;;;;;;;;;;;;;20268:20;:47;;;;;20293:11;:22;20305:9;20293:22;;;;;;;;;;;;;;;;;;;;;;;;;20292:23;20268:47;:93;;20355:6;20268:93;;;20318:34;20326:6;20334:9;20345:6;20318:7;:34::i;:::-;20268:93;20246:115;;20395:37;20420:11;20395:9;:20;20405:9;20395:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;20372:9;:20;20382:9;20372:20;;;;;;;;;;;;;;;:60;;;;20478:16;:24;20495:6;20478:24;;;;;;;;;;;;;;;;;;;;;;;;;20474:127;;20523:19;;;;;;;;;;;:28;;;20552:6;20560:9;:17;20570:6;20560:17;;;;;;;;;;;;;;;;20523:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20519:71;;;;;;20474:127;20617:16;:27;20634:9;20617:27;;;;;;;;;;;;;;;;;;;;;;;;;20613:137;;20665:19;;;;;;;;;;;:28;;;20694:9;20705;:20;20715:9;20705:20;;;;;;;;;;;;;;;;20665:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20661:77;;;;;;20613:137;20766:19;;;;;;;;;;;:27;;;20794:14;;20766:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20762:59;;;;;;20855:9;20838:40;;20847:6;20838:40;;;20866:11;20838:40;;;;;;;;;;;;;;;;;;20896:4;20889:11;;;19267:1641;;;;;;:::o;326:136::-;384:7;411:43;415:1;418;411:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;404:50;;326:136;;;;:::o;20920:330::-;21013:4;21050:53;21072:6;21050:53;;;;;;;;;;;;;;;;;:9;:17;21060:6;21050:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;21030:9;:17;21040:6;21030:17;;;;;;;;;;;;;;;:73;;;;21137:32;21162:6;21137:9;:20;21147:9;21137:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21114:9;:20;21124:9;21114:20;;;;;;;;;;;;;;;:55;;;;21202:9;21185:35;;21194:6;21185:35;;;21213:6;21185:35;;;;;;;;;;;;;;;;;;21238:4;21231:11;;20920:330;;;;;:::o;21811:1927::-;13225:4;13206:16;;:23;;;;;;;;;;;;;;;;;;21873::::1;21899:9;:24;21917:4;21899:24;;;;;;;;;;;;;;;;21873:50;;21934:23;21960:54;22012:1;21960:47;21998:8;;21960:33;21980:12;;21960:15;:19;;:33;;;;:::i;:::-;:37;;:47;;;;:::i;:::-;:51;;:54;;;;:::i;:::-;21934:80;;22025:20;22048:36;22068:15;22048;:19;;:36;;;;:::i;:::-;22025:59;;22097:21;22135:1;22121:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22097:40;;22166:4;22148;22153:1;22148:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;22192:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;22182:4;22187:1;22182:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;22218:6;;;;;;;;;;;:57;;;22290:12;22317:1;22333:4;22360;22380:15;22218:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22419:17;22439:21;22419:41;;22473:19;22495:33;22508:19;22525:1;22508:12;;:16;;:19;;;;:::i;:::-;22495:8;;:12;;:33;;;;:::i;:::-;22473:55;;22549:26;22578:51;22627:1;22578:44;22610:11;22578:27;22592:12;;22578:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;22549:80;;22640:27;22670:42;22700:11;22670:25;22684:10;;22670:9;:13;;:25;;;;:::i;:::-;:29;;:42;;;;:::i;:::-;22640:72;;22723:27;22753:58;22791:19;22753:33;22767:18;22753:9;:13;;:33;;;;:::i;:::-;:37;;:58;;;;:::i;:::-;22723:88;;22828:19;;;;;;;;;;;:27;;;22863:19;22828:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22824:73;;;;;;22917:23;22943:33;22974:1;22943:26;22967:1;22943:19;:23;;:26;;;;:::i;:::-;:30;;:33;;;;:::i;:::-;22917:59;;22987:16;23006:40;23030:15;23006:19;:23;;:40;;;;:::i;:::-;22987:59;;23068:15;23096:16;;;;;;;;;;;23088:30;;23126:15;23148:5;23088:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23067:91;;;23170:16;23199:9;;;;;;;;;;;23191:23;;23222:8;23237:5;23191:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23169:78;;;23321:5;23308:18;;23351:5;23337:19;;23390:1;23372:15;:19;23369:362;;;23407:6;;;;;;;;;;;:22;;;23437:18;23483:4;23507:15;23541:1;23561::::0;23581:21:::1;;;;;;;;;;;23621:15;23407:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23671:48;23683:18;23703:15;23671:48;;;;;;;;;;;;;;;;;;;;;;;;23369:362;13240:1;;;;;;;;;;;;;13271:5:::0;13252:16;;:24;;;;;;;;;;;;;;;;;;21811:1927::o;15646:90::-;15689:4;15727:1;15713:10;;:15;;15706:22;;15646:90;:::o;15744:71::-;15795:12;15782:10;:25;;;;15744:71::o;21258:439::-;21344:7;21374:21;21406:9;21398:17;;:4;;;;;;;;;;;:17;;;:48;;21438:8;;21398:48;;;21418:17;;21398:48;21374:72;;21457:17;21477:34;21507:3;21477:25;21488:13;21477:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;21457:54;;21551:39;21580:9;21551;:24;21569:4;21551:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;21524:9;:24;21542:4;21524:24;;;;;;;;;;;;;;;:66;;;;21631:4;21606:42;;21615:6;21606:42;;;21638:9;21606:42;;;;;;;;;;;;;;;;;;21668:21;21679:9;21668:6;:10;;:21;;;;:::i;:::-;21661:28;;;;21258:439;;;;;:::o;668:224::-;726:7;755:1;750;:6;746:25;;;767:1;760:8;;;;746:25;781:9;797:1;793;:5;781:17;;826:1;821;817;:5;;;;;;:10;809:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;883:1;876:8;;;668:224;;;;;:::o;900:132::-;958:7;985:39;989:1;992;985:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;978:46;;900:132;;;;:::o;1040:189::-;1126:7;1158:1;1154;:5;1161:12;1146:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1185:9;1201:1;1197;:5;;;;;;1185:17;;1220:1;1213:8;;;1040:189;;;;;:::o
Swarm Source
ipfs://c669a8b7a63cc5444397b966d703dad045fdfb150ef9629ac60d082b918b657a
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.