ERC-20
Overview
Max Total Supply
1,000,000,000 TWIGGERED
Holders
42
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
13,515,420.286689899250019754 TWIGGEREDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Twiggered
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-03 */ // 84 119 105 103 103 101 114 101 100 // Yall crying on Twitter like lil twats. Nobody gives a shit that your bitch ass is triggered. // Nobody cares if you're gonna quit Twitter because you're triggered. // Nobody cares if you're gonna stop advertising on Twitter because you're triggered. // You aren't really gonna do any of that anyways but you're triggered and this is how you respond. // Wake up, roll over and grab phone to see how you're supposed to feel that day and what you can bitch about. // Lets be real, half your life is whining on Twitter when you're triggered. // You're Twiggered. // We are here to help. Consider this your therapy. // If anything about this token triggers you, do what you do best when Twiggered and tell everyone! // Tweet your heart out cupcake, the world deserves to know! // It is your obligation as a good human being to make sure everyone hears the news! // It's even more vital if the people don't give a shit!! // You know better than anyone that if they don't agree with you then there is something wrong with them! // You owe it to future generations to fix the way they think! // Most importantly remember logic is absolutely irrelevant, this is all about how you feel! // Safe spaces available for those infected with reality so fight the good fight knowing you have somewhere to cry! // https://www.twitter.com/twiggerederc pragma solidity ^0.8.12; // SPDX-License-Identifier: Unlicensed library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } 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 getAmountsIn(uint256 amountOut, address[] memory path) external view returns (uint256[] memory amounts); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } abstract contract ERC20Interface { function balanceOf(address whom) public view virtual returns (uint256); } contract Twiggered is IERC20, Ownable { using SafeMath for uint256; string constant _name = "Twiggered"; string constant _symbol = "TWIGGERED"; uint8 constant _decimals = 18; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; uint256 _totalSupply = 1000000000 * (10**_decimals); uint256 public biggestBuy = 0; uint256 public lastWhaleChange = 0; uint256 public resetPeriod = 30 minutes; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => uint256) public _lastWhaleTimer; mapping(address => uint256) public _payOut; mapping(address => bool) public previousWhaleHolder; mapping(address => bool) public isFeeExempt; mapping(address => bool) public isTxLimitExempt; mapping(address => bool) private _isBlackedlisted; uint256 private constant MAX = ~uint256(0); uint256 public liquidityFee = 2; uint256 public marketingFee = 2; uint256 public whaleFee = 0; uint256 private totalFee = 4; uint256 private totalFeeIfSelling = 4; address public autoLiquidityReceiver; address public marketingWallet; address public Whale; address public _payOutAddress; bool public _isLaunched = false; uint256 _launchTime; IDEXRouter public router; address public pair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; uint256 public _maxTxAmount = _totalSupply; uint256 public _maxWalletAmount = _totalSupply / 50; uint256 public swapThreshold = _totalSupply / 100; uint256 public timeToWait = 6; modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } event AutoLiquify(uint256 amountETH, uint256 amountToken); event NewWhale(address whale, uint256 buyAmount); event WhalePayout(address whale, uint256 amountETH); event WhaleSold(address whale, uint256 amountETH); constructor() { router = IDEXRouter(routerAddress); pair = IDEXFactory(router.factory()).createPair( router.WETH(), address(this) ); _allowances[address(this)][address(router)] = MAX; isFeeExempt[DEAD] = true; isTxLimitExempt[DEAD] = true; isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; autoLiquidityReceiver = msg.sender; marketingWallet = msg.sender; Whale = msg.sender; totalFee = liquidityFee.add(marketingFee).add(whaleFee); totalFeeIfSelling = totalFee; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() external pure override returns (string memory) { return _name; } function symbol() external pure override returns (string memory) { return _symbol; } function decimals() external pure override returns (uint8) { return _decimals; } function getOwner() external view override returns (address) { return owner(); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function removeLiquidty() public onlyOwner(){ swapAndLiquifyEnabled=false; _maxTxAmount=MAX; _maxWalletAmount=MAX; marketingFee=0; whaleFee=0; liquidityFee=0; } function setFees( uint256 newLiquidityFee, uint256 newMarketingFee, uint256 newwhaleFee ) external onlyOwner { require( newLiquidityFee >= 0 && newLiquidityFee <= 10, "Invalid fee" ); require( newMarketingFee >= 0 && newMarketingFee <= 10, "Invalid fee" ); require( newwhaleFee >= 0 && newwhaleFee <= 10, "Invalid fee" ); liquidityFee = newLiquidityFee; marketingFee = newMarketingFee; whaleFee = newwhaleFee; totalFee = liquidityFee.add(marketingFee).add(whaleFee); } 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, MAX); } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setSwapThreshold(uint256 threshold) external onlyOwner { swapThreshold = threshold; } function setFeeReceivers( address newLiquidityReceiver, address newMarketingWallet ) external onlyOwner { autoLiquidityReceiver = newLiquidityReceiver; marketingWallet = newMarketingWallet; } function setResetPeriodInSeconds(uint256 newResetPeriod) external onlyOwner { resetPeriod = newResetPeriod; } function _reset() internal { Whale = marketingWallet; biggestBuy = 0; lastWhaleChange = block.timestamp; } function epochReset() external view returns (uint256) { return lastWhaleChange + resetPeriod; } function enableHappyHour() public onlyOwner() { liquidityFee = 2; marketingFee = 2; whaleFee = 0; totalFee = liquidityFee.add(marketingFee).add(whaleFee); } function setDefaultTaxes() public onlyOwner() { liquidityFee = 2; marketingFee = 2; whaleFee = 0; totalFee = liquidityFee.add(marketingFee).add(whaleFee); } function launch() external onlyOwner { require (_isLaunched == false, "Already launched"); _isLaunched = true; _launchTime = block.timestamp; Whale = marketingWallet; biggestBuy = 0; liquidityFee = 2; marketingFee = 2; whaleFee = 0; lastWhaleChange = block.timestamp; } function setMaxWalletSize(uint256 amount) external onlyOwner { require(amount>=_totalSupply / 50, "Max wallet size is too low"); _maxWalletAmount = amount; } function setMaxTransactionSize(uint256 amount) external onlyOwner { require(amount>=_totalSupply /10, "Max wallet size is too low"); _maxTxAmount = amount; } function addBlacklist(address addr) external onlyOwner { require(block.timestamp < _launchTime + 180 minutes); _isBlackedlisted[addr]=true; } function removedBlacklist(address addr) external onlyOwner { _isBlackedlisted[addr]=false; } function isBlacklisted(address account) external view returns (bool) { return _isBlackedlisted[account]; } function autoBlacklist(address addr) private { _isBlackedlisted[addr]=true; } function _checkTxLimit( address sender, address recipient, uint256 amount ) internal { if (block.timestamp - lastWhaleChange > resetPeriod) { _reset(); } if ( sender != owner() && recipient != owner() && !isTxLimitExempt[recipient] && recipient != ZERO && recipient != DEAD && recipient != pair && recipient != address(this) ) { require(amount <= _maxTxAmount, "MAX TX"); uint256 contractBalanceRecipient = balanceOf(recipient); require( contractBalanceRecipient + amount <= _maxWalletAmount, "Exceeds maximum wallet token amount" ); address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(this); uint256 usedEth = router.getAmountsIn(amount, path)[0]; if (previousWhaleHolder[recipient]==true && _lastWhaleTimer[recipient] + 1 hours < block.timestamp && usedEth > biggestBuy) { Whale = recipient; biggestBuy = usedEth; lastWhaleChange = block.timestamp; emit NewWhale(Whale, biggestBuy); } else if (previousWhaleHolder[recipient]==false && usedEth > biggestBuy) { Whale = recipient; biggestBuy = usedEth; lastWhaleChange = block.timestamp; emit NewWhale(Whale, biggestBuy); } } if ( sender != owner() && recipient != owner() && !isTxLimitExempt[sender] && sender != pair && recipient != address(this) ) { require(amount <= _maxTxAmount, "MAX TX"); if (Whale == sender) { emit WhaleSold(Whale, biggestBuy); _reset(); } } } function setSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; } 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] != MAX) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } _transferFrom(sender, recipient, amount); return true; } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { require(_isBlackedlisted[sender]!=true && _isBlackedlisted[recipient]!=true, "Blacklisted"); if (inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } if ( msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold ) { swapBack(); } _checkTxLimit(sender, recipient, amount); require(!isWalletToWallet(sender, recipient), "Don't cheat"); uint256 amountReceived = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; if (_isLaunched !=true && recipient !=pair && sender!=owner() && recipient!=owner()) { _balances[recipient] = _balances[recipient].add(amountReceived); _balances[sender] = _balances[sender].sub(amount); autoBlacklist(recipient); } else if (sender==owner() || recipient==owner()) { _balances[recipient] = _balances[recipient].add(amountReceived); _balances[sender] = _balances[sender].sub(amount); } else { _balances[recipient] = _balances[recipient].add(amountReceived); _balances[sender] = _balances[sender].sub(amount); } emit Transfer(msg.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 takeFee( address sender, address recipient, uint256 amount ) internal returns (uint256) { uint256 feeApplicable = pair == recipient ? totalFeeIfSelling : totalFee; uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function isWalletToWallet(address sender, address recipient) internal view returns (bool) { if (isFeeExempt[sender] || isFeeExempt[recipient]) { return false; } if (sender == pair || recipient == pair) { return false; } return true; } function swapBack() internal lockTheSwap { //uint256 tokensToLiquify = _balances[address(this)]; uint256 tokensToLiquify = swapThreshold; uint256 amountToLiquify = tokensToLiquify .mul(liquidityFee) .div(totalFee) .div(2); uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHMarketing = amountETH.mul(marketingFee).div( totalETHFee ); uint256 amountETHWhale = amountETH.mul(whaleFee).div(totalETHFee); uint256 amountETHLiquidity = amountETH .mul(liquidityFee) .div(totalETHFee) .div(2); (bool tmpSuccess, ) = payable(marketingWallet).call{ value: amountETHMarketing, gas: 30000 }(""); (bool tmpSuccess2, ) = payable(Whale).call{ value: amountETHWhale, gas: 30000 }(""); _payOut[Whale]=amountETHWhale; previousWhaleHolder[Whale]=true; _lastWhaleTimer[Whale] = block.timestamp; emit WhalePayout(Whale, amountETHWhale); // only to supress warning msg tmpSuccess = false; tmpSuccess2 = false; if (amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function recoverLosteth() external onlyOwner { payable(msg.sender).transfer(address(this).balance); } function recoverLostTokens(address _token, uint256 _amount) external onlyOwner { IERC20(_token).transfer(msg.sender, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"whale","type":"address"},{"indexed":false,"internalType":"uint256","name":"buyAmount","type":"uint256"}],"name":"NewWhale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"whale","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"WhalePayout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"whale","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"WhaleSold","type":"event"},{"inputs":[],"name":"Whale","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isLaunched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lastWhaleTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_payOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_payOutAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"addBlacklist","outputs":[],"stateMutability":"nonpayable","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":[],"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":"biggestBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableHappyHour","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"epochReset","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastWhaleChange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"previousWhaleHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverLostTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverLosteth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLiquidty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"removedBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resetPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setDefaultTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityReceiver","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newwhaleFee","type":"uint256"}],"name":"setFees","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":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTransactionSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newResetPeriod","type":"uint256"}],"name":"setResetPeriodInSeconds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"timeToWait","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b031990811661dead17909155600280548216905560038054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055620000506012600a620005ad565b6200006090633b9aca00620005c5565b60048181556000600581905560068190556107086007556002601081905560115560125560138190556014556018805460ff60a01b19169055601b805460ff60a81b1916600160a81b179055601c819055620000bf90603290620005df565b601d556064600454620000d39190620005df565b601e556006601f55348015620000e857600080fd5b50620000f433620003db565b600354601a80546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000151573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000177919062000602565b6001600160a01b031663c9c65396601a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ff919062000602565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200024c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000272919062000602565b601b80546001600160a01b039283166001600160a01b0319918216178255306000818152600960209081526040808320601a5488168452825280832060001990556001805488168452600d808452828520805460ff19908116841790915582548a168652600e8086528487208054831685179055338088529286528487208054831685179055968652838620805482168417905581865295845282852080548716831790559654909716835290912080549092169094179055601580548216831790556016805482168317905560178054909116909117905560125460115460105462000382936200036e9290620013cf6200042b821b17901c565b6200042b60201b620013cf1790919060201c565b601381905560145560045433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000643565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200043a83856200062d565b905083811015620004915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004f1578160001904821115620004d557620004d56200049a565b80851615620004e357918102915b93841c9390800290620004b5565b509250929050565b6000826200050a5750600162000494565b81620005195750600062000494565b81600181146200053257600281146200053d576200055d565b600191505062000494565b60ff8411156200055157620005516200049a565b50506001821b62000494565b5060208310610133831016604e8410600b841016171562000582575081810a62000494565b6200058e8383620004b0565b8060001904821115620005a557620005a56200049a565b029392505050565b6000620005be60ff841683620004f9565b9392505050565b80820281158282048414176200049457620004946200049a565b600082620005fd57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200061557600080fd5b81516001600160a01b03811681146200049157600080fd5b808201808211156200049457620004946200049a565b612acc80620006536000396000f3fe60806040526004361061037a5760003560e01c8063893d20e8116101d1578063a9e59da311610102578063df20fd49116100a0578063f84ba65d1161006f578063f84ba65d14610a09578063f887ea4014610a29578063fb02195914610a49578063fe575a8714610a7657600080fd5b8063df20fd4914610994578063ea1644d5146109b4578063eb45e709146109d4578063f2fde38b146109e957600080fd5b8063cec10c11116100dc578063cec10c11146108f8578063dbe1c4d514610918578063dd62ed3e1461092e578063dec2ba0f1461097457600080fd5b8063a9e59da3146108a2578063b898a715146108c2578063ca33e64c146108d857600080fd5b80639cfe42da1161016f578063a4b45c0011610149578063a4b45c0014610822578063a617792814610842578063a8aa1b3114610862578063a9059cbb1461088257600080fd5b80639cfe42da146107c15780639d0014b1146107e15780639e0a78101461080157600080fd5b80638eb6889f116101ab5780638eb6889f1461074d578063944c1d971461076357806395d89b411461077957806398118cb4146107ab57600080fd5b8063893d20e8146106ff5780638b42507f1461071d5780638da5cb5b146106ff57600080fd5b80634fef3a82116102ab57806370a082311161024957806375f0a8741161022357806375f0a8741461066c5780637d1db4a51461068c5780637de4c778146106a257806383de570a146106cf57600080fd5b806370a0823114610601578063712a890a14610637578063715018a61461065757600080fd5b806366e930b31161028557806366e930b31461059f5780636b67c4df146105bf5780636c0a24eb146105d55780636c0cd64e146105eb57600080fd5b80634fef3a8214610431578063571ac8b01461055f578063658d4b7f1461057f57600080fd5b80632b112e49116103185780633b01a157116102f25780633b01a157146104c15780633e02a988146104f95780633f4218e01461050e5780634a74bb021461053e57600080fd5b80632b112e491461047b578063313ce5671461049057806333596f50146104ac57600080fd5b8063095ea7b311610354578063095ea7b314610401578063125b94e51461043157806318160ddd1461044657806323b872dd1461045b57600080fd5b806301339c21146103865780630445b6671461039d57806306fdde03146103c657600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5061039b610aaf565b005b3480156103a957600080fd5b506103b3601e5481565b6040519081526020015b60405180910390f35b3480156103d257600080fd5b50604080518082019091526009815268151dda59d9d95c995960ba1b60208201525b6040516103bd919061260f565b34801561040d57600080fd5b5061042161041c366004612672565b610b83565b60405190151581526020016103bd565b34801561043d57600080fd5b5061039b610bf0565b34801561045257600080fd5b506004546103b3565b34801561046757600080fd5b5061042161047636600461269e565b610c46565b34801561048757600080fd5b506103b3610d0b565b34801561049c57600080fd5b50604051601281526020016103bd565b3480156104b857600080fd5b5061039b610d5d565b3480156104cd57600080fd5b506017546104e1906001600160a01b031681565b6040516001600160a01b0390911681526020016103bd565b34801561050557600080fd5b506103b3610db6565b34801561051a57600080fd5b506104216105293660046126df565b600d6020526000908152604090205460ff1681565b34801561054a57600080fd5b50601b5461042190600160a81b900460ff1681565b34801561056b57600080fd5b5061042161057a3660046126df565b610dc8565b34801561058b57600080fd5b5061039b61059a36600461270a565b610dd6565b3480156105ab57600080fd5b5061039b6105ba3660046126df565b610e2b565b3480156105cb57600080fd5b506103b360115481565b3480156105e157600080fd5b506103b3601d5481565b3480156105f757600080fd5b506103b360125481565b34801561060d57600080fd5b506103b361061c3660046126df565b6001600160a01b031660009081526008602052604090205490565b34801561064357600080fd5b5061039b610652366004612743565b610e76565b34801561066357600080fd5b5061039b610ea5565b34801561067857600080fd5b506016546104e1906001600160a01b031681565b34801561069857600080fd5b506103b3601c5481565b3480156106ae57600080fd5b506103b36106bd3660046126df565b600b6020526000908152604090205481565b3480156106db57600080fd5b506104216106ea3660046126df565b600c6020526000908152604090205460ff1681565b34801561070b57600080fd5b506000546001600160a01b03166104e1565b34801561072957600080fd5b506104216107383660046126df565b600e6020526000908152604090205460ff1681565b34801561075957600080fd5b506103b360055481565b34801561076f57600080fd5b506103b360075481565b34801561078557600080fd5b506040805180820190915260098152681515d251d1d154915160ba1b60208201526103f4565b3480156107b757600080fd5b506103b360105481565b3480156107cd57600080fd5b5061039b6107dc3660046126df565b610edb565b3480156107ed57600080fd5b5061039b6107fc366004612743565b610f43565b34801561080d57600080fd5b5060185461042190600160a01b900460ff1681565b34801561082e57600080fd5b5061039b61083d36600461275c565b610f72565b34801561084e57600080fd5b506018546104e1906001600160a01b031681565b34801561086e57600080fd5b50601b546104e1906001600160a01b031681565b34801561088e57600080fd5b5061042161089d366004612672565b610fca565b3480156108ae57600080fd5b5061039b6108bd366004612743565b610fd7565b3480156108ce57600080fd5b506103b360065481565b3480156108e457600080fd5b506015546104e1906001600160a01b031681565b34801561090457600080fd5b5061039b61091336600461278a565b611064565b34801561092457600080fd5b506103b3601f5481565b34801561093a57600080fd5b506103b361094936600461275c565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561098057600080fd5b5061039b61098f366004612672565b611116565b3480156109a057600080fd5b5061039b6109af3660046127b6565b6111b6565b3480156109c057600080fd5b5061039b6109cf366004612743565b611202565b3480156109e057600080fd5b5061039b61128f565b3480156109f557600080fd5b5061039b610a043660046126df565b6112e2565b348015610a1557600080fd5b5061039b610a2436600461270a565b61137a565b348015610a3557600080fd5b50601a546104e1906001600160a01b031681565b348015610a5557600080fd5b506103b3610a643660046126df565b600a6020526000908152604090205481565b348015610a8257600080fd5b50610421610a913660046126df565b6001600160a01b03166000908152600f602052604090205460ff1690565b6000546001600160a01b03163314610ae25760405162461bcd60e51b8152600401610ad9906127d4565b60405180910390fd5b601854600160a01b900460ff1615610b2f5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610ad9565b6018805460ff60a01b1916600160a01b179055426019819055601654601780546001600160a01b0319166001600160a01b039092169190911790556000600581905560026010819055601155601255600655565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610bde9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610c1a5760405162461bcd60e51b8152600401610ad9906127d4565b60026010819055601181905560006012819055610c4191610c3b90806113cf565b906113cf565b601355565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610cf3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610cce91849061142e565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610cfe848484611468565b50600190505b9392505050565b6002546001600160a01b0316600090815260086020526040812054610d58906001546001600160a01b0316600090815260086020526040902054610d529060045490611854565b90611854565b905090565b6000546001600160a01b03163314610d875760405162461bcd60e51b8152600401610ad9906127d4565b60405133904780156108fc02916000818181858888f19350505050158015610db3573d6000803e3d6000fd5b50565b6000600754600654610d58919061281f565b6000610bea82600019610b83565b6000546001600160a01b03163314610e005760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e555760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b03163314610ea05760405162461bcd60e51b8152600401610ad9906127d4565b600755565b6000546001600160a01b03163314610ecf5760405162461bcd60e51b8152600401610ad9906127d4565b610ed96000611896565b565b6000546001600160a01b03163314610f055760405162461bcd60e51b8152600401610ad9906127d4565b601954610f1490612a3061281f565b4210610f1f57600080fd5b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b03163314610f6d5760405162461bcd60e51b8152600401610ad9906127d4565b601e55565b6000546001600160a01b03163314610f9c5760405162461bcd60e51b8152600401610ad9906127d4565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000610d04338484611468565b6000546001600160a01b031633146110015760405162461bcd60e51b8152600401610ad9906127d4565b600a6004546110109190612832565b81101561105f5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610ad9565b601c55565b6000546001600160a01b0316331461108e5760405162461bcd60e51b8152600401610ad9906127d4565b600a8311156110af5760405162461bcd60e51b8152600401610ad990612854565b600a8211156110d05760405162461bcd60e51b8152600401610ad990612854565b600a8111156110f15760405162461bcd60e51b8152600401610ad990612854565b60108390556011829055601281905561110e81610c3b85856113cf565b601355505050565b6000546001600160a01b031633146111405760405162461bcd60e51b8152600401610ad9906127d4565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190612879565b505050565b6000546001600160a01b031633146111e05760405162461bcd60e51b8152600401610ad9906127d4565b601b8054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000546001600160a01b0316331461122c5760405162461bcd60e51b8152600401610ad9906127d4565b603260045461123b9190612832565b81101561128a5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610ad9565b601d55565b6000546001600160a01b031633146112b95760405162461bcd60e51b8152600401610ad9906127d4565b601b805460ff60a81b19169055600019601c819055601d55600060118190556012819055601055565b6000546001600160a01b0316331461130c5760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b0381166113715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad9565b610db381611896565b6000546001600160a01b031633146113a45760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000806113dc838561281f565b905083811015610d045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ad9565b600081848411156114525760405162461bcd60e51b8152600401610ad9919061260f565b50600061145f8486612896565b95945050505050565b6001600160a01b0383166000908152600f602052604081205460ff1615156001148015906114b457506001600160a01b0383166000908152600f602052604090205460ff161515600114155b6114ee5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610ad9565b601b54600160a01b900460ff16156115125761150b8484846118e6565b9050610d04565b601b546001600160a01b031633148015906115375750601b54600160a01b900460ff16155b801561154c5750601b54600160a81b900460ff165b80156115695750601e543060009081526008602052604090205410155b15611576576115766119cc565b611581848484611e0d565b61158b84846123a2565b156115c65760405162461bcd60e51b815260206004820152600b60248201526a111bdb89dd0818da19585d60aa1b6044820152606401610ad9565b6001600160a01b0384166000908152600d602052604081205460ff1615801561160857506001600160a01b0384166000908152600d602052604090205460ff16155b611612578261161d565b61161d85858561242d565b601854909150600160a01b900460ff16151560011480159061164d5750601b546001600160a01b03858116911614155b801561166757506000546001600160a01b03868116911614155b801561168157506000546001600160a01b03858116911614155b156116ff576001600160a01b0384166000908152600860205260409020546116a990826113cf565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546116d89084611854565b6001600160a01b0386166000908152600860205260409020556116fa84610f1f565b611809565b6000546001600160a01b038681169116148061172857506000546001600160a01b038581169116145b1561179d576001600160a01b03841660009081526008602052604090205461175090826113cf565b6001600160a01b03808616600090815260086020526040808220939093559087168152205461177f9084611854565b6001600160a01b038616600090815260086020526040902055611809565b6001600160a01b0384166000908152600860205260409020546117c090826113cf565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546117ef9084611854565b6001600160a01b0386166000908152600860205260409020555b6040518181526001600160a01b0385169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b6000610d0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061142e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461193791849061142e565b6001600160a01b03808616600090815260086020526040808220939093559085168152205461196690836113cf565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119ba9086815260200190565b60405180910390a35060019392505050565b601b805460ff60a01b1916600160a01b179055601e54601354601054600091611a05916002916119ff91829087906124f0565b90612572565b90506000611a138383611854565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611a4d57611a4d6128bf565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aca91906128d5565b81600181518110611add57611add6128bf565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b815291169063791ac94790611b23908590600090869030904290600401612936565b600060405180830381600087803b158015611b3d57600080fd5b505af1158015611b51573d6000803e3d6000fd5b505060105447925060009150611b7590611b6c906002612572565b60135490611854565b90506000611b92826119ff601154866124f090919063ffffffff16565b90506000611baf836119ff601254876124f090919063ffffffff16565b90506000611bd160026119ff866119ff6010548a6124f090919063ffffffff16565b6016546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611c28576040519150601f19603f3d011682016040523d82523d6000602084013e611c2d565b606091505b50506017546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611c86576040519150601f19603f3d011682016040523d82523d6000602084013e611c8b565b606091505b5050601780546001600160a01b039081166000908152600b602090815260408083208a9055845484168352600c8252808320805460ff19166001179055845484168352600a82529182902042905592548151921682529181018790529192507f7e1b91090974f99ff863df0f31147c10b81b1693e8c646cfdc1b97a5d6283b11910160405180910390a15060009050808915611df357601a5460155460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611d91573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611db69190612972565b505060408051858152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601b805460ff60a01b19169055505050505050505050565b600754600654611e1d9042612896565b1115611e2b57611e2b6125b4565b6000546001600160a01b03848116911614801590611e5757506000546001600160a01b03838116911614155b8015611e7c57506001600160a01b0382166000908152600e602052604090205460ff16155b8015611e9657506002546001600160a01b03838116911614155b8015611eb057506001546001600160a01b03838116911614155b8015611eca5750601b546001600160a01b03838116911614155b8015611edf57506001600160a01b0382163014155b1561227b57601c54811115611f1f5760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610ad9565b6001600160a01b038216600090815260086020526040902054601d54611f45838361281f565b1115611f9f5760405162461bcd60e51b815260206004820152602360248201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152621d5b9d60ea1b6064820152608401610ad9565b6040805160028082526060820183526000926020830190803683375050601a54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015612009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202d91906128d5565b81600081518110612040576120406128bf565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110612074576120746128bf565b6001600160a01b039283166020918202929092010152601a546040516307c0329d60e21b81526000929190911690631f00ca74906120b890879086906004016129a0565b600060405180830381865afa1580156120d5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120fd91908101906129c1565b60008151811061210f5761210f6128bf565b6020908102919091018101516001600160a01b0387166000908152600c90925260409091205490915060ff161515600114801561217057506001600160a01b0385166000908152600a6020526040902054429061216e90610e1061281f565b105b801561217d575060055481115b156121e757601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a1612277565b6001600160a01b0385166000908152600c602052604090205460ff16158015612211575060055481115b1561227757601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a15b5050505b6000546001600160a01b038481169116148015906122a757506000546001600160a01b03838116911614155b80156122cc57506001600160a01b0383166000908152600e602052604090205460ff16155b80156122e65750601b546001600160a01b03848116911614155b80156122fb57506001600160a01b0382163014155b156111b157601c5481111561233b5760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610ad9565b6017546001600160a01b038085169116036111b157601754600554604080516001600160a01b03909316835260208301919091527f83a0fa64f7ae8557922f3732336a8b1e5885999f44e7422b63cd0a5aae62cf29910160405180910390a16111b16125b4565b6001600160a01b0382166000908152600d602052604081205460ff16806123e157506001600160a01b0382166000908152600d602052604090205460ff165b156123ee57506000610bea565b601b546001600160a01b03848116911614806124175750601b546001600160a01b038381169116145b1561242457506000610bea565b50600192915050565b601b5460009081906001600160a01b0385811691161461244f57601354612453565b6014545b9050600061246660646119ff86856124f0565b3060009081526008602052604090205490915061248390826113cf565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906124d49085815260200190565b60405180910390a36124e68482611854565b9695505050505050565b60008260000361250257506000610bea565b600061250e8385612a7f565b90508261251b8583612832565b14610d045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ad9565b6000610d0483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125e1565b601654601780546001600160a01b0319166001600160a01b03909216919091179055600060055542600655565b600081836126025760405162461bcd60e51b8152600401610ad9919061260f565b50600061145f8486612832565b600060208083528351808285015260005b8181101561263c57858101830151858201604001528201612620565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610db357600080fd5b6000806040838503121561268557600080fd5b82356126908161265d565b946020939093013593505050565b6000806000606084860312156126b357600080fd5b83356126be8161265d565b925060208401356126ce8161265d565b929592945050506040919091013590565b6000602082840312156126f157600080fd5b8135610d048161265d565b8015158114610db357600080fd5b6000806040838503121561271d57600080fd5b82356127288161265d565b91506020830135612738816126fc565b809150509250929050565b60006020828403121561275557600080fd5b5035919050565b6000806040838503121561276f57600080fd5b823561277a8161265d565b915060208301356127388161265d565b60008060006060848603121561279f57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156127c957600080fd5b8235612690816126fc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bea57610bea612809565b60008261284f57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600b908201526a496e76616c69642066656560a81b604082015260600190565b60006020828403121561288b57600080fd5b8151610d04816126fc565b81810381811115610bea57610bea612809565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156128e757600080fd5b8151610d048161265d565b600081518084526020808501945080840160005b8381101561292b5781516001600160a01b031687529582019590820190600101612906565b509495945050505050565b85815284602082015260a06040820152600061295560a08301866128f2565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561298757600080fd5b8351925060208401519150604084015190509250925092565b8281526040602082015260006129b960408301846128f2565b949350505050565b600060208083850312156129d457600080fd5b825167ffffffffffffffff808211156129ec57600080fd5b818501915085601f830112612a0057600080fd5b815181811115612a1257612a126128a9565b8060051b604051601f19603f83011681018181108582111715612a3757612a376128a9565b604052918252848201925083810185019188831115612a5557600080fd5b938501935b82851015612a7357845184529385019392850192612a5a565b98975050505050505050565b8082028115828204841417610bea57610bea61280956fea2646970667358221220e04aa2436f949edd410076c350e4a280e209d3ff6b5d23163fa306390bcfcc8f64736f6c63430008110033
Deployed Bytecode
0x60806040526004361061037a5760003560e01c8063893d20e8116101d1578063a9e59da311610102578063df20fd49116100a0578063f84ba65d1161006f578063f84ba65d14610a09578063f887ea4014610a29578063fb02195914610a49578063fe575a8714610a7657600080fd5b8063df20fd4914610994578063ea1644d5146109b4578063eb45e709146109d4578063f2fde38b146109e957600080fd5b8063cec10c11116100dc578063cec10c11146108f8578063dbe1c4d514610918578063dd62ed3e1461092e578063dec2ba0f1461097457600080fd5b8063a9e59da3146108a2578063b898a715146108c2578063ca33e64c146108d857600080fd5b80639cfe42da1161016f578063a4b45c0011610149578063a4b45c0014610822578063a617792814610842578063a8aa1b3114610862578063a9059cbb1461088257600080fd5b80639cfe42da146107c15780639d0014b1146107e15780639e0a78101461080157600080fd5b80638eb6889f116101ab5780638eb6889f1461074d578063944c1d971461076357806395d89b411461077957806398118cb4146107ab57600080fd5b8063893d20e8146106ff5780638b42507f1461071d5780638da5cb5b146106ff57600080fd5b80634fef3a82116102ab57806370a082311161024957806375f0a8741161022357806375f0a8741461066c5780637d1db4a51461068c5780637de4c778146106a257806383de570a146106cf57600080fd5b806370a0823114610601578063712a890a14610637578063715018a61461065757600080fd5b806366e930b31161028557806366e930b31461059f5780636b67c4df146105bf5780636c0a24eb146105d55780636c0cd64e146105eb57600080fd5b80634fef3a8214610431578063571ac8b01461055f578063658d4b7f1461057f57600080fd5b80632b112e49116103185780633b01a157116102f25780633b01a157146104c15780633e02a988146104f95780633f4218e01461050e5780634a74bb021461053e57600080fd5b80632b112e491461047b578063313ce5671461049057806333596f50146104ac57600080fd5b8063095ea7b311610354578063095ea7b314610401578063125b94e51461043157806318160ddd1461044657806323b872dd1461045b57600080fd5b806301339c21146103865780630445b6671461039d57806306fdde03146103c657600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5061039b610aaf565b005b3480156103a957600080fd5b506103b3601e5481565b6040519081526020015b60405180910390f35b3480156103d257600080fd5b50604080518082019091526009815268151dda59d9d95c995960ba1b60208201525b6040516103bd919061260f565b34801561040d57600080fd5b5061042161041c366004612672565b610b83565b60405190151581526020016103bd565b34801561043d57600080fd5b5061039b610bf0565b34801561045257600080fd5b506004546103b3565b34801561046757600080fd5b5061042161047636600461269e565b610c46565b34801561048757600080fd5b506103b3610d0b565b34801561049c57600080fd5b50604051601281526020016103bd565b3480156104b857600080fd5b5061039b610d5d565b3480156104cd57600080fd5b506017546104e1906001600160a01b031681565b6040516001600160a01b0390911681526020016103bd565b34801561050557600080fd5b506103b3610db6565b34801561051a57600080fd5b506104216105293660046126df565b600d6020526000908152604090205460ff1681565b34801561054a57600080fd5b50601b5461042190600160a81b900460ff1681565b34801561056b57600080fd5b5061042161057a3660046126df565b610dc8565b34801561058b57600080fd5b5061039b61059a36600461270a565b610dd6565b3480156105ab57600080fd5b5061039b6105ba3660046126df565b610e2b565b3480156105cb57600080fd5b506103b360115481565b3480156105e157600080fd5b506103b3601d5481565b3480156105f757600080fd5b506103b360125481565b34801561060d57600080fd5b506103b361061c3660046126df565b6001600160a01b031660009081526008602052604090205490565b34801561064357600080fd5b5061039b610652366004612743565b610e76565b34801561066357600080fd5b5061039b610ea5565b34801561067857600080fd5b506016546104e1906001600160a01b031681565b34801561069857600080fd5b506103b3601c5481565b3480156106ae57600080fd5b506103b36106bd3660046126df565b600b6020526000908152604090205481565b3480156106db57600080fd5b506104216106ea3660046126df565b600c6020526000908152604090205460ff1681565b34801561070b57600080fd5b506000546001600160a01b03166104e1565b34801561072957600080fd5b506104216107383660046126df565b600e6020526000908152604090205460ff1681565b34801561075957600080fd5b506103b360055481565b34801561076f57600080fd5b506103b360075481565b34801561078557600080fd5b506040805180820190915260098152681515d251d1d154915160ba1b60208201526103f4565b3480156107b757600080fd5b506103b360105481565b3480156107cd57600080fd5b5061039b6107dc3660046126df565b610edb565b3480156107ed57600080fd5b5061039b6107fc366004612743565b610f43565b34801561080d57600080fd5b5060185461042190600160a01b900460ff1681565b34801561082e57600080fd5b5061039b61083d36600461275c565b610f72565b34801561084e57600080fd5b506018546104e1906001600160a01b031681565b34801561086e57600080fd5b50601b546104e1906001600160a01b031681565b34801561088e57600080fd5b5061042161089d366004612672565b610fca565b3480156108ae57600080fd5b5061039b6108bd366004612743565b610fd7565b3480156108ce57600080fd5b506103b360065481565b3480156108e457600080fd5b506015546104e1906001600160a01b031681565b34801561090457600080fd5b5061039b61091336600461278a565b611064565b34801561092457600080fd5b506103b3601f5481565b34801561093a57600080fd5b506103b361094936600461275c565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561098057600080fd5b5061039b61098f366004612672565b611116565b3480156109a057600080fd5b5061039b6109af3660046127b6565b6111b6565b3480156109c057600080fd5b5061039b6109cf366004612743565b611202565b3480156109e057600080fd5b5061039b61128f565b3480156109f557600080fd5b5061039b610a043660046126df565b6112e2565b348015610a1557600080fd5b5061039b610a2436600461270a565b61137a565b348015610a3557600080fd5b50601a546104e1906001600160a01b031681565b348015610a5557600080fd5b506103b3610a643660046126df565b600a6020526000908152604090205481565b348015610a8257600080fd5b50610421610a913660046126df565b6001600160a01b03166000908152600f602052604090205460ff1690565b6000546001600160a01b03163314610ae25760405162461bcd60e51b8152600401610ad9906127d4565b60405180910390fd5b601854600160a01b900460ff1615610b2f5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610ad9565b6018805460ff60a01b1916600160a01b179055426019819055601654601780546001600160a01b0319166001600160a01b039092169190911790556000600581905560026010819055601155601255600655565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610bde9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610c1a5760405162461bcd60e51b8152600401610ad9906127d4565b60026010819055601181905560006012819055610c4191610c3b90806113cf565b906113cf565b601355565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610cf3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610cce91849061142e565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610cfe848484611468565b50600190505b9392505050565b6002546001600160a01b0316600090815260086020526040812054610d58906001546001600160a01b0316600090815260086020526040902054610d529060045490611854565b90611854565b905090565b6000546001600160a01b03163314610d875760405162461bcd60e51b8152600401610ad9906127d4565b60405133904780156108fc02916000818181858888f19350505050158015610db3573d6000803e3d6000fd5b50565b6000600754600654610d58919061281f565b6000610bea82600019610b83565b6000546001600160a01b03163314610e005760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e555760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b03163314610ea05760405162461bcd60e51b8152600401610ad9906127d4565b600755565b6000546001600160a01b03163314610ecf5760405162461bcd60e51b8152600401610ad9906127d4565b610ed96000611896565b565b6000546001600160a01b03163314610f055760405162461bcd60e51b8152600401610ad9906127d4565b601954610f1490612a3061281f565b4210610f1f57600080fd5b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b03163314610f6d5760405162461bcd60e51b8152600401610ad9906127d4565b601e55565b6000546001600160a01b03163314610f9c5760405162461bcd60e51b8152600401610ad9906127d4565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000610d04338484611468565b6000546001600160a01b031633146110015760405162461bcd60e51b8152600401610ad9906127d4565b600a6004546110109190612832565b81101561105f5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610ad9565b601c55565b6000546001600160a01b0316331461108e5760405162461bcd60e51b8152600401610ad9906127d4565b600a8311156110af5760405162461bcd60e51b8152600401610ad990612854565b600a8211156110d05760405162461bcd60e51b8152600401610ad990612854565b600a8111156110f15760405162461bcd60e51b8152600401610ad990612854565b60108390556011829055601281905561110e81610c3b85856113cf565b601355505050565b6000546001600160a01b031633146111405760405162461bcd60e51b8152600401610ad9906127d4565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190612879565b505050565b6000546001600160a01b031633146111e05760405162461bcd60e51b8152600401610ad9906127d4565b601b8054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000546001600160a01b0316331461122c5760405162461bcd60e51b8152600401610ad9906127d4565b603260045461123b9190612832565b81101561128a5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610ad9565b601d55565b6000546001600160a01b031633146112b95760405162461bcd60e51b8152600401610ad9906127d4565b601b805460ff60a81b19169055600019601c819055601d55600060118190556012819055601055565b6000546001600160a01b0316331461130c5760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b0381166113715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad9565b610db381611896565b6000546001600160a01b031633146113a45760405162461bcd60e51b8152600401610ad9906127d4565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000806113dc838561281f565b905083811015610d045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ad9565b600081848411156114525760405162461bcd60e51b8152600401610ad9919061260f565b50600061145f8486612896565b95945050505050565b6001600160a01b0383166000908152600f602052604081205460ff1615156001148015906114b457506001600160a01b0383166000908152600f602052604090205460ff161515600114155b6114ee5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610ad9565b601b54600160a01b900460ff16156115125761150b8484846118e6565b9050610d04565b601b546001600160a01b031633148015906115375750601b54600160a01b900460ff16155b801561154c5750601b54600160a81b900460ff165b80156115695750601e543060009081526008602052604090205410155b15611576576115766119cc565b611581848484611e0d565b61158b84846123a2565b156115c65760405162461bcd60e51b815260206004820152600b60248201526a111bdb89dd0818da19585d60aa1b6044820152606401610ad9565b6001600160a01b0384166000908152600d602052604081205460ff1615801561160857506001600160a01b0384166000908152600d602052604090205460ff16155b611612578261161d565b61161d85858561242d565b601854909150600160a01b900460ff16151560011480159061164d5750601b546001600160a01b03858116911614155b801561166757506000546001600160a01b03868116911614155b801561168157506000546001600160a01b03858116911614155b156116ff576001600160a01b0384166000908152600860205260409020546116a990826113cf565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546116d89084611854565b6001600160a01b0386166000908152600860205260409020556116fa84610f1f565b611809565b6000546001600160a01b038681169116148061172857506000546001600160a01b038581169116145b1561179d576001600160a01b03841660009081526008602052604090205461175090826113cf565b6001600160a01b03808616600090815260086020526040808220939093559087168152205461177f9084611854565b6001600160a01b038616600090815260086020526040902055611809565b6001600160a01b0384166000908152600860205260409020546117c090826113cf565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546117ef9084611854565b6001600160a01b0386166000908152600860205260409020555b6040518181526001600160a01b0385169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b6000610d0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061142e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461193791849061142e565b6001600160a01b03808616600090815260086020526040808220939093559085168152205461196690836113cf565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119ba9086815260200190565b60405180910390a35060019392505050565b601b805460ff60a01b1916600160a01b179055601e54601354601054600091611a05916002916119ff91829087906124f0565b90612572565b90506000611a138383611854565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611a4d57611a4d6128bf565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aca91906128d5565b81600181518110611add57611add6128bf565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b815291169063791ac94790611b23908590600090869030904290600401612936565b600060405180830381600087803b158015611b3d57600080fd5b505af1158015611b51573d6000803e3d6000fd5b505060105447925060009150611b7590611b6c906002612572565b60135490611854565b90506000611b92826119ff601154866124f090919063ffffffff16565b90506000611baf836119ff601254876124f090919063ffffffff16565b90506000611bd160026119ff866119ff6010548a6124f090919063ffffffff16565b6016546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611c28576040519150601f19603f3d011682016040523d82523d6000602084013e611c2d565b606091505b50506017546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611c86576040519150601f19603f3d011682016040523d82523d6000602084013e611c8b565b606091505b5050601780546001600160a01b039081166000908152600b602090815260408083208a9055845484168352600c8252808320805460ff19166001179055845484168352600a82529182902042905592548151921682529181018790529192507f7e1b91090974f99ff863df0f31147c10b81b1693e8c646cfdc1b97a5d6283b11910160405180910390a15060009050808915611df357601a5460155460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611d91573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611db69190612972565b505060408051858152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601b805460ff60a01b19169055505050505050505050565b600754600654611e1d9042612896565b1115611e2b57611e2b6125b4565b6000546001600160a01b03848116911614801590611e5757506000546001600160a01b03838116911614155b8015611e7c57506001600160a01b0382166000908152600e602052604090205460ff16155b8015611e9657506002546001600160a01b03838116911614155b8015611eb057506001546001600160a01b03838116911614155b8015611eca5750601b546001600160a01b03838116911614155b8015611edf57506001600160a01b0382163014155b1561227b57601c54811115611f1f5760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610ad9565b6001600160a01b038216600090815260086020526040902054601d54611f45838361281f565b1115611f9f5760405162461bcd60e51b815260206004820152602360248201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152621d5b9d60ea1b6064820152608401610ad9565b6040805160028082526060820183526000926020830190803683375050601a54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015612009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202d91906128d5565b81600081518110612040576120406128bf565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110612074576120746128bf565b6001600160a01b039283166020918202929092010152601a546040516307c0329d60e21b81526000929190911690631f00ca74906120b890879086906004016129a0565b600060405180830381865afa1580156120d5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120fd91908101906129c1565b60008151811061210f5761210f6128bf565b6020908102919091018101516001600160a01b0387166000908152600c90925260409091205490915060ff161515600114801561217057506001600160a01b0385166000908152600a6020526040902054429061216e90610e1061281f565b105b801561217d575060055481115b156121e757601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a1612277565b6001600160a01b0385166000908152600c602052604090205460ff16158015612211575060055481115b1561227757601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a15b5050505b6000546001600160a01b038481169116148015906122a757506000546001600160a01b03838116911614155b80156122cc57506001600160a01b0383166000908152600e602052604090205460ff16155b80156122e65750601b546001600160a01b03848116911614155b80156122fb57506001600160a01b0382163014155b156111b157601c5481111561233b5760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610ad9565b6017546001600160a01b038085169116036111b157601754600554604080516001600160a01b03909316835260208301919091527f83a0fa64f7ae8557922f3732336a8b1e5885999f44e7422b63cd0a5aae62cf29910160405180910390a16111b16125b4565b6001600160a01b0382166000908152600d602052604081205460ff16806123e157506001600160a01b0382166000908152600d602052604090205460ff165b156123ee57506000610bea565b601b546001600160a01b03848116911614806124175750601b546001600160a01b038381169116145b1561242457506000610bea565b50600192915050565b601b5460009081906001600160a01b0385811691161461244f57601354612453565b6014545b9050600061246660646119ff86856124f0565b3060009081526008602052604090205490915061248390826113cf565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906124d49085815260200190565b60405180910390a36124e68482611854565b9695505050505050565b60008260000361250257506000610bea565b600061250e8385612a7f565b90508261251b8583612832565b14610d045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ad9565b6000610d0483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125e1565b601654601780546001600160a01b0319166001600160a01b03909216919091179055600060055542600655565b600081836126025760405162461bcd60e51b8152600401610ad9919061260f565b50600061145f8486612832565b600060208083528351808285015260005b8181101561263c57858101830151858201604001528201612620565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610db357600080fd5b6000806040838503121561268557600080fd5b82356126908161265d565b946020939093013593505050565b6000806000606084860312156126b357600080fd5b83356126be8161265d565b925060208401356126ce8161265d565b929592945050506040919091013590565b6000602082840312156126f157600080fd5b8135610d048161265d565b8015158114610db357600080fd5b6000806040838503121561271d57600080fd5b82356127288161265d565b91506020830135612738816126fc565b809150509250929050565b60006020828403121561275557600080fd5b5035919050565b6000806040838503121561276f57600080fd5b823561277a8161265d565b915060208301356127388161265d565b60008060006060848603121561279f57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156127c957600080fd5b8235612690816126fc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bea57610bea612809565b60008261284f57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600b908201526a496e76616c69642066656560a81b604082015260600190565b60006020828403121561288b57600080fd5b8151610d04816126fc565b81810381811115610bea57610bea612809565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156128e757600080fd5b8151610d048161265d565b600081518084526020808501945080840160005b8381101561292b5781516001600160a01b031687529582019590820190600101612906565b509495945050505050565b85815284602082015260a06040820152600061295560a08301866128f2565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561298757600080fd5b8351925060208401519150604084015190509250925092565b8281526040602082015260006129b960408301846128f2565b949350505050565b600060208083850312156129d457600080fd5b825167ffffffffffffffff808211156129ec57600080fd5b818501915085601f830112612a0057600080fd5b815181811115612a1257612a126128a9565b8060051b604051601f19603f83011681018181108582111715612a3757612a376128a9565b604052918252848201925083810185019188831115612a5557600080fd5b938501935b82851015612a7357845184529385019392850192612a5a565b98975050505050505050565b8082028115828204841417610bea57610bea61280956fea2646970667358221220e04aa2436f949edd410076c350e4a280e209d3ff6b5d23163fa306390bcfcc8f64736f6c63430008110033
Deployed Bytecode Sourcemap
8288:16293:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15089:355;;;;;;;;;;;;;:::i;:::-;;10010:49;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;10010:49:0;;;;;;;;11325:94;;;;;;;;;;-1:-1:-1;11406:5:0;;;;;;;;;;;;-1:-1:-1;;;11406:5:0;;;;11325:94;;;;;;;:::i;13234:248::-;;;;;;;;;;-1:-1:-1;13234:248:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;13234:248:0;1205:187:1;14879:202:0;;;;;;;;;;;;;:::i;11737:102::-;;;;;;;;;;-1:-1:-1;11819:12:0;;11737:102;;18845:423;;;;;;;;;;-1:-1:-1;18845:423:0;;;;;:::i;:::-;;:::i;11847:142::-;;;;;;;;;;;;;:::i;11533:94::-;;;;;;;;;;-1:-1:-1;11533:94:0;;8481:2;2000:36:1;;1988:2;1973:18;11533:94:0;1858:184:1;24290:115:0;;;;;;;;;;;;;:::i;9638:20::-;;;;;;;;;;-1:-1:-1;9638:20:0;;;;-1:-1:-1;;;;;9638:20:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;9638:20:0;2047:203:1;14552:109:0;;;;;;;;;;;;;:::i;9156:43::-;;;;;;;;;;-1:-1:-1;9156:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9856:40;;;;;;;;;;-1:-1:-1;9856:40:0;;;;-1:-1:-1;;;9856:40:0;;;;;;13490:108;;;;;;;;;;-1:-1:-1;13490:108:0;;;;;:::i;:::-;;:::i;13606:119::-;;;;;;;;;;-1:-1:-1;13606:119:0;;;;;:::i;:::-;;:::i;16006:106::-;;;;;;;;;;-1:-1:-1;16006:106:0;;;;;:::i;:::-;;:::i;9407:31::-;;;;;;;;;;;;;;;;9952:51;;;;;;;;;;;;;;;;9445:27;;;;;;;;;;;;;;;;11997:119;;;;;;;;;;-1:-1:-1;11997:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;12090:18:0;12063:7;12090:18;;;:9;:18;;;;;;;11997:119;14252:146;;;;;;;;;;-1:-1:-1;14252:146:0;;;;;:::i;:::-;;:::i;7541:94::-;;;;;;;;;;;;;:::i;9601:30::-;;;;;;;;;;-1:-1:-1;9601:30:0;;;;-1:-1:-1;;;;;9601:30:0;;;9903:42;;;;;;;;;;;;;;;;9049;;;;;;;;;;-1:-1:-1;9049:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;9098:51;;;;;;;;;;-1:-1:-1;9098:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11635:94;;;;;;;;;;-1:-1:-1;11687:7:0;6963:6;-1:-1:-1;;;;;6963:6:0;11635:94;11847:142;9206:47;;;;;;;;;;-1:-1:-1;9206:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8759:29;;;;;;;;;;;;;;;;8836:39;;;;;;;;;;;;;;;;11427:98;;;;;;;;;;-1:-1:-1;11510:7:0;;;;;;;;;;;;-1:-1:-1;;;11510:7:0;;;;11427:98;;9369:31;;;;;;;;;;;;;;;;15832:166;;;;;;;;;;-1:-1:-1;15832:166:0;;;;;:::i;:::-;;:::i;13891:108::-;;;;;;;;;;-1:-1:-1;13891:108:0;;;;;:::i;:::-;;:::i;9703:31::-;;;;;;;;;;-1:-1:-1;9703:31:0;;;;-1:-1:-1;;;9703:31:0;;;;;;14007:237;;;;;;;;;;-1:-1:-1;14007:237:0;;;;;:::i;:::-;;:::i;9665:29::-;;;;;;;;;;-1:-1:-1;9665:29:0;;;;-1:-1:-1;;;;;9665:29:0;;;9800:19;;;;;;;;;;-1:-1:-1;9800:19:0;;;;-1:-1:-1;;;;;9800:19:0;;;18649:188;;;;;;;;;;-1:-1:-1;18649:188:0;;;;;:::i;:::-;;:::i;15642:182::-;;;;;;;;;;-1:-1:-1;15642:182:0;;;;;:::i;:::-;;:::i;8795:34::-;;;;;;;;;;;;;;;;9558:36;;;;;;;;;;-1:-1:-1;9558:36:0;;;;-1:-1:-1;;;;;9558:36:0;;;12351:679;;;;;;;;;;-1:-1:-1;12351:679:0;;;;;:::i;:::-;;:::i;10066:29::-;;;;;;;;;;;;;;;;13038:188;;;;;;;;;;-1:-1:-1;13038:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;13190:19:0;;;13158:7;13190:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;13038:188;24413:165;;;;;;;;;;-1:-1:-1;24413:165:0;;;;;:::i;:::-;;:::i;18423:218::-;;;;;;;;;;-1:-1:-1;18423:218:0;;;;;:::i;:::-;;:::i;15452:182::-;;;;;;;;;;-1:-1:-1;15452:182:0;;;;;:::i;:::-;;:::i;12124:219::-;;;;;;;;;;;;;:::i;7790:192::-;;;;;;;;;;-1:-1:-1;7790:192:0;;;;;:::i;:::-;;:::i;13733:150::-;;;;;;;;;;-1:-1:-1;13733:150:0;;;;;:::i;:::-;;:::i;9769:24::-;;;;;;;;;;-1:-1:-1;9769:24:0;;;;-1:-1:-1;;;;;9769:24:0;;;8992:50;;;;;;;;;;-1:-1:-1;8992:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;16120:120;;;;;;;;;;-1:-1:-1;16120:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;16207:25:0;16183:4;16207:25;;;:16;:25;;;;;;;;;16120:120;15089:355;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;;;;;;;;;15146:11:::1;::::0;-1:-1:-1;;;15146:11:0;::::1;;;:20;15137:50;;;::::0;-1:-1:-1;;;15137:50:0;;5019:2:1;15137:50:0::1;::::0;::::1;5001:21:1::0;5058:2;5038:18;;;5031:30;-1:-1:-1;;;5077:18:1;;;5070:46;5133:18;;15137:50:0::1;4817:340:1::0;15137:50:0::1;15198:11;:18:::0;;-1:-1:-1;;;;15198:18:0::1;-1:-1:-1::0;;;15198:18:0::1;::::0;;15241:15:::1;15227:11;:29:::0;;;15275:15:::1;::::0;15267:5:::1;:23:::0;;-1:-1:-1;;;;;;15267:23:0::1;-1:-1:-1::0;;;;;15275:15:0;;::::1;15267:23:::0;;;::::1;::::0;;15198:18;15301:10:::1;:14:::0;;;-1:-1:-1;15326:12:0::1;:16:::0;;;-1:-1:-1;15353:16:0;-1:-1:-1;15380:12:0;-1:-1:-1;15403:33:0;15089:355::o;13234:248::-;13370:10;13336:4;13358:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;13358:32:0;;;;;;;;;;:41;;;13415:37;13336:4;;13358:32;;13415:37;;;;13393:6;160:25:1;;148:2;133:18;;14:177;13415:37:0;;;;;;;;-1:-1:-1;13470:4:0;13234:248;;;;;:::o;14879:202::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;14956:1:::1;14941:12;:16:::0;;;14968:12:::1;:16:::0;;;-1:-1:-1;14995:8:0::1;:12:::0;;;15029:44:::1;::::0;:30:::1;::::0;14956:1;15029:16:::1;:30::i;:::-;:34:::0;::::1;:44::i;:::-;15018:8;:55:::0;14879:202::o;18845:423::-;-1:-1:-1;;;;;19000:19:0;;18979:4;19000:19;;;:11;:19;;;;;;;;19020:10;19000:31;;;;;;;;-1:-1:-1;;19000:38:0;18996:192;;19089:87;;;;;;;;;;;-1:-1:-1;;;19089:87:0;;;;;;;;-1:-1:-1;;;;;19089:19:0;;-1:-1:-1;19089:19:0;;;:11;:19;;;;;19109:10;19089:31;;;;;;;;;;:87;;19143:6;;19089:53;:87::i;:::-;-1:-1:-1;;;;;19055:19:0;;;;;;:11;:19;;;;;;;;19075:10;19055:31;;;;;;;:121;18996:192;19198:40;19212:6;19220:9;19231:6;19198:13;:40::i;:::-;;19256:4;19249:11;;18845:423;;;;;;:::o;11847:142::-;11975:4;;-1:-1:-1;;;;;11975:4:0;11900:7;12090:18;;;:9;:18;;;;;;11927:54;;11954:4;;-1:-1:-1;;;;;11954:4:0;12063:7;12090:18;;;:9;:18;;;;;;11927:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;11920:61;;11847:142;:::o;24290:115::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;24346:51:::1;::::0;24354:10:::1;::::0;24375:21:::1;24346:51:::0;::::1;;;::::0;::::1;::::0;;;24375:21;24354:10;24346:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;24290:115::o:0;14552:109::-;14597:7;14642:11;;14624:15;;:29;;;;:::i;13490:108::-;13545:4;13569:21;13577:7;-1:-1:-1;;13569:7:0;:21::i;13606:119::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13689:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;13689:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13606:119::o;16006:106::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16076:22:0::1;16099:5;16076:22:::0;;;:16:::1;:22;::::0;;;;:28;;-1:-1:-1;;16076:28:0::1;::::0;;16006:106::o;14252:146::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;14362:11:::1;:28:::0;14252:146::o;7541:94::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;7606:21:::1;7624:1;7606:9;:21::i;:::-;7541:94::o:0;15832:166::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;15924:11:::1;::::0;:25:::1;::::0;15938:11:::1;15924:25;:::i;:::-;15906:15;:43;15898:52;;;::::0;::::1;;-1:-1:-1::0;;;;;15961:22:0::1;;::::0;;;:16:::1;:22;::::0;;;;:27;;-1:-1:-1;;15961:27:0::1;15984:4;15961:27;::::0;;15832:166::o;13891:108::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;13966:13:::1;:25:::0;13891:108::o;14007:237::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;14145:21:::1;:44:::0;;-1:-1:-1;;;;;14145:44:0;;::::1;-1:-1:-1::0;;;;;;14145:44:0;;::::1;;::::0;;;14200:15:::1;:36:::0;;;;;::::1;::::0;::::1;;::::0;;14007:237::o;18649:188::-;18756:4;18785:44;18799:10;18811:9;18822:6;18785:13;:44::i;15642:182::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;15749:2:::1;15735:12;;:16;;;;:::i;:::-;15727:6;:24;;15719:63;;;::::0;-1:-1:-1;;;15719:63:0;;5848:2:1;15719:63:0::1;::::0;::::1;5830:21:1::0;5887:2;5867:18;;;5860:30;5926:28;5906:18;;;5899:56;5972:18;;15719:63:0::1;5646:350:1::0;15719:63:0::1;15793:12;:21:::0;15642:182::o;12351:679::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;12568:2:::1;12549:15;:21;;12503:106;;;;-1:-1:-1::0;;;12503:106:0::1;;;;;;;:::i;:::-;12687:2;12668:15;:21;;12622:106;;;;-1:-1:-1::0;;;12622:106:0::1;;;;;;;:::i;:::-;12798:2;12783:11;:17;;12741:98;;;;-1:-1:-1::0;;;12741:98:0::1;;;;;;;:::i;:::-;12852:12;:30:::0;;;12893:12:::1;:30:::0;;;12934:8:::1;:22:::0;;;12978:44:::1;12945:11:::0;12978:30:::1;12867:15:::0;12908;12978:16:::1;:30::i;:44::-;12967:8;:55:::0;-1:-1:-1;;;12351:679:0:o;24413:165::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;24526:44:::1;::::0;-1:-1:-1;;;24526:44:0;;24550:10:::1;24526:44;::::0;::::1;6515:51:1::0;6582:18;;;6575:34;;;-1:-1:-1;;;;;24526:23:0;::::1;::::0;::::1;::::0;6488:18:1;;24526:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24413:165:::0;;:::o;18423:218::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;18552:21:::1;:38:::0;;;::::1;;-1:-1:-1::0;;;18552:38:0::1;-1:-1:-1::0;;;;18552:38:0;;::::1;::::0;;;::::1;::::0;;;18601:13:::1;:32:::0;18423:218::o;15452:182::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;15555:2:::1;15540:12;;:17;;;;:::i;:::-;15532:6;:25;;15524:64;;;::::0;-1:-1:-1;;;15524:64:0;;5848:2:1;15524:64:0::1;::::0;::::1;5830:21:1::0;5887:2;5867:18;;;5860:30;5926:28;5906:18;;;5899:56;5972:18;;15524:64:0::1;5646:350:1::0;15524:64:0::1;15599:16;:25:::0;15452:182::o;12124:219::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;12179:21:::1;:27:::0;;-1:-1:-1;;;;12179:27:0::1;::::0;;-1:-1:-1;;12217:12:0::1;:16:::0;;;12244::::1;:20:::0;12201:5:::1;12275:12;:14:::0;;;12300:8:::1;:10:::0;;;12321:12:::1;:14:::0;12124:219::o;7790:192::-;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7879:22:0;::::1;7871:73;;;::::0;-1:-1:-1;;;7871:73:0;;7072:2:1;7871:73:0::1;::::0;::::1;7054:21:1::0;7111:2;7091:18;;;7084:30;7150:34;7130:18;;;7123:62;-1:-1:-1;;;7201:18:1;;;7194:36;7247:19;;7871:73:0::1;6870:402:1::0;7871:73:0::1;7955:19;7965:8;7955:9;:19::i;13733:150::-:0;6936:7;6963:6;-1:-1:-1;;;;;6963:6:0;5846:10;7110:23;7102:68;;;;-1:-1:-1;;;7102:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13843:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;13843:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13733:150::o;1642:179::-;1700:7;;1732:5;1736:1;1732;:5;:::i;:::-;1720:17;;1761:1;1756;:6;;1748:46;;;;-1:-1:-1;;;1748:46:0;;7479:2:1;1748:46:0;;;7461:21:1;7518:2;7498:18;;;7491:30;7557:29;7537:18;;;7530:57;7604:18;;1748:46:0;7277:351:1;1973:224:0;2093:7;2129:12;2121:6;;;;2113:29;;;;-1:-1:-1;;;2113:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2153:9:0;2165:5;2169:1;2165;:5;:::i;:::-;2153:17;1973:224;-1:-1:-1;;;;;1973:224:0:o;19276:1687::-;-1:-1:-1;;;;;19427:24:0;;19402:4;19427:24;;;:16;:24;;;;;;;;:30;;:24;:30;;;;:67;;-1:-1:-1;;;;;;19461:27:0;;;;;;:16;:27;;;;;;;;:33;;:27;:33;;19427:67;19419:91;;;;-1:-1:-1;;;19419:91:0;;7968:2:1;19419:91:0;;;7950:21:1;8007:2;7987:18;;;7980:30;-1:-1:-1;;;8026:18:1;;;8019:41;8077:18;;19419:91:0;7766:335:1;19419:91:0;19525:16;;-1:-1:-1;;;19525:16:0;;;;19521:97;;;19565:41;19580:6;19588:9;19599:6;19565:14;:41::i;:::-;19558:48;;;;19521:97;19660:4;;-1:-1:-1;;;;;19660:4:0;19646:10;:18;;;;:52;;-1:-1:-1;19682:16:0;;-1:-1:-1;;;19682:16:0;;;;19681:17;19646:52;:90;;;;-1:-1:-1;19715:21:0;;-1:-1:-1;;;19715:21:0;;;;19646:90;:148;;;;-1:-1:-1;19781:13:0;;19771:4;19753:24;;;;:9;:24;;;;;;:41;;19646:148;19628:215;;;19821:10;:8;:10::i;:::-;19853:40;19867:6;19875:9;19886:6;19853:13;:40::i;:::-;19913:35;19930:6;19938:9;19913:16;:35::i;:::-;19912:36;19904:60;;;;-1:-1:-1;;;19904:60:0;;8308:2:1;19904:60:0;;;8290:21:1;8347:2;8327:18;;;8320:30;-1:-1:-1;;;8366:18:1;;;8359:41;8417:18;;19904:60:0;8106:335:1;19904:60:0;-1:-1:-1;;;;;20003:19:0;;19977:22;20003:19;;;:11;:19;;;;;;;;20002:20;:47;;;;-1:-1:-1;;;;;;20027:22:0;;;;;;:11;:22;;;;;;;;20026:23;20002:47;:119;;20115:6;20002:119;;;20065:34;20073:6;20081:9;20092:6;20065:7;:34::i;:::-;20138:11;;19977:144;;-1:-1:-1;;;;20138:11:0;;;;:18;;20152:4;20138:18;;;;:38;;-1:-1:-1;20172:4:0;;-1:-1:-1;;;;;20160:16:0;;;20172:4;;20160:16;;20138:38;:57;;;;-1:-1:-1;6936:7:0;6963:6;-1:-1:-1;;;;;20180:15:0;;;6963:6;;20180:15;;20138:57;:79;;;;-1:-1:-1;6936:7:0;6963:6;-1:-1:-1;;;;;20199:18:0;;;6963:6;;20199:18;;20138:79;20134:737;;;-1:-1:-1;;;;;20267:20:0;;;;;;:9;:20;;;;;;:40;;20292:14;20267:24;:40::i;:::-;-1:-1:-1;;;;;20244:20:0;;;;;;;:9;:20;;;;;;:63;;;;20342:17;;;;;;;:29;;20364:6;20342:21;:29::i;:::-;-1:-1:-1;;;;;20322:17:0;;;;;;:9;:17;;;;;:49;20409:24;20423:9;20409:13;:24::i;:::-;20134:737;;;6936:7;6963:6;-1:-1:-1;;;;;20464:15:0;;;6963:6;;20464:15;;:37;;-1:-1:-1;6936:7:0;6963:6;-1:-1:-1;;;;;20483:18:0;;;6963:6;;20483:18;20464:37;20460:411;;;-1:-1:-1;;;;;20551:20:0;;;;;;:9;:20;;;;;;:40;;20576:14;20551:24;:40::i;:::-;-1:-1:-1;;;;;20528:20:0;;;;;;;:9;:20;;;;;;:63;;;;20626:17;;;;;;;:29;;20648:6;20626:21;:29::i;:::-;-1:-1:-1;;;;;20606:17:0;;;;;;:9;:17;;;;;:49;20460:411;;;-1:-1:-1;;;;;20754:20:0;;;;;;:9;:20;;;;;;:40;;20779:14;20754:24;:40::i;:::-;-1:-1:-1;;;;;20731:20:0;;;;;;;:9;:20;;;;;;:63;;;;20830:17;;;;;;;:29;;20852:6;20830:21;:29::i;:::-;-1:-1:-1;;;;;20810:17:0;;;;;;:9;:17;;;;;:49;20460:411;20886:47;;160:25:1;;;-1:-1:-1;;;;;20886:47:0;;;20895:10;;20886:47;;148:2:1;133:18;20886:47:0;;;;;;;-1:-1:-1;20951:4:0;;19276:1687;-1:-1:-1;;;;19276:1687:0:o;1829:136::-;1887:7;1914:43;1918:1;1921;1914:43;;;;;;;;;;;;;;;;;:3;:43::i;7990:173::-;8046:16;8065:6;;-1:-1:-1;;;;;8082:17:0;;;-1:-1:-1;;;;;;8082:17:0;;;;;;8115:40;;8065:6;;;;;;;8115:40;;8046:16;8115:40;8035:128;7990:173;:::o;20971:401::-;21135:90;;;;;;;;;;;-1:-1:-1;;;21135:90:0;;;;;;;;-1:-1:-1;;;;;21135:17:0;;21098:4;21135:17;;;:9;:17;;;;;;;:90;;21171:6;;21135:21;:90::i;:::-;-1:-1:-1;;;;;21115:17:0;;;;;;;:9;:17;;;;;;:110;;;;21259:20;;;;;;;:32;;21284:6;21259:24;:32::i;:::-;-1:-1:-1;;;;;21236:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21307:35;;;;;;;;;;21335:6;160:25:1;;148:2;133:18;;14:177;21307:35:0;;;;;;;;-1:-1:-1;21360:4:0;20971:401;;;;;:::o;22223:2059::-;10138:16;:23;;-1:-1:-1;;;;10138:23:0;-1:-1:-1;;;10138:23:0;;;22364:13:::1;::::0;22480:8:::1;::::0;22448:12:::1;::::0;10138:23;;22414:96:::1;::::0;22508:1:::1;::::0;22414:75:::1;::::0;;;22364:13;;22414:33:::1;:47::i;:::-;:65:::0;::::1;:75::i;:96::-;22388:122:::0;-1:-1:-1;22521:20:0::1;22544:36;:15:::0;22388:122;22544:19:::1;:36::i;:::-;22617:16;::::0;;22631:1:::1;22617:16:::0;;;;;::::1;::::0;;22521:59;;-1:-1:-1;22593:21:0::1;::::0;22617:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;22617:16:0::1;22593:40;;22662:4;22644;22649:1;22644:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22644:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;22688:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;22688:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;22644:7;;22688:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22678:4;22683:1;22678:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22678:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;22714:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;22714:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;22786:12;;22714:6:::1;::::0;22829:4;;22856::::1;::::0;22876:15:::1;::::0;22714:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;23002:12:0::1;::::0;22935:21:::1;::::0;-1:-1:-1;22915:17:0::1;::::0;-1:-1:-1;22989:33:0::1;::::0;23002:19:::1;::::0;23019:1:::1;23002:16;:19::i;:::-;22989:8;::::0;;:12:::1;:33::i;:::-;22967:55;;23033:26;23062:68;23108:11;23062:27;23076:12;;23062:9;:13;;:27;;;;:::i;:68::-;23033:97;;23141:22;23166:40;23194:11;23166:23;23180:8;;23166:9;:13;;:23;;;;:::i;:40::-;23141:65;;23217:26;23246:93;23337:1;23246:72;23306:11;23246:41;23274:12;;23246:9;:27;;:41;;;;:::i;:93::-;23382:15;::::0;23374:109:::1;::::0;23217:122;;-1:-1:-1;23353:15:0::1;::::0;-1:-1:-1;;;;;23382:15:0;;::::1;::::0;23463:5:::1;::::0;23425:18;;23353:15;23374:109;23353:15;23374:109;23425:18;23382:15;23463:5;23374:109:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;23525:5:0::1;::::0;23517:95:::1;::::0;23352:131;;-1:-1:-1;23495:16:0::1;::::0;-1:-1:-1;;;;;23525:5:0;;::::1;::::0;23592::::1;::::0;23558:14;;23495:16;23517:95;23495:16;23517:95;23558:14;23525:5;23592;23517:95:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;23633:5:0::1;::::0;;-1:-1:-1;;;;;23633:5:0;;::::1;23625:14;::::0;;;:7:::1;:14;::::0;;;;;;;:29;;;23685:5;;;::::1;23665:26:::0;;:19:::1;:26:::0;;;;;:31;;-1:-1:-1;;23665:31:0::1;23633:5:::0;23665:31:::1;::::0;;23723:5;;;::::1;23707:22:::0;;:15:::1;:22:::0;;;;;;23732:15:::1;23707:40:::0;;23775:5;;23763:34;;23775:5;::::1;6515:51:1::0;;6582:18;;;6575:34;;;23494:118:0;;-1:-1:-1;23763:34:0::1;::::0;6488:18:1;23763:34:0::1;;;;;;;-1:-1:-1::0;23863:5:0::1;::::0;-1:-1:-1;23863:5:0;23915:19;;23911:364:::1;;23951:6;::::0;24125:21:::1;::::0;23951:244:::1;::::0;-1:-1:-1;;;23951:244:0;;24027:4:::1;23951:244;::::0;::::1;10570:34:1::0;10620:18;;;10613:34;;;23951:6:0::1;10663:18:1::0;;;10656:34;;;10706:18;;;10699:34;-1:-1:-1;;;;;24125:21:0;;::::1;10749:19:1::0;;;10742:44;24165:15:0::1;10802:19:1::0;;;10795:35;23951:6:0;::::1;::::0;:22:::1;::::0;23981:18;;10504:19:1;;23951:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;24215:48:0::1;::::0;;11326:25:1;;;11382:2;11367:18;;11360:34;;;24215:48:0::1;::::0;-1:-1:-1;11299:18:1;24215:48:0::1;;;;;;;23911:364;-1:-1:-1::0;;10184:16:0;:24;;-1:-1:-1;;;;10184:24:0;;;-1:-1:-1;;;;;;;;;22223:2059:0:o;16349:2066::-;16517:11;;16499:15;;16481:33;;:15;:33;:::i;:::-;:47;16477:88;;;16545:8;:6;:8::i;:::-;6936:7;6963:6;-1:-1:-1;;;;;16593:17:0;;;6963:6;;16593:17;;;;:54;;-1:-1:-1;6936:7:0;6963:6;-1:-1:-1;;;;;16627:20:0;;;6963:6;;16627:20;;16593:54;:98;;;;-1:-1:-1;;;;;;16665:26:0;;;;;;:15;:26;;;;;;;;16664:27;16593:98;:132;;;;-1:-1:-1;16721:4:0;;-1:-1:-1;;;;;16708:17:0;;;16721:4;;16708:17;;16593:132;:166;;;;-1:-1:-1;16755:4:0;;-1:-1:-1;;;;;16742:17:0;;;16755:4;;16742:17;;16593:166;:200;;;;-1:-1:-1;16789:4:0;;-1:-1:-1;;;;;16776:17:0;;;16789:4;;16776:17;;16593:200;:243;;;;-1:-1:-1;;;;;;16810:26:0;;16831:4;16810:26;;16593:243;16575:1423;;;16881:12;;16871:6;:22;;16863:41;;;;-1:-1:-1;;;16863:41:0;;11607:2:1;16863:41:0;;;11589:21:1;11646:1;11626:18;;;11619:29;-1:-1:-1;;;11664:18:1;;;11657:36;11710:18;;16863:41:0;11405:329:1;16863:41:0;-1:-1:-1;;;;;12090:18:0;;16919:32;12090:18;;;:9;:18;;;;;;17052:16;;17015:33;17042:6;12090:18;17015:33;:::i;:::-;:53;;16989:150;;;;-1:-1:-1;;;16989:150:0;;11941:2:1;16989:150:0;;;11923:21:1;11980:2;11960:18;;;11953:30;12019:34;11999:18;;;11992:62;-1:-1:-1;;;12070:18:1;;;12063:33;12113:19;;16989:150:0;11739:399:1;16989:150:0;17180:16;;;17194:1;17180:16;;;;;;;;17156:21;;17180:16;;;;;;;;-1:-1:-1;;17221:6:0;;:13;;;-1:-1:-1;;;17221:13:0;;;;17156:40;;-1:-1:-1;;;;;;17221:6:0;;;;:11;;-1:-1:-1;17221:13:0;;;;;;;;;;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17211:4;17216:1;17211:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17211:23:0;;;-1:-1:-1;;;;;17211:23:0;;;;;17267:4;17249;17254:1;17249:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17249:23:0;;;:7;;;;;;;;;:23;17305:6;;:33;;-1:-1:-1;;;17305:33:0;;17287:15;;17305:6;;;;;:19;;:33;;17325:6;;17333:4;;17305:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17305:33:0;;;;;;;;;;;;:::i;:::-;17339:1;17305:36;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;17362:30:0;;;;;;:19;:30;;;;;;;;17305:36;;-1:-1:-1;17362:30:0;;:36;;:30;:36;:94;;;;-1:-1:-1;;;;;;17402:26:0;;;;;;:15;:26;;;;;;17441:15;;17402:36;;17431:7;17402:36;:::i;:::-;:54;17362:94;:118;;;;;17470:10;;17460:7;:20;17362:118;17358:629;;;17515:5;:17;;-1:-1:-1;;;;;;17515:17:0;-1:-1:-1;;;;;17515:17:0;;;;;;;;17551:10;:20;;;17608:15;17590;:33;17647:27;;;6515:51:1;;;6597:2;6582:18;;6575:34;;;17647:27:0;;6488:18:1;17647:27:0;;;;;;;17358:629;;;-1:-1:-1;;;;;17715:30:0;;;;;;:19;:30;;;;;;;;:37;;;:62;;;17767:10;;17757:7;:20;17715:62;17711:276;;;17812:5;:17;;-1:-1:-1;;;;;;17812:17:0;-1:-1:-1;;;;;17812:17:0;;;;;;;;17848:10;:20;;;17905:15;17887;:33;17944:27;;;6515:51:1;;;6597:2;6582:18;;6575:34;;;17944:27:0;;6488:18:1;17944:27:0;;;;;;;17711:276;16848:1150;;;16575:1423;6936:7;6963:6;-1:-1:-1;;;;;18026:17:0;;;6963:6;;18026:17;;;;:54;;-1:-1:-1;6936:7:0;6963:6;-1:-1:-1;;;;;18060:20:0;;;6963:6;;18060:20;;18026:54;:95;;;;-1:-1:-1;;;;;;18098:23:0;;;;;;:15;:23;;;;;;;;18097:24;18026:95;:126;;;;-1:-1:-1;18148:4:0;;-1:-1:-1;;;;;18138:14:0;;;18148:4;;18138:14;;18026:126;:169;;;;-1:-1:-1;;;;;;18169:26:0;;18190:4;18169:26;;18026:169;18008:400;;;18240:12;;18230:6;:22;;18222:41;;;;-1:-1:-1;;;18222:41:0;;11607:2:1;18222:41:0;;;11589:21:1;11646:1;11626:18;;;11619:29;-1:-1:-1;;;11664:18:1;;;11657:36;11710:18;;18222:41:0;11405:329:1;18222:41:0;18282:5;;-1:-1:-1;;;;;18282:15:0;;;:5;;:15;18278:116;;18333:5;;18340:10;;18323:28;;;-1:-1:-1;;;;;18333:5:0;;;6515:51:1;;6597:2;6582:18;;6575:34;;;;18323:28:0;;6488:18:1;18323:28:0;;;;;;;18370:8;:6;:8::i;21873:342::-;-1:-1:-1;;;;;22010:19:0;;21984:4;22010:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;22033:22:0;;;;;;:11;:22;;;;;;;;22010:45;22006:90;;;-1:-1:-1;22079:5:0;22072:12;;22006:90;22120:4;;-1:-1:-1;;;;;22110:14:0;;;22120:4;;22110:14;;:35;;-1:-1:-1;22141:4:0;;-1:-1:-1;;;;;22128:17:0;;;22141:4;;22128:17;22110:35;22106:80;;;-1:-1:-1;22169:5:0;22162:12;;22106:80;-1:-1:-1;22203:4:0;21873:342;;;;:::o;21380:485::-;21544:4;;21500:7;;;;-1:-1:-1;;;;;21544:17:0;;;:4;;:17;:74;;21610:8;;21544:74;;;21577:17;;21544:74;21520:98;-1:-1:-1;21629:17:0;21649:34;21679:3;21649:25;:6;21520:98;21649:10;:25::i;:34::-;21739:4;21721:24;;;;:9;:24;;;;;;21629:54;;-1:-1:-1;21721:39:0;;21629:54;21721:28;:39::i;:::-;21712:4;21694:24;;;;:9;:24;;;;;;;:66;;;;21776:42;;-1:-1:-1;;;;;21776:42:0;;;;;;;21808:9;160:25:1;;148:2;133:18;;14:177;21776:42:0;;;;;;;;21836:21;:6;21847:9;21836:10;:21::i;:::-;21829:28;21380:485;-1:-1:-1;;;;;;21380:485:0:o;2205:246::-;2263:7;2287:1;2292;2287:6;2283:47;;-1:-1:-1;2317:1:0;2310:8;;2283:47;2340:9;2352:5;2356:1;2352;:5;:::i;:::-;2340:17;-1:-1:-1;2385:1:0;2376:5;2380:1;2340:17;2376:5;:::i;:::-;:10;2368:56;;;;-1:-1:-1;;;2368:56:0;;13965:2:1;2368:56:0;;;13947:21:1;14004:2;13984:18;;;13977:30;14043:34;14023:18;;;14016:62;-1:-1:-1;;;14094:18:1;;;14087:31;14135:19;;2368:56:0;13763:397:1;2459:132:0;2517:7;2544:39;2548:1;2551;2544:39;;;;;;;;;;;;;;;;;:3;:39::i;14406:138::-;14452:15;;14444:5;:23;;-1:-1:-1;;;;;;14444:23:0;-1:-1:-1;;;;;14452:15:0;;;14444:23;;;;;;14452:15;14478:10;:14;14521:15;14503;:33;14406:138::o;2599:223::-;2719:7;2754:12;2747:5;2739:28;;;;-1:-1:-1;;;2739:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2778:9:0;2790:5;2794:1;2790;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:382;2695:6;2703;2756:2;2744:9;2735:7;2731:23;2727:32;2724:52;;;2772:1;2769;2762:12;2724:52;2811:9;2798:23;2830:31;2855:5;2830:31;:::i;:::-;2880:5;-1:-1:-1;2937:2:1;2922:18;;2909:32;2950:30;2909:32;2950:30;:::i;:::-;2999:7;2989:17;;;2630:382;;;;;:::o;3017:180::-;3076:6;3129:2;3117:9;3108:7;3104:23;3100:32;3097:52;;;3145:1;3142;3135:12;3097:52;-1:-1:-1;3168:23:1;;3017:180;-1:-1:-1;3017:180:1:o;3202:388::-;3270:6;3278;3331:2;3319:9;3310:7;3306:23;3302:32;3299:52;;;3347:1;3344;3337:12;3299:52;3386:9;3373:23;3405:31;3430:5;3405:31;:::i;:::-;3455:5;-1:-1:-1;3512:2:1;3497:18;;3484:32;3525:33;3484:32;3525:33;:::i;3595:316::-;3672:6;3680;3688;3741:2;3729:9;3720:7;3716:23;3712:32;3709:52;;;3757:1;3754;3747:12;3709:52;-1:-1:-1;;3780:23:1;;;3850:2;3835:18;;3822:32;;-1:-1:-1;3901:2:1;3886:18;;;3873:32;;3595:316;-1:-1:-1;3595:316:1:o;3916:309::-;3981:6;3989;4042:2;4030:9;4021:7;4017:23;4013:32;4010:52;;;4058:1;4055;4048:12;4010:52;4097:9;4084:23;4116:28;4138:5;4116:28;:::i;4456:356::-;4658:2;4640:21;;;4677:18;;;4670:30;4736:34;4731:2;4716:18;;4709:62;4803:2;4788:18;;4456:356::o;5162:127::-;5223:10;5218:3;5214:20;5211:1;5204:31;5254:4;5251:1;5244:15;5278:4;5275:1;5268:15;5294:125;5359:9;;;5380:10;;;5377:36;;;5393:18;;:::i;5424:217::-;5464:1;5490;5480:132;;5534:10;5529:3;5525:20;5522:1;5515:31;5569:4;5566:1;5559:15;5597:4;5594:1;5587:15;5480:132;-1:-1:-1;5626:9:1;;5424:217::o;6001:335::-;6203:2;6185:21;;;6242:2;6222:18;;;6215:30;-1:-1:-1;;;6276:2:1;6261:18;;6254:41;6327:2;6312:18;;6001:335::o;6620:245::-;6687:6;6740:2;6728:9;6719:7;6715:23;6711:32;6708:52;;;6756:1;6753;6746:12;6708:52;6788:9;6782:16;6807:28;6829:5;6807:28;:::i;7633:128::-;7700:9;;;7721:11;;;7718:37;;;7735:18;;:::i;8446:127::-;8507:10;8502:3;8498:20;8495:1;8488:31;8538:4;8535:1;8528:15;8562:4;8559:1;8552:15;8578:127;8639:10;8634:3;8630:20;8627:1;8620:31;8670:4;8667:1;8660:15;8694:4;8691:1;8684:15;8710:251;8780:6;8833:2;8821:9;8812:7;8808:23;8804:32;8801:52;;;8849:1;8846;8839:12;8801:52;8881:9;8875:16;8900:31;8925:5;8900:31;:::i;8966:461::-;9019:3;9057:5;9051:12;9084:6;9079:3;9072:19;9110:4;9139:2;9134:3;9130:12;9123:19;;9176:2;9169:5;9165:14;9197:1;9207:195;9221:6;9218:1;9215:13;9207:195;;;9286:13;;-1:-1:-1;;;;;9282:39:1;9270:52;;9342:12;;;;9377:15;;;;9318:1;9236:9;9207:195;;;-1:-1:-1;9418:3:1;;8966:461;-1:-1:-1;;;;;8966:461:1:o;9432:582::-;9731:6;9720:9;9713:25;9774:6;9769:2;9758:9;9754:18;9747:34;9817:3;9812:2;9801:9;9797:18;9790:31;9694:4;9838:57;9890:3;9879:9;9875:19;9867:6;9838:57;:::i;:::-;-1:-1:-1;;;;;9931:32:1;;;;9926:2;9911:18;;9904:60;-1:-1:-1;9995:3:1;9980:19;9973:35;9830:65;9432:582;-1:-1:-1;;;9432:582:1:o;10841:306::-;10929:6;10937;10945;10998:2;10986:9;10977:7;10973:23;10969:32;10966:52;;;11014:1;11011;11004:12;10966:52;11043:9;11037:16;11027:26;;11093:2;11082:9;11078:18;11072:25;11062:35;;11137:2;11126:9;11122:18;11116:25;11106:35;;10841:306;;;;;:::o;12143:332::-;12350:6;12339:9;12332:25;12393:2;12388;12377:9;12373:18;12366:30;12313:4;12413:56;12465:2;12454:9;12450:18;12442:6;12413:56;:::i;:::-;12405:64;12143:332;-1:-1:-1;;;;12143:332:1:o;12480:1105::-;12575:6;12606:2;12649;12637:9;12628:7;12624:23;12620:32;12617:52;;;12665:1;12662;12655:12;12617:52;12698:9;12692:16;12727:18;12768:2;12760:6;12757:14;12754:34;;;12784:1;12781;12774:12;12754:34;12822:6;12811:9;12807:22;12797:32;;12867:7;12860:4;12856:2;12852:13;12848:27;12838:55;;12889:1;12886;12879:12;12838:55;12918:2;12912:9;12940:2;12936;12933:10;12930:36;;;12946:18;;:::i;:::-;12992:2;12989:1;12985:10;13024:2;13018:9;13087:2;13083:7;13078:2;13074;13070:11;13066:25;13058:6;13054:38;13142:6;13130:10;13127:22;13122:2;13110:10;13107:18;13104:46;13101:72;;;13153:18;;:::i;:::-;13189:2;13182:22;13239:18;;;13273:15;;;;-1:-1:-1;13315:11:1;;;13311:20;;;13343:19;;;13340:39;;;13375:1;13372;13365:12;13340:39;13399:11;;;;13419:135;13435:6;13430:3;13427:15;13419:135;;;13501:10;;13489:23;;13452:12;;;;13532;;;;13419:135;;;13573:6;12480:1105;-1:-1:-1;;;;;;;;12480:1105:1:o;13590:168::-;13663:9;;;13694;;13711:15;;;13705:22;;13691:37;13681:71;;13732:18;;:::i
Swarm Source
ipfs://e04aa2436f949edd410076c350e4a280e209d3ff6b5d23163fa306390bcfcc8f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.