BEP-20
MEME
Overview
Max Total Supply
1,000,000,000,000,000Santa
Holders
33,142 ( -0.006%)
Market
Price
$0.00 @ 0.000000 BNB (-4.54%)
Onchain Market Cap
$1,007,000.00
Circulating Supply Market Cap
$222,211.00
Other Info
Token Contract (WITH 9 Decimals)
Balance
221,880,000 SantaValue
$0.22 ( ~0.000316269544674684 BNB) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
SantaCoin
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2021-10-24 */ /** *Submitted for verification at BscScan.com on 2021-10-08 */ pragma solidity ^0.8.0; /** * SAFEMATH LIBRARY */ library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IBEP20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } /** * 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); } 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;// excluded dividend uint256 totalRealised; } IBEP20 BUSD = IBEP20(0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56); address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c; IDEXRouter router; address[] shareholders; mapping (address => uint256) shareholderIndexes; mapping (address => uint256) shareholderClaims; mapping (address => Share) public shares; uint256 public totalShares; uint256 public totalDividends; uint256 public totalDistributed;// to be shown in UI uint256 public dividendsPerShare; uint256 public dividendsPerShareAccuracyFactor = 10 ** 36; uint256 public minPeriod = 1 hours; uint256 public minDistribution = 1 * (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(0x10ED43C718714eb63d5aA57B78B54704E256024E); _token = msg.sender; } function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external override onlyToken { minPeriod = _minPeriod; minDistribution = _minDistribution; } 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 = BUSD.balanceOf(address(this)); address[] memory path = new address[](2); path[0] = WBNB; path[1] = address(BUSD); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}( 0, path, address(this), block.timestamp ); uint256 amount = BUSD.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 gasUsed = 0; uint256 gasLeft = gasleft(); uint256 iterations = 0; 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); BUSD.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 { distributeDividend(msg.sender); } /* returns the unpaid earnings */ function getUnpaidEarnings(address shareholder) public view returns (uint256) { if(shares[shareholder].amount == 0){ return 0; } uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1]; shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder]; shareholders.pop(); } } contract SantaCoin is IBEP20, Auth { using SafeMath for uint256; uint256 public constant MASK = type(uint128).max; address BUSD = 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56; address public WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address DEAD_NON_CHECKSUM = 0x000000000000000000000000000000000000dEaD; string constant _name = "Santa Coin"; string constant _symbol = "Santa"; uint8 constant _decimals = 9; uint256 _totalSupply = 1_000_000_000_000_000 * (10 ** _decimals); uint256 public _maxTxAmount = _totalSupply.div(400); // 0.25% mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping (address => bool) isDividendExempt; uint256 liquidityFee = 200; uint256 buybackFee = 300; uint256 reflectionFee = 800; uint256 marketingFee = 100; uint256 totalFee = 1400; uint256 feeDenominator = 10000; address public autoLiquidityReceiver; address public marketingFeeReceiver=0x27F1D191adf620B78D69bb574C360FB0529Fc004; uint256 targetLiquidity = 25; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; address public pair; uint256 public launchedAt; uint256 public launchedAtTimestamp; uint256 buybackMultiplierNumerator = 200; uint256 buybackMultiplierDenominator = 100; uint256 buybackMultiplierTriggeredAt; uint256 buybackMultiplierLength = 30 minutes; bool public autoBuybackEnabled = false; mapping (address => bool) buyBacker; uint256 autoBuybackCap; uint256 autoBuybackAccumulator; uint256 autoBuybackAmount; uint256 autoBuybackBlockPeriod; uint256 autoBuybackBlockLast; DividendDistributor distributor; address public distributorAddress; uint256 distributorGas = 500000; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 2000; // 0.005% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor ( address _dexRouter, address _marketingAddress, address _wbnb ) Auth(msg.sender) { router = IDEXRouter(_dexRouter); WBNB=_wbnb; pair = IDEXFactory(router.factory()).createPair(_wbnb, address(this)); _allowances[address(this)][address(router)] = _totalSupply; WBNB = router.WETH(); distributor = new DividendDistributor(_dexRouter); distributorAddress = address(distributor); isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isDividendExempt[pair] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; buyBacker[msg.sender] = true; autoLiquidityReceiver = msg.sender; marketingFeeReceiver = _marketingAddress; approve(_dexRouter, _totalSupply); approve(address(pair), _totalSupply); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } modifier onlyBuybacker() { require(buyBacker[msg.sender] == true, ""); _; } 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, _totalSupply); } 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] != _totalSupply){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } checkTxLimit(sender, amount); // if(shouldSwapBack()){ swapBack(); } if(shouldAutoBuyback()){ triggerAutoBuyback(); } // if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); if(!isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} } if(!isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} } try distributor.process(distributorGas) {} catch {} emit Transfer(sender, recipient, amountReceived); 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 checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function getTotalFee(bool selling) public view returns (uint256) { if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); } if(selling){ return getMultipliedFee(); } return totalFee; } function getMultipliedFee() public view returns (uint256) { if (launchedAtTimestamp + 1 days > block.timestamp) { return totalFee.mul(18000).div(feeDenominator); } else if (buybackMultiplierTriggeredAt.add(buybackMultiplierLength) > block.timestamp) { uint256 remainingTime = buybackMultiplierTriggeredAt.add(buybackMultiplierLength).sub(block.timestamp); uint256 feeIncrease = totalFee.mul(buybackMultiplierNumerator).div(buybackMultiplierDenominator).sub(totalFee); return totalFee.add(feeIncrease.mul(remainingTime).div(buybackMultiplierLength)); } return totalFee; } function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WBNB; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountBNB = address(this).balance.sub(balanceBefore); uint256 totalBNBFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountBNBLiquidity = amountBNB.mul(dynamicLiquidityFee).div(totalBNBFee).div(2); uint256 amountBNBReflection = amountBNB.mul(reflectionFee).div(totalBNBFee); uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee); try distributor.deposit{value: amountBNBReflection}() {} catch {} payable(marketingFeeReceiver).transfer(amountBNBMarketing); if(amountToLiquify > 0){ router.addLiquidityETH{value: amountBNBLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountBNBLiquidity, amountToLiquify); } } function shouldAutoBuyback() internal view returns (bool) { return msg.sender != pair && !inSwap && autoBuybackEnabled && autoBuybackBlockLast + autoBuybackBlockPeriod <= block.number // After N blocks from last buyback && address(this).balance >= autoBuybackAmount; } function triggerZeusBuyback(uint256 amount, bool triggerBuybackMultiplier) external authorized { buyTokens(amount, DEAD); if(triggerBuybackMultiplier){ buybackMultiplierTriggeredAt = block.timestamp; emit BuybackMultiplierActive(buybackMultiplierLength); } } function clearBuybackMultiplier() external authorized { buybackMultiplierTriggeredAt = 0; } function triggerAutoBuyback() internal { buyTokens(autoBuybackAmount, DEAD); autoBuybackBlockLast = block.number; autoBuybackAccumulator = autoBuybackAccumulator.add(autoBuybackAmount); if(autoBuybackAccumulator > autoBuybackCap){ autoBuybackEnabled = false; } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = WBNB; path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function setAutoBuybackSettings(bool _enabled, uint256 _cap, uint256 _amount, uint256 _period) external authorized { autoBuybackEnabled = _enabled; autoBuybackCap = _cap; autoBuybackAccumulator = 0; autoBuybackAmount = _amount; autoBuybackBlockPeriod = _period; autoBuybackBlockLast = block.number; } function setBuybackMultiplierSettings(uint256 numerator, uint256 denominator, uint256 length) external authorized { require(numerator / denominator <= 2 && numerator > denominator); buybackMultiplierNumerator = numerator; buybackMultiplierDenominator = denominator; buybackMultiplierLength = length; } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() public authorized { require(launchedAt == 0, "Already launched boi"); launchedAt = block.number; launchedAtTimestamp = block.timestamp; } function setTxLimit(uint256 amount) external authorized { require(amount >= _totalSupply / 1000); _maxTxAmount = amount; } function setIsDividendExempt(address holder, bool exempt) external authorized { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ distributor.setShare(holder, 0); }else{ distributor.setShare(holder, _balances[holder]); } } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized { liquidityFee = _liquidityFee; buybackFee = _buybackFee; reflectionFee = _reflectionFee; marketingFee = _marketingFee; totalFee = _liquidityFee.add(_buybackFee).add(_reflectionFee).add(_marketingFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/4); } function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized { targetLiquidity = _target; targetLiquidityDenominator = _denominator; } function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external authorized { distributor.setDistributionCriteria(_minPeriod, _minDistribution); } function setDistributorSettings(uint256 gas) external authorized { require(gas < 750000); distributorGas = gas; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountBNB, uint256 amountBOG); event BuybackMultiplierActive(uint256 duration); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_dexRouter","type":"address"},{"internalType":"address","name":"_marketingAddress","type":"address"},{"internalType":"address","name":"_wbnb","type":"address"}],"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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"BuybackMultiplierActive","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":"MASK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WBNB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","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":[],"name":"autoBuybackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearBuybackMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributorAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMultipliedFee","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":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAtTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_cap","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"setAutoBuybackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"setBuybackMultiplierSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"triggerBuybackMultiplier","type":"bool"}],"name":"triggerZeusBuyback","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
6080604052600280546001600160a01b031990811673e9e7cea3dedca5984780bafc599bd69add087d561790915560038054821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c17905560048054821661dead9081179091556005805483169055600680549092161790556200007a6009600a620006a1565b6200008d9066038d7ea4c6800062000760565b600755620000ae6101906007546200051e60201b620013291790919060201c565b60085560c8600e81905561012c600f5561032060105560646011819055610578601255612710601355601580546001600160a01b0319167327f1d191adf620b78d69bb574c360fb0529fc00417905560196016556017819055601c91909155601d55610708601f556020805460ff199081169091556207a120602955602a8054909116600117905560075462000148906107d09062000635565b602b553480156200015857600080fd5b506040516200385a3803806200385a8339810160408190526200017b91620005eb565b60008054336001600160a01b031991821681178355825260016020818152604093849020805460ff19169092179091556018805483166001600160a01b038881169182179092556003805490941691861691909117909255825163c45a015560e01b81529251919263c45a01559260048083019392829003018186803b1580156200020557600080fd5b505afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002409190620005cd565b6040516364e329cb60e11b81526001600160a01b038381166004830152306024830152919091169063c9c6539690604401602060405180830381600087803b1580156200028c57600080fd5b505af1158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005cd565b601980546001600160a01b0319166001600160a01b03928316179055600754306000908152600a6020908152604080832060188054871685529083529281902093909355905482516315ab88c960e31b8152925193169263ad5c4648926004808201939291829003018186803b1580156200034157600080fd5b505afa15801562000356573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037c9190620005cd565b600380546001600160a01b0319166001600160a01b03929092169190911790556040518390620003ac90620005a2565b6001600160a01b039091168152602001604051809103906000f080158015620003d9573d6000803e3d6000fd5b50602780546001600160a01b039283166001600160a01b03199182168117909255602880548216909217909155336000818152600b60209081526040808320805460ff199081166001908117909255600c8452828520805482168317905560195488168552600d845282852080548216831790553085528285208054821683179055600454881685528285208054821683179055858552602190935292208054909116909117905560148054831690911790556015805492851692909116919091179055600754620004ad90849062000535565b50601954600754620004c9916001600160a01b03169062000535565b5060075433600081815260096020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505062000798565b60006200052c828462000635565b90505b92915050565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005919086815260200190565b60405180910390a350600192915050565b610e588062002a0283390190565b80516001600160a01b0381168114620005c857600080fd5b919050565b600060208284031215620005e057600080fd5b6200052c82620005b0565b6000806000606084860312156200060157600080fd5b6200060c84620005b0565b92506200061c60208501620005b0565b91506200062c60408501620005b0565b90509250925092565b6000826200065357634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620006995781600019048211156200067d576200067d62000782565b808516156200068b57918102915b93841c93908002906200065d565b509250929050565b60006200052c60ff841683600082620006bd575060016200052f565b81620006cc575060006200052f565b8160018114620006e55760028114620006f05762000710565b60019150506200052f565b60ff84111562000704576200070462000782565b50506001821b6200052f565b5060208310610133831016604e8410600b841016171562000735575081810a6200052f565b62000741838362000658565b806000190482111562000758576200075862000782565b029392505050565b60008160001904831182151516156200077d576200077d62000782565b500290565b634e487b7160e01b600052601160045260246000fd5b61225a80620007a86000396000f3fe6080604052600436106102b25760003560e01c806395d89b4111610175578063d806d12f116100dc578063f1f3bca311610095578063f708a64f1161006f578063f708a64f1461089f578063f84ba65d146108bf578063f887ea40146108df578063fe9fbb80146108ff57600080fd5b8063f1f3bca31461083f578063f2fde38b1461085f578063f5cfec0a1461087f57600080fd5b8063d806d12f14610760578063dd62ed3e14610775578063df20fd49146107bb578063e91f214e146107db578063e96fada2146107ff578063f0b37c041461081f57600080fd5b8063b210b06d1161012e578063b210b06d146106bf578063b6a5d7de146106d4578063bf56b371146106f4578063c6d2577d1461070a578063ca33e64c14610720578063d51ed1c81461074057600080fd5b806395d89b41146105f15780639d1944f51461061f578063a4b45c001461063f578063a51af4c51461065f578063a8aa1b311461067f578063a9059cbb1461069f57600080fd5b80632d48e89611610219578063658d4b7f116101d2578063658d4b7f146105195780636ddd17131461053957806370a08231146105535780637d1db4a514610589578063893d20e81461059f5780638dd95002146105d157600080fd5b80632d48e896146104545780632f54bf6e14610474578063313ce567146104a35780633bb8a8d4146104bf578063571ac8b0146104d95780635c85974f146104f957600080fd5b80631161ae391161026b5780631161ae39146103aa57806318160ddd146103ca578063201e7991146103df5780632375ce40146103ff57806323b872dd1461041f5780632b112e491461043f57600080fd5b806301339c21146102be5780630445b667146102d5578063048c7baf146102fe57806304a66b481461031e57806306fdde031461033e578063095ea7b31461037a57600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d361091f565b005b3480156102e157600080fd5b506102eb602b5481565b6040519081526020015b60405180910390f35b34801561030a57600080fd5b506102d3610319366004611ef5565b61099e565b34801561032a57600080fd5b506102d3610339366004611fe6565b6109ec565b34801561034a57600080fd5b5060408051808201909152600a81526929b0b73a309021b7b4b760b11b60208201525b6040516102f5919061209a565b34801561038657600080fd5b5061039a610395366004611e92565b610a62565b60405190151581526020016102f5565b3480156103b657600080fd5b5061039a6103c5366004611f6a565b610ace565b3480156103d657600080fd5b506007546102eb565b3480156103eb57600080fd5b506102d36103fa366004611f6a565b610ae2565b34801561040b57600080fd5b506102d361041a366004611f8c565b610b12565b34801561042b57600080fd5b5061039a61043a366004611e1c565b610b67565b34801561044b57600080fd5b506102eb610c2b565b34801561046057600080fd5b506102d361046f366004611f6a565b610c7d565b34801561048057600080fd5b5061039a61048f366004611dc6565b6000546001600160a01b0391821691161490565b3480156104af57600080fd5b50604051600981526020016102f5565b3480156104cb57600080fd5b5060205461039a9060ff1681565b3480156104e557600080fd5b5061039a6104f4366004611dc6565b610d0c565b34801561050557600080fd5b506102d3610514366004611f2e565b610d20565b34801561052557600080fd5b506102d3610534366004611e5d565b610d66565b34801561054557600080fd5b50602a5461039a9060ff1681565b34801561055f57600080fd5b506102eb61056e366004611dc6565b6001600160a01b031660009081526009602052604090205490565b34801561059557600080fd5b506102eb60085481565b3480156105ab57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102f5565b3480156105dd57600080fd5b506003546105b9906001600160a01b031681565b3480156105fd57600080fd5b5060408051808201909152600581526453616e746160d81b602082015261036d565b34801561062b57600080fd5b506102d361063a366004611f2e565b610db6565b34801561064b57600080fd5b506102d361065a366004611de3565b610def565b34801561066b57600080fd5b506028546105b9906001600160a01b031681565b34801561068b57600080fd5b506019546105b9906001600160a01b031681565b3480156106ab57600080fd5b5061039a6106ba366004611e92565b610e42565b3480156106cb57600080fd5b506102d3610e4f565b3480156106e057600080fd5b506102d36106ef366004611dc6565b610e7b565b34801561070057600080fd5b506102eb601a5481565b34801561071657600080fd5b506102eb601b5481565b34801561072c57600080fd5b506014546105b9906001600160a01b031681565b34801561074c57600080fd5b506102eb61075b366004611f2e565b610ecc565b34801561076c57600080fd5b506102eb610f10565b34801561078157600080fd5b506102eb610790366004611de3565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b3480156107c757600080fd5b506102d36107d6366004611ed9565b610fde565b3480156107e757600080fd5b506102eb6fffffffffffffffffffffffffffffffff81565b34801561080b57600080fd5b506015546105b9906001600160a01b031681565b34801561082b57600080fd5b506102d361083a366004611dc6565b61101a565b34801561084b57600080fd5b506102eb61085a366004611ebe565b611065565b34801561086b57600080fd5b506102d361087a366004611dc6565b6110a0565b34801561088b57600080fd5b506102d361089a366004611f47565b611136565b3480156108ab57600080fd5b506102d36108ba366004611e5d565b6111b7565b3480156108cb57600080fd5b506102d36108da366004611e5d565b6112bb565b3480156108eb57600080fd5b506018546105b9906001600160a01b031681565b34801561090b57600080fd5b5061039a61091a366004611dc6565b61130b565b6109283361130b565b61094d5760405162461bcd60e51b81526004016109449061210f565b60405180910390fd5b601a54156109945760405162461bcd60e51b8152602060048201526014602482015273416c7265616479206c61756e6368656420626f6960601b6044820152606401610944565b43601a5542601b55565b6109a73361130b565b6109c35760405162461bcd60e51b81526004016109449061210f565b6020805460ff191694151594909417909355602291909155600060235560245560255543602655565b6109f53361130b565b610a115760405162461bcd60e51b81526004016109449061210f565b600e859055600f84905560108390556011829055610a3b82610a3585818989611335565b90611335565b6012556013819055610a4e600482612188565b60125410610a5b57600080fd5b5050505050565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610abd9086815260200190565b60405180910390a350600192915050565b600082610ada83610ecc565b119392505050565b610aeb3361130b565b610b075760405162461bcd60e51b81526004016109449061210f565b601691909155601755565b610b1b3361130b565b610b375760405162461bcd60e51b81526004016109449061210f565b6002610b438385612188565b11158015610b5057508183115b610b5957600080fd5b601c92909255601d55601f55565b6007546001600160a01b0384166000908152600a60209081526040808320338452909152812054909114610c16576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610bf1918490611341565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610c2184848461136d565b90505b9392505050565b6005546001600160a01b0316600090815260096020526040812054610c78906004546001600160a01b0316600090815260096020526040902054610c72906007549061166a565b9061166a565b905090565b610c863361130b565b610ca25760405162461bcd60e51b81526004016109449061210f565b6027546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610cf057600080fd5b505af1158015610d04573d6000803e3d6000fd5b505050505050565b6000610d1a82600754610a62565b92915050565b610d293361130b565b610d455760405162461bcd60e51b81526004016109449061210f565b6103e8600754610d559190612188565b811015610d6157600080fd5b600855565b610d6f3361130b565b610d8b5760405162461bcd60e51b81526004016109449061210f565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610dbf3361130b565b610ddb5760405162461bcd60e51b81526004016109449061210f565b620b71b08110610dea57600080fd5b602955565b610df83361130b565b610e145760405162461bcd60e51b81526004016109449061210f565b601480546001600160a01b039384166001600160a01b03199182161790915560158054929093169116179055565b6000610c2433848461136d565b610e583361130b565b610e745760405162461bcd60e51b81526004016109449061210f565b6000601e55565b6000546001600160a01b03163314610ea55760405162461bcd60e51b8152600401610944906120ef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610d1a610ed9610c2b565b6019546001600160a01b0316600090815260096020526040902054610f0a90610f03906002611676565b8590611676565b90611329565b600042601b5462015180610f249190612170565b1115610f4757610c78601354610f0a61465060125461167690919063ffffffff16565b42610f5f601f54601e5461133590919063ffffffff16565b1115610fd7576000610f8242610c72601f54601e5461133590919063ffffffff16565b90506000610fa9601254610c72601d54610f0a601c5460125461167690919063ffffffff16565b9050610fd0610fc7601f54610f0a858561167690919063ffffffff16565b60125490611335565b9250505090565b5060125490565b610fe73361130b565b6110035760405162461bcd60e51b81526004016109449061210f565b602a805460ff191692151592909217909155602b55565b6000546001600160a01b031633146110445760405162461bcd60e51b8152600401610944906120ef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601a5460016110779190612170565b1061108a57601354610d1a90600161166a565b811561109857610d1a610f10565b505060125490565b6000546001600160a01b031633146110ca5760405162461bcd60e51b8152600401610944906120ef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61113f3361130b565b61115b5760405162461bcd60e51b81526004016109449061210f565b6004546111729083906001600160a01b0316611682565b80156111b35742601e55601f546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a9060200160405180910390a15b5050565b6111c03361130b565b6111dc5760405162461bcd60e51b81526004016109449061210f565b6001600160a01b038216301480159061120357506019546001600160a01b03838116911614155b61120c57600080fd5b6001600160a01b0382166000908152600d60205260409020805460ff1916821580159190911790915561127257602754604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610cd6565b6027546001600160a01b0383811660008181526009602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610cd6565b6112c43361130b565b6112e05760405162461bcd60e51b81526004016109449061210f565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610c248284612188565b6000610c248284612170565b600081848411156113655760405162461bcd60e51b8152600401610944919061209a565b505050900390565b602c5460009060ff161561138d5761138684848461178b565b9050610c24565b611397848361182e565b61139f611897565b156113ac576113ac6118e6565b6113b4611c54565b156113c1576113c1611caf565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054611413918490611341565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff16156114485782611453565b611453858585611cf6565b6001600160a01b0385166000908152600960205260409020549091506114799082611335565b6001600160a01b038086166000908152600960209081526040808320949094559188168152600d909152205460ff1661151d576027546001600160a01b0386811660008181526009602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561150a57600080fd5b505af192505050801561151b575060015b505b6001600160a01b0384166000908152600d602052604090205460ff166115ae576027546001600160a01b0385811660008181526009602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561159b57600080fd5b505af19250505080156115ac575060015b505b6027546029546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916115e69160040190815260200190565b600060405180830381600087803b15801561160057600080fd5b505af1925050508015611611575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161165791815260200190565b60405180910390a3506001949350505050565b6000610c2482846121c9565b6000610c2482846121aa565b602c805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b0316918391506000906116d0576116d06121f6565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611704576117046121f6565b6001600160a01b03928316602091820292909201015260185460405163b6f9de9560e01b815291169063b6f9de9590859061174a90600090869088904290600401612065565b6000604051808303818588803b15801561176357600080fd5b505af1158015611777573d6000803e3d6000fd5b5050602c805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546117dc918490611341565b6001600160a01b03808616600090815260096020526040808220939093559085168152205461180b9083611335565b6001600160a01b0384166000908152600960205260409020555060019392505050565b6008548111158061185757506001600160a01b0382166000908152600c602052604090205460ff165b6111b35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610944565b6019546000906001600160a01b031633148015906118b85750602c5460ff16155b80156118c65750602a5460ff165b8015610c78575050602b5430600090815260096020526040902054101590565b602c805460ff1916600117905560165460175460009161190591610ace565b61191157600e54611914565b60005b905060006119386002610f0a601254610f0a86602b5461167690919063ffffffff16565b9050600061195182602b5461166a90919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061198b5761198b6121f6565b6001600160a01b0392831660209182029290920101526003548251911690829060019081106119bc576119bc6121f6565b6001600160a01b03928316602091820292909201015260185460405163791ac94760e01b81524792919091169063791ac94790611a06908690600090879030904290600401612134565b600060405180830381600087803b158015611a2057600080fd5b505af1158015611a34573d6000803e3d6000fd5b505050506000611a4d824761166a90919063ffffffff16565b90506000611a68611a5f886002611329565b6012549061166a565b90506000611a7d6002610f0a8481878d611676565b90506000611a9a83610f0a6010548761167690919063ffffffff16565b90506000611ab784610f0a6011548861167690919063ffffffff16565b9050602760009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b0957600080fd5b505af193505050508015611b1b575060015b506015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b56573d6000803e3d6000fd5b508815611c3e5760185460145460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c4016060604051808303818588803b158015611bc857600080fd5b505af1158015611bdc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c019190611fb8565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050602c805460ff191690555050505050505050565b6019546000906001600160a01b03163314801590611c755750602c5460ff16155b8015611c83575060205460ff165b8015611c9e575043602554602654611c9b9190612170565b11155b8015610c7857505060245447101590565b602454600454611cc891906001600160a01b0316611682565b43602655602454602354611cdb91611335565b60238190556022541015611cf4576020805460ff191690555b565b6013546019546000918291611d289190610f0a90611d21906001600160a01b03898116911614611065565b8690611676565b30600090815260096020526040902054909150611d459082611335565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d969085815260200190565b60405180910390a3611da8838261166a565b95945050505050565b80358015158114611dc157600080fd5b919050565b600060208284031215611dd857600080fd5b8135610c248161220c565b60008060408385031215611df657600080fd5b8235611e018161220c565b91506020830135611e118161220c565b809150509250929050565b600080600060608486031215611e3157600080fd5b8335611e3c8161220c565b92506020840135611e4c8161220c565b929592945050506040919091013590565b60008060408385031215611e7057600080fd5b8235611e7b8161220c565b9150611e8960208401611db1565b90509250929050565b60008060408385031215611ea557600080fd5b8235611eb08161220c565b946020939093013593505050565b600060208284031215611ed057600080fd5b610c2482611db1565b60008060408385031215611eec57600080fd5b611eb083611db1565b60008060008060808587031215611f0b57600080fd5b611f1485611db1565b966020860135965060408601359560600135945092505050565b600060208284031215611f4057600080fd5b5035919050565b60008060408385031215611f5a57600080fd5b82359150611e8960208401611db1565b60008060408385031215611f7d57600080fd5b50508035926020909101359150565b600080600060608486031215611fa157600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611fcd57600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a08688031215611ffe57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600081518084526020808501945080840160005b8381101561205a5781516001600160a01b031687529582019590820190600101612035565b509495945050505050565b84815260806020820152600061207e6080830186612021565b6001600160a01b03949094166040830152506060015292915050565b600060208083528351808285015260005b818110156120c7578581018301518582016040015282016120ab565b818111156120d9576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b85815284602082015260a06040820152600061215360a0830186612021565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612183576121836121e0565b500190565b6000826121a557634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121c4576121c46121e0565b500290565b6000828210156121db576121db6121e0565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461222157600080fd5b5056fea26469706673582212206673b8375a7679150fb77c3347b71ebdb4d60ba714f7e3144f577c7a0e23389964736f6c634300080700336080604052600180546001600160a01b031990811673e9e7cea3dedca5984780bafc599bd69add087d56179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55670de0b6b3a7640000600e5534801561007d57600080fd5b50604051610e58380380610e5883398101604081905261009c916100f6565b6001600160a01b0381166100c4577310ed43c718714eb63d5aa57b78b54704e256024e6100c6565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610126565b60006020828403121561010857600080fd5b81516001600160a01b038116811461011f57600080fd5b9392505050565b610d23806101356000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610224578063f0fc6bca1461023a578063ffb2c4791461024f578063ffd49c841461026f57600080fd5b8063ce7c2ac2146101af578063d0e30db014610206578063e2d2e2191461020e57600080fd5b80632d48e896116100bb5780632d48e8961461014d5780633a98ef391461016d5780634fab0ae814610183578063997664d71461019957600080fd5b806311ce023d146100e257806314b6ca961461010b57806328fd31981461012d575b600080fd5b3480156100ee57600080fd5b506100f8600c5481565b6040519081526020015b60405180910390f35b34801561011757600080fd5b5061012b610126366004610b16565b610285565b005b34801561013957600080fd5b506100f8610148366004610afb565b6103fd565b34801561015957600080fd5b5061012b610168366004610b94565b610486565b34801561017957600080fd5b506100f860085481565b34801561018f57600080fd5b506100f8600e5481565b3480156101a557600080fd5b506100f860095481565b3480156101bb57600080fd5b506101eb6101ca366004610afb565b60076020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610102565b61012b6104a8565b34801561021a57600080fd5b506100f8600b5481565b34801561023057600080fd5b506100f8600a5481565b34801561024657600080fd5b5061012b6106f5565b34801561025b57600080fd5b5061012b61026a366004610b62565b610700565b34801561027b57600080fd5b506100f8600d5481565b6000546001600160a01b0316331461029c57600080fd5b6001600160a01b038216600090815260076020526040902054156102c3576102c382610800565b6000811180156102e957506001600160a01b038216600090815260076020526040902054155b1561034f57600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610382565b8015801561037457506001600160a01b03821660009081526007602052604090205415155b15610382576103828261092b565b6001600160a01b0382166000908152600760205260409020546008546103b39183916103ad91610a40565b90610a53565b6008556001600160a01b03821660009081526007602052604090208190556103da81610a5f565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461042257506000919050565b6001600160a01b03821660009081526007602052604081205461044490610a5f565b6001600160a01b038416600090815260076020526040902060010154909150808211610474575060009392505050565b61047e8282610a40565b949350505050565b6000546001600160a01b0316331461049d57600080fd5b600d91909155600e55565b6000546001600160a01b031633146104bf57600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561050357600080fd5b505afa158015610517573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053b9190610b7b565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061058157610581610cd7565b6001600160a01b03928316602091820292909201015260018054835192169183919081106105b1576105b1610cd7565b6001600160a01b03928316602091820292909201015260035460405163b6f9de9560e01b815291169063b6f9de959034906105f790600090869030904290600401610bb6565b6000604051808303818588803b15801561061057600080fd5b505af1158015610624573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094506106b393508692506001600160a01b03909116906370a082319060240160206040518083038186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ad9190610b7b565b90610a40565b6009549091506106c39082610a53565b600955600854600c546106ed916106e4916106de9085610a82565b90610a8e565b600b5490610a53565b600b55505050565b6106fe33610800565b565b6000546001600160a01b0316331461071757600080fd5b60045480610723575050565b6000805a905060005b848310801561073a57508381105b156107f95783600f541061074e576000600f555b6107806004600f548154811061076657610766610cd7565b6000918252602090912001546001600160a01b0316610a9a565b156107b7576107b76004600f548154811061079d5761079d610cd7565b6000918252602090912001546001600160a01b0316610800565b6107cc6107c55a8490610a40565b8490610a53565b92505a600f805491935060006107e183610c90565b919050555080806107f190610c90565b91505061072c565b5050505050565b6001600160a01b0381166000908152600760205260409020546108205750565b600061082b826103fd565b9050801561092757600a546108409082610a53565b600a5560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb90604401602060405180830381600087803b15801561089157600080fd5b505af11580156108a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c99190610b40565b506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546108fd9082610a53565b6001600160a01b03831660009081526007602052604090206002810191909155546103da90610a5f565b5050565b6004805461093b90600190610c79565b8154811061094b5761094b610cd7565b60009182526020808320909101546001600160a01b038481168452600590925260409092205460048054929093169291811061098957610989610cd7565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916109d590600190610c79565b815481106109e5576109e5610cd7565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610a1b57610a1b610cc1565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610a4c8284610c79565b9392505050565b6000610a4c8284610c20565b6000610a7c600c546106de600b5485610a8290919063ffffffff16565b92915050565b6000610a4c8284610c5a565b6000610a4c8284610c38565b600d546001600160a01b03821660009081526006602052604081205490914291610ac49190610c20565b108015610a7c5750600e54610ad8836103fd565b1192915050565b80356001600160a01b0381168114610af657600080fd5b919050565b600060208284031215610b0d57600080fd5b610a4c82610adf565b60008060408385031215610b2957600080fd5b610b3283610adf565b946020939093013593505050565b600060208284031215610b5257600080fd5b81518015158114610a4c57600080fd5b600060208284031215610b7457600080fd5b5035919050565b600060208284031215610b8d57600080fd5b5051919050565b60008060408385031215610ba757600080fd5b50508035926020909101359150565b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610c005784516001600160a01b031683529383019391830191600101610bdb565b50506001600160a01b039690961660408501525050506060015292915050565b60008219821115610c3357610c33610cab565b500190565b600082610c5557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610c7457610c74610cab565b500290565b600082821015610c8b57610c8b610cab565b500390565b6000600019821415610ca457610ca4610cab565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea264697066735822122012e0c6054e696c971a53f5c24aaa364e6d4b44b86267914e6354a3a64378f05664736f6c6343000807003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e0000000000000000000000001a97098b09b8be6b457fab6f14f9cbe42c19a2f5000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c
Deployed Bytecode
0x6080604052600436106102b25760003560e01c806395d89b4111610175578063d806d12f116100dc578063f1f3bca311610095578063f708a64f1161006f578063f708a64f1461089f578063f84ba65d146108bf578063f887ea40146108df578063fe9fbb80146108ff57600080fd5b8063f1f3bca31461083f578063f2fde38b1461085f578063f5cfec0a1461087f57600080fd5b8063d806d12f14610760578063dd62ed3e14610775578063df20fd49146107bb578063e91f214e146107db578063e96fada2146107ff578063f0b37c041461081f57600080fd5b8063b210b06d1161012e578063b210b06d146106bf578063b6a5d7de146106d4578063bf56b371146106f4578063c6d2577d1461070a578063ca33e64c14610720578063d51ed1c81461074057600080fd5b806395d89b41146105f15780639d1944f51461061f578063a4b45c001461063f578063a51af4c51461065f578063a8aa1b311461067f578063a9059cbb1461069f57600080fd5b80632d48e89611610219578063658d4b7f116101d2578063658d4b7f146105195780636ddd17131461053957806370a08231146105535780637d1db4a514610589578063893d20e81461059f5780638dd95002146105d157600080fd5b80632d48e896146104545780632f54bf6e14610474578063313ce567146104a35780633bb8a8d4146104bf578063571ac8b0146104d95780635c85974f146104f957600080fd5b80631161ae391161026b5780631161ae39146103aa57806318160ddd146103ca578063201e7991146103df5780632375ce40146103ff57806323b872dd1461041f5780632b112e491461043f57600080fd5b806301339c21146102be5780630445b667146102d5578063048c7baf146102fe57806304a66b481461031e57806306fdde031461033e578063095ea7b31461037a57600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d361091f565b005b3480156102e157600080fd5b506102eb602b5481565b6040519081526020015b60405180910390f35b34801561030a57600080fd5b506102d3610319366004611ef5565b61099e565b34801561032a57600080fd5b506102d3610339366004611fe6565b6109ec565b34801561034a57600080fd5b5060408051808201909152600a81526929b0b73a309021b7b4b760b11b60208201525b6040516102f5919061209a565b34801561038657600080fd5b5061039a610395366004611e92565b610a62565b60405190151581526020016102f5565b3480156103b657600080fd5b5061039a6103c5366004611f6a565b610ace565b3480156103d657600080fd5b506007546102eb565b3480156103eb57600080fd5b506102d36103fa366004611f6a565b610ae2565b34801561040b57600080fd5b506102d361041a366004611f8c565b610b12565b34801561042b57600080fd5b5061039a61043a366004611e1c565b610b67565b34801561044b57600080fd5b506102eb610c2b565b34801561046057600080fd5b506102d361046f366004611f6a565b610c7d565b34801561048057600080fd5b5061039a61048f366004611dc6565b6000546001600160a01b0391821691161490565b3480156104af57600080fd5b50604051600981526020016102f5565b3480156104cb57600080fd5b5060205461039a9060ff1681565b3480156104e557600080fd5b5061039a6104f4366004611dc6565b610d0c565b34801561050557600080fd5b506102d3610514366004611f2e565b610d20565b34801561052557600080fd5b506102d3610534366004611e5d565b610d66565b34801561054557600080fd5b50602a5461039a9060ff1681565b34801561055f57600080fd5b506102eb61056e366004611dc6565b6001600160a01b031660009081526009602052604090205490565b34801561059557600080fd5b506102eb60085481565b3480156105ab57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102f5565b3480156105dd57600080fd5b506003546105b9906001600160a01b031681565b3480156105fd57600080fd5b5060408051808201909152600581526453616e746160d81b602082015261036d565b34801561062b57600080fd5b506102d361063a366004611f2e565b610db6565b34801561064b57600080fd5b506102d361065a366004611de3565b610def565b34801561066b57600080fd5b506028546105b9906001600160a01b031681565b34801561068b57600080fd5b506019546105b9906001600160a01b031681565b3480156106ab57600080fd5b5061039a6106ba366004611e92565b610e42565b3480156106cb57600080fd5b506102d3610e4f565b3480156106e057600080fd5b506102d36106ef366004611dc6565b610e7b565b34801561070057600080fd5b506102eb601a5481565b34801561071657600080fd5b506102eb601b5481565b34801561072c57600080fd5b506014546105b9906001600160a01b031681565b34801561074c57600080fd5b506102eb61075b366004611f2e565b610ecc565b34801561076c57600080fd5b506102eb610f10565b34801561078157600080fd5b506102eb610790366004611de3565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b3480156107c757600080fd5b506102d36107d6366004611ed9565b610fde565b3480156107e757600080fd5b506102eb6fffffffffffffffffffffffffffffffff81565b34801561080b57600080fd5b506015546105b9906001600160a01b031681565b34801561082b57600080fd5b506102d361083a366004611dc6565b61101a565b34801561084b57600080fd5b506102eb61085a366004611ebe565b611065565b34801561086b57600080fd5b506102d361087a366004611dc6565b6110a0565b34801561088b57600080fd5b506102d361089a366004611f47565b611136565b3480156108ab57600080fd5b506102d36108ba366004611e5d565b6111b7565b3480156108cb57600080fd5b506102d36108da366004611e5d565b6112bb565b3480156108eb57600080fd5b506018546105b9906001600160a01b031681565b34801561090b57600080fd5b5061039a61091a366004611dc6565b61130b565b6109283361130b565b61094d5760405162461bcd60e51b81526004016109449061210f565b60405180910390fd5b601a54156109945760405162461bcd60e51b8152602060048201526014602482015273416c7265616479206c61756e6368656420626f6960601b6044820152606401610944565b43601a5542601b55565b6109a73361130b565b6109c35760405162461bcd60e51b81526004016109449061210f565b6020805460ff191694151594909417909355602291909155600060235560245560255543602655565b6109f53361130b565b610a115760405162461bcd60e51b81526004016109449061210f565b600e859055600f84905560108390556011829055610a3b82610a3585818989611335565b90611335565b6012556013819055610a4e600482612188565b60125410610a5b57600080fd5b5050505050565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610abd9086815260200190565b60405180910390a350600192915050565b600082610ada83610ecc565b119392505050565b610aeb3361130b565b610b075760405162461bcd60e51b81526004016109449061210f565b601691909155601755565b610b1b3361130b565b610b375760405162461bcd60e51b81526004016109449061210f565b6002610b438385612188565b11158015610b5057508183115b610b5957600080fd5b601c92909255601d55601f55565b6007546001600160a01b0384166000908152600a60209081526040808320338452909152812054909114610c16576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610bf1918490611341565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610c2184848461136d565b90505b9392505050565b6005546001600160a01b0316600090815260096020526040812054610c78906004546001600160a01b0316600090815260096020526040902054610c72906007549061166a565b9061166a565b905090565b610c863361130b565b610ca25760405162461bcd60e51b81526004016109449061210f565b6027546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610cf057600080fd5b505af1158015610d04573d6000803e3d6000fd5b505050505050565b6000610d1a82600754610a62565b92915050565b610d293361130b565b610d455760405162461bcd60e51b81526004016109449061210f565b6103e8600754610d559190612188565b811015610d6157600080fd5b600855565b610d6f3361130b565b610d8b5760405162461bcd60e51b81526004016109449061210f565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610dbf3361130b565b610ddb5760405162461bcd60e51b81526004016109449061210f565b620b71b08110610dea57600080fd5b602955565b610df83361130b565b610e145760405162461bcd60e51b81526004016109449061210f565b601480546001600160a01b039384166001600160a01b03199182161790915560158054929093169116179055565b6000610c2433848461136d565b610e583361130b565b610e745760405162461bcd60e51b81526004016109449061210f565b6000601e55565b6000546001600160a01b03163314610ea55760405162461bcd60e51b8152600401610944906120ef565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610d1a610ed9610c2b565b6019546001600160a01b0316600090815260096020526040902054610f0a90610f03906002611676565b8590611676565b90611329565b600042601b5462015180610f249190612170565b1115610f4757610c78601354610f0a61465060125461167690919063ffffffff16565b42610f5f601f54601e5461133590919063ffffffff16565b1115610fd7576000610f8242610c72601f54601e5461133590919063ffffffff16565b90506000610fa9601254610c72601d54610f0a601c5460125461167690919063ffffffff16565b9050610fd0610fc7601f54610f0a858561167690919063ffffffff16565b60125490611335565b9250505090565b5060125490565b610fe73361130b565b6110035760405162461bcd60e51b81526004016109449061210f565b602a805460ff191692151592909217909155602b55565b6000546001600160a01b031633146110445760405162461bcd60e51b8152600401610944906120ef565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601a5460016110779190612170565b1061108a57601354610d1a90600161166a565b811561109857610d1a610f10565b505060125490565b6000546001600160a01b031633146110ca5760405162461bcd60e51b8152600401610944906120ef565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61113f3361130b565b61115b5760405162461bcd60e51b81526004016109449061210f565b6004546111729083906001600160a01b0316611682565b80156111b35742601e55601f546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a9060200160405180910390a15b5050565b6111c03361130b565b6111dc5760405162461bcd60e51b81526004016109449061210f565b6001600160a01b038216301480159061120357506019546001600160a01b03838116911614155b61120c57600080fd5b6001600160a01b0382166000908152600d60205260409020805460ff1916821580159190911790915561127257602754604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610cd6565b6027546001600160a01b0383811660008181526009602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610cd6565b6112c43361130b565b6112e05760405162461bcd60e51b81526004016109449061210f565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610c248284612188565b6000610c248284612170565b600081848411156113655760405162461bcd60e51b8152600401610944919061209a565b505050900390565b602c5460009060ff161561138d5761138684848461178b565b9050610c24565b611397848361182e565b61139f611897565b156113ac576113ac6118e6565b6113b4611c54565b156113c1576113c1611caf565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054611413918490611341565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff16156114485782611453565b611453858585611cf6565b6001600160a01b0385166000908152600960205260409020549091506114799082611335565b6001600160a01b038086166000908152600960209081526040808320949094559188168152600d909152205460ff1661151d576027546001600160a01b0386811660008181526009602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561150a57600080fd5b505af192505050801561151b575060015b505b6001600160a01b0384166000908152600d602052604090205460ff166115ae576027546001600160a01b0385811660008181526009602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561159b57600080fd5b505af19250505080156115ac575060015b505b6027546029546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916115e69160040190815260200190565b600060405180830381600087803b15801561160057600080fd5b505af1925050508015611611575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161165791815260200190565b60405180910390a3506001949350505050565b6000610c2482846121c9565b6000610c2482846121aa565b602c805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b0316918391506000906116d0576116d06121f6565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611704576117046121f6565b6001600160a01b03928316602091820292909201015260185460405163b6f9de9560e01b815291169063b6f9de9590859061174a90600090869088904290600401612065565b6000604051808303818588803b15801561176357600080fd5b505af1158015611777573d6000803e3d6000fd5b5050602c805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546117dc918490611341565b6001600160a01b03808616600090815260096020526040808220939093559085168152205461180b9083611335565b6001600160a01b0384166000908152600960205260409020555060019392505050565b6008548111158061185757506001600160a01b0382166000908152600c602052604090205460ff165b6111b35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610944565b6019546000906001600160a01b031633148015906118b85750602c5460ff16155b80156118c65750602a5460ff165b8015610c78575050602b5430600090815260096020526040902054101590565b602c805460ff1916600117905560165460175460009161190591610ace565b61191157600e54611914565b60005b905060006119386002610f0a601254610f0a86602b5461167690919063ffffffff16565b9050600061195182602b5461166a90919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061198b5761198b6121f6565b6001600160a01b0392831660209182029290920101526003548251911690829060019081106119bc576119bc6121f6565b6001600160a01b03928316602091820292909201015260185460405163791ac94760e01b81524792919091169063791ac94790611a06908690600090879030904290600401612134565b600060405180830381600087803b158015611a2057600080fd5b505af1158015611a34573d6000803e3d6000fd5b505050506000611a4d824761166a90919063ffffffff16565b90506000611a68611a5f886002611329565b6012549061166a565b90506000611a7d6002610f0a8481878d611676565b90506000611a9a83610f0a6010548761167690919063ffffffff16565b90506000611ab784610f0a6011548861167690919063ffffffff16565b9050602760009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b0957600080fd5b505af193505050508015611b1b575060015b506015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b56573d6000803e3d6000fd5b508815611c3e5760185460145460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c4016060604051808303818588803b158015611bc857600080fd5b505af1158015611bdc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c019190611fb8565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050602c805460ff191690555050505050505050565b6019546000906001600160a01b03163314801590611c755750602c5460ff16155b8015611c83575060205460ff165b8015611c9e575043602554602654611c9b9190612170565b11155b8015610c7857505060245447101590565b602454600454611cc891906001600160a01b0316611682565b43602655602454602354611cdb91611335565b60238190556022541015611cf4576020805460ff191690555b565b6013546019546000918291611d289190610f0a90611d21906001600160a01b03898116911614611065565b8690611676565b30600090815260096020526040902054909150611d459082611335565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d969085815260200190565b60405180910390a3611da8838261166a565b95945050505050565b80358015158114611dc157600080fd5b919050565b600060208284031215611dd857600080fd5b8135610c248161220c565b60008060408385031215611df657600080fd5b8235611e018161220c565b91506020830135611e118161220c565b809150509250929050565b600080600060608486031215611e3157600080fd5b8335611e3c8161220c565b92506020840135611e4c8161220c565b929592945050506040919091013590565b60008060408385031215611e7057600080fd5b8235611e7b8161220c565b9150611e8960208401611db1565b90509250929050565b60008060408385031215611ea557600080fd5b8235611eb08161220c565b946020939093013593505050565b600060208284031215611ed057600080fd5b610c2482611db1565b60008060408385031215611eec57600080fd5b611eb083611db1565b60008060008060808587031215611f0b57600080fd5b611f1485611db1565b966020860135965060408601359560600135945092505050565b600060208284031215611f4057600080fd5b5035919050565b60008060408385031215611f5a57600080fd5b82359150611e8960208401611db1565b60008060408385031215611f7d57600080fd5b50508035926020909101359150565b600080600060608486031215611fa157600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611fcd57600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a08688031215611ffe57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600081518084526020808501945080840160005b8381101561205a5781516001600160a01b031687529582019590820190600101612035565b509495945050505050565b84815260806020820152600061207e6080830186612021565b6001600160a01b03949094166040830152506060015292915050565b600060208083528351808285015260005b818110156120c7578581018301518582016040015282016120ab565b818111156120d9576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b85815284602082015260a06040820152600061215360a0830186612021565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612183576121836121e0565b500190565b6000826121a557634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121c4576121c46121e0565b500290565b6000828210156121db576121db6121e0565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461222157600080fd5b5056fea26469706673582212206673b8375a7679150fb77c3347b71ebdb4d60ba714f7e3144f577c7a0e23389964736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e0000000000000000000000001a97098b09b8be6b457fab6f14f9cbe42c19a2f5000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c
-----Decoded View---------------
Arg [0] : _dexRouter (address): 0x10ED43C718714eb63d5aA57B78B54704E256024E
Arg [1] : _marketingAddress (address): 0x1A97098B09b8be6b457fab6f14F9CBE42c19a2f5
Arg [2] : _wbnb (address): 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : 0000000000000000000000001a97098b09b8be6b457fab6f14f9cbe42c19a2f5
Arg [2] : 000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c
Deployed Bytecode Sourcemap
12734:15169:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24910:187;;;;;;;;;;;;;:::i;:::-;;14882:50;;;;;;;;;;;;;;;;;;;9913:25:1;;;9901:2;9886:18;14882:50:0;;;;;;;;24095:359;;;;;;;;;;-1:-1:-1;24095:359:0;;;;;:::i;:::-;;:::i;25877:496::-;;;;;;;;;;-1:-1:-1;25877:496:0;;;;;:::i;:::-;;:::i;16381:80::-;;;;;;;;;;-1:-1:-1;16453:5:0;;;;;;;;;;;;-1:-1:-1;;;16453:5:0;;;;16381:80;;;;;;;:::i;16884:216::-;;;;;;;;;;-1:-1:-1;16884:216:0;;;;;:::i;:::-;;:::i;:::-;;;7028:14:1;;7021:22;7003:41;;6991:2;6976:18;16884:216:0;6863:187:1;27632:150:0;;;;;;;;;;-1:-1:-1;27632:150:0;;;;;:::i;:::-;;:::i;16111:88::-;;;;;;;;;;-1:-1:-1;16184:12:0;;16111:88;;26781:183;;;;;;;;;;-1:-1:-1;26781:183:0;;;;;:::i;:::-;;:::i;24462:342::-;;;;;;;;;;-1:-1:-1;24462:342:0;;;;;:::i;:::-;;:::i;17397:365::-;;;;;;;;;;-1:-1:-1;17397:365:0;;;;;:::i;:::-;;:::i;27307:142::-;;;;;;;;;;;;;:::i;26972:183::-;;;;;;;;;;-1:-1:-1;26972:183:0;;;;;:::i;:::-;;:::i;4554:103::-;;;;;;;;;;-1:-1:-1;4554:103:0;;;;;:::i;:::-;4609:4;4644:5;-1:-1:-1;;;;;4633:16:0;;;4644:5;;4633:16;;4554:103;16205:80;;;;;;;;;;-1:-1:-1;16205:80:0;;13318:1;10931:36:1;;10919:2;10904:18;16205:80:0;10789:184:1;14466:38:0;;;;;;;;;;-1:-1:-1;14466:38:0;;;;;;;;17108:117;;;;;;;;;;-1:-1:-1;17108:117:0;;;;;:::i;:::-;;:::i;25105:145::-;;;;;;;;;;-1:-1:-1;25105:145:0;;;;;:::i;:::-;;:::i;25613:120::-;;;;;;;;;;-1:-1:-1;25613:120:0;;;;;:::i;:::-;;:::i;14845:30::-;;;;;;;;;;-1:-1:-1;14845:30:0;;;;;;;;16632:105;;;;;;;;;;-1:-1:-1;16632:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;16716:18:0;16698:7;16716:18;;;:9;:18;;;;;;;16632:105;13399:51;;;;;;;;;;;;;;;;16467:78;;;;;;;;;;-1:-1:-1;16519:7:0;16537:5;-1:-1:-1;;;;;16537:5:0;16467:78;;;-1:-1:-1;;;;;5425:32:1;;;5407:51;;5395:2;5380:18;16467:78:0;5261:203:1;12930:64:0;;;;;;;;;;-1:-1:-1;12930:64:0;;;;-1:-1:-1;;;;;12930:64:0;;;16291:84;;;;;;;;;;-1:-1:-1;16365:7:0;;;;;;;;;;;;-1:-1:-1;;;16365:7:0;;;;16291:84;;27163:136;;;;;;;;;;-1:-1:-1;27163:136:0;;;;;:::i;:::-;;:::i;26381:228::-;;;;;;;;;;-1:-1:-1;26381:228:0;;;;;:::i;:::-;;:::i;14763:33::-;;;;;;;;;;-1:-1:-1;14763:33:0;;;;-1:-1:-1;;;;;14763:33:0;;;14171:19;;;;;;;;;;-1:-1:-1;14171:19:0;;;;-1:-1:-1;;;;;14171:19:0;;;17233:156;;;;;;;;;;-1:-1:-1;17233:156:0;;;;;:::i;:::-;;:::i;23302:105::-;;;;;;;;;;;;;:::i;4227:94::-;;;;;;;;;;-1:-1:-1;4227:94:0;;;;;:::i;:::-;;:::i;14199:25::-;;;;;;;;;;;;;;;;14231:34;;;;;;;;;;;;;;;;13926:36;;;;;;;;;;-1:-1:-1;13926:36:0;;;;-1:-1:-1;;;;;13926:36:0;;;27457:167;;;;;;;;;;-1:-1:-1;27457:167:0;;;;;:::i;:::-;;:::i;19727:663::-;;;;;;;;;;;;;:::i;16743:133::-;;;;;;;;;;-1:-1:-1;16743:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;16845:19:0;;;16827:7;16845:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;16743:133;26617:156;;;;;;;;;;-1:-1:-1;26617:156:0;;;;;:::i;:::-;;:::i;12811:48::-;;;;;;;;;;-1:-1:-1;12811:48:0;12842:17;12811:48;;13969:78;;;;;;;;;;-1:-1:-1;13969:78:0;;;;-1:-1:-1;;;;;13969:78:0;;;4397:97;;;;;;;;;;-1:-1:-1;4397:97:0;;;;;:::i;:::-;;:::i;19492:227::-;;;;;;;;;;-1:-1:-1;19492:227:0;;;;;:::i;:::-;;:::i;4954:173::-;;;;;;;;;;-1:-1:-1;4954:173:0;;;;;:::i;:::-;;:::i;22978:316::-;;;;;;;;;;-1:-1:-1;22978:316:0;;;;;:::i;:::-;;:::i;25258:347::-;;;;;;;;;;-1:-1:-1;25258:347:0;;;;;:::i;:::-;;:::i;25741:128::-;;;;;;;;;;-1:-1:-1;25741:128:0;;;;;:::i;:::-;;:::i;14140:24::-;;;;;;;;;;-1:-1:-1;14140:24:0;;;;-1:-1:-1;;;;;14140:24:0;;;4728:107;;;;;;;;;;-1:-1:-1;4728:107:0;;;;;:::i;:::-;;:::i;24910:187::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;;;;;;;;;24965:10:::1;::::0;:15;24957:48:::1;;;::::0;-1:-1:-1;;;24957:48:0;;8946:2:1;24957:48:0::1;::::0;::::1;8928:21:1::0;8985:2;8965:18;;;8958:30;-1:-1:-1;;;9004:18:1;;;8997:50;9064:18;;24957:48:0::1;8744:344:1::0;24957:48:0::1;25029:12;25016:10;:25:::0;25074:15:::1;25052:19;:37:::0;24910:187::o;24095:359::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;24221:18:::1;:29:::0;;-1:-1:-1;;24221:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;24261:14:::1;:21:::0;;;;-1:-1:-1;24293:22:0::1;:26:::0;24330:17:::1;:27:::0;24368:22:::1;:32:::0;24434:12:::1;24411:20;:35:::0;24095:359::o;25877:496::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;26041:12:::1;:28:::0;;;26080:10:::1;:24:::0;;;26115:13:::1;:30:::0;;;26156:12:::1;:28:::0;;;26206:69:::1;26171:13:::0;26206:50:::1;26131:14:::0;26206:50;26056:13;26093:11;26206:17:::1;:30::i;:::-;:34:::0;::::1;:50::i;:69::-;26195:8;:80:::0;26286:14:::1;:32:::0;;;26348:16:::1;26363:1;26303:15:::0;26348:16:::1;:::i;:::-;26337:8;;:27;26329:36;;;::::0;::::1;;25877:496:::0;;;;;:::o;16884:216::-;16988:10;16959:4;16976:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;16976:32:0;;;;;;;;;;:41;;;17033:37;16959:4;;16976:32;;17033:37;;;;17011:6;9913:25:1;;9901:2;9886:18;;9767:177;17033:37:0;;;;;;;;-1:-1:-1;17088:4:0;16884:216;;;;:::o;27632:150::-;27712:4;27768:6;27736:29;27756:8;27736:19;:29::i;:::-;:38;;27632:150;-1:-1:-1;;;27632:150:0:o;26781:183::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;26879:15:::1;:25:::0;;;;26915:26:::1;:41:::0;26781:183::o;24462:342::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;24622:1:::1;24595:23;24607:11:::0;24595:9;:23:::1;:::i;:::-;:28;;:55;;;;;24639:11;24627:9;:23;24595:55;24587:64;;;::::0;::::1;;24662:26;:38:::0;;;;24711:28:::1;:42:::0;24764:23:::1;:32:::0;24462:342::o;17397:365::-;17552:12;;-1:-1:-1;;;;;17517:19:0;;17497:4;17517:19;;;:11;:19;;;;;;;;17537:10;17517:31;;;;;;;;17497:4;;17517:47;17514:181;;17614:69;;;;;;;;;;;-1:-1:-1;;;17614:69:0;;;;;;;;-1:-1:-1;;;;;17614:19:0;;-1:-1:-1;17614:19:0;;;:11;:19;;;;;17634:10;17614:31;;;;;;;;;;:69;;17650:6;;17614:35;:69::i;:::-;-1:-1:-1;;;;;17580:19:0;;;;;;:11;:19;;;;;;;;17600:10;17580:31;;;;;;;:103;17514:181;17714:40;17728:6;17736:9;17747:6;17714:13;:40::i;:::-;17707:47;;17397:365;;;;;;:::o;27307:142::-;27435:4;;-1:-1:-1;;;;;27435:4:0;27360:7;16716:18;;;:9;:18;;;;;;27387:54;;27414:4;;-1:-1:-1;;;;;27414:4:0;16698:7;16716:18;;;:9;:18;;;;;;27387:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;27380:61;;27307:142;:::o;26972:183::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;27082:11:::1;::::0;:65:::1;::::0;-1:-1:-1;;;27082:65:0;;::::1;::::0;::::1;10710:25:1::0;;;10751:18;;;10744:34;;;-1:-1:-1;;;;;27082:11:0;;::::1;::::0;:35:::1;::::0;10683:18:1;;27082:65:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;26972:183:::0;;:::o;17108:117::-;17163:4;17187:30;17195:7;17204:12;;17187:7;:30::i;:::-;17180:37;17108:117;-1:-1:-1;;17108:117:0:o;25105:145::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;25205:4:::1;25190:12;;:19;;;;:::i;:::-;25180:6;:29;;25172:38;;;::::0;::::1;;25221:12;:21:::0;25105:145::o;25613:120::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25697:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;25697:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25613:120::o;27163:136::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;27253:6:::1;27247:3;:12;27239:21;;;::::0;::::1;;27271:14;:20:::0;27163:136::o;26381:228::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;26500:21:::1;:46:::0;;-1:-1:-1;;;;;26500:46:0;;::::1;-1:-1:-1::0;;;;;;26500:46:0;;::::1;;::::0;;;26557:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;26381:228::o;17233:156::-;17313:4;17337:44;17351:10;17363:9;17374:6;17337:13;:44::i;23302:105::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;23398:1:::1;23367:28;:32:::0;23302:105::o;4227:94::-;4609:4;4644:5;-1:-1:-1;;;;;4644:5:0;3951:10;4633:16;3935:38;;;;-1:-1:-1;;;3935:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4287:19:0::1;;::::0;;;4309:4:::1;4287:19;::::0;;;;;;;:26;;-1:-1:-1;;4287:26:0::1;::::0;;::::1;::::0;;4227:94::o;27457:167::-;27525:7;27552:64;27593:22;:20;:22::i;:::-;27575:4;;-1:-1:-1;;;;;27575:4:0;16698:7;16716:18;;;:9;:18;;;;;;27552:36;;27565:22;;27585:1;27565:19;:22::i;:::-;27552:8;;:12;:36::i;:::-;:40;;:64::i;19727:663::-;19776:7;19831:15;19800:19;;19822:6;19800:28;;;;:::i;:::-;:46;19796:561;;;19870:39;19894:14;;19870:19;19883:5;19870:8;;:12;;:19;;;;:::i;19796:561::-;19991:15;19931:57;19964:23;;19931:28;;:32;;:57;;;;:::i;:::-;:75;19927:430;;;20023:21;20047:78;20109:15;20047:57;20080:23;;20047:28;;:32;;:57;;;;:::i;:78::-;20023:102;;20140:19;20162:88;20241:8;;20162:74;20207:28;;20162:40;20175:26;;20162:8;;:12;;:40;;;;:::i;:88::-;20140:110;;20272:73;20285:59;20320:23;;20285:30;20301:13;20285:11;:15;;:30;;;;:::i;:59::-;20272:8;;;:12;:73::i;:::-;20265:80;;;;19727:663;:::o;19927:430::-;-1:-1:-1;20374:8:0;;;19727:663::o;26617:156::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;26709:11:::1;:22:::0;;-1:-1:-1;;26709:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;26742:13:::1;:23:::0;26617:156::o;4397:97::-;4609:4;4644:5;-1:-1:-1;;;;;4644:5:0;3951:10;4633:16;3935:38;;;;-1:-1:-1;;;3935:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4459:19:0::1;4481:5;4459:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;4459:27:0::1;::::0;;4397:97::o;19492:227::-;19548:7;19589:12;19571:10;;19584:1;19571:14;;;;:::i;:::-;:30;19568:67;;19611:14;;:21;;19630:1;19611:18;:21::i;19568:67::-;19648:7;19645:41;;;19665:18;:16;:18::i;19645:41::-;-1:-1:-1;;19703:8:0;;;19492:227::o;4954:173::-;4609:4;4644:5;-1:-1:-1;;;;;4644:5:0;3951:10;4633:16;3935:38;;;;-1:-1:-1;;;3935:38:0;;;;;;;:::i;:::-;5030:5:::1;:11:::0;;-1:-1:-1;;;;;;5030:11:0::1;-1:-1:-1::0;;;;;5030:11:0;::::1;::::0;;::::1;::::0;;5052:19;;;-1:-1:-1;5052:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;5052:26:0::1;::::0;;::::1;::::0;;;5094:25;;5407:51:1;;;5094:25:0::1;::::0;5380:18:1;5094:25:0::1;;;;;;;4954:173:::0;:::o;22978:316::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;23102:4:::1;::::0;23084:23:::1;::::0;23094:6;;-1:-1:-1;;;;;23102:4:0::1;23084:9;:23::i;:::-;23121:24;23118:169;;;23192:15;23161:28;:46:::0;23251:23:::1;::::0;23227:48:::1;::::0;9913:25:1;;;23227:48:0::1;::::0;9901:2:1;9886:18;23227:48:0::1;;;;;;;23118:169;22978:316:::0;;:::o;25258:347::-;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25355:23:0;::::1;25373:4;25355:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;25392:4:0::1;::::0;-1:-1:-1;;;;;25382:14:0;;::::1;25392:4:::0;::::1;25382:14;;25355:41;25347:50;;;::::0;::::1;;-1:-1:-1::0;;;;;25408:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;25408:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;25452:146:::1;;25477:11;::::0;:31:::1;::::0;-1:-1:-1;;;25477:31:0;;-1:-1:-1;;;;;5885:32:1;;;25477:31:0::1;::::0;::::1;5867:51:1::0;25477:11:0::1;5934:18:1::0;;;5927:34;25477:11:0;;::::1;::::0;:20:::1;::::0;5840:18:1;;25477:31:0::1;5685:282:1::0;25452:146:0::1;25539:11;::::0;-1:-1:-1;;;;;25568:17:0;;::::1;25539:11;25568:17:::0;;;:9:::1;:17;::::0;;;;;;;25539:47;;-1:-1:-1;;;25539:47:0;;::::1;::::0;::::1;5867:51:1::0;;;;5934:18;;;5927:34;25539:11:0;::::1;::::0;:20:::1;::::0;5840:18:1;;25539:47:0::1;5685:282:1::0;25741:128:0;4112:24;4125:10;4112:12;:24::i;:::-;4104:48;;;;-1:-1:-1;;;4104:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25829:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;25829:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25741:128::o;4728:107::-;-1:-1:-1;;;;;4808:19:0;4784:4;4808:19;;;:14;:19;;;;;;;;;4728:107::o;1829:98::-;1887:7;1914:5;1918:1;1914;:5;:::i;1511:98::-;1569:7;1596:5;1600:1;1596;:5;:::i;2041:206::-;2127:7;2188:12;2180:6;;;;2172:29;;;;-1:-1:-1;;;2172:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2223:5:0;;;2041:206::o;17770:1074::-;17882:6;;17862:4;;17882:6;;17879:63;;;17898:41;17913:6;17921:9;17932:6;17898:14;:41::i;:::-;17891:48;;;;17879:63;17954:28;17967:6;17975;17954:12;:28::i;:::-;18008:16;:14;:16::i;:::-;18005:35;;;18027:10;:8;:10::i;:::-;18053:19;:17;:19::i;:::-;18050:48;;;18075:20;:18;:20::i;:::-;18233:53;;;;;;;;;;;-1:-1:-1;;;18233:53:0;;;;;;;;-1:-1:-1;;;;;18233:17:0;;-1:-1:-1;18233:17:0;;;:9;:17;;;;;;;;:53;;18255:6;;18233:21;:53::i;:::-;-1:-1:-1;;;;;18213:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19457:11;:19;;;;;;;;19456:20;18324:67;;18385:6;18324:67;;;18348:34;18356:6;18364:9;18375:6;18348:7;:34::i;:::-;-1:-1:-1;;;;;18427:20:0;;;;;;:9;:20;;;;;;18299:92;;-1:-1:-1;18427:40:0;;18299:92;18427:24;:40::i;:::-;-1:-1:-1;;;;;18404:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;18484:24;;;;;:16;:24;;;;;;;18480:96;;18515:11;;-1:-1:-1;;;;;18544:17:0;;;18515:11;18544:17;;;:9;:17;;;;;;;;18515:47;;-1:-1:-1;;;18515:47:0;;;;;5867:51:1;;;;5934:18;;;5927:34;18515:11:0;;;:20;;5840:18:1;;18515:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18511:63;;-1:-1:-1;;;;;18590:27:0;;;;;;:16;:27;;;;;;;;18586:105;;18624:11;;-1:-1:-1;;;;;18656:20:0;;;18624:11;18656:20;;;:9;:20;;;;;;;;18624:53;;-1:-1:-1;;;18624:53:0;;;;;5867:51:1;;;;5934:18;;;5927:34;18624:11:0;;;:20;;5840:18:1;;18624:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18620:69;;18707:11;;18727:14;;18707:35;;-1:-1:-1;;;;;;18707:35:0;;-1:-1:-1;;;;;18707:11:0;;;;:19;;:35;;;;9913:25:1;;;9901:2;9886:18;;9767:177;18707:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18703:51;18788:9;-1:-1:-1;;;;;18771:43:0;18780:6;-1:-1:-1;;;;;18771:43:0;;18799:14;18771:43;;;;9913:25:1;;9901:2;9886:18;;9767:177;18771:43:0;;;;;;;;-1:-1:-1;18832:4:0;;17770:1074;-1:-1:-1;;;;17770:1074:0:o;1617:98::-;1675:7;1702:5;1706:1;1702;:5;:::i;1723:98::-;1781:7;1808:5;1812:1;1808;:5;:::i;23726:361::-;14989:6;:13;;-1:-1:-1;;14989:13:0;14998:4;14989:13;;;23826:16:::1;::::0;;23840:1:::1;23826:16:::0;;;;;::::1;::::0;;-1:-1:-1;;23826:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;23863:4:0::1;::::0;23853:7;;;;-1:-1:-1;;;;;;23863:4:0::1;::::0;23853:7;;-1:-1:-1;23863:4:0::1;::::0;23853:7:::1;;;;:::i;:::-;;;;;;:14;-1:-1:-1::0;;;;;23853:14:0::1;;;-1:-1:-1::0;;;;;23853:14:0::1;;;::::0;::::1;23896:4;23878;23883:1;23878:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23878:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;23914:6:::1;::::0;:165:::1;::::0;-1:-1:-1;;;23914:165:0;;:6;::::1;::::0;:57:::1;::::0;23979:6;;23914:165:::1;::::0;:6:::1;::::0;24017:4;;24036:2;;24053:15:::1;::::0;23914:165:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15007:6:0;:14;;-1:-1:-1;;15007:14:0;;;-1:-1:-1;;;;;;23726:361:0:o;18852:332::-;18982:53;;;;;;;;;;;-1:-1:-1;;;18982:53:0;;;;;;;;-1:-1:-1;;;;;18982:17:0;;18945:4;18982:17;;;:9;:17;;;;;;;:53;;19004:6;;18982:21;:53::i;:::-;-1:-1:-1;;;;;18962:17:0;;;;;;;:9;:17;;;;;;:73;;;;19069:20;;;;;;;:32;;19094:6;19069:24;:32::i;:::-;-1:-1:-1;;;;;19046:20:0;;;;;;:9;:20;;;;;:55;-1:-1:-1;19172:4:0;18852:332;;;;;:::o;19196:166::-;19293:12;;19283:6;:22;;:49;;;-1:-1:-1;;;;;;19309:23:0;;;;;;:15;:23;;;;;;;;19283:49;19275:79;;;;-1:-1:-1;;;19275:79:0;;8600:2:1;19275:79:0;;;8582:21:1;8639:2;8619:18;;;8612:30;-1:-1:-1;;;8658:18:1;;;8651:47;8715:18;;19275:79:0;8398:341:1;20778:197:0;20865:4;;20827;;-1:-1:-1;;;;;20865:4:0;20851:10;:18;;;;:38;;-1:-1:-1;20883:6:0;;;;20882:7;20851:38;:62;;;;-1:-1:-1;20902:11:0;;;;20851:62;:116;;;;-1:-1:-1;;20954:13:0;;20944:4;20926:24;;;;:9;:24;;;;;;:41;;;20778:197::o;20983:1661::-;14989:6;:13;;-1:-1:-1;;14989:13:0;14998:4;14989:13;;;21078:15:::1;::::0;21095:26:::1;::::0;14989:6;;21062:60:::1;::::0;:15:::1;:60::i;:::-;:79;;21129:12;;21062:79;;;21125:1;21062:79;21032:109;;21152:23;21178:59;21235:1;21178:52;21221:8;;21178:38;21196:19;21178:13;;:17;;:38;;;;:::i;:59::-;21152:85;;21248:20;21271:34;21289:15;21271:13;;:17;;:34;;;;:::i;:::-;21342:16;::::0;;21356:1:::1;21342:16:::0;;;;;::::1;::::0;;21248:57;;-1:-1:-1;21318:21:0::1;::::0;21342:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21342:16:0::1;21318:40;;21387:4;21369;21374:1;21369:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21369:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;21413:4:::1;::::0;21403:7;;21413:4;::::1;::::0;21403;;21413;;21403:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;21403:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;21486:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;21486:188:0;;21452:21:::1;::::0;21486:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;21558:12;;21428:21:::1;::::0;21601:4;;21628::::1;::::0;21648:15:::1;::::0;21486:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;21687:17;21707:40;21733:13;21707:21;:25;;:40;;;;:::i;:::-;21687:60:::0;-1:-1:-1;21760:19:0::1;21782:40;21795:26;:19:::0;21819:1:::1;21795:23;:26::i;:::-;21782:8;::::0;;:12:::1;:40::i;:::-;21760:62:::0;-1:-1:-1;21835:26:0::1;21864:58;21920:1;21864:51;21760:62:::0;21864:51;:9;21878:19;21864:13:::1;:34::i;:58::-;21835:87;;21933:27;21963:45;21996:11;21963:28;21977:13;;21963:9;:13;;:28;;;;:::i;:45::-;21933:75;;22019:26;22048:44;22080:11;22048:27;22062:12;;22048:9;:13;;:27;;;;:::i;:44::-;22019:73;;22109:11;;;;;;;;;-1:-1:-1::0;;;;;22109:11:0::1;-1:-1:-1::0;;;;;22109:19:0::1;;22136;22109:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22105:65:::0;22188:20:::1;::::0;22180:58:::1;::::0;-1:-1:-1;;;;;22188:20:0;;::::1;::::0;22180:58;::::1;;;::::0;22219:18;;22188:20:::1;22180:58:::0;22188:20;22180:58;22219:18;22188:20;22180:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22278:19:0;;22275:362:::1;;22313:6;::::0;22487:21:::1;::::0;22313:244:::1;::::0;-1:-1:-1;;;22313:244:0;;22389:4:::1;22313:244;::::0;::::1;6592:34:1::0;6642:18;;;6635:34;;;22313:6:0::1;6685:18:1::0;;;6678:34;;;6728:18;;;6721:34;-1:-1:-1;;;;;22487:21:0;;::::1;6771:19:1::0;;;6764:44;22527:15:0::1;6824:19:1::0;;;6817:35;22313:6:0;::::1;::::0;:22:::1;::::0;22343:18;;6526:19:1;;22313:244:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;22577:48:0::1;::::0;;10710:25:1;;;10766:2;10751:18;;10744:34;;;22577:48:0::1;::::0;-1:-1:-1;10683:18:1;22577:48:0::1;;;;;;;22275:362;-1:-1:-1::0;;15007:6:0;:14;;-1:-1:-1;;15007:14:0;;;-1:-1:-1;;;;;;;;20983:1661:0:o;22652:318::-;22742:4;;22704;;-1:-1:-1;;;;;22742:4:0;22728:10;:18;;;;:38;;-1:-1:-1;22760:6:0;;;;22759:7;22728:38;:69;;;;-1:-1:-1;22779:18:0;;;;22728:69;:143;;;;;22859:12;22833:22;;22810:20;;:45;;;;:::i;:::-;:61;;22728:143;:234;;;;-1:-1:-1;;22945:17:0;;22920:21;:42;;;22652:318::o;23415:303::-;23475:17;;23494:4;;23465:34;;23475:17;-1:-1:-1;;;;;23494:4:0;23465:9;:34::i;:::-;23533:12;23510:20;:35;23608:17;;23581:22;;:45;;:26;:45::i;:::-;23556:22;:70;;;23665:14;;-1:-1:-1;23637:74:0;;;23682:18;:26;;-1:-1:-1;;23682:26:0;;;23637:74;23415:303::o;20398:372::-;20569:14;;20558:4;;20483:7;;;;20523:61;;20569:14;20523:41;;20534:29;;-1:-1:-1;;;;;20546:16:0;;;20558:4;;20546:16;20534:11;:29::i;:::-;20523:6;;:10;:41::i;:61::-;20642:4;20624:24;;;;:9;:24;;;;;;20503:81;;-1:-1:-1;20624:39:0;;20503:81;20624:28;:39::i;:::-;20615:4;20597:24;;;;:9;:24;;;;;;;:66;;;;20679:42;;-1:-1:-1;;;;;20679:42:0;;;;;;;20711:9;9913:25:1;;9901:2;9886:18;;9767:177;20679:42:0;;;;;;;;20741:21;:6;20752:9;20741:10;:21::i;:::-;20734:28;20398:372;-1:-1:-1;;;;;20398:372:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;691:388::-;759:6;767;820:2;808:9;799:7;795:23;791:32;788:52;;;836:1;833;826:12;788:52;875:9;862:23;894:31;919:5;894:31;:::i;:::-;944:5;-1:-1:-1;1001:2:1;986:18;;973:32;1014:33;973:32;1014:33;:::i;:::-;1066:7;1056:17;;;691:388;;;;;:::o;1084:456::-;1161:6;1169;1177;1230:2;1218:9;1209:7;1205:23;1201:32;1198:52;;;1246:1;1243;1236:12;1198:52;1285:9;1272:23;1304:31;1329:5;1304:31;:::i;:::-;1354:5;-1:-1:-1;1411:2:1;1396:18;;1383:32;1424:33;1383:32;1424:33;:::i;:::-;1084:456;;1476:7;;-1:-1:-1;;;1530:2:1;1515:18;;;;1502:32;;1084:456::o;1545:315::-;1610:6;1618;1671:2;1659:9;1650:7;1646:23;1642:32;1639:52;;;1687:1;1684;1677:12;1639:52;1726:9;1713:23;1745:31;1770:5;1745:31;:::i;:::-;1795:5;-1:-1:-1;1819:35:1;1850:2;1835:18;;1819:35;:::i;:::-;1809:45;;1545:315;;;;;:::o;1865:::-;1933:6;1941;1994:2;1982:9;1973:7;1969:23;1965:32;1962:52;;;2010:1;2007;2000:12;1962:52;2049:9;2036:23;2068:31;2093:5;2068:31;:::i;:::-;2118:5;2170:2;2155:18;;;;2142:32;;-1:-1:-1;;;1865:315:1:o;2185:180::-;2241:6;2294:2;2282:9;2273:7;2269:23;2265:32;2262:52;;;2310:1;2307;2300:12;2262:52;2333:26;2349:9;2333:26;:::i;2370:248::-;2435:6;2443;2496:2;2484:9;2475:7;2471:23;2467:32;2464:52;;;2512:1;2509;2502:12;2464:52;2535:26;2551:9;2535:26;:::i;2623:385::-;2706:6;2714;2722;2730;2783:3;2771:9;2762:7;2758:23;2754:33;2751:53;;;2800:1;2797;2790:12;2751:53;2823:26;2839:9;2823:26;:::i;:::-;2813:36;2896:2;2881:18;;2868:32;;-1:-1:-1;2947:2:1;2932:18;;2919:32;;2998:2;2983:18;2970:32;;-1:-1:-1;2623:385:1;-1:-1:-1;;;2623:385:1:o;3013:180::-;3072:6;3125:2;3113:9;3104:7;3100:23;3096:32;3093:52;;;3141:1;3138;3131:12;3093:52;-1:-1:-1;3164:23:1;;3013:180;-1:-1:-1;3013:180:1:o;3198:248::-;3263:6;3271;3324:2;3312:9;3303:7;3299:23;3295:32;3292:52;;;3340:1;3337;3330:12;3292:52;3376:9;3363:23;3353:33;;3405:35;3436:2;3425:9;3421:18;3405:35;:::i;3451:248::-;3519:6;3527;3580:2;3568:9;3559:7;3555:23;3551:32;3548:52;;;3596:1;3593;3586:12;3548:52;-1:-1:-1;;3619:23:1;;;3689:2;3674:18;;;3661:32;;-1:-1:-1;3451:248:1:o;3704:316::-;3781:6;3789;3797;3850:2;3838:9;3829:7;3825:23;3821:32;3818:52;;;3866:1;3863;3856:12;3818:52;-1:-1:-1;;3889:23:1;;;3959:2;3944:18;;3931:32;;-1:-1:-1;4010:2:1;3995:18;;;3982:32;;3704:316;-1:-1:-1;3704:316:1:o;4025:306::-;4113:6;4121;4129;4182:2;4170:9;4161:7;4157:23;4153:32;4150:52;;;4198:1;4195;4188:12;4150:52;4227:9;4221:16;4211:26;;4277:2;4266:9;4262:18;4256:25;4246:35;;4321:2;4310:9;4306:18;4300:25;4290:35;;4025:306;;;;;:::o;4336:454::-;4431:6;4439;4447;4455;4463;4516:3;4504:9;4495:7;4491:23;4487:33;4484:53;;;4533:1;4530;4523:12;4484:53;-1:-1:-1;;4556:23:1;;;4626:2;4611:18;;4598:32;;-1:-1:-1;4677:2:1;4662:18;;4649:32;;4728:2;4713:18;;4700:32;;-1:-1:-1;4779:3:1;4764:19;4751:33;;-1:-1:-1;4336:454:1;-1:-1:-1;4336:454:1:o;4795:461::-;4848:3;4886:5;4880:12;4913:6;4908:3;4901:19;4939:4;4968:2;4963:3;4959:12;4952:19;;5005:2;4998:5;4994:14;5026:1;5036:195;5050:6;5047:1;5044:13;5036:195;;;5115:13;;-1:-1:-1;;;;;5111:39:1;5099:52;;5171:12;;;;5206:15;;;;5147:1;5065:9;5036:195;;;-1:-1:-1;5247:3:1;;4795:461;-1:-1:-1;;;;;4795:461:1:o;7281:510::-;7552:6;7541:9;7534:25;7595:3;7590:2;7579:9;7575:18;7568:31;7515:4;7616:57;7668:3;7657:9;7653:19;7645:6;7616:57;:::i;:::-;-1:-1:-1;;;;;7709:32:1;;;;7704:2;7689:18;;7682:60;-1:-1:-1;7773:2:1;7758:18;7751:34;7608:65;7281:510;-1:-1:-1;;7281:510:1:o;7796:597::-;7908:4;7937:2;7966;7955:9;7948:21;7998:6;7992:13;8041:6;8036:2;8025:9;8021:18;8014:34;8066:1;8076:140;8090:6;8087:1;8084:13;8076:140;;;8185:14;;;8181:23;;8175:30;8151:17;;;8170:2;8147:26;8140:66;8105:10;;8076:140;;;8234:6;8231:1;8228:13;8225:91;;;8304:1;8299:2;8290:6;8279:9;8275:22;8271:31;8264:42;8225:91;-1:-1:-1;8377:2:1;8356:15;-1:-1:-1;;8352:29:1;8337:45;;;;8384:2;8333:54;;7796:597;-1:-1:-1;;;7796:597:1:o;9093:329::-;9295:2;9277:21;;;9334:1;9314:18;;;9307:29;-1:-1:-1;;;9367:2:1;9352:18;;9345:36;9413:2;9398:18;;9093:329::o;9427:335::-;9629:2;9611:21;;;9668:2;9648:18;;;9641:30;-1:-1:-1;;;9702:2:1;9687:18;;9680:41;9753:2;9738:18;;9427:335::o;9949:582::-;10248:6;10237:9;10230:25;10291:6;10286:2;10275:9;10271:18;10264:34;10334:3;10329:2;10318:9;10314:18;10307:31;10211:4;10355:57;10407:3;10396:9;10392:19;10384:6;10355:57;:::i;:::-;-1:-1:-1;;;;;10448:32:1;;;;10443:2;10428:18;;10421:60;-1:-1:-1;10512:3:1;10497:19;10490:35;10347:65;9949:582;-1:-1:-1;;;9949:582:1:o;10978:128::-;11018:3;11049:1;11045:6;11042:1;11039:13;11036:39;;;11055:18;;:::i;:::-;-1:-1:-1;11091:9:1;;10978:128::o;11111:217::-;11151:1;11177;11167:132;;11221:10;11216:3;11212:20;11209:1;11202:31;11256:4;11253:1;11246:15;11284:4;11281:1;11274:15;11167:132;-1:-1:-1;11313:9:1;;11111:217::o;11333:168::-;11373:7;11439:1;11435;11431:6;11427:14;11424:1;11421:21;11416:1;11409:9;11402:17;11398:45;11395:71;;;11446:18;;:::i;:::-;-1:-1:-1;11486:9:1;;11333:168::o;11506:125::-;11546:4;11574:1;11571;11568:8;11565:34;;;11579:18;;:::i;:::-;-1:-1:-1;11616:9:1;;11506:125::o;11636:127::-;11697:10;11692:3;11688:20;11685:1;11678:31;11728:4;11725:1;11718:15;11752:4;11749:1;11742:15;11768:127;11829:10;11824:3;11820:20;11817:1;11810:31;11860:4;11857:1;11850:15;11884:4;11881:1;11874:15;12032:131;-1:-1:-1;;;;;12107:31:1;;12097:42;;12087:70;;12153:1;12150;12143:12;12087:70;12032:131;:::o
Swarm Source
ipfs://12e0c6054e696c971a53f5c24aaa364e6d4b44b86267914e6354a3a64378f056
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.