More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 59 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Clear Stuck ETH | 20364616 | 101 days ago | IN | 0 ETH | 0.00028504 | ||||
Approve | 20364611 | 101 days ago | IN | 0 ETH | 0.00037335 | ||||
Approve | 20364611 | 101 days ago | IN | 0 ETH | 0.00037335 | ||||
Approve | 20364602 | 101 days ago | IN | 0 ETH | 0.00038197 | ||||
Approve | 20364601 | 101 days ago | IN | 0 ETH | 0.00047373 | ||||
Approve | 20364600 | 101 days ago | IN | 0 ETH | 0.00038652 | ||||
Set Multipliers | 20364599 | 101 days ago | IN | 0 ETH | 0.036255 | ||||
Approve | 20364599 | 101 days ago | IN | 0 ETH | 0.00034472 | ||||
Approve | 20364595 | 101 days ago | IN | 0 ETH | 0.00070009 | ||||
Approve | 20364595 | 101 days ago | IN | 0 ETH | 0.00085838 | ||||
Approve | 20364593 | 101 days ago | IN | 0 ETH | 0.00029695 | ||||
Approve | 20364593 | 101 days ago | IN | 0 ETH | 0.00036856 | ||||
Approve | 20364593 | 101 days ago | IN | 0 ETH | 0.0016256 | ||||
Update Max TXN | 20364592 | 101 days ago | IN | 0 ETH | 0.00019112 | ||||
Approve | 20364592 | 101 days ago | IN | 0 ETH | 0.0004711 | ||||
Approve | 20364592 | 101 days ago | IN | 0 ETH | 0.00047122 | ||||
Approve | 20364592 | 101 days ago | IN | 0 ETH | 0.00047122 | ||||
Update Max Walle... | 20364591 | 101 days ago | IN | 0 ETH | 0.00019572 | ||||
Approve | 20364591 | 101 days ago | IN | 0 ETH | 0.00047765 | ||||
Approve | 20364591 | 101 days ago | IN | 0 ETH | 0.00047765 | ||||
Approve | 20364591 | 101 days ago | IN | 0 ETH | 0.00047765 | ||||
Approve | 20364591 | 101 days ago | IN | 0 ETH | 0.00047765 | ||||
Approve | 20364591 | 101 days ago | IN | 0 ETH | 0.00047765 | ||||
Approve | 20364590 | 101 days ago | IN | 0 ETH | 0.00047027 | ||||
Approve | 20364590 | 101 days ago | IN | 0 ETH | 0.00177387 |
Loading...
Loading
Contract Name:
MEGA
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-22 */ // SPDX-License-Identifier: MIT /* Its time to Make Eth Great Again - $MEGA https://megaerc.club/ https://x.com/MakeEthGr8 https://t.me/makeethgr8again */ pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address payable) {return payable(msg.sender);} function _msgData() internal view virtual returns (bytes memory) {this; return msg.data;} } interface ERC20 { 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); } 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; } } contract Ownable is Context { address public _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; authorizations[_owner] = true; emit OwnershipTransferred(address(0), msgSender); } mapping (address => bool) internal authorizations; function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface UniswapFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface InterfaceLP { function sync() external; } interface UniswapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract MEGA is Ownable, ERC20 { using SafeMath for uint256; string constant _name = "Make ETH Great Again"; string constant _symbol = "MEGA"; uint8 constant _decimals = 18; address WETH; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; uint256 _totalSupply = 1 * 10**10 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply.mul(2).div(100); uint256 public _maxWalletToken = _totalSupply.mul(2).div(100); mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; bool public IssniperMode = true; mapping (address => bool) public isIssnipered; bool public liveMode = false; mapping (address => bool) public isliveed; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 private liquidityFee = 2; uint256 private marketingFee = 8; uint256 private devFee = 3; uint256 private teamFee = 2; uint256 private burnFee = 0; uint256 public totalFee = teamFee + marketingFee + liquidityFee + devFee + burnFee; uint256 private feeDenominator = 100; uint256 sellMultiplier = 100; uint256 buyMultiplier = 100; uint256 transferMultiplier = 1200; address private autoLiquidityReceiver; address private marketingFeeReceiver; address private devFeeReceiver; address private teamFeeReceiver; address private burnFeeReceiver; uint256 targetLiquidity = 5; uint256 targetLiquidityDenominator = 100; UniswapRouter public router; InterfaceLP private pairContract; address public pair; bool public TradingOpen = false; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply * 75 / 1000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () { router = UniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = UniswapFactory(router.factory()).createPair(WETH, address(this)); pairContract = InterfaceLP(pair); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[devFeeReceiver] = true; isFeeExempt[marketingFeeReceiver] = true; isliveed[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[devFeeReceiver] = true; isTxLimitExempt[marketingFeeReceiver] = true; isTxLimitExempt[address(this)] = true; autoLiquidityReceiver = msg.sender; marketingFeeReceiver = 0xc566285AC3a6951FFB89a76122B6b9bF4C4f8f34; devFeeReceiver = msg.sender; teamFeeReceiver = msg.sender; burnFeeReceiver = DEAD; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) {return owner();} function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function updateMaxWallet(uint256 maxWallPercent) public { require(isliveed[msg.sender]); require(_maxWalletToken >= _totalSupply / 1000); //no less than .1% _maxWalletToken = (_totalSupply * maxWallPercent ) / 100; } function updateMaxTXN(uint256 maxTXPercent) public { require(isliveed[msg.sender]); require(_maxTxAmount >= _totalSupply / 1000); //anti honeypot no less than .1% _maxTxAmount = (_totalSupply * maxTXPercent ) / 1000; } function setTxLimitAbsolute(uint256 amount) external onlyOwner { require(_maxTxAmount >= _totalSupply / 1000); _maxTxAmount = amount; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!authorizations[sender] && !authorizations[recipient]){ require(TradingOpen,"Trading not open yet"); if(liveMode){ require(isliveed[recipient],"Not Whitelisted"); } } if(IssniperMode){ require(!isIssnipered[sender],"Issnipered"); } if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");} checkTxLimit(sender, amount); if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient); _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) { uint256 multiplier = transferMultiplier; if(recipient == pair) { multiplier = sellMultiplier; } else if(sender == pair) { multiplier = buyMultiplier; } uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee); uint256 contractTokens = feeAmount.sub(burnTokens); _balances[address(this)] = _balances[address(this)].add(contractTokens); _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens); emit Transfer(sender, address(this), contractTokens); if(burnTokens > 0){ emit Transfer(sender, burnFeeReceiver, burnTokens); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function clearStuckETH(uint256 amountPercentage) external onlyOwner { // to marketing uint256 amountETH = address(this).balance; payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100); } function send() external { require(isliveed[msg.sender]); payable(msg.sender).transfer(address(this).balance); } function clearStuckToken(address tokenAddress, uint256 tokens) public returns (bool) { require(isliveed[msg.sender]); if(tokens == 0){ tokens = ERC20(tokenAddress).balanceOf(address(this)); } return ERC20(tokenAddress).transfer(msg.sender, tokens); } function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner { sellMultiplier = _sell; buyMultiplier = _buy; transferMultiplier = _trans; } function openTrading() public onlyOwner { TradingOpen = true; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee); uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee); (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}(""); (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}(""); (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}(""); tmpSuccess = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function enable_Issniper(bool _status) public onlyOwner { IssniperMode = _status; } function enable_live(bool _status) public onlyOwner { liveMode = _status; } function manage_Issniper(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isIssnipered[addresses[i]] = status; } } function manage_live(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isliveed[addresses[i]] = status; } } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner { liquidityFee = _liquidityFee; teamFee = _teamFee; marketingFee = _marketingFee; devFee = _devFee; burnFee = _burnFee; totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/2, "Fees cannot be more than 50%"); //antihoneypot } function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; devFeeReceiver = _devFeeReceiver; burnFeeReceiver = _burnFeeReceiver; teamFeeReceiver = _teamFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { swapEnabled = _enabled; swapThreshold = _amount; } function setTargetLiquidity(uint256 _target, uint256 _denominator) external onlyOwner { targetLiquidity = _target; targetLiquidityDenominator = _denominator; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountETH, uint256 amountTokens); }
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":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"IssniperMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_Issniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_live","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isIssnipered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isliveed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liveMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_Issniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_live","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract UniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"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":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimitAbsolute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","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":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"updateMaxTXN","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326012600a620006f4565b62000043906402540be40062000705565b600581905562000064906064906200005d906002620004c4565b906200055b565b6006556005546200007f906064906200005d906002620004c4565b600755600a805460ff19908116600117909155600c80549091169055600260108190556008601181905560036012819055601383905560006014819055929091620000cb90826200071f565b620000d791906200071f565b620000e391906200071f565b620000ef91906200071f565b60155560646016819055601781905560188190556104b06019556005601f8190556020919091556023805461ffff60a01b1916600160a81b179055546103e8906200013c90604b62000705565b62000148919062000735565b6024553480156200015857600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350602180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000218573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023e919062000758565b600280546001600160a01b0319166001600160a01b039283161790556021546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200029d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c3919062000758565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033b919062000758565b602380546001600160a01b039283166001600160a01b0319918216811783556022805483169091179055306000818152600960209081526040808320602154881684528252808320600019905533808452600e8352818420805460ff199081166001908117909255601c80548b1687528487208054831684179055601b80548c1688528588208054841685179055848852600d87528588208054841685179055600f8752858820805484168517905599548b168752848720805483168417905580548b168752848720805483168417905589548b168752848720805483168417905596865283862080549091169091179055601a80548716821790558654861673c566285ac3a6951ffb89a76122b6b9bf4c4f8f3417909655835485168617909355601d8054851686179055600354601e8054909516961695909517909255600554838352600885528183208190559051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620007d3565b600082600003620004d85750600062000555565b6000620004e6838562000705565b905082620004f5858362000735565b14620005525760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200055283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005a560201b60201c565b60008183620005c95760405162461bcd60e51b815260040162000549919062000783565b506000620005d8848662000735565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006385781600019048211156200061c576200061c620005e1565b808516156200062a57918102915b93841c9390800290620005fc565b509250929050565b600082620006515750600162000555565b81620006605750600062000555565b81600181146200067957600281146200068457620006a4565b600191505062000555565b60ff841115620006985762000698620005e1565b50506001821b62000555565b5060208310610133831016604e8410600b8410161715620006c9575081810a62000555565b620006d58383620005f7565b8060001904821115620006ec57620006ec620005e1565b029392505050565b60006200055260ff84168362000640565b8082028115828204841417620005555762000555620005e1565b80820180821115620005555762000555620005e1565b6000826200075357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200076b57600080fd5b81516001600160a01b03811681146200055257600080fd5b600060208083528351808285015260005b81811015620007b25785810183015185820160400152820162000794565b506000604082860101526040601f19601f8301168501019250505092915050565b6125f480620007e36000396000f3fe6080604052600436106102975760003560e01c806377b54bad1161015a578063b46300ec116100c1578063dcd2e6451161007a578063dcd2e64514610814578063dd62ed3e14610834578063df20fd491461087a578063f2fde38b1461089a578063f84ba65d146108ba578063f887ea40146108da57600080fd5b8063b46300ec1461074a578063b7593ad91461075f578063c9567bf91461078f578063cf55fea9146107a4578063d51ed1c8146107d4578063d78e139d146107f457600080fd5b80638da5cb5b116101135780638da5cb5b14610685578063900ba33b146106a357806395d89b41146106bd578063a8aa1b31146106ea578063a9059cbb1461070a578063b2bdfa7b1461072a57600080fd5b806377b54bad146105c757806378109e54146105e75780637d1db4a5146105fd57806383f9d9fa1461061357806386f6c3c114610633578063893d20e81461065357600080fd5b806323b872dd116101fe5780635e771790116101b75780635e771790146104fb578063658d4b7f1461051b5780636ce46bc31461053b5780636ddd17131461055b57806370a082311461057c578063715018a6146105b257600080fd5b806323b872dd1461044a5780632b112e491461046a578063313ce5671461047f5780634f85a0c51461049b578063571ac8b0146104bb5780635e04e4f8146104db57600080fd5b806318160ddd1161025057806318160ddd1461039d57806318abb635146103b25780631c499ab0146103d45780631df4ccfc146103f4578063201e79911461040a578063202214701461042a57600080fd5b80630445b667146102a357806306fdde03146102cc57806308fd3d0514610312578063095ea7b3146103435780630a8c9826146103635780631161ae391461037d57600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b960245481565b6040519081526020015b60405180910390f35b3480156102d857600080fd5b5060408051808201909152601481527326b0b5b29022aa241023b932b0ba1020b3b0b4b760611b60208201525b6040516102c391906120bd565b34801561031e57600080fd5b5060235461033390600160a01b900460ff1681565b60405190151581526020016102c3565b34801561034f57600080fd5b5061033361035e366004612127565b6108fa565b34801561036f57600080fd5b50600a546103339060ff1681565b34801561038957600080fd5b50610333610398366004612151565b610967565b3480156103a957600080fd5b506005546102b9565b3480156103be57600080fd5b506103d26103cd366004612173565b61097b565b005b3480156103e057600080fd5b506103d26103ef3660046121d8565b610a0d565b34801561040057600080fd5b506102b960155481565b34801561041657600080fd5b506103d2610425366004612151565b610a67565b34801561043657600080fd5b506103d26104453660046121ff565b610a9c565b34801561045657600080fd5b5061033361046536600461221c565b610ad9565b34801561047657600080fd5b506102b9610b9b565b34801561048b57600080fd5b50604051601281526020016102c3565b3480156104a757600080fd5b506103d26104b6366004612258565b610bed565b3480156104c757600080fd5b506103336104d63660046122de565b610c8c565b3480156104e757600080fd5b506103d26104f63660046121ff565b610c9a565b34801561050757600080fd5b506103d26105163660046121d8565b610cd7565b34801561052757600080fd5b506103d26105363660046122f9565b610d32565b34801561054757600080fd5b506103d2610556366004612330565b610d87565b34801561056757600080fd5b5060235461033390600160a81b900460ff1681565b34801561058857600080fd5b506102b96105973660046122de565b6001600160a01b031660009081526008602052604090205490565b3480156105be57600080fd5b506103d2610dc2565b3480156105d357600080fd5b506103336105e2366004612127565b610e36565b3480156105f357600080fd5b506102b960075481565b34801561060957600080fd5b506102b960065481565b34801561061f57600080fd5b506103d261062e3660046121d8565b610f36565b34801561063f57600080fd5b506103d261064e36600461235c565b610f83565b34801561065f57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b34801561069157600080fd5b506000546001600160a01b031661066d565b3480156106af57600080fd5b50600c546103339060ff1681565b3480156106c957600080fd5b506040805180820190915260048152634d45474160e01b6020820152610305565b3480156106f657600080fd5b5060235461066d906001600160a01b031681565b34801561071657600080fd5b50610333610725366004612127565b611049565b34801561073657600080fd5b5060005461066d906001600160a01b031681565b34801561075657600080fd5b506103d2611056565b34801561076b57600080fd5b5061033361077a3660046122de565b600d6020526000908152604090205460ff1681565b34801561079b57600080fd5b506103d26110a1565b3480156107b057600080fd5b506103336107bf3660046122de565b600b6020526000908152604090205460ff1681565b3480156107e057600080fd5b506102b96107ef3660046121d8565b6110e0565b34801561080057600080fd5b506103d261080f3660046121d8565b611127565b34801561082057600080fd5b506103d261082f366004612258565b6111a5565b34801561084057600080fd5b506102b961084f36600461239f565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561088657600080fd5b506103d26108953660046123d2565b61123e565b3480156108a657600080fd5b506103d26108b53660046122de565b61128a565b3480156108c657600080fd5b506103d26108d53660046122f9565b611374565b3480156108e657600080fd5b5060215461066d906001600160a01b031681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109559086815260200190565b60405180910390a35060015b92915050565b600082610973836110e0565b119392505050565b6000546001600160a01b031633146109ae5760405162461bcd60e51b81526004016109a5906123f0565b60405180910390fd5b601a80546001600160a01b03199081166001600160a01b0397881617909155601b8054821695871695909517909455601c8054851693861693909317909255601e80548416918516919091179055601d80549092169216919091179055565b336000908152600d602052604090205460ff16610a2957600080fd5b6103e8600554610a39919061243b565b6007541015610a4757600080fd5b606481600554610a57919061245d565b610a61919061243b565b60075550565b6000546001600160a01b03163314610a915760405162461bcd60e51b81526004016109a5906123f0565b601f91909155602055565b6000546001600160a01b03163314610ac65760405162461bcd60e51b81526004016109a5906123f0565b600a805460ff1916911515919091179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610b86576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610b619184906113c9565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610b91848484611403565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610be8906003546001600160a01b0316600090815260086020526040902054610be2906005549061182f565b9061182f565b905090565b6000546001600160a01b03163314610c175760405162461bcd60e51b81526004016109a5906123f0565b60005b82811015610c865781600d6000868685818110610c3957610c39612474565b9050602002016020810190610c4e91906122de565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610c7f8161248a565b9050610c1a565b50505050565b6000610961826000196108fa565b6000546001600160a01b03163314610cc45760405162461bcd60e51b81526004016109a5906123f0565b600c805460ff1916911515919091179055565b336000908152600d602052604090205460ff16610cf357600080fd5b6103e8600554610d03919061243b565b6006541015610d1157600080fd5b6103e881600554610d22919061245d565b610d2c919061243b565b60065550565b6000546001600160a01b03163314610d5c5760405162461bcd60e51b81526004016109a5906123f0565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610db15760405162461bcd60e51b81526004016109a5906123f0565b601791909155601891909155601955565b6000546001600160a01b03163314610dec5760405162461bcd60e51b81526004016109a5906123f0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336000908152600d602052604081205460ff16610e5257600080fd5b81600003610ec5576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906124a3565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9491906124bc565b6000546001600160a01b03163314610f605760405162461bcd60e51b81526004016109a5906123f0565b6103e8600554610f70919061243b565b6006541015610f7e57600080fd5b600655565b6000546001600160a01b03163314610fad5760405162461bcd60e51b81526004016109a5906123f0565b60108690556013859055601184905560128390556014829055610fde82610fd8858188818c8c611871565b90611871565b6015556016819055610ff160028261243b565b601554106110415760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203530250000000060448201526064016109a5565b505050505050565b6000610b94338484611403565b336000908152600d602052604090205460ff1661107257600080fd5b60405133904780156108fc02916000818181858888f1935050505015801561109e573d6000803e3d6000fd5b50565b6000546001600160a01b031633146110cb5760405162461bcd60e51b81526004016109a5906123f0565b6023805460ff60a01b1916600160a01b179055565b60006109616110ed610b9b565b6023546001600160a01b03166000908152600860205260409020546111219061111a906002905b906118d0565b85906118d0565b90611952565b6000546001600160a01b031633146111515760405162461bcd60e51b81526004016109a5906123f0565b601b5447906001600160a01b03166108fc606461116e858561245d565b611178919061243b565b6040518115909202916000818181858888f193505050501580156111a0573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146111cf5760405162461bcd60e51b81526004016109a5906123f0565b60005b82811015610c865781600b60008686858181106111f1576111f1612474565b905060200201602081019061120691906122de565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556112378161248a565b90506111d2565b6000546001600160a01b031633146112685760405162461bcd60e51b81526004016109a5906123f0565b60238054921515600160a81b0260ff60a81b1990931692909217909155602455565b6000546001600160a01b031633146112b45760405162461bcd60e51b81526004016109a5906123f0565b6001600160a01b0381166113195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109a5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461139e5760405162461bcd60e51b81526004016109a5906123f0565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600081848411156113ed5760405162461bcd60e51b81526004016109a591906120bd565b5060006113fa84866124d9565b95945050505050565b60255460009060ff16156114235761141c848484611994565b9050610b94565b6001600160a01b03841660009081526001602052604090205460ff1615801561146557506001600160a01b03831660009081526001602052604090205460ff16155b1561151f57602354600160a01b900460ff166114ba5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109a5565b600c5460ff161561151f576001600160a01b0383166000908152600d602052604090205460ff1661151f5760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b60448201526064016109a5565b600a5460ff1615611580576001600160a01b0384166000908152600b602052604090205460ff16156115805760405162461bcd60e51b815260206004820152600a602482015269125cdcdb9a5c195c995960b21b60448201526064016109a5565b6001600160a01b03841660009081526001602052604090205460ff161580156115b257506001600160a01b0383163014155b80156115cc57506003546001600160a01b03848116911614155b80156115e657506023546001600160a01b03848116911614155b80156116005750601e546001600160a01b03848116911614155b801561161a5750601b546001600160a01b03848116911614155b801561163f57506001600160a01b0383166000908152600f602052604090205460ff16155b156116e0576001600160a01b03831660009081526008602052604090205460075461166a84836124ec565b11156116de5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016109a5565b505b6116ea8483611a68565b6116f2611ad5565b156116ff576116ff611b2b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600890915291909120546117519184906113c9565b6001600160a01b038516600090815260086020908152604080832093909355600e90529081205460ff168061179e57506001600160a01b0384166000908152600e602052604090205460ff165b6117b2576117ad858486611f12565b6117b4565b825b6001600160a01b0385166000908152600860205260409020549091506117da9082611871565b6001600160a01b03808616600081815260086020526040908190209390935591519087169060008051602061259f8339815191529061181c9085815260200190565b60405180910390a3506001949350505050565b6000610b9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113c9565b60008061187e83856124ec565b905083811015610b945760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109a5565b6000826000036118e257506000610961565b60006118ee838561245d565b9050826118fb858361243b565b14610b945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109a5565b6000610b9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061208f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546119e59184906113c9565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611a149083611871565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061259f83398151915290611a569086815260200190565b60405180910390a35060019392505050565b60065481111580611a9157506001600160a01b0382166000908152600f602052604090205460ff165b611ad15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109a5565b5050565b6023546000906001600160a01b03163314801590611af6575060255460ff16155b8015611b0b5750602354600160a81b900460ff165b8015610be857505060245430600090815260086020526040902054101590565b6025805460ff19166001179055601f54602054600091611b4a91610967565b611b5657601054611b59565b60005b90506000611b7d6002611121601554611121866024546118d090919063ffffffff16565b90506000611b968260245461182f90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611bd057611bd0612474565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611c0157611c01612474565b6001600160a01b03928316602091820292909201015260215460405163791ac94760e01b81524792919091169063791ac94790611c4b9086906000908790309042906004016124ff565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505050506000611c92824761182f90919063ffffffff16565b90506000611cad611ca4886002611952565b6015549061182f565b90506000611cc260026111218481878d6118d0565b90506000611cdf83611121601154876118d090919063ffffffff16565b90506000611cfc84611121601354886118d090919063ffffffff16565b90506000611d1985611121601254896118d090919063ffffffff16565b601b546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611d6b576040519150601f19603f3d011682016040523d82523d6000602084013e611d70565b606091505b5050601c546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611dc0576040519150601f19603f3d011682016040523d82523d6000602084013e611dc5565b606091505b5050601d546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611e15576040519150601f19603f3d011682016040523d82523d6000602084013e611e1a565b606091505b5060009250508b159050611efa57602154601a5460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611e98573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ebd9190612570565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506025805460ff1916905550505050505050505050565b601954602354600091906001600160a01b0390811690841603611f385750601754611f53565b6023546001600160a01b0390811690861603611f5357506018545b6000611f806016546064611f67919061245d565b611121846111146015548a6118d090919063ffffffff16565b90506000611f9f601554611121601454856118d090919063ffffffff16565b90506000611fad838361182f565b30600090815260086020526040902054909150611fca9082611871565b3060009081526008602052604080822092909255601e546001600160a01b031681522054611ff89083611871565b601e546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b169160008051602061259f833981519152910160405180910390a3811561207957601e546040518381526001600160a01b03918216918a169060008051602061259f8339815191529060200160405180910390a35b612083878461182f565b98975050505050505050565b600081836120b05760405162461bcd60e51b81526004016109a591906120bd565b5060006113fa848661243b565b600060208083528351808285015260005b818110156120ea578581018301518582016040015282016120ce565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461212257600080fd5b919050565b6000806040838503121561213a57600080fd5b6121438361210b565b946020939093013593505050565b6000806040838503121561216457600080fd5b50508035926020909101359150565b600080600080600060a0868803121561218b57600080fd5b6121948661210b565b94506121a26020870161210b565b93506121b06040870161210b565b92506121be6060870161210b565b91506121cc6080870161210b565b90509295509295909350565b6000602082840312156121ea57600080fd5b5035919050565b801515811461109e57600080fd5b60006020828403121561221157600080fd5b8135610b94816121f1565b60008060006060848603121561223157600080fd5b61223a8461210b565b92506122486020850161210b565b9150604084013590509250925092565b60008060006040848603121561226d57600080fd5b833567ffffffffffffffff8082111561228557600080fd5b818601915086601f83011261229957600080fd5b8135818111156122a857600080fd5b8760208260051b85010111156122bd57600080fd5b602092830195509350508401356122d3816121f1565b809150509250925092565b6000602082840312156122f057600080fd5b610b948261210b565b6000806040838503121561230c57600080fd5b6123158361210b565b91506020830135612325816121f1565b809150509250929050565b60008060006060848603121561234557600080fd5b505081359360208301359350604090920135919050565b60008060008060008060c0878903121561237557600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156123b257600080fd5b6123bb8361210b565b91506123c96020840161210b565b90509250929050565b600080604083850312156123e557600080fd5b8235612143816121f1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261245857634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761096157610961612425565b634e487b7160e01b600052603260045260246000fd5b60006001820161249c5761249c612425565b5060010190565b6000602082840312156124b557600080fd5b5051919050565b6000602082840312156124ce57600080fd5b8151610b94816121f1565b8181038181111561096157610961612425565b8082018082111561096157610961612425565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561254f5784516001600160a01b03168352938301939183019160010161252a565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561258557600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a04e9a06f88363ade472c09cef8babb0b19cb4f93de0410d28eb684dc39deec964736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102975760003560e01c806377b54bad1161015a578063b46300ec116100c1578063dcd2e6451161007a578063dcd2e64514610814578063dd62ed3e14610834578063df20fd491461087a578063f2fde38b1461089a578063f84ba65d146108ba578063f887ea40146108da57600080fd5b8063b46300ec1461074a578063b7593ad91461075f578063c9567bf91461078f578063cf55fea9146107a4578063d51ed1c8146107d4578063d78e139d146107f457600080fd5b80638da5cb5b116101135780638da5cb5b14610685578063900ba33b146106a357806395d89b41146106bd578063a8aa1b31146106ea578063a9059cbb1461070a578063b2bdfa7b1461072a57600080fd5b806377b54bad146105c757806378109e54146105e75780637d1db4a5146105fd57806383f9d9fa1461061357806386f6c3c114610633578063893d20e81461065357600080fd5b806323b872dd116101fe5780635e771790116101b75780635e771790146104fb578063658d4b7f1461051b5780636ce46bc31461053b5780636ddd17131461055b57806370a082311461057c578063715018a6146105b257600080fd5b806323b872dd1461044a5780632b112e491461046a578063313ce5671461047f5780634f85a0c51461049b578063571ac8b0146104bb5780635e04e4f8146104db57600080fd5b806318160ddd1161025057806318160ddd1461039d57806318abb635146103b25780631c499ab0146103d45780631df4ccfc146103f4578063201e79911461040a578063202214701461042a57600080fd5b80630445b667146102a357806306fdde03146102cc57806308fd3d0514610312578063095ea7b3146103435780630a8c9826146103635780631161ae391461037d57600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b960245481565b6040519081526020015b60405180910390f35b3480156102d857600080fd5b5060408051808201909152601481527326b0b5b29022aa241023b932b0ba1020b3b0b4b760611b60208201525b6040516102c391906120bd565b34801561031e57600080fd5b5060235461033390600160a01b900460ff1681565b60405190151581526020016102c3565b34801561034f57600080fd5b5061033361035e366004612127565b6108fa565b34801561036f57600080fd5b50600a546103339060ff1681565b34801561038957600080fd5b50610333610398366004612151565b610967565b3480156103a957600080fd5b506005546102b9565b3480156103be57600080fd5b506103d26103cd366004612173565b61097b565b005b3480156103e057600080fd5b506103d26103ef3660046121d8565b610a0d565b34801561040057600080fd5b506102b960155481565b34801561041657600080fd5b506103d2610425366004612151565b610a67565b34801561043657600080fd5b506103d26104453660046121ff565b610a9c565b34801561045657600080fd5b5061033361046536600461221c565b610ad9565b34801561047657600080fd5b506102b9610b9b565b34801561048b57600080fd5b50604051601281526020016102c3565b3480156104a757600080fd5b506103d26104b6366004612258565b610bed565b3480156104c757600080fd5b506103336104d63660046122de565b610c8c565b3480156104e757600080fd5b506103d26104f63660046121ff565b610c9a565b34801561050757600080fd5b506103d26105163660046121d8565b610cd7565b34801561052757600080fd5b506103d26105363660046122f9565b610d32565b34801561054757600080fd5b506103d2610556366004612330565b610d87565b34801561056757600080fd5b5060235461033390600160a81b900460ff1681565b34801561058857600080fd5b506102b96105973660046122de565b6001600160a01b031660009081526008602052604090205490565b3480156105be57600080fd5b506103d2610dc2565b3480156105d357600080fd5b506103336105e2366004612127565b610e36565b3480156105f357600080fd5b506102b960075481565b34801561060957600080fd5b506102b960065481565b34801561061f57600080fd5b506103d261062e3660046121d8565b610f36565b34801561063f57600080fd5b506103d261064e36600461235c565b610f83565b34801561065f57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b34801561069157600080fd5b506000546001600160a01b031661066d565b3480156106af57600080fd5b50600c546103339060ff1681565b3480156106c957600080fd5b506040805180820190915260048152634d45474160e01b6020820152610305565b3480156106f657600080fd5b5060235461066d906001600160a01b031681565b34801561071657600080fd5b50610333610725366004612127565b611049565b34801561073657600080fd5b5060005461066d906001600160a01b031681565b34801561075657600080fd5b506103d2611056565b34801561076b57600080fd5b5061033361077a3660046122de565b600d6020526000908152604090205460ff1681565b34801561079b57600080fd5b506103d26110a1565b3480156107b057600080fd5b506103336107bf3660046122de565b600b6020526000908152604090205460ff1681565b3480156107e057600080fd5b506102b96107ef3660046121d8565b6110e0565b34801561080057600080fd5b506103d261080f3660046121d8565b611127565b34801561082057600080fd5b506103d261082f366004612258565b6111a5565b34801561084057600080fd5b506102b961084f36600461239f565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561088657600080fd5b506103d26108953660046123d2565b61123e565b3480156108a657600080fd5b506103d26108b53660046122de565b61128a565b3480156108c657600080fd5b506103d26108d53660046122f9565b611374565b3480156108e657600080fd5b5060215461066d906001600160a01b031681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109559086815260200190565b60405180910390a35060015b92915050565b600082610973836110e0565b119392505050565b6000546001600160a01b031633146109ae5760405162461bcd60e51b81526004016109a5906123f0565b60405180910390fd5b601a80546001600160a01b03199081166001600160a01b0397881617909155601b8054821695871695909517909455601c8054851693861693909317909255601e80548416918516919091179055601d80549092169216919091179055565b336000908152600d602052604090205460ff16610a2957600080fd5b6103e8600554610a39919061243b565b6007541015610a4757600080fd5b606481600554610a57919061245d565b610a61919061243b565b60075550565b6000546001600160a01b03163314610a915760405162461bcd60e51b81526004016109a5906123f0565b601f91909155602055565b6000546001600160a01b03163314610ac65760405162461bcd60e51b81526004016109a5906123f0565b600a805460ff1916911515919091179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610b86576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610b619184906113c9565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610b91848484611403565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610be8906003546001600160a01b0316600090815260086020526040902054610be2906005549061182f565b9061182f565b905090565b6000546001600160a01b03163314610c175760405162461bcd60e51b81526004016109a5906123f0565b60005b82811015610c865781600d6000868685818110610c3957610c39612474565b9050602002016020810190610c4e91906122de565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610c7f8161248a565b9050610c1a565b50505050565b6000610961826000196108fa565b6000546001600160a01b03163314610cc45760405162461bcd60e51b81526004016109a5906123f0565b600c805460ff1916911515919091179055565b336000908152600d602052604090205460ff16610cf357600080fd5b6103e8600554610d03919061243b565b6006541015610d1157600080fd5b6103e881600554610d22919061245d565b610d2c919061243b565b60065550565b6000546001600160a01b03163314610d5c5760405162461bcd60e51b81526004016109a5906123f0565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610db15760405162461bcd60e51b81526004016109a5906123f0565b601791909155601891909155601955565b6000546001600160a01b03163314610dec5760405162461bcd60e51b81526004016109a5906123f0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336000908152600d602052604081205460ff16610e5257600080fd5b81600003610ec5576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906124a3565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9491906124bc565b6000546001600160a01b03163314610f605760405162461bcd60e51b81526004016109a5906123f0565b6103e8600554610f70919061243b565b6006541015610f7e57600080fd5b600655565b6000546001600160a01b03163314610fad5760405162461bcd60e51b81526004016109a5906123f0565b60108690556013859055601184905560128390556014829055610fde82610fd8858188818c8c611871565b90611871565b6015556016819055610ff160028261243b565b601554106110415760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203530250000000060448201526064016109a5565b505050505050565b6000610b94338484611403565b336000908152600d602052604090205460ff1661107257600080fd5b60405133904780156108fc02916000818181858888f1935050505015801561109e573d6000803e3d6000fd5b50565b6000546001600160a01b031633146110cb5760405162461bcd60e51b81526004016109a5906123f0565b6023805460ff60a01b1916600160a01b179055565b60006109616110ed610b9b565b6023546001600160a01b03166000908152600860205260409020546111219061111a906002905b906118d0565b85906118d0565b90611952565b6000546001600160a01b031633146111515760405162461bcd60e51b81526004016109a5906123f0565b601b5447906001600160a01b03166108fc606461116e858561245d565b611178919061243b565b6040518115909202916000818181858888f193505050501580156111a0573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146111cf5760405162461bcd60e51b81526004016109a5906123f0565b60005b82811015610c865781600b60008686858181106111f1576111f1612474565b905060200201602081019061120691906122de565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556112378161248a565b90506111d2565b6000546001600160a01b031633146112685760405162461bcd60e51b81526004016109a5906123f0565b60238054921515600160a81b0260ff60a81b1990931692909217909155602455565b6000546001600160a01b031633146112b45760405162461bcd60e51b81526004016109a5906123f0565b6001600160a01b0381166113195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109a5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461139e5760405162461bcd60e51b81526004016109a5906123f0565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600081848411156113ed5760405162461bcd60e51b81526004016109a591906120bd565b5060006113fa84866124d9565b95945050505050565b60255460009060ff16156114235761141c848484611994565b9050610b94565b6001600160a01b03841660009081526001602052604090205460ff1615801561146557506001600160a01b03831660009081526001602052604090205460ff16155b1561151f57602354600160a01b900460ff166114ba5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109a5565b600c5460ff161561151f576001600160a01b0383166000908152600d602052604090205460ff1661151f5760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b60448201526064016109a5565b600a5460ff1615611580576001600160a01b0384166000908152600b602052604090205460ff16156115805760405162461bcd60e51b815260206004820152600a602482015269125cdcdb9a5c195c995960b21b60448201526064016109a5565b6001600160a01b03841660009081526001602052604090205460ff161580156115b257506001600160a01b0383163014155b80156115cc57506003546001600160a01b03848116911614155b80156115e657506023546001600160a01b03848116911614155b80156116005750601e546001600160a01b03848116911614155b801561161a5750601b546001600160a01b03848116911614155b801561163f57506001600160a01b0383166000908152600f602052604090205460ff16155b156116e0576001600160a01b03831660009081526008602052604090205460075461166a84836124ec565b11156116de5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016109a5565b505b6116ea8483611a68565b6116f2611ad5565b156116ff576116ff611b2b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600890915291909120546117519184906113c9565b6001600160a01b038516600090815260086020908152604080832093909355600e90529081205460ff168061179e57506001600160a01b0384166000908152600e602052604090205460ff165b6117b2576117ad858486611f12565b6117b4565b825b6001600160a01b0385166000908152600860205260409020549091506117da9082611871565b6001600160a01b03808616600081815260086020526040908190209390935591519087169060008051602061259f8339815191529061181c9085815260200190565b60405180910390a3506001949350505050565b6000610b9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113c9565b60008061187e83856124ec565b905083811015610b945760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109a5565b6000826000036118e257506000610961565b60006118ee838561245d565b9050826118fb858361243b565b14610b945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109a5565b6000610b9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061208f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546119e59184906113c9565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611a149083611871565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061259f83398151915290611a569086815260200190565b60405180910390a35060019392505050565b60065481111580611a9157506001600160a01b0382166000908152600f602052604090205460ff165b611ad15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109a5565b5050565b6023546000906001600160a01b03163314801590611af6575060255460ff16155b8015611b0b5750602354600160a81b900460ff165b8015610be857505060245430600090815260086020526040902054101590565b6025805460ff19166001179055601f54602054600091611b4a91610967565b611b5657601054611b59565b60005b90506000611b7d6002611121601554611121866024546118d090919063ffffffff16565b90506000611b968260245461182f90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611bd057611bd0612474565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611c0157611c01612474565b6001600160a01b03928316602091820292909201015260215460405163791ac94760e01b81524792919091169063791ac94790611c4b9086906000908790309042906004016124ff565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505050506000611c92824761182f90919063ffffffff16565b90506000611cad611ca4886002611952565b6015549061182f565b90506000611cc260026111218481878d6118d0565b90506000611cdf83611121601154876118d090919063ffffffff16565b90506000611cfc84611121601354886118d090919063ffffffff16565b90506000611d1985611121601254896118d090919063ffffffff16565b601b546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611d6b576040519150601f19603f3d011682016040523d82523d6000602084013e611d70565b606091505b5050601c546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611dc0576040519150601f19603f3d011682016040523d82523d6000602084013e611dc5565b606091505b5050601d546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611e15576040519150601f19603f3d011682016040523d82523d6000602084013e611e1a565b606091505b5060009250508b159050611efa57602154601a5460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611e98573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ebd9190612570565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506025805460ff1916905550505050505050505050565b601954602354600091906001600160a01b0390811690841603611f385750601754611f53565b6023546001600160a01b0390811690861603611f5357506018545b6000611f806016546064611f67919061245d565b611121846111146015548a6118d090919063ffffffff16565b90506000611f9f601554611121601454856118d090919063ffffffff16565b90506000611fad838361182f565b30600090815260086020526040902054909150611fca9082611871565b3060009081526008602052604080822092909255601e546001600160a01b031681522054611ff89083611871565b601e546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b169160008051602061259f833981519152910160405180910390a3811561207957601e546040518381526001600160a01b03918216918a169060008051602061259f8339815191529060200160405180910390a35b612083878461182f565b98975050505050505050565b600081836120b05760405162461bcd60e51b81526004016109a591906120bd565b5060006113fa848661243b565b600060208083528351808285015260005b818110156120ea578581018301518582016040015282016120ce565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461212257600080fd5b919050565b6000806040838503121561213a57600080fd5b6121438361210b565b946020939093013593505050565b6000806040838503121561216457600080fd5b50508035926020909101359150565b600080600080600060a0868803121561218b57600080fd5b6121948661210b565b94506121a26020870161210b565b93506121b06040870161210b565b92506121be6060870161210b565b91506121cc6080870161210b565b90509295509295909350565b6000602082840312156121ea57600080fd5b5035919050565b801515811461109e57600080fd5b60006020828403121561221157600080fd5b8135610b94816121f1565b60008060006060848603121561223157600080fd5b61223a8461210b565b92506122486020850161210b565b9150604084013590509250925092565b60008060006040848603121561226d57600080fd5b833567ffffffffffffffff8082111561228557600080fd5b818601915086601f83011261229957600080fd5b8135818111156122a857600080fd5b8760208260051b85010111156122bd57600080fd5b602092830195509350508401356122d3816121f1565b809150509250925092565b6000602082840312156122f057600080fd5b610b948261210b565b6000806040838503121561230c57600080fd5b6123158361210b565b91506020830135612325816121f1565b809150509250929050565b60008060006060848603121561234557600080fd5b505081359360208301359350604090920135919050565b60008060008060008060c0878903121561237557600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156123b257600080fd5b6123bb8361210b565b91506123c96020840161210b565b90509250929050565b600080604083850312156123e557600080fd5b8235612143816121f1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261245857634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761096157610961612425565b634e487b7160e01b600052603260045260246000fd5b60006001820161249c5761249c612425565b5060010190565b6000602082840312156124b557600080fd5b5051919050565b6000602082840312156124ce57600080fd5b8151610b94816121f1565b8181038181111561096157610961612425565b8082018082111561096157610961612425565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561254f5784516001600160a01b03168352938301939183019160010161252a565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561258557600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a04e9a06f88363ade472c09cef8babb0b19cb4f93de0410d28eb684dc39deec964736f6c63430008130033
Deployed Bytecode Sourcemap
5070:14351:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6939:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6939:55:0;;;;;;;;8513:80;;;;;;;;;;-1:-1:-1;8585:5:0;;;;;;;;;;;;-1:-1:-1;;;8585:5:0;;;;8513:80;;;;;;;:::i;6858:31::-;;;;;;;;;;-1:-1:-1;6858:31:0;;;;-1:-1:-1;;;6858:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;6858:31:0;749:187:1;8935:216:0;;;;;;;;;;-1:-1:-1;8935:216:0;;;;;:::i;:::-;;:::i;5732:31::-;;;;;;;;;;-1:-1:-1;5732:31:0;;;;;;;;19197:150;;;;;;;;;;-1:-1:-1;19197:150:0;;;;;:::i;:::-;;:::i;8243:88::-;;;;;;;;;;-1:-1:-1;8316:12:0;;8243:88;;18070:437;;;;;;;;;;-1:-1:-1;18070:437:0;;;;;:::i;:::-;;:::i;:::-;;9831:266;;;;;;;;;;-1:-1:-1;9831:266:0;;;;;:::i;:::-;;:::i;6214:89::-;;;;;;;;;;;;;;;;18678:182;;;;;;;;;;-1:-1:-1;18678:182:0;;;;;:::i;:::-;;:::i;16609:97::-;;;;;;;;;;-1:-1:-1;16609:97:0;;;;;:::i;:::-;;:::i;9453:370::-;;;;;;;;;;-1:-1:-1;9453:370:0;;;;;:::i;:::-;;:::i;18872:142::-;;;;;;;;;;;;;:::i;8337:80::-;;;;;;;;;;-1:-1:-1;8337:80:0;;5263:2;3149:36:1;;3137:2;3122:18;8337:80:0;3007:184:1;17029:200:0;;;;;;;;;;-1:-1:-1;17029:200:0;;;;;:::i;:::-;;:::i;9159:122::-;;;;;;;;;;-1:-1:-1;9159:122:0;;;;;:::i;:::-;;:::i;16714:91::-;;;;;;;;;;-1:-1:-1;16714:91:0;;;;;:::i;:::-;;:::i;10105:250::-;;;;;;;;;;-1:-1:-1;10105:250:0;;;;;:::i;:::-;;:::i;17237:119::-;;;;;;;;;;-1:-1:-1;17237:119:0;;;;;:::i;:::-;;:::i;14437:210::-;;;;;;;;;;-1:-1:-1;14437:210:0;;;;;:::i;:::-;;:::i;6902:30::-;;;;;;;;;;-1:-1:-1;6902:30:0;;;;-1:-1:-1;;;6902:30:0;;;;;;8683:105;;;;;;;;;;-1:-1:-1;8683:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8767:18:0;8749:7;8767:18;;;:9;:18;;;;;;;8683:105;3121:148;;;;;;;;;;;;;:::i;14128:301::-;;;;;;;;;;-1:-1:-1;14128:301:0;;;;;:::i;:::-;;:::i;5547:61::-;;;;;;;;;;;;;;;;5482:58;;;;;;;;;;;;;;;;10363:158;;;;;;;;;;-1:-1:-1;10363:158:0;;;;;:::i;:::-;;:::i;17499:563::-;;;;;;;;;;-1:-1:-1;17499:563:0;;;;;:::i;:::-;;:::i;8599:78::-;;;;;;;;;;-1:-1:-1;8651:7:0;2972:6;-1:-1:-1;;;;;2972:6:0;8599:78;;;-1:-1:-1;;;;;5475:32:1;;;5457:51;;5445:2;5430:18;8599:78:0;5311:203:1;2907:79:0;;;;;;;;;;-1:-1:-1;2945:7:0;2972:6;-1:-1:-1;;;;;2972:6:0;2907:79;;5824:28;;;;;;;;;;-1:-1:-1;5824:28:0;;;;;;;;8423:84;;;;;;;;;;-1:-1:-1;8497:7:0;;;;;;;;;;;;-1:-1:-1;;;8497:7:0;;;;8423:84;;6826:19;;;;;;;;;;-1:-1:-1;6826:19:0;;;;-1:-1:-1;;;;;6826:19:0;;;9289:156;;;;;;;;;;-1:-1:-1;9289:156:0;;;;;:::i;:::-;;:::i;2527:21::-;;;;;;;;;;-1:-1:-1;2527:21:0;;;;-1:-1:-1;;;;;2527:21:0;;;13982:138;;;;;;;;;;;;;:::i;5859:41::-;;;;;;;;;;-1:-1:-1;5859:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14655:77;;;;;;;;;;;;;:::i;5770:45::-;;;;;;;;;;-1:-1:-1;5770:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19022:167;;;;;;;;;;-1:-1:-1;19022:167:0;;;;;:::i;:::-;;:::i;13745:229::-;;;;;;;;;;-1:-1:-1;13745:229:0;;;;;:::i;:::-;;:::i;16813:208::-;;;;;;;;;;-1:-1:-1;16813:208:0;;;;;:::i;:::-;;:::i;8794:133::-;;;;;;;;;;-1:-1:-1;8794:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8896:19:0;;;8878:7;8896:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8794:133;18515:155;;;;;;;;;;-1:-1:-1;18515:155:0;;;;;:::i;:::-;;:::i;3277:244::-;;;;;;;;;;-1:-1:-1;3277:244:0;;;;;:::i;:::-;;:::i;17364:127::-;;;;;;;;;;-1:-1:-1;17364:127:0;;;;;:::i;:::-;;:::i;6753:27::-;;;;;;;;;;-1:-1:-1;6753:27:0;;;;-1:-1:-1;;;;;6753:27:0;;;8935:216;9039:10;9010:4;9027:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9027:32:0;;;;;;;;;;:41;;;9084:37;9010:4;;9027:32;;9084:37;;;;9062:6;160:25:1;;148:2;133:18;;14:177;9084:37:0;;;;;;;;-1:-1:-1;9139:4:0;8935:216;;;;;:::o;19197:150::-;19277:4;19333:6;19301:29;19321:8;19301:19;:29::i;:::-;:38;;19197:150;-1:-1:-1;;;19197:150:0:o;18070:437::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;;;;;;;;;18265:21:::1;:46:::0;;-1:-1:-1;;;;;;18265:46:0;;::::1;-1:-1:-1::0;;;;;18265:46:0;;::::1;;::::0;;;18322:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18377:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18420:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;18465:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;18070:437::o;9831:266::-;9915:10;9906:20;;;;:8;:20;;;;;;;;9898:29;;;;;;9980:4;9965:12;;:19;;;;:::i;:::-;9946:15;;:38;;9938:47;;;;;;10068:3;10049:14;10034:12;;:29;;;;:::i;:::-;10033:38;;;;:::i;:::-;10015:15;:56;-1:-1:-1;9831:266:0:o;18678:182::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;18775:15:::1;:25:::0;;;;18811:26:::1;:41:::0;18678:182::o;16609:97::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;16676:12:::1;:22:::0;;-1:-1:-1;;16676:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16609:97::o;9453:370::-;-1:-1:-1;;;;;9573:19:0;;9553:4;9573:19;;;:11;:19;;;;;;;;9593:10;9573:31;;;;;;;;-1:-1:-1;;9573:52:0;9570:186;;9675:69;;;;;;;;;;;-1:-1:-1;;;9675:69:0;;;;;;;;-1:-1:-1;;;;;9675:19:0;;-1:-1:-1;9675:19:0;;;:11;:19;;;;;9695:10;9675:31;;;;;;;;;;:69;;9711:6;;9675:35;:69::i;:::-;-1:-1:-1;;;;;9641:19:0;;;;;;:11;:19;;;;;;;;9661:10;9641:31;;;;;;;:103;9570:186;9775:40;9789:6;9797:9;9808:6;9775:13;:40::i;:::-;9768:47;;9453:370;;;;;;:::o;18872:142::-;19000:4;;-1:-1:-1;;;;;19000:4:0;18925:7;8767:18;;;:9;:18;;;;;;18952:54;;18979:4;;-1:-1:-1;;;;;18979:4:0;8749:7;8767:18;;;:9;:18;;;;;;18952:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18945:61;;18872:142;:::o;17029:200::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;17126:9:::1;17121:101;17137:20:::0;;::::1;17121:101;;;17204:6;17179:8;:22;17188:9;;17198:1;17188:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17179:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17179:22:0;:31;;-1:-1:-1;;17179:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17159:3:::1;::::0;::::1;:::i;:::-;;;17121:101;;;;17029:200:::0;;;:::o;9159:122::-;9214:4;9238:35;9246:7;-1:-1:-1;;9238:7:0;:35::i;16714:91::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;16777:8:::1;:18:::0;;-1:-1:-1;;16777:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16714:91::o;10105:250::-;10184:10;10175:20;;;;:8;:20;;;;;;;;10167:29;;;;;;10246:4;10231:12;;:19;;;;:::i;:::-;10215:12;;:35;;10207:44;;;;;;10343:4;10326:12;10311;;:27;;;;:::i;:::-;10310:37;;;;:::i;:::-;10295:12;:52;-1:-1:-1;10105:250:0:o;17237:119::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17320:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;17320:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17237:119::o;14437:210::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;14536:14:::1;:22:::0;;;;14569:13:::1;:20:::0;;;;14600:18:::1;:27:::0;14437:210::o;3121:148::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;3228:1:::1;3212:6:::0;;3191:40:::1;::::0;-1:-1:-1;;;;;3212:6:0;;::::1;::::0;3191:40:::1;::::0;3228:1;;3191:40:::1;3259:1;3242:19:::0;;-1:-1:-1;;;;;;3242:19:0::1;::::0;;3121:148::o;14128:301::-;14241:10;14207:4;14232:20;;;:8;:20;;;;;;;;14224:29;;;;;;14264:6;14274:1;14264:11;14261:95;;14300:44;;-1:-1:-1;;;14300:44:0;;14338:4;14300:44;;;5457:51:1;-1:-1:-1;;;;;14300:29:0;;;;;5430:18:1;;14300:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14291:53;;14261:95;14373:48;;-1:-1:-1;;;14373:48:0;;14402:10;14373:48;;;7850:51:1;7917:18;;;7910:34;;;-1:-1:-1;;;;;14373:28:0;;;;;7823:18:1;;14373:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10363:158::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;10476:4:::1;10461:12;;:19;;;;:::i;:::-;10445:12;;:35;;10437:44;;;::::0;::::1;;10492:12;:21:::0;10363:158::o;17499:563::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;17670:12:::1;:28:::0;;;17709:7:::1;:18:::0;;;17738:12:::1;:28:::0;;;17777:6:::1;:16:::0;;;17804:7:::1;:18:::0;;;17844:73:::1;17814:8:::0;17844:59:::1;17786:7:::0;17844:59;17753:13;17844:59;17685:13;17719:8;17844:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:73::-;17833:8;:84:::0;17928:14:::1;:32:::0;;;17990:16:::1;18005:1;17945:15:::0;17990:16:::1;:::i;:::-;17979:8;;:27;17971:68;;;::::0;-1:-1:-1;;;17971:68:0;;8407:2:1;17971:68:0::1;::::0;::::1;8389:21:1::0;8446:2;8426:18;;;8419:30;8485;8465:18;;;8458:58;8533:18;;17971:68:0::1;8205:352:1::0;17971:68:0::1;17499:563:::0;;;;;;:::o;9289:156::-;9369:4;9393:44;9407:10;9419:9;9430:6;9393:13;:44::i;13982:138::-;14036:10;14027:20;;;;:8;:20;;;;;;;;14019:29;;;;;;14059:51;;14067:10;;14088:21;14059:51;;;;;;;;;14088:21;14067:10;14059:51;;;;;;;;;;;;;;;;;;;;;13982:138::o;14655:77::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;14706:11:::1;:18:::0;;-1:-1:-1;;;;14706:18:0::1;-1:-1:-1::0;;;14706:18:0::1;::::0;;14655:77::o;19022:167::-;19090:7;19117:64;19158:22;:20;:22::i;:::-;19140:4;;-1:-1:-1;;;;;19140:4:0;8749:7;8767:18;;;:9;:18;;;;;;19117:36;;19130:22;;19150:1;;19130:15;:19;;:22::i;:::-;19117:8;;:12;:36::i;:::-;:40;;:64::i;13745:229::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;13900:20:::1;::::0;13860:21:::1;::::0;-1:-1:-1;;;;;13900:20:0::1;13892:74;13962:3;13931:28;13943:16:::0;13860:21;13931:28:::1;:::i;:::-;:34;;;;:::i;:::-;13892:74;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13813:161;13745:229:::0;:::o;16813:208::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;16914:9:::1;16909:105;16925:20:::0;;::::1;16909:105;;;16996:6;16967:12;:26;16980:9;;16990:1;16980:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16967:26:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16967:26:0;:35;;-1:-1:-1;;16967:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16947:3:::1;::::0;::::1;:::i;:::-;;;16909:105;;18515:155:::0;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;18606:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;18606:22:0::1;-1:-1:-1::0;;;;18606:22:0;;::::1;::::0;;;::::1;::::0;;;18639:13:::1;:23:::0;18515:155::o;3277:244::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3366:22:0;::::1;3358:73;;;::::0;-1:-1:-1;;;3358:73:0;;8764:2:1;3358:73:0::1;::::0;::::1;8746:21:1::0;8803:2;8783:18;;;8776:30;8842:34;8822:18;;;8815:62;-1:-1:-1;;;8893:18:1;;;8886:36;8939:19;;3358:73:0::1;8562:402:1::0;3358:73:0::1;3468:6;::::0;;3447:38:::1;::::0;-1:-1:-1;;;;;3447:38:0;;::::1;::::0;3468:6;::::1;::::0;3447:38:::1;::::0;::::1;3496:6;:17:::0;;-1:-1:-1;;;;;;3496:17:0::1;-1:-1:-1::0;;;;;3496:17:0;;;::::1;::::0;;;::::1;::::0;;3277:244::o;17364:127::-;3034:6;;-1:-1:-1;;;;;3034:6:0;323:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17451:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;17451:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17364:127::o;1704:192::-;1790:7;1826:12;1818:6;;;;1810:29;;;;-1:-1:-1;;;1810:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1850:9:0;1862:5;1866:1;1862;:5;:::i;:::-;1850:17;1704:192;-1:-1:-1;;;;;1704:192:0:o;10529:1415::-;10641:6;;10621:4;;10641:6;;10638:63;;;10657:41;10672:6;10680:9;10691:6;10657:14;:41::i;:::-;10650:48;;;;10638:63;-1:-1:-1;;;;;10717:22:0;;;;;;:14;:22;;;;;;;;10716:23;:53;;;;-1:-1:-1;;;;;;10744:25:0;;;;;;:14;:25;;;;;;;;10743:26;10716:53;10713:232;;;10793:11;;-1:-1:-1;;;10793:11:0;;;;10785:43;;;;-1:-1:-1;;;10785:43:0;;9304:2:1;10785:43:0;;;9286:21:1;9343:2;9323:18;;;9316:30;-1:-1:-1;;;9362:18:1;;;9355:50;9422:18;;10785:43:0;9102:344:1;10785:43:0;10844:8;;;;10841:93;;;-1:-1:-1;;;;;10880:19:0;;;;;;:8;:19;;;;;;;;10872:46;;;;-1:-1:-1;;;10872:46:0;;9653:2:1;10872:46:0;;;9635:21:1;9692:2;9672:18;;;9665:30;-1:-1:-1;;;9711:18:1;;;9704:45;9766:18;;10872:46:0;9451:339:1;10872:46:0;10982:12;;;;10979:90;;;-1:-1:-1;;;;;11019:20:0;;;;;;:12;:20;;;;;;;;11018:21;11010:43;;;;-1:-1:-1;;;11010:43:0;;9997:2:1;11010:43:0;;;9979:21:1;10036:2;10016:18;;;10009:30;-1:-1:-1;;;10055:18:1;;;10048:40;10105:18;;11010:43:0;9795:334:1;11010:43:0;-1:-1:-1;;;;;11086:22:0;;;;;;:14;:22;;;;;;;;11085:23;:53;;;;-1:-1:-1;;;;;;11112:26:0;;11133:4;11112:26;;11085:53;:84;;;;-1:-1:-1;11164:4:0;;-1:-1:-1;;;;;11143:26:0;;;11164:4;;11143:26;;11085:84;:105;;;;-1:-1:-1;11186:4:0;;-1:-1:-1;;;;;11173:17:0;;;11186:4;;11173:17;;11085:105;:137;;;;-1:-1:-1;11207:15:0;;-1:-1:-1;;;;;11194:28:0;;;11207:15;;11194:28;;11085:137;:174;;;;-1:-1:-1;11239:20:0;;-1:-1:-1;;;;;11226:33:0;;;11239:20;;11226:33;;11085:174;:205;;;;-1:-1:-1;;;;;;11264:26:0;;;;;;:15;:26;;;;;;;;11263:27;11085:205;11081:397;;;-1:-1:-1;;;;;8767:18:0;;11306;8767;;;:9;:18;;;;;;11395:15;;11371:19;11384:6;8767:18;11371:19;:::i;:::-;11370:40;;11362:114;;;;-1:-1:-1;;;11362:114:0;;10466:2:1;11362:114:0;;;10448:21:1;10505:2;10485:18;;;10478:30;10544:34;10524:18;;;10517:62;10615:32;10595:18;;;10588:60;10665:19;;11362:114:0;10264:426:1;11362:114:0;11291:187;11081:397;11490:28;11503:6;11511;11490:12;:28::i;:::-;11533:16;:14;:16::i;:::-;11530:35;;;11552:10;:8;:10::i;:::-;11595:53;;;;;;;;;;;-1:-1:-1;;;11595:53:0;;;;;;;;-1:-1:-1;;;;;11595:17:0;;-1:-1:-1;11595:17:0;;;:9;:17;;;;;;;;:53;;11617:6;;11595:21;:53::i;:::-;-1:-1:-1;;;;;11575:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11687:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11710:22:0;;;;;;:11;:22;;;;;;;;11687:45;11686:93;;11745:34;11753:6;11761;11769:9;11745:7;:34::i;:::-;11686:93;;;11736:6;11686:93;-1:-1:-1;;;;;11813:20:0;;;;;;:9;:20;;;;;;11661:118;;-1:-1:-1;11813:40:0;;11661:118;11813:24;:40::i;:::-;-1:-1:-1;;;;;11790:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11871:43;;;;;;-1:-1:-1;;;;;;;;;;;11871:43:0;;;11899:14;160:25:1;;148:2;133:18;;14:177;11871:43:0;;;;;;;;-1:-1:-1;11932:4:0;;10529:1415;-1:-1:-1;;;;10529:1415:0:o;1562:136::-;1620:7;1647:43;1651:1;1654;1647:43;;;;;;;;;;;;;;;;;:3;:43::i;1375:181::-;1433:7;;1465:5;1469:1;1465;:5;:::i;:::-;1453:17;;1494:1;1489;:6;;1481:46;;;;-1:-1:-1;;;1481:46:0;;10897:2:1;1481:46:0;;;10879:21:1;10936:2;10916:18;;;10909:30;10975:29;10955:18;;;10948:57;11022:18;;1481:46:0;10695:351:1;1902:250:0;1960:7;1984:1;1989;1984:6;1980:47;;-1:-1:-1;2014:1:0;2007:8;;1980:47;2039:9;2051:5;2055:1;2051;:5;:::i;:::-;2039:17;-1:-1:-1;2084:1:0;2075:5;2079:1;2039:17;2075:5;:::i;:::-;:10;2067:56;;;;-1:-1:-1;;;2067:56:0;;11253:2:1;2067:56:0;;;11235:21:1;11292:2;11272:18;;;11265:30;11331:34;11311:18;;;11304:62;-1:-1:-1;;;11382:18:1;;;11375:31;11423:19;;2067:56:0;11051:397:1;2158:132:0;2216:7;2243:39;2247:1;2250;2243:39;;;;;;;;;;;;;;;;;:3;:39::i;11956:330::-;12086:53;;;;;;;;;;;-1:-1:-1;;;12086:53:0;;;;;;;;-1:-1:-1;;;;;12086:17:0;;12049:4;12086:17;;;:9;:17;;;;;;;:53;;12108:6;;12086:21;:53::i;:::-;-1:-1:-1;;;;;12066:17:0;;;;;;;:9;:17;;;;;;:73;;;;12173:20;;;;;;;:32;;12198:6;12173:24;:32::i;:::-;-1:-1:-1;;;;;12150:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12221:35;;;;;;-1:-1:-1;;;;;;;;;;;12221:35:0;;;12249:6;160:25:1;;148:2;133:18;;14:177;12221:35:0;;;;;;;;-1:-1:-1;12274:4:0;11956:330;;;;;:::o;12294:166::-;12391:12;;12381:6;:22;;:49;;;-1:-1:-1;;;;;;12407:23:0;;;;;;:15;:23;;;;;;;;12381:49;12373:79;;;;-1:-1:-1;;;12373:79:0;;11655:2:1;12373:79:0;;;11637:21:1;11694:2;11674:18;;;11667:30;-1:-1:-1;;;11713:18:1;;;11706:47;11770:18;;12373:79:0;11453:341:1;12373:79:0;12294:166;;:::o;13540:197::-;13627:4;;13589;;-1:-1:-1;;;;;13627:4:0;13613:10;:18;;;;:38;;-1:-1:-1;13645:6:0;;;;13644:7;13613:38;:62;;;;-1:-1:-1;13664:11:0;;-1:-1:-1;;;13664:11:0;;;;13613:62;:116;;;;-1:-1:-1;;13716:13:0;;13706:4;13688:24;;;;:9;:24;;;;;;:41;;;13540:197::o;14740:1861::-;7042:6;:13;;-1:-1:-1;;7042:13:0;7051:4;7042:13;;;14835:15:::1;::::0;14852:26:::1;::::0;7042:6;;14819:60:::1;::::0;:15:::1;:60::i;:::-;:79;;14886:12;;14819:79;;;14882:1;14819:79;14789:109;;14909:23;14935:59;14992:1;14935:52;14978:8;;14935:38;14953:19;14935:13;;:17;;:38;;;;:::i;:59::-;14909:85;;15005:20;15028:34;15046:15;15028:13;;:17;;:34;;;;:::i;:::-;15099:16;::::0;;15113:1:::1;15099:16:::0;;;;;::::1;::::0;;15005:57;;-1:-1:-1;15075:21:0::1;::::0;15099:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15099:16:0::1;15075:40;;15144:4;15126;15131:1;15126:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15126:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15170:4:::1;::::0;15160:7;;15170:4;::::1;::::0;15160;;15170;;15160:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15160:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15245:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15245:188:0;;15211:21:::1;::::0;15245:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15317:12;;15187:21:::1;::::0;15360:4;;15387::::1;::::0;15407:15:::1;::::0;15245:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15446:17;15466:40;15492:13;15466:21;:25;;:40;;;;:::i;:::-;15446:60:::0;-1:-1:-1;15519:19:0::1;15541:40;15554:26;:19:::0;15578:1:::1;15554:23;:26::i;:::-;15541:8;::::0;;:12:::1;:40::i;:::-;15519:62:::0;-1:-1:-1;15602:26:0::1;15631:58;15687:1;15631:51;15519:62:::0;15631:51;:9;15645:19;15631:13:::1;:34::i;:58::-;15602:87;;15700:26;15729:44;15761:11;15729:27;15743:12;;15729:9;:13;;:27;;;;:::i;:44::-;15700:73;;15784:21;15808:39;15835:11;15808:22;15822:7;;15808:9;:13;;:22;;;;:::i;:39::-;15784:63;;15858:20;15881:38;15907:11;15881:21;15895:6;;15881:9;:13;;:21;;;;:::i;:38::-;15961:20;::::0;15953:65:::1;::::0;15858:61;;-1:-1:-1;15933:15:0::1;::::0;-1:-1:-1;;;;;15961:20:0;;::::1;::::0;15995:18;;15933:15;15953:65;15933:15;15953:65;15995:18;15961:20;15953:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16053:14:0::1;::::0;16045:53:::1;::::0;15932:86;;-1:-1:-1;;;;;;16053:14:0::1;::::0;16081:12;;16045:53:::1;::::0;;;16081:12;16053:14;16045:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16133:15:0::1;::::0;16125:55:::1;::::0;16029:69;;-1:-1:-1;;;;;;16133:15:0::1;::::0;16162:13;;16125:55:::1;::::0;;;16162:13;16133:15;16125:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16214:5:0::1;::::0;-1:-1:-1;;16235:19:0;;;-1:-1:-1;16232:362:0::1;;16270:6;::::0;16444:21:::1;::::0;16270:244:::1;::::0;-1:-1:-1;;;16270:244:0;;16346:4:::1;16270:244;::::0;::::1;13467:34:1::0;13517:18;;;13510:34;;;16270:6:0::1;13560:18:1::0;;;13553:34;;;13603:18;;;13596:34;-1:-1:-1;;;;;16444:21:0;;::::1;13646:19:1::0;;;13639:44;16484:15:0::1;13699:19:1::0;;;13692:35;16270:6:0;::::1;::::0;:22:::1;::::0;16300:18;;13401:19:1;;16270:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16534:48:0::1;::::0;;14223:25:1;;;14279:2;14264:18;;14257:34;;;16534:48:0::1;::::0;-1:-1:-1;14196:18:1;16534:48:0::1;;;;;;;16232:362;-1:-1:-1::0;;7060:6:0;:14;;-1:-1:-1;;7060:14:0;;;-1:-1:-1;;;;;;;;;;14740:1861:0:o;12590:942::-;12727:18;;12774:4;;12676:7;;12727:18;-1:-1:-1;;;;;12774:4:0;;;12761:17;;;;12758:154;;-1:-1:-1;12808:14:0;;12758:154;;;12853:4;;-1:-1:-1;;;;;12853:4:0;;;12843:14;;;;12840:72;;-1:-1:-1;12887:13:0;;12840:72;12924:17;12944:62;12985:14;;13002:3;12985:20;;;;:::i;:::-;12944:36;12969:10;12944:20;12955:8;;12944:6;:10;;:20;;;;:::i;:62::-;12924:82;;13017:18;13038:36;13065:8;;13038:22;13052:7;;13038:9;:13;;:22;;;;:::i;:36::-;13017:57;-1:-1:-1;13085:22:0;13110:25;:9;13017:57;13110:13;:25::i;:::-;13193:4;13175:24;;;;:9;:24;;;;;;13085:50;;-1:-1:-1;13175:44:0;;13085:50;13175:28;:44::i;:::-;13166:4;13148:24;;;;:9;:24;;;;;;:71;;;;13269:15;;-1:-1:-1;;;;;13269:15:0;13259:26;;;;:42;;13290:10;13259:30;:42::i;:::-;13240:15;;-1:-1:-1;;;;;13240:15:0;;;13230:26;;;;:9;:26;;;;;;;;;:71;;;;13317:47;160:25:1;;;13342:4:0;;13317:47;;;;-1:-1:-1;;;;;;;;;;;13317:47:0;133:18:1;13317:47:0;;;;;;;13388:14;;13385:99;;13440:15;;13423:45;;160:25:1;;;-1:-1:-1;;;;;13440:15:0;;;;13423:45;;;-1:-1:-1;;;;;;;;;;;13423:45:0;148:2:1;133:18;13423:45:0;;;;;;;13385:99;13503:21;:6;13514:9;13503:10;:21::i;:::-;13496:28;12590:942;-1:-1:-1;;;;;;;;12590:942:0:o;2296:189::-;2382:7;2417:12;2410:5;2402:28;;;;-1:-1:-1;;;2402:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2441:9:0;2453:5;2457:1;2453;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;941:173::-;1009:20;;-1:-1:-1;;;;;1058:31:1;;1048:42;;1038:70;;1104:1;1101;1094:12;1038:70;941:173;;;:::o;1119:254::-;1187:6;1195;1248:2;1236:9;1227:7;1223:23;1219:32;1216:52;;;1264:1;1261;1254:12;1216:52;1287:29;1306:9;1287:29;:::i;:::-;1277:39;1363:2;1348:18;;;;1335:32;;-1:-1:-1;;;1119:254:1:o;1378:248::-;1446:6;1454;1507:2;1495:9;1486:7;1482:23;1478:32;1475:52;;;1523:1;1520;1513:12;1475:52;-1:-1:-1;;1546:23:1;;;1616:2;1601:18;;;1588:32;;-1:-1:-1;1378:248:1:o;1631:484::-;1726:6;1734;1742;1750;1758;1811:3;1799:9;1790:7;1786:23;1782:33;1779:53;;;1828:1;1825;1818:12;1779:53;1851:29;1870:9;1851:29;:::i;:::-;1841:39;;1899:38;1933:2;1922:9;1918:18;1899:38;:::i;:::-;1889:48;;1956:38;1990:2;1979:9;1975:18;1956:38;:::i;:::-;1946:48;;2013:38;2047:2;2036:9;2032:18;2013:38;:::i;:::-;2003:48;;2070:39;2104:3;2093:9;2089:19;2070:39;:::i;:::-;2060:49;;1631:484;;;;;;;;:::o;2120:180::-;2179:6;2232:2;2220:9;2211:7;2207:23;2203:32;2200:52;;;2248:1;2245;2238:12;2200:52;-1:-1:-1;2271:23:1;;2120:180;-1:-1:-1;2120:180:1:o;2305:118::-;2391:5;2384:13;2377:21;2370:5;2367:32;2357:60;;2413:1;2410;2403:12;2428:241;2484:6;2537:2;2525:9;2516:7;2512:23;2508:32;2505:52;;;2553:1;2550;2543:12;2505:52;2592:9;2579:23;2611:28;2633:5;2611:28;:::i;2674:328::-;2751:6;2759;2767;2820:2;2808:9;2799:7;2795:23;2791:32;2788:52;;;2836:1;2833;2826:12;2788:52;2859:29;2878:9;2859:29;:::i;:::-;2849:39;;2907:38;2941:2;2930:9;2926:18;2907:38;:::i;:::-;2897:48;;2992:2;2981:9;2977:18;2964:32;2954:42;;2674:328;;;;;:::o;3196:750::-;3288:6;3296;3304;3357:2;3345:9;3336:7;3332:23;3328:32;3325:52;;;3373:1;3370;3363:12;3325:52;3413:9;3400:23;3442:18;3483:2;3475:6;3472:14;3469:34;;;3499:1;3496;3489:12;3469:34;3537:6;3526:9;3522:22;3512:32;;3582:7;3575:4;3571:2;3567:13;3563:27;3553:55;;3604:1;3601;3594:12;3553:55;3644:2;3631:16;3670:2;3662:6;3659:14;3656:34;;;3686:1;3683;3676:12;3656:34;3741:7;3734:4;3724:6;3721:1;3717:14;3713:2;3709:23;3705:34;3702:47;3699:67;;;3762:1;3759;3752:12;3699:67;3793:4;3785:13;;;;-1:-1:-1;3817:6:1;-1:-1:-1;;3858:20:1;;3845:34;3888:28;3845:34;3888:28;:::i;:::-;3935:5;3925:15;;;3196:750;;;;;:::o;3951:186::-;4010:6;4063:2;4051:9;4042:7;4038:23;4034:32;4031:52;;;4079:1;4076;4069:12;4031:52;4102:29;4121:9;4102:29;:::i;4142:315::-;4207:6;4215;4268:2;4256:9;4247:7;4243:23;4239:32;4236:52;;;4284:1;4281;4274:12;4236:52;4307:29;4326:9;4307:29;:::i;:::-;4297:39;;4386:2;4375:9;4371:18;4358:32;4399:28;4421:5;4399:28;:::i;:::-;4446:5;4436:15;;;4142:315;;;;;:::o;4462:316::-;4539:6;4547;4555;4608:2;4596:9;4587:7;4583:23;4579:32;4576:52;;;4624:1;4621;4614:12;4576:52;-1:-1:-1;;4647:23:1;;;4717:2;4702:18;;4689:32;;-1:-1:-1;4768:2:1;4753:18;;;4740:32;;4462:316;-1:-1:-1;4462:316:1:o;4783:523::-;4887:6;4895;4903;4911;4919;4927;4980:3;4968:9;4959:7;4955:23;4951:33;4948:53;;;4997:1;4994;4987:12;4948:53;-1:-1:-1;;5020:23:1;;;5090:2;5075:18;;5062:32;;-1:-1:-1;5141:2:1;5126:18;;5113:32;;5192:2;5177:18;;5164:32;;-1:-1:-1;5243:3:1;5228:19;;5215:33;;-1:-1:-1;5295:3:1;5280:19;5267:33;;-1:-1:-1;4783:523:1;-1:-1:-1;4783:523:1:o;5519:260::-;5587:6;5595;5648:2;5636:9;5627:7;5623:23;5619:32;5616:52;;;5664:1;5661;5654:12;5616:52;5687:29;5706:9;5687:29;:::i;:::-;5677:39;;5735:38;5769:2;5758:9;5754:18;5735:38;:::i;:::-;5725:48;;5519:260;;;;;:::o;5784:309::-;5849:6;5857;5910:2;5898:9;5889:7;5885:23;5881:32;5878:52;;;5926:1;5923;5916:12;5878:52;5965:9;5952:23;5984:28;6006:5;5984:28;:::i;6327:356::-;6529:2;6511:21;;;6548:18;;;6541:30;6607:34;6602:2;6587:18;;6580:62;6674:2;6659:18;;6327:356::o;6688:127::-;6749:10;6744:3;6740:20;6737:1;6730:31;6780:4;6777:1;6770:15;6804:4;6801:1;6794:15;6820:217;6860:1;6886;6876:132;;6930:10;6925:3;6921:20;6918:1;6911:31;6965:4;6962:1;6955:15;6993:4;6990:1;6983:15;6876:132;-1:-1:-1;7022:9:1;;6820:217::o;7042:168::-;7115:9;;;7146;;7163:15;;;7157:22;;7143:37;7133:71;;7184:18;;:::i;7215:127::-;7276:10;7271:3;7267:20;7264:1;7257:31;7307:4;7304:1;7297:15;7331:4;7328:1;7321:15;7347:135;7386:3;7407:17;;;7404:43;;7427:18;;:::i;:::-;-1:-1:-1;7474:1:1;7463:13;;7347:135::o;7487:184::-;7557:6;7610:2;7598:9;7589:7;7585:23;7581:32;7578:52;;;7626:1;7623;7616:12;7578:52;-1:-1:-1;7649:16:1;;7487:184;-1:-1:-1;7487:184:1:o;7955:245::-;8022:6;8075:2;8063:9;8054:7;8050:23;8046:32;8043:52;;;8091:1;8088;8081:12;8043:52;8123:9;8117:16;8142:28;8164:5;8142:28;:::i;8969:128::-;9036:9;;;9057:11;;;9054:37;;;9071:18;;:::i;10134:125::-;10199:9;;;10220:10;;;10217:36;;;10233:18;;:::i;11931:980::-;12193:4;12241:3;12230:9;12226:19;12272:6;12261:9;12254:25;12298:2;12336:6;12331:2;12320:9;12316:18;12309:34;12379:3;12374:2;12363:9;12359:18;12352:31;12403:6;12438;12432:13;12469:6;12461;12454:22;12507:3;12496:9;12492:19;12485:26;;12546:2;12538:6;12534:15;12520:29;;12567:1;12577:195;12591:6;12588:1;12585:13;12577:195;;;12656:13;;-1:-1:-1;;;;;12652:39:1;12640:52;;12747:15;;;;12712:12;;;;12688:1;12606:9;12577:195;;;-1:-1:-1;;;;;;;12828:32:1;;;;12823:2;12808:18;;12801:60;-1:-1:-1;;;12892:3:1;12877:19;12870:35;12789:3;11931:980;-1:-1:-1;;;11931:980:1:o;13738:306::-;13826:6;13834;13842;13895:2;13883:9;13874:7;13870:23;13866:32;13863:52;;;13911:1;13908;13901:12;13863:52;13940:9;13934:16;13924:26;;13990:2;13979:9;13975:18;13969:25;13959:35;;14034:2;14023:9;14019:18;14013:25;14003:35;;13738:306;;;;;:::o
Swarm Source
ipfs://a04e9a06f88363ade472c09cef8babb0b19cb4f93de0410d28eb684dc39deec9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.