Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 81 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 20454294 | 584 days ago | IN | 0 ETH | 0.00014673 | ||||
| Approve | 19705127 | 688 days ago | IN | 0 ETH | 0.00049782 | ||||
| Approve | 18371122 | 875 days ago | IN | 0 ETH | 0.00060771 | ||||
| Approve | 18370306 | 875 days ago | IN | 0 ETH | 0.00053982 | ||||
| Approve | 18369917 | 876 days ago | IN | 0 ETH | 0.00037549 | ||||
| Approve | 18369917 | 876 days ago | IN | 0 ETH | 0.00041996 | ||||
| Approve | 18368023 | 876 days ago | IN | 0 ETH | 0.00034717 | ||||
| Approve | 18365040 | 876 days ago | IN | 0 ETH | 0.0005472 | ||||
| Approve | 18364354 | 876 days ago | IN | 0 ETH | 0.00078886 | ||||
| Approve | 18364161 | 876 days ago | IN | 0 ETH | 0.00120034 | ||||
| Approve | 18364093 | 876 days ago | IN | 0 ETH | 0.00124676 | ||||
| Approve | 18364091 | 876 days ago | IN | 0 ETH | 0.00126129 | ||||
| Approve | 18364006 | 876 days ago | IN | 0 ETH | 0.00080945 | ||||
| Approve | 18363876 | 876 days ago | IN | 0 ETH | 0.00053467 | ||||
| Approve | 18363787 | 876 days ago | IN | 0 ETH | 0.00078722 | ||||
| Approve | 18363773 | 876 days ago | IN | 0 ETH | 0.00052462 | ||||
| Approve | 18363764 | 876 days ago | IN | 0 ETH | 0.00031931 | ||||
| Approve | 18363762 | 876 days ago | IN | 0 ETH | 0.00068857 | ||||
| Approve | 18363752 | 876 days ago | IN | 0 ETH | 0.00070399 | ||||
| Approve | 18363751 | 876 days ago | IN | 0 ETH | 0.00066469 | ||||
| Approve | 18363751 | 876 days ago | IN | 0 ETH | 0.00066469 | ||||
| Approve | 18363748 | 876 days ago | IN | 0 ETH | 0.00052285 | ||||
| Approve | 18363746 | 876 days ago | IN | 0 ETH | 0.00068237 | ||||
| Approve | 18363745 | 876 days ago | IN | 0 ETH | 0.00031163 | ||||
| Approve | 18363743 | 876 days ago | IN | 0 ETH | 0.00030621 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 20454295 | 584 days ago | 0.00073704 ETH | ||||
| Transfer | 20454295 | 584 days ago | 0.00073704 ETH | ||||
| Transfer | 18371124 | 875 days ago | 0.00100912 ETH | ||||
| Transfer | 18371124 | 875 days ago | 0.00100912 ETH | ||||
| Transfer | 18369919 | 876 days ago | 0.00313316 ETH | ||||
| Transfer | 18369919 | 876 days ago | 0.00313316 ETH | ||||
| Transfer | 18364355 | 876 days ago | 0.0010789 ETH | ||||
| Transfer | 18364355 | 876 days ago | 0.0010789 ETH | ||||
| Transfer | 18363875 | 876 days ago | 0.00152565 ETH | ||||
| Transfer | 18363875 | 876 days ago | 0.00152565 ETH | ||||
| Transfer | 18363765 | 876 days ago | 0.00182188 ETH | ||||
| Transfer | 18363765 | 876 days ago | 0.00182188 ETH | ||||
| Transfer | 18363759 | 876 days ago | 0.00173756 ETH | ||||
| Transfer | 18363759 | 876 days ago | 0.00173756 ETH | ||||
| Transfer | 18363752 | 876 days ago | 0.00268254 ETH | ||||
| Transfer | 18363752 | 876 days ago | 0.00268254 ETH | ||||
| Transfer | 18363747 | 876 days ago | 0.00186492 ETH | ||||
| Transfer | 18363747 | 876 days ago | 0.00186492 ETH | ||||
| Transfer | 18363743 | 876 days ago | 0.00133843 ETH | ||||
| Transfer | 18363743 | 876 days ago | 0.00133843 ETH | ||||
| Transfer | 18363739 | 876 days ago | 0.00264948 ETH | ||||
| Transfer | 18363739 | 876 days ago | 0.00264948 ETH | ||||
| Transfer | 18363739 | 876 days ago | 0.00220482 ETH | ||||
| Transfer | 18363739 | 876 days ago | 0.00220482 ETH | ||||
| Transfer | 18363738 | 876 days ago | 0.00220482 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PINKEREUM
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-10-13
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
interface IUniswapV2Factory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
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(uint) external view returns (address pair);
function allPairsLength() external view returns (uint);
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, uint value);
event Transfer(address indexed from, address indexed to, uint 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 (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint 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 (uint);
function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
event Mint(address indexed sender, uint amount0, uint amount1);
event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
event Swap(
address indexed sender,
uint amount0In,
uint amount1In,
uint amount0Out,
uint amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint);
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 (uint);
function price1CumulativeLast() external view returns (uint);
function kLast() external view returns (uint);
function mint(address to) external returns (uint liquidity);
function burn(address to) external returns (uint amount0, uint amount1);
function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router01 {
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 removeLiquidity(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB);
function removeLiquidityETH(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountToken, uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapTokensForExactTokens(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);
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 IERC20 {
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);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
library Address {
function sendValue(address payable recipient, uint256 amount) internal returns(bool){
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{value: amount}("");
return success;
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
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;
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
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 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
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 transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
uint256 currentAllowance = _allowances[sender][_msgSender()];
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
}
_transfer(sender, recipient, amount);
return true;
}
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 _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] = senderBalance - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
_afterTokenTransfer(sender, recipient, amount);
}
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 _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
}
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), 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 _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
contract PINKEREUM is ERC20, Ownable {
using Address for address payable;
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
mapping (address => bool) private _isExcludedFromFees;
uint256 public marketingFeeOnBuy;
uint256 public marketingFeeOnSell;
address public marketingWallet;
uint256 public swapTokensAtAmount;
bool private swapping;
bool public swapEnabled;
event ExcludeFromFees(address indexed account, bool isExcluded);
event MarketingWalletChanged(address marketingWallet);
event SwapAndSendMarketing(uint256 tokensSwapped, uint256 bnbSend);
event SwapTokensAtAmountUpdated(uint256 swapTokensAtAmount);
event TradingEnabled(bool tradingEnabled);
constructor () ERC20(unicode"Pinkereum", "PINKEREUM")
{
address router;
if (block.chainid == 56) {
router = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BSC Pancake Mainnet Router
} else if (block.chainid == 97) {
router = 0xD99D1c33F9fC3444f8101754aBC46c52416550D1; // BSC Pancake Testnet Router
} else if (block.chainid == 1 || block.chainid == 5) {
router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH Uniswap Mainnet % Testnet
} else {
revert();
}
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router = _uniswapV2Router;
uniswapV2Pair = _uniswapV2Pair;
_approve(address(this), address(uniswapV2Router), type(uint256).max);
marketingFeeOnBuy = 1;
marketingFeeOnSell = 1;
marketingWallet = 0xbF9fce9D0A9BCb97194DfDBA2e0b683b9fdf87eb;
_isExcludedFromFees[owner()] = true;
_isExcludedFromFees[address(0xdead)] = true;
_isExcludedFromFees[address(this)] = true;
_isExcludedFromFees[0x71B5759d73262FBb223956913ecF4ecC51057641] = true; //pinklock
_mint(owner(), 1e9 * (10 ** decimals()));
swapTokensAtAmount = totalSupply() / 5_000;
tradingEnabled = false;
swapEnabled = false;
}
receive() external payable {
}
function claimStuckTokens(address token) external onlyOwner {
require(token != address(this), "Owner cannot claim contract's balance of its own tokens");
if (token == address(0x0)) {
payable(msg.sender).sendValue(address(this).balance);
return;
}
IERC20 ERC20token = IERC20(token);
uint256 balance = ERC20token.balanceOf(address(this));
ERC20token.transfer(msg.sender, balance);
}
function excludeFromFees(address account, bool excluded) external onlyOwner{
require(_isExcludedFromFees[account] != excluded,"Account is already the value of 'excluded'");
_isExcludedFromFees[account] = excluded;
emit ExcludeFromFees(account, excluded);
}
function isExcludedFromFees(address account) public view returns(bool) {
return _isExcludedFromFees[account];
}
function changeMarketingWallet(address _marketingWallet) external onlyOwner{
require(_marketingWallet != marketingWallet,"Marketing wallet is already that address");
require(_marketingWallet != address(0),"Marketing wallet cannot be the zero address");
marketingWallet = _marketingWallet;
emit MarketingWalletChanged(marketingWallet);
}
bool public tradingEnabled;
function enableTrading() external onlyOwner{
require(!tradingEnabled, "Trading already enabled.");
tradingEnabled = true;
swapEnabled = true;
emit TradingEnabled(tradingEnabled);
}
function _transfer(address from,address to,uint256 amount) internal override {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading not yet enabled!");
if (amount == 0) {
super._transfer(from, to, 0);
return;
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance >= swapTokensAtAmount;
if (canSwap &&
!swapping &&
to == uniswapV2Pair &&
swapEnabled
) {
swapping = true;
swapAndSendMarketing(contractTokenBalance);
swapping = false;
}
uint256 _totalFees;
if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || swapping) {
_totalFees = 0;
} else if (from == uniswapV2Pair) {
_totalFees = marketingFeeOnBuy;
} else if (to == uniswapV2Pair) {
_totalFees = marketingFeeOnSell;
} else {
_totalFees = 0;
}
if (_totalFees > 0) {
uint256 fees = (amount * _totalFees) / 100;
amount = amount - fees;
super._transfer(from, address(this), fees);
}
super._transfer(from, to, amount);
}
function setSwapEnabled(bool _enabled) external onlyOwner{
require(swapEnabled != _enabled, "swapEnabled already at this state.");
swapEnabled = _enabled;
}
function setSwapTokensAtAmount(uint256 newAmount) external onlyOwner{
require(newAmount > totalSupply() / 1_000_000, "SwapTokensAtAmount must be greater than 0.0001% of total supply");
swapTokensAtAmount = newAmount;
emit SwapTokensAtAmountUpdated(swapTokensAtAmount);
}
function swapAndSendMarketing(uint256 tokenAmount) private {
uint256 initialBalance = address(this).balance;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp);
uint256 newBalance = address(this).balance - initialBalance;
payable(marketingWallet).sendValue(newBalance);
emit SwapAndSendMarketing(tokenAmount, newBalance);
}
}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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingWallet","type":"address"}],"name":"MarketingWalletChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbSend","type":"uint256"}],"name":"SwapAndSendMarketing","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"SwapTokensAtAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"tradingEnabled","type":"bool"}],"name":"TradingEnabled","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":"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":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","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":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280600981526020017f50696e6b657265756d00000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f50494e4b455245554d000000000000000000000000000000000000000000000081525081600390816200008f919062000cd1565b508060049081620000a1919062000cd1565b5050506000620000b6620006bf60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000603846036200017d577310ed43c718714eb63d5aa57b78b54704e256024e9050620001dd565b60614603620001a35773d99d1c33f9fc3444f8101754abc46c52416550d19050620001dc565b6001461480620001b35750600546145b15620001d657737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001db565b600080fd5b5b5b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000256919062000e22565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e4919062000e22565b6040518363ffffffff1660e01b81526004016200030392919062000e65565b6020604051808303816000875af115801562000323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000349919062000e22565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200042230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620006c760201b60201c565b60016009819055506001600a8190555073bf9fce9d0a9bcb97194dfdba2e0b683b9fdf87eb600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860006200049d6200089860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860007371b5759d73262fbb223956913ecf4ecc5105764173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200065b620006206200089860201b60201c565b62000630620008c260201b60201c565b600a6200063e919062001022565b633b9aca006200064f919062001073565b620008cb60201b60201c565b6113886200066e62000a4360201b60201c565b6200067a9190620010ed565b600c819055506000600d60026101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff02191690831515021790555050505062001341565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000739576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200073090620011ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007ab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a29062001244565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516200088b919062001277565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200093d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200093490620012e4565b60405180910390fd5b620009516000838362000a4d60201b60201c565b806002600082825462000965919062001306565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620009bc919062001306565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a23919062001277565b60405180910390a362000a3f6000838362000a5260201b60201c565b5050565b6000600254905090565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ad957607f821691505b60208210810362000aef5762000aee62000a91565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b1a565b62000b65868362000b1a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000bb262000bac62000ba68462000b7d565b62000b87565b62000b7d565b9050919050565b6000819050919050565b62000bce8362000b91565b62000be662000bdd8262000bb9565b84845462000b27565b825550505050565b600090565b62000bfd62000bee565b62000c0a81848462000bc3565b505050565b5b8181101562000c325762000c2660008262000bf3565b60018101905062000c10565b5050565b601f82111562000c815762000c4b8162000af5565b62000c568462000b0a565b8101602085101562000c66578190505b62000c7e62000c758562000b0a565b83018262000c0f565b50505b505050565b600082821c905092915050565b600062000ca66000198460080262000c86565b1980831691505092915050565b600062000cc1838362000c93565b9150826002028217905092915050565b62000cdc8262000a57565b67ffffffffffffffff81111562000cf85762000cf762000a62565b5b62000d04825462000ac0565b62000d1182828562000c36565b600060209050601f83116001811462000d49576000841562000d34578287015190505b62000d40858262000cb3565b86555062000db0565b601f19841662000d598662000af5565b60005b8281101562000d835784890151825560018201915060208501945060208101905062000d5c565b8683101562000da3578489015162000d9f601f89168262000c93565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000dea8262000dbd565b9050919050565b62000dfc8162000ddd565b811462000e0857600080fd5b50565b60008151905062000e1c8162000df1565b92915050565b60006020828403121562000e3b5762000e3a62000db8565b5b600062000e4b8482850162000e0b565b91505092915050565b62000e5f8162000ddd565b82525050565b600060408201905062000e7c600083018562000e54565b62000e8b602083018462000e54565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f205780860481111562000ef85762000ef762000e92565b5b600185161562000f085780820291505b808102905062000f188562000ec1565b945062000ed8565b94509492505050565b60008262000f3b57600190506200100e565b8162000f4b57600090506200100e565b816001811462000f64576002811462000f6f5762000fa5565b60019150506200100e565b60ff84111562000f845762000f8362000e92565b5b8360020a91508482111562000f9e5762000f9d62000e92565b5b506200100e565b5060208310610133831016604e8410600b841016171562000fdf5782820a90508381111562000fd95762000fd862000e92565b5b6200100e565b62000fee848484600162000ece565b9250905081840481111562001008576200100762000e92565b5b81810290505b9392505050565b600060ff82169050919050565b60006200102f8262000b7d565b91506200103c8362001015565b92506200106b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f29565b905092915050565b6000620010808262000b7d565b91506200108d8362000b7d565b92508282026200109d8162000b7d565b91508282048414831517620010b757620010b662000e92565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620010fa8262000b7d565b9150620011078362000b7d565b9250826200111a5762001119620010be565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006200119460248362001125565b9150620011a18262001136565b604082019050919050565b60006020820190508181036000830152620011c78162001185565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006200122c60228362001125565b91506200123982620011ce565b604082019050919050565b600060208201905081810360008301526200125f816200121d565b9050919050565b620012718162000b7d565b82525050565b60006020820190506200128e600083018462001266565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620012cc601f8362001125565b9150620012d98262001294565b602082019050919050565b60006020820190508181036000830152620012ff81620012bd565b9050919050565b6000620013138262000b7d565b9150620013208362000b7d565b92508282019050808211156200133b576200133a62000e92565b5b92915050565b6139b480620013516000396000f3fe6080604052600436106101c65760003560e01c806375f0a874116100f7578063bb85c6d111610095578063e01af92c11610064578063e01af92c14610667578063e2f4560514610690578063f2fde38b146106bb578063f9d0831a146106e4576101cd565b8063bb85c6d1146105ad578063c0246668146105d6578063dc4c7dbc146105ff578063dd62ed3e1461062a576101cd565b806395d89b41116100d157806395d89b41146104df578063a457c2d71461050a578063a9059cbb14610547578063afa4f3b214610584576101cd565b806375f0a874146104725780638a8c523c1461049d5780638da5cb5b146104b4576101cd565b806349bd5a5e116101645780635fc2e5961161013e5780635fc2e596146103c85780636ddd1713146103f357806370a082311461041e578063715018a61461045b576101cd565b806349bd5a5e146103355780634ada218b146103605780634fbee1931461038b576101cd565b806318160ddd116101a057806318160ddd1461026557806323b872dd14610290578063313ce567146102cd57806339509351146102f8576101cd565b806306fdde03146101d2578063095ea7b3146101fd5780631694505e1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761070d565b6040516101f4919061276e565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190612829565b61079f565b6040516102319190612884565b60405180910390f35b34801561024657600080fd5b5061024f6107bd565b60405161025c91906128fe565b60405180910390f35b34801561027157600080fd5b5061027a6107e3565b6040516102879190612928565b60405180910390f35b34801561029c57600080fd5b506102b760048036038101906102b29190612943565b6107ed565b6040516102c49190612884565b60405180910390f35b3480156102d957600080fd5b506102e261090c565b6040516102ef91906129b2565b60405180910390f35b34801561030457600080fd5b5061031f600480360381019061031a9190612829565b610915565b60405161032c9190612884565b60405180910390f35b34801561034157600080fd5b5061034a6109c1565b60405161035791906129dc565b60405180910390f35b34801561036c57600080fd5b506103756109e7565b6040516103829190612884565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad91906129f7565b6109fa565b6040516103bf9190612884565b60405180910390f35b3480156103d457600080fd5b506103dd610a50565b6040516103ea9190612928565b60405180910390f35b3480156103ff57600080fd5b50610408610a56565b6040516104159190612884565b60405180910390f35b34801561042a57600080fd5b50610445600480360381019061044091906129f7565b610a69565b6040516104529190612928565b60405180910390f35b34801561046757600080fd5b50610470610ab1565b005b34801561047e57600080fd5b50610487610c09565b60405161049491906129dc565b60405180910390f35b3480156104a957600080fd5b506104b2610c2f565b005b3480156104c057600080fd5b506104c9610d94565b6040516104d691906129dc565b60405180910390f35b3480156104eb57600080fd5b506104f4610dbe565b604051610501919061276e565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612829565b610e50565b60405161053e9190612884565b60405180910390f35b34801561055357600080fd5b5061056e60048036038101906105699190612829565b610f3b565b60405161057b9190612884565b60405180910390f35b34801561059057600080fd5b506105ab60048036038101906105a69190612a24565b610f59565b005b3480156105b957600080fd5b506105d460048036038101906105cf91906129f7565b61108a565b005b3480156105e257600080fd5b506105fd60048036038101906105f89190612a7d565b6112bd565b005b34801561060b57600080fd5b5061061461148f565b6040516106219190612928565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190612abd565b611495565b60405161065e9190612928565b60405180910390f35b34801561067357600080fd5b5061068e60048036038101906106899190612afd565b61151c565b005b34801561069c57600080fd5b506106a5611625565b6040516106b29190612928565b60405180910390f35b3480156106c757600080fd5b506106e260048036038101906106dd91906129f7565b61162b565b005b3480156106f057600080fd5b5061070b600480360381019061070691906129f7565b6117f1565b005b60606003805461071c90612b59565b80601f016020809104026020016040519081016040528092919081815260200182805461074890612b59565b80156107955780601f1061076a57610100808354040283529160200191610795565b820191906000526020600020905b81548152906001019060200180831161077857829003601f168201915b5050505050905090565b60006107b36107ac611a61565b8484611a69565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610839611a61565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108f557828110156108e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d790612bfc565b60405180910390fd5b6108f4856108ec611a61565b858403611a69565b5b610900858585611c32565b60019150509392505050565b60006012905090565b60006109b7610922611a61565b848460016000610930611a61565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109b29190612c4b565b611a69565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b600d60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ab9611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f90612ccb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c37611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90612ccb565b60405180910390fd5b600d60029054906101000a900460ff1615610d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0d90612d37565b60405180910390fd5b6001600d60026101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff0219169083151502179055507fbeda7dca7bc1b3e80b871f4818129ec73b771581f803d553aeb3484098e5f65a600d60029054906101000a900460ff16604051610d8a9190612884565b60405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610dcd90612b59565b80601f0160208091040260200160405190810160405280929190818152602001828054610df990612b59565b8015610e465780601f10610e1b57610100808354040283529160200191610e46565b820191906000526020600020905b815481529060010190602001808311610e2957829003601f168201915b5050505050905090565b60008060016000610e5f611a61565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390612dc9565b60405180910390fd5b610f30610f27611a61565b85858403611a69565b600191505092915050565b6000610f4f610f48611a61565b8484611c32565b6001905092915050565b610f61611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612ccb565b60405180910390fd5b620f4240610ffc6107e3565b6110069190612e18565b8111611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e90612ebb565b60405180910390fd5b80600c819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b145600c5460405161107f9190612928565b60405180910390a150565b611092611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111890612ccb565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a890612f4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612fdf565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516112b291906129dc565b60405180910390a150565b6112c5611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b90612ccb565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90613071565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516114839190612884565b60405180910390a25050565b600a5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611524611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115aa90612ccb565b60405180910390fd5b801515600d60019054906101000a900460ff16151503611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff90613103565b60405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b600c5481565b611633611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b990612ccb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172890613195565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117f9611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187f90612ccb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613227565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361195957611953473373ffffffffffffffffffffffffffffffffffffffff166120e890919063ffffffff16565b50611a5e565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161199991906129dc565b602060405180830381865afa1580156119b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119da919061325c565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611a17929190613289565b6020604051808303816000875af1158015611a36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5a91906132c7565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acf90613366565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3e906133f8565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c259190612928565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c989061348a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d079061351c565b60405180910390fd5b600d60029054906101000a900460ff1680611d745750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611dc85750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfe90613588565b60405180910390fd5b60008103611e2057611e1b838360006121a3565b6120e3565b6000611e2b30610a69565b90506000600c548210159050808015611e515750600d60009054906101000a900460ff16155b8015611eaa5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ec25750600d60019054906101000a900460ff165b15611f07576001600d60006101000a81548160ff021916908315150217905550611eeb82612422565b6000600d60006101000a81548160ff0219169083151502179055505b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611faa5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611fc15750600d60009054906101000a900460ff165b15611fcf5760009050612094565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361202e576009549050612093565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361208d57600a549050612092565b600090505b5b5b60008111156120d4576000606482866120ad91906135a8565b6120b79190612e18565b905080856120c591906135ea565b94506120d28730836121a3565b505b6120df8686866121a3565b5050505b505050565b60008147101561212d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121249061366a565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051612153906136bb565b60006040518083038185875af1925050503d8060008114612190576040519150601f19603f3d011682016040523d82523d6000602084013e612195565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122099061348a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122789061351c565b60405180910390fd5b61228c8383836126d4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230990613742565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123a59190612c4b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124099190612928565b60405180910390a361241c8484846126d9565b50505050565b60004790506000600267ffffffffffffffff81111561244457612443613762565b5b6040519080825280602002602001820160405280156124725781602001602082028036833780820191505090505b509050308160008151811061248a57612489613791565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255591906137d5565b8160018151811061256957612568613791565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b81526004016126079594939291906138fb565b600060405180830381600087803b15801561262157600080fd5b505af1158015612635573d6000803e3d6000fd5b505050506000824761264791906135ea565b905061269481600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166120e890919063ffffffff16565b507f957ad1fc6d4d41da6d1a8d37303289ef3c4b78e0285ff5df1e12070ef0e6299984826040516126c6929190613955565b60405180910390a150505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127185780820151818401526020810190506126fd565b60008484015250505050565b6000601f19601f8301169050919050565b6000612740826126de565b61274a81856126e9565b935061275a8185602086016126fa565b61276381612724565b840191505092915050565b600060208201905081810360008301526127888184612735565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127c082612795565b9050919050565b6127d0816127b5565b81146127db57600080fd5b50565b6000813590506127ed816127c7565b92915050565b6000819050919050565b612806816127f3565b811461281157600080fd5b50565b600081359050612823816127fd565b92915050565b600080604083850312156128405761283f612790565b5b600061284e858286016127de565b925050602061285f85828601612814565b9150509250929050565b60008115159050919050565b61287e81612869565b82525050565b60006020820190506128996000830184612875565b92915050565b6000819050919050565b60006128c46128bf6128ba84612795565b61289f565b612795565b9050919050565b60006128d6826128a9565b9050919050565b60006128e8826128cb565b9050919050565b6128f8816128dd565b82525050565b600060208201905061291360008301846128ef565b92915050565b612922816127f3565b82525050565b600060208201905061293d6000830184612919565b92915050565b60008060006060848603121561295c5761295b612790565b5b600061296a868287016127de565b935050602061297b868287016127de565b925050604061298c86828701612814565b9150509250925092565b600060ff82169050919050565b6129ac81612996565b82525050565b60006020820190506129c760008301846129a3565b92915050565b6129d6816127b5565b82525050565b60006020820190506129f160008301846129cd565b92915050565b600060208284031215612a0d57612a0c612790565b5b6000612a1b848285016127de565b91505092915050565b600060208284031215612a3a57612a39612790565b5b6000612a4884828501612814565b91505092915050565b612a5a81612869565b8114612a6557600080fd5b50565b600081359050612a7781612a51565b92915050565b60008060408385031215612a9457612a93612790565b5b6000612aa2858286016127de565b9250506020612ab385828601612a68565b9150509250929050565b60008060408385031215612ad457612ad3612790565b5b6000612ae2858286016127de565b9250506020612af3858286016127de565b9150509250929050565b600060208284031215612b1357612b12612790565b5b6000612b2184828501612a68565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b7157607f821691505b602082108103612b8457612b83612b2a565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612be66028836126e9565b9150612bf182612b8a565b604082019050919050565b60006020820190508181036000830152612c1581612bd9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c56826127f3565b9150612c61836127f3565b9250828201905080821115612c7957612c78612c1c565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cb56020836126e9565b9150612cc082612c7f565b602082019050919050565b60006020820190508181036000830152612ce481612ca8565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000612d216018836126e9565b9150612d2c82612ceb565b602082019050919050565b60006020820190508181036000830152612d5081612d14565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612db36025836126e9565b9150612dbe82612d57565b604082019050919050565b60006020820190508181036000830152612de281612da6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e23826127f3565b9150612e2e836127f3565b925082612e3e57612e3d612de9565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c7900602082015250565b6000612ea5603f836126e9565b9150612eb082612e49565b604082019050919050565b60006020820190508181036000830152612ed481612e98565b9050919050565b7f4d61726b6574696e672077616c6c657420697320616c7265616479207468617460008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000612f376028836126e9565b9150612f4282612edb565b604082019050919050565b60006020820190508181036000830152612f6681612f2a565b9050919050565b7f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000612fc9602b836126e9565b9150612fd482612f6d565b604082019050919050565b60006020820190508181036000830152612ff881612fbc565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b600061305b602a836126e9565b915061306682612fff565b604082019050919050565b6000602082019050818103600083015261308a8161304e565b9050919050565b7f73776170456e61626c656420616c72656164792061742074686973207374617460008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b60006130ed6022836126e9565b91506130f882613091565b604082019050919050565b6000602082019050818103600083015261311c816130e0565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061317f6026836126e9565b915061318a82613123565b604082019050919050565b600060208201905081810360008301526131ae81613172565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b60006132116037836126e9565b915061321c826131b5565b604082019050919050565b6000602082019050818103600083015261324081613204565b9050919050565b600081519050613256816127fd565b92915050565b60006020828403121561327257613271612790565b5b600061328084828501613247565b91505092915050565b600060408201905061329e60008301856129cd565b6132ab6020830184612919565b9392505050565b6000815190506132c181612a51565b92915050565b6000602082840312156132dd576132dc612790565b5b60006132eb848285016132b2565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133506024836126e9565b915061335b826132f4565b604082019050919050565b6000602082019050818103600083015261337f81613343565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006133e26022836126e9565b91506133ed82613386565b604082019050919050565b60006020820190508181036000830152613411816133d5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006134746025836126e9565b915061347f82613418565b604082019050919050565b600060208201905081810360008301526134a381613467565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006135066023836126e9565b9150613511826134aa565b604082019050919050565b60006020820190508181036000830152613535816134f9565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006135726018836126e9565b915061357d8261353c565b602082019050919050565b600060208201905081810360008301526135a181613565565b9050919050565b60006135b3826127f3565b91506135be836127f3565b92508282026135cc816127f3565b915082820484148315176135e3576135e2612c1c565b5b5092915050565b60006135f5826127f3565b9150613600836127f3565b925082820390508181111561361857613617612c1c565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613654601d836126e9565b915061365f8261361e565b602082019050919050565b6000602082019050818103600083015261368381613647565b9050919050565b600081905092915050565b50565b60006136a560008361368a565b91506136b082613695565b600082019050919050565b60006136c682613698565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061372c6026836126e9565b9150613737826136d0565b604082019050919050565b6000602082019050818103600083015261375b8161371f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506137cf816127c7565b92915050565b6000602082840312156137eb576137ea612790565b5b60006137f9848285016137c0565b91505092915050565b6000819050919050565b600061382761382261381d84613802565b61289f565b6127f3565b9050919050565b6138378161380c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613872816127b5565b82525050565b60006138848383613869565b60208301905092915050565b6000602082019050919050565b60006138a88261383d565b6138b28185613848565b93506138bd83613859565b8060005b838110156138ee5781516138d58882613878565b97506138e083613890565b9250506001810190506138c1565b5085935050505092915050565b600060a0820190506139106000830188612919565b61391d602083018761382e565b818103604083015261392f818661389d565b905061393e60608301856129cd565b61394b6080830184612919565b9695505050505050565b600060408201905061396a6000830185612919565b6139776020830184612919565b939250505056fea2646970667358221220636396323999e95344f98ad44274b97089c1a5799590bcb76cb7221b63885b5664736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101c65760003560e01c806375f0a874116100f7578063bb85c6d111610095578063e01af92c11610064578063e01af92c14610667578063e2f4560514610690578063f2fde38b146106bb578063f9d0831a146106e4576101cd565b8063bb85c6d1146105ad578063c0246668146105d6578063dc4c7dbc146105ff578063dd62ed3e1461062a576101cd565b806395d89b41116100d157806395d89b41146104df578063a457c2d71461050a578063a9059cbb14610547578063afa4f3b214610584576101cd565b806375f0a874146104725780638a8c523c1461049d5780638da5cb5b146104b4576101cd565b806349bd5a5e116101645780635fc2e5961161013e5780635fc2e596146103c85780636ddd1713146103f357806370a082311461041e578063715018a61461045b576101cd565b806349bd5a5e146103355780634ada218b146103605780634fbee1931461038b576101cd565b806318160ddd116101a057806318160ddd1461026557806323b872dd14610290578063313ce567146102cd57806339509351146102f8576101cd565b806306fdde03146101d2578063095ea7b3146101fd5780631694505e1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761070d565b6040516101f4919061276e565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190612829565b61079f565b6040516102319190612884565b60405180910390f35b34801561024657600080fd5b5061024f6107bd565b60405161025c91906128fe565b60405180910390f35b34801561027157600080fd5b5061027a6107e3565b6040516102879190612928565b60405180910390f35b34801561029c57600080fd5b506102b760048036038101906102b29190612943565b6107ed565b6040516102c49190612884565b60405180910390f35b3480156102d957600080fd5b506102e261090c565b6040516102ef91906129b2565b60405180910390f35b34801561030457600080fd5b5061031f600480360381019061031a9190612829565b610915565b60405161032c9190612884565b60405180910390f35b34801561034157600080fd5b5061034a6109c1565b60405161035791906129dc565b60405180910390f35b34801561036c57600080fd5b506103756109e7565b6040516103829190612884565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad91906129f7565b6109fa565b6040516103bf9190612884565b60405180910390f35b3480156103d457600080fd5b506103dd610a50565b6040516103ea9190612928565b60405180910390f35b3480156103ff57600080fd5b50610408610a56565b6040516104159190612884565b60405180910390f35b34801561042a57600080fd5b50610445600480360381019061044091906129f7565b610a69565b6040516104529190612928565b60405180910390f35b34801561046757600080fd5b50610470610ab1565b005b34801561047e57600080fd5b50610487610c09565b60405161049491906129dc565b60405180910390f35b3480156104a957600080fd5b506104b2610c2f565b005b3480156104c057600080fd5b506104c9610d94565b6040516104d691906129dc565b60405180910390f35b3480156104eb57600080fd5b506104f4610dbe565b604051610501919061276e565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612829565b610e50565b60405161053e9190612884565b60405180910390f35b34801561055357600080fd5b5061056e60048036038101906105699190612829565b610f3b565b60405161057b9190612884565b60405180910390f35b34801561059057600080fd5b506105ab60048036038101906105a69190612a24565b610f59565b005b3480156105b957600080fd5b506105d460048036038101906105cf91906129f7565b61108a565b005b3480156105e257600080fd5b506105fd60048036038101906105f89190612a7d565b6112bd565b005b34801561060b57600080fd5b5061061461148f565b6040516106219190612928565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190612abd565b611495565b60405161065e9190612928565b60405180910390f35b34801561067357600080fd5b5061068e60048036038101906106899190612afd565b61151c565b005b34801561069c57600080fd5b506106a5611625565b6040516106b29190612928565b60405180910390f35b3480156106c757600080fd5b506106e260048036038101906106dd91906129f7565b61162b565b005b3480156106f057600080fd5b5061070b600480360381019061070691906129f7565b6117f1565b005b60606003805461071c90612b59565b80601f016020809104026020016040519081016040528092919081815260200182805461074890612b59565b80156107955780601f1061076a57610100808354040283529160200191610795565b820191906000526020600020905b81548152906001019060200180831161077857829003601f168201915b5050505050905090565b60006107b36107ac611a61565b8484611a69565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610839611a61565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108f557828110156108e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d790612bfc565b60405180910390fd5b6108f4856108ec611a61565b858403611a69565b5b610900858585611c32565b60019150509392505050565b60006012905090565b60006109b7610922611a61565b848460016000610930611a61565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109b29190612c4b565b611a69565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b600d60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ab9611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f90612ccb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c37611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90612ccb565b60405180910390fd5b600d60029054906101000a900460ff1615610d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0d90612d37565b60405180910390fd5b6001600d60026101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff0219169083151502179055507fbeda7dca7bc1b3e80b871f4818129ec73b771581f803d553aeb3484098e5f65a600d60029054906101000a900460ff16604051610d8a9190612884565b60405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610dcd90612b59565b80601f0160208091040260200160405190810160405280929190818152602001828054610df990612b59565b8015610e465780601f10610e1b57610100808354040283529160200191610e46565b820191906000526020600020905b815481529060010190602001808311610e2957829003601f168201915b5050505050905090565b60008060016000610e5f611a61565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390612dc9565b60405180910390fd5b610f30610f27611a61565b85858403611a69565b600191505092915050565b6000610f4f610f48611a61565b8484611c32565b6001905092915050565b610f61611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612ccb565b60405180910390fd5b620f4240610ffc6107e3565b6110069190612e18565b8111611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e90612ebb565b60405180910390fd5b80600c819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b145600c5460405161107f9190612928565b60405180910390a150565b611092611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111890612ccb565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a890612f4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612fdf565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516112b291906129dc565b60405180910390a150565b6112c5611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b90612ccb565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90613071565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516114839190612884565b60405180910390a25050565b600a5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611524611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115aa90612ccb565b60405180910390fd5b801515600d60019054906101000a900460ff16151503611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff90613103565b60405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b600c5481565b611633611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b990612ccb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172890613195565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117f9611a61565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187f90612ccb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613227565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361195957611953473373ffffffffffffffffffffffffffffffffffffffff166120e890919063ffffffff16565b50611a5e565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161199991906129dc565b602060405180830381865afa1580156119b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119da919061325c565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611a17929190613289565b6020604051808303816000875af1158015611a36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5a91906132c7565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acf90613366565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3e906133f8565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c259190612928565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c989061348a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d079061351c565b60405180910390fd5b600d60029054906101000a900460ff1680611d745750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611dc85750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfe90613588565b60405180910390fd5b60008103611e2057611e1b838360006121a3565b6120e3565b6000611e2b30610a69565b90506000600c548210159050808015611e515750600d60009054906101000a900460ff16155b8015611eaa5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ec25750600d60019054906101000a900460ff165b15611f07576001600d60006101000a81548160ff021916908315150217905550611eeb82612422565b6000600d60006101000a81548160ff0219169083151502179055505b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611faa5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611fc15750600d60009054906101000a900460ff165b15611fcf5760009050612094565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361202e576009549050612093565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361208d57600a549050612092565b600090505b5b5b60008111156120d4576000606482866120ad91906135a8565b6120b79190612e18565b905080856120c591906135ea565b94506120d28730836121a3565b505b6120df8686866121a3565b5050505b505050565b60008147101561212d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121249061366a565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051612153906136bb565b60006040518083038185875af1925050503d8060008114612190576040519150601f19603f3d011682016040523d82523d6000602084013e612195565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122099061348a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122789061351c565b60405180910390fd5b61228c8383836126d4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230990613742565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123a59190612c4b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124099190612928565b60405180910390a361241c8484846126d9565b50505050565b60004790506000600267ffffffffffffffff81111561244457612443613762565b5b6040519080825280602002602001820160405280156124725781602001602082028036833780820191505090505b509050308160008151811061248a57612489613791565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255591906137d5565b8160018151811061256957612568613791565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b81526004016126079594939291906138fb565b600060405180830381600087803b15801561262157600080fd5b505af1158015612635573d6000803e3d6000fd5b505050506000824761264791906135ea565b905061269481600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166120e890919063ffffffff16565b507f957ad1fc6d4d41da6d1a8d37303289ef3c4b78e0285ff5df1e12070ef0e6299984826040516126c6929190613955565b60405180910390a150505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127185780820151818401526020810190506126fd565b60008484015250505050565b6000601f19601f8301169050919050565b6000612740826126de565b61274a81856126e9565b935061275a8185602086016126fa565b61276381612724565b840191505092915050565b600060208201905081810360008301526127888184612735565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127c082612795565b9050919050565b6127d0816127b5565b81146127db57600080fd5b50565b6000813590506127ed816127c7565b92915050565b6000819050919050565b612806816127f3565b811461281157600080fd5b50565b600081359050612823816127fd565b92915050565b600080604083850312156128405761283f612790565b5b600061284e858286016127de565b925050602061285f85828601612814565b9150509250929050565b60008115159050919050565b61287e81612869565b82525050565b60006020820190506128996000830184612875565b92915050565b6000819050919050565b60006128c46128bf6128ba84612795565b61289f565b612795565b9050919050565b60006128d6826128a9565b9050919050565b60006128e8826128cb565b9050919050565b6128f8816128dd565b82525050565b600060208201905061291360008301846128ef565b92915050565b612922816127f3565b82525050565b600060208201905061293d6000830184612919565b92915050565b60008060006060848603121561295c5761295b612790565b5b600061296a868287016127de565b935050602061297b868287016127de565b925050604061298c86828701612814565b9150509250925092565b600060ff82169050919050565b6129ac81612996565b82525050565b60006020820190506129c760008301846129a3565b92915050565b6129d6816127b5565b82525050565b60006020820190506129f160008301846129cd565b92915050565b600060208284031215612a0d57612a0c612790565b5b6000612a1b848285016127de565b91505092915050565b600060208284031215612a3a57612a39612790565b5b6000612a4884828501612814565b91505092915050565b612a5a81612869565b8114612a6557600080fd5b50565b600081359050612a7781612a51565b92915050565b60008060408385031215612a9457612a93612790565b5b6000612aa2858286016127de565b9250506020612ab385828601612a68565b9150509250929050565b60008060408385031215612ad457612ad3612790565b5b6000612ae2858286016127de565b9250506020612af3858286016127de565b9150509250929050565b600060208284031215612b1357612b12612790565b5b6000612b2184828501612a68565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b7157607f821691505b602082108103612b8457612b83612b2a565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612be66028836126e9565b9150612bf182612b8a565b604082019050919050565b60006020820190508181036000830152612c1581612bd9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c56826127f3565b9150612c61836127f3565b9250828201905080821115612c7957612c78612c1c565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cb56020836126e9565b9150612cc082612c7f565b602082019050919050565b60006020820190508181036000830152612ce481612ca8565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000612d216018836126e9565b9150612d2c82612ceb565b602082019050919050565b60006020820190508181036000830152612d5081612d14565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612db36025836126e9565b9150612dbe82612d57565b604082019050919050565b60006020820190508181036000830152612de281612da6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e23826127f3565b9150612e2e836127f3565b925082612e3e57612e3d612de9565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c7900602082015250565b6000612ea5603f836126e9565b9150612eb082612e49565b604082019050919050565b60006020820190508181036000830152612ed481612e98565b9050919050565b7f4d61726b6574696e672077616c6c657420697320616c7265616479207468617460008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000612f376028836126e9565b9150612f4282612edb565b604082019050919050565b60006020820190508181036000830152612f6681612f2a565b9050919050565b7f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000612fc9602b836126e9565b9150612fd482612f6d565b604082019050919050565b60006020820190508181036000830152612ff881612fbc565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b600061305b602a836126e9565b915061306682612fff565b604082019050919050565b6000602082019050818103600083015261308a8161304e565b9050919050565b7f73776170456e61626c656420616c72656164792061742074686973207374617460008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b60006130ed6022836126e9565b91506130f882613091565b604082019050919050565b6000602082019050818103600083015261311c816130e0565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061317f6026836126e9565b915061318a82613123565b604082019050919050565b600060208201905081810360008301526131ae81613172565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b60006132116037836126e9565b915061321c826131b5565b604082019050919050565b6000602082019050818103600083015261324081613204565b9050919050565b600081519050613256816127fd565b92915050565b60006020828403121561327257613271612790565b5b600061328084828501613247565b91505092915050565b600060408201905061329e60008301856129cd565b6132ab6020830184612919565b9392505050565b6000815190506132c181612a51565b92915050565b6000602082840312156132dd576132dc612790565b5b60006132eb848285016132b2565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133506024836126e9565b915061335b826132f4565b604082019050919050565b6000602082019050818103600083015261337f81613343565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006133e26022836126e9565b91506133ed82613386565b604082019050919050565b60006020820190508181036000830152613411816133d5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006134746025836126e9565b915061347f82613418565b604082019050919050565b600060208201905081810360008301526134a381613467565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006135066023836126e9565b9150613511826134aa565b604082019050919050565b60006020820190508181036000830152613535816134f9565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006135726018836126e9565b915061357d8261353c565b602082019050919050565b600060208201905081810360008301526135a181613565565b9050919050565b60006135b3826127f3565b91506135be836127f3565b92508282026135cc816127f3565b915082820484148315176135e3576135e2612c1c565b5b5092915050565b60006135f5826127f3565b9150613600836127f3565b925082820390508181111561361857613617612c1c565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613654601d836126e9565b915061365f8261361e565b602082019050919050565b6000602082019050818103600083015261368381613647565b9050919050565b600081905092915050565b50565b60006136a560008361368a565b91506136b082613695565b600082019050919050565b60006136c682613698565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061372c6026836126e9565b9150613737826136d0565b604082019050919050565b6000602082019050818103600083015261375b8161371f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506137cf816127c7565b92915050565b6000602082840312156137eb576137ea612790565b5b60006137f9848285016137c0565b91505092915050565b6000819050919050565b600061382761382261381d84613802565b61289f565b6127f3565b9050919050565b6138378161380c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613872816127b5565b82525050565b60006138848383613869565b60208301905092915050565b6000602082019050919050565b60006138a88261383d565b6138b28185613848565b93506138bd83613859565b8060005b838110156138ee5781516138d58882613878565b97506138e083613890565b9250506001810190506138c1565b5085935050505092915050565b600060a0820190506139106000830188612919565b61391d602083018761382e565b818103604083015261392f818661389d565b905061393e60608301856129cd565b61394b6080830184612919565b9695505050505050565b600060408201905061396a6000830185612919565b6139776020830184612919565b939250505056fea2646970667358221220636396323999e95344f98ad44274b97089c1a5799590bcb76cb7221b63885b5664736f6c63430008110033
Deployed Bytecode Sourcemap
15704:6573:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11903:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15790:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11310:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12080:573;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11209:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12661:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15838:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19366:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18846:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15938:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16135:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11426:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10176:148;;;;;;;;;;;;;:::i;:::-;;16021:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19401:223;;;;;;;;;;;;;:::i;:::-;;9962:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11097:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12884:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11561:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21315:304;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18979:379;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18548:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15978:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11744:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21128:179;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16061:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10332:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18075:465;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10989:100;11043:13;11076:5;11069:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:100;:::o;11903:169::-;11986:4;12003:39;12012:12;:10;:12::i;:::-;12026:7;12035:6;12003:8;:39::i;:::-;12060:4;12053:11;;11903:169;;;;:::o;15790:41::-;;;;;;;;;;;;;:::o;11310:108::-;11371:7;11398:12;;11391:19;;11310:108;:::o;12080:573::-;12220:4;12237:24;12264:11;:19;12276:6;12264:19;;;;;;;;;;;;;;;:33;12284:12;:10;:12::i;:::-;12264:33;;;;;;;;;;;;;;;;12237:60;;12332:17;12312:16;:37;12308:265;;12394:6;12374:16;:26;;12366:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12489:57;12498:6;12506:12;:10;:12::i;:::-;12539:6;12520:16;:25;12489:8;:57::i;:::-;12308:265;12585:36;12595:6;12603:9;12614:6;12585:9;:36::i;:::-;12641:4;12634:11;;;12080:573;;;;;:::o;11209:93::-;11267:5;11292:2;11285:9;;11209:93;:::o;12661:215::-;12749:4;12766:80;12775:12;:10;:12::i;:::-;12789:7;12835:10;12798:11;:25;12810:12;:10;:12::i;:::-;12798:25;;;;;;;;;;;;;;;:34;12824:7;12798:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12766:8;:80::i;:::-;12864:4;12857:11;;12661:215;;;;:::o;15838:29::-;;;;;;;;;;;;;:::o;19366:26::-;;;;;;;;;;;;;:::o;18846:125::-;18911:4;18935:19;:28;18955:7;18935:28;;;;;;;;;;;;;;;;;;;;;;;;;18928:35;;18846:125;;;:::o;15938:33::-;;;;:::o;16135:26::-;;;;;;;;;;;;;:::o;11426:127::-;11500:7;11527:9;:18;11537:7;11527:18;;;;;;;;;;;;;;;;11520:25;;11426:127;;;:::o;10176:148::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10283:1:::1;10246:40;;10267:6;;;;;;;;;;;10246:40;;;;;;;;;;;;10314:1;10297:6;;:19;;;;;;;;;;;;;;;;;;10176:148::o:0;16021:31::-;;;;;;;;;;;;;:::o;19401:223::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19464:14:::1;;;;;;;;;;;19463:15;19455:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;19535:4;19518:14;;:21;;;;;;;;;;;;;;;;;;19564:4;19550:11;;:18;;;;;;;;;;;;;;;;;;19586:30;19601:14;;;;;;;;;;;19586:30;;;;;;:::i;:::-;;;;;;;;19401:223::o:0;9962:79::-;10000:7;10027:6;;;;;;;;;;;10020:13;;9962:79;:::o;11097:104::-;11153:13;11186:7;11179:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11097:104;:::o;12884:413::-;12977:4;12994:24;13021:11;:25;13033:12;:10;:12::i;:::-;13021:25;;;;;;;;;;;;;;;:34;13047:7;13021:34;;;;;;;;;;;;;;;;12994:61;;13094:15;13074:16;:35;;13066:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13187:67;13196:12;:10;:12::i;:::-;13210:7;13238:15;13219:16;:34;13187:8;:67::i;:::-;13285:4;13278:11;;;12884:413;;;;:::o;11561:175::-;11647:4;11664:42;11674:12;:10;:12::i;:::-;11688:9;11699:6;11664:9;:42::i;:::-;11724:4;11717:11;;11561:175;;;;:::o;21315:304::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21430:9:::1;21414:13;:11;:13::i;:::-;:25;;;;:::i;:::-;21402:9;:37;21394:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;21539:9;21518:18;:30;;;;21566:45;21592:18;;21566:45;;;;;;:::i;:::-;;;;;;;;21315:304:::0;:::o;18979:379::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19093:15:::1;;;;;;;;;;;19073:35;;:16;:35;;::::0;19065:87:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;19199:1;19171:30;;:16;:30;;::::0;19163:85:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;19277:16;19259:15;;:34;;;;;;;;;;;;;;;;;;19311:39;19334:15;;;;;;;;;;;19311:39;;;;;;:::i;:::-;;;;;;;;18979:379:::0;:::o;18548:290::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18674:8:::1;18642:40;;:19;:28;18662:7;18642:28;;;;;;;;;;;;;;;;;;;;;;;;;:40;;::::0;18634:94:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18770:8;18739:19;:28;18759:7;18739:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18812:7;18796:34;;;18821:8;18796:34;;;;;;:::i;:::-;;;;;;;;18548:290:::0;;:::o;15978:34::-;;;;:::o;11744:151::-;11833:7;11860:11;:18;11872:5;11860:18;;;;;;;;;;;;;;;:27;11879:7;11860:27;;;;;;;;;;;;;;;;11853:34;;11744:151;;;;:::o;21128:179::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21219:8:::1;21204:23;;:11;;;;;;;;;;;:23;;::::0;21196:70:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;21291:8;21277:11;;:22;;;;;;;;;;;;;;;;;;21128:179:::0;:::o;16061:34::-;;;;:::o;10332:244::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10441:1:::1;10421:22;;:8;:22;;::::0;10413:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10531:8;10502:38;;10523:6;;;;;;;;;;;10502:38;;;;;;;;;;;;10560:8;10551:6;;:17;;;;;;;;;;;;;;;;;;10332:244:::0;:::o;18075:465::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18171:4:::1;18154:22;;:5;:22;;::::0;18146:90:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18268:3;18251:21;;:5;:21;;::::0;18247:127:::1;;18289:52;18319:21;18297:10;18289:29;;;;:52;;;;:::i;:::-;;18356:7;;18247:127;18384:17;18411:5;18384:33;;18428:15;18446:10;:20;;;18475:4;18446:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18428:53;;18492:10;:19;;;18512:10;18524:7;18492:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18135:405;;10159:1;18075:465:::0;:::o;9285:98::-;9338:7;9365:10;9358:17;;9285:98;:::o;15052:380::-;15205:1;15188:19;;:5;:19;;;15180:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15286:1;15267:21;;:7;:21;;;15259:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15370:6;15340:11;:18;15352:5;15340:18;;;;;;;;;;;;;;;:27;15359:7;15340:27;;;;;;;;;;;;;;;:36;;;;15408:7;15392:32;;15401:5;15392:32;;;15417:6;15392:32;;;;;;:::i;:::-;;;;;;;;15052:380;;;:::o;19632:1488::-;19745:1;19729:18;;:4;:18;;;19721:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19822:1;19808:16;;:2;:16;;;19800:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19883:14;;;;;;;;;;;:43;;;;19901:19;:25;19921:4;19901:25;;;;;;;;;;;;;;;;;;;;;;;;;19883:43;:70;;;;19930:19;:23;19950:2;19930:23;;;;;;;;;;;;;;;;;;;;;;;;;19883:70;19875:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;20016:1;20006:6;:11;20002:93;;20034:28;20050:4;20056:2;20060:1;20034:15;:28::i;:::-;20077:7;;20002:93;20101:28;20132:24;20150:4;20132:9;:24::i;:::-;20101:55;;20169:12;20208:18;;20184:20;:42;;20169:57;;20243:7;:33;;;;;20268:8;;;;;;;;;;;20267:9;20243:33;:69;;;;;20299:13;;;;;;;;;;;20293:19;;:2;:19;;;20243:69;:97;;;;;20329:11;;;;;;;;;;;20243:97;20239:252;;;20378:4;20367:8;;:15;;;;;;;;;;;;;;;;;;20399:42;20420:20;20399;:42::i;:::-;20474:5;20463:8;;:16;;;;;;;;;;;;;;;;;;20239:252;20503:18;20536:19;:25;20556:4;20536:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20565:19;:23;20585:2;20565:23;;;;;;;;;;;;;;;;;;;;;;;;;20536:52;:64;;;;20592:8;;;;;;;;;;;20536:64;20532:338;;;20630:1;20617:14;;20532:338;;;20661:13;;;;;;;;;;;20653:21;;:4;:21;;;20649:221;;20704:17;;20691:30;;20649:221;;;20749:13;;;;;;;;;;;20743:19;;:2;:19;;;20739:131;;20793:18;;20779:32;;20739:131;;;20857:1;20844:14;;20739:131;20649:221;20532:338;20899:1;20886:10;:14;20882:183;;;20917:12;20956:3;20942:10;20933:6;:19;;;;:::i;:::-;20932:27;;;;:::i;:::-;20917:42;;20992:4;20983:6;:13;;;;:::i;:::-;20974:22;;21011:42;21027:4;21041;21048;21011:15;:42::i;:::-;20902:163;20882:183;21079:33;21095:4;21101:2;21105:6;21079:15;:33::i;:::-;19710:1410;;;19632:1488;;;;:::o;8979:266::-;9058:4;9107:6;9082:21;:31;;9074:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9161:12;9179:9;:14;;9201:6;9179:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9160:52;;;9230:7;9223:14;;;8979:266;;;;:::o;13305:733::-;13463:1;13445:20;;:6;:20;;;13437:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13547:1;13526:23;;:9;:23;;;13518:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13602:47;13623:6;13631:9;13642:6;13602:20;:47::i;:::-;13662:21;13686:9;:17;13696:6;13686:17;;;;;;;;;;;;;;;;13662:41;;13739:6;13722:13;:23;;13714:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13860:6;13844:13;:22;13824:9;:17;13834:6;13824:17;;;;;;;;;;;;;;;:42;;;;13912:6;13888:9;:20;13898:9;13888:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13953:9;13936:35;;13945:6;13936:35;;;13964:6;13936:35;;;;;;:::i;:::-;;;;;;;;13984:46;14004:6;14012:9;14023:6;13984:19;:46::i;:::-;13426:612;13305:733;;;:::o;21627:647::-;21697:22;21722:21;21697:46;;21756:21;21794:1;21780:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21756:40;;21825:4;21807;21812:1;21807:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21851:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21841:4;21846:1;21841:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;21886:15;;;;;;;;;;;:66;;;21967:11;21993:1;22009:4;22036;22056:15;21886:186;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22085:18;22130:14;22106:21;:38;;;;:::i;:::-;22085:59;;22157:46;22192:10;22165:15;;;;;;;;;;;22157:34;;;;:46;;;;:::i;:::-;;22221:45;22242:11;22255:10;22221:45;;;;;;;:::i;:::-;;;;;;;;21686:588;;;21627:647;:::o;15440:125::-;;;;:::o;15573:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:::-;6572:6;6621:2;6609:9;6600:7;6596:23;6592:32;6589:119;;;6627:79;;:::i;:::-;6589:119;6747:1;6772:53;6817:7;6808:6;6797:9;6793:22;6772:53;:::i;:::-;6762:63;;6718:117;6513:329;;;;:::o;6848:116::-;6918:21;6933:5;6918:21;:::i;:::-;6911:5;6908:32;6898:60;;6954:1;6951;6944:12;6898:60;6848:116;:::o;6970:133::-;7013:5;7051:6;7038:20;7029:29;;7067:30;7091:5;7067:30;:::i;:::-;6970:133;;;;:::o;7109:468::-;7174:6;7182;7231:2;7219:9;7210:7;7206:23;7202:32;7199:119;;;7237:79;;:::i;:::-;7199:119;7357:1;7382:53;7427:7;7418:6;7407:9;7403:22;7382:53;:::i;:::-;7372:63;;7328:117;7484:2;7510:50;7552:7;7543:6;7532:9;7528:22;7510:50;:::i;:::-;7500:60;;7455:115;7109:468;;;;;:::o;7583:474::-;7651:6;7659;7708:2;7696:9;7687:7;7683:23;7679:32;7676:119;;;7714:79;;:::i;:::-;7676:119;7834:1;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7805:117;7961:2;7987:53;8032:7;8023:6;8012:9;8008:22;7987:53;:::i;:::-;7977:63;;7932:118;7583:474;;;;;:::o;8063:323::-;8119:6;8168:2;8156:9;8147:7;8143:23;8139:32;8136:119;;;8174:79;;:::i;:::-;8136:119;8294:1;8319:50;8361:7;8352:6;8341:9;8337:22;8319:50;:::i;:::-;8309:60;;8265:114;8063:323;;;;:::o;8392:180::-;8440:77;8437:1;8430:88;8537:4;8534:1;8527:15;8561:4;8558:1;8551:15;8578:320;8622:6;8659:1;8653:4;8649:12;8639:22;;8706:1;8700:4;8696:12;8727:18;8717:81;;8783:4;8775:6;8771:17;8761:27;;8717:81;8845:2;8837:6;8834:14;8814:18;8811:38;8808:84;;8864:18;;:::i;:::-;8808:84;8629:269;8578:320;;;:::o;8904:227::-;9044:34;9040:1;9032:6;9028:14;9021:58;9113:10;9108:2;9100:6;9096:15;9089:35;8904:227;:::o;9137:366::-;9279:3;9300:67;9364:2;9359:3;9300:67;:::i;:::-;9293:74;;9376:93;9465:3;9376:93;:::i;:::-;9494:2;9489:3;9485:12;9478:19;;9137:366;;;:::o;9509:419::-;9675:4;9713:2;9702:9;9698:18;9690:26;;9762:9;9756:4;9752:20;9748:1;9737:9;9733:17;9726:47;9790:131;9916:4;9790:131;:::i;:::-;9782:139;;9509:419;;;:::o;9934:180::-;9982:77;9979:1;9972:88;10079:4;10076:1;10069:15;10103:4;10100:1;10093:15;10120:191;10160:3;10179:20;10197:1;10179:20;:::i;:::-;10174:25;;10213:20;10231:1;10213:20;:::i;:::-;10208:25;;10256:1;10253;10249:9;10242:16;;10277:3;10274:1;10271:10;10268:36;;;10284:18;;:::i;:::-;10268:36;10120:191;;;;:::o;10317:182::-;10457:34;10453:1;10445:6;10441:14;10434:58;10317:182;:::o;10505:366::-;10647:3;10668:67;10732:2;10727:3;10668:67;:::i;:::-;10661:74;;10744:93;10833:3;10744:93;:::i;:::-;10862:2;10857:3;10853:12;10846:19;;10505:366;;;:::o;10877:419::-;11043:4;11081:2;11070:9;11066:18;11058:26;;11130:9;11124:4;11120:20;11116:1;11105:9;11101:17;11094:47;11158:131;11284:4;11158:131;:::i;:::-;11150:139;;10877:419;;;:::o;11302:174::-;11442:26;11438:1;11430:6;11426:14;11419:50;11302:174;:::o;11482:366::-;11624:3;11645:67;11709:2;11704:3;11645:67;:::i;:::-;11638:74;;11721:93;11810:3;11721:93;:::i;:::-;11839:2;11834:3;11830:12;11823:19;;11482:366;;;:::o;11854:419::-;12020:4;12058:2;12047:9;12043:18;12035:26;;12107:9;12101:4;12097:20;12093:1;12082:9;12078:17;12071:47;12135:131;12261:4;12135:131;:::i;:::-;12127:139;;11854:419;;;:::o;12279:224::-;12419:34;12415:1;12407:6;12403:14;12396:58;12488:7;12483:2;12475:6;12471:15;12464:32;12279:224;:::o;12509:366::-;12651:3;12672:67;12736:2;12731:3;12672:67;:::i;:::-;12665:74;;12748:93;12837:3;12748:93;:::i;:::-;12866:2;12861:3;12857:12;12850:19;;12509:366;;;:::o;12881:419::-;13047:4;13085:2;13074:9;13070:18;13062:26;;13134:9;13128:4;13124:20;13120:1;13109:9;13105:17;13098:47;13162:131;13288:4;13162:131;:::i;:::-;13154:139;;12881:419;;;:::o;13306:180::-;13354:77;13351:1;13344:88;13451:4;13448:1;13441:15;13475:4;13472:1;13465:15;13492:185;13532:1;13549:20;13567:1;13549:20;:::i;:::-;13544:25;;13583:20;13601:1;13583:20;:::i;:::-;13578:25;;13622:1;13612:35;;13627:18;;:::i;:::-;13612:35;13669:1;13666;13662:9;13657:14;;13492:185;;;;:::o;13683:250::-;13823:34;13819:1;13811:6;13807:14;13800:58;13892:33;13887:2;13879:6;13875:15;13868:58;13683:250;:::o;13939:366::-;14081:3;14102:67;14166:2;14161:3;14102:67;:::i;:::-;14095:74;;14178:93;14267:3;14178:93;:::i;:::-;14296:2;14291:3;14287:12;14280:19;;13939:366;;;:::o;14311:419::-;14477:4;14515:2;14504:9;14500:18;14492:26;;14564:9;14558:4;14554:20;14550:1;14539:9;14535:17;14528:47;14592:131;14718:4;14592:131;:::i;:::-;14584:139;;14311:419;;;:::o;14736:227::-;14876:34;14872:1;14864:6;14860:14;14853:58;14945:10;14940:2;14932:6;14928:15;14921:35;14736:227;:::o;14969:366::-;15111:3;15132:67;15196:2;15191:3;15132:67;:::i;:::-;15125:74;;15208:93;15297:3;15208:93;:::i;:::-;15326:2;15321:3;15317:12;15310:19;;14969:366;;;:::o;15341:419::-;15507:4;15545:2;15534:9;15530:18;15522:26;;15594:9;15588:4;15584:20;15580:1;15569:9;15565:17;15558:47;15622:131;15748:4;15622:131;:::i;:::-;15614:139;;15341:419;;;:::o;15766:230::-;15906:34;15902:1;15894:6;15890:14;15883:58;15975:13;15970:2;15962:6;15958:15;15951:38;15766:230;:::o;16002:366::-;16144:3;16165:67;16229:2;16224:3;16165:67;:::i;:::-;16158:74;;16241:93;16330:3;16241:93;:::i;:::-;16359:2;16354:3;16350:12;16343:19;;16002:366;;;:::o;16374:419::-;16540:4;16578:2;16567:9;16563:18;16555:26;;16627:9;16621:4;16617:20;16613:1;16602:9;16598:17;16591:47;16655:131;16781:4;16655:131;:::i;:::-;16647:139;;16374:419;;;:::o;16799:229::-;16939:34;16935:1;16927:6;16923:14;16916:58;17008:12;17003:2;16995:6;16991:15;16984:37;16799:229;:::o;17034:366::-;17176:3;17197:67;17261:2;17256:3;17197:67;:::i;:::-;17190:74;;17273:93;17362:3;17273:93;:::i;:::-;17391:2;17386:3;17382:12;17375:19;;17034:366;;;:::o;17406:419::-;17572:4;17610:2;17599:9;17595:18;17587:26;;17659:9;17653:4;17649:20;17645:1;17634:9;17630:17;17623:47;17687:131;17813:4;17687:131;:::i;:::-;17679:139;;17406:419;;;:::o;17831:221::-;17971:34;17967:1;17959:6;17955:14;17948:58;18040:4;18035:2;18027:6;18023:15;18016:29;17831:221;:::o;18058:366::-;18200:3;18221:67;18285:2;18280:3;18221:67;:::i;:::-;18214:74;;18297:93;18386:3;18297:93;:::i;:::-;18415:2;18410:3;18406:12;18399:19;;18058:366;;;:::o;18430:419::-;18596:4;18634:2;18623:9;18619:18;18611:26;;18683:9;18677:4;18673:20;18669:1;18658:9;18654:17;18647:47;18711:131;18837:4;18711:131;:::i;:::-;18703:139;;18430:419;;;:::o;18855:225::-;18995:34;18991:1;18983:6;18979:14;18972:58;19064:8;19059:2;19051:6;19047:15;19040:33;18855:225;:::o;19086:366::-;19228:3;19249:67;19313:2;19308:3;19249:67;:::i;:::-;19242:74;;19325:93;19414:3;19325:93;:::i;:::-;19443:2;19438:3;19434:12;19427:19;;19086:366;;;:::o;19458:419::-;19624:4;19662:2;19651:9;19647:18;19639:26;;19711:9;19705:4;19701:20;19697:1;19686:9;19682:17;19675:47;19739:131;19865:4;19739:131;:::i;:::-;19731:139;;19458:419;;;:::o;19883:242::-;20023:34;20019:1;20011:6;20007:14;20000:58;20092:25;20087:2;20079:6;20075:15;20068:50;19883:242;:::o;20131:366::-;20273:3;20294:67;20358:2;20353:3;20294:67;:::i;:::-;20287:74;;20370:93;20459:3;20370:93;:::i;:::-;20488:2;20483:3;20479:12;20472:19;;20131:366;;;:::o;20503:419::-;20669:4;20707:2;20696:9;20692:18;20684:26;;20756:9;20750:4;20746:20;20742:1;20731:9;20727:17;20720:47;20784:131;20910:4;20784:131;:::i;:::-;20776:139;;20503:419;;;:::o;20928:143::-;20985:5;21016:6;21010:13;21001:22;;21032:33;21059:5;21032:33;:::i;:::-;20928:143;;;;:::o;21077:351::-;21147:6;21196:2;21184:9;21175:7;21171:23;21167:32;21164:119;;;21202:79;;:::i;:::-;21164:119;21322:1;21347:64;21403:7;21394:6;21383:9;21379:22;21347:64;:::i;:::-;21337:74;;21293:128;21077:351;;;;:::o;21434:332::-;21555:4;21593:2;21582:9;21578:18;21570:26;;21606:71;21674:1;21663:9;21659:17;21650:6;21606:71;:::i;:::-;21687:72;21755:2;21744:9;21740:18;21731:6;21687:72;:::i;:::-;21434:332;;;;;:::o;21772:137::-;21826:5;21857:6;21851:13;21842:22;;21873:30;21897:5;21873:30;:::i;:::-;21772:137;;;;:::o;21915:345::-;21982:6;22031:2;22019:9;22010:7;22006:23;22002:32;21999:119;;;22037:79;;:::i;:::-;21999:119;22157:1;22182:61;22235:7;22226:6;22215:9;22211:22;22182:61;:::i;:::-;22172:71;;22128:125;21915:345;;;;:::o;22266:223::-;22406:34;22402:1;22394:6;22390:14;22383:58;22475:6;22470:2;22462:6;22458:15;22451:31;22266:223;:::o;22495:366::-;22637:3;22658:67;22722:2;22717:3;22658:67;:::i;:::-;22651:74;;22734:93;22823:3;22734:93;:::i;:::-;22852:2;22847:3;22843:12;22836:19;;22495:366;;;:::o;22867:419::-;23033:4;23071:2;23060:9;23056:18;23048:26;;23120:9;23114:4;23110:20;23106:1;23095:9;23091:17;23084:47;23148:131;23274:4;23148:131;:::i;:::-;23140:139;;22867:419;;;:::o;23292:221::-;23432:34;23428:1;23420:6;23416:14;23409:58;23501:4;23496:2;23488:6;23484:15;23477:29;23292:221;:::o;23519:366::-;23661:3;23682:67;23746:2;23741:3;23682:67;:::i;:::-;23675:74;;23758:93;23847:3;23758:93;:::i;:::-;23876:2;23871:3;23867:12;23860:19;;23519:366;;;:::o;23891:419::-;24057:4;24095:2;24084:9;24080:18;24072:26;;24144:9;24138:4;24134:20;24130:1;24119:9;24115:17;24108:47;24172:131;24298:4;24172:131;:::i;:::-;24164:139;;23891:419;;;:::o;24316:224::-;24456:34;24452:1;24444:6;24440:14;24433:58;24525:7;24520:2;24512:6;24508:15;24501:32;24316:224;:::o;24546:366::-;24688:3;24709:67;24773:2;24768:3;24709:67;:::i;:::-;24702:74;;24785:93;24874:3;24785:93;:::i;:::-;24903:2;24898:3;24894:12;24887:19;;24546:366;;;:::o;24918:419::-;25084:4;25122:2;25111:9;25107:18;25099:26;;25171:9;25165:4;25161:20;25157:1;25146:9;25142:17;25135:47;25199:131;25325:4;25199:131;:::i;:::-;25191:139;;24918:419;;;:::o;25343:222::-;25483:34;25479:1;25471:6;25467:14;25460:58;25552:5;25547:2;25539:6;25535:15;25528:30;25343:222;:::o;25571:366::-;25713:3;25734:67;25798:2;25793:3;25734:67;:::i;:::-;25727:74;;25810:93;25899:3;25810:93;:::i;:::-;25928:2;25923:3;25919:12;25912:19;;25571:366;;;:::o;25943:419::-;26109:4;26147:2;26136:9;26132:18;26124:26;;26196:9;26190:4;26186:20;26182:1;26171:9;26167:17;26160:47;26224:131;26350:4;26224:131;:::i;:::-;26216:139;;25943:419;;;:::o;26368:174::-;26508:26;26504:1;26496:6;26492:14;26485:50;26368:174;:::o;26548:366::-;26690:3;26711:67;26775:2;26770:3;26711:67;:::i;:::-;26704:74;;26787:93;26876:3;26787:93;:::i;:::-;26905:2;26900:3;26896:12;26889:19;;26548:366;;;:::o;26920:419::-;27086:4;27124:2;27113:9;27109:18;27101:26;;27173:9;27167:4;27163:20;27159:1;27148:9;27144:17;27137:47;27201:131;27327:4;27201:131;:::i;:::-;27193:139;;26920:419;;;:::o;27345:410::-;27385:7;27408:20;27426:1;27408:20;:::i;:::-;27403:25;;27442:20;27460:1;27442:20;:::i;:::-;27437:25;;27497:1;27494;27490:9;27519:30;27537:11;27519:30;:::i;:::-;27508:41;;27698:1;27689:7;27685:15;27682:1;27679:22;27659:1;27652:9;27632:83;27609:139;;27728:18;;:::i;:::-;27609:139;27393:362;27345:410;;;;:::o;27761:194::-;27801:4;27821:20;27839:1;27821:20;:::i;:::-;27816:25;;27855:20;27873:1;27855:20;:::i;:::-;27850:25;;27899:1;27896;27892:9;27884:17;;27923:1;27917:4;27914:11;27911:37;;;27928:18;;:::i;:::-;27911:37;27761:194;;;;:::o;27961:179::-;28101:31;28097:1;28089:6;28085:14;28078:55;27961:179;:::o;28146:366::-;28288:3;28309:67;28373:2;28368:3;28309:67;:::i;:::-;28302:74;;28385:93;28474:3;28385:93;:::i;:::-;28503:2;28498:3;28494:12;28487:19;;28146:366;;;:::o;28518:419::-;28684:4;28722:2;28711:9;28707:18;28699:26;;28771:9;28765:4;28761:20;28757:1;28746:9;28742:17;28735:47;28799:131;28925:4;28799:131;:::i;:::-;28791:139;;28518:419;;;:::o;28943:147::-;29044:11;29081:3;29066:18;;28943:147;;;;:::o;29096:114::-;;:::o;29216:398::-;29375:3;29396:83;29477:1;29472:3;29396:83;:::i;:::-;29389:90;;29488:93;29577:3;29488:93;:::i;:::-;29606:1;29601:3;29597:11;29590:18;;29216:398;;;:::o;29620:379::-;29804:3;29826:147;29969:3;29826:147;:::i;:::-;29819:154;;29990:3;29983:10;;29620:379;;;:::o;30005:225::-;30145:34;30141:1;30133:6;30129:14;30122:58;30214:8;30209:2;30201:6;30197:15;30190:33;30005:225;:::o;30236:366::-;30378:3;30399:67;30463:2;30458:3;30399:67;:::i;:::-;30392:74;;30475:93;30564:3;30475:93;:::i;:::-;30593:2;30588:3;30584:12;30577:19;;30236:366;;;:::o;30608:419::-;30774:4;30812:2;30801:9;30797:18;30789:26;;30861:9;30855:4;30851:20;30847:1;30836:9;30832:17;30825:47;30889:131;31015:4;30889:131;:::i;:::-;30881:139;;30608:419;;;:::o;31033:180::-;31081:77;31078:1;31071:88;31178:4;31175:1;31168:15;31202:4;31199:1;31192:15;31219:180;31267:77;31264:1;31257:88;31364:4;31361:1;31354:15;31388:4;31385:1;31378:15;31405:143;31462:5;31493:6;31487:13;31478:22;;31509:33;31536:5;31509:33;:::i;:::-;31405:143;;;;:::o;31554:351::-;31624:6;31673:2;31661:9;31652:7;31648:23;31644:32;31641:119;;;31679:79;;:::i;:::-;31641:119;31799:1;31824:64;31880:7;31871:6;31860:9;31856:22;31824:64;:::i;:::-;31814:74;;31770:128;31554:351;;;;:::o;31911:85::-;31956:7;31985:5;31974:16;;31911:85;;;:::o;32002:158::-;32060:9;32093:61;32111:42;32120:32;32146:5;32120:32;:::i;:::-;32111:42;:::i;:::-;32093:61;:::i;:::-;32080:74;;32002:158;;;:::o;32166:147::-;32261:45;32300:5;32261:45;:::i;:::-;32256:3;32249:58;32166:147;;:::o;32319:114::-;32386:6;32420:5;32414:12;32404:22;;32319:114;;;:::o;32439:184::-;32538:11;32572:6;32567:3;32560:19;32612:4;32607:3;32603:14;32588:29;;32439:184;;;;:::o;32629:132::-;32696:4;32719:3;32711:11;;32749:4;32744:3;32740:14;32732:22;;32629:132;;;:::o;32767:108::-;32844:24;32862:5;32844:24;:::i;:::-;32839:3;32832:37;32767:108;;:::o;32881:179::-;32950:10;32971:46;33013:3;33005:6;32971:46;:::i;:::-;33049:4;33044:3;33040:14;33026:28;;32881:179;;;;:::o;33066:113::-;33136:4;33168;33163:3;33159:14;33151:22;;33066:113;;;:::o;33215:732::-;33334:3;33363:54;33411:5;33363:54;:::i;:::-;33433:86;33512:6;33507:3;33433:86;:::i;:::-;33426:93;;33543:56;33593:5;33543:56;:::i;:::-;33622:7;33653:1;33638:284;33663:6;33660:1;33657:13;33638:284;;;33739:6;33733:13;33766:63;33825:3;33810:13;33766:63;:::i;:::-;33759:70;;33852:60;33905:6;33852:60;:::i;:::-;33842:70;;33698:224;33685:1;33682;33678:9;33673:14;;33638:284;;;33642:14;33938:3;33931:10;;33339:608;;;33215:732;;;;:::o;33953:831::-;34216:4;34254:3;34243:9;34239:19;34231:27;;34268:71;34336:1;34325:9;34321:17;34312:6;34268:71;:::i;:::-;34349:80;34425:2;34414:9;34410:18;34401:6;34349:80;:::i;:::-;34476:9;34470:4;34466:20;34461:2;34450:9;34446:18;34439:48;34504:108;34607:4;34598:6;34504:108;:::i;:::-;34496:116;;34622:72;34690:2;34679:9;34675:18;34666:6;34622:72;:::i;:::-;34704:73;34772:3;34761:9;34757:19;34748:6;34704:73;:::i;:::-;33953:831;;;;;;;;:::o;34790:332::-;34911:4;34949:2;34938:9;34934:18;34926:26;;34962:71;35030:1;35019:9;35015:17;35006:6;34962:71;:::i;:::-;35043:72;35111:2;35100:9;35096:18;35087:6;35043:72;:::i;:::-;34790:332;;;;;:::o
Swarm Source
ipfs://636396323999e95344f98ad44274b97089c1a5799590bcb76cb7221b63885b56
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.