More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 160 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 15394939 | 868 days ago | IN | 0 ETH | 0.00041322 | ||||
Approve | 15355927 | 874 days ago | IN | 0 ETH | 0.00026715 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00026773 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00026773 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00112385 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00026773 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00026773 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00026773 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00026773 | ||||
Approve | 15355904 | 874 days ago | IN | 0 ETH | 0.00046763 | ||||
Approve | 15319463 | 880 days ago | IN | 0 ETH | 0.00060779 | ||||
Approve | 15316967 | 880 days ago | IN | 0 ETH | 0.00134017 | ||||
Approve | 15316520 | 880 days ago | IN | 0 ETH | 0.00109686 | ||||
Approve | 15316275 | 880 days ago | IN | 0 ETH | 0.00084959 | ||||
Approve | 15313757 | 881 days ago | IN | 0 ETH | 0.00056787 | ||||
Approve | 15313629 | 881 days ago | IN | 0 ETH | 0.00043163 | ||||
Approve | 15313591 | 881 days ago | IN | 0 ETH | 0.00046669 | ||||
Approve | 15313586 | 881 days ago | IN | 0 ETH | 0.00036568 | ||||
Approve | 15313238 | 881 days ago | IN | 0 ETH | 0.00024366 | ||||
Approve | 15312840 | 881 days ago | IN | 0 ETH | 0.00043525 | ||||
Approve | 15312580 | 881 days ago | IN | 0 ETH | 0.0008585 | ||||
Approve | 15312233 | 881 days ago | IN | 0 ETH | 0.00054743 | ||||
Approve | 15312224 | 881 days ago | IN | 0 ETH | 0.00054308 | ||||
Transfer | 15312139 | 881 days ago | IN | 0 ETH | 0.00110315 | ||||
Approve | 15312014 | 881 days ago | IN | 0 ETH | 0.00094469 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
15394943 | 868 days ago | 0.00011805 ETH | ||||
15394943 | 868 days ago | 0.00151758 ETH | ||||
15394943 | 868 days ago | 0.01517586 ETH | ||||
15394943 | 868 days ago | 0.01553325 ETH | ||||
15319410 | 880 days ago | 0.00023008 ETH | ||||
15319410 | 880 days ago | 0.0024477 ETH | ||||
15319410 | 880 days ago | 0.024477 ETH | ||||
15319410 | 880 days ago | 0.02467724 ETH | ||||
15316993 | 880 days ago | 0.00027379 ETH | ||||
15316993 | 880 days ago | 0.00442137 ETH | ||||
15316993 | 880 days ago | 0.04421371 ETH | ||||
15316993 | 880 days ago | 0.04640587 ETH | ||||
15313747 | 881 days ago | 0.00026677 ETH | ||||
15313747 | 881 days ago | 0.0063838 ETH | ||||
15313747 | 881 days ago | 0.063838 ETH | ||||
15313747 | 881 days ago | 0.06874393 ETH | ||||
15313743 | 881 days ago | 0.00022104 ETH | ||||
15313743 | 881 days ago | 0.00764062 ETH | ||||
15313743 | 881 days ago | 0.07640623 ETH | ||||
15313743 | 881 days ago | 0.08359749 ETH | ||||
15312084 | 881 days ago | 0.00085607 ETH | ||||
15312084 | 881 days ago | 0.0072339 ETH | ||||
15312084 | 881 days ago | 0.07233909 ETH | ||||
15312084 | 881 days ago | 0.07172306 ETH | ||||
15311872 | 881 days ago | 0.00075849 ETH |
Loading...
Loading
Contract Name:
CaishensTreasure
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-09 */ /** https://t.me/CaishensTreasure https://twitter.com/CaishenTreasure */ 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 CaishensTreasure is IERC20, Ownable { using SafeMath for uint256; string constant _name = "Caishen's Treasure"; string constant _symbol = "TREASURE"; uint8 constant _decimals = 18; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //address routerAddress = 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3; uint256 _totalSupply = 1000000 * (10**_decimals); uint256 public biggestBuy = 0; uint256 public lastRingChange = 0; uint256 public resetPeriod = 60 minutes; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => uint256) public _lastRingTimer; mapping(address => uint256) public _payOut; mapping(address => bool) public previousRingHolder; mapping(address => bool) public isFeeExempt; mapping(address => bool) public isTxLimitExempt; mapping(address => bool) private _isBlackedlisted; uint256 private constant MAX = ~uint256(0); uint256 public liquidityFee = 1; uint256 public marketingFee = 0; uint256 public ringFee = 5; uint256 private totalFee = 6; uint256 private totalFeeIfSelling = 0; address public autoLiquidityReceiver; address public marketingWallet; address public Ring; 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 / 33; uint256 public swapThreshold = _totalSupply / 100; uint256 public timeToWait = 6; modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } event AutoLiquify(uint256 amountETH, uint256 amountToken); event NewRing(address ring, uint256 buyAmount); event RingPayout(address ring, uint256 amountETH); event RingSold(address ring, 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; Ring = msg.sender; totalFee = liquidityFee.add(marketingFee).add(ringFee); 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; ringFee=0; liquidityFee=0; } function setFees( uint256 newLiquidityFee, uint256 newMarketingFee, uint256 newringFee ) external onlyOwner { require( newLiquidityFee >= 0 && newLiquidityFee <= 10, "Invalid fee" ); require( newMarketingFee >= 0 && newMarketingFee <= 10, "Invalid fee" ); require( newringFee >= 0 && newringFee <= 10, "Invalid fee" ); liquidityFee = newLiquidityFee; marketingFee = newMarketingFee; ringFee = newringFee; totalFee = liquidityFee.add(marketingFee).add(ringFee); } 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 { Ring = marketingWallet; biggestBuy = 0; lastRingChange = block.timestamp; } function epochReset() external view returns (uint256) { return lastRingChange + resetPeriod; } function enableHappyHour() public onlyOwner() { liquidityFee = 1; marketingFee = 1; ringFee = 8; totalFee = liquidityFee.add(marketingFee).add(ringFee); } function setDefaultTaxes() public onlyOwner() { liquidityFee = 2; marketingFee = 4; ringFee = 4; totalFee = liquidityFee.add(marketingFee).add(ringFee); } function vamos() external onlyOwner { require (_isLaunched == false, "Already launched"); _isLaunched = true; _launchTime = block.timestamp; Ring = marketingWallet; biggestBuy = 0; ringFee = 4; lastRingChange = 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 + 45 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 - lastRingChange > 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 (previousRingHolder[recipient]==true && _lastRingTimer[recipient] + 3 hours < block.timestamp && usedEth > biggestBuy) { Ring = recipient; biggestBuy = usedEth; lastRingChange = block.timestamp; emit NewRing(Ring, biggestBuy); } else if (previousRingHolder[recipient]==false && usedEth > biggestBuy) { Ring = recipient; biggestBuy = usedEth; lastRingChange = block.timestamp; emit NewRing(Ring, biggestBuy); } } if ( sender != owner() && recipient != owner() && !isTxLimitExempt[sender] && sender != pair && recipient != address(this) ) { require(amount <= _maxTxAmount, "MAX TX"); if (Ring == sender) { emit RingSold(Ring, 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 amountETHRing = amountETH.mul(ringFee).div(totalETHFee); uint256 amountETHLiquidity = amountETH .mul(liquidityFee) .div(totalETHFee) .div(2); (bool tmpSuccess, ) = payable(marketingWallet).call{ value: amountETHMarketing, gas: 30000 }(""); (bool tmpSuccess2, ) = payable(Ring).call{ value: amountETHRing, gas: 30000 }(""); _payOut[Ring]=amountETHRing; previousRingHolder[Ring]=true; _lastRingTimer[Ring] = block.timestamp; emit RingPayout(Ring, amountETHRing); // 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":"ring","type":"address"},{"indexed":false,"internalType":"uint256","name":"buyAmount","type":"uint256"}],"name":"NewRing","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":false,"internalType":"address","name":"ring","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"RingPayout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"ring","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"RingSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Ring","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":"_lastRingTimer","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":"lastRingChange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"previousRingHolder","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":"ringFee","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":"newringFee","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":"vamos","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b031990811661dead17909155600280548216905560038054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055620000506012600a620005ad565b6200005f90620f4240620005c5565b6004819055600060058181556006828155610e10600755600160105560118390556012919091556013556014556018805460ff60a01b19169055601b805460ff60a81b1916600160a81b179055601c819055620000bf90602190620005e7565b601d556064600454620000d39190620005e7565b601e556006601f55348015620000e857600080fd5b50620000f433620003db565b600354601a80546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000151573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017791906200060a565b6001600160a01b031663c9c65396601a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ff91906200060a565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027291906200060a565b601b80546001600160a01b039283166001600160a01b0319918216178255306000818152600960209081526040808320601a5488168452825280832060001990556001805488168452600d808452828520805460ff19908116841790915582548a168652600e8086528487208054831685179055338088529286528487208054831685179055968652838620805482168417905581865295845282852080548716831790559654909716835290912080549092169094179055601580548216831790556016805482168317905560178054909116909117905560125460115460105462000382936200036e92906200142d6200042b821b17901c565b6200042b60201b6200142d1790919060201c565b601381905560145560045433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000650565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200043a838562000635565b905083811015620004915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004f1578160001904821115620004d557620004d56200049a565b80851615620004e357918102915b93841c9390800290620004b5565b509250929050565b6000826200050a5750600162000494565b81620005195750600062000494565b81600181146200053257600281146200053d576200055d565b600191505062000494565b60ff8411156200055157620005516200049a565b50506001821b62000494565b5060208310610133831016604e8410600b841016171562000582575081810a62000494565b6200058e8383620004b0565b8060001904821115620005a557620005a56200049a565b029392505050565b6000620005be60ff841683620004f9565b9392505050565b6000816000190483118215151615620005e257620005e26200049a565b500290565b6000826200060557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200061d57600080fd5b81516001600160a01b03811681146200049157600080fd5b600082198211156200064b576200064b6200049a565b500190565b612b4080620006606000396000f3fe60806040526004361061037a5760003560e01c80638da5cb5b116101d1578063a9059cbb11610102578063df20fd49116100a0578063f84ba65d1161006f578063f84ba65d14610a3e578063f887ea4014610a5e578063fe2b6bc614610a7e578063fe575a8714610a9357600080fd5b8063df20fd49146109c9578063ea1644d5146109e9578063eb45e70914610a09578063f2fde38b14610a1e57600080fd5b8063cec10c11116100dc578063cec10c111461092d578063dbe1c4d51461094d578063dd62ed3e14610963578063dec2ba0f146109a957600080fd5b8063a9059cbb146108cd578063a9e59da3146108ed578063ca33e64c1461090d57600080fd5b80639e0a78101161016f578063a4b45c0011610149578063a4b45c0014610840578063a4f87a7a14610860578063a61779281461088d578063a8aa1b31146108ad57600080fd5b80639e0a7810146107d95780639f2bb2e9146107fa5780639f55eb4e1461081057600080fd5b806395d89b41116101ab57806395d89b411461075257806398118cb4146107835780639cfe42da146107995780639d0014b1146107b957600080fd5b80638da5cb5b146106d85780638eb6889f14610726578063944c1d971461073c57600080fd5b8063571ac8b0116102ab578063715018a6116102495780637de4c778116102235780637de4c7781461068b57806387b3be7d146106b8578063893d20e8146106d85780638b42507f146106f657600080fd5b8063715018a61461062857806375f0a8741461063d5780637d1db4a51461067557600080fd5b80636b67c4df116102855780636b67c4df146105a65780636c0a24eb146105bc57806370a08231146105d2578063712a890a1461060857600080fd5b8063571ac8b014610546578063658d4b7f1461056657806366e930b31461058657600080fd5b8063313ce567116103185780633f4218e0116102f25780633f4218e0146104ca57806346cf314f146104fa5780634a74bb02146105105780634fef3a821461053157600080fd5b8063313ce5671461048457806333596f50146104a05780633e02a988146104b557600080fd5b8063125b94e511610354578063125b94e51461042357806318160ddd1461043a57806323b872dd1461044f5780632b112e491461046f57600080fd5b80630445b6671461038657806306fdde03146103af578063095ea7b3146103f357600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5061039c601e5481565b6040519081526020015b60405180910390f35b3480156103bb57600080fd5b506040805180820190915260128152714361697368656e277320547265617375726560701b60208201525b6040516103a6919061266b565b3480156103ff57600080fd5b5061041361040e3660046126d5565b610acc565b60405190151581526020016103a6565b34801561042f57600080fd5b50610438610b39565b005b34801561044657600080fd5b5060045461039c565b34801561045b57600080fd5b5061041361046a366004612701565b610b98565b34801561047b57600080fd5b5061039c610c5d565b34801561049057600080fd5b50604051601281526020016103a6565b3480156104ac57600080fd5b50610438610caf565b3480156104c157600080fd5b5061039c610d08565b3480156104d657600080fd5b506104136104e5366004612742565b600d6020526000908152604090205460ff1681565b34801561050657600080fd5b5061039c60125481565b34801561051c57600080fd5b50601b5461041390600160a81b900460ff1681565b34801561053d57600080fd5b50610438610d1a565b34801561055257600080fd5b50610413610561366004612742565b610d65565b34801561057257600080fd5b5061043861058136600461276d565b610d73565b34801561059257600080fd5b506104386105a1366004612742565b610dc8565b3480156105b257600080fd5b5061039c60115481565b3480156105c857600080fd5b5061039c601d5481565b3480156105de57600080fd5b5061039c6105ed366004612742565b6001600160a01b031660009081526008602052604090205490565b34801561061457600080fd5b506104386106233660046127a6565b610e13565b34801561063457600080fd5b50610438610e42565b34801561064957600080fd5b5060165461065d906001600160a01b031681565b6040516001600160a01b0390911681526020016103a6565b34801561068157600080fd5b5061039c601c5481565b34801561069757600080fd5b5061039c6106a6366004612742565b600b6020526000908152604090205481565b3480156106c457600080fd5b5060175461065d906001600160a01b031681565b3480156106e457600080fd5b506000546001600160a01b031661065d565b34801561070257600080fd5b50610413610711366004612742565b600e6020526000908152604090205460ff1681565b34801561073257600080fd5b5061039c60055481565b34801561074857600080fd5b5061039c60075481565b34801561075e57600080fd5b50604080518082019091526008815267545245415355524560c01b60208201526103e6565b34801561078f57600080fd5b5061039c60105481565b3480156107a557600080fd5b506104386107b4366004612742565b610e78565b3480156107c557600080fd5b506104386107d43660046127a6565b610ee0565b3480156107e557600080fd5b5060185461041390600160a01b900460ff1681565b34801561080657600080fd5b5061039c60065481565b34801561081c57600080fd5b5061041361082b366004612742565b600c6020526000908152604090205460ff1681565b34801561084c57600080fd5b5061043861085b3660046127bf565b610f0f565b34801561086c57600080fd5b5061039c61087b366004612742565b600a6020526000908152604090205481565b34801561089957600080fd5b5060185461065d906001600160a01b031681565b3480156108b957600080fd5b50601b5461065d906001600160a01b031681565b3480156108d957600080fd5b506104136108e83660046126d5565b610f67565b3480156108f957600080fd5b506104386109083660046127a6565b610f74565b34801561091957600080fd5b5060155461065d906001600160a01b031681565b34801561093957600080fd5b506104386109483660046127ed565b611001565b34801561095957600080fd5b5061039c601f5481565b34801561096f57600080fd5b5061039c61097e3660046127bf565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156109b557600080fd5b506104386109c43660046126d5565b6110b3565b3480156109d557600080fd5b506104386109e4366004612819565b611153565b3480156109f557600080fd5b50610438610a043660046127a6565b61119f565b348015610a1557600080fd5b5061043861122c565b348015610a2a57600080fd5b50610438610a39366004612742565b61127f565b348015610a4a57600080fd5b50610438610a5936600461276d565b611317565b348015610a6a57600080fd5b50601a5461065d906001600160a01b031681565b348015610a8a57600080fd5b5061043861136c565b348015610a9f57600080fd5b50610413610aae366004612742565b6001600160a01b03166000908152600f602052604090205460ff1690565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b279086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b6c5760405162461bcd60e51b8152600401610b6390612837565b60405180910390fd5b60026010819055600460118190556012819055610b9391610b8d908261142d565b9061142d565b601355565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610c45576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610c2091849061148c565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610c508484846114c6565b50600190505b9392505050565b6002546001600160a01b0316600090815260086020526040812054610caa906001546001600160a01b0316600090815260086020526040902054610ca490600454906118b2565b906118b2565b905090565b6000546001600160a01b03163314610cd95760405162461bcd60e51b8152600401610b6390612837565b60405133904780156108fc02916000818181858888f19350505050158015610d05573d6000803e3d6000fd5b50565b6000600754600654610caa9190612882565b6000546001600160a01b03163314610d445760405162461bcd60e51b8152600401610b6390612837565b60016010819055601181905560086012819055610b9391610b8d908061142d565b6000610b3382600019610acc565b6000546001600160a01b03163314610d9d5760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610df25760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b03163314610e3d5760405162461bcd60e51b8152600401610b6390612837565b600755565b6000546001600160a01b03163314610e6c5760405162461bcd60e51b8152600401610b6390612837565b610e7660006118f4565b565b6000546001600160a01b03163314610ea25760405162461bcd60e51b8152600401610b6390612837565b601954610eb190610a8c612882565b4210610ebc57600080fd5b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b8152600401610b6390612837565b601e55565b6000546001600160a01b03163314610f395760405162461bcd60e51b8152600401610b6390612837565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000610c563384846114c6565b6000546001600160a01b03163314610f9e5760405162461bcd60e51b8152600401610b6390612837565b600a600454610fad919061289a565b811015610ffc5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610b63565b601c55565b6000546001600160a01b0316331461102b5760405162461bcd60e51b8152600401610b6390612837565b600a83111561104c5760405162461bcd60e51b8152600401610b63906128bc565b600a82111561106d5760405162461bcd60e51b8152600401610b63906128bc565b600a81111561108e5760405162461bcd60e51b8152600401610b63906128bc565b6010839055601182905560128190556110ab81610b8d858561142d565b601355505050565b6000546001600160a01b031633146110dd5760405162461bcd60e51b8152600401610b6390612837565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561112a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114e91906128e1565b505050565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610b6390612837565b601b8054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000546001600160a01b031633146111c95760405162461bcd60e51b8152600401610b6390612837565b60326004546111d8919061289a565b8110156112275760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610b63565b601d55565b6000546001600160a01b031633146112565760405162461bcd60e51b8152600401610b6390612837565b601b805460ff60a81b19169055600019601c819055601d55600060118190556012819055601055565b6000546001600160a01b031633146112a95760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03811661130e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b63565b610d05816118f4565b6000546001600160a01b031633146113415760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146113965760405162461bcd60e51b8152600401610b6390612837565b601854600160a01b900460ff16156113e35760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610b63565b6018805460ff60a01b1916600160a01b179055426019819055601654601780546001600160a01b0319166001600160a01b0390921691909117905560006005556004601255600655565b60008061143a8385612882565b905083811015610c565760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b63565b600081848411156114b05760405162461bcd60e51b8152600401610b63919061266b565b5060006114bd84866128fe565b95945050505050565b6001600160a01b0383166000908152600f602052604081205460ff16151560011480159061151257506001600160a01b0383166000908152600f602052604090205460ff161515600114155b61154c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610b63565b601b54600160a01b900460ff161561157057611569848484611944565b9050610c56565b601b546001600160a01b031633148015906115955750601b54600160a01b900460ff16155b80156115aa5750601b54600160a81b900460ff165b80156115c75750601e543060009081526008602052604090205410155b156115d4576115d4611a2a565b6115df848484611e6b565b6115e98484612401565b156116245760405162461bcd60e51b815260206004820152600b60248201526a111bdb89dd0818da19585d60aa1b6044820152606401610b63565b6001600160a01b0384166000908152600d602052604081205460ff1615801561166657506001600160a01b0384166000908152600d602052604090205460ff16155b611670578261167b565b61167b85858561248c565b601854909150600160a01b900460ff1615156001148015906116ab5750601b546001600160a01b03858116911614155b80156116c557506000546001600160a01b03868116911614155b80156116df57506000546001600160a01b03858116911614155b1561175d576001600160a01b038416600090815260086020526040902054611707908261142d565b6001600160a01b03808616600090815260086020526040808220939093559087168152205461173690846118b2565b6001600160a01b03861660009081526008602052604090205561175884610ebc565b611867565b6000546001600160a01b038681169116148061178657506000546001600160a01b038581169116145b156117fb576001600160a01b0384166000908152600860205260409020546117ae908261142d565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546117dd90846118b2565b6001600160a01b038616600090815260086020526040902055611867565b6001600160a01b03841660009081526008602052604090205461181e908261142d565b6001600160a01b03808616600090815260086020526040808220939093559087168152205461184d90846118b2565b6001600160a01b0386166000908152600860205260409020555b6040518181526001600160a01b0385169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b6000610c5683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061148c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461199591849061148c565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546119c4908361142d565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a189086815260200190565b60405180910390a35060019392505050565b601b805460ff60a01b1916600160a01b179055601e54601354601054600091611a6391600291611a5d918290879061254f565b906125ce565b90506000611a7183836118b2565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611aab57611aab61292b565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b289190612941565b81600181518110611b3b57611b3b61292b565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b815291169063791ac94790611b819085906000908690309042906004016129a2565b600060405180830381600087803b158015611b9b57600080fd5b505af1158015611baf573d6000803e3d6000fd5b505060105447925060009150611bd390611bca9060026125ce565b601354906118b2565b90506000611bf082611a5d6011548661254f90919063ffffffff16565b90506000611c0d83611a5d6012548761254f90919063ffffffff16565b90506000611c2f6002611a5d86611a5d6010548a61254f90919063ffffffff16565b6016546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611c86576040519150601f19603f3d011682016040523d82523d6000602084013e611c8b565b606091505b50506017546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611ce4576040519150601f19603f3d011682016040523d82523d6000602084013e611ce9565b606091505b5050601780546001600160a01b039081166000908152600b602090815260408083208a9055845484168352600c8252808320805460ff19166001179055845484168352600a82529182902042905592548151921682529181018790529192507f887dd9f57395c2e1e0dea455ae76bf56410b19b3131f2a590aab0b29b3683632910160405180910390a15060009050808915611e5157601a5460155460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611def573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e1491906129de565b505060408051858152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601b805460ff60a01b19169055505050505050505050565b600754600654611e7b90426128fe565b1115611e8957611e89612610565b6000546001600160a01b03848116911614801590611eb557506000546001600160a01b03838116911614155b8015611eda57506001600160a01b0382166000908152600e602052604090205460ff16155b8015611ef457506002546001600160a01b03838116911614155b8015611f0e57506001546001600160a01b03838116911614155b8015611f285750601b546001600160a01b03838116911614155b8015611f3d57506001600160a01b0382163014155b156122d957601c54811115611f7d5760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610b63565b6001600160a01b038216600090815260086020526040902054601d54611fa38383612882565b1115611ffd5760405162461bcd60e51b815260206004820152602360248201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152621d5b9d60ea1b6064820152608401610b63565b6040805160028082526060820183526000926020830190803683375050601a54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015612067573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208b9190612941565b8160008151811061209e5761209e61292b565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106120d2576120d261292b565b6001600160a01b039283166020918202929092010152601a546040516307c0329d60e21b81526000929190911690631f00ca74906121169087908690600401612a0c565b600060405180830381865afa158015612133573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215b9190810190612a2d565b60008151811061216d5761216d61292b565b6020908102919091018101516001600160a01b0387166000908152600c90925260409091205490915060ff16151560011480156121ce57506001600160a01b0385166000908152600a602052604090205442906121cc90612a30612882565b105b80156121db575060055481115b1561224557601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f735208e3a5b6390fd1d199ec98f6689564f9d7fef06323849704a8856eeed5f4910160405180910390a16122d5565b6001600160a01b0385166000908152600c602052604090205460ff1615801561226f575060055481115b156122d557601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f735208e3a5b6390fd1d199ec98f6689564f9d7fef06323849704a8856eeed5f4910160405180910390a15b5050505b6000546001600160a01b0384811691161480159061230557506000546001600160a01b03838116911614155b801561232a57506001600160a01b0383166000908152600e602052604090205460ff16155b80156123445750601b546001600160a01b03848116911614155b801561235957506001600160a01b0382163014155b1561114e57601c548111156123995760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610b63565b6017546001600160a01b038481169116141561114e57601754600554604080516001600160a01b03909316835260208301919091527fec798f0f5328ec01f1d48922c12f488ecde2dae7402c814510a37d505cbdbb2a910160405180910390a161114e612610565b6001600160a01b0382166000908152600d602052604081205460ff168061244057506001600160a01b0382166000908152600d602052604090205460ff165b1561244d57506000610b33565b601b546001600160a01b03848116911614806124765750601b546001600160a01b038381169116145b1561248357506000610b33565b50600192915050565b601b5460009081906001600160a01b038581169116146124ae576013546124b2565b6014545b905060006124c56064611a5d868561254f565b306000908152600860205260409020549091506124e2908261142d565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125339085815260200190565b60405180910390a361254584826118b2565b9695505050505050565b60008261255e57506000610b33565b600061256a8385612aeb565b905082612577858361289a565b14610c565760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b63565b6000610c5683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263d565b601654601780546001600160a01b0319166001600160a01b03909216919091179055600060055542600655565b6000818361265e5760405162461bcd60e51b8152600401610b63919061266b565b5060006114bd848661289a565b600060208083528351808285015260005b818110156126985785810183015185820160400152820161267c565b818111156126aa576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610d0557600080fd5b600080604083850312156126e857600080fd5b82356126f3816126c0565b946020939093013593505050565b60008060006060848603121561271657600080fd5b8335612721816126c0565b92506020840135612731816126c0565b929592945050506040919091013590565b60006020828403121561275457600080fd5b8135610c56816126c0565b8015158114610d0557600080fd5b6000806040838503121561278057600080fd5b823561278b816126c0565b9150602083013561279b8161275f565b809150509250929050565b6000602082840312156127b857600080fd5b5035919050565b600080604083850312156127d257600080fd5b82356127dd816126c0565b9150602083013561279b816126c0565b60008060006060848603121561280257600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561282c57600080fd5b82356126f38161275f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156128955761289561286c565b500190565b6000826128b757634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600b908201526a496e76616c69642066656560a81b604082015260600190565b6000602082840312156128f357600080fd5b8151610c568161275f565b6000828210156129105761291061286c565b500390565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561295357600080fd5b8151610c56816126c0565b600081518084526020808501945080840160005b838110156129975781516001600160a01b031687529582019590820190600101612972565b509495945050505050565b85815284602082015260a0604082015260006129c160a083018661295e565b6001600160a01b0394909416606083015250608001529392505050565b6000806000606084860312156129f357600080fd5b8351925060208401519150604084015190509250925092565b828152604060208201526000612a25604083018461295e565b949350505050565b60006020808385031215612a4057600080fd5b825167ffffffffffffffff80821115612a5857600080fd5b818501915085601f830112612a6c57600080fd5b815181811115612a7e57612a7e612915565b8060051b604051601f19603f83011681018181108582111715612aa357612aa3612915565b604052918252848201925083810185019188831115612ac157600080fd5b938501935b82851015612adf57845184529385019392850192612ac6565b98975050505050505050565b6000816000190483118215151615612b0557612b0561286c565b50029056fea26469706673582212201f005fdb3cb578a57ef8e088e44c5e4cb47f7d0ed0ee7775fddd909b51a6e0e364736f6c634300080c0033
Deployed Bytecode
0x60806040526004361061037a5760003560e01c80638da5cb5b116101d1578063a9059cbb11610102578063df20fd49116100a0578063f84ba65d1161006f578063f84ba65d14610a3e578063f887ea4014610a5e578063fe2b6bc614610a7e578063fe575a8714610a9357600080fd5b8063df20fd49146109c9578063ea1644d5146109e9578063eb45e70914610a09578063f2fde38b14610a1e57600080fd5b8063cec10c11116100dc578063cec10c111461092d578063dbe1c4d51461094d578063dd62ed3e14610963578063dec2ba0f146109a957600080fd5b8063a9059cbb146108cd578063a9e59da3146108ed578063ca33e64c1461090d57600080fd5b80639e0a78101161016f578063a4b45c0011610149578063a4b45c0014610840578063a4f87a7a14610860578063a61779281461088d578063a8aa1b31146108ad57600080fd5b80639e0a7810146107d95780639f2bb2e9146107fa5780639f55eb4e1461081057600080fd5b806395d89b41116101ab57806395d89b411461075257806398118cb4146107835780639cfe42da146107995780639d0014b1146107b957600080fd5b80638da5cb5b146106d85780638eb6889f14610726578063944c1d971461073c57600080fd5b8063571ac8b0116102ab578063715018a6116102495780637de4c778116102235780637de4c7781461068b57806387b3be7d146106b8578063893d20e8146106d85780638b42507f146106f657600080fd5b8063715018a61461062857806375f0a8741461063d5780637d1db4a51461067557600080fd5b80636b67c4df116102855780636b67c4df146105a65780636c0a24eb146105bc57806370a08231146105d2578063712a890a1461060857600080fd5b8063571ac8b014610546578063658d4b7f1461056657806366e930b31461058657600080fd5b8063313ce567116103185780633f4218e0116102f25780633f4218e0146104ca57806346cf314f146104fa5780634a74bb02146105105780634fef3a821461053157600080fd5b8063313ce5671461048457806333596f50146104a05780633e02a988146104b557600080fd5b8063125b94e511610354578063125b94e51461042357806318160ddd1461043a57806323b872dd1461044f5780632b112e491461046f57600080fd5b80630445b6671461038657806306fdde03146103af578063095ea7b3146103f357600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5061039c601e5481565b6040519081526020015b60405180910390f35b3480156103bb57600080fd5b506040805180820190915260128152714361697368656e277320547265617375726560701b60208201525b6040516103a6919061266b565b3480156103ff57600080fd5b5061041361040e3660046126d5565b610acc565b60405190151581526020016103a6565b34801561042f57600080fd5b50610438610b39565b005b34801561044657600080fd5b5060045461039c565b34801561045b57600080fd5b5061041361046a366004612701565b610b98565b34801561047b57600080fd5b5061039c610c5d565b34801561049057600080fd5b50604051601281526020016103a6565b3480156104ac57600080fd5b50610438610caf565b3480156104c157600080fd5b5061039c610d08565b3480156104d657600080fd5b506104136104e5366004612742565b600d6020526000908152604090205460ff1681565b34801561050657600080fd5b5061039c60125481565b34801561051c57600080fd5b50601b5461041390600160a81b900460ff1681565b34801561053d57600080fd5b50610438610d1a565b34801561055257600080fd5b50610413610561366004612742565b610d65565b34801561057257600080fd5b5061043861058136600461276d565b610d73565b34801561059257600080fd5b506104386105a1366004612742565b610dc8565b3480156105b257600080fd5b5061039c60115481565b3480156105c857600080fd5b5061039c601d5481565b3480156105de57600080fd5b5061039c6105ed366004612742565b6001600160a01b031660009081526008602052604090205490565b34801561061457600080fd5b506104386106233660046127a6565b610e13565b34801561063457600080fd5b50610438610e42565b34801561064957600080fd5b5060165461065d906001600160a01b031681565b6040516001600160a01b0390911681526020016103a6565b34801561068157600080fd5b5061039c601c5481565b34801561069757600080fd5b5061039c6106a6366004612742565b600b6020526000908152604090205481565b3480156106c457600080fd5b5060175461065d906001600160a01b031681565b3480156106e457600080fd5b506000546001600160a01b031661065d565b34801561070257600080fd5b50610413610711366004612742565b600e6020526000908152604090205460ff1681565b34801561073257600080fd5b5061039c60055481565b34801561074857600080fd5b5061039c60075481565b34801561075e57600080fd5b50604080518082019091526008815267545245415355524560c01b60208201526103e6565b34801561078f57600080fd5b5061039c60105481565b3480156107a557600080fd5b506104386107b4366004612742565b610e78565b3480156107c557600080fd5b506104386107d43660046127a6565b610ee0565b3480156107e557600080fd5b5060185461041390600160a01b900460ff1681565b34801561080657600080fd5b5061039c60065481565b34801561081c57600080fd5b5061041361082b366004612742565b600c6020526000908152604090205460ff1681565b34801561084c57600080fd5b5061043861085b3660046127bf565b610f0f565b34801561086c57600080fd5b5061039c61087b366004612742565b600a6020526000908152604090205481565b34801561089957600080fd5b5060185461065d906001600160a01b031681565b3480156108b957600080fd5b50601b5461065d906001600160a01b031681565b3480156108d957600080fd5b506104136108e83660046126d5565b610f67565b3480156108f957600080fd5b506104386109083660046127a6565b610f74565b34801561091957600080fd5b5060155461065d906001600160a01b031681565b34801561093957600080fd5b506104386109483660046127ed565b611001565b34801561095957600080fd5b5061039c601f5481565b34801561096f57600080fd5b5061039c61097e3660046127bf565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156109b557600080fd5b506104386109c43660046126d5565b6110b3565b3480156109d557600080fd5b506104386109e4366004612819565b611153565b3480156109f557600080fd5b50610438610a043660046127a6565b61119f565b348015610a1557600080fd5b5061043861122c565b348015610a2a57600080fd5b50610438610a39366004612742565b61127f565b348015610a4a57600080fd5b50610438610a5936600461276d565b611317565b348015610a6a57600080fd5b50601a5461065d906001600160a01b031681565b348015610a8a57600080fd5b5061043861136c565b348015610a9f57600080fd5b50610413610aae366004612742565b6001600160a01b03166000908152600f602052604090205460ff1690565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b279086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b6c5760405162461bcd60e51b8152600401610b6390612837565b60405180910390fd5b60026010819055600460118190556012819055610b9391610b8d908261142d565b9061142d565b601355565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610c45576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610c2091849061148c565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610c508484846114c6565b50600190505b9392505050565b6002546001600160a01b0316600090815260086020526040812054610caa906001546001600160a01b0316600090815260086020526040902054610ca490600454906118b2565b906118b2565b905090565b6000546001600160a01b03163314610cd95760405162461bcd60e51b8152600401610b6390612837565b60405133904780156108fc02916000818181858888f19350505050158015610d05573d6000803e3d6000fd5b50565b6000600754600654610caa9190612882565b6000546001600160a01b03163314610d445760405162461bcd60e51b8152600401610b6390612837565b60016010819055601181905560086012819055610b9391610b8d908061142d565b6000610b3382600019610acc565b6000546001600160a01b03163314610d9d5760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610df25760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b03163314610e3d5760405162461bcd60e51b8152600401610b6390612837565b600755565b6000546001600160a01b03163314610e6c5760405162461bcd60e51b8152600401610b6390612837565b610e7660006118f4565b565b6000546001600160a01b03163314610ea25760405162461bcd60e51b8152600401610b6390612837565b601954610eb190610a8c612882565b4210610ebc57600080fd5b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b8152600401610b6390612837565b601e55565b6000546001600160a01b03163314610f395760405162461bcd60e51b8152600401610b6390612837565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000610c563384846114c6565b6000546001600160a01b03163314610f9e5760405162461bcd60e51b8152600401610b6390612837565b600a600454610fad919061289a565b811015610ffc5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610b63565b601c55565b6000546001600160a01b0316331461102b5760405162461bcd60e51b8152600401610b6390612837565b600a83111561104c5760405162461bcd60e51b8152600401610b63906128bc565b600a82111561106d5760405162461bcd60e51b8152600401610b63906128bc565b600a81111561108e5760405162461bcd60e51b8152600401610b63906128bc565b6010839055601182905560128190556110ab81610b8d858561142d565b601355505050565b6000546001600160a01b031633146110dd5760405162461bcd60e51b8152600401610b6390612837565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561112a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114e91906128e1565b505050565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610b6390612837565b601b8054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000546001600160a01b031633146111c95760405162461bcd60e51b8152600401610b6390612837565b60326004546111d8919061289a565b8110156112275760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610b63565b601d55565b6000546001600160a01b031633146112565760405162461bcd60e51b8152600401610b6390612837565b601b805460ff60a81b19169055600019601c819055601d55600060118190556012819055601055565b6000546001600160a01b031633146112a95760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03811661130e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b63565b610d05816118f4565b6000546001600160a01b031633146113415760405162461bcd60e51b8152600401610b6390612837565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146113965760405162461bcd60e51b8152600401610b6390612837565b601854600160a01b900460ff16156113e35760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610b63565b6018805460ff60a01b1916600160a01b179055426019819055601654601780546001600160a01b0319166001600160a01b0390921691909117905560006005556004601255600655565b60008061143a8385612882565b905083811015610c565760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b63565b600081848411156114b05760405162461bcd60e51b8152600401610b63919061266b565b5060006114bd84866128fe565b95945050505050565b6001600160a01b0383166000908152600f602052604081205460ff16151560011480159061151257506001600160a01b0383166000908152600f602052604090205460ff161515600114155b61154c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610b63565b601b54600160a01b900460ff161561157057611569848484611944565b9050610c56565b601b546001600160a01b031633148015906115955750601b54600160a01b900460ff16155b80156115aa5750601b54600160a81b900460ff165b80156115c75750601e543060009081526008602052604090205410155b156115d4576115d4611a2a565b6115df848484611e6b565b6115e98484612401565b156116245760405162461bcd60e51b815260206004820152600b60248201526a111bdb89dd0818da19585d60aa1b6044820152606401610b63565b6001600160a01b0384166000908152600d602052604081205460ff1615801561166657506001600160a01b0384166000908152600d602052604090205460ff16155b611670578261167b565b61167b85858561248c565b601854909150600160a01b900460ff1615156001148015906116ab5750601b546001600160a01b03858116911614155b80156116c557506000546001600160a01b03868116911614155b80156116df57506000546001600160a01b03858116911614155b1561175d576001600160a01b038416600090815260086020526040902054611707908261142d565b6001600160a01b03808616600090815260086020526040808220939093559087168152205461173690846118b2565b6001600160a01b03861660009081526008602052604090205561175884610ebc565b611867565b6000546001600160a01b038681169116148061178657506000546001600160a01b038581169116145b156117fb576001600160a01b0384166000908152600860205260409020546117ae908261142d565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546117dd90846118b2565b6001600160a01b038616600090815260086020526040902055611867565b6001600160a01b03841660009081526008602052604090205461181e908261142d565b6001600160a01b03808616600090815260086020526040808220939093559087168152205461184d90846118b2565b6001600160a01b0386166000908152600860205260409020555b6040518181526001600160a01b0385169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b6000610c5683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061148c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461199591849061148c565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546119c4908361142d565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a189086815260200190565b60405180910390a35060019392505050565b601b805460ff60a01b1916600160a01b179055601e54601354601054600091611a6391600291611a5d918290879061254f565b906125ce565b90506000611a7183836118b2565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611aab57611aab61292b565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b289190612941565b81600181518110611b3b57611b3b61292b565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b815291169063791ac94790611b819085906000908690309042906004016129a2565b600060405180830381600087803b158015611b9b57600080fd5b505af1158015611baf573d6000803e3d6000fd5b505060105447925060009150611bd390611bca9060026125ce565b601354906118b2565b90506000611bf082611a5d6011548661254f90919063ffffffff16565b90506000611c0d83611a5d6012548761254f90919063ffffffff16565b90506000611c2f6002611a5d86611a5d6010548a61254f90919063ffffffff16565b6016546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611c86576040519150601f19603f3d011682016040523d82523d6000602084013e611c8b565b606091505b50506017546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611ce4576040519150601f19603f3d011682016040523d82523d6000602084013e611ce9565b606091505b5050601780546001600160a01b039081166000908152600b602090815260408083208a9055845484168352600c8252808320805460ff19166001179055845484168352600a82529182902042905592548151921682529181018790529192507f887dd9f57395c2e1e0dea455ae76bf56410b19b3131f2a590aab0b29b3683632910160405180910390a15060009050808915611e5157601a5460155460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611def573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e1491906129de565b505060408051858152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601b805460ff60a01b19169055505050505050505050565b600754600654611e7b90426128fe565b1115611e8957611e89612610565b6000546001600160a01b03848116911614801590611eb557506000546001600160a01b03838116911614155b8015611eda57506001600160a01b0382166000908152600e602052604090205460ff16155b8015611ef457506002546001600160a01b03838116911614155b8015611f0e57506001546001600160a01b03838116911614155b8015611f285750601b546001600160a01b03838116911614155b8015611f3d57506001600160a01b0382163014155b156122d957601c54811115611f7d5760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610b63565b6001600160a01b038216600090815260086020526040902054601d54611fa38383612882565b1115611ffd5760405162461bcd60e51b815260206004820152602360248201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152621d5b9d60ea1b6064820152608401610b63565b6040805160028082526060820183526000926020830190803683375050601a54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015612067573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208b9190612941565b8160008151811061209e5761209e61292b565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106120d2576120d261292b565b6001600160a01b039283166020918202929092010152601a546040516307c0329d60e21b81526000929190911690631f00ca74906121169087908690600401612a0c565b600060405180830381865afa158015612133573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215b9190810190612a2d565b60008151811061216d5761216d61292b565b6020908102919091018101516001600160a01b0387166000908152600c90925260409091205490915060ff16151560011480156121ce57506001600160a01b0385166000908152600a602052604090205442906121cc90612a30612882565b105b80156121db575060055481115b1561224557601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f735208e3a5b6390fd1d199ec98f6689564f9d7fef06323849704a8856eeed5f4910160405180910390a16122d5565b6001600160a01b0385166000908152600c602052604090205460ff1615801561226f575060055481115b156122d557601780546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f735208e3a5b6390fd1d199ec98f6689564f9d7fef06323849704a8856eeed5f4910160405180910390a15b5050505b6000546001600160a01b0384811691161480159061230557506000546001600160a01b03838116911614155b801561232a57506001600160a01b0383166000908152600e602052604090205460ff16155b80156123445750601b546001600160a01b03848116911614155b801561235957506001600160a01b0382163014155b1561114e57601c548111156123995760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610b63565b6017546001600160a01b038481169116141561114e57601754600554604080516001600160a01b03909316835260208301919091527fec798f0f5328ec01f1d48922c12f488ecde2dae7402c814510a37d505cbdbb2a910160405180910390a161114e612610565b6001600160a01b0382166000908152600d602052604081205460ff168061244057506001600160a01b0382166000908152600d602052604090205460ff165b1561244d57506000610b33565b601b546001600160a01b03848116911614806124765750601b546001600160a01b038381169116145b1561248357506000610b33565b50600192915050565b601b5460009081906001600160a01b038581169116146124ae576013546124b2565b6014545b905060006124c56064611a5d868561254f565b306000908152600860205260409020549091506124e2908261142d565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125339085815260200190565b60405180910390a361254584826118b2565b9695505050505050565b60008261255e57506000610b33565b600061256a8385612aeb565b905082612577858361289a565b14610c565760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b63565b6000610c5683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263d565b601654601780546001600160a01b0319166001600160a01b03909216919091179055600060055542600655565b6000818361265e5760405162461bcd60e51b8152600401610b63919061266b565b5060006114bd848661289a565b600060208083528351808285015260005b818110156126985785810183015185820160400152820161267c565b818111156126aa576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610d0557600080fd5b600080604083850312156126e857600080fd5b82356126f3816126c0565b946020939093013593505050565b60008060006060848603121561271657600080fd5b8335612721816126c0565b92506020840135612731816126c0565b929592945050506040919091013590565b60006020828403121561275457600080fd5b8135610c56816126c0565b8015158114610d0557600080fd5b6000806040838503121561278057600080fd5b823561278b816126c0565b9150602083013561279b8161275f565b809150509250929050565b6000602082840312156127b857600080fd5b5035919050565b600080604083850312156127d257600080fd5b82356127dd816126c0565b9150602083013561279b816126c0565b60008060006060848603121561280257600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561282c57600080fd5b82356126f38161275f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156128955761289561286c565b500190565b6000826128b757634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600b908201526a496e76616c69642066656560a81b604082015260600190565b6000602082840312156128f357600080fd5b8151610c568161275f565b6000828210156129105761291061286c565b500390565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561295357600080fd5b8151610c56816126c0565b600081518084526020808501945080840160005b838110156129975781516001600160a01b031687529582019590820190600101612972565b509495945050505050565b85815284602082015260a0604082015260006129c160a083018661295e565b6001600160a01b0394909416606083015250608001529392505050565b6000806000606084860312156129f357600080fd5b8351925060208401519150604084015190509250925092565b828152604060208201526000612a25604083018461295e565b949350505050565b60006020808385031215612a4057600080fd5b825167ffffffffffffffff80821115612a5857600080fd5b818501915085601f830112612a6c57600080fd5b815181811115612a7e57612a7e612915565b8060051b604051601f19603f83011681018181108582111715612aa357612aa3612915565b604052918252848201925083810185019188831115612ac157600080fd5b938501935b82851015612adf57845184529385019392850192612ac6565b98975050505050505050565b6000816000190483118215151615612b0557612b0561286c565b50029056fea26469706673582212201f005fdb3cb578a57ef8e088e44c5e4cb47f7d0ed0ee7775fddd909b51a6e0e364736f6c634300080c0033
Deployed Bytecode Sourcemap
6819:16260:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8617:49;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8617:49:0;;;;;;;;9924:94;;;;;;;;;;-1:-1:-1;10005:5:0;;;;;;;;;;;;-1:-1:-1;;;10005:5:0;;;;9924:94;;;;;;;:::i;11826:248::-;;;;;;;;;;-1:-1:-1;11826:248:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;11826:248:0;1254:187:1;13466:200:0;;;;;;;;;;;;;:::i;:::-;;10336:102;;;;;;;;;;-1:-1:-1;10418:12:0;;10336:102;;17356:423;;;;;;;;;;-1:-1:-1;17356:423:0;;;;;:::i;:::-;;:::i;10446:142::-;;;;;;;;;;;;;:::i;10132:94::-;;;;;;;;;;-1:-1:-1;10132:94:0;;7027:2;2049:36:1;;2037:2;2022:18;10132:94:0;1907:184:1;22788:115:0;;;;;;;;;;;;;:::i;13142:108::-;;;;;;;;;;;;;:::i;7765:43::-;;;;;;;;;;-1:-1:-1;7765:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8054:26;;;;;;;;;;;;;;;;8463:40;;;;;;;;;;-1:-1:-1;8463:40:0;;;;-1:-1:-1;;;8463:40:0;;;;;;13258:200;;;;;;;;;;;;;:::i;12082:108::-;;;;;;;;;;-1:-1:-1;12082:108:0;;;;;:::i;:::-;;:::i;12198:119::-;;;;;;;;;;-1:-1:-1;12198:119:0;;;;;:::i;:::-;;:::i;14532:106::-;;;;;;;;;;-1:-1:-1;14532:106:0;;;;;:::i;:::-;;:::i;8016:31::-;;;;;;;;;;;;;;;;8559:51;;;;;;;;;;;;;;;;10596:119;;;;;;;;;;-1:-1:-1;10596:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;10689:18:0;10662:7;10689:18;;;:9;:18;;;;;;;10596:119;12844:146;;;;;;;;;;-1:-1:-1;12844:146:0;;;;;:::i;:::-;;:::i;6072:94::-;;;;;;;;;;;;;:::i;8209:30::-;;;;;;;;;;-1:-1:-1;8209:30:0;;;;-1:-1:-1;;;;;8209:30:0;;;;;;-1:-1:-1;;;;;3207:32:1;;;3189:51;;3177:2;3162:18;8209:30:0;3043:203:1;8510:42:0;;;;;;;;;;;;;;;;7659;;;;;;;;;;-1:-1:-1;7659:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;8246:19;;;;;;;;;;-1:-1:-1;8246:19:0;;;;-1:-1:-1;;;;;8246:19:0;;;10234:94;;;;;;;;;;-1:-1:-1;10286:7:0;5494:6;-1:-1:-1;;;;;5494:6:0;10234:94;10446:142;7815:47;;;;;;;;;;-1:-1:-1;7815:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7371:29;;;;;;;;;;;;;;;;7447:39;;;;;;;;;;;;;;;;10026:98;;;;;;;;;;-1:-1:-1;10109:7:0;;;;;;;;;;;;-1:-1:-1;;;10109:7:0;;;;10026:98;;7978:31;;;;;;;;;;;;;;;;14359:165;;;;;;;;;;-1:-1:-1;14359:165:0;;;;;:::i;:::-;;:::i;12483:108::-;;;;;;;;;;-1:-1:-1;12483:108:0;;;;;:::i;:::-;;:::i;8310:31::-;;;;;;;;;;-1:-1:-1;8310:31:0;;;;-1:-1:-1;;;8310:31:0;;;;;;7407:33;;;;;;;;;;;;;;;;7708:50;;;;;;;;;;-1:-1:-1;7708:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12599:237;;;;;;;;;;-1:-1:-1;12599:237:0;;;;;:::i;:::-;;:::i;7603:49::-;;;;;;;;;;-1:-1:-1;7603:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;8272:29;;;;;;;;;;-1:-1:-1;8272:29:0;;;;-1:-1:-1;;;;;8272:29:0;;;8407:19;;;;;;;;;;-1:-1:-1;8407:19:0;;;;-1:-1:-1;;;;;8407:19:0;;;17160:188;;;;;;;;;;-1:-1:-1;17160:188:0;;;;;:::i;:::-;;:::i;14169:182::-;;;;;;;;;;-1:-1:-1;14169:182:0;;;;;:::i;:::-;;:::i;8166:36::-;;;;;;;;;;-1:-1:-1;8166:36:0;;;;-1:-1:-1;;;;;8166:36:0;;;10949:673;;;;;;;;;;-1:-1:-1;10949:673:0;;;;;:::i;:::-;;:::i;8673:29::-;;;;;;;;;;;;;;;;11630:188;;;;;;;;;;-1:-1:-1;11630:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;11782:19:0;;;11750:7;11782:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;11630:188;22911:165;;;;;;;;;;-1:-1:-1;22911:165:0;;;;;:::i;:::-;;:::i;16934:218::-;;;;;;;;;;-1:-1:-1;16934:218:0;;;;;:::i;:::-;;:::i;13979:182::-;;;;;;;;;;-1:-1:-1;13979:182:0;;;;;:::i;:::-;;:::i;10723:218::-;;;;;;;;;;;;;:::i;6321:192::-;;;;;;;;;;-1:-1:-1;6321:192:0;;;;;:::i;:::-;;:::i;12325:150::-;;;;;;;;;;-1:-1:-1;12325:150:0;;;;;:::i;:::-;;:::i;8376:24::-;;;;;;;;;;-1:-1:-1;8376:24:0;;;;-1:-1:-1;;;;;8376:24:0;;;13674:297;;;;;;;;;;;;;:::i;14646:120::-;;;;;;;;;;-1:-1:-1;14646:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;14733:25:0;14709:4;14733:25;;;:16;:25;;;;;;;;;14646:120;11826:248;11962:10;11928:4;11950:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;11950:32:0;;;;;;;;;;:41;;;12007:37;11928:4;;11950:32;;12007:37;;;;11985:6;160:25:1;;148:2;133:18;;14:177;12007:37:0;;;;;;;;-1:-1:-1;12062:4:0;11826:248;;;;;:::o;13466:200::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;;;;;;;;;13543:1:::1;13528:12;:16:::0;;;13570:1:::1;13555:12;:16:::0;;;13582:7:::1;:11:::0;;;13615:43:::1;::::0;:30:::1;::::0;13570:1;13615:16:::1;:30::i;:::-;:34:::0;::::1;:43::i;:::-;13604:8;:54:::0;13466:200::o;17356:423::-;-1:-1:-1;;;;;17511:19:0;;17490:4;17511:19;;;:11;:19;;;;;;;;17531:10;17511:31;;;;;;;;-1:-1:-1;;17511:38:0;17507:192;;17600:87;;;;;;;;;;;-1:-1:-1;;;17600:87:0;;;;;;;;-1:-1:-1;;;;;17600:19:0;;-1:-1:-1;17600:19:0;;;:11;:19;;;;;17620:10;17600:31;;;;;;;;;;:87;;17654:6;;17600:53;:87::i;:::-;-1:-1:-1;;;;;17566:19:0;;;;;;:11;:19;;;;;;;;17586:10;17566:31;;;;;;;:121;17507:192;17709:40;17723:6;17731:9;17742:6;17709:13;:40::i;:::-;;17767:4;17760:11;;17356:423;;;;;;:::o;10446:142::-;10574:4;;-1:-1:-1;;;;;10574:4:0;10499:7;10689:18;;;:9;:18;;;;;;10526:54;;10553:4;;-1:-1:-1;;;;;10553:4:0;10662:7;10689:18;;;:9;:18;;;;;;10526:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;10519:61;;10446:142;:::o;22788:115::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;22844:51:::1;::::0;22852:10:::1;::::0;22873:21:::1;22844:51:::0;::::1;;;::::0;::::1;::::0;;;22873:21;22852:10;22844:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22788:115::o:0;13142:108::-;13187:7;13231:11;;13214:14;;:28;;;;:::i;13258:200::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;13335:1:::1;13320:12;:16:::0;;;13347:12:::1;:16:::0;;;13384:1:::1;13374:7;:11:::0;;;13407:43:::1;::::0;:30:::1;::::0;13335:1;13407:16:::1;:30::i;12082:108::-:0;12137:4;12161:21;12169:7;-1:-1:-1;;12161:7:0;:21::i;12198:119::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12281:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;12281:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12198:119::o;14532:106::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14602:22:0::1;14625:5;14602:22:::0;;;:16:::1;:22;::::0;;;;:28;;-1:-1:-1;;14602:28:0::1;::::0;;14532:106::o;12844:146::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;12954:11:::1;:28:::0;12844:146::o;6072:94::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;6137:21:::1;6155:1;6137:9;:21::i;:::-;6072:94::o:0;14359:165::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;14451:11:::1;::::0;:24:::1;::::0;14465:10:::1;14451:24;:::i;:::-;14433:15;:42;14425:51;;;::::0;::::1;;-1:-1:-1::0;;;;;14487:22:0::1;;::::0;;;:16:::1;:22;::::0;;;;:27;;-1:-1:-1;;14487:27:0::1;14510:4;14487:27;::::0;;14359:165::o;12483:108::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;12558:13:::1;:25:::0;12483:108::o;12599:237::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;12737:21:::1;:44:::0;;-1:-1:-1;;;;;12737:44:0;;::::1;-1:-1:-1::0;;;;;;12737:44:0;;::::1;;::::0;;;12792:15:::1;:36:::0;;;;;::::1;::::0;::::1;;::::0;;12599:237::o;17160:188::-;17267:4;17296:44;17310:10;17322:9;17333:6;17296:13;:44::i;14169:182::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;14276:2:::1;14262:12;;:16;;;;:::i;:::-;14254:6;:24;;14246:63;;;::::0;-1:-1:-1;;;14246:63:0;;5555:2:1;14246:63:0::1;::::0;::::1;5537:21:1::0;5594:2;5574:18;;;5567:30;5633:28;5613:18;;;5606:56;5679:18;;14246:63:0::1;5353:350:1::0;14246:63:0::1;14320:12;:21:::0;14169:182::o;10949:673::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;11165:2:::1;11146:15;:21;;11100:106;;;;-1:-1:-1::0;;;11100:106:0::1;;;;;;;:::i;:::-;11284:2;11265:15;:21;;11219:106;;;;-1:-1:-1::0;;;11219:106:0::1;;;;;;;:::i;:::-;11393:2;11379:10;:16;;11338:96;;;;-1:-1:-1::0;;;11338:96:0::1;;;;;;;:::i;:::-;11447:12;:30:::0;;;11488:12:::1;:30:::0;;;11529:7:::1;:20:::0;;;11571:43:::1;11539:10:::0;11571:30:::1;11462:15:::0;11503;11571:16:::1;:30::i;:43::-;11560:8;:54:::0;-1:-1:-1;;;10949:673:0:o;22911:165::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;23024:44:::1;::::0;-1:-1:-1;;;23024:44:0;;23048:10:::1;23024:44;::::0;::::1;6222:51:1::0;6289:18;;;6282:34;;;-1:-1:-1;;;;;23024:23:0;::::1;::::0;::::1;::::0;6195:18:1;;23024:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22911:165:::0;;:::o;16934:218::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;17063:21:::1;:38:::0;;;::::1;;-1:-1:-1::0;;;17063:38:0::1;-1:-1:-1::0;;;;17063:38:0;;::::1;::::0;;;::::1;::::0;;;17112:13:::1;:32:::0;16934:218::o;13979:182::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;14082:2:::1;14067:12;;:17;;;;:::i;:::-;14059:6;:25;;14051:64;;;::::0;-1:-1:-1;;;14051:64:0;;5555:2:1;14051:64:0::1;::::0;::::1;5537:21:1::0;5594:2;5574:18;;;5567:30;5633:28;5613:18;;;5606:56;5679:18;;14051:64:0::1;5353:350:1::0;14051:64:0::1;14126:16;:25:::0;13979:182::o;10723:218::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;10778:21:::1;:27:::0;;-1:-1:-1;;;;10778:27:0::1;::::0;;-1:-1:-1;;10816:12:0::1;:16:::0;;;10843::::1;:20:::0;10800:5:::1;10874:12;:14:::0;;;10899:7:::1;:9:::0;;;10919:12:::1;:14:::0;10723:218::o;6321:192::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6410:22:0;::::1;6402:73;;;::::0;-1:-1:-1;;;6402:73:0;;6779:2:1;6402:73:0::1;::::0;::::1;6761:21:1::0;6818:2;6798:18;;;6791:30;6857:34;6837:18;;;6830:62;-1:-1:-1;;;6908:18:1;;;6901:36;6954:19;;6402:73:0::1;6577:402:1::0;6402:73:0::1;6486:19;6496:8;6486:9;:19::i;12325:150::-:0;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12435:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;12435:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12325:150::o;13674:297::-;5467:7;5494:6;-1:-1:-1;;;;;5494:6:0;4377:10;5641:23;5633:68;;;;-1:-1:-1;;;5633:68:0;;;;;;;:::i;:::-;13730:11:::1;::::0;-1:-1:-1;;;13730:11:0;::::1;;;:20;13721:50;;;::::0;-1:-1:-1;;;13721:50:0;;7186:2:1;13721:50:0::1;::::0;::::1;7168:21:1::0;7225:2;7205:18;;;7198:30;-1:-1:-1;;;7244:18:1;;;7237:46;7300:18;;13721:50:0::1;6984:340:1::0;13721:50:0::1;13782:11;:18:::0;;-1:-1:-1;;;;13782:18:0::1;-1:-1:-1::0;;;13782:18:0::1;::::0;;13825:15:::1;13811:11;:29:::0;;;13858:15:::1;::::0;13851:4:::1;:22:::0;;-1:-1:-1;;;;;;13851:22:0::1;-1:-1:-1::0;;;;;13858:15:0;;::::1;13851:22:::0;;;::::1;::::0;;13782:18;13884:10:::1;:14:::0;13919:1:::1;-1:-1:-1::0;13909:11:0;-1:-1:-1;13931:32:0;13674:297::o;173:179::-;231:7;;263:5;267:1;263;:5;:::i;:::-;251:17;;292:1;287;:6;;279:46;;;;-1:-1:-1;;;279:46:0;;7531:2:1;279:46:0;;;7513:21:1;7570:2;7550:18;;;7543:30;7609:29;7589:18;;;7582:57;7656:18;;279:46:0;7329:351:1;504:224:0;624:7;660:12;652:6;;;;644:29;;;;-1:-1:-1;;;644:29:0;;;;;;;;:::i;:::-;-1:-1:-1;684:9:0;696:5;700:1;696;:5;:::i;:::-;684:17;504:224;-1:-1:-1;;;;;504:224:0:o;17787:1687::-;-1:-1:-1;;;;;17938:24:0;;17913:4;17938:24;;;:16;:24;;;;;;;;:30;;:24;:30;;;;:67;;-1:-1:-1;;;;;;17972:27:0;;;;;;:16;:27;;;;;;;;:33;;:27;:33;;17938:67;17930:91;;;;-1:-1:-1;;;17930:91:0;;8017:2:1;17930:91:0;;;7999:21:1;8056:2;8036:18;;;8029:30;-1:-1:-1;;;8075:18:1;;;8068:41;8126:18;;17930:91:0;7815:335:1;17930:91:0;18036:16;;-1:-1:-1;;;18036:16:0;;;;18032:97;;;18076:41;18091:6;18099:9;18110:6;18076:14;:41::i;:::-;18069:48;;;;18032:97;18171:4;;-1:-1:-1;;;;;18171:4:0;18157:10;:18;;;;:52;;-1:-1:-1;18193:16:0;;-1:-1:-1;;;18193:16:0;;;;18192:17;18157:52;:90;;;;-1:-1:-1;18226:21:0;;-1:-1:-1;;;18226:21:0;;;;18157:90;:148;;;;-1:-1:-1;18292:13:0;;18282:4;18264:24;;;;:9;:24;;;;;;:41;;18157:148;18139:215;;;18332:10;:8;:10::i;:::-;18364:40;18378:6;18386:9;18397:6;18364:13;:40::i;:::-;18424:35;18441:6;18449:9;18424:16;:35::i;:::-;18423:36;18415:60;;;;-1:-1:-1;;;18415:60:0;;8357:2:1;18415:60:0;;;8339:21:1;8396:2;8376:18;;;8369:30;-1:-1:-1;;;8415:18:1;;;8408:41;8466:18;;18415:60:0;8155:335:1;18415:60:0;-1:-1:-1;;;;;18514:19:0;;18488:22;18514:19;;;:11;:19;;;;;;;;18513:20;:47;;;;-1:-1:-1;;;;;;18538:22:0;;;;;;:11;:22;;;;;;;;18537:23;18513:47;:119;;18626:6;18513:119;;;18576:34;18584:6;18592:9;18603:6;18576:7;:34::i;:::-;18649:11;;18488:144;;-1:-1:-1;;;;18649:11:0;;;;:18;;18663:4;18649:18;;;;:38;;-1:-1:-1;18683:4:0;;-1:-1:-1;;;;;18671:16:0;;;18683:4;;18671:16;;18649:38;:57;;;;-1:-1:-1;5467:7:0;5494:6;-1:-1:-1;;;;;18691:15:0;;;5494:6;;18691:15;;18649:57;:79;;;;-1:-1:-1;5467:7:0;5494:6;-1:-1:-1;;;;;18710:18:0;;;5494:6;;18710:18;;18649:79;18645:737;;;-1:-1:-1;;;;;18778:20:0;;;;;;:9;:20;;;;;;:40;;18803:14;18778:24;:40::i;:::-;-1:-1:-1;;;;;18755:20:0;;;;;;;:9;:20;;;;;;:63;;;;18853:17;;;;;;;:29;;18875:6;18853:21;:29::i;:::-;-1:-1:-1;;;;;18833:17:0;;;;;;:9;:17;;;;;:49;18920:24;18934:9;18920:13;:24::i;:::-;18645:737;;;5467:7;5494:6;-1:-1:-1;;;;;18975:15:0;;;5494:6;;18975:15;;:37;;-1:-1:-1;5467:7:0;5494:6;-1:-1:-1;;;;;18994:18:0;;;5494:6;;18994:18;18975:37;18971:411;;;-1:-1:-1;;;;;19062:20:0;;;;;;:9;:20;;;;;;:40;;19087:14;19062:24;:40::i;:::-;-1:-1:-1;;;;;19039:20:0;;;;;;;:9;:20;;;;;;:63;;;;19137:17;;;;;;;:29;;19159:6;19137:21;:29::i;:::-;-1:-1:-1;;;;;19117:17:0;;;;;;:9;:17;;;;;:49;18971:411;;;-1:-1:-1;;;;;19265:20:0;;;;;;:9;:20;;;;;;:40;;19290:14;19265:24;:40::i;:::-;-1:-1:-1;;;;;19242:20:0;;;;;;;:9;:20;;;;;;:63;;;;19341:17;;;;;;;:29;;19363:6;19341:21;:29::i;:::-;-1:-1:-1;;;;;19321:17:0;;;;;;:9;:17;;;;;:49;18971:411;19397:47;;160:25:1;;;-1:-1:-1;;;;;19397:47:0;;;19406:10;;19397:47;;148:2:1;133:18;19397:47:0;;;;;;;-1:-1:-1;19462:4:0;;17787:1687;-1:-1:-1;;;;17787:1687:0:o;360:136::-;418:7;445:43;449:1;452;445:43;;;;;;;;;;;;;;;;;:3;:43::i;6521:173::-;6577:16;6596:6;;-1:-1:-1;;;;;6613:17:0;;;-1:-1:-1;;;;;;6613:17:0;;;;;;6646:40;;6596:6;;;;;;;6646:40;;6577:16;6646:40;6566:128;6521:173;:::o;19482:401::-;19646:90;;;;;;;;;;;-1:-1:-1;;;19646:90:0;;;;;;;;-1:-1:-1;;;;;19646:17:0;;19609:4;19646:17;;;:9;:17;;;;;;;:90;;19682:6;;19646:21;:90::i;:::-;-1:-1:-1;;;;;19626:17:0;;;;;;;:9;:17;;;;;;:110;;;;19770:20;;;;;;;:32;;19795:6;19770:24;:32::i;:::-;-1:-1:-1;;;;;19747:20:0;;;;;;;:9;:20;;;;;;;:55;;;;19818:35;;;;;;;;;;19846:6;160:25:1;;148:2;133:18;;14:177;19818:35:0;;;;;;;;-1:-1:-1;19871:4:0;19482:401;;;;;:::o;20734:2046::-;8745:16;:23;;-1:-1:-1;;;;8745:23:0;-1:-1:-1;;;8745:23:0;;;20875:13:::1;::::0;20991:8:::1;::::0;20959:12:::1;::::0;8745:23;;20925:96:::1;::::0;21019:1:::1;::::0;20925:75:::1;::::0;;;20875:13;;20925:33:::1;:47::i;:::-;:65:::0;::::1;:75::i;:96::-;20899:122:::0;-1:-1:-1;21032:20:0::1;21055:36;:15:::0;20899:122;21055:19:::1;:36::i;:::-;21128:16;::::0;;21142:1:::1;21128:16:::0;;;;;::::1;::::0;;21032:59;;-1:-1:-1;21104:21:0::1;::::0;21128:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21128:16:0::1;21104:40;;21173:4;21155;21160:1;21155:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21155:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;21199:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;21199:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;21155:7;;21199:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21189:4;21194:1;21189:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21189:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;21225:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;21225:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;21297:12;;21225:6:::1;::::0;21340:4;;21367::::1;::::0;21387:15:::1;::::0;21225:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;21513:12:0::1;::::0;21446:21:::1;::::0;-1:-1:-1;21426:17:0::1;::::0;-1:-1:-1;21500:33:0::1;::::0;21513:19:::1;::::0;21530:1:::1;21513:16;:19::i;:::-;21500:8;::::0;;:12:::1;:33::i;:::-;21478:55;;21544:26;21573:68;21619:11;21573:27;21587:12;;21573:9;:13;;:27;;;;:::i;:68::-;21544:97;;21652:21;21676:39;21703:11;21676:22;21690:7;;21676:9;:13;;:22;;;;:::i;:39::-;21652:63;;21726:26;21755:93;21846:1;21755:72;21815:11;21755:41;21783:12;;21755:9;:27;;:41;;;;:::i;:93::-;21891:15;::::0;21883:109:::1;::::0;21726:122;;-1:-1:-1;21862:15:0::1;::::0;-1:-1:-1;;;;;21891:15:0;;::::1;::::0;21972:5:::1;::::0;21934:18;;21862:15;21883:109;21862:15;21883:109;21934:18;21891:15;21972:5;21883:109:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;22034:4:0::1;::::0;22026:93:::1;::::0;21861:131;;-1:-1:-1;22004:16:0::1;::::0;-1:-1:-1;;;;;22034:4:0;;::::1;::::0;22099:5:::1;::::0;22066:13;;22004:16;22026:93;22004:16;22026:93;22066:13;22034:4;22099:5;22026:93:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;22140:4:0::1;::::0;;-1:-1:-1;;;;;22140:4:0;;::::1;22132:13;::::0;;;:7:::1;:13;::::0;;;;;;;:27;;;22189:4;;;::::1;22170:24:::0;;:18:::1;:24:::0;;;;;:29;;-1:-1:-1;;22170:29:0::1;22140:4:::0;22170:29:::1;::::0;;22225:4;;;::::1;22210:20:::0;;:14:::1;:20:::0;;;;;;22233:15:::1;22210:38:::0;;22275:4;;22264:31;;22275:4;::::1;6222:51:1::0;;6289:18;;;6282:34;;;22003:116:0;;-1:-1:-1;22264:31:0::1;::::0;6195:18:1;22264:31:0::1;;;;;;;-1:-1:-1::0;22361:5:0::1;::::0;-1:-1:-1;22361:5:0;22413:19;;22409:364:::1;;22449:6;::::0;22623:21:::1;::::0;22449:244:::1;::::0;-1:-1:-1;;;22449:244:0;;22525:4:::1;22449:244;::::0;::::1;10619:34:1::0;10669:18;;;10662:34;;;22449:6:0::1;10712:18:1::0;;;10705:34;;;10755:18;;;10748:34;-1:-1:-1;;;;;22623:21:0;;::::1;10798:19:1::0;;;10791:44;22663:15:0::1;10851:19:1::0;;;10844:35;22449:6:0;::::1;::::0;:22:::1;::::0;22479:18;;10553:19:1;;22449:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;22713:48:0::1;::::0;;11375:25:1;;;11431:2;11416:18;;11409:34;;;22713:48:0::1;::::0;-1:-1:-1;11348:18:1;22713:48:0::1;;;;;;;22409:364;-1:-1:-1::0;;8791:16:0;:24;;-1:-1:-1;;;;8791:24:0;;;-1:-1:-1;;;;;;;;;20734:2046:0:o;14875:2051::-;15042:11;;15025:14;;15007:32;;:15;:32;:::i;:::-;:46;15003:87;;;15070:8;:6;:8::i;:::-;5467:7;5494:6;-1:-1:-1;;;;;15118:17:0;;;5494:6;;15118:17;;;;:54;;-1:-1:-1;5467:7:0;5494:6;-1:-1:-1;;;;;15152:20:0;;;5494:6;;15152:20;;15118:54;:98;;;;-1:-1:-1;;;;;;15190:26:0;;;;;;:15;:26;;;;;;;;15189:27;15118:98;:132;;;;-1:-1:-1;15246:4:0;;-1:-1:-1;;;;;15233:17:0;;;15246:4;;15233:17;;15118:132;:166;;;;-1:-1:-1;15280:4:0;;-1:-1:-1;;;;;15267:17:0;;;15280:4;;15267:17;;15118:166;:200;;;;-1:-1:-1;15314:4:0;;-1:-1:-1;;;;;15301:17:0;;;15314:4;;15301:17;;15118:200;:243;;;;-1:-1:-1;;;;;;15335:26:0;;15356:4;15335:26;;15118:243;15100:1412;;;15406:12;;15396:6;:22;;15388:41;;;;-1:-1:-1;;;15388:41:0;;11656:2:1;15388:41:0;;;11638:21:1;11695:1;11675:18;;;11668:29;-1:-1:-1;;;11713:18:1;;;11706:36;11759:18;;15388:41:0;11454:329:1;15388:41:0;-1:-1:-1;;;;;10689:18:0;;15444:32;10689:18;;;:9;:18;;;;;;15577:16;;15540:33;15567:6;10689:18;15540:33;:::i;:::-;:53;;15514:150;;;;-1:-1:-1;;;15514:150:0;;11990:2:1;15514:150:0;;;11972:21:1;12029:2;12009:18;;;12002:30;12068:34;12048:18;;;12041:62;-1:-1:-1;;;12119:18:1;;;12112:33;12162:19;;15514:150:0;11788:399:1;15514:150:0;15705:16;;;15719:1;15705:16;;;;;;;;15681:21;;15705:16;;;;;;;;-1:-1:-1;;15746:6:0;;:13;;;-1:-1:-1;;;15746:13:0;;;;15681:40;;-1:-1:-1;;;;;;15746:6:0;;;;:11;;-1:-1:-1;15746:13:0;;;;;;;;;;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15736:4;15741:1;15736:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;15736:23:0;;;-1:-1:-1;;;;;15736:23:0;;;;;15792:4;15774;15779:1;15774:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15774:23:0;;;:7;;;;;;;;;:23;15830:6;;:33;;-1:-1:-1;;;15830:33:0;;15812:15;;15830:6;;;;;:19;;:33;;15850:6;;15858:4;;15830:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15830:33:0;;;;;;;;;;;;:::i;:::-;15864:1;15830:36;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;15887:29:0;;;;;;:18;:29;;;;;;;;15830:36;;-1:-1:-1;15887:29:0;;:35;;:29;:35;:92;;;;-1:-1:-1;;;;;;15926:25:0;;;;;;:14;:25;;;;;;15964:15;;15926:35;;15954:7;15926:35;:::i;:::-;:53;15887:92;:116;;;;;15993:10;;15983:7;:20;15887:116;15883:618;;;16038:4;:16;;-1:-1:-1;;;;;;16038:16:0;-1:-1:-1;;;;;16038:16:0;;;;;;;;16073:10;:20;;;16129:15;16112:14;:32;16168:25;;;6222:51:1;;;6304:2;6289:18;;6282:34;;;16168:25:0;;6195:18:1;16168:25:0;;;;;;;15883:618;;;-1:-1:-1;;;;;16234:29:0;;;;;;:18;:29;;;;;;;;:36;;;:61;;;16285:10;;16275:7;:20;16234:61;16230:271;;;16330:4;:16;;-1:-1:-1;;;;;;16330:16:0;-1:-1:-1;;;;;16330:16:0;;;;;;;;16365:10;:20;;;16421:15;16404:14;:32;16460:25;;;6222:51:1;;;6304:2;6289:18;;6282:34;;;16460:25:0;;6195:18:1;16460:25:0;;;;;;;16230:271;15373:1139;;;15100:1412;5467:7;5494:6;-1:-1:-1;;;;;16540:17:0;;;5494:6;;16540:17;;;;:54;;-1:-1:-1;5467:7:0;5494:6;-1:-1:-1;;;;;16574:20:0;;;5494:6;;16574:20;;16540:54;:95;;;;-1:-1:-1;;;;;;16612:23:0;;;;;;:15;:23;;;;;;;;16611:24;16540:95;:126;;;;-1:-1:-1;16662:4:0;;-1:-1:-1;;;;;16652:14:0;;;16662:4;;16652:14;;16540:126;:169;;;;-1:-1:-1;;;;;;16683:26:0;;16704:4;16683:26;;16540:169;16522:397;;;16754:12;;16744:6;:22;;16736:41;;;;-1:-1:-1;;;16736:41:0;;11656:2:1;16736:41:0;;;11638:21:1;11695:1;11675:18;;;11668:29;-1:-1:-1;;;11713:18:1;;;11706:36;11759:18;;16736:41:0;11454:329:1;16736:41:0;16796:4;;-1:-1:-1;;;;;16796:14:0;;;:4;;:14;16792:113;;;16845:4;;16851:10;;16836:26;;;-1:-1:-1;;;;;16845:4:0;;;6222:51:1;;6304:2;6289:18;;6282:34;;;;16836:26:0;;6195:18:1;16836:26:0;;;;;;;16881:8;:6;:8::i;20384:342::-;-1:-1:-1;;;;;20521:19:0;;20495:4;20521:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;20544:22:0;;;;;;:11;:22;;;;;;;;20521:45;20517:90;;;-1:-1:-1;20590:5:0;20583:12;;20517:90;20631:4;;-1:-1:-1;;;;;20621:14:0;;;20631:4;;20621:14;;:35;;-1:-1:-1;20652:4:0;;-1:-1:-1;;;;;20639:17:0;;;20652:4;;20639:17;20621:35;20617:80;;;-1:-1:-1;20680:5:0;20673:12;;20617:80;-1:-1:-1;20714:4:0;20384:342;;;;:::o;19891:485::-;20055:4;;20011:7;;;;-1:-1:-1;;;;;20055:17:0;;;:4;;:17;:74;;20121:8;;20055:74;;;20088:17;;20055:74;20031:98;-1:-1:-1;20140:17:0;20160:34;20190:3;20160:25;:6;20031:98;20160:10;:25::i;:34::-;20250:4;20232:24;;;;:9;:24;;;;;;20140:54;;-1:-1:-1;20232:39:0;;20140:54;20232:28;:39::i;:::-;20223:4;20205:24;;;;:9;:24;;;;;;;:66;;;;20287:42;;-1:-1:-1;;;;;20287:42:0;;;;;;;20319:9;160:25:1;;148:2;133:18;;14:177;20287:42:0;;;;;;;;20347:21;:6;20358:9;20347:10;:21::i;:::-;20340:28;19891:485;-1:-1:-1;;;;;;19891:485:0:o;736:246::-;794:7;818:6;814:47;;-1:-1:-1;848:1:0;841:8;;814:47;871:9;883:5;887:1;883;:5;:::i;:::-;871:17;-1:-1:-1;916:1:0;907:5;911:1;871:17;907:5;:::i;:::-;:10;899:56;;;;-1:-1:-1;;;899:56:0;;14014:2:1;899:56:0;;;13996:21:1;14053:2;14033:18;;;14026:30;14092:34;14072:18;;;14065:62;-1:-1:-1;;;14143:18:1;;;14136:31;14184:19;;899:56:0;13812:397:1;990:132:0;1048:7;1075:39;1079:1;1082;1075:39;;;;;;;;;;;;;;;;;:3;:39::i;12998:136::-;13043:15;;13036:4;:22;;-1:-1:-1;;;;;;13036:22:0;-1:-1:-1;;;;;13043:15:0;;;13036:22;;;;;;13043:15;13069:10;:14;13111:15;13094:14;:32;12998:136::o;1130:223::-;1250:7;1285:12;1278:5;1270:28;;;;-1:-1:-1;;;1270:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1309:9:0;1321:5;1325:1;1321;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2348:118::-;2434:5;2427:13;2420:21;2413:5;2410:32;2400:60;;2456:1;2453;2446:12;2471:382;2536:6;2544;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;:::-;2721:5;-1:-1:-1;2778:2:1;2763:18;;2750:32;2791:30;2750:32;2791:30;:::i;:::-;2840:7;2830:17;;;2471:382;;;;;:::o;2858:180::-;2917:6;2970:2;2958:9;2949:7;2945:23;2941:32;2938:52;;;2986:1;2983;2976:12;2938:52;-1:-1:-1;3009:23:1;;2858:180;-1:-1:-1;2858:180:1:o;3251:388::-;3319:6;3327;3380:2;3368:9;3359:7;3355:23;3351:32;3348:52;;;3396:1;3393;3386:12;3348:52;3435:9;3422:23;3454:31;3479:5;3454:31;:::i;:::-;3504:5;-1:-1:-1;3561:2:1;3546:18;;3533:32;3574:33;3533:32;3574:33;:::i;3644:316::-;3721:6;3729;3737;3790:2;3778:9;3769:7;3765:23;3761:32;3758:52;;;3806:1;3803;3796:12;3758:52;-1:-1:-1;;3829:23:1;;;3899:2;3884:18;;3871:32;;-1:-1:-1;3950:2:1;3935:18;;;3922:32;;3644:316;-1:-1:-1;3644:316:1:o;3965:309::-;4030:6;4038;4091:2;4079:9;4070:7;4066:23;4062:32;4059:52;;;4107:1;4104;4097:12;4059:52;4146:9;4133:23;4165:28;4187:5;4165:28;:::i;4505:356::-;4707:2;4689:21;;;4726:18;;;4719:30;4785:34;4780:2;4765:18;;4758:62;4852:2;4837:18;;4505:356::o;4866:127::-;4927:10;4922:3;4918:20;4915:1;4908:31;4958:4;4955:1;4948:15;4982:4;4979:1;4972:15;4998:128;5038:3;5069:1;5065:6;5062:1;5059:13;5056:39;;;5075:18;;:::i;:::-;-1:-1:-1;5111:9:1;;4998:128::o;5131:217::-;5171:1;5197;5187:132;;5241:10;5236:3;5232:20;5229:1;5222:31;5276:4;5273:1;5266:15;5304:4;5301:1;5294:15;5187:132;-1:-1:-1;5333:9:1;;5131:217::o;5708:335::-;5910:2;5892:21;;;5949:2;5929:18;;;5922:30;-1:-1:-1;;;5983:2:1;5968:18;;5961:41;6034:2;6019:18;;5708:335::o;6327:245::-;6394:6;6447:2;6435:9;6426:7;6422:23;6418:32;6415:52;;;6463:1;6460;6453:12;6415:52;6495:9;6489:16;6514:28;6536:5;6514:28;:::i;7685:125::-;7725:4;7753:1;7750;7747:8;7744:34;;;7758:18;;:::i;:::-;-1:-1:-1;7795:9:1;;7685:125::o;8495:127::-;8556:10;8551:3;8547:20;8544:1;8537:31;8587:4;8584:1;8577:15;8611:4;8608:1;8601:15;8627:127;8688:10;8683:3;8679:20;8676:1;8669:31;8719:4;8716:1;8709:15;8743:4;8740:1;8733:15;8759:251;8829:6;8882:2;8870:9;8861:7;8857:23;8853:32;8850:52;;;8898:1;8895;8888:12;8850:52;8930:9;8924:16;8949:31;8974:5;8949:31;:::i;9015:461::-;9068:3;9106:5;9100:12;9133:6;9128:3;9121:19;9159:4;9188:2;9183:3;9179:12;9172:19;;9225:2;9218:5;9214:14;9246:1;9256:195;9270:6;9267:1;9264:13;9256:195;;;9335:13;;-1:-1:-1;;;;;9331:39:1;9319:52;;9391:12;;;;9426:15;;;;9367:1;9285:9;9256:195;;;-1:-1:-1;9467:3:1;;9015:461;-1:-1:-1;;;;;9015:461:1:o;9481:582::-;9780:6;9769:9;9762:25;9823:6;9818:2;9807:9;9803:18;9796:34;9866:3;9861:2;9850:9;9846:18;9839:31;9743:4;9887:57;9939:3;9928:9;9924:19;9916:6;9887:57;:::i;:::-;-1:-1:-1;;;;;9980:32:1;;;;9975:2;9960:18;;9953:60;-1:-1:-1;10044:3:1;10029:19;10022:35;9879:65;9481:582;-1:-1:-1;;;9481:582:1:o;10890:306::-;10978:6;10986;10994;11047:2;11035:9;11026:7;11022:23;11018:32;11015:52;;;11063:1;11060;11053:12;11015:52;11092:9;11086:16;11076:26;;11142:2;11131:9;11127:18;11121:25;11111:35;;11186:2;11175:9;11171:18;11165:25;11155:35;;10890:306;;;;;:::o;12192:332::-;12399:6;12388:9;12381:25;12442:2;12437;12426:9;12422:18;12415:30;12362:4;12462:56;12514:2;12503:9;12499:18;12491:6;12462:56;:::i;:::-;12454:64;12192:332;-1:-1:-1;;;;12192:332:1:o;12529:1105::-;12624:6;12655:2;12698;12686:9;12677:7;12673:23;12669:32;12666:52;;;12714:1;12711;12704:12;12666:52;12747:9;12741:16;12776:18;12817:2;12809:6;12806:14;12803:34;;;12833:1;12830;12823:12;12803:34;12871:6;12860:9;12856:22;12846:32;;12916:7;12909:4;12905:2;12901:13;12897:27;12887:55;;12938:1;12935;12928:12;12887:55;12967:2;12961:9;12989:2;12985;12982:10;12979:36;;;12995:18;;:::i;:::-;13041:2;13038:1;13034:10;13073:2;13067:9;13136:2;13132:7;13127:2;13123;13119:11;13115:25;13107:6;13103:38;13191:6;13179:10;13176:22;13171:2;13159:10;13156:18;13153:46;13150:72;;;13202:18;;:::i;:::-;13238:2;13231:22;13288:18;;;13322:15;;;;-1:-1:-1;13364:11:1;;;13360:20;;;13392:19;;;13389:39;;;13424:1;13421;13414:12;13389:39;13448:11;;;;13468:135;13484:6;13479:3;13476:15;13468:135;;;13550:10;;13538:23;;13501:12;;;;13581;;;;13468:135;;;13622:6;12529:1105;-1:-1:-1;;;;;;;;12529:1105:1:o;13639:168::-;13679:7;13745:1;13741;13737:6;13733:14;13730:1;13727:21;13722:1;13715:9;13708:17;13704:45;13701:71;;;13752:18;;:::i;:::-;-1:-1:-1;13792:9:1;;13639:168::o
Swarm Source
ipfs://1f005fdb3cb578a57ef8e088e44c5e4cb47f7d0ed0ee7775fddd909b51a6e0e3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,434.54 | 0.00163564 | $5.62 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.