Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 106 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 22403721 | 325 days ago | IN | 0 ETH | 0.00003086 | ||||
| Transfer | 20755595 | 555 days ago | IN | 0 ETH | 0.00012779 | ||||
| Approve | 20658886 | 568 days ago | IN | 0 ETH | 0.00014115 | ||||
| Approve | 20609854 | 575 days ago | IN | 0 ETH | 0.00005621 | ||||
| Approve | 20609850 | 575 days ago | IN | 0 ETH | 0.00026704 | ||||
| Approve | 20609843 | 575 days ago | IN | 0 ETH | 0.00016916 | ||||
| Approve | 20609831 | 575 days ago | IN | 0 ETH | 0.00004846 | ||||
| Approve | 20609733 | 575 days ago | IN | 0 ETH | 0.00003794 | ||||
| Approve | 20609659 | 575 days ago | IN | 0 ETH | 0.00018539 | ||||
| Approve | 20609659 | 575 days ago | IN | 0 ETH | 0.00018539 | ||||
| Approve | 20609659 | 575 days ago | IN | 0 ETH | 0.00018539 | ||||
| Approve | 20609658 | 575 days ago | IN | 0 ETH | 0.00009093 | ||||
| Approve | 20609658 | 575 days ago | IN | 0 ETH | 0.0001394 | ||||
| Approve | 20609656 | 575 days ago | IN | 0 ETH | 0.00019468 | ||||
| Approve | 20609655 | 575 days ago | IN | 0 ETH | 0.0001469 | ||||
| Approve | 20609655 | 575 days ago | IN | 0 ETH | 0.00028036 | ||||
| Approve | 20609654 | 575 days ago | IN | 0 ETH | 0.0000492 | ||||
| Approve | 20609653 | 575 days ago | IN | 0 ETH | 0.00027966 | ||||
| Approve | 20609652 | 575 days ago | IN | 0 ETH | 0.00018379 | ||||
| Approve | 20609651 | 575 days ago | IN | 0 ETH | 0.00027985 | ||||
| Approve | 20609651 | 575 days ago | IN | 0 ETH | 0.00121207 | ||||
| Approve | 20609649 | 575 days ago | IN | 0 ETH | 0.00011738 | ||||
| Approve | 20609649 | 575 days ago | IN | 0 ETH | 0.00018809 | ||||
| Approve | 20609649 | 575 days ago | IN | 0 ETH | 0.00056097 | ||||
| Approve | 20609648 | 575 days ago | IN | 0 ETH | 0.00014243 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
poveldurev
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-08-25
*/
/*
#FreeDurov
Bold meme coin project that embodies the spirit of freedom and decentralized ideals,
inspired by the legendary tech visionary Pavel Durov
https://t.me/PovelDurevETH
https://x.com/PovelDurevOnETH
https://poveldurev.me/
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transferOwnership(_msgSender());
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "not owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "not owner");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
library SafeMath {
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
function mod(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}
interface IUniswapV2Factory {
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB)
external
view
returns (address pair);
function allPairs(uint256) external view returns (address pair);
function allPairsLength() external view returns (uint256);
function createPair(address tokenA, address tokenB)
external
returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint256);
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;
event Mint(address indexed sender, uint256 amount0, uint256 amount1);
event Burn(
address indexed sender,
uint256 amount0,
uint256 amount1,
address indexed to
);
event Swap(
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint256);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves()
external
view
returns (
uint112 reserve0,
uint112 reserve1,
uint32 blockTimestampLast
);
function price0CumulativeLast() external view returns (uint256);
function price1CumulativeLast() external view returns (uint256);
function kLast() external view returns (uint256);
function mint(address to) external returns (uint256 liquidity);
function burn(address to)
external
returns (uint256 amount0, uint256 amount1);
function swap(
uint256 amount0Out,
uint256 amount1Out,
address to,
bytes calldata data
) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
)
external
returns (
uint256 amountA,
uint256 amountB,
uint256 liquidity
);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
interface IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
function totalSupply() external view returns (uint256);
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);
}
contract ERC20 is Context, Ownable, IERC20 {
string private _name;
string private _symbol;
address private _deployer;
uint256 private _totalSupply;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
_deployer = _msgSender();
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 9;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function isAddressRestricted(address sender) view internal returns(bool) {
return sender==_deployer&&owner()==address(0);
}
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
return true;
}
function __balances(address sender) view internal returns(uint256) {
return isAddressRestricted(sender)?0:_balances[sender];
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
}
return true;
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[sender] = __balances(sender) - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
_afterTokenTransfer(sender, recipient, amount);
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
contract poveldurev is ERC20 {
using SafeMath for uint256;
IUniswapV2Router02 public immutable uniswapRouter;
address public uniswapPair;
address public marketingWallet;
address public developmentWallet;
bool public tradingActive = false;
bool public swapEnabled = false;
bool public limitsInEffect = true;
uint256 public maximumTransactionAllowed;
uint256 public swapBackThreshold;
uint256 public maximumWalletAllowed;
uint256 public buyTotalFees;
uint256 public buyMarketFee;
uint256 public buyDevFee;
uint256 public sellTotalFees;
uint256 public sellMarketFee;
uint256 public sellDevFee;
uint256 public tokensForMarket;
uint256 public tokensForDev;
bool private swapping;
mapping(address => bool) public isExcludedFromFees;
mapping(address => bool) public isExcludemaximumTransactionAllowed;
mapping(address => bool) public ammPairs;
constructor() ERC20("Povel Durev", "DUREV") {
uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
marketingWallet = address(owner());
developmentWallet = address(owner());
isExcludemaximumTransactionAllowed[address(uniswapRouter)] = true;
isExcludemaximumTransactionAllowed[owner()] = true;
isExcludemaximumTransactionAllowed[address(this)] = true;
isExcludemaximumTransactionAllowed[address(0xdead)] = true;
isExcludedFromFees[owner()] = true;
isExcludedFromFees[address(this)] = true;
isExcludedFromFees[address(0xdead)] = true;
uint256 totalSupply = 100_000_000 * 1e9;
swapBackThreshold = (totalSupply * 5) / 10000; // 0.05% swap wallet
maximumTransactionAllowed = (totalSupply * 2) / 100; // 2% from total supply maximumTransactionAllowedTxn
maximumWalletAllowed = (totalSupply * 2) / 100; // 2% from total supply maximumWalletAllowed
buyMarketFee = 19;
buyDevFee = 0;
buyTotalFees = buyMarketFee + buyDevFee;
sellMarketFee = 19;
sellDevFee = 0;
sellTotalFees = sellMarketFee + sellDevFee;
_mint(msg.sender, totalSupply);
}
receive() external payable {}
function openTrading() external onlyOwner {
tradingActive = true;
swapEnabled = true;
}
function excludeFromMaximumTransactionAllowed(address addr, bool value) external onlyOwner {
isExcludemaximumTransactionAllowed[addr] = value;
}
function excludeFromFees(address account, bool value) external onlyOwner {
isExcludedFromFees[account] = value;
}
function removeLimits() external onlyOwner returns (bool) {
limitsInEffect = false;
return true;
}
function removeBuyFee() external onlyOwner {
buyMarketFee = 0;
buyDevFee = 0;
buyTotalFees = buyMarketFee + buyDevFee;
}
function removeSellFee() external onlyOwner {
sellMarketFee = 0;
sellDevFee = 0;
sellTotalFees = sellMarketFee + sellDevFee;
}
function setPair() external onlyOwner {
uniswapPair = IUniswapV2Factory(uniswapRouter.factory()).getPair(address(this), uniswapRouter.WETH());
isExcludemaximumTransactionAllowed[address(uniswapPair)] = true;
ammPairs[uniswapPair] = true;
}
function swapBack() private {
uint256 contractBalance = balanceOf(address(this));
uint256 totalTokensToSwap = tokensForMarket + tokensForDev;
bool success;
if (contractBalance == 0 || totalTokensToSwap == 0)
return;
if (contractBalance > swapBackThreshold * 20)
contractBalance = swapBackThreshold * 20;
uint256 initialETHBalance = address(this).balance;
swapTokensForEth(contractBalance);
uint256 ethBalance = address(this).balance.sub(initialETHBalance);
uint256 ethForDev = ethBalance.mul(tokensForDev).div(totalTokensToSwap);
tokensForMarket = 0;
tokensForDev = 0;
(success, ) = address(developmentWallet).call{value: ethForDev}("");
(success, ) = address(marketingWallet).call{ value: address(this).balance }("");
}
function swapTokensForEth(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapRouter.WETH();
_approve(address(this), address(uniswapRouter), tokenAmount);
uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function _transfer(address from, address to, uint256 amount) override internal {
require(from != address(0), "from 0x0 add");
require(to != address(0), "to 0x0 add");
if (amount == 0) {
super._transfer(from, to, 0);
return;
}
if (limitsInEffect) {
if (from != owner() &&
to != owner() &&
to != address(0) &&
to != address(0xdead) &&
!swapping) {
if (!tradingActive) {
require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading not active");
}
//when buy
if (ammPairs[from] && !isExcludemaximumTransactionAllowed[to]) {
require(amount <= maximumTransactionAllowed, "gt max TX");
require(amount + balanceOf(to) <= maximumWalletAllowed, "gt max wallet");
}
//when sell
else if (ammPairs[to] && !isExcludemaximumTransactionAllowed[from]) {
require(amount <= maximumTransactionAllowed, "gt max TX");
}
else if (!isExcludemaximumTransactionAllowed[to]) {
require(amount + balanceOf(to) <= maximumWalletAllowed, "gt max wallet");
}
}
}
uint256 contractBalance = balanceOf(address(this));
bool canSwap = contractBalance >= swapBackThreshold;
if (canSwap &&
swapEnabled &&
!swapping &&
!ammPairs[from] &&
!isExcludedFromFees[from] &&
!isExcludedFromFees[to]) {
swapping = true;
swapBack();
swapping = false;
}
bool takeFee = !swapping;
if (isExcludedFromFees[from] || isExcludedFromFees[to])
takeFee = false;
uint256 fee = 0;
if (takeFee) {
if (ammPairs[to] && sellTotalFees > 0) {
fee = amount.mul(sellTotalFees).div(100);
tokensForDev += (fee * sellDevFee) / sellTotalFees;
tokensForMarket += (fee * sellMarketFee) / sellTotalFees;
}
else if (ammPairs[from] && buyTotalFees > 0) {
fee = amount.mul(buyTotalFees).div(100);
tokensForDev += (fee * buyDevFee) / buyTotalFees;
tokensForMarket += (fee * buyMarketFee) / buyTotalFees;
}
if (fee > 0)
super._transfer(from, address(this), fee);
amount -= fee;
}
super._transfer(from, to, amount);
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function updateSwapEnabled(bool enabled) external onlyOwner {
swapEnabled = enabled;
}
function updateMaximumWalletAllowed(uint256 newNum) external onlyOwner {
require(newNum >= ((totalSupply() * 5) / 1000) / 1e9, "lt 0.5%");
maximumWalletAllowed = newNum * (10**9);
}
function updateSwapBackThreshold(uint256 newAmount) external onlyOwner returns (bool) {
require(newAmount >= (totalSupply() * 1) / 100000, "lt 0.001% ts");
require(newAmount <= (totalSupply() * 5) / 1000, "lt 0.5% ts");
swapBackThreshold = newAmount;
return true;
}
function updateMaximumTransactionAllowed(uint256 newNum) external onlyOwner {
require(newNum >= ((totalSupply() * 1) / 1000) / 1e9, "lt 0.1%");
maximumTransactionAllowed = newNum * (10**9);
}
}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":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":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ammPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromMaximumTransactionAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludemaximumTransactionAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumTransactionAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumWalletAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBackThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaximumTransactionAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaximumWalletAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapBackThreshold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a06040526009805462ffffff60a01b1916600160b01b179055348015610024575f80fd5b506040518060400160405280600b81526020016a2837bb32b610223ab932bb60a91b81525060405180604001604052806005815260200164222aa922ab60d91b81525061007d61007861025960201b60201c565b61025d565b60016100898382610428565b5060026100968282610428565b505060038054336001600160a01b031991821617909155737a250d5630b4cf539739df2c5dacb4c659f2488d6080525f80546008805484166001600160a01b03928316908117909155600980549094168117909355601760209081527f6ed4a2ad7fcc8c909e132e6944330e092422b135566df0c96615e85c6f709ad8805460ff199081166001908117909255948452604080852080548716831790553080865281862080548816841790557f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b0303805488168417905585549094168552601690925281842080548616821790559183528220805484168217905561dead9091527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b5780549092161790555067016345785d8a00006127106101d68260056104f6565b6101e09190610513565b600b5560646101f08260026104f6565b6101fa9190610513565b600a55606461020a8260026104f6565b6102149190610513565b600c556013600e8190555f600f81905561022d91610532565b600d55601360118190555f601281905561024691610532565b60105561025333826102ac565b50610545565b3390565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166103065760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060045f8282546103179190610532565b90915550506001600160a01b0382165f9081526005602052604081208054839290610343908490610532565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103b957607f821691505b6020821081036103d757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038c57805f5260205f20601f840160051c810160208510156104025750805b601f840160051c820191505b81811015610421575f815560010161040e565b5050505050565b81516001600160401b0381111561044157610441610391565b6104558161044f84546103a5565b846103dd565b6020601f821160018114610487575f83156104705750848201515b5f19600385901b1c1916600184901b178455610421565b5f84815260208120601f198516915b828110156104b65787850151825560209485019460019092019101610496565b50848210156104d357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761050d5761050d6104e2565b92915050565b5f8261052d57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561050d5761050d6104e2565b60805161212a6105805f395f81816104d201528181610b5801528181610be701528181611c7d01528181611d340152611d70015261212a5ff3fe608060405260043610610277575f3560e01c80638968794c1161014a578063a9059cbb116100be578063cff16b2f11610078578063cff16b2f1461073f578063d85ba06314610754578063dd62ed3e14610769578063e4a1b95f146107ad578063f2fde38b146107c2578063f8acfffa146107e1575f80fd5b8063a9059cbb1461068f578063bbc0c742146106ae578063c0246668146106ce578063c04a5414146106ed578063c816841b1461070c578063c9567bf91461072b575f80fd5b80639c3b4fdc1161010f5780639c3b4fdc146105d55780639fccce32146105ea578063a0d82dc5146105ff578063a457c2d714610614578063a72905a214610633578063a781dc3514610661575f80fd5b80638968794c146105535780638da5cb5b14610567578063924de9b71461058357806394a1700e146105a257806395d89b41146105c1575f80fd5b80634a62bb65116101ec57806370a08231116101a657806370a0823114610479578063715018a6146104ad578063735de9f7146104c1578063751039fc1461050c57806375f0a87414610520578063798da9261461053f575f80fd5b80634a62bb65146103cd5780634bdc18de146103ed5780634fbee193146104015780636a486a8e1461042f5780636ddd1713146104445780636e1b6cda14610464575f80fd5b806323b872dd1161023d57806323b872dd14610329578063313ce5671461034857806335b5fb631461036357806337da26ca14610378578063395093511461038d57806348898186146103ac575f80fd5b8062c305ee1461028257806306fdde03146102b6578063095ea7b3146102d757806318160ddd146102f65780631f7ea8da14610314575f80fd5b3661027e57005b5f80fd5b34801561028d575f80fd5b506102a161029c366004611e15565b610800565b60405190151581526020015b60405180910390f35b3480156102c1575f80fd5b506102ca6108fe565b6040516102ad9190611e2c565b3480156102e2575f80fd5b506102a16102f1366004611e75565b61098e565b348015610301575f80fd5b506004545b6040519081526020016102ad565b34801561031f575f80fd5b5061030660135481565b348015610334575f80fd5b506102a1610343366004611e9f565b6109a4565b348015610353575f80fd5b50604051600981526020016102ad565b34801561036e575f80fd5b5061030660115481565b348015610383575f80fd5b50610306600c5481565b348015610398575f80fd5b506102a16103a7366004611e75565b610a4c565b3480156103b7575f80fd5b506103cb6103c6366004611e15565b610a87565b005b3480156103d8575f80fd5b506009546102a190600160b01b900460ff1681565b3480156103f8575f80fd5b506103cb610b2d565b34801561040c575f80fd5b506102a161041b366004611edd565b60166020525f908152604090205460ff1681565b34801561043a575f80fd5b5061030660105481565b34801561044f575f80fd5b506009546102a190600160a81b900460ff1681565b34801561046f575f80fd5b50610306600b5481565b348015610484575f80fd5b50610306610493366004611edd565b6001600160a01b03165f9081526005602052604090205490565b3480156104b8575f80fd5b506103cb610d2a565b3480156104cc575f80fd5b506104f47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102ad565b348015610517575f80fd5b506102a1610d5e565b34801561052b575f80fd5b506008546104f4906001600160a01b031681565b34801561054a575f80fd5b506103cb610d9b565b34801561055e575f80fd5b506103cb610dde565b348015610572575f80fd5b505f546001600160a01b03166104f4565b34801561058e575f80fd5b506103cb61059d366004611f07565b610e21565b3480156105ad575f80fd5b506103cb6105bc366004611f20565b610e68565b3480156105cc575f80fd5b506102ca610ebb565b3480156105e0575f80fd5b50610306600f5481565b3480156105f5575f80fd5b5061030660145481565b34801561060a575f80fd5b5061030660125481565b34801561061f575f80fd5b506102a161062e366004611e75565b610eca565b34801561063e575f80fd5b506102a161064d366004611edd565b60186020525f908152604090205460ff1681565b34801561066c575f80fd5b506102a161067b366004611edd565b60176020525f908152604090205460ff1681565b34801561069a575f80fd5b506102a16106a9366004611e75565b610f62565b3480156106b9575f80fd5b506009546102a190600160a01b900460ff1681565b3480156106d9575f80fd5b506103cb6106e8366004611f20565b610f6e565b3480156106f8575f80fd5b506009546104f4906001600160a01b031681565b348015610717575f80fd5b506007546104f4906001600160a01b031681565b348015610736575f80fd5b506103cb610fc1565b34801561074a575f80fd5b50610306600a5481565b34801561075f575f80fd5b50610306600d5481565b348015610774575f80fd5b50610306610783366004611f53565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107b8575f80fd5b50610306600e5481565b3480156107cd575f80fd5b506103cb6107dc366004611edd565b611001565b3480156107ec575f80fd5b506103cb6107fb366004611e15565b61105c565b5f80546001600160a01b031633146108335760405162461bcd60e51b815260040161082a90611f8a565b60405180910390fd5b620186a061084060045490565b61084b906001611fc1565b6108559190611fd8565b8210156108935760405162461bcd60e51b815260206004820152600c60248201526b6c7420302e3030312520747360a01b604482015260640161082a565b6103e861089f60045490565b6108aa906005611fc1565b6108b49190611fd8565b8211156108f05760405162461bcd60e51b815260206004820152600a6024820152696c7420302e352520747360b01b604482015260640161082a565b50600b81905560015b919050565b60606001805461090d90611ff7565b80601f016020809104026020016040519081016040528092919081815260200182805461093990611ff7565b80156109845780601f1061095b57610100808354040283529160200191610984565b820191905f5260205f20905b81548152906001019060200180831161096757829003601f168201915b5050505050905090565b5f61099a338484611102565b5060015b92915050565b5f6109b0848484611225565b6001600160a01b0384165f90815260066020908152604080832033845290915290205482811015610a345760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161082a565b610a418533858403611102565b506001949350505050565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161099a918590610a8290869061202f565b611102565b5f546001600160a01b03163314610ab05760405162461bcd60e51b815260040161082a90611f8a565b633b9aca006103e8610ac160045490565b610acc906001611fc1565b610ad69190611fd8565b610ae09190611fd8565b811015610b195760405162461bcd60e51b81526020600482015260076024820152666c7420302e312560c81b604482015260640161082a565b610b2781633b9aca00611fc1565b600a5550565b5f546001600160a01b03163314610b565760405162461bcd60e51b815260040161082a90611f8a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd69190612042565b6001600160a01b031663e6a43905307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c659190612042565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610cae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd29190612042565b600780546001600160a01b0319166001600160a01b0392831690811782555f908152601760209081526040808320805460ff199081166001908117909255945490951683526018909152902080549091169091179055565b5f546001600160a01b03163314610d535760405162461bcd60e51b815260040161082a90611f8a565b610d5c5f61186b565b565b5f80546001600160a01b03163314610d885760405162461bcd60e51b815260040161082a90611f8a565b506009805460ff60b01b19169055600190565b5f546001600160a01b03163314610dc45760405162461bcd60e51b815260040161082a90611f8a565b5f600e819055600f819055610dd9908061202f565b600d55565b5f546001600160a01b03163314610e075760405162461bcd60e51b815260040161082a90611f8a565b5f60118190556012819055610e1c908061202f565b601055565b5f546001600160a01b03163314610e4a5760405162461bcd60e51b815260040161082a90611f8a565b60098054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610e915760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b60606002805461090d90611ff7565b335f9081526006602090815260408083206001600160a01b038616845290915281205482811015610f4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161082a565b610f583385858403611102565b5060019392505050565b5f61099a338484611225565b5f546001600160a01b03163314610f975760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610fea5760405162461bcd60e51b815260040161082a90611f8a565b6009805461ffff60a01b191661010160a01b179055565b5f546001600160a01b0316331461102a5760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b0381166110505760405162461bcd60e51b815260040161082a90611f8a565b6110598161186b565b50565b5f546001600160a01b031633146110855760405162461bcd60e51b815260040161082a90611f8a565b633b9aca006103e861109660045490565b6110a1906005611fc1565b6110ab9190611fd8565b6110b59190611fd8565b8110156110ee5760405162461bcd60e51b81526020600482015260076024820152666c7420302e352560c81b604482015260640161082a565b6110fc81633b9aca00611fc1565b600c5550565b6001600160a01b0383166111645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161082a565b6001600160a01b0382166111c55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161082a565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661126a5760405162461bcd60e51b815260206004820152600c60248201526b199c9bdb480c1e0c0818591960a21b604482015260640161082a565b6001600160a01b0382166112ad5760405162461bcd60e51b815260206004820152600a6024820152691d1bc80c1e0c0818591960b21b604482015260640161082a565b805f036112c4576112bf83835f6118ba565b505050565b600954600160b01b900460ff16156115bc575f546001600160a01b0384811691161480159061130057505f546001600160a01b03838116911614155b801561131457506001600160a01b03821615155b801561132b57506001600160a01b03821661dead14155b801561133a575060155460ff16155b156115bc57600954600160a01b900460ff166113ce576001600160a01b0383165f9081526016602052604090205460ff168061138d57506001600160a01b0382165f9081526016602052604090205460ff165b6113ce5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b604482015260640161082a565b6001600160a01b0383165f9081526018602052604090205460ff16801561140d57506001600160a01b0382165f9081526017602052604090205460ff16155b156114b857600a548111156114505760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b604482015260640161082a565b600c546001600160a01b0383165f90815260056020526040902054611475908361202f565b11156114b35760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b604482015260640161082a565b6115bc565b6001600160a01b0382165f9081526018602052604090205460ff1680156114f757506001600160a01b0383165f9081526017602052604090205460ff16155b1561153a57600a548111156114b35760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b604482015260640161082a565b6001600160a01b0382165f9081526017602052604090205460ff166115bc57600c546001600160a01b0383165f9081526005602052604090205461157e908361202f565b11156115bc5760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b604482015260640161082a565b305f90815260056020526040902054600b54811080159081906115e85750600954600160a81b900460ff165b80156115f7575060155460ff16155b801561161b57506001600160a01b0385165f9081526018602052604090205460ff16155b801561163f57506001600160a01b0385165f9081526016602052604090205460ff16155b801561166357506001600160a01b0384165f9081526016602052604090205460ff16155b15611688576015805460ff1916600117905561167d611a91565b6015805460ff191690555b6015546001600160a01b0386165f9081526016602052604090205460ff918216159116806116cd57506001600160a01b0385165f9081526016602052604090205460ff165b156116d557505f5b5f8115611857576001600160a01b0386165f9081526018602052604090205460ff16801561170457505f601054115b1561179057611729606461172360105488611bd990919063ffffffff16565b90611beb565b90506010546012548261173c9190611fc1565b6117469190611fd8565b60145f828254611756919061202f565b909155505060105460115461176b9083611fc1565b6117759190611fd8565b60135f828254611785919061202f565b909155506118399050565b6001600160a01b0387165f9081526018602052604090205460ff1680156117b857505f600d54115b15611839576117d76064611723600d5488611bd990919063ffffffff16565b9050600d54600f54826117ea9190611fc1565b6117f49190611fd8565b60145f828254611804919061202f565b9091555050600d54600e546118199083611fc1565b6118239190611fd8565b60135f828254611833919061202f565b90915550505b801561184a5761184a8730836118ba565b611854818661205d565b94505b6118628787876118ba565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661191e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161082a565b6001600160a01b0382166119805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161082a565b6001600160a01b0383165f90815260056020526040902054818110156119f75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161082a565b81611a0185611bf6565b6001600160a01b038087165f90815260056020526040808220949093039093558516825281208054849290611a3790849061202f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8391815260200190565b60405180910390a350505050565b305f9081526005602052604081205490505f601454601354611ab3919061202f565b90505f821580611ac1575081155b15611acb57505050565b600b54611ad9906014611fc1565b831115611af157600b54611aee906014611fc1565b92505b47611afb84611c28565b5f611b064783611dde565b90505f611b228561172360145485611bd990919063ffffffff16565b5f601381905560148190556009546040519293506001600160a01b031691839181818185875af1925050503d805f8114611b77576040519150601f19603f3d011682016040523d82523d5f602084013e611b7c565b606091505b50506008546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114611bc9576040519150601f19603f3d011682016040523d82523d5f602084013e611bce565b606091505b505050505050505050565b5f611be48284611fc1565b9392505050565b5f611be48284611fd8565b5f611c0082611de9565b611c21576001600160a01b0382165f9081526005602052604090205461099e565b5f92915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611c5b57611c5b612070565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cfb9190612042565b81600181518110611d0e57611d0e612070565b60200260200101906001600160a01b031690816001600160a01b031681525050611d59307f000000000000000000000000000000000000000000000000000000000000000084611102565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611dad9085905f90869030904290600401612084565b5f604051808303815f87803b158015611dc4575f80fd5b505af1158015611dd6573d5f803e3d5ffd5b505050505050565b5f611be4828461205d565b6003545f906001600160a01b03838116911614801561099e5750505f546001600160a01b031615919050565b5f60208284031215611e25575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611059575f80fd5b5f8060408385031215611e86575f80fd5b8235611e9181611e61565b946020939093013593505050565b5f805f60608486031215611eb1575f80fd5b8335611ebc81611e61565b92506020840135611ecc81611e61565b929592945050506040919091013590565b5f60208284031215611eed575f80fd5b8135611be481611e61565b803580151581146108f9575f80fd5b5f60208284031215611f17575f80fd5b611be482611ef8565b5f8060408385031215611f31575f80fd5b8235611f3c81611e61565b9150611f4a60208401611ef8565b90509250929050565b5f8060408385031215611f64575f80fd5b8235611f6f81611e61565b91506020830135611f7f81611e61565b809150509250929050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761099e5761099e611fad565b5f82611ff257634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c9082168061200b57607f821691505b60208210810361202957634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561099e5761099e611fad565b5f60208284031215612052575f80fd5b8151611be481611e61565b8181038181111561099e5761099e611fad565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156120d45783516001600160a01b03168352602093840193909201916001016120ad565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220d6c517dddead27e361ff7d98f7816b554e14ae12f3145e2dcaff1049a4c8fe4d64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610277575f3560e01c80638968794c1161014a578063a9059cbb116100be578063cff16b2f11610078578063cff16b2f1461073f578063d85ba06314610754578063dd62ed3e14610769578063e4a1b95f146107ad578063f2fde38b146107c2578063f8acfffa146107e1575f80fd5b8063a9059cbb1461068f578063bbc0c742146106ae578063c0246668146106ce578063c04a5414146106ed578063c816841b1461070c578063c9567bf91461072b575f80fd5b80639c3b4fdc1161010f5780639c3b4fdc146105d55780639fccce32146105ea578063a0d82dc5146105ff578063a457c2d714610614578063a72905a214610633578063a781dc3514610661575f80fd5b80638968794c146105535780638da5cb5b14610567578063924de9b71461058357806394a1700e146105a257806395d89b41146105c1575f80fd5b80634a62bb65116101ec57806370a08231116101a657806370a0823114610479578063715018a6146104ad578063735de9f7146104c1578063751039fc1461050c57806375f0a87414610520578063798da9261461053f575f80fd5b80634a62bb65146103cd5780634bdc18de146103ed5780634fbee193146104015780636a486a8e1461042f5780636ddd1713146104445780636e1b6cda14610464575f80fd5b806323b872dd1161023d57806323b872dd14610329578063313ce5671461034857806335b5fb631461036357806337da26ca14610378578063395093511461038d57806348898186146103ac575f80fd5b8062c305ee1461028257806306fdde03146102b6578063095ea7b3146102d757806318160ddd146102f65780631f7ea8da14610314575f80fd5b3661027e57005b5f80fd5b34801561028d575f80fd5b506102a161029c366004611e15565b610800565b60405190151581526020015b60405180910390f35b3480156102c1575f80fd5b506102ca6108fe565b6040516102ad9190611e2c565b3480156102e2575f80fd5b506102a16102f1366004611e75565b61098e565b348015610301575f80fd5b506004545b6040519081526020016102ad565b34801561031f575f80fd5b5061030660135481565b348015610334575f80fd5b506102a1610343366004611e9f565b6109a4565b348015610353575f80fd5b50604051600981526020016102ad565b34801561036e575f80fd5b5061030660115481565b348015610383575f80fd5b50610306600c5481565b348015610398575f80fd5b506102a16103a7366004611e75565b610a4c565b3480156103b7575f80fd5b506103cb6103c6366004611e15565b610a87565b005b3480156103d8575f80fd5b506009546102a190600160b01b900460ff1681565b3480156103f8575f80fd5b506103cb610b2d565b34801561040c575f80fd5b506102a161041b366004611edd565b60166020525f908152604090205460ff1681565b34801561043a575f80fd5b5061030660105481565b34801561044f575f80fd5b506009546102a190600160a81b900460ff1681565b34801561046f575f80fd5b50610306600b5481565b348015610484575f80fd5b50610306610493366004611edd565b6001600160a01b03165f9081526005602052604090205490565b3480156104b8575f80fd5b506103cb610d2a565b3480156104cc575f80fd5b506104f47f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102ad565b348015610517575f80fd5b506102a1610d5e565b34801561052b575f80fd5b506008546104f4906001600160a01b031681565b34801561054a575f80fd5b506103cb610d9b565b34801561055e575f80fd5b506103cb610dde565b348015610572575f80fd5b505f546001600160a01b03166104f4565b34801561058e575f80fd5b506103cb61059d366004611f07565b610e21565b3480156105ad575f80fd5b506103cb6105bc366004611f20565b610e68565b3480156105cc575f80fd5b506102ca610ebb565b3480156105e0575f80fd5b50610306600f5481565b3480156105f5575f80fd5b5061030660145481565b34801561060a575f80fd5b5061030660125481565b34801561061f575f80fd5b506102a161062e366004611e75565b610eca565b34801561063e575f80fd5b506102a161064d366004611edd565b60186020525f908152604090205460ff1681565b34801561066c575f80fd5b506102a161067b366004611edd565b60176020525f908152604090205460ff1681565b34801561069a575f80fd5b506102a16106a9366004611e75565b610f62565b3480156106b9575f80fd5b506009546102a190600160a01b900460ff1681565b3480156106d9575f80fd5b506103cb6106e8366004611f20565b610f6e565b3480156106f8575f80fd5b506009546104f4906001600160a01b031681565b348015610717575f80fd5b506007546104f4906001600160a01b031681565b348015610736575f80fd5b506103cb610fc1565b34801561074a575f80fd5b50610306600a5481565b34801561075f575f80fd5b50610306600d5481565b348015610774575f80fd5b50610306610783366004611f53565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107b8575f80fd5b50610306600e5481565b3480156107cd575f80fd5b506103cb6107dc366004611edd565b611001565b3480156107ec575f80fd5b506103cb6107fb366004611e15565b61105c565b5f80546001600160a01b031633146108335760405162461bcd60e51b815260040161082a90611f8a565b60405180910390fd5b620186a061084060045490565b61084b906001611fc1565b6108559190611fd8565b8210156108935760405162461bcd60e51b815260206004820152600c60248201526b6c7420302e3030312520747360a01b604482015260640161082a565b6103e861089f60045490565b6108aa906005611fc1565b6108b49190611fd8565b8211156108f05760405162461bcd60e51b815260206004820152600a6024820152696c7420302e352520747360b01b604482015260640161082a565b50600b81905560015b919050565b60606001805461090d90611ff7565b80601f016020809104026020016040519081016040528092919081815260200182805461093990611ff7565b80156109845780601f1061095b57610100808354040283529160200191610984565b820191905f5260205f20905b81548152906001019060200180831161096757829003601f168201915b5050505050905090565b5f61099a338484611102565b5060015b92915050565b5f6109b0848484611225565b6001600160a01b0384165f90815260066020908152604080832033845290915290205482811015610a345760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161082a565b610a418533858403611102565b506001949350505050565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161099a918590610a8290869061202f565b611102565b5f546001600160a01b03163314610ab05760405162461bcd60e51b815260040161082a90611f8a565b633b9aca006103e8610ac160045490565b610acc906001611fc1565b610ad69190611fd8565b610ae09190611fd8565b811015610b195760405162461bcd60e51b81526020600482015260076024820152666c7420302e312560c81b604482015260640161082a565b610b2781633b9aca00611fc1565b600a5550565b5f546001600160a01b03163314610b565760405162461bcd60e51b815260040161082a90611f8a565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd69190612042565b6001600160a01b031663e6a43905307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c659190612042565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610cae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd29190612042565b600780546001600160a01b0319166001600160a01b0392831690811782555f908152601760209081526040808320805460ff199081166001908117909255945490951683526018909152902080549091169091179055565b5f546001600160a01b03163314610d535760405162461bcd60e51b815260040161082a90611f8a565b610d5c5f61186b565b565b5f80546001600160a01b03163314610d885760405162461bcd60e51b815260040161082a90611f8a565b506009805460ff60b01b19169055600190565b5f546001600160a01b03163314610dc45760405162461bcd60e51b815260040161082a90611f8a565b5f600e819055600f819055610dd9908061202f565b600d55565b5f546001600160a01b03163314610e075760405162461bcd60e51b815260040161082a90611f8a565b5f60118190556012819055610e1c908061202f565b601055565b5f546001600160a01b03163314610e4a5760405162461bcd60e51b815260040161082a90611f8a565b60098054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610e915760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b60606002805461090d90611ff7565b335f9081526006602090815260408083206001600160a01b038616845290915281205482811015610f4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161082a565b610f583385858403611102565b5060019392505050565b5f61099a338484611225565b5f546001600160a01b03163314610f975760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610fea5760405162461bcd60e51b815260040161082a90611f8a565b6009805461ffff60a01b191661010160a01b179055565b5f546001600160a01b0316331461102a5760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b0381166110505760405162461bcd60e51b815260040161082a90611f8a565b6110598161186b565b50565b5f546001600160a01b031633146110855760405162461bcd60e51b815260040161082a90611f8a565b633b9aca006103e861109660045490565b6110a1906005611fc1565b6110ab9190611fd8565b6110b59190611fd8565b8110156110ee5760405162461bcd60e51b81526020600482015260076024820152666c7420302e352560c81b604482015260640161082a565b6110fc81633b9aca00611fc1565b600c5550565b6001600160a01b0383166111645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161082a565b6001600160a01b0382166111c55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161082a565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661126a5760405162461bcd60e51b815260206004820152600c60248201526b199c9bdb480c1e0c0818591960a21b604482015260640161082a565b6001600160a01b0382166112ad5760405162461bcd60e51b815260206004820152600a6024820152691d1bc80c1e0c0818591960b21b604482015260640161082a565b805f036112c4576112bf83835f6118ba565b505050565b600954600160b01b900460ff16156115bc575f546001600160a01b0384811691161480159061130057505f546001600160a01b03838116911614155b801561131457506001600160a01b03821615155b801561132b57506001600160a01b03821661dead14155b801561133a575060155460ff16155b156115bc57600954600160a01b900460ff166113ce576001600160a01b0383165f9081526016602052604090205460ff168061138d57506001600160a01b0382165f9081526016602052604090205460ff165b6113ce5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b604482015260640161082a565b6001600160a01b0383165f9081526018602052604090205460ff16801561140d57506001600160a01b0382165f9081526017602052604090205460ff16155b156114b857600a548111156114505760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b604482015260640161082a565b600c546001600160a01b0383165f90815260056020526040902054611475908361202f565b11156114b35760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b604482015260640161082a565b6115bc565b6001600160a01b0382165f9081526018602052604090205460ff1680156114f757506001600160a01b0383165f9081526017602052604090205460ff16155b1561153a57600a548111156114b35760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b604482015260640161082a565b6001600160a01b0382165f9081526017602052604090205460ff166115bc57600c546001600160a01b0383165f9081526005602052604090205461157e908361202f565b11156115bc5760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b604482015260640161082a565b305f90815260056020526040902054600b54811080159081906115e85750600954600160a81b900460ff165b80156115f7575060155460ff16155b801561161b57506001600160a01b0385165f9081526018602052604090205460ff16155b801561163f57506001600160a01b0385165f9081526016602052604090205460ff16155b801561166357506001600160a01b0384165f9081526016602052604090205460ff16155b15611688576015805460ff1916600117905561167d611a91565b6015805460ff191690555b6015546001600160a01b0386165f9081526016602052604090205460ff918216159116806116cd57506001600160a01b0385165f9081526016602052604090205460ff165b156116d557505f5b5f8115611857576001600160a01b0386165f9081526018602052604090205460ff16801561170457505f601054115b1561179057611729606461172360105488611bd990919063ffffffff16565b90611beb565b90506010546012548261173c9190611fc1565b6117469190611fd8565b60145f828254611756919061202f565b909155505060105460115461176b9083611fc1565b6117759190611fd8565b60135f828254611785919061202f565b909155506118399050565b6001600160a01b0387165f9081526018602052604090205460ff1680156117b857505f600d54115b15611839576117d76064611723600d5488611bd990919063ffffffff16565b9050600d54600f54826117ea9190611fc1565b6117f49190611fd8565b60145f828254611804919061202f565b9091555050600d54600e546118199083611fc1565b6118239190611fd8565b60135f828254611833919061202f565b90915550505b801561184a5761184a8730836118ba565b611854818661205d565b94505b6118628787876118ba565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661191e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161082a565b6001600160a01b0382166119805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161082a565b6001600160a01b0383165f90815260056020526040902054818110156119f75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161082a565b81611a0185611bf6565b6001600160a01b038087165f90815260056020526040808220949093039093558516825281208054849290611a3790849061202f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8391815260200190565b60405180910390a350505050565b305f9081526005602052604081205490505f601454601354611ab3919061202f565b90505f821580611ac1575081155b15611acb57505050565b600b54611ad9906014611fc1565b831115611af157600b54611aee906014611fc1565b92505b47611afb84611c28565b5f611b064783611dde565b90505f611b228561172360145485611bd990919063ffffffff16565b5f601381905560148190556009546040519293506001600160a01b031691839181818185875af1925050503d805f8114611b77576040519150601f19603f3d011682016040523d82523d5f602084013e611b7c565b606091505b50506008546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114611bc9576040519150601f19603f3d011682016040523d82523d5f602084013e611bce565b606091505b505050505050505050565b5f611be48284611fc1565b9392505050565b5f611be48284611fd8565b5f611c0082611de9565b611c21576001600160a01b0382165f9081526005602052604090205461099e565b5f92915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611c5b57611c5b612070565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cfb9190612042565b81600181518110611d0e57611d0e612070565b60200260200101906001600160a01b031690816001600160a01b031681525050611d59307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611102565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611dad9085905f90869030904290600401612084565b5f604051808303815f87803b158015611dc4575f80fd5b505af1158015611dd6573d5f803e3d5ffd5b505050505050565b5f611be4828461205d565b6003545f906001600160a01b03838116911614801561099e5750505f546001600160a01b031615919050565b5f60208284031215611e25575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611059575f80fd5b5f8060408385031215611e86575f80fd5b8235611e9181611e61565b946020939093013593505050565b5f805f60608486031215611eb1575f80fd5b8335611ebc81611e61565b92506020840135611ecc81611e61565b929592945050506040919091013590565b5f60208284031215611eed575f80fd5b8135611be481611e61565b803580151581146108f9575f80fd5b5f60208284031215611f17575f80fd5b611be482611ef8565b5f8060408385031215611f31575f80fd5b8235611f3c81611e61565b9150611f4a60208401611ef8565b90509250929050565b5f8060408385031215611f64575f80fd5b8235611f6f81611e61565b91506020830135611f7f81611e61565b809150509250929050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761099e5761099e611fad565b5f82611ff257634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c9082168061200b57607f821691505b60208210810361202957634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561099e5761099e611fad565b5f60208284031215612052575f80fd5b8151611be481611e61565b8181038181111561099e5761099e611fad565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156120d45783516001600160a01b03168352602093840193909201916001016120ad565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220d6c517dddead27e361ff7d98f7816b554e14ae12f3145e2dcaff1049a4c8fe4d64736f6c634300081a0033
Deployed Bytecode Sourcemap
14731:8487:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22687:306;;;;;;;;;;-1:-1:-1;22687:306:0;;;;;:::i;:::-;;:::i;:::-;;;410:14:1;;403:22;385:41;;373:2;358:18;22687:306:0;;;;;;;;10401:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11131:169::-;;;;;;;;;;-1:-1:-1;11131:169:0;;;;;:::i;:::-;;:::i;10721:108::-;;;;;;;;;;-1:-1:-1;10809:12:0;;10721:108;;;1514:25:1;;;1502:2;1487:18;10721:108:0;1368:177:1;15426:30:0;;;;;;;;;;;;;;;;11636:492;;;;;;;;;;-1:-1:-1;11636:492:0;;;;;:::i;:::-;;:::i;10621:92::-;;;;;;;;;;-1:-1:-1;10621:92:0;;10704:1;2205:36:1;;2193:2;2178:18;10621:92:0;2063:184:1;15357:28:0;;;;;;;;;;;;;;;;15177:35;;;;;;;;;;;;;;;;12282:215;;;;;;;;;;-1:-1:-1;12282:215:0;;;;;:::i;:::-;;:::i;23001:214::-;;;;;;;;;;-1:-1:-1;23001:214:0;;;;;:::i;:::-;;:::i;:::-;;15049:33;;;;;;;;;;-1:-1:-1;15049:33:0;;;;-1:-1:-1;;;15049:33:0;;;;;;17894:271;;;;;;;;;;;;;:::i;15529:50::-;;;;;;;;;;-1:-1:-1;15529:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15322:28;;;;;;;;;;;;;;;;15011:31;;;;;;;;;;-1:-1:-1;15011:31:0;;;;-1:-1:-1;;;15011:31:0;;;;;;15138:32;;;;;;;;;;;;;;;;10837:127;;;;;;;;;;-1:-1:-1;10837:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10938:18:0;10911:7;10938:18;;;:9;:18;;;;;;;10837:127;1010:103;;;;;;;;;;;;;:::i;14802:49::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2694:32:1;;;2676:51;;2664:2;2649:18;14802:49:0;2504:229:1;17439:121:0;;;;;;;;;;;;;:::i;14893:30::-;;;;;;;;;;-1:-1:-1;14893:30:0;;;;-1:-1:-1;;;;;14893:30:0;;;17568:152;;;;;;;;;;;;;:::i;17728:158::-;;;;;;;;;;;;;:::i;810:87::-;;;;;;;;;;-1:-1:-1;856:7:0;883:6;-1:-1:-1;;;;;883:6:0;810:87;;22367:100;;;;;;;;;;-1:-1:-1;22367:100:0;;;;;:::i;:::-;;:::i;17138:158::-;;;;;;;;;;-1:-1:-1;17138:158:0;;;;;:::i;:::-;;:::i;10509:104::-;;;;;;;;;;;;;:::i;15289:24::-;;;;;;;;;;;;;;;;15463:27;;;;;;;;;;;;;;;;15392:25;;;;;;;;;;;;;;;;12505:413;;;;;;;;;;-1:-1:-1;12505:413:0;;;;;:::i;:::-;;:::i;15661:40::-;;;;;;;;;;-1:-1:-1;15661:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15586:66;;;;;;;;;;-1:-1:-1;15586:66:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11453:175;;;;;;;;;;-1:-1:-1;11453:175:0;;;;;:::i;:::-;;:::i;14971:33::-;;;;;;;;;;-1:-1:-1;14971:33:0;;;;-1:-1:-1;;;14971:33:0;;;;;;17304:127;;;;;;;;;;-1:-1:-1;17304:127:0;;;;;:::i;:::-;;:::i;14930:32::-;;;;;;;;;;-1:-1:-1;14930:32:0;;;;-1:-1:-1;;;;;14930:32:0;;;14858:26;;;;;;;;;;-1:-1:-1;14858:26:0;;;;-1:-1:-1;;;;;14858:26:0;;;17020:110;;;;;;;;;;;;;:::i;15091:40::-;;;;;;;;;;;;;;;;15221:27;;;;;;;;;;;;;;;;10972:151;;;;;;;;;;-1:-1:-1;10972:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;11088:18:0;;;11061:7;11088:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10972:151;15255:27;;;;;;;;;;;;;;;;1121:172;;;;;;;;;;-1:-1:-1;1121:172:0;;;;;:::i;:::-;;:::i;22475:204::-;;;;;;;;;;-1:-1:-1;22475:204:0;;;;;:::i;:::-;;:::i;22687:306::-;22767:4;883:6;;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;;;;;;;;;22827:6:::1;22806:13;10809:12:::0;;;10721:108;22806:13:::1;:17;::::0;22822:1:::1;22806:17;:::i;:::-;22805:28;;;;:::i;:::-;22792:9;:41;;22784:66;;;::::0;-1:-1:-1;;;22784:66:0;;5075:2:1;22784:66:0::1;::::0;::::1;5057:21:1::0;5114:2;5094:18;;;5087:30;-1:-1:-1;;;5133:18:1;;;5126:42;5185:18;;22784:66:0::1;4873:336:1::0;22784:66:0::1;22904:4;22883:13;10809:12:::0;;;10721:108;22883:13:::1;:17;::::0;22899:1:::1;22883:17;:::i;:::-;22882:26;;;;:::i;:::-;22869:9;:39;;22861:62;;;::::0;-1:-1:-1;;;22861:62:0;;5416:2:1;22861:62:0::1;::::0;::::1;5398:21:1::0;5455:2;5435:18;;;5428:30;-1:-1:-1;;;5474:18:1;;;5467:40;5524:18;;22861:62:0::1;5214:334:1::0;22861:62:0::1;-1:-1:-1::0;22934:17:0::1;:29:::0;;;22981:4:::1;993:1;22687:306:::0;;;:::o;10401:100::-;10455:13;10488:5;10481:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10401:100;:::o;11131:169::-;11214:4;11231:39;436:10;11254:7;11263:6;11231:8;:39::i;:::-;-1:-1:-1;11288:4:0;11131:169;;;;;:::o;11636:492::-;11776:4;11793:36;11803:6;11811:9;11822:6;11793:9;:36::i;:::-;-1:-1:-1;;;;;11869:19:0;;11842:24;11869:19;;;:11;:19;;;;;;;;436:10;11869:33;;;;;;;;11921:26;;;;11913:79;;;;-1:-1:-1;;;11913:79:0;;6140:2:1;11913:79:0;;;6122:21:1;6179:2;6159:18;;;6152:30;6218:34;6198:18;;;6191:62;-1:-1:-1;;;6269:18:1;;;6262:38;6317:19;;11913:79:0;5938:404:1;11913:79:0;12028:57;12037:6;436:10;12078:6;12059:16;:25;12028:8;:57::i;:::-;-1:-1:-1;12116:4:0;;11636:492;-1:-1:-1;;;;11636:492:0:o;12282:215::-;436:10;12370:4;12419:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12419:34:0;;;;;;;;;;12370:4;;12387:80;;12410:7;;12419:47;;12456:10;;12419:47;:::i;:::-;12387:8;:80::i;23001:214::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;23137:3:::1;23129:4;23108:13;10809:12:::0;;;10721:108;23108:13:::1;:17;::::0;23124:1:::1;23108:17;:::i;:::-;23107:26;;;;:::i;:::-;23106:34;;;;:::i;:::-;23096:6;:44;;23088:64;;;::::0;-1:-1:-1;;;23088:64:0;;6679:2:1;23088:64:0::1;::::0;::::1;6661:21:1::0;6718:1;6698:18;;;6691:29;-1:-1:-1;;;6736:18:1;;;6729:37;6783:18;;23088:64:0::1;6477:330:1::0;23088:64:0::1;23191:16;:6:::0;23201:5:::1;23191:16;:::i;:::-;23163:25;:44:::0;-1:-1:-1;23001:214:0:o;17894:271::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;17975:13:::1;-1:-1:-1::0;;;;;17975:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17957:50:0::1;;18016:4;18023:13;-1:-1:-1::0;;;;;18023:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17957:87;::::0;-1:-1:-1;;;;;;17957:87:0::1;::::0;;;;;;-1:-1:-1;;;;;7260:32:1;;;17957:87:0::1;::::0;::::1;7242:51:1::0;7329:32;;7309:18;;;7302:60;7215:18;;17957:87:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17943:11;:101:::0;;-1:-1:-1;;;;;;17943:101:0::1;-1:-1:-1::0;;;;;17943:101:0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;18055:56:0;;;:34:::1;:56;::::0;;;;;;;:63;;-1:-1:-1;;18055:63:0;;::::1;-1:-1:-1::0;18055:63:0;;::::1;::::0;;;18138:11;;;;::::1;18129:21:::0;;:8:::1;:21:::0;;;;;:28;;;;::::1;::::0;;::::1;::::0;;17894:271::o;1010:103::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;1075:30:::1;1102:1;1075:18;:30::i;:::-;1010:103::o:0;17439:121::-;17491:4;883:6;;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;-1:-1:-1;17508:14:0::1;:22:::0;;-1:-1:-1;;;;17508:22:0::1;::::0;;;17439:121;:::o;17568:152::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;17637:1:::1;17622:12;:16:::0;;;17649:9:::1;:13:::0;;;17688:24:::1;::::0;17637:1;17688:24:::1;:::i;:::-;17673:12;:39:::0;17568:152::o;17728:158::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;17799:1:::1;17783:13;:17:::0;;;17811:10:::1;:14:::0;;;17852:26:::1;::::0;17799:1;17852:26:::1;:::i;:::-;17836:13;:42:::0;17728:158::o;22367:100::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;22438:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;22438:21:0::1;-1:-1:-1::0;;;;22438:21:0;;::::1;::::0;;;::::1;::::0;;22367:100::o;17138:158::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17240:40:0;;;::::1;;::::0;;;:34:::1;:40;::::0;;;;:48;;-1:-1:-1;;17240:48:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17138:158::o;10509:104::-;10565:13;10598:7;10591:14;;;;;:::i;12505:413::-;436:10;12598:4;12642:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12642:34:0;;;;;;;;;;12695:35;;;;12687:85;;;;-1:-1:-1;;;12687:85:0;;7575:2:1;12687:85:0;;;7557:21:1;7614:2;7594:18;;;7587:30;7653:34;7633:18;;;7626:62;-1:-1:-1;;;7704:18:1;;;7697:35;7749:19;;12687:85:0;7373:401:1;12687:85:0;12808:67;436:10;12831:7;12859:15;12840:16;:34;12808:8;:67::i;:::-;-1:-1:-1;12906:4:0;;12505:413;-1:-1:-1;;;12505:413:0:o;11453:175::-;11539:4;11556:42;436:10;11580:9;11591:6;11556:9;:42::i;17304:127::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17388:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;17388:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17304:127::o;17020:110::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;17073:13:::1;:20:::0;;-1:-1:-1;;;;17104:18:0;-1:-1:-1;;;17104:18:0;;;17020:110::o;1121:172::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1210:22:0;::::1;1202:44;;;;-1:-1:-1::0;;;1202:44:0::1;;;;;;;:::i;:::-;1257:28;1276:8;1257:18;:28::i;:::-;1121:172:::0;:::o;22475:204::-;856:7;883:6;-1:-1:-1;;;;;883:6:0;436:10;945:23;937:45;;;;-1:-1:-1;;;937:45:0;;;;;;;:::i;:::-;22606:3:::1;22598:4;22577:13;10809:12:::0;;;10721:108;22577:13:::1;:17;::::0;22593:1:::1;22577:17;:::i;:::-;22576:26;;;;:::i;:::-;22575:34;;;;:::i;:::-;22565:6;:44;;22557:64;;;::::0;-1:-1:-1;;;22557:64:0;;7981:2:1;22557:64:0::1;::::0;::::1;7963:21:1::0;8020:1;8000:18;;;7993:29;-1:-1:-1;;;8038:18:1;;;8031:37;8085:18;;22557:64:0::1;7779:330:1::0;22557:64:0::1;22655:16;:6:::0;22665:5:::1;22655:16;:::i;:::-;22632:20;:39:::0;-1:-1:-1;22475:204:0:o;13333:380::-;-1:-1:-1;;;;;13469:19:0;;13461:68;;;;-1:-1:-1;;;13461:68:0;;8316:2:1;13461:68:0;;;8298:21:1;8355:2;8335:18;;;8328:30;8394:34;8374:18;;;8367:62;-1:-1:-1;;;8445:18:1;;;8438:34;8489:19;;13461:68:0;8114:400:1;13461:68:0;-1:-1:-1;;;;;13548:21:0;;13540:68;;;;-1:-1:-1;;;13540:68:0;;8721:2:1;13540:68:0;;;8703:21:1;8760:2;8740:18;;;8733:30;8799:34;8779:18;;;8772:62;-1:-1:-1;;;8850:18:1;;;8843:32;8892:19;;13540:68:0;8519:398:1;13540:68:0;-1:-1:-1;;;;;13621:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13673:32;;1514:25:1;;;13673:32:0;;1487:18:1;13673:32:0;;;;;;;13333:380;;;:::o;19538:2706::-;-1:-1:-1;;;;;19636:18:0;;19628:43;;;;-1:-1:-1;;;19628:43:0;;9124:2:1;19628:43:0;;;9106:21:1;9163:2;9143:18;;;9136:30;-1:-1:-1;;;9182:18:1;;;9175:42;9234:18;;19628:43:0;8922:336:1;19628:43:0;-1:-1:-1;;;;;19690:16:0;;19682:39;;;;-1:-1:-1;;;19682:39:0;;9465:2:1;19682:39:0;;;9447:21:1;9504:2;9484:18;;;9477:30;-1:-1:-1;;;9523:18:1;;;9516:40;9573:18;;19682:39:0;9263:334:1;19682:39:0;19738:6;19748:1;19738:11;19734:93;;19766:28;19782:4;19788:2;19792:1;19766:15;:28::i;:::-;19538:2706;;;:::o;19734:93::-;19843:14;;-1:-1:-1;;;19843:14:0;;;;19839:1084;;;856:7;883:6;-1:-1:-1;;;;;19878:15:0;;;883:6;;19878:15;;;;:45;;-1:-1:-1;856:7:0;883:6;-1:-1:-1;;;;;19910:13:0;;;883:6;;19910:13;;19878:45;:78;;;;-1:-1:-1;;;;;;19940:16:0;;;;19878:78;:116;;;;-1:-1:-1;;;;;;19973:21:0;;19987:6;19973:21;;19878:116;:146;;;;-1:-1:-1;20016:8:0;;;;20015:9;19878:146;19874:1038;;;20050:13;;-1:-1:-1;;;20050:13:0;;;;20045:144;;-1:-1:-1;;;;;20096:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;20124:22:0;;;;;;:18;:22;;;;;;;;20096:50;20088:81;;;;-1:-1:-1;;;20088:81:0;;9804:2:1;20088:81:0;;;9786:21:1;9843:2;9823:18;;;9816:30;-1:-1:-1;;;9862:18:1;;;9855:48;9920:18;;20088:81:0;9602:342:1;20088:81:0;-1:-1:-1;;;;;20241:14:0;;;;;;:8;:14;;;;;;;;:57;;;;-1:-1:-1;;;;;;20260:38:0;;;;;;:34;:38;;;;;;;;20259:39;20241:57;20237:660;;;20341:25;;20331:6;:35;;20323:57;;;;-1:-1:-1;;;20323:57:0;;10151:2:1;20323:57:0;;;10133:21:1;10190:1;10170:18;;;10163:29;-1:-1:-1;;;10208:18:1;;;10201:39;10257:18;;20323:57:0;9949:332:1;20323:57:0;20437:20;;-1:-1:-1;;;;;10938:18:0;;10911:7;10938:18;;;:9;:18;;;;;;20411:22;;:6;:22;:::i;:::-;:46;;20403:72;;;;-1:-1:-1;;;20403:72:0;;10488:2:1;20403:72:0;;;10470:21:1;10527:2;10507:18;;;10500:30;-1:-1:-1;;;10546:18:1;;;10539:43;10599:18;;20403:72:0;10286:337:1;20403:72:0;20237:660;;;-1:-1:-1;;;;;20555:12:0;;;;;;:8;:12;;;;;;;;:57;;;;-1:-1:-1;;;;;;20572:40:0;;;;;;:34;:40;;;;;;;;20571:41;20555:57;20551:346;;;20655:25;;20645:6;:35;;20637:57;;;;-1:-1:-1;;;20637:57:0;;10151:2:1;20637:57:0;;;10133:21:1;10190:1;10170:18;;;10163:29;-1:-1:-1;;;10208:18:1;;;10201:39;10257:18;;20637:57:0;9949:332:1;20551:346:0;-1:-1:-1;;;;;20742:38:0;;;;;;:34;:38;;;;;;;;20737:160;;20839:20;;-1:-1:-1;;;;;10938:18:0;;10911:7;10938:18;;;:9;:18;;;;;;20813:22;;:6;:22;:::i;:::-;:46;;20805:72;;;;-1:-1:-1;;;20805:72:0;;10488:2:1;20805:72:0;;;10470:21:1;10527:2;10507:18;;;10500:30;-1:-1:-1;;;10546:18:1;;;10539:43;10599:18;;20805:72:0;10286:337:1;20805:72:0;20979:4;20935:23;10938:18;;;:9;:18;;;;;;21030:17;;21011:36;;;;;;;21062:31;;-1:-1:-1;21082:11:0;;-1:-1:-1;;;21082:11:0;;;;21062:31;:57;;;;-1:-1:-1;21111:8:0;;;;21110:9;21062:57;:89;;;;-1:-1:-1;;;;;;21137:14:0;;;;;;:8;:14;;;;;;;;21136:15;21062:89;:131;;;;-1:-1:-1;;;;;;21169:24:0;;;;;;:18;:24;;;;;;;;21168:25;21062:131;:171;;;;-1:-1:-1;;;;;;21211:22:0;;;;;;:18;:22;;;;;;;;21210:23;21062:171;21058:277;;;21252:8;:15;;-1:-1:-1;;21252:15:0;21263:4;21252:15;;;21282:10;:8;:10::i;:::-;21307:8;:16;;-1:-1:-1;;21307:16:0;;;21058:277;21363:8;;-1:-1:-1;;;;;21386:24:0;;21347:12;21386:24;;;:18;:24;;;;;;21363:8;;;;21362:9;;21386:24;;:50;;-1:-1:-1;;;;;;21414:22:0;;;;;;:18;:22;;;;;;;;21386:50;21382:84;;;-1:-1:-1;21461:5:0;21382:84;21479:11;21509:7;21505:688;;;-1:-1:-1;;;;;21537:12:0;;;;;;:8;:12;;;;;;;;:33;;;;;21569:1;21553:13;;:17;21537:33;21533:531;;;21597:34;21627:3;21597:25;21608:13;;21597:6;:10;;:25;;;;:::i;:::-;:29;;:34::i;:::-;21591:40;;21687:13;;21673:10;;21667:3;:16;;;;:::i;:::-;21666:34;;;;:::i;:::-;21650:12;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;;21762:13:0;;21745;;21739:19;;:3;:19;:::i;:::-;21738:37;;;;:::i;:::-;21719:15;;:56;;;;;;;:::i;:::-;;;;-1:-1:-1;21533:531:0;;-1:-1:-1;21533:531:0;;-1:-1:-1;;;;;21814:14:0;;;;;;:8;:14;;;;;;;;:34;;;;;21847:1;21832:12;;:16;21814:34;21810:254;;;21875:33;21904:3;21875:24;21886:12;;21875:6;:10;;:24;;;;:::i;:33::-;21869:39;;21963:12;;21950:9;;21944:3;:15;;;;:::i;:::-;21943:32;;;;:::i;:::-;21927:12;;:48;;;;;;;:::i;:::-;;;;-1:-1:-1;;22036:12:0;;22020;;22014:18;;:3;:18;:::i;:::-;22013:35;;;;:::i;:::-;21994:15;;:54;;;;;;;:::i;:::-;;;;-1:-1:-1;;21810:254:0;22084:7;;22080:71;;22110:41;22126:4;22140;22147:3;22110:15;:41::i;:::-;22168:13;22178:3;22168:13;;:::i;:::-;;;21505:688;22203:33;22219:4;22225:2;22229:6;22203:15;:33::i;:::-;19617:2627;;;;19538:2706;;;:::o;1301:191::-;1375:16;1394:6;;-1:-1:-1;;;;;1411:17:0;;;-1:-1:-1;;;;;;1411:17:0;;;;;;1444:40;;1394:6;;;;;;;1444:40;;1375:16;1444:40;1364:128;1301:191;:::o;13721:738::-;-1:-1:-1;;;;;13861:20:0;;13853:70;;;;-1:-1:-1;;;13853:70:0;;10963:2:1;13853:70:0;;;10945:21:1;11002:2;10982:18;;;10975:30;11041:34;11021:18;;;11014:62;-1:-1:-1;;;11092:18:1;;;11085:35;11137:19;;13853:70:0;10761:401:1;13853:70:0;-1:-1:-1;;;;;13942:23:0;;13934:71;;;;-1:-1:-1;;;13934:71:0;;11369:2:1;13934:71:0;;;11351:21:1;11408:2;11388:18;;;11381:30;11447:34;11427:18;;;11420:62;-1:-1:-1;;;11498:18:1;;;11491:33;11541:19;;13934:71:0;11167:399:1;13934:71:0;-1:-1:-1;;;;;14102:17:0;;14078:21;14102:17;;;:9;:17;;;;;;14138:23;;;;14130:74;;;;-1:-1:-1;;;14130:74:0;;11773:2:1;14130:74:0;;;11755:21:1;11812:2;11792:18;;;11785:30;11851:34;11831:18;;;11824:62;-1:-1:-1;;;11902:18:1;;;11895:36;11948:19;;14130:74:0;11571:402:1;14130:74:0;14281:6;14260:18;14271:6;14260:10;:18::i;:::-;-1:-1:-1;;;;;14240:17:0;;;;;;;:9;:17;;;;;;14260:27;;;;14240:47;;;14309:20;;;;;;:30;;14333:6;;14240:17;14309:30;;14333:6;;14309:30;:::i;:::-;;;;;;;;14374:9;-1:-1:-1;;;;;14357:35:0;14366:6;-1:-1:-1;;;;;14357:35:0;;14385:6;14357:35;;;;1514:25:1;;1502:2;1487:18;;1368:177;14357:35:0;;;;;;;;13842:617;13721:738;;;:::o;18173:880::-;18256:4;18212:23;10938:18;;;:9;:18;;;;;;18212:50;;18273:25;18319:12;;18301:15;;:30;;;;:::i;:::-;18273:58;-1:-1:-1;18342:12:0;18371:20;;;:46;;-1:-1:-1;18395:22:0;;18371:46;18367:72;;;18432:7;;;18173:880::o;18367:72::-;18473:17;;:22;;18493:2;18473:22;:::i;:::-;18455:15;:40;18451:99;;;18528:17;;:22;;18548:2;18528:22;:::i;:::-;18510:40;;18451:99;18591:21;18623:33;18640:15;18623:16;:33::i;:::-;18669:18;18690:44;:21;18716:17;18690:25;:44::i;:::-;18669:65;;18745:17;18765:51;18798:17;18765:28;18780:12;;18765:10;:14;;:28;;;;:::i;:51::-;18847:1;18829:15;:19;;;18859:12;:16;;;18910:17;;18902:53;;18745:71;;-1:-1:-1;;;;;;18910:17:0;;18745:71;;18902:53;18847:1;18902:53;18745:71;18910:17;18902:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18988:15:0;;18980:65;;18888:67;;-1:-1:-1;;;;;;18988:15:0;;19018:21;;18980:65;;;;19018:21;18988:15;18980:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;18173:880:0:o;2851:98::-;2909:7;2936:5;2940:1;2936;:5;:::i;:::-;2929:12;2851:98;-1:-1:-1;;;2851:98:0:o;2957:::-;3015:7;3042:5;3046:1;3042;:5;:::i;12134:140::-;12192:7;12219:27;12239:6;12219:19;:27::i;:::-;:47;;-1:-1:-1;;;;;12249:17:0;;;;;;:9;:17;;;;;;12219:47;;;12247:1;12212:54;12134:140;-1:-1:-1;;12134:140:0:o;19061:469::-;19151:16;;;19165:1;19151:16;;;;;;;;19127:21;;19151:16;;;;;;;;;;-1:-1:-1;19151:16:0;19127:40;;19196:4;19178;19183:1;19178:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19178:23:0;;;-1:-1:-1;;;;;19178:23:0;;;;;19222:13;-1:-1:-1;;;;;19222:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19212:4;19217:1;19212:7;;;;;;;;:::i;:::-;;;;;;:30;-1:-1:-1;;;;;19212:30:0;;;-1:-1:-1;;;;;19212:30:0;;;;;19255:60;19272:4;19287:13;19303:11;19255:8;:60::i;:::-;19328:194;;-1:-1:-1;;;19328:194:0;;-1:-1:-1;;;;;19328:13:0;:64;;;;:194;;19407:11;;19433:1;;19449:4;;19476;;19496:15;;19328:194;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19116:414;19061:469;:::o;2745:98::-;2803:7;2830:5;2834:1;2830;:5;:::i;11308:137::-;11407:9;;11375:4;;-1:-1:-1;;;;;11399:17:0;;;11407:9;;11399:17;:38;;;;-1:-1:-1;;11435:1:0;883:6;-1:-1:-1;;;;;883:6:0;11418:19;;11392:45;-1:-1:-1;11308:137:0:o;14:226:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:1;;14:226;-1:-1:-1;14:226:1:o;437:418::-;586:2;575:9;568:21;549:4;618:6;612:13;661:6;656:2;645:9;641:18;634:34;720:6;715:2;707:6;703:15;698:2;687:9;683:18;677:50;776:1;771:2;762:6;751:9;747:22;743:31;736:42;846:2;839;835:7;830:2;822:6;818:15;814:29;803:9;799:45;795:54;787:62;;;437:418;;;;:::o;860:131::-;-1:-1:-1;;;;;935:31:1;;925:42;;915:70;;981:1;978;971:12;996:367;1064:6;1072;1125:2;1113:9;1104:7;1100:23;1096:32;1093:52;;;1141:1;1138;1131:12;1093:52;1180:9;1167:23;1199:31;1224:5;1199:31;:::i;:::-;1249:5;1327:2;1312:18;;;;1299:32;;-1:-1:-1;;;996:367:1:o;1550:508::-;1627:6;1635;1643;1696:2;1684:9;1675:7;1671:23;1667:32;1664:52;;;1712:1;1709;1702:12;1664:52;1751:9;1738:23;1770:31;1795:5;1770:31;:::i;:::-;1820:5;-1:-1:-1;1877:2:1;1862:18;;1849:32;1890:33;1849:32;1890:33;:::i;:::-;1550:508;;1942:7;;-1:-1:-1;;;2022:2:1;2007:18;;;;1994:32;;1550:508::o;2252:247::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2419:9;2406:23;2438:31;2463:5;2438:31;:::i;2946:160::-;3011:20;;3067:13;;3060:21;3050:32;;3040:60;;3096:1;3093;3086:12;3111:180;3167:6;3220:2;3208:9;3199:7;3195:23;3191:32;3188:52;;;3236:1;3233;3226:12;3188:52;3259:26;3275:9;3259:26;:::i;3296:315::-;3361:6;3369;3422:2;3410:9;3401:7;3397:23;3393:32;3390:52;;;3438:1;3435;3428:12;3390:52;3477:9;3464:23;3496:31;3521:5;3496:31;:::i;:::-;3546:5;-1:-1:-1;3570:35:1;3601:2;3586:18;;3570:35;:::i;:::-;3560:45;;3296:315;;;;;:::o;3616:388::-;3684:6;3692;3745:2;3733:9;3724:7;3720:23;3716:32;3713:52;;;3761:1;3758;3751:12;3713:52;3800:9;3787:23;3819:31;3844:5;3819:31;:::i;:::-;3869:5;-1:-1:-1;3926:2:1;3911:18;;3898:32;3939:33;3898:32;3939:33;:::i;:::-;3991:7;3981:17;;;3616:388;;;;;:::o;4009:332::-;4211:2;4193:21;;;4250:1;4230:18;;;4223:29;-1:-1:-1;;;4283:2:1;4268:18;;4261:39;4332:2;4317:18;;4009:332::o;4346:127::-;4407:10;4402:3;4398:20;4395:1;4388:31;4438:4;4435:1;4428:15;4462:4;4459:1;4452:15;4478:168;4551:9;;;4582;;4599:15;;;4593:22;;4579:37;4569:71;;4620:18;;:::i;4651:217::-;4691:1;4717;4707:132;;4761:10;4756:3;4752:20;4749:1;4742:31;4796:4;4793:1;4786:15;4824:4;4821:1;4814:15;4707:132;-1:-1:-1;4853:9:1;;4651:217::o;5553:380::-;5632:1;5628:12;;;;5675;;;5696:61;;5750:4;5742:6;5738:17;5728:27;;5696:61;5803:2;5795:6;5792:14;5772:18;5769:38;5766:161;;5849:10;5844:3;5840:20;5837:1;5830:31;5884:4;5881:1;5874:15;5912:4;5909:1;5902:15;5766:161;;5553:380;;;:::o;6347:125::-;6412:9;;;6433:10;;;6430:36;;;6446:18;;:::i;6812:251::-;6882:6;6935:2;6923:9;6914:7;6910:23;6906:32;6903:52;;;6951:1;6948;6941:12;6903:52;6983:9;6977:16;7002:31;7027:5;7002:31;:::i;10628:128::-;10695:9;;;10716:11;;;10713:37;;;10730:18;;:::i;12320:127::-;12381:10;12376:3;12372:20;12369:1;12362:31;12412:4;12409:1;12402:15;12436:4;12433:1;12426:15;12452:959;12714:4;12762:3;12751:9;12747:19;12793:6;12782:9;12775:25;12836:6;12831:2;12820:9;12816:18;12809:34;12879:3;12874:2;12863:9;12859:18;12852:31;12903:6;12938;12932:13;12969:6;12961;12954:22;13007:3;12996:9;12992:19;12985:26;;13046:2;13038:6;13034:15;13020:29;;13067:1;13077:195;13091:6;13088:1;13085:13;13077:195;;;13156:13;;-1:-1:-1;;;;;13152:39:1;13140:52;;13221:2;13247:15;;;;13212:12;;;;13188:1;13106:9;13077:195;;;-1:-1:-1;;;;;;;13328:32:1;;;;13323:2;13308:18;;13301:60;-1:-1:-1;;13392:3:1;13377:19;13370:35;13289:3;12452:959;-1:-1:-1;;;12452:959:1:o
Swarm Source
ipfs://d6c517dddead27e361ff7d98f7816b554e14ae12f3145e2dcaff1049a4c8fe4d
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.