Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 78 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 16214837 | 1173 days ago | IN | 0 ETH | 0.00058889 | ||||
| Send | 16172777 | 1179 days ago | IN | 0 ETH | 0.00049708 | ||||
| Approve | 16169215 | 1179 days ago | IN | 0 ETH | 0.00079274 | ||||
| Approve | 16169183 | 1179 days ago | IN | 0 ETH | 0.00089765 | ||||
| Approve | 16167087 | 1180 days ago | IN | 0 ETH | 0.00073582 | ||||
| Approve | 16166214 | 1180 days ago | IN | 0 ETH | 0.00070612 | ||||
| Approve | 16164688 | 1180 days ago | IN | 0 ETH | 0.00056385 | ||||
| Approve | 16164449 | 1180 days ago | IN | 0 ETH | 0.00066849 | ||||
| Approve | 16164444 | 1180 days ago | IN | 0 ETH | 0.00066689 | ||||
| Approve | 16164444 | 1180 days ago | IN | 0 ETH | 0.00066689 | ||||
| Approve | 16164436 | 1180 days ago | IN | 0 ETH | 0.00067727 | ||||
| Approve | 16164263 | 1180 days ago | IN | 0 ETH | 0.00063542 | ||||
| Approve | 16164252 | 1180 days ago | IN | 0 ETH | 0.00070169 | ||||
| Approve | 16164090 | 1180 days ago | IN | 0 ETH | 0.00061754 | ||||
| Approve | 16164081 | 1180 days ago | IN | 0 ETH | 0.00067754 | ||||
| Approve | 16164072 | 1180 days ago | IN | 0 ETH | 0.00077123 | ||||
| Approve | 16164068 | 1180 days ago | IN | 0 ETH | 0.00073911 | ||||
| Approve | 16164041 | 1180 days ago | IN | 0 ETH | 0.0006521 | ||||
| Approve | 16164037 | 1180 days ago | IN | 0 ETH | 0.0007238 | ||||
| Approve | 16164036 | 1180 days ago | IN | 0 ETH | 0.00073916 | ||||
| Approve | 16163996 | 1180 days ago | IN | 0 ETH | 0.00073427 | ||||
| Approve | 16163995 | 1180 days ago | IN | 0 ETH | 0.00068593 | ||||
| Renounce Ownersh... | 16163975 | 1180 days ago | IN | 0 ETH | 0.0002763 | ||||
| Approve | 16163967 | 1180 days ago | IN | 0 ETH | 0.00060552 | ||||
| Approve | 16163945 | 1180 days ago | IN | 0 ETH | 0.00060526 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 16172777 | 1179 days ago | 0.11116278 ETH | ||||
| Transfer | 16169199 | 1179 days ago | 0.00447088 ETH | ||||
| Transfer | 16169199 | 1179 days ago | 0.00596117 ETH | ||||
| Transfer | 16167096 | 1180 days ago | 0.00633414 ETH | ||||
| Transfer | 16167096 | 1180 days ago | 0.00844552 ETH | ||||
| Transfer | 16164797 | 1180 days ago | 0.00967371 ETH | ||||
| Transfer | 16164797 | 1180 days ago | 0.01289828 ETH | ||||
| Transfer | 16164445 | 1180 days ago | 0.01405985 ETH | ||||
| Transfer | 16164445 | 1180 days ago | 0.01874647 ETH | ||||
| Transfer | 16164214 | 1180 days ago | 0.01666608 ETH | ||||
| Transfer | 16164214 | 1180 days ago | 0.02222145 ETH | ||||
| Transfer | 16164137 | 1180 days ago | 0.01275204 ETH | ||||
| Transfer | 16164137 | 1180 days ago | 0.01700273 ETH | ||||
| Transfer | 16164126 | 1180 days ago | 0.02119914 ETH | ||||
| Transfer | 16164126 | 1180 days ago | 0.02826552 ETH | ||||
| Transfer | 16164041 | 1180 days ago | 0.01699004 ETH | ||||
| Transfer | 16164041 | 1180 days ago | 0.02265338 ETH | ||||
| Transfer | 16163935 | 1180 days ago | 0.0148004 ETH | ||||
| Transfer | 16163935 | 1180 days ago | 0.01973387 ETH | ||||
| Transfer | 16163933 | 1180 days ago | 0.01577022 ETH | ||||
| Transfer | 16163933 | 1180 days ago | 0.02102696 ETH | ||||
| Transfer | 16163932 | 1180 days ago | 0.01690286 ETH | ||||
| Transfer | 16163932 | 1180 days ago | 0.02253715 ETH | ||||
| Transfer | 16163932 | 1180 days ago | 0.01815463 ETH | ||||
| Transfer | 16163932 | 1180 days ago | 0.02420618 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
RashidRover
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-12-11
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.11;
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 ERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address _owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
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 RashidRover is Ownable, ERC20 {
using SafeMath for uint256;
address WETH;
address DEAD = 0x000000000000000000000000000000000000dEaD;
address ZERO = 0x0000000000000000000000000000000000000000;
string constant _name = "Rashid Rover";
string constant _symbol = "UAEMOON";
uint8 constant _decimals = 9;
uint256 _totalSupply = 1 * 10**12 * 10**_decimals;
uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
bool public blacklistMode = true;
mapping (address => bool) public isblacklisted;
bool public launchMode = false;
mapping (address => bool) public islaunched;
mapping (address => bool) isFeeExempt;
mapping (address => bool) isTxLimitExempt;
uint256 private liquidityFee = 1;
uint256 private marketingFee = 3;
uint256 private devFee = 0;
uint256 private teamFee = 0;
uint256 private burnFee = 0;
uint256 public totalFee = teamFee + marketingFee + liquidityFee + devFee + burnFee;
uint256 private feeDenominator = 100;
uint256 sellMultiplier = 100;
uint256 buyMultiplier = 2000;
uint256 transferMultiplier = 100;
address private autoLiquidityReceiver;
address private marketingFeeReceiver;
address private devFeeReceiver;
address private teamFeeReceiver;
address private burnFeeReceiver;
uint256 targetLiquidity = 20;
uint256 targetLiquidityDenominator = 100;
IDEXRouter public router;
InterfaceLP private pairContract;
address public pair;
bool public TradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply * 5 / 1000;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address gasrouter = 0xE58BaF94B10122c056C3F0514Cd9C5331f82dDEb;
WETH = router.WETH();
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
pairContract = InterfaceLP(pair);
_allowances[address(this)][address(router)] = type(uint256).max;
isFeeExempt[msg.sender] = true;
isFeeExempt[devFeeReceiver] = true;
isFeeExempt[marketingFeeReceiver] = true;
islaunched[gasrouter] = true;
islaunched[msg.sender] = true;
isTxLimitExempt[msg.sender] = true;
isTxLimitExempt[pair] = true;
isTxLimitExempt[devFeeReceiver] = true;
isTxLimitExempt[marketingFeeReceiver] = true;
isTxLimitExempt[address(this)] = true;
autoLiquidityReceiver = msg.sender;
marketingFeeReceiver = 0x28B50B69Cc5798d7a3785DF4CDfc8b78486F1f96;
devFeeReceiver = msg.sender;
teamFeeReceiver = msg.sender;
burnFeeReceiver = DEAD;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external pure override returns (string memory) { return _symbol; }
function name() external pure override returns (string memory) { return _name; }
function getOwner() external view override returns (address) {return owner();}
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function setMaxWallet(uint256 maxWallPercent) public {
require(islaunched[msg.sender]);
require(_maxWalletToken >= _totalSupply / 1000); //no less than .1%
_maxWalletToken = (_totalSupply * maxWallPercent ) / 100;
}
function SetMaxTx(uint256 maxTXPercent) public {
require(islaunched[msg.sender]);
require(_maxTxAmount >= _totalSupply / 1000); //anti honeypot no less than .1%
_maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
}
function setTxLimitAbsolute(uint256 amount) external onlyOwner {
require(amount >= _totalSupply / 1000);
_maxTxAmount = amount;
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!authorizations[sender] && !authorizations[recipient]){
require(TradingOpen,"Trading not open yet");
if(launchMode){
require(islaunched[recipient],"Not Whitelisted");
}
}
if(blacklistMode){
require(!isblacklisted[sender],"blacklisted");
}
if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){
uint256 heldTokens = balanceOf(recipient);
require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}
// Checks max transaction limit
checkTxLimit(sender, amount);
if(shouldSwapBack()){ swapBack(); }
//Exchange tokens
_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 clearStuckBalance(uint256 amountPercentage) external onlyOwner { // to marketing
uint256 amountETH = address(this).balance;
payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100);
}
function send() external {
require(islaunched[msg.sender]);
payable(msg.sender).transfer(address(this).balance);
}
function clearStuckToken(address tokenAddress, uint256 tokens) public returns (bool) {
require(islaunched[msg.sender]);
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
return ERC20(tokenAddress).transfer(msg.sender, tokens);
}
function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
sellMultiplier = _sell;
buyMultiplier = _buy;
transferMultiplier = _trans;
}
function enableTrading() public onlyOwner {
TradingOpen = true;
}
function swapBack() internal swapping {
uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
uint256 amountToSwap = swapThreshold.sub(amountToLiquify);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
uint256 balanceBefore = address(this).balance;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance.sub(balanceBefore);
uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);
(bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
(tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
(tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
tmpSuccess = false;
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
function enable_blacklist(bool _status) public onlyOwner {
blacklistMode = _status;
}
function enable_launch(bool _status) public onlyOwner {
launchMode = _status;
}
function manage_blacklist(address[] calldata addresses, bool status) public onlyOwner {
for (uint256 i; i < addresses.length; ++i) {
isblacklisted[addresses[i]] = status;
}
}
function manage_launch(address[] calldata addresses, bool status) public onlyOwner {
for (uint256 i; i < addresses.length; ++i) {
islaunched[addresses[i]] = status;
}
}
function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
isFeeExempt[holder] = exempt;
}
function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
isTxLimitExempt[holder] = exempt;
}
function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
liquidityFee = _liquidityFee;
teamFee = _teamFee;
marketingFee = _marketingFee;
devFee = _devFee;
burnFee = _burnFee;
totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee);
feeDenominator = _feeDenominator;
require(totalFee < feeDenominator/2, "Fees cannot be more than 50%"); //antihoneypot
}
function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
marketingFeeReceiver = _marketingFeeReceiver;
devFeeReceiver = _devFeeReceiver;
burnFeeReceiver = _burnFeeReceiver;
teamFeeReceiver = _teamFeeReceiver;
}
function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = _amount;
}
function setTargetLiquidity(uint256 _target, uint256 _denominator) external onlyOwner {
targetLiquidity = _target;
targetLiquidityDenominator = _denominator;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
}
function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
return getLiquidityBacking(accuracy) > target;
}
event AutoLiquify(uint256 amountETH, uint256 amountTokens);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"SetMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"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":"isblacklisted","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_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_launch","outputs":[],"stateMutability":"nonpayable","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":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimitAbsolute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a62000736565b620000439064e8d4a5100062000747565b6005556200007d60646200006960016005546200050960201b620013bf1790919060201c565b6200059d60201b6200143e1790919060201c565b600655620000a360646200006960016005546200050960201b620013bf1790919060201c565b600755600a8054600160ff199182168117909255600c805490911690556010819055600360118190556000601281905560138190556014819055918291620000ec908362000769565b620000f8919062000769565b62000104919062000769565b62000110919062000769565b6015556064601681905560178190556107d060185560198190556014601f556020556023805461ffff60a01b1916600160a81b179055600580546103e8916200015a919062000747565b62000166919062000784565b6024553480156200017657600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350602180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905173e58baf94b10122c056c3f0514cd9c5331f82ddeb929163ad5c46489160048083019260209291908290030181865afa1580156200024c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002729190620007a7565b600280546001600160a01b0319166001600160a01b039283161790556021546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620002d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f79190620007a7565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036f9190620007a7565b602380546001600160a01b039283166001600160a01b0319918216811783556022805483169091179055306000818152600960209081526040808320602154881684528252808320600019905533808452600e8352818420805460ff199081166001908117909255601c80548b1687528487208054831684179055601b80548c16885285882080548416851790558c8c168852600d875285882080548416851790558488528588208054841685179055600f8752858820805484168517905599548b168752848720805483168417905580548b168752848720805483168417905589548b168752848720805483168417905596865283862080549091169091179055601a8054871682179055865486167328b50b69cc5798d7a3785df4cdfc8b78486f1f9617909655835485168617909355601d8054851686179055600354601e8054909516961695909517909255600554838352600885528183208190559051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200082a565b6000826200051a5750600062000597565b600062000528838562000747565b90508262000537858362000784565b14620005945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200059483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005e760201b60201c565b600081836200060b5760405162461bcd60e51b81526004016200058b9190620007d2565b5060006200061a848662000784565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200067a5781600019048211156200065e576200065e62000623565b808516156200066c57918102915b93841c93908002906200063e565b509250929050565b600082620006935750600162000597565b81620006a25750600062000597565b8160018114620006bb5760028114620006c657620006e6565b600191505062000597565b60ff841115620006da57620006da62000623565b50506001821b62000597565b5060208310610133831016604e8410600b84101617156200070b575081810a62000597565b62000717838362000639565b80600019048211156200072e576200072e62000623565b029392505050565b60006200059460ff84168362000682565b600081600019048311821515161562000764576200076462000623565b500290565b600082198211156200077f576200077f62000623565b500190565b600082620007a257634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620007ba57600080fd5b81516001600160a01b03811681146200059457600080fd5b600060208083528351808285015260005b818110156200080157858101830151858201604001528201620007e3565b8181111562000814576000604083870101525b50601f01601f1916929092016040019392505050565b612602806200083a6000396000f3fe6080604052600436106102975760003560e01c806377b54bad1161015a578063a9059cbb116100c1578063df20fd491161007a578063df20fd4914610825578063eb969b0514610845578063ed6a596514610865578063f2fde38b14610895578063f84ba65d146108b5578063f887ea40146108d557600080fd5b8063a9059cbb14610750578063b2bdfa7b14610770578063b37dd69014610790578063b46300ec146107aa578063d51ed1c8146107bf578063dd62ed3e146107df57600080fd5b8063896648c111610113578063896648c1146106935780638a8c523c146106ad5780638da5cb5b146106c25780638e2eee84146106e057806395d89b4114610700578063a8aa1b311461073057600080fd5b806377b54bad146105d557806378109e54146105f55780637d1db4a51461060b57806383f9d9fa1461062157806386f6c3c114610641578063893d20e81461066157600080fd5b80632b112e49116101fe578063658d4b7f116101b7578063658d4b7f146104f95780636ce46bc3146105195780636ddd1713146105395780637007546b1461055a57806370a082311461058a578063715018a6146105c057600080fd5b80632b112e4914610448578063313ce5671461045d57806348d27f9c14610479578063571ac8b0146104995780635d0044ca146104b95780635e562f3b146104d957600080fd5b806318160ddd1161025057806318160ddd1461039d57806318abb635146103b25780631da1db5e146103d25780631df4ccfc146103f2578063201e79911461040857806323b872dd1461042857600080fd5b80630445b667146102a3578063054557ea146102cc57806306fdde03146102ee57806308fd3d051461032c578063095ea7b31461035d5780631161ae391461037d57600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b960245481565b6040519081526020015b60405180910390f35b3480156102d857600080fd5b506102ec6102e73660046120bf565b6108f5565b005b3480156102fa57600080fd5b5060408051808201909152600c81526b2930b9b434b2102937bb32b960a11b60208201525b6040516102c39190612145565b34801561033857600080fd5b5060235461034d90600160a01b900460ff1681565b60405190151581526020016102c3565b34801561036957600080fd5b5061034d6103783660046121b6565b61099d565b34801561038957600080fd5b5061034d6103983660046121e0565b610a0a565b3480156103a957600080fd5b506005546102b9565b3480156103be57600080fd5b506102ec6103cd366004612202565b610a1e565b3480156103de57600080fd5b506102ec6103ed366004612267565b610aa7565b3480156103fe57600080fd5b506102b960155481565b34801561041457600080fd5b506102ec6104233660046121e0565b610b25565b34801561043457600080fd5b5061034d610443366004612280565b610b5a565b34801561045457600080fd5b506102b9610c1c565b34801561046957600080fd5b50604051600981526020016102c3565b34801561048557600080fd5b506102ec610494366004612267565b610c6e565b3480156104a557600080fd5b5061034d6104b43660046122bc565b610cc9565b3480156104c557600080fd5b506102ec6104d4366004612267565b610cd7565b3480156104e557600080fd5b506102ec6104f43660046122d7565b610d31565b34801561050557600080fd5b506102ec6105143660046122f4565b610d6e565b34801561052557600080fd5b506102ec61053436600461232b565b610dc3565b34801561054557600080fd5b5060235461034d90600160a81b900460ff1681565b34801561056657600080fd5b5061034d6105753660046122bc565b600d6020526000908152604090205460ff1681565b34801561059657600080fd5b506102b96105a53660046122bc565b6001600160a01b031660009081526008602052604090205490565b3480156105cc57600080fd5b506102ec610dfe565b3480156105e157600080fd5b5061034d6105f03660046121b6565b610e72565b34801561060157600080fd5b506102b960075481565b34801561061757600080fd5b506102b960065481565b34801561062d57600080fd5b506102ec61063c366004612267565b610f6f565b34801561064d57600080fd5b506102ec61065c366004612357565b610fba565b34801561066d57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b34801561069f57600080fd5b50600a5461034d9060ff1681565b3480156106b957600080fd5b506102ec611080565b3480156106ce57600080fd5b506000546001600160a01b031661067b565b3480156106ec57600080fd5b506102ec6106fb3660046120bf565b6110bf565b34801561070c57600080fd5b506040805180820190915260078152662aa0a2a6a7a7a760c91b602082015261031f565b34801561073c57600080fd5b5060235461067b906001600160a01b031681565b34801561075c57600080fd5b5061034d61076b3660046121b6565b611158565b34801561077c57600080fd5b5060005461067b906001600160a01b031681565b34801561079c57600080fd5b50600c5461034d9060ff1681565b3480156107b657600080fd5b506102ec611165565b3480156107cb57600080fd5b506102b96107da366004612267565b6111b0565b3480156107eb57600080fd5b506102b96107fa36600461239a565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561083157600080fd5b506102ec6108403660046123cd565b6111f7565b34801561085157600080fd5b506102ec6108603660046122d7565b611243565b34801561087157600080fd5b5061034d6108803660046122bc565b600b6020526000908152604090205460ff1681565b3480156108a157600080fd5b506102ec6108b03660046122bc565b611280565b3480156108c157600080fd5b506102ec6108d03660046122f4565b61136a565b3480156108e157600080fd5b5060215461067b906001600160a01b031681565b6000546001600160a01b031633146109285760405162461bcd60e51b815260040161091f906123eb565b60405180910390fd5b60005b828110156109975781600d600086868581811061094a5761094a612420565b905060200201602081019061095f91906122bc565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556109908161244c565b905061092b565b50505050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109f89086815260200190565b60405180910390a35060015b92915050565b600082610a16836111b0565b119392505050565b6000546001600160a01b03163314610a485760405162461bcd60e51b815260040161091f906123eb565b601a80546001600160a01b03199081166001600160a01b0397881617909155601b8054821695871695909517909455601c8054851693861693909317909255601e80548416918516919091179055601d80549092169216919091179055565b6000546001600160a01b03163314610ad15760405162461bcd60e51b815260040161091f906123eb565b601b5447906001600160a01b03166108fc6064610aee8585612467565b610af89190612486565b6040518115909202916000818181858888f19350505050158015610b20573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161091f906123eb565b601f91909155602055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610c07576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610be2918490611480565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610c128484846114ba565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610c69906003546001600160a01b0316600090815260086020526040902054610c6390600554906118e7565b906118e7565b905090565b336000908152600d602052604090205460ff16610c8a57600080fd5b6103e8600554610c9a9190612486565b6006541015610ca857600080fd5b6103e881600554610cb99190612467565b610cc39190612486565b60065550565b6000610a048260001961099d565b336000908152600d602052604090205460ff16610cf357600080fd5b6103e8600554610d039190612486565b6007541015610d1157600080fd5b606481600554610d219190612467565b610d2b9190612486565b60075550565b6000546001600160a01b03163314610d5b5760405162461bcd60e51b815260040161091f906123eb565b600a805460ff1916911515919091179055565b6000546001600160a01b03163314610d985760405162461bcd60e51b815260040161091f906123eb565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ded5760405162461bcd60e51b815260040161091f906123eb565b601791909155601891909155601955565b6000546001600160a01b03163314610e285760405162461bcd60e51b815260040161091f906123eb565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336000908152600d602052604081205460ff16610e8e57600080fd5b81610efe576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ed7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efb91906124a8565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1591906124c1565b6000546001600160a01b03163314610f995760405162461bcd60e51b815260040161091f906123eb565b6103e8600554610fa99190612486565b811015610fb557600080fd5b600655565b6000546001600160a01b03163314610fe45760405162461bcd60e51b815260040161091f906123eb565b601086905560138590556011849055601283905560148290556110158261100f858188818c8c611929565b90611929565b6015556016819055611028600282612486565b601554106110785760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e2035302500000000604482015260640161091f565b505050505050565b6000546001600160a01b031633146110aa5760405162461bcd60e51b815260040161091f906123eb565b6023805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146110e95760405162461bcd60e51b815260040161091f906123eb565b60005b828110156109975781600b600086868581811061110b5761110b612420565b905060200201602081019061112091906122bc565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556111518161244c565b90506110ec565b6000610c153384846114ba565b336000908152600d602052604090205460ff1661118157600080fd5b60405133904780156108fc02916000818181858888f193505050501580156111ad573d6000803e3d6000fd5b50565b6000610a046111bd610c1c565b6023546001600160a01b03166000908152600860205260409020546111f1906111ea906002905b906113bf565b85906113bf565b9061143e565b6000546001600160a01b031633146112215760405162461bcd60e51b815260040161091f906123eb565b60238054921515600160a81b0260ff60a81b1990931692909217909155602455565b6000546001600160a01b0316331461126d5760405162461bcd60e51b815260040161091f906123eb565b600c805460ff1916911515919091179055565b6000546001600160a01b031633146112aa5760405162461bcd60e51b815260040161091f906123eb565b6001600160a01b03811661130f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161091f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146113945760405162461bcd60e51b815260040161091f906123eb565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000826113ce57506000610a04565b60006113da8385612467565b9050826113e78583612486565b14610c155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161091f565b6000610c1583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611988565b600081848411156114a45760405162461bcd60e51b815260040161091f9190612145565b5060006114b184866124de565b95945050505050565b60255460009060ff16156114da576114d38484846119b6565b9050610c15565b6001600160a01b03841660009081526001602052604090205460ff1615801561151c57506001600160a01b03831660009081526001602052604090205460ff16155b156115d657602354600160a01b900460ff166115715760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161091f565b600c5460ff16156115d6576001600160a01b0383166000908152600d602052604090205460ff166115d65760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b604482015260640161091f565b600a5460ff1615611638576001600160a01b0384166000908152600b602052604090205460ff16156116385760405162461bcd60e51b815260206004820152600b60248201526a189b1858dadb1a5cdd195960aa1b604482015260640161091f565b6001600160a01b03841660009081526001602052604090205460ff1615801561166a57506001600160a01b0383163014155b801561168457506003546001600160a01b03848116911614155b801561169e57506023546001600160a01b03848116911614155b80156116b85750601e546001600160a01b03848116911614155b80156116d25750601b546001600160a01b03848116911614155b80156116f757506001600160a01b0383166000908152600f602052604090205460ff16155b15611798576001600160a01b03831660009081526008602052604090205460075461172284836124f5565b11156117965760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161091f565b505b6117a28483611a8a565b6117aa611af7565b156117b7576117b7611b4d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611809918490611480565b6001600160a01b038516600090815260086020908152604080832093909355600e90529081205460ff168061185657506001600160a01b0384166000908152600e602052604090205460ff165b61186a57611865858486611f34565b61186c565b825b6001600160a01b0385166000908152600860205260409020549091506118929082611929565b6001600160a01b0380861660008181526008602052604090819020939093559151908716906000805160206125ad833981519152906118d49085815260200190565b60405180910390a3506001949350505050565b6000610c1583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611480565b60008061193683856124f5565b905083811015610c155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161091f565b600081836119a95760405162461bcd60e51b815260040161091f9190612145565b5060006114b18486612486565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611a07918490611480565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611a369083611929565b6001600160a01b0380851660008181526008602052604090819020939093559151908616906000805160206125ad83398151915290611a789086815260200190565b60405180910390a35060019392505050565b60065481111580611ab357506001600160a01b0382166000908152600f602052604090205460ff165b611af35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161091f565b5050565b6023546000906001600160a01b03163314801590611b18575060255460ff16155b8015611b2d5750602354600160a81b900460ff165b8015610c6957505060245430600090815260086020526040902054101590565b6025805460ff19166001179055601f54602054600091611b6c91610a0a565b611b7857601054611b7b565b60005b90506000611b9f60026111f16015546111f1866024546113bf90919063ffffffff16565b90506000611bb8826024546118e790919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611bf257611bf2612420565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611c2357611c23612420565b6001600160a01b03928316602091820292909201015260215460405163791ac94760e01b81524792919091169063791ac94790611c6d90869060009087903090429060040161250d565b600060405180830381600087803b158015611c8757600080fd5b505af1158015611c9b573d6000803e3d6000fd5b505050506000611cb482476118e790919063ffffffff16565b90506000611ccf611cc688600261143e565b601554906118e7565b90506000611ce460026111f18481878d6113bf565b90506000611d01836111f1601154876113bf90919063ffffffff16565b90506000611d1e846111f1601354886113bf90919063ffffffff16565b90506000611d3b856111f1601254896113bf90919063ffffffff16565b601b546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611d8d576040519150601f19603f3d011682016040523d82523d6000602084013e611d92565b606091505b5050601c546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611de2576040519150601f19603f3d011682016040523d82523d6000602084013e611de7565b606091505b5050601d546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611e37576040519150601f19603f3d011682016040523d82523d6000602084013e611e3c565b606091505b5060009250508b159050611f1c57602154601a5460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611eba573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611edf919061257e565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506025805460ff1916905550505050505050505050565b601954602354600091906001600160a01b0384811691161415611f5a5750601754611f75565b6023546001600160a01b0386811691161415611f7557506018545b6000611fa26016546064611f899190612467565b6111f1846111e46015548a6113bf90919063ffffffff16565b90506000611fc16015546111f1601454856113bf90919063ffffffff16565b90506000611fcf83836118e7565b30600090815260086020526040902054909150611fec9082611929565b3060009081526008602052604080822092909255601e546001600160a01b03168152205461201a9083611929565b601e546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b16916000805160206125ad833981519152910160405180910390a3811561209b57601e546040518381526001600160a01b03918216918a16906000805160206125ad8339815191529060200160405180910390a35b6120a587846118e7565b98975050505050505050565b80151581146111ad57600080fd5b6000806000604084860312156120d457600080fd5b833567ffffffffffffffff808211156120ec57600080fd5b818601915086601f83011261210057600080fd5b81358181111561210f57600080fd5b8760208260051b850101111561212457600080fd5b6020928301955093505084013561213a816120b1565b809150509250925092565b600060208083528351808285015260005b8181101561217257858101830151858201604001528201612156565b81811115612184576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146121b157600080fd5b919050565b600080604083850312156121c957600080fd5b6121d28361219a565b946020939093013593505050565b600080604083850312156121f357600080fd5b50508035926020909101359150565b600080600080600060a0868803121561221a57600080fd5b6122238661219a565b94506122316020870161219a565b935061223f6040870161219a565b925061224d6060870161219a565b915061225b6080870161219a565b90509295509295909350565b60006020828403121561227957600080fd5b5035919050565b60008060006060848603121561229557600080fd5b61229e8461219a565b92506122ac6020850161219a565b9150604084013590509250925092565b6000602082840312156122ce57600080fd5b610c158261219a565b6000602082840312156122e957600080fd5b8135610c15816120b1565b6000806040838503121561230757600080fd5b6123108361219a565b91506020830135612320816120b1565b809150509250929050565b60008060006060848603121561234057600080fd5b505081359360208301359350604090920135919050565b60008060008060008060c0878903121561237057600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156123ad57600080fd5b6123b68361219a565b91506123c46020840161219a565b90509250929050565b600080604083850312156123e057600080fd5b82356121d2816120b1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561246057612460612436565b5060010190565b600081600019048311821515161561248157612481612436565b500290565b6000826124a357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156124ba57600080fd5b5051919050565b6000602082840312156124d357600080fd5b8151610c15816120b1565b6000828210156124f0576124f0612436565b500390565b6000821982111561250857612508612436565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561255d5784516001600160a01b031683529383019391830191600101612538565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561259357600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122048432ad5cc3b1cb14543a4629a959c1c4ec9f2f619552d8bff8013e943e6a8a164736f6c634300080b0033
Deployed Bytecode
0x6080604052600436106102975760003560e01c806377b54bad1161015a578063a9059cbb116100c1578063df20fd491161007a578063df20fd4914610825578063eb969b0514610845578063ed6a596514610865578063f2fde38b14610895578063f84ba65d146108b5578063f887ea40146108d557600080fd5b8063a9059cbb14610750578063b2bdfa7b14610770578063b37dd69014610790578063b46300ec146107aa578063d51ed1c8146107bf578063dd62ed3e146107df57600080fd5b8063896648c111610113578063896648c1146106935780638a8c523c146106ad5780638da5cb5b146106c25780638e2eee84146106e057806395d89b4114610700578063a8aa1b311461073057600080fd5b806377b54bad146105d557806378109e54146105f55780637d1db4a51461060b57806383f9d9fa1461062157806386f6c3c114610641578063893d20e81461066157600080fd5b80632b112e49116101fe578063658d4b7f116101b7578063658d4b7f146104f95780636ce46bc3146105195780636ddd1713146105395780637007546b1461055a57806370a082311461058a578063715018a6146105c057600080fd5b80632b112e4914610448578063313ce5671461045d57806348d27f9c14610479578063571ac8b0146104995780635d0044ca146104b95780635e562f3b146104d957600080fd5b806318160ddd1161025057806318160ddd1461039d57806318abb635146103b25780631da1db5e146103d25780631df4ccfc146103f2578063201e79911461040857806323b872dd1461042857600080fd5b80630445b667146102a3578063054557ea146102cc57806306fdde03146102ee57806308fd3d051461032c578063095ea7b31461035d5780631161ae391461037d57600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b960245481565b6040519081526020015b60405180910390f35b3480156102d857600080fd5b506102ec6102e73660046120bf565b6108f5565b005b3480156102fa57600080fd5b5060408051808201909152600c81526b2930b9b434b2102937bb32b960a11b60208201525b6040516102c39190612145565b34801561033857600080fd5b5060235461034d90600160a01b900460ff1681565b60405190151581526020016102c3565b34801561036957600080fd5b5061034d6103783660046121b6565b61099d565b34801561038957600080fd5b5061034d6103983660046121e0565b610a0a565b3480156103a957600080fd5b506005546102b9565b3480156103be57600080fd5b506102ec6103cd366004612202565b610a1e565b3480156103de57600080fd5b506102ec6103ed366004612267565b610aa7565b3480156103fe57600080fd5b506102b960155481565b34801561041457600080fd5b506102ec6104233660046121e0565b610b25565b34801561043457600080fd5b5061034d610443366004612280565b610b5a565b34801561045457600080fd5b506102b9610c1c565b34801561046957600080fd5b50604051600981526020016102c3565b34801561048557600080fd5b506102ec610494366004612267565b610c6e565b3480156104a557600080fd5b5061034d6104b43660046122bc565b610cc9565b3480156104c557600080fd5b506102ec6104d4366004612267565b610cd7565b3480156104e557600080fd5b506102ec6104f43660046122d7565b610d31565b34801561050557600080fd5b506102ec6105143660046122f4565b610d6e565b34801561052557600080fd5b506102ec61053436600461232b565b610dc3565b34801561054557600080fd5b5060235461034d90600160a81b900460ff1681565b34801561056657600080fd5b5061034d6105753660046122bc565b600d6020526000908152604090205460ff1681565b34801561059657600080fd5b506102b96105a53660046122bc565b6001600160a01b031660009081526008602052604090205490565b3480156105cc57600080fd5b506102ec610dfe565b3480156105e157600080fd5b5061034d6105f03660046121b6565b610e72565b34801561060157600080fd5b506102b960075481565b34801561061757600080fd5b506102b960065481565b34801561062d57600080fd5b506102ec61063c366004612267565b610f6f565b34801561064d57600080fd5b506102ec61065c366004612357565b610fba565b34801561066d57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b34801561069f57600080fd5b50600a5461034d9060ff1681565b3480156106b957600080fd5b506102ec611080565b3480156106ce57600080fd5b506000546001600160a01b031661067b565b3480156106ec57600080fd5b506102ec6106fb3660046120bf565b6110bf565b34801561070c57600080fd5b506040805180820190915260078152662aa0a2a6a7a7a760c91b602082015261031f565b34801561073c57600080fd5b5060235461067b906001600160a01b031681565b34801561075c57600080fd5b5061034d61076b3660046121b6565b611158565b34801561077c57600080fd5b5060005461067b906001600160a01b031681565b34801561079c57600080fd5b50600c5461034d9060ff1681565b3480156107b657600080fd5b506102ec611165565b3480156107cb57600080fd5b506102b96107da366004612267565b6111b0565b3480156107eb57600080fd5b506102b96107fa36600461239a565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561083157600080fd5b506102ec6108403660046123cd565b6111f7565b34801561085157600080fd5b506102ec6108603660046122d7565b611243565b34801561087157600080fd5b5061034d6108803660046122bc565b600b6020526000908152604090205460ff1681565b3480156108a157600080fd5b506102ec6108b03660046122bc565b611280565b3480156108c157600080fd5b506102ec6108d03660046122f4565b61136a565b3480156108e157600080fd5b5060215461067b906001600160a01b031681565b6000546001600160a01b031633146109285760405162461bcd60e51b815260040161091f906123eb565b60405180910390fd5b60005b828110156109975781600d600086868581811061094a5761094a612420565b905060200201602081019061095f91906122bc565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556109908161244c565b905061092b565b50505050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109f89086815260200190565b60405180910390a35060015b92915050565b600082610a16836111b0565b119392505050565b6000546001600160a01b03163314610a485760405162461bcd60e51b815260040161091f906123eb565b601a80546001600160a01b03199081166001600160a01b0397881617909155601b8054821695871695909517909455601c8054851693861693909317909255601e80548416918516919091179055601d80549092169216919091179055565b6000546001600160a01b03163314610ad15760405162461bcd60e51b815260040161091f906123eb565b601b5447906001600160a01b03166108fc6064610aee8585612467565b610af89190612486565b6040518115909202916000818181858888f19350505050158015610b20573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161091f906123eb565b601f91909155602055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610c07576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610be2918490611480565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610c128484846114ba565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610c69906003546001600160a01b0316600090815260086020526040902054610c6390600554906118e7565b906118e7565b905090565b336000908152600d602052604090205460ff16610c8a57600080fd5b6103e8600554610c9a9190612486565b6006541015610ca857600080fd5b6103e881600554610cb99190612467565b610cc39190612486565b60065550565b6000610a048260001961099d565b336000908152600d602052604090205460ff16610cf357600080fd5b6103e8600554610d039190612486565b6007541015610d1157600080fd5b606481600554610d219190612467565b610d2b9190612486565b60075550565b6000546001600160a01b03163314610d5b5760405162461bcd60e51b815260040161091f906123eb565b600a805460ff1916911515919091179055565b6000546001600160a01b03163314610d985760405162461bcd60e51b815260040161091f906123eb565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ded5760405162461bcd60e51b815260040161091f906123eb565b601791909155601891909155601955565b6000546001600160a01b03163314610e285760405162461bcd60e51b815260040161091f906123eb565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336000908152600d602052604081205460ff16610e8e57600080fd5b81610efe576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ed7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efb91906124a8565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1591906124c1565b6000546001600160a01b03163314610f995760405162461bcd60e51b815260040161091f906123eb565b6103e8600554610fa99190612486565b811015610fb557600080fd5b600655565b6000546001600160a01b03163314610fe45760405162461bcd60e51b815260040161091f906123eb565b601086905560138590556011849055601283905560148290556110158261100f858188818c8c611929565b90611929565b6015556016819055611028600282612486565b601554106110785760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e2035302500000000604482015260640161091f565b505050505050565b6000546001600160a01b031633146110aa5760405162461bcd60e51b815260040161091f906123eb565b6023805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146110e95760405162461bcd60e51b815260040161091f906123eb565b60005b828110156109975781600b600086868581811061110b5761110b612420565b905060200201602081019061112091906122bc565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556111518161244c565b90506110ec565b6000610c153384846114ba565b336000908152600d602052604090205460ff1661118157600080fd5b60405133904780156108fc02916000818181858888f193505050501580156111ad573d6000803e3d6000fd5b50565b6000610a046111bd610c1c565b6023546001600160a01b03166000908152600860205260409020546111f1906111ea906002905b906113bf565b85906113bf565b9061143e565b6000546001600160a01b031633146112215760405162461bcd60e51b815260040161091f906123eb565b60238054921515600160a81b0260ff60a81b1990931692909217909155602455565b6000546001600160a01b0316331461126d5760405162461bcd60e51b815260040161091f906123eb565b600c805460ff1916911515919091179055565b6000546001600160a01b031633146112aa5760405162461bcd60e51b815260040161091f906123eb565b6001600160a01b03811661130f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161091f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146113945760405162461bcd60e51b815260040161091f906123eb565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000826113ce57506000610a04565b60006113da8385612467565b9050826113e78583612486565b14610c155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161091f565b6000610c1583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611988565b600081848411156114a45760405162461bcd60e51b815260040161091f9190612145565b5060006114b184866124de565b95945050505050565b60255460009060ff16156114da576114d38484846119b6565b9050610c15565b6001600160a01b03841660009081526001602052604090205460ff1615801561151c57506001600160a01b03831660009081526001602052604090205460ff16155b156115d657602354600160a01b900460ff166115715760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161091f565b600c5460ff16156115d6576001600160a01b0383166000908152600d602052604090205460ff166115d65760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b604482015260640161091f565b600a5460ff1615611638576001600160a01b0384166000908152600b602052604090205460ff16156116385760405162461bcd60e51b815260206004820152600b60248201526a189b1858dadb1a5cdd195960aa1b604482015260640161091f565b6001600160a01b03841660009081526001602052604090205460ff1615801561166a57506001600160a01b0383163014155b801561168457506003546001600160a01b03848116911614155b801561169e57506023546001600160a01b03848116911614155b80156116b85750601e546001600160a01b03848116911614155b80156116d25750601b546001600160a01b03848116911614155b80156116f757506001600160a01b0383166000908152600f602052604090205460ff16155b15611798576001600160a01b03831660009081526008602052604090205460075461172284836124f5565b11156117965760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161091f565b505b6117a28483611a8a565b6117aa611af7565b156117b7576117b7611b4d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611809918490611480565b6001600160a01b038516600090815260086020908152604080832093909355600e90529081205460ff168061185657506001600160a01b0384166000908152600e602052604090205460ff165b61186a57611865858486611f34565b61186c565b825b6001600160a01b0385166000908152600860205260409020549091506118929082611929565b6001600160a01b0380861660008181526008602052604090819020939093559151908716906000805160206125ad833981519152906118d49085815260200190565b60405180910390a3506001949350505050565b6000610c1583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611480565b60008061193683856124f5565b905083811015610c155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161091f565b600081836119a95760405162461bcd60e51b815260040161091f9190612145565b5060006114b18486612486565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611a07918490611480565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611a369083611929565b6001600160a01b0380851660008181526008602052604090819020939093559151908616906000805160206125ad83398151915290611a789086815260200190565b60405180910390a35060019392505050565b60065481111580611ab357506001600160a01b0382166000908152600f602052604090205460ff165b611af35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161091f565b5050565b6023546000906001600160a01b03163314801590611b18575060255460ff16155b8015611b2d5750602354600160a81b900460ff165b8015610c6957505060245430600090815260086020526040902054101590565b6025805460ff19166001179055601f54602054600091611b6c91610a0a565b611b7857601054611b7b565b60005b90506000611b9f60026111f16015546111f1866024546113bf90919063ffffffff16565b90506000611bb8826024546118e790919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611bf257611bf2612420565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611c2357611c23612420565b6001600160a01b03928316602091820292909201015260215460405163791ac94760e01b81524792919091169063791ac94790611c6d90869060009087903090429060040161250d565b600060405180830381600087803b158015611c8757600080fd5b505af1158015611c9b573d6000803e3d6000fd5b505050506000611cb482476118e790919063ffffffff16565b90506000611ccf611cc688600261143e565b601554906118e7565b90506000611ce460026111f18481878d6113bf565b90506000611d01836111f1601154876113bf90919063ffffffff16565b90506000611d1e846111f1601354886113bf90919063ffffffff16565b90506000611d3b856111f1601254896113bf90919063ffffffff16565b601b546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611d8d576040519150601f19603f3d011682016040523d82523d6000602084013e611d92565b606091505b5050601c546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611de2576040519150601f19603f3d011682016040523d82523d6000602084013e611de7565b606091505b5050601d546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611e37576040519150601f19603f3d011682016040523d82523d6000602084013e611e3c565b606091505b5060009250508b159050611f1c57602154601a5460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611eba573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611edf919061257e565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506025805460ff1916905550505050505050505050565b601954602354600091906001600160a01b0384811691161415611f5a5750601754611f75565b6023546001600160a01b0386811691161415611f7557506018545b6000611fa26016546064611f899190612467565b6111f1846111e46015548a6113bf90919063ffffffff16565b90506000611fc16015546111f1601454856113bf90919063ffffffff16565b90506000611fcf83836118e7565b30600090815260086020526040902054909150611fec9082611929565b3060009081526008602052604080822092909255601e546001600160a01b03168152205461201a9083611929565b601e546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b16916000805160206125ad833981519152910160405180910390a3811561209b57601e546040518381526001600160a01b03918216918a16906000805160206125ad8339815191529060200160405180910390a35b6120a587846118e7565b98975050505050505050565b80151581146111ad57600080fd5b6000806000604084860312156120d457600080fd5b833567ffffffffffffffff808211156120ec57600080fd5b818601915086601f83011261210057600080fd5b81358181111561210f57600080fd5b8760208260051b850101111561212457600080fd5b6020928301955093505084013561213a816120b1565b809150509250925092565b600060208083528351808285015260005b8181101561217257858101830151858201604001528201612156565b81811115612184576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146121b157600080fd5b919050565b600080604083850312156121c957600080fd5b6121d28361219a565b946020939093013593505050565b600080604083850312156121f357600080fd5b50508035926020909101359150565b600080600080600060a0868803121561221a57600080fd5b6122238661219a565b94506122316020870161219a565b935061223f6040870161219a565b925061224d6060870161219a565b915061225b6080870161219a565b90509295509295909350565b60006020828403121561227957600080fd5b5035919050565b60008060006060848603121561229557600080fd5b61229e8461219a565b92506122ac6020850161219a565b9150604084013590509250925092565b6000602082840312156122ce57600080fd5b610c158261219a565b6000602082840312156122e957600080fd5b8135610c15816120b1565b6000806040838503121561230757600080fd5b6123108361219a565b91506020830135612320816120b1565b809150509250929050565b60008060006060848603121561234057600080fd5b505081359360208301359350604090920135919050565b60008060008060008060c0878903121561237057600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156123ad57600080fd5b6123b68361219a565b91506123c46020840161219a565b90509250929050565b600080604083850312156123e057600080fd5b82356121d2816120b1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561246057612460612436565b5060010190565b600081600019048311821515161561248157612481612436565b500290565b6000826124a357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156124ba57600080fd5b5051919050565b6000602082840312156124d357600080fd5b8151610c15816120b1565b6000828210156124f0576124f0612436565b500390565b6000821982111561250857612508612436565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561255d5784516001600160a01b031683529383019391830191600101612538565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561259357600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122048432ad5cc3b1cb14543a4629a959c1c4ec9f2f619552d8bff8013e943e6a8a164736f6c634300080b0033
Deployed Bytecode Sourcemap
4981:14618:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6861:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6861:54:0;;;;;;;;17203:204;;;;;;;;;;-1:-1:-1;17203:204:0;;;;;:::i;:::-;;:::i;:::-;;8544:80;;;;;;;;;;-1:-1:-1;8616:5:0;;;;;;;;;;;;-1:-1:-1;;;8616:5:0;;;;8544:80;;;;;;;:::i;6780:31::-;;;;;;;;;;-1:-1:-1;6780:31:0;;;;-1:-1:-1;;;6780:31:0;;;;;;;;;1841:14:1;;1834:22;1816:41;;1804:2;1789:18;6780:31:0;1676:187:1;8966:216:0;;;;;;;;;;-1:-1:-1;8966:216:0;;;;;:::i;:::-;;:::i;19375:150::-;;;;;;;;;;-1:-1:-1;19375:150:0;;;;;:::i;:::-;;:::i;8274:88::-;;;;;;;;;;-1:-1:-1;8347:12:0;;8274:88;;18248:437;;;;;;;;;;-1:-1:-1;18248:437:0;;;;;:::i;:::-;;:::i;13887:233::-;;;;;;;;;;-1:-1:-1;13887:233:0;;;;;:::i;:::-;;:::i;6138:89::-;;;;;;;;;;;;;;;;18856:182;;;;;;;;;;-1:-1:-1;18856:182:0;;;;;:::i;:::-;;:::i;9484:370::-;;;;;;;;;;-1:-1:-1;9484:370:0;;;;;:::i;:::-;;:::i;19050:142::-;;;;;;;;;;;;;:::i;8368:80::-;;;;;;;;;;-1:-1:-1;8368:80:0;;5331:1;3707:36:1;;3695:2;3680:18;8368:80:0;3565:184:1;10139:248:0;;;;;;;;;;-1:-1:-1;10139:248:0;;;;;:::i;:::-;;:::i;9190:122::-;;;;;;;;;;-1:-1:-1;9190:122:0;;;;;:::i;:::-;;:::i;9866:265::-;;;;;;;;;;-1:-1:-1;9866:265:0;;;;;:::i;:::-;;:::i;16775:99::-;;;;;;;;;;-1:-1:-1;16775:99:0;;;;;:::i;:::-;;:::i;17415:119::-;;;;;;;;;;-1:-1:-1;17415:119:0;;;;;:::i;:::-;;:::i;14587:214::-;;;;;;;;;;-1:-1:-1;14587:214:0;;;;;:::i;:::-;;:::i;6824:30::-;;;;;;;;;;-1:-1:-1;6824:30:0;;;;-1:-1:-1;;;6824:30:0;;;;;;5781:43;;;;;;;;;;-1:-1:-1;5781:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8714:105;;;;;;;;;;-1:-1:-1;8714:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8798:18:0;8780:7;8798:18;;;:9;:18;;;;;;;8714:105;3038:148;;;;;;;;;;;;;:::i;14276:303::-;;;;;;;;;;-1:-1:-1;14276:303:0;;;;;:::i;:::-;;:::i;5465:61::-;;;;;;;;;;;;;;;;5400:58;;;;;;;;;;;;;;;;10395:158;;;;;;;;;;-1:-1:-1;10395:158:0;;;;;:::i;:::-;;:::i;17677:563::-;;;;;;;;;;-1:-1:-1;17677:563:0;;;;;:::i;:::-;;:::i;8630:78::-;;;;;;;;;;-1:-1:-1;8682:7:0;2889:6;-1:-1:-1;;;;;2889:6:0;8630:78;;;-1:-1:-1;;;;;5524:32:1;;;5506:51;;5494:2;5479:18;8630:78:0;5360:203:1;5650:32:0;;;;;;;;;;-1:-1:-1;5650:32:0;;;;;;;;14809:79;;;;;;;;;;;;;:::i;2824:::-;;;;;;;;;;-1:-1:-1;2862:7:0;2889:6;-1:-1:-1;;;;;2889:6:0;2824:79;;16985:210;;;;;;;;;;-1:-1:-1;16985:210:0;;;;;:::i;:::-;;:::i;8454:84::-;;;;;;;;;;-1:-1:-1;8528:7:0;;;;;;;;;;;;-1:-1:-1;;;8528:7:0;;;;8454:84;;6748:19;;;;;;;;;;-1:-1:-1;6748:19:0;;;;-1:-1:-1;;;;;6748:19:0;;;9320:156;;;;;;;;;;-1:-1:-1;9320:156:0;;;;;:::i;:::-;;:::i;2444:21::-;;;;;;;;;;-1:-1:-1;2444:21:0;;;;-1:-1:-1;;;;;2444:21:0;;;5744:30;;;;;;;;;;-1:-1:-1;5744:30:0;;;;;;;;14128:140;;;;;;;;;;;;;:::i;19200:167::-;;;;;;;;;;-1:-1:-1;19200:167:0;;;;;:::i;:::-;;:::i;8825:133::-;;;;;;;;;;-1:-1:-1;8825:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8927:19:0;;;8909:7;8927:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8825:133;18693:155;;;;;;;;;;-1:-1:-1;18693:155:0;;;;;:::i;:::-;;:::i;16882:95::-;;;;;;;;;;-1:-1:-1;16882:95:0;;;;;:::i;:::-;;:::i;5689:46::-;;;;;;;;;;-1:-1:-1;5689:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3194:244;;;;;;;;;;-1:-1:-1;3194:244:0;;;;;:::i;:::-;;:::i;17542:127::-;;;;;;;;;;-1:-1:-1;17542:127:0;;;;;:::i;:::-;;:::i;6678:24::-;;;;;;;;;;-1:-1:-1;6678:24:0;;;;-1:-1:-1;;;;;6678:24:0;;;17203:204;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;;;;;;;;;17302:9:::1;17297:103;17313:20:::0;;::::1;17297:103;;;17382:6;17355:10;:24;17366:9;;17376:1;17366:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17355:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17355:24:0;:33;;-1:-1:-1;;17355:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17335:3:::1;::::0;::::1;:::i;:::-;;;17297:103;;;;17203:204:::0;;;:::o;8966:216::-;9070:10;9041:4;9058:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9058:32:0;;;;;;;;;;:41;;;9115:37;9041:4;;9058:32;;9115:37;;;;9093:6;160:25:1;;148:2;133:18;;14:177;9115:37:0;;;;;;;;-1:-1:-1;9170:4:0;8966:216;;;;;:::o;19375:150::-;19455:4;19511:6;19479:29;19499:8;19479:19;:29::i;:::-;:38;;19375:150;-1:-1:-1;;;19375:150:0:o;18248:437::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;18443:21:::1;:46:::0;;-1:-1:-1;;;;;;18443:46:0;;::::1;-1:-1:-1::0;;;;;18443:46:0;;::::1;;::::0;;;18500:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18555:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18598:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;18643:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;18248:437::o;13887:233::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;14046:20:::1;::::0;14006:21:::1;::::0;-1:-1:-1;;;;;14046:20:0::1;14038:74;14108:3;14077:28;14089:16:::0;14006:21;14077:28:::1;:::i;:::-;:34;;;;:::i;:::-;14038:74;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13959:161;13887:233:::0;:::o;18856:182::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;18953:15:::1;:25:::0;;;;18989:26:::1;:41:::0;18856:182::o;9484:370::-;-1:-1:-1;;;;;9604:19:0;;9584:4;9604:19;;;:11;:19;;;;;;;;9624:10;9604:31;;;;;;;;-1:-1:-1;;9604:52:0;9601:186;;9706:69;;;;;;;;;;;-1:-1:-1;;;9706:69:0;;;;;;;;-1:-1:-1;;;;;9706:19:0;;-1:-1:-1;9706:19:0;;;:11;:19;;;;;9726:10;9706:31;;;;;;;;;;:69;;9742:6;;9706:35;:69::i;:::-;-1:-1:-1;;;;;9672:19:0;;;;;;:11;:19;;;;;;;;9692:10;9672:31;;;;;;;:103;9601:186;9806:40;9820:6;9828:9;9839:6;9806:13;:40::i;:::-;9799:47;;9484:370;;;;;;:::o;19050:142::-;19178:4;;-1:-1:-1;;;;;19178:4:0;19103:7;8798:18;;;:9;:18;;;;;;19130:54;;19157:4;;-1:-1:-1;;;;;19157:4:0;8780:7;8798:18;;;:9;:18;;;;;;19130:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;19123:61;;19050:142;:::o;10139:248::-;10216:10;10205:22;;;;:10;:22;;;;;;;;10197:31;;;;;;10278:4;10263:12;;:19;;;;:::i;:::-;10247:12;;:35;;10239:44;;;;;;10375:4;10358:12;10343;;:27;;;;:::i;:::-;10342:37;;;;:::i;:::-;10327:12;:52;-1:-1:-1;10139:248:0:o;9190:122::-;9245:4;9269:35;9277:7;-1:-1:-1;;9269:7:0;:35::i;9866:265::-;9949:10;9938:22;;;;:10;:22;;;;;;;;9930:31;;;;;;10014:4;9999:12;;:19;;;;:::i;:::-;9980:15;;:38;;9972:47;;;;;;10102:3;10083:14;10068:12;;:29;;;;:::i;:::-;10067:38;;;;:::i;:::-;10049:15;:56;-1:-1:-1;9866:265:0:o;16775:99::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;16843:13:::1;:23:::0;;-1:-1:-1;;16843:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16775:99::o;17415:119::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17498:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;17498:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17415:119::o;14587:214::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;14686:14:::1;:22:::0;;;;14719:13:::1;:20:::0;;;;14750:18:::1;:27:::0;14587:214::o;3038:148::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;3145:1:::1;3129:6:::0;;3108:40:::1;::::0;-1:-1:-1;;;;;3129:6:0;;::::1;::::0;3108:40:::1;::::0;3145:1;;3108:40:::1;3176:1;3159:19:::0;;-1:-1:-1;;;;;;3159:19:0::1;::::0;;3038:148::o;14276:303::-;14391:10;14355:4;14380:22;;;:10;:22;;;;;;;;14372:31;;;;;;14414:11;14411:95;;14450:44;;-1:-1:-1;;;14450:44:0;;14488:4;14450:44;;;5506:51:1;-1:-1:-1;;;;;14450:29:0;;;;;5479:18:1;;14450:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14441:53;;14411:95;14523:48;;-1:-1:-1;;;14523:48:0;;14552:10;14523:48;;;7896:51:1;7963:18;;;7956:34;;;-1:-1:-1;;;;;14523:28:0;;;;;7869:18:1;;14523:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10395:158::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;10502:4:::1;10487:12;;:19;;;;:::i;:::-;10477:6;:29;;10469:38;;;::::0;::::1;;10518:12;:21:::0;10395:158::o;17677:563::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;17848:12:::1;:28:::0;;;17887:7:::1;:18:::0;;;17916:12:::1;:28:::0;;;17955:6:::1;:16:::0;;;17982:7:::1;:18:::0;;;18022:73:::1;17992:8:::0;18022:59:::1;17964:7:::0;18022:59;17931:13;18022:59;17863:13;17897:8;18022:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:73::-;18011:8;:84:::0;18106:14:::1;:32:::0;;;18168:16:::1;18183:1;18123:15:::0;18168:16:::1;:::i;:::-;18157:8;;:27;18149:68;;;::::0;-1:-1:-1;;;18149:68:0;;8453:2:1;18149:68:0::1;::::0;::::1;8435:21:1::0;8492:2;8472:18;;;8465:30;8531;8511:18;;;8504:58;8579:18;;18149:68:0::1;8251:352:1::0;18149:68:0::1;17677:563:::0;;;;;;:::o;14809:79::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;14862:11:::1;:18:::0;;-1:-1:-1;;;;14862:18:0::1;-1:-1:-1::0;;;14862:18:0::1;::::0;;14809:79::o;16985:210::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;17087:9:::1;17082:106;17098:20:::0;;::::1;17082:106;;;17170:6;17140:13;:27;17154:9;;17164:1;17154:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17140:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17140:27:0;:36;;-1:-1:-1;;17140:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17120:3:::1;::::0;::::1;:::i;:::-;;;17082:106;;9320:156:::0;9400:4;9424:44;9438:10;9450:9;9461:6;9424:13;:44::i;14128:140::-;14184:10;14173:22;;;;:10;:22;;;;;;;;14165:31;;;;;;14207:51;;14215:10;;14236:21;14207:51;;;;;;;;;14236:21;14215:10;14207:51;;;;;;;;;;;;;;;;;;;;;14128:140::o;19200:167::-;19268:7;19295:64;19336:22;:20;:22::i;:::-;19318:4;;-1:-1:-1;;;;;19318:4:0;8780:7;8798:18;;;:9;:18;;;;;;19295:36;;19308:22;;19328:1;;19308:15;:19;;:22::i;:::-;19295:8;;:12;:36::i;:::-;:40;;:64::i;18693:155::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;18784:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;18784:22:0::1;-1:-1:-1::0;;;;18784:22:0;;::::1;::::0;;;::::1;::::0;;;18817:13:::1;:23:::0;18693:155::o;16882:95::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;16947:10:::1;:20:::0;;-1:-1:-1;;16947:20:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16882:95::o;3194:244::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:22:0;::::1;3275:73;;;::::0;-1:-1:-1;;;3275:73:0;;8810:2:1;3275:73:0::1;::::0;::::1;8792:21:1::0;8849:2;8829:18;;;8822:30;8888:34;8868:18;;;8861:62;-1:-1:-1;;;8939:18:1;;;8932:36;8985:19;;3275:73:0::1;8608:402:1::0;3275:73:0::1;3385:6;::::0;;3364:38:::1;::::0;-1:-1:-1;;;;;3364:38:0;;::::1;::::0;3385:6;::::1;::::0;3364:38:::1;::::0;::::1;3413:6;:17:::0;;-1:-1:-1;;;;;;3413:17:0::1;-1:-1:-1::0;;;;;3413:17:0;;;::::1;::::0;;;::::1;::::0;;3194:244::o;17542:127::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17629:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;17629:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17542:127::o;623:250::-;681:7;705:6;701:47;;-1:-1:-1;735:1:0;728:8;;701:47;760:9;772:5;776:1;772;:5;:::i;:::-;760:17;-1:-1:-1;805:1:0;796:5;800:1;760:17;796:5;:::i;:::-;:10;788:56;;;;-1:-1:-1;;;788:56:0;;9217:2:1;788:56:0;;;9199:21:1;9256:2;9236:18;;;9229:30;9295:34;9275:18;;;9268:62;-1:-1:-1;;;9346:18:1;;;9339:31;9387:19;;788:56:0;9015:397:1;879:132:0;937:7;964:39;968:1;971;964:39;;;;;;;;;;;;;;;;;:3;:39::i;425:192::-;511:7;547:12;539:6;;;;531:29;;;;-1:-1:-1;;;531:29:0;;;;;;;;:::i;:::-;-1:-1:-1;571:9:0;583:5;587:1;583;:5;:::i;:::-;571:17;425:192;-1:-1:-1;;;;;425:192:0:o;10561:1525::-;10673:6;;10653:4;;10673:6;;10670:63;;;10689:41;10704:6;10712:9;10723:6;10689:14;:41::i;:::-;10682:48;;;;10670:63;-1:-1:-1;;;;;10749:22:0;;;;;;:14;:22;;;;;;;;10748:23;:53;;;;-1:-1:-1;;;;;;10776:25:0;;;;;;:14;:25;;;;;;;;10775:26;10748:53;10745:246;;;10825:11;;-1:-1:-1;;;10825:11:0;;;;10817:43;;;;-1:-1:-1;;;10817:43:0;;9749:2:1;10817:43:0;;;9731:21:1;9788:2;9768:18;;;9761:30;-1:-1:-1;;;9807:18:1;;;9800:50;9867:18;;10817:43:0;9547:344:1;10817:43:0;10876:10;;;;10873:107;;;-1:-1:-1;;;;;10914:21:0;;;;;;:10;:21;;;;;;;;10906:48;;;;-1:-1:-1;;;10906:48:0;;10098:2:1;10906:48:0;;;10080:21:1;10137:2;10117:18;;;10110:30;-1:-1:-1;;;10156:18:1;;;10149:45;10211:18;;10906:48:0;9896:339:1;10906:48:0;11028:13;;;;11025:93;;;-1:-1:-1;;;;;11066:21:0;;;;;;:13;:21;;;;;;;;11065:22;11057:45;;;;-1:-1:-1;;;11057:45:0;;10442:2:1;11057:45:0;;;10424:21:1;10481:2;10461:18;;;10454:30;-1:-1:-1;;;10500:18:1;;;10493:41;10551:18;;11057:45:0;10240:335:1;11057:45:0;-1:-1:-1;;;;;11135:22:0;;;;;;:14;:22;;;;;;;;11134:23;:53;;;;-1:-1:-1;;;;;;11161:26:0;;11182:4;11161:26;;11134:53;:84;;;;-1:-1:-1;11213:4:0;;-1:-1:-1;;;;;11192:26:0;;;11213:4;;11192:26;;11134:84;:105;;;;-1:-1:-1;11235:4:0;;-1:-1:-1;;;;;11222:17:0;;;11235:4;;11222:17;;11134:105;:137;;;;-1:-1:-1;11256:15:0;;-1:-1:-1;;;;;11243:28:0;;;11256:15;;11243:28;;11134:137;:174;;;;-1:-1:-1;11288:20:0;;-1:-1:-1;;;;;11275:33:0;;;11288:20;;11275:33;;11134:174;:205;;;;-1:-1:-1;;;;;;11313:26:0;;;;;;:15;:26;;;;;;;;11312:27;11134:205;11130:397;;;-1:-1:-1;;;;;8798:18:0;;11355;8798;;;:9;:18;;;;;;11444:15;;11420:19;11433:6;8798:18;11420:19;:::i;:::-;11419:40;;11411:114;;;;-1:-1:-1;;;11411:114:0;;10915:2:1;11411:114:0;;;10897:21:1;10954:2;10934:18;;;10927:30;10993:34;10973:18;;;10966:62;11064:32;11044:18;;;11037:60;11114:19;;11411:114:0;10713:426:1;11411:114:0;11340:187;11130:397;11580:28;11593:6;11601;11580:12;:28::i;:::-;11625:16;:14;:16::i;:::-;11622:35;;;11644:10;:8;:10::i;:::-;11737:53;;;;;;;;;;;-1:-1:-1;;;11737:53:0;;;;;;;;-1:-1:-1;;;;;11737:17:0;;-1:-1:-1;11737:17:0;;;:9;:17;;;;;;;;:53;;11759:6;;11737:21;:53::i;:::-;-1:-1:-1;;;;;11717:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11829:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11852:22:0;;;;;;:11;:22;;;;;;;;11829:45;11828:93;;11887:34;11895:6;11903;11911:9;11887:7;:34::i;:::-;11828:93;;;11878:6;11828:93;-1:-1:-1;;;;;11955:20:0;;;;;;:9;:20;;;;;;11803:118;;-1:-1:-1;11955:40:0;;11803:118;11955:24;:40::i;:::-;-1:-1:-1;;;;;11932:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12013:43;;;;;;-1:-1:-1;;;;;;;;;;;12013:43:0;;;12041:14;160:25:1;;148:2;133:18;;14:177;12013:43:0;;;;;;;;-1:-1:-1;12074:4:0;;10561:1525;-1:-1:-1;;;;10561:1525:0:o;283:136::-;341:7;368:43;372:1;375;368:43;;;;;;;;;;;;;;;;;:3;:43::i;96:181::-;154:7;;186:5;190:1;186;:5;:::i;:::-;174:17;;215:1;210;:6;;202:46;;;;-1:-1:-1;;;202:46:0;;11346:2:1;202:46:0;;;11328:21:1;11385:2;11365:18;;;11358:30;11424:29;11404:18;;;11397:57;11471:18;;202:46:0;11144:351:1;1017:189:0;1103:7;1138:12;1131:5;1123:28;;;;-1:-1:-1;;;1123:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1162:9:0;1174:5;1178:1;1174;:5;:::i;12098:330::-;12228:53;;;;;;;;;;;-1:-1:-1;;;12228:53:0;;;;;;;;-1:-1:-1;;;;;12228:17:0;;12191:4;12228:17;;;:9;:17;;;;;;;:53;;12250:6;;12228:21;:53::i;:::-;-1:-1:-1;;;;;12208:17:0;;;;;;;:9;:17;;;;;;:73;;;;12315:20;;;;;;;:32;;12340:6;12315:24;:32::i;:::-;-1:-1:-1;;;;;12292:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12363:35;;;;;;-1:-1:-1;;;;;;;;;;;12363:35:0;;;12391:6;160:25:1;;148:2;133:18;;14:177;12363:35:0;;;;;;;;-1:-1:-1;12416:4:0;12098:330;;;;;:::o;12436:166::-;12533:12;;12523:6;:22;;:49;;;-1:-1:-1;;;;;;12549:23:0;;;;;;:15;:23;;;;;;;;12523:49;12515:79;;;;-1:-1:-1;;;12515:79:0;;11702:2:1;12515:79:0;;;11684:21:1;11741:2;11721:18;;;11714:30;-1:-1:-1;;;11760:18:1;;;11753:47;11817:18;;12515:79:0;11500:341:1;12515:79:0;12436:166;;:::o;13682:197::-;13769:4;;13731;;-1:-1:-1;;;;;13769:4:0;13755:10;:18;;;;:38;;-1:-1:-1;13787:6:0;;;;13786:7;13755:38;:62;;;;-1:-1:-1;13806:11:0;;-1:-1:-1;;;13806:11:0;;;;13755:62;:116;;;;-1:-1:-1;;13858:13:0;;13848:4;13830:24;;;;:9;:24;;;;;;:41;;;13682:197::o;14906:1861::-;6963:6;:13;;-1:-1:-1;;6963:13:0;6972:4;6963:13;;;15001:15:::1;::::0;15018:26:::1;::::0;6963:6;;14985:60:::1;::::0;:15:::1;:60::i;:::-;:79;;15052:12;;14985:79;;;15048:1;14985:79;14955:109;;15075:23;15101:59;15158:1;15101:52;15144:8;;15101:38;15119:19;15101:13;;:17;;:38;;;;:::i;:59::-;15075:85;;15171:20;15194:34;15212:15;15194:13;;:17;;:34;;;;:::i;:::-;15265:16;::::0;;15279:1:::1;15265:16:::0;;;;;::::1;::::0;;15171:57;;-1:-1:-1;15241:21:0::1;::::0;15265:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15265:16:0::1;15241:40;;15310:4;15292;15297:1;15292:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15292:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15336:4:::1;::::0;15326:7;;15336:4;::::1;::::0;15326;;15336;;15326:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15326:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15411:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15411:188:0;;15377:21:::1;::::0;15411:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15483:12;;15353:21:::1;::::0;15526:4;;15553::::1;::::0;15573:15:::1;::::0;15411:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15612:17;15632:40;15658:13;15632:21;:25;;:40;;;;:::i;:::-;15612:60:::0;-1:-1:-1;15685:19:0::1;15707:40;15720:26;:19:::0;15744:1:::1;15720:23;:26::i;:::-;15707:8;::::0;;:12:::1;:40::i;:::-;15685:62:::0;-1:-1:-1;15768:26:0::1;15797:58;15853:1;15797:51;15685:62:::0;15797:51;:9;15811:19;15797:13:::1;:34::i;:58::-;15768:87;;15866:26;15895:44;15927:11;15895:27;15909:12;;15895:9;:13;;:27;;;;:::i;:44::-;15866:73;;15950:21;15974:39;16001:11;15974:22;15988:7;;15974:9;:13;;:22;;;;:::i;:39::-;15950:63;;16024:20;16047:38;16073:11;16047:21;16061:6;;16047:9;:13;;:21;;;;:::i;:38::-;16127:20;::::0;16119:65:::1;::::0;16024:61;;-1:-1:-1;16099:15:0::1;::::0;-1:-1:-1;;;;;16127:20:0;;::::1;::::0;16161:18;;16099:15;16119:65;16099:15;16119:65;16161:18;16127:20;16119:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16219:14:0::1;::::0;16211:53:::1;::::0;16098:86;;-1:-1:-1;;;;;;16219:14:0::1;::::0;16247:12;;16211:53:::1;::::0;;;16247:12;16219:14;16211:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16299:15:0::1;::::0;16291:55:::1;::::0;16195:69;;-1:-1:-1;;;;;;16299:15:0::1;::::0;16328:13;;16291:55:::1;::::0;;;16328:13;16299:15;16291:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16380:5:0::1;::::0;-1:-1:-1;;16401:19:0;;;-1:-1:-1;16398:362:0::1;;16436:6;::::0;16610:21:::1;::::0;16436:244:::1;::::0;-1:-1:-1;;;16436:244:0;;16512:4:::1;16436:244;::::0;::::1;13514:34:1::0;13564:18;;;13557:34;;;16436:6:0::1;13607:18:1::0;;;13600:34;;;13650:18;;;13643:34;-1:-1:-1;;;;;16610:21:0;;::::1;13693:19:1::0;;;13686:44;16650:15:0::1;13746:19:1::0;;;13739:35;16436:6:0;::::1;::::0;:22:::1;::::0;16466:18;;13448:19:1;;16436:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16700:48:0::1;::::0;;14270:25:1;;;14326:2;14311:18;;14304:34;;;16700:48:0::1;::::0;-1:-1:-1;14243:18:1;16700:48:0::1;;;;;;;16398:362;-1:-1:-1::0;;6981:6:0;:14;;-1:-1:-1;;6981:14:0;;;-1:-1:-1;;;;;;;;;;14906:1861:0:o;12732:942::-;12869:18;;12916:4;;12818:7;;12869:18;-1:-1:-1;;;;;12903:17:0;;;12916:4;;12903:17;12900:154;;;-1:-1:-1;12950:14:0;;12900:154;;;12995:4;;-1:-1:-1;;;;;12985:14:0;;;12995:4;;12985:14;12982:72;;;-1:-1:-1;13029:13:0;;12982:72;13066:17;13086:62;13127:14;;13144:3;13127:20;;;;:::i;:::-;13086:36;13111:10;13086:20;13097:8;;13086:6;:10;;:20;;;;:::i;:62::-;13066:82;;13159:18;13180:36;13207:8;;13180:22;13194:7;;13180:9;:13;;:22;;;;:::i;:36::-;13159:57;-1:-1:-1;13227:22:0;13252:25;:9;13159:57;13252:13;:25::i;:::-;13335:4;13317:24;;;;:9;:24;;;;;;13227:50;;-1:-1:-1;13317:44:0;;13227:50;13317:28;:44::i;:::-;13308:4;13290:24;;;;:9;:24;;;;;;:71;;;;13411:15;;-1:-1:-1;;;;;13411:15:0;13401:26;;;;:42;;13432:10;13401:30;:42::i;:::-;13382:15;;-1:-1:-1;;;;;13382:15:0;;;13372:26;;;;:9;:26;;;;;;;;;:71;;;;13459:47;160:25:1;;;13484:4:0;;13459:47;;;;-1:-1:-1;;;;;;;;;;;13459:47:0;133:18:1;13459:47:0;;;;;;;13530:14;;13527:99;;13582:15;;13565:45;;160:25:1;;;-1:-1:-1;;;;;13582:15:0;;;;13565:45;;;-1:-1:-1;;;;;;;;;;;13565:45:0;148:2:1;133:18;13565:45:0;;;;;;;13527:99;13645:21;:6;13656:9;13645:10;:21::i;:::-;13638:28;12732:942;-1:-1:-1;;;;;;;;12732:942:0:o;196:118:1:-;282:5;275:13;268:21;261:5;258:32;248:60;;304:1;301;294:12;319:750;411:6;419;427;480:2;468:9;459:7;455:23;451:32;448:52;;;496:1;493;486:12;448:52;536:9;523:23;565:18;606:2;598:6;595:14;592:34;;;622:1;619;612:12;592:34;660:6;649:9;645:22;635:32;;705:7;698:4;694:2;690:13;686:27;676:55;;727:1;724;717:12;676:55;767:2;754:16;793:2;785:6;782:14;779:34;;;809:1;806;799:12;779:34;864:7;857:4;847:6;844:1;840:14;836:2;832:23;828:34;825:47;822:67;;;885:1;882;875:12;822:67;916:4;908:13;;;;-1:-1:-1;940:6:1;-1:-1:-1;;981:20:1;;968:34;1011:28;968:34;1011:28;:::i;:::-;1058:5;1048:15;;;319:750;;;;;:::o;1074:597::-;1186:4;1215:2;1244;1233:9;1226:21;1276:6;1270:13;1319:6;1314:2;1303:9;1299:18;1292:34;1344:1;1354:140;1368:6;1365:1;1362:13;1354:140;;;1463:14;;;1459:23;;1453:30;1429:17;;;1448:2;1425:26;1418:66;1383:10;;1354:140;;;1512:6;1509:1;1506:13;1503:91;;;1582:1;1577:2;1568:6;1557:9;1553:22;1549:31;1542:42;1503:91;-1:-1:-1;1655:2:1;1634:15;-1:-1:-1;;1630:29:1;1615:45;;;;1662:2;1611:54;;1074:597;-1:-1:-1;;;1074:597:1:o;1868:173::-;1936:20;;-1:-1:-1;;;;;1985:31:1;;1975:42;;1965:70;;2031:1;2028;2021:12;1965:70;1868:173;;;:::o;2046:254::-;2114:6;2122;2175:2;2163:9;2154:7;2150:23;2146:32;2143:52;;;2191:1;2188;2181:12;2143:52;2214:29;2233:9;2214:29;:::i;:::-;2204:39;2290:2;2275:18;;;;2262:32;;-1:-1:-1;;;2046:254:1:o;2305:248::-;2373:6;2381;2434:2;2422:9;2413:7;2409:23;2405:32;2402:52;;;2450:1;2447;2440:12;2402:52;-1:-1:-1;;2473:23:1;;;2543:2;2528:18;;;2515:32;;-1:-1:-1;2305:248:1:o;2558:484::-;2653:6;2661;2669;2677;2685;2738:3;2726:9;2717:7;2713:23;2709:33;2706:53;;;2755:1;2752;2745:12;2706:53;2778:29;2797:9;2778:29;:::i;:::-;2768:39;;2826:38;2860:2;2849:9;2845:18;2826:38;:::i;:::-;2816:48;;2883:38;2917:2;2906:9;2902:18;2883:38;:::i;:::-;2873:48;;2940:38;2974:2;2963:9;2959:18;2940:38;:::i;:::-;2930:48;;2997:39;3031:3;3020:9;3016:19;2997:39;:::i;:::-;2987:49;;2558:484;;;;;;;;:::o;3047:180::-;3106:6;3159:2;3147:9;3138:7;3134:23;3130:32;3127:52;;;3175:1;3172;3165:12;3127:52;-1:-1:-1;3198:23:1;;3047:180;-1:-1:-1;3047:180:1:o;3232:328::-;3309:6;3317;3325;3378:2;3366:9;3357:7;3353:23;3349:32;3346:52;;;3394:1;3391;3384:12;3346:52;3417:29;3436:9;3417:29;:::i;:::-;3407:39;;3465:38;3499:2;3488:9;3484:18;3465:38;:::i;:::-;3455:48;;3550:2;3539:9;3535:18;3522:32;3512:42;;3232:328;;;;;:::o;3754:186::-;3813:6;3866:2;3854:9;3845:7;3841:23;3837:32;3834:52;;;3882:1;3879;3872:12;3834:52;3905:29;3924:9;3905:29;:::i;3945:241::-;4001:6;4054:2;4042:9;4033:7;4029:23;4025:32;4022:52;;;4070:1;4067;4060:12;4022:52;4109:9;4096:23;4128:28;4150:5;4128:28;:::i;4191:315::-;4256:6;4264;4317:2;4305:9;4296:7;4292:23;4288:32;4285:52;;;4333:1;4330;4323:12;4285:52;4356:29;4375:9;4356:29;:::i;:::-;4346:39;;4435:2;4424:9;4420:18;4407:32;4448:28;4470:5;4448:28;:::i;:::-;4495:5;4485:15;;;4191:315;;;;;:::o;4511:316::-;4588:6;4596;4604;4657:2;4645:9;4636:7;4632:23;4628:32;4625:52;;;4673:1;4670;4663:12;4625:52;-1:-1:-1;;4696:23:1;;;4766:2;4751:18;;4738:32;;-1:-1:-1;4817:2:1;4802:18;;;4789:32;;4511:316;-1:-1:-1;4511:316:1:o;4832:523::-;4936:6;4944;4952;4960;4968;4976;5029:3;5017:9;5008:7;5004:23;5000:33;4997:53;;;5046:1;5043;5036:12;4997:53;-1:-1:-1;;5069:23:1;;;5139:2;5124:18;;5111:32;;-1:-1:-1;5190:2:1;5175:18;;5162:32;;5241:2;5226:18;;5213:32;;-1:-1:-1;5292:3:1;5277:19;;5264:33;;-1:-1:-1;5344:3:1;5329:19;5316:33;;-1:-1:-1;4832:523:1;-1:-1:-1;4832:523:1:o;5568:260::-;5636:6;5644;5697:2;5685:9;5676:7;5672:23;5668:32;5665:52;;;5713:1;5710;5703:12;5665:52;5736:29;5755:9;5736:29;:::i;:::-;5726:39;;5784:38;5818:2;5807:9;5803:18;5784:38;:::i;:::-;5774:48;;5568:260;;;;;:::o;5833:309::-;5898:6;5906;5959:2;5947:9;5938:7;5934:23;5930:32;5927:52;;;5975:1;5972;5965:12;5927:52;6014:9;6001:23;6033:28;6055:5;6033:28;:::i;6373:356::-;6575:2;6557:21;;;6594:18;;;6587:30;6653:34;6648:2;6633:18;;6626:62;6720:2;6705:18;;6373:356::o;6734:127::-;6795:10;6790:3;6786:20;6783:1;6776:31;6826:4;6823:1;6816:15;6850:4;6847:1;6840:15;6866:127;6927:10;6922:3;6918:20;6915:1;6908:31;6958:4;6955:1;6948:15;6982:4;6979:1;6972:15;6998:135;7037:3;-1:-1:-1;;7058:17:1;;7055:43;;;7078:18;;:::i;:::-;-1:-1:-1;7125:1:1;7114:13;;6998:135::o;7138:168::-;7178:7;7244:1;7240;7236:6;7232:14;7229:1;7226:21;7221:1;7214:9;7207:17;7203:45;7200:71;;;7251:18;;:::i;:::-;-1:-1:-1;7291:9:1;;7138:168::o;7311:217::-;7351:1;7377;7367:132;;7421:10;7416:3;7412:20;7409:1;7402:31;7456:4;7453:1;7446:15;7484:4;7481:1;7474:15;7367:132;-1:-1:-1;7513:9:1;;7311:217::o;7533:184::-;7603:6;7656:2;7644:9;7635:7;7631:23;7627:32;7624:52;;;7672:1;7669;7662:12;7624:52;-1:-1:-1;7695:16:1;;7533:184;-1:-1:-1;7533:184:1:o;8001:245::-;8068:6;8121:2;8109:9;8100:7;8096:23;8092:32;8089:52;;;8137:1;8134;8127:12;8089:52;8169:9;8163:16;8188:28;8210:5;8188:28;:::i;9417:125::-;9457:4;9485:1;9482;9479:8;9476:34;;;9490:18;;:::i;:::-;-1:-1:-1;9527:9:1;;9417:125::o;10580:128::-;10620:3;10651:1;10647:6;10644:1;10641:13;10638:39;;;10657:18;;:::i;:::-;-1:-1:-1;10693:9:1;;10580:128::o;11978:980::-;12240:4;12288:3;12277:9;12273:19;12319:6;12308:9;12301:25;12345:2;12383:6;12378:2;12367:9;12363:18;12356:34;12426:3;12421:2;12410:9;12406:18;12399:31;12450:6;12485;12479:13;12516:6;12508;12501:22;12554:3;12543:9;12539:19;12532:26;;12593:2;12585:6;12581:15;12567:29;;12614:1;12624:195;12638:6;12635:1;12632:13;12624:195;;;12703:13;;-1:-1:-1;;;;;12699:39:1;12687:52;;12794:15;;;;12759:12;;;;12735:1;12653:9;12624:195;;;-1:-1:-1;;;;;;;12875:32:1;;;;12870:2;12855:18;;12848:60;-1:-1:-1;;;12939:3:1;12924:19;12917:35;12836:3;11978:980;-1:-1:-1;;;11978:980:1:o;13785:306::-;13873:6;13881;13889;13942:2;13930:9;13921:7;13917:23;13913:32;13910:52;;;13958:1;13955;13948:12;13910:52;13987:9;13981:16;13971:26;;14037:2;14026:9;14022:18;14016:25;14006:35;;14081:2;14070:9;14066:18;14060:25;14050:35;;13785:306;;;;;:::o
Swarm Source
ipfs://48432ad5cc3b1cb14543a4629a959c1c4ec9f2f619552d8bff8013e943e6a8a1
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.