Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 14 from a total of 14 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 66793080 | 1058 days ago | IN | 0 ETH | 0.00005267 | ||||
| Approve | 63218837 | 1069 days ago | IN | 0 ETH | 0.00007202 | ||||
| Approve | 63218484 | 1069 days ago | IN | 0 ETH | 0.00007752 | ||||
| Approve | 63218213 | 1069 days ago | IN | 0 ETH | 0.00007752 | ||||
| Approve | 63218197 | 1069 days ago | IN | 0 ETH | 0.00007792 | ||||
| Approve | 63218080 | 1069 days ago | IN | 0 ETH | 0.00007752 | ||||
| Approve | 63217894 | 1069 days ago | IN | 0 ETH | 0.00007712 | ||||
| Approve | 63217885 | 1069 days ago | IN | 0 ETH | 0.00007752 | ||||
| Approve | 63217461 | 1069 days ago | IN | 0 ETH | 0.00007752 | ||||
| Approve | 63216421 | 1069 days ago | IN | 0 ETH | 0.00008437 | ||||
| Approve | 63215710 | 1069 days ago | IN | 0 ETH | 0.00008554 | ||||
| Approve | 63215341 | 1069 days ago | IN | 0 ETH | 0.00008554 | ||||
| Approve | 63215300 | 1069 days ago | IN | 0 ETH | 0.00008732 | ||||
| Approve | 63215207 | 1069 days ago | IN | 0 ETH | 0.00008554 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 63222009 | 1069 days ago | 0 ETH | ||||
| 63222009 | 1069 days ago | 0 ETH | ||||
| 63222009 | 1069 days ago | 0 ETH | ||||
| 63218394 | 1069 days ago | 0 ETH | ||||
| 63218394 | 1069 days ago | 0 ETH | ||||
| 63218394 | 1069 days ago | 0 ETH | ||||
| 63218303 | 1069 days ago | 0 ETH | ||||
| 63218303 | 1069 days ago | 0 ETH | ||||
| 63218303 | 1069 days ago | 0 ETH | ||||
| 63218303 | 1069 days ago | 0 ETH | ||||
| 63218297 | 1069 days ago | 0 ETH | ||||
| 63218297 | 1069 days ago | 0 ETH | ||||
| 63218297 | 1069 days ago | 0 ETH | ||||
| 63218297 | 1069 days ago | 0 ETH | ||||
| 63218260 | 1069 days ago | 0 ETH | ||||
| 63218260 | 1069 days ago | 0 ETH | ||||
| 63218260 | 1069 days ago | 0 ETH | ||||
| 63218226 | 1069 days ago | 0 ETH | ||||
| 63218226 | 1069 days ago | 0 ETH | ||||
| 63218226 | 1069 days ago | 0 ETH | ||||
| 63218226 | 1069 days ago | 0 ETH | ||||
| 63218218 | 1069 days ago | 0 ETH | ||||
| 63218218 | 1069 days ago | 0 ETH | ||||
| 63218211 | 1069 days ago | 0 ETH | ||||
| 63218211 | 1069 days ago | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PEPECASH
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/**
*Submitted for verification at Arbiscan.io on 2023-02-21
*/
/**
*Submitted for verification at Etherscan.io on 2023-02-16
*/
//SPDX-License-Identifier: Unlicensed
/**
https://t.me/Pepecasharbi
https://twitter.com/pepecasharbi
*/
pragma solidity ^0.8.7;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library Address{
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{value: amount}("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
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() {
_setOwner(_msgSender());
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IFactory{
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline) external;
}
contract PEPECASH is Context, IERC20, Ownable {
using Address for address payable;
mapping (address => uint256) private _rOwned;
mapping (address => uint256) private _tOwned;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private _isExcluded;
mapping (address => bool) public _isBlacklisted; // is blacklisted
address[] private _excluded;
bool public swapEnabled = true;
bool private swapping;
IRouter public router;
address public pair;
uint8 private constant _decimals = 9;
uint256 private constant MAX = ~uint256(0);
uint256 private _tTotal = 100_000 * 10**_decimals;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 public swapTokensAtAmount = 400 * 10**_decimals;
uint256 public maxTxAmount = 2_000 * 10**_decimals;
uint256 public maxWalletAmount = 2_000 * 10**_decimals;
address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;
address public marketingWallet = 0x3db496758161D1422AEa2F71C6F1d593359DE912;
string _name = "PEPE CASH";
string _symbol = "PEPECASH";
struct Taxes {
uint256 rfi;
uint256 marketing;
uint256 liquidity;
uint256 burn;
}
Taxes public taxes = Taxes(0,2,0,0);
struct TotFeesPaidStruct{
uint256 rfi;
uint256 marketing;
uint256 liquidity;
uint256 burn;
}
TotFeesPaidStruct public totFeesPaid;
struct valuesFromGetValues{
uint256 rAmount;
uint256 rTransferAmount;
uint256 rRfi;
uint256 rMarketing;
uint256 rLiquidity;
uint256 rBurn;
uint256 tTransferAmount;
uint256 tRfi;
uint256 tMarketing;
uint256 tLiquidity;
uint256 tBurn;
}
event UpdatedRouter(address oldRouter, address newRouter);
modifier lockTheSwap {
swapping = true;
_;
swapping = false;
}
constructor () {
IRouter _router = IRouter(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
address _pair = IFactory(_router.factory())
.createPair(address(this), _router.WETH());
router = _router;
pair = _pair;
excludeFromReward(pair);
excludeFromReward(deadAddress);
_rOwned[owner()] = _rTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[marketingWallet]=true;
_isExcludedFromFee[deadAddress] = true;
emit Transfer(address(0), owner(), _tTotal);
}
function name() external view override returns (string memory) {
return _name;
}
function symbol() external view override returns (string memory) {
return _symbol;
}
function changeName(string memory newName) external onlyOwner {
_name = newName;
}
function changeSymbol(string memory newSymbol) external onlyOwner {
_symbol = newSymbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
if (_isExcluded[account]) return _tOwned[account];
return tokenFromReflection(_rOwned[account]);
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - 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");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function isExcludedFromReward(address account) public view returns (bool) {
return _isExcluded[account];
}
function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns(uint256) {
require(tAmount <= _tTotal, "Amount must be less than supply");
if (!deductTransferRfi) {
valuesFromGetValues memory s = _getValues(tAmount, true);
return s.rAmount;
} else {
valuesFromGetValues memory s = _getValues(tAmount, true);
return s.rTransferAmount;
}
}
function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
require(rAmount <= _rTotal, "Amount must be less than total reflections");
uint256 currentRate = _getRate();
return rAmount/currentRate;
}
function excludeFromReward(address account) public onlyOwner {
require(!_isExcluded[account], "Account is already excluded");
if(_rOwned[account] > 0) {
_tOwned[account] = tokenFromReflection(_rOwned[account]);
}
_isExcluded[account] = true;
_excluded.push(account);
}
function includeInReward(address account) external onlyOwner {
require(_isExcluded[account], "Account is not excluded");
for (uint256 i = 0; i < _excluded.length; i++) {
if (_excluded[i] == account) {
_excluded[i] = _excluded[_excluded.length - 1];
_tOwned[account] = 0;
_isExcluded[account] = false;
_excluded.pop();
break;
}
}
}
function excludeFromFee(address account) public onlyOwner {
_isExcludedFromFee[account] = true;
}
function includeInFee(address account) public onlyOwner {
_isExcludedFromFee[account] = false;
}
function isExcludedFromFee(address account) public view returns(bool) {
return _isExcludedFromFee[account];
}
function setTaxes(uint256 _rfi, uint256 _marketing, uint256 _liquidity, uint256 _burn) public onlyOwner {
taxes = Taxes(_rfi, _marketing, _liquidity, _burn);
}
function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
_rTotal -=rRfi;
totFeesPaid.rfi +=tRfi;
}
function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private {
totFeesPaid.liquidity +=tLiquidity;
if(_isExcluded[address(this)])
{
_tOwned[address(this)]+=tLiquidity;
}
_rOwned[address(this)] +=rLiquidity;
}
function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private {
totFeesPaid.marketing +=tMarketing;
if(_isExcluded[address(this)])
{
_tOwned[address(this)]+=tMarketing;
}
_rOwned[address(this)] +=rMarketing;
}
function _takeBurn(uint256 rBurn, uint256 tBurn) private{
totFeesPaid.burn +=tBurn;
if(_isExcluded[deadAddress])
{
_tOwned[deadAddress]+=tBurn;
}
_rOwned[deadAddress] +=rBurn;
}
function _getValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory to_return) {
to_return = _getTValues(tAmount, takeFee);
(to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rMarketing, to_return.rLiquidity, to_return.rBurn) = _getRValues(to_return, tAmount, takeFee, _getRate());
return to_return;
}
function _getTValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory s) {
if(!takeFee) {
s.tTransferAmount = tAmount;
return s;
}
s.tRfi = tAmount*taxes.rfi/100;
s.tMarketing = tAmount*taxes.marketing/100;
s.tLiquidity = tAmount*taxes.liquidity/100;
s.tBurn = tAmount*taxes.burn/100;
s.tTransferAmount = tAmount-s.tRfi-s.tMarketing-s.tLiquidity-s.tBurn;
return s;
}
function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (uint256 rAmount, uint256 rTransferAmount, uint256 rRfi, uint256 rMarketing, uint256 rLiquidity, uint256 rBurn) {
rAmount = tAmount*currentRate;
if(!takeFee) {
return(rAmount, rAmount, 0,0,0,0);
}
rRfi = s.tRfi*currentRate;
rMarketing = s.tMarketing*currentRate;
rLiquidity = s.tLiquidity*currentRate;
rBurn = s.rBurn*currentRate;
rTransferAmount = rAmount-rRfi-rMarketing-rLiquidity-rBurn;
return (rAmount, rTransferAmount, rRfi,rMarketing,rLiquidity, rBurn);
}
function _getRate() private view returns(uint256) {
(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
return rSupply/tSupply;
}
function _getCurrentSupply() private view returns(uint256, uint256) {
uint256 rSupply = _rTotal;
uint256 tSupply = _tTotal;
for (uint256 i = 0; i < _excluded.length; i++) {
if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
rSupply = rSupply-_rOwned[_excluded[i]];
tSupply = tSupply-_tOwned[_excluded[i]];
}
if (rSupply < _rTotal/_tTotal) return (_rTotal, _tTotal);
return (rSupply, tSupply);
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
require(
amount <= balanceOf(from),
"You are trying to transfer more than your balance"
);
if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
if (to != pair)
require(
balanceOf(to) + amount <= maxWalletAmount,
"You are exceeding maxWalletAmount"
);
require(amount <= maxTxAmount, "You are esceeding maxTxAmount");
}
require(
!_isBlacklisted[from] && !_isBlacklisted[to],
"To/from address is blacklisted!"
);
bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;
if (
!swapping &&
swapEnabled &&
canSwap &&
from != pair &&
!_isExcludedFromFee[from] &&
!_isExcludedFromFee[to]
) {
swapAndLiquify(swapTokensAtAmount);
}
_tokenTransfer(
from,
to,
amount,
!(_isExcludedFromFee[from] || _isExcludedFromFee[to])
);
}
//this method is responsible for taking all fee, if takeFee is true
function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private {
valuesFromGetValues memory s = _getValues(tAmount, takeFee);
if (_isExcluded[sender] ) { //from excluded
_tOwned[sender] = _tOwned[sender]-tAmount;
}
if (_isExcluded[recipient]) { //to excluded
_tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
}
_rOwned[sender] = _rOwned[sender]-s.rAmount;
_rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
if(s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi);
if(s.rLiquidity > 0 || s.tLiquidity > 0) {
_takeLiquidity(s.rLiquidity,s.tLiquidity);
}
if(s.rMarketing > 0 || s.tMarketing > 0){
_takeMarketing(s.rMarketing, s.tMarketing);
}
if(s.rBurn > 0 || s.tBurn > 0){
_takeBurn(s.rBurn, s.tBurn);
emit Transfer(sender, deadAddress, s.tBurn);
}
emit Transfer(sender, recipient, s.tTransferAmount);
emit Transfer(sender, address(this), s.tLiquidity + s.tMarketing);
}
function swapAndLiquify(uint256 tokens) private lockTheSwap{
// Split the contract balance into halves
uint256 denominator = (taxes.liquidity + taxes.marketing ) * 2;
uint256 tokensToAddLiquidityWith = tokens * taxes.liquidity / denominator;
uint256 toSwap = tokens - tokensToAddLiquidityWith;
uint256 initialBalance = address(this).balance;
swapTokensForBNB(toSwap);
uint256 deltaBalance = address(this).balance - initialBalance;
uint256 unitBalance= deltaBalance / (denominator - taxes.liquidity);
uint256 bnbToAddLiquidityWith = unitBalance * taxes.liquidity;
if(bnbToAddLiquidityWith > 0){
// Add liquidity to pancake
addLiquidity(tokensToAddLiquidityWith, bnbToAddLiquidityWith);
}
uint256 marketingAmt = unitBalance * 2 * taxes.marketing;
if(marketingAmt > 0){
payable(marketingWallet).sendValue(marketingAmt);
}
}
function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
// approve token transfer to cover all possible scenarios
_approve(address(this), address(router), tokenAmount);
// add the liquidity
router.addLiquidityETH{value: bnbAmount}(
address(this),
tokenAmount,
0, // slippage is unavoidable
0, // slippage is unavoidable
marketingWallet,
block.timestamp
);
}
function swapTokensForBNB(uint256 tokenAmount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tokenAmount);
// make the swap
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // accept any amount of ETH
path,
address(this),
block.timestamp
);
}
function updatemarketingWallet(address newWallet) external onlyOwner{
marketingWallet = newWallet;
_isExcludedFromFee[marketingWallet] = true;
}
//Remove from Blacklist
function removeFromBlackList(address account) external onlyOwner {
_isBlacklisted[account] = false;
}
//adding multiple addresses to the blacklist - Used to manually block known bots and scammers
function addToBlackList(address[] calldata addresses) external onlyOwner {
for (uint256 i; i < addresses.length; ++i) {
_isBlacklisted[addresses[i]] = true;
}
}
function updateMaxTxAmount(uint256 amount) external onlyOwner{
maxTxAmount = amount * 10**_decimals;
}
function updateMaxWalletBalance(uint256 amount) external onlyOwner{
maxWalletAmount = amount * 10**_decimals;
}
function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
swapTokensAtAmount = amount * 10**_decimals;
}
function updateSwapEnabled(bool _enabled) external onlyOwner{
swapEnabled = _enabled;
}
function updateRouterAndPair(address newRouter, address newPair) external onlyOwner{
// Thanks Freezy
router = IRouter(newRouter);
pair = newPair;
}
//Use this in case BNB are sent to the contract by mistake
function rescueBNB(uint256 weiAmount) external onlyOwner{
require(address(this).balance >= weiAmount, "insufficient BNB balance");
payable(msg.sender).transfer(weiAmount);
}
// Function to allow admin to claim *other* BEP20 tokens sent to this contract (by mistake)
// Owner cannot transfer out catecoin from this smart contract
function rescueAnyBEP20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner {
IERC20(_tokenAddr).transfer(_to, _amount);
}
receive() external payable{
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"}],"name":"UpdatedRouter","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"addToBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"string","name":"newName","type":"string"}],"name":"changeName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSymbol","type":"string"}],"name":"changeSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyBEP20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rfi","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"}],"name":"setTaxes","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":"taxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updatemarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526008805460ff191660011790556200001f6009600a62000a2f565b6200002e90620186a062000af0565b600a819055620000419060001962000b87565b6200004f9060001962000b12565b600b55620000606009600a62000a2f565b6200006e9061019062000af0565b600c556200007f6009600a62000a2f565b6200008d906107d062000af0565b600d556200009e6009600a62000a2f565b620000ac906107d062000af0565b600e55600f80546001600160a01b031916733db496758161d1422aea2f71c6f1d593359de912179055604080518082019091526009808252680a08aa08a408682a6960bb1b60209092019182526200010791601091620008fe565b50604080518082019091526008808252670a08aa08a8682a6960c31b60209092019182526200013991601191620008fe565b506040805160808101825260008082526002602083018190529282018190526060909101819052601281905560139190915560148190556015553480156200018057600080fd5b506200018c33620004c5565b6000731b02da8cb0d097eb8d57a175b88c7d8b4799750690506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e157600080fd5b505afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c9190620009a4565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026557600080fd5b505afa1580156200027a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a09190620009a4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002e957600080fd5b505af1158015620002fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003249190620009a4565b600880546001600160a01b03808616620100000262010000600160b01b031990921691909117909155600980549183166001600160a01b031990921682179055909150620003729062000515565b6200037f61dead62000515565b600b5460016000620003996000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160046000620003d3620006a360201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600f549091168352908220805484168217905561dead9091527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd80549092161790556200046d6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620004b591815260200190565b60405180910390a3505062000be0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620005755760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff1615620005e05760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016200056c565b6001600160a01b038116600090815260016020526040902054156200063d576001600160a01b0381166000908152600160205260409020546200062390620006b2565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6000546001600160a01b031690565b6000600b548211156200071b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016200056c565b6000620007276200073c565b9050620007358184620009cf565b9392505050565b600080806200074a62000762565b90925090506200075b8183620009cf565b9250505090565b600b54600a546000918291825b600754811015620008ca5782600160006007848154811062000795576200079562000bca565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180620008045750816002600060078481548110620007dd57620007dd62000bca565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200081b57600b54600a54945094505050509091565b600160006007838154811062000835576200083562000bca565b60009182526020808320909101546001600160a01b0316835282019290925260400190205462000866908462000b12565b9250600260006007838154811062000882576200088262000bca565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620008b3908362000b12565b915080620008c18162000b69565b9150506200076f565b50600a54600b54620008dd9190620009cf565b821015620008f557600b54600a549350935050509091565b90939092509050565b8280546200090c9062000b2c565b90600052602060002090601f0160209004810192826200093057600085556200097b565b82601f106200094b57805160ff19168380011785556200097b565b828001600101855582156200097b579182015b828111156200097b5782518255916020019190600101906200095e565b50620009899291506200098d565b5090565b5b808211156200098957600081556001016200098e565b600060208284031215620009b757600080fd5b81516001600160a01b03811681146200073557600080fd5b600082620009e157620009e162000bb4565b500490565b600181815b8085111562000a2757816000190482111562000a0b5762000a0b62000b9e565b8085161562000a1957918102915b93841c9390800290620009eb565b509250929050565b60006200073560ff84168360008262000a4b5750600162000aea565b8162000a5a5750600062000aea565b816001811462000a73576002811462000a7e5762000a9e565b600191505062000aea565b60ff84111562000a925762000a9262000b9e565b50506001821b62000aea565b5060208310610133831016604e8410600b841016171562000ac3575081810a62000aea565b62000acf8383620009e6565b806000190482111562000ae65762000ae662000b9e565b0290505b92915050565b600081600019048311821515161562000b0d5762000b0d62000b9e565b500290565b60008282101562000b275762000b2762000b9e565b500390565b600181811c9082168062000b4157607f821691505b6020821081141562000b6357634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141562000b805762000b8062000b9e565b5060010190565b60008262000b995762000b9962000bb4565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b612f688062000bf06000396000f3fe6080604052600436106102815760003560e01c8063715018a61161014f578063a457c2d7116100c1578063dd62ed3e1161007a578063dd62ed3e146107e9578063e2f456051461082f578063ea2f0b3714610845578063f2fde38b14610865578063f887ea4014610885578063ff897570146108ab57600080fd5b8063a457c2d714610733578063a8aa1b3114610753578063a9059cbb14610773578063aa4bde2814610793578063bff78169146107a9578063d257b34f146107c957600080fd5b80638da5cb5b116101135780638da5cb5b1461067d578063924de9b71461069b57806395d89b41146106bb5780639ba5e4d5146106d0578063a12a7d61146106f3578063a3895fff1461071357600080fd5b8063715018a6146105b6578063728f8eea146105cb57806375f0a8741461060e57806388f820201461062e5780638c0b5e221461066757600080fd5b806340b28c2f116101f357806352390c02116101ac57806352390c02146104e35780635342acb4146105035780635353a2d81461053c5780636256d1811461055c5780636ddd17131461057c57806370a082311461059657600080fd5b806340b28c2f14610423578063437823ec14610443578063441b1d30146104635780634549b0391461048357806347c23092146104a35780634a49ac4c146104c357600080fd5b806323b872dd1161024557806323b872dd1461035957806327c8f835146103795780632d838119146103a7578063313ce567146103c75780633685d419146103e3578063395093511461040357600080fd5b806306fdde031461028d578063095ea7b3146102b857806318160ddd146102e8578063188b1bf1146103075780631cdd3be31461032957600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a26108cb565b6040516102af9190612c08565b60405180910390f35b3480156102c457600080fd5b506102d86102d33660046129de565b61095d565b60405190151581526020016102af565b3480156102f457600080fd5b50600a545b6040519081526020016102af565b34801561031357600080fd5b50610327610322366004612b6a565b610974565b005b34801561033557600080fd5b506102d861034436600461292a565b60066020526000908152604090205460ff1681565b34801561036557600080fd5b506102d861037436600461299d565b6109c3565b34801561038557600080fd5b5061038f61dead81565b6040516001600160a01b0390911681526020016102af565b3480156103b357600080fd5b506102f96103c2366004612b6a565b610a74565b3480156103d357600080fd5b50604051600981526020016102af565b3480156103ef57600080fd5b506103276103fe36600461292a565b610af8565b34801561040f57600080fd5b506102d861041e3660046129de565b610caf565b34801561042f57600080fd5b5061032761043e366004612964565b610ce6565b34801561044f57600080fd5b5061032761045e36600461292a565b610d4a565b34801561046f57600080fd5b5061032761047e366004612b6a565b610d98565b34801561048f57600080fd5b506102f961049e366004612b83565b610e3f565b3480156104af57600080fd5b506103276104be36600461299d565b610ec9565b3480156104cf57600080fd5b506103276104de36600461292a565b610f7b565b3480156104ef57600080fd5b506103276104fe36600461292a565b610fc6565b34801561050f57600080fd5b506102d861051e36600461292a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561054857600080fd5b50610327610557366004612ab9565b611119565b34801561056857600080fd5b50610327610577366004612b6a565b611156565b34801561058857600080fd5b506008546102d89060ff1681565b3480156105a257600080fd5b506102f96105b136600461292a565b61119c565b3480156105c257600080fd5b506103276111fb565b3480156105d757600080fd5b506012546013546014546015546105ee9392919084565b6040805194855260208501939093529183015260608201526080016102af565b34801561061a57600080fd5b50600f5461038f906001600160a01b031681565b34801561063a57600080fd5b506102d861064936600461292a565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561067357600080fd5b506102f9600d5481565b34801561068957600080fd5b506000546001600160a01b031661038f565b3480156106a757600080fd5b506103276106b6366004612a7f565b611231565b3480156106c757600080fd5b506102a261126e565b3480156106dc57600080fd5b506016546017546018546019546105ee9392919084565b3480156106ff57600080fd5b5061032761070e366004612bd6565b61127d565b34801561071f57600080fd5b5061032761072e366004612ab9565b6112db565b34801561073f57600080fd5b506102d861074e3660046129de565b611318565b34801561075f57600080fd5b5060095461038f906001600160a01b031681565b34801561077f57600080fd5b506102d861078e3660046129de565b6113b3565b34801561079f57600080fd5b506102f9600e5481565b3480156107b557600080fd5b506103276107c436600461292a565b6113c0565b3480156107d557600080fd5b506103276107e4366004612b6a565b611424565b3480156107f557600080fd5b506102f9610804366004612964565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561083b57600080fd5b506102f9600c5481565b34801561085157600080fd5b5061032761086036600461292a565b61146a565b34801561087157600080fd5b5061032761088036600461292a565b6114b5565b34801561089157600080fd5b5060085461038f906201000090046001600160a01b031681565b3480156108b757600080fd5b506103276108c6366004612a0a565b611550565b6060601080546108da90612e61565b80601f016020809104026020016040519081016040528092919081815260200182805461090690612e61565b80156109535780601f1061092857610100808354040283529160200191610953565b820191906000526020600020905b81548152906001019060200180831161093657829003601f168201915b5050505050905090565b600061096a3384846115ef565b5060015b92915050565b6000546001600160a01b031633146109a75760405162461bcd60e51b815260040161099e90612c5d565b60405180910390fd5b6109b36009600a612d80565b6109bd9082612e2b565b600e5550565b60006109d0848484611713565b6001600160a01b038416600090815260036020908152604080832033845290915290205482811015610a555760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161099e565b610a698533610a648685612e4a565b6115ef565b506001949350505050565b6000600b54821115610adb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161099e565b6000610ae5611b51565b9050610af18184612d1b565b9392505050565b6000546001600160a01b03163314610b225760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03811660009081526005602052604090205460ff16610b8a5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604482015260640161099e565b60005b600754811015610cab57816001600160a01b031660078281548110610bb457610bb4612ee3565b6000918252602090912001546001600160a01b03161415610c995760078054610bdf90600190612e4a565b81548110610bef57610bef612ee3565b600091825260209091200154600780546001600160a01b039092169183908110610c1b57610c1b612ee3565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556007805480610c7357610c73612ecd565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610ca381612e9c565b915050610b8d565b5050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161096a918590610a64908690612d03565b6000546001600160a01b03163314610d105760405162461bcd60e51b815260040161099e90612c5d565b6008805462010000600160b01b031916620100006001600160a01b0394851602179055600980546001600160a01b03191691909216179055565b6000546001600160a01b03163314610d745760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610dc25760405162461bcd60e51b815260040161099e90612c5d565b80471015610e125760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e7420424e422062616c616e63650000000000000000604482015260640161099e565b604051339082156108fc029083906000818181858888f19350505050158015610cab573d6000803e3d6000fd5b6000600a54831115610e935760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161099e565b81610eaf576000610ea5846001611b74565b51915061096e9050565b6000610ebc846001611b74565b60200151915061096e9050565b6000546001600160a01b03163314610ef35760405162461bcd60e51b815260040161099e90612c5d565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b158015610f3d57600080fd5b505af1158015610f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f759190612a9c565b50505050565b6000546001600160a01b03163314610fa55760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314610ff05760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03811660009081526005602052604090205460ff16156110595760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161099e565b6001600160a01b038116600090815260016020526040902054156110b3576001600160a01b03811660009081526001602052604090205461109990610a74565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6000546001600160a01b031633146111435760405162461bcd60e51b815260040161099e90612c5d565b8051610cab906010906020840190612837565b6000546001600160a01b031633146111805760405162461bcd60e51b815260040161099e90612c5d565b61118c6009600a612d80565b6111969082612e2b565b600d5550565b6001600160a01b03811660009081526005602052604081205460ff16156111d957506001600160a01b031660009081526002602052604090205490565b6001600160a01b03821660009081526001602052604090205461096e90610a74565b6000546001600160a01b031633146112255760405162461bcd60e51b815260040161099e90612c5d565b61122f6000611bbc565b565b6000546001600160a01b0316331461125b5760405162461bcd60e51b815260040161099e90612c5d565b6008805460ff1916911515919091179055565b6060601180546108da90612e61565b6000546001600160a01b031633146112a75760405162461bcd60e51b815260040161099e90612c5d565b6040805160808101825285815260208101859052908101839052606001819052601293909355601391909155601455601555565b6000546001600160a01b031633146113055760405162461bcd60e51b815260040161099e90612c5d565b8051610cab906011906020840190612837565b3360009081526003602090815260408083206001600160a01b03861684529091528120548281101561139a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161099e565b6113a93385610a648685612e4a565b5060019392505050565b600061096a338484611713565b6000546001600160a01b031633146113ea5760405162461bcd60e51b815260040161099e90612c5d565b600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600460205260409020805460ff19166001179055565b6000546001600160a01b0316331461144e5760405162461bcd60e51b815260040161099e90612c5d565b61145a6009600a612d80565b6114649082612e2b565b600c5550565b6000546001600160a01b031633146114945760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146114df5760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b0381166115445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161099e565b61154d81611bbc565b50565b6000546001600160a01b0316331461157a5760405162461bcd60e51b815260040161099e90612c5d565b60005b818110156115ea5760016006600085858581811061159d5761159d612ee3565b90506020020160208101906115b2919061292a565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556115e381612e9c565b905061157d565b505050565b6001600160a01b0383166116515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161099e565b6001600160a01b0382166116b25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161099e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161099e565b6001600160a01b0382166117d95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161099e565b6000811161183b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161099e565b6118448361119c565b8111156118ad5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161099e565b6001600160a01b03831660009081526004602052604090205460ff161580156118ef57506001600160a01b03821660009081526004602052604090205460ff16155b156119ca576009546001600160a01b0383811691161461197857600e54816119168461119c565b6119209190612d03565b11156119785760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b606482015260840161099e565b600d548111156119ca5760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657363656564696e67206d61785478416d6f756e74000000604482015260640161099e565b6001600160a01b03831660009081526006602052604090205460ff16158015611a0c57506001600160a01b03821660009081526006602052604090205460ff16155b611a585760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100604482015260640161099e565b6000600c54611a663061119c565b6008549111159150610100900460ff16158015611a85575060085460ff165b8015611a8e5750805b8015611aa857506009546001600160a01b03858116911614155b8015611acd57506001600160a01b03841660009081526004602052604090205460ff16155b8015611af257506001600160a01b03831660009081526004602052604090205460ff16155b15611b0257611b02600c54611c0c565b6001600160a01b038416600090815260046020526040902054610f759085908590859060ff1680611b4b57506001600160a01b03871660009081526004602052604090205460ff165b15611d0f565b6000806000611b5e61201e565b9092509050611b6d8183612d1b565b9250505090565b611b7c6128bb565b611b8683836121a1565b9050611b9b818484611b96611b51565b61227f565b60a08701526080860152606085015260408401526020830152815292915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6008805461ff001916610100179055601354601454600091611c2d91612d03565b611c38906002612e2b565b905060008160126002015484611c4e9190612e2b565b611c589190612d1b565b90506000611c668285612e4a565b905047611c7282612330565b6000611c7e8247612e4a565b601454909150600090611c919087612e4a565b611c9b9083612d1b565b601454909150600090611cae9083612e2b565b90508015611cc057611cc086826124be565b601354600090611cd1846002612e2b565b611cdb9190612e2b565b90508015611cf957600f54611cf9906001600160a01b03168261258d565b50506008805461ff001916905550505050505050565b6000611d1b8383611b74565b6001600160a01b03861660009081526005602052604090205490915060ff1615611d7d576001600160a01b038516600090815260026020526040902054611d63908490612e4a565b6001600160a01b0386166000908152600260205260409020555b6001600160a01b03841660009081526005602052604090205460ff1615611de05760c08101516001600160a01b038516600090815260026020526040902054611dc69190612d03565b6001600160a01b0385166000908152600260205260409020555b80516001600160a01b038616600090815260016020526040902054611e059190612e4a565b6001600160a01b0380871660009081526001602090815260408083209490945584015191871681529190912054611e3c9190612d03565b6001600160a01b0385166000908152600160205260409081902091909155810151151580611e6e575060008160e00151115b15611e8557611e8581604001518260e001516126a6565b600081608001511180611e9d57506000816101200151115b15611eb557611eb581608001518261012001516126db565b600081606001511180611ecd57506000816101000151115b15611ee557611ee58160600151826101000151612751565b60008160a001511180611efd57506000816101400151115b15611f6a57611f158160a00151826101400151612766565b61dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836101400151604051611f6191815260200190565b60405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c00151604051611fb391815260200190565b60405180910390a3306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518461012001516120069190612d03565b60405190815260200160405180910390a35050505050565b600b54600a546000918291825b6007548110156121705782600160006007848154811061204d5761204d612ee3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806120b8575081600260006007848154811061209157612091612ee3565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156120ce57600b54600a54945094505050509091565b60016000600783815481106120e5576120e5612ee3565b60009182526020808320909101546001600160a01b031683528201929092526040019020546121149084612e4a565b9250600260006007838154811061212d5761212d612ee3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461215c9083612e4a565b91508061216881612e9c565b91505061202b565b50600a54600b546121819190612d1b565b82101561219857600b54600a549350935050509091565b90939092509050565b6121a96128bb565b816121ba5760c0810183905261096e565b6012546064906121ca9085612e2b565b6121d49190612d1b565b60e08201526013546064906121e99085612e2b565b6121f39190612d1b565b6101008201526014546064906122099085612e2b565b6122139190612d1b565b6101208201526015546064906122299085612e2b565b6122339190612d1b565b610140820181905261012082015161010083015160e08401516122569087612e4a565b6122609190612e4a565b61226a9190612e4a565b6122749190612e4a565b60c082015292915050565b60008080808080612290878a612e2b565b9550876122ab57508493506000925082915081905080612323565b868a60e001516122bb9190612e2b565b9350868a61010001516122ce9190612e2b565b9250868a61012001516122e19190612e2b565b9150868a60a001516122f39190612e2b565b9050808284612302878a612e4a565b61230c9190612e4a565b6123169190612e4a565b6123209190612e4a565b94505b9499939850945094509450565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061236557612365612ee3565b60200260200101906001600160a01b031690816001600160a01b031681525050600860029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156123d357600080fd5b505afa1580156123e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240b9190612947565b8160018151811061241e5761241e612ee3565b6001600160a01b03928316602091820292909201015260085461244a91309162010000900416846115ef565b60085460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612488908590600090869030904290600401612c92565b600060405180830381600087803b1580156124a257600080fd5b505af11580156124b6573d6000803e3d6000fd5b505050505050565b6008546124dc9030906201000090046001600160a01b0316846115ef565b600854600f5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015262010000909204169063f305d71990839060c4016060604051808303818588803b15801561254d57600080fd5b505af1158015612561573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125869190612ba8565b5050505050565b804710156125dd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161099e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461262a576040519150601f19603f3d011682016040523d82523d6000602084013e61262f565b606091505b50509050806115ea5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161099e565b81600b60008282546126b89190612e4a565b9091555050601680548291906000906126d2908490612d03565b90915550505050565b80601660020160008282546126f09190612d03565b90915550503060009081526005602052604090205460ff161561273257306000908152600260205260408120805483929061272c908490612d03565b90915550505b30600090815260016020526040812080548492906126d2908490612d03565b80601660010160008282546126f09190612d03565b806016600301600082825461277b9190612d03565b909155505061dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460ff16156127f95761dead600090815260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc80548392906127f3908490612d03565b90915550505b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906126d2908490612d03565b82805461284390612e61565b90600052602060002090601f01602090048101928261286557600085556128ab565b82601f1061287e57805160ff19168380011785556128ab565b828001600101855582156128ab579182015b828111156128ab578251825591602001919060010190612890565b506128b7929150612915565b5090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5b808211156128b75760008155600101612916565b60006020828403121561293c57600080fd5b8135610af181612f0f565b60006020828403121561295957600080fd5b8151610af181612f0f565b6000806040838503121561297757600080fd5b823561298281612f0f565b9150602083013561299281612f0f565b809150509250929050565b6000806000606084860312156129b257600080fd5b83356129bd81612f0f565b925060208401356129cd81612f0f565b929592945050506040919091013590565b600080604083850312156129f157600080fd5b82356129fc81612f0f565b946020939093013593505050565b60008060208385031215612a1d57600080fd5b823567ffffffffffffffff80821115612a3557600080fd5b818501915085601f830112612a4957600080fd5b813581811115612a5857600080fd5b8660208260051b8501011115612a6d57600080fd5b60209290920196919550909350505050565b600060208284031215612a9157600080fd5b8135610af181612f24565b600060208284031215612aae57600080fd5b8151610af181612f24565b600060208284031215612acb57600080fd5b813567ffffffffffffffff80821115612ae357600080fd5b818401915084601f830112612af757600080fd5b813581811115612b0957612b09612ef9565b604051601f8201601f19908116603f01168101908382118183101715612b3157612b31612ef9565b81604052828152876020848701011115612b4a57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215612b7c57600080fd5b5035919050565b60008060408385031215612b9657600080fd5b82359150602083013561299281612f24565b600080600060608486031215612bbd57600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215612bec57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015612c3557858101830151858201604001528201612c19565b81811115612c47576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612ce25784516001600160a01b031683529383019391830191600101612cbd565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612d1657612d16612eb7565b500190565b600082612d3857634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115612d78578160001904821115612d5e57612d5e612eb7565b80851615612d6b57918102915b93841c9390800290612d42565b509250929050565b6000610af160ff841683600082612d995750600161096e565b81612da65750600061096e565b8160018114612dbc5760028114612dc657612de2565b600191505061096e565b60ff841115612dd757612dd7612eb7565b50506001821b61096e565b5060208310610133831016604e8410600b8410161715612e05575081810a61096e565b612e0f8383612d3d565b8060001904821115612e2357612e23612eb7565b029392505050565b6000816000190483118215151615612e4557612e45612eb7565b500290565b600082821015612e5c57612e5c612eb7565b500390565b600181811c90821680612e7557607f821691505b60208210811415612e9657634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612eb057612eb0612eb7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461154d57600080fd5b801515811461154d57600080fdfea2646970667358221220365b47262584fd5ed4629fc129382a1df48691010822a643925605669deef56c64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106102815760003560e01c8063715018a61161014f578063a457c2d7116100c1578063dd62ed3e1161007a578063dd62ed3e146107e9578063e2f456051461082f578063ea2f0b3714610845578063f2fde38b14610865578063f887ea4014610885578063ff897570146108ab57600080fd5b8063a457c2d714610733578063a8aa1b3114610753578063a9059cbb14610773578063aa4bde2814610793578063bff78169146107a9578063d257b34f146107c957600080fd5b80638da5cb5b116101135780638da5cb5b1461067d578063924de9b71461069b57806395d89b41146106bb5780639ba5e4d5146106d0578063a12a7d61146106f3578063a3895fff1461071357600080fd5b8063715018a6146105b6578063728f8eea146105cb57806375f0a8741461060e57806388f820201461062e5780638c0b5e221461066757600080fd5b806340b28c2f116101f357806352390c02116101ac57806352390c02146104e35780635342acb4146105035780635353a2d81461053c5780636256d1811461055c5780636ddd17131461057c57806370a082311461059657600080fd5b806340b28c2f14610423578063437823ec14610443578063441b1d30146104635780634549b0391461048357806347c23092146104a35780634a49ac4c146104c357600080fd5b806323b872dd1161024557806323b872dd1461035957806327c8f835146103795780632d838119146103a7578063313ce567146103c75780633685d419146103e3578063395093511461040357600080fd5b806306fdde031461028d578063095ea7b3146102b857806318160ddd146102e8578063188b1bf1146103075780631cdd3be31461032957600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a26108cb565b6040516102af9190612c08565b60405180910390f35b3480156102c457600080fd5b506102d86102d33660046129de565b61095d565b60405190151581526020016102af565b3480156102f457600080fd5b50600a545b6040519081526020016102af565b34801561031357600080fd5b50610327610322366004612b6a565b610974565b005b34801561033557600080fd5b506102d861034436600461292a565b60066020526000908152604090205460ff1681565b34801561036557600080fd5b506102d861037436600461299d565b6109c3565b34801561038557600080fd5b5061038f61dead81565b6040516001600160a01b0390911681526020016102af565b3480156103b357600080fd5b506102f96103c2366004612b6a565b610a74565b3480156103d357600080fd5b50604051600981526020016102af565b3480156103ef57600080fd5b506103276103fe36600461292a565b610af8565b34801561040f57600080fd5b506102d861041e3660046129de565b610caf565b34801561042f57600080fd5b5061032761043e366004612964565b610ce6565b34801561044f57600080fd5b5061032761045e36600461292a565b610d4a565b34801561046f57600080fd5b5061032761047e366004612b6a565b610d98565b34801561048f57600080fd5b506102f961049e366004612b83565b610e3f565b3480156104af57600080fd5b506103276104be36600461299d565b610ec9565b3480156104cf57600080fd5b506103276104de36600461292a565b610f7b565b3480156104ef57600080fd5b506103276104fe36600461292a565b610fc6565b34801561050f57600080fd5b506102d861051e36600461292a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561054857600080fd5b50610327610557366004612ab9565b611119565b34801561056857600080fd5b50610327610577366004612b6a565b611156565b34801561058857600080fd5b506008546102d89060ff1681565b3480156105a257600080fd5b506102f96105b136600461292a565b61119c565b3480156105c257600080fd5b506103276111fb565b3480156105d757600080fd5b506012546013546014546015546105ee9392919084565b6040805194855260208501939093529183015260608201526080016102af565b34801561061a57600080fd5b50600f5461038f906001600160a01b031681565b34801561063a57600080fd5b506102d861064936600461292a565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561067357600080fd5b506102f9600d5481565b34801561068957600080fd5b506000546001600160a01b031661038f565b3480156106a757600080fd5b506103276106b6366004612a7f565b611231565b3480156106c757600080fd5b506102a261126e565b3480156106dc57600080fd5b506016546017546018546019546105ee9392919084565b3480156106ff57600080fd5b5061032761070e366004612bd6565b61127d565b34801561071f57600080fd5b5061032761072e366004612ab9565b6112db565b34801561073f57600080fd5b506102d861074e3660046129de565b611318565b34801561075f57600080fd5b5060095461038f906001600160a01b031681565b34801561077f57600080fd5b506102d861078e3660046129de565b6113b3565b34801561079f57600080fd5b506102f9600e5481565b3480156107b557600080fd5b506103276107c436600461292a565b6113c0565b3480156107d557600080fd5b506103276107e4366004612b6a565b611424565b3480156107f557600080fd5b506102f9610804366004612964565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561083b57600080fd5b506102f9600c5481565b34801561085157600080fd5b5061032761086036600461292a565b61146a565b34801561087157600080fd5b5061032761088036600461292a565b6114b5565b34801561089157600080fd5b5060085461038f906201000090046001600160a01b031681565b3480156108b757600080fd5b506103276108c6366004612a0a565b611550565b6060601080546108da90612e61565b80601f016020809104026020016040519081016040528092919081815260200182805461090690612e61565b80156109535780601f1061092857610100808354040283529160200191610953565b820191906000526020600020905b81548152906001019060200180831161093657829003601f168201915b5050505050905090565b600061096a3384846115ef565b5060015b92915050565b6000546001600160a01b031633146109a75760405162461bcd60e51b815260040161099e90612c5d565b60405180910390fd5b6109b36009600a612d80565b6109bd9082612e2b565b600e5550565b60006109d0848484611713565b6001600160a01b038416600090815260036020908152604080832033845290915290205482811015610a555760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161099e565b610a698533610a648685612e4a565b6115ef565b506001949350505050565b6000600b54821115610adb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161099e565b6000610ae5611b51565b9050610af18184612d1b565b9392505050565b6000546001600160a01b03163314610b225760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03811660009081526005602052604090205460ff16610b8a5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604482015260640161099e565b60005b600754811015610cab57816001600160a01b031660078281548110610bb457610bb4612ee3565b6000918252602090912001546001600160a01b03161415610c995760078054610bdf90600190612e4a565b81548110610bef57610bef612ee3565b600091825260209091200154600780546001600160a01b039092169183908110610c1b57610c1b612ee3565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556007805480610c7357610c73612ecd565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610ca381612e9c565b915050610b8d565b5050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161096a918590610a64908690612d03565b6000546001600160a01b03163314610d105760405162461bcd60e51b815260040161099e90612c5d565b6008805462010000600160b01b031916620100006001600160a01b0394851602179055600980546001600160a01b03191691909216179055565b6000546001600160a01b03163314610d745760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610dc25760405162461bcd60e51b815260040161099e90612c5d565b80471015610e125760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e7420424e422062616c616e63650000000000000000604482015260640161099e565b604051339082156108fc029083906000818181858888f19350505050158015610cab573d6000803e3d6000fd5b6000600a54831115610e935760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161099e565b81610eaf576000610ea5846001611b74565b51915061096e9050565b6000610ebc846001611b74565b60200151915061096e9050565b6000546001600160a01b03163314610ef35760405162461bcd60e51b815260040161099e90612c5d565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b158015610f3d57600080fd5b505af1158015610f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f759190612a9c565b50505050565b6000546001600160a01b03163314610fa55760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314610ff05760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03811660009081526005602052604090205460ff16156110595760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161099e565b6001600160a01b038116600090815260016020526040902054156110b3576001600160a01b03811660009081526001602052604090205461109990610a74565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6000546001600160a01b031633146111435760405162461bcd60e51b815260040161099e90612c5d565b8051610cab906010906020840190612837565b6000546001600160a01b031633146111805760405162461bcd60e51b815260040161099e90612c5d565b61118c6009600a612d80565b6111969082612e2b565b600d5550565b6001600160a01b03811660009081526005602052604081205460ff16156111d957506001600160a01b031660009081526002602052604090205490565b6001600160a01b03821660009081526001602052604090205461096e90610a74565b6000546001600160a01b031633146112255760405162461bcd60e51b815260040161099e90612c5d565b61122f6000611bbc565b565b6000546001600160a01b0316331461125b5760405162461bcd60e51b815260040161099e90612c5d565b6008805460ff1916911515919091179055565b6060601180546108da90612e61565b6000546001600160a01b031633146112a75760405162461bcd60e51b815260040161099e90612c5d565b6040805160808101825285815260208101859052908101839052606001819052601293909355601391909155601455601555565b6000546001600160a01b031633146113055760405162461bcd60e51b815260040161099e90612c5d565b8051610cab906011906020840190612837565b3360009081526003602090815260408083206001600160a01b03861684529091528120548281101561139a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161099e565b6113a93385610a648685612e4a565b5060019392505050565b600061096a338484611713565b6000546001600160a01b031633146113ea5760405162461bcd60e51b815260040161099e90612c5d565b600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600460205260409020805460ff19166001179055565b6000546001600160a01b0316331461144e5760405162461bcd60e51b815260040161099e90612c5d565b61145a6009600a612d80565b6114649082612e2b565b600c5550565b6000546001600160a01b031633146114945760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146114df5760405162461bcd60e51b815260040161099e90612c5d565b6001600160a01b0381166115445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161099e565b61154d81611bbc565b50565b6000546001600160a01b0316331461157a5760405162461bcd60e51b815260040161099e90612c5d565b60005b818110156115ea5760016006600085858581811061159d5761159d612ee3565b90506020020160208101906115b2919061292a565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556115e381612e9c565b905061157d565b505050565b6001600160a01b0383166116515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161099e565b6001600160a01b0382166116b25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161099e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161099e565b6001600160a01b0382166117d95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161099e565b6000811161183b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161099e565b6118448361119c565b8111156118ad5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161099e565b6001600160a01b03831660009081526004602052604090205460ff161580156118ef57506001600160a01b03821660009081526004602052604090205460ff16155b156119ca576009546001600160a01b0383811691161461197857600e54816119168461119c565b6119209190612d03565b11156119785760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b606482015260840161099e565b600d548111156119ca5760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657363656564696e67206d61785478416d6f756e74000000604482015260640161099e565b6001600160a01b03831660009081526006602052604090205460ff16158015611a0c57506001600160a01b03821660009081526006602052604090205460ff16155b611a585760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100604482015260640161099e565b6000600c54611a663061119c565b6008549111159150610100900460ff16158015611a85575060085460ff165b8015611a8e5750805b8015611aa857506009546001600160a01b03858116911614155b8015611acd57506001600160a01b03841660009081526004602052604090205460ff16155b8015611af257506001600160a01b03831660009081526004602052604090205460ff16155b15611b0257611b02600c54611c0c565b6001600160a01b038416600090815260046020526040902054610f759085908590859060ff1680611b4b57506001600160a01b03871660009081526004602052604090205460ff165b15611d0f565b6000806000611b5e61201e565b9092509050611b6d8183612d1b565b9250505090565b611b7c6128bb565b611b8683836121a1565b9050611b9b818484611b96611b51565b61227f565b60a08701526080860152606085015260408401526020830152815292915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6008805461ff001916610100179055601354601454600091611c2d91612d03565b611c38906002612e2b565b905060008160126002015484611c4e9190612e2b565b611c589190612d1b565b90506000611c668285612e4a565b905047611c7282612330565b6000611c7e8247612e4a565b601454909150600090611c919087612e4a565b611c9b9083612d1b565b601454909150600090611cae9083612e2b565b90508015611cc057611cc086826124be565b601354600090611cd1846002612e2b565b611cdb9190612e2b565b90508015611cf957600f54611cf9906001600160a01b03168261258d565b50506008805461ff001916905550505050505050565b6000611d1b8383611b74565b6001600160a01b03861660009081526005602052604090205490915060ff1615611d7d576001600160a01b038516600090815260026020526040902054611d63908490612e4a565b6001600160a01b0386166000908152600260205260409020555b6001600160a01b03841660009081526005602052604090205460ff1615611de05760c08101516001600160a01b038516600090815260026020526040902054611dc69190612d03565b6001600160a01b0385166000908152600260205260409020555b80516001600160a01b038616600090815260016020526040902054611e059190612e4a565b6001600160a01b0380871660009081526001602090815260408083209490945584015191871681529190912054611e3c9190612d03565b6001600160a01b0385166000908152600160205260409081902091909155810151151580611e6e575060008160e00151115b15611e8557611e8581604001518260e001516126a6565b600081608001511180611e9d57506000816101200151115b15611eb557611eb581608001518261012001516126db565b600081606001511180611ecd57506000816101000151115b15611ee557611ee58160600151826101000151612751565b60008160a001511180611efd57506000816101400151115b15611f6a57611f158160a00151826101400151612766565b61dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836101400151604051611f6191815260200190565b60405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c00151604051611fb391815260200190565b60405180910390a3306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518461012001516120069190612d03565b60405190815260200160405180910390a35050505050565b600b54600a546000918291825b6007548110156121705782600160006007848154811061204d5761204d612ee3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806120b8575081600260006007848154811061209157612091612ee3565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156120ce57600b54600a54945094505050509091565b60016000600783815481106120e5576120e5612ee3565b60009182526020808320909101546001600160a01b031683528201929092526040019020546121149084612e4a565b9250600260006007838154811061212d5761212d612ee3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461215c9083612e4a565b91508061216881612e9c565b91505061202b565b50600a54600b546121819190612d1b565b82101561219857600b54600a549350935050509091565b90939092509050565b6121a96128bb565b816121ba5760c0810183905261096e565b6012546064906121ca9085612e2b565b6121d49190612d1b565b60e08201526013546064906121e99085612e2b565b6121f39190612d1b565b6101008201526014546064906122099085612e2b565b6122139190612d1b565b6101208201526015546064906122299085612e2b565b6122339190612d1b565b610140820181905261012082015161010083015160e08401516122569087612e4a565b6122609190612e4a565b61226a9190612e4a565b6122749190612e4a565b60c082015292915050565b60008080808080612290878a612e2b565b9550876122ab57508493506000925082915081905080612323565b868a60e001516122bb9190612e2b565b9350868a61010001516122ce9190612e2b565b9250868a61012001516122e19190612e2b565b9150868a60a001516122f39190612e2b565b9050808284612302878a612e4a565b61230c9190612e4a565b6123169190612e4a565b6123209190612e4a565b94505b9499939850945094509450565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061236557612365612ee3565b60200260200101906001600160a01b031690816001600160a01b031681525050600860029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156123d357600080fd5b505afa1580156123e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240b9190612947565b8160018151811061241e5761241e612ee3565b6001600160a01b03928316602091820292909201015260085461244a91309162010000900416846115ef565b60085460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612488908590600090869030904290600401612c92565b600060405180830381600087803b1580156124a257600080fd5b505af11580156124b6573d6000803e3d6000fd5b505050505050565b6008546124dc9030906201000090046001600160a01b0316846115ef565b600854600f5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015262010000909204169063f305d71990839060c4016060604051808303818588803b15801561254d57600080fd5b505af1158015612561573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125869190612ba8565b5050505050565b804710156125dd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161099e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461262a576040519150601f19603f3d011682016040523d82523d6000602084013e61262f565b606091505b50509050806115ea5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161099e565b81600b60008282546126b89190612e4a565b9091555050601680548291906000906126d2908490612d03565b90915550505050565b80601660020160008282546126f09190612d03565b90915550503060009081526005602052604090205460ff161561273257306000908152600260205260408120805483929061272c908490612d03565b90915550505b30600090815260016020526040812080548492906126d2908490612d03565b80601660010160008282546126f09190612d03565b806016600301600082825461277b9190612d03565b909155505061dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460ff16156127f95761dead600090815260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc80548392906127f3908490612d03565b90915550505b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906126d2908490612d03565b82805461284390612e61565b90600052602060002090601f01602090048101928261286557600085556128ab565b82601f1061287e57805160ff19168380011785556128ab565b828001600101855582156128ab579182015b828111156128ab578251825591602001919060010190612890565b506128b7929150612915565b5090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5b808211156128b75760008155600101612916565b60006020828403121561293c57600080fd5b8135610af181612f0f565b60006020828403121561295957600080fd5b8151610af181612f0f565b6000806040838503121561297757600080fd5b823561298281612f0f565b9150602083013561299281612f0f565b809150509250929050565b6000806000606084860312156129b257600080fd5b83356129bd81612f0f565b925060208401356129cd81612f0f565b929592945050506040919091013590565b600080604083850312156129f157600080fd5b82356129fc81612f0f565b946020939093013593505050565b60008060208385031215612a1d57600080fd5b823567ffffffffffffffff80821115612a3557600080fd5b818501915085601f830112612a4957600080fd5b813581811115612a5857600080fd5b8660208260051b8501011115612a6d57600080fd5b60209290920196919550909350505050565b600060208284031215612a9157600080fd5b8135610af181612f24565b600060208284031215612aae57600080fd5b8151610af181612f24565b600060208284031215612acb57600080fd5b813567ffffffffffffffff80821115612ae357600080fd5b818401915084601f830112612af757600080fd5b813581811115612b0957612b09612ef9565b604051601f8201601f19908116603f01168101908382118183101715612b3157612b31612ef9565b81604052828152876020848701011115612b4a57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215612b7c57600080fd5b5035919050565b60008060408385031215612b9657600080fd5b82359150602083013561299281612f24565b600080600060608486031215612bbd57600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215612bec57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015612c3557858101830151858201604001528201612c19565b81811115612c47576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612ce25784516001600160a01b031683529383019391830191600101612cbd565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612d1657612d16612eb7565b500190565b600082612d3857634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115612d78578160001904821115612d5e57612d5e612eb7565b80851615612d6b57918102915b93841c9390800290612d42565b509250929050565b6000610af160ff841683600082612d995750600161096e565b81612da65750600061096e565b8160018114612dbc5760028114612dc657612de2565b600191505061096e565b60ff841115612dd757612dd7612eb7565b50506001821b61096e565b5060208310610133831016604e8410600b8410161715612e05575081810a61096e565b612e0f8383612d3d565b8060001904821115612e2357612e23612eb7565b029392505050565b6000816000190483118215151615612e4557612e45612eb7565b500290565b600082821015612e5c57612e5c612eb7565b500390565b600181811c90821680612e7557607f821691505b60208210811415612e9657634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612eb057612eb0612eb7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461154d57600080fd5b801515811461154d57600080fdfea2646970667358221220365b47262584fd5ed4629fc129382a1df48691010822a643925605669deef56c64736f6c63430008070033
Deployed Bytecode Sourcemap
3456:17719:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6213:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7359:161;;;;;;;;;;-1:-1:-1;7359:161:0;;;;;:::i;:::-;;:::i;:::-;;;6413:14:1;;6406:22;6388:41;;6376:2;6361:18;7359:161:0;6248:187:1;6724:95:0;;;;;;;;;;-1:-1:-1;6804:7:0;;6724:95;;;15177:25:1;;;15165:2;15150:18;6724:95:0;15031:177:1;19969:125:0;;;;;;;;;;-1:-1:-1;19969:125:0;;;;;:::i;:::-;;:::i;:::-;;3837:47;;;;;;;;;;-1:-1:-1;3837:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7528:422;;;;;;;;;;-1:-1:-1;7528:422:0;;;;;:::i;:::-;;:::i;4466:80::-;;;;;;;;;;;;4504:42;4466:80;;;;;-1:-1:-1;;;;;5313:32:1;;;5295:51;;5283:2;5268:18;4466:80:0;5149:203:1;9156:248:0;;;;;;;;;;-1:-1:-1;9156:248:0;;;;;:::i;:::-;;:::i;6633:83::-;;;;;;;;;;-1:-1:-1;6633:83:0;;4105:1;16736:36:1;;16724:2;16709:18;6633:83:0;16594:184:1;9751:473:0;;;;;;;;;;-1:-1:-1;9751:473:0;;;;;:::i;:::-;;:::i;7958:215::-;;;;;;;;;;-1:-1:-1;7958:215:0;;;;;:::i;:::-;;:::i;20353:180::-;;;;;;;;;;-1:-1:-1;20353:180:0;;;;;:::i;:::-;;:::i;10234:111::-;;;;;;;;;;-1:-1:-1;10234:111:0;;;;;:::i;:::-;;:::i;20603:196::-;;;;;;;;;;-1:-1:-1;20603:196:0;;;;;:::i;:::-;;:::i;8692:456::-;;;;;;;;;;-1:-1:-1;8692:456:0;;;;;:::i;:::-;;:::i;20976:154::-;;;;;;;;;;-1:-1:-1;20976:154:0;;;;;:::i;:::-;;:::i;19433:115::-;;;;;;;;;;-1:-1:-1;19433:115:0;;;;;:::i;:::-;;:::i;9412:331::-;;;;;;;;;;-1:-1:-1;9412:331:0;;;;;:::i;:::-;;:::i;10473:123::-;;;;;;;;;;-1:-1:-1;10473:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10561:27:0;10537:4;10561:27;;;:18;:27;;;;;;;;;10473:123;6417:98;;;;;;;;;;-1:-1:-1;6417:98:0;;;;;:::i;:::-;;:::i;19845:116::-;;;;;;;;;;-1:-1:-1;19845:116:0;;;;;:::i;:::-;;:::i;3947:30::-;;;;;;;;;;-1:-1:-1;3947:30:0;;;;;;;;6827:198;;;;;;;;;;-1:-1:-1;6827:198:0;;;;;:::i;:::-;;:::i;2233:94::-;;;;;;;;;;;;;:::i;4826:35::-;;;;;;;;;;-1:-1:-1;4826:35:0;;;;;;;;;;;;;;;;;;;16429:25:1;;;16485:2;16470:18;;16463:34;;;;16513:18;;;16506:34;16571:2;16556:18;;16549:34;16416:3;16401:19;4826:35:0;16198:391:1;4553:75:0;;;;;;;;;;-1:-1:-1;4553:75:0;;;;-1:-1:-1;;;;;4553:75:0;;;8566:120;;;;;;;;;;-1:-1:-1;8566:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;8658:20:0;8634:4;8658:20;;;:11;:20;;;;;;;;;8566:120;4346:50;;;;;;;;;;;;;;;;2010:87;;;;;;;;;;-1:-1:-1;2056:7:0;2083:6;-1:-1:-1;;;;;2083:6:0;2010:87;;20240:101;;;;;;;;;;-1:-1:-1;20240:101:0;;;;;:::i;:::-;;:::i;6313:98::-;;;;;;;;;;;;;:::i;5009:36::-;;;;;;;;;;-1:-1:-1;5009:36:0;;;;;;;;;;;;;;;10604:173;;;;;;;;;;-1:-1:-1;10604:173:0;;;;;:::i;:::-;;:::i;6521:106::-;;;;;;;;;;-1:-1:-1;6521:106:0;;;;;:::i;:::-;;:::i;8181:377::-;;;;;;;;;;-1:-1:-1;8181:377:0;;;;;:::i;:::-;;:::i;4042:19::-;;;;;;;;;;-1:-1:-1;4042:19:0;;;;-1:-1:-1;;;;;4042:19:0;;;7033:167;;;;;;;;;;-1:-1:-1;7033:167:0;;;;;:::i;:::-;;:::i;4403:54::-;;;;;;;;;;;;;;;;19230:167;;;;;;;;;;-1:-1:-1;19230:167:0;;;;;:::i;:::-;;:::i;20102:130::-;;;;;;;;;;-1:-1:-1;20102:130:0;;;;;:::i;:::-;;:::i;7208:143::-;;;;;;;;;;-1:-1:-1;7208:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7316:18:0;;;7289:7;7316:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7208:143;4284:55;;;;;;;;;;;;;;;;10353:110;;;;;;;;;;-1:-1:-1;10353:110:0;;;;;:::i;:::-;;:::i;2335:192::-;;;;;;;;;;-1:-1:-1;2335:192:0;;;;;:::i;:::-;;:::i;4014:21::-;;;;;;;;;;-1:-1:-1;4014:21:0;;;;;;;-1:-1:-1;;;;;4014:21:0;;;19653:186;;;;;;;;;;-1:-1:-1;19653:186:0;;;;;:::i;:::-;;:::i;6213:94::-;6261:13;6294:5;6287:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6213:94;:::o;7359:161::-;7434:4;7451:39;1511:10;7474:7;7483:6;7451:8;:39::i;:::-;-1:-1:-1;7508:4:0;7359:161;;;;;:::o;19969:125::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;;;;;;;;;20073:13:::1;4105:1;20073:2;:13;:::i;:::-;20064:22;::::0;:6;:22:::1;:::i;:::-;20046:15;:40:::0;-1:-1:-1;19969:125:0:o;7528:422::-;7634:4;7651:36;7661:6;7669:9;7680:6;7651:9;:36::i;:::-;-1:-1:-1;;;;;7727:19:0;;7700:24;7727:19;;;:11;:19;;;;;;;;1511:10;7727:33;;;;;;;;7779:26;;;;7771:79;;;;-1:-1:-1;;;7771:79:0;;12478:2:1;7771:79:0;;;12460:21:1;12517:2;12497:18;;;12490:30;12556:34;12536:18;;;12529:62;-1:-1:-1;;;12607:18:1;;;12600:38;12655:19;;7771:79:0;12276:404:1;7771:79:0;7861:57;7870:6;1511:10;7892:25;7911:6;7892:16;:25;:::i;:::-;7861:8;:57::i;:::-;-1:-1:-1;7938:4:0;;7528:422;-1:-1:-1;;;;7528:422:0:o;9156:248::-;9222:7;9261;;9250;:18;;9242:73;;;;-1:-1:-1;;;9242:73:0;;8289:2:1;9242:73:0;;;8271:21:1;8328:2;8308:18;;;8301:30;8367:34;8347:18;;;8340:62;-1:-1:-1;;;8418:18:1;;;8411:40;8468:19;;9242:73:0;8087:406:1;9242:73:0;9326:19;9349:10;:8;:10::i;:::-;9326:33;-1:-1:-1;9377:19:0;9326:33;9377:7;:19;:::i;:::-;9370:26;9156:248;-1:-1:-1;;;9156:248:0:o;9751:473::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9831:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;9823:56;;;::::0;-1:-1:-1;;;9823:56:0;;11055:2:1;9823:56:0::1;::::0;::::1;11037:21:1::0;11094:2;11074:18;;;11067:30;11133:25;11113:18;;;11106:53;11176:18;;9823:56:0::1;10853:347:1::0;9823:56:0::1;9895:9;9890:327;9914:9;:16:::0;9910:20;::::1;9890:327;;;9972:7;-1:-1:-1::0;;;;;9956:23:0::1;:9;9966:1;9956:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;9956:12:0::1;:23;9952:254;;;10015:9;10025:16:::0;;:20:::1;::::0;10044:1:::1;::::0;10025:20:::1;:::i;:::-;10015:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;10000:9:::1;:12:::0;;-1:-1:-1;;;;;10015:31:0;;::::1;::::0;10010:1;;10000:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;10000:46:0::1;-1:-1:-1::0;;;;;10000:46:0;;::::1;;::::0;;10065:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;10104:11:::1;:20:::0;;;;:28;;-1:-1:-1;;10104:28:0::1;::::0;;10151:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;10151:15:0;;;;;-1:-1:-1;;;;;;10151:15:0::1;::::0;;;;;9890:327:::1;9751:473:::0;:::o;9952:254::-:1;9932:3:::0;::::1;::::0;::::1;:::i;:::-;;;;9890:327;;;;9751:473:::0;:::o;7958:215::-;1511:10;8046:4;8095:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8095:34:0;;;;;;;;;;8046:4;;8063:80;;8086:7;;8095:47;;8132:10;;8095:47;:::i;20353:180::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;20473:6:::1;:27:::0;;-1:-1:-1;;;;;;20473:27:0::1;::::0;-1:-1:-1;;;;;20473:27:0;;::::1;;;::::0;;20511:4:::1;:14:::0;;-1:-1:-1;;;;;;20511:14:0::1;::::0;;;::::1;;::::0;;20353:180::o;10234:111::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10303:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10303:34:0::1;10333:4;10303:34;::::0;;10234:111::o;20603:196::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;20703:9:::1;20678:21;:34;;20670:71;;;::::0;-1:-1:-1;;;20670:71:0;;12125:2:1;20670:71:0::1;::::0;::::1;12107:21:1::0;12164:2;12144:18;;;12137:30;12203:26;12183:18;;;12176:54;12247:18;;20670:71:0::1;11923:348:1::0;20670:71:0::1;20752:39;::::0;20760:10:::1;::::0;20752:39;::::1;;;::::0;20781:9;;20752:39:::1;::::0;;;20781:9;20760:10;20752:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;8692:456:::0;8782:7;8821;;8810;:18;;8802:62;;;;-1:-1:-1;;;8802:62:0;;11765:2:1;8802:62:0;;;11747:21:1;11804:2;11784:18;;;11777:30;11843:33;11823:18;;;11816:61;11894:18;;8802:62:0;11563:355:1;8802:62:0;8880:17;8875:266;;8914:28;8945:25;8956:7;8965:4;8945:10;:25::i;:::-;8992:9;;-1:-1:-1;8985:16:0;;-1:-1:-1;8985:16:0;8875:266;9034:28;9065:25;9076:7;9085:4;9065:10;:25::i;:::-;9112:17;;;;-1:-1:-1;9105:24:0;;-1:-1:-1;9105:24:0;20976:154;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;21081:41:::1;::::0;-1:-1:-1;;;21081:41:0;;-1:-1:-1;;;;;5549:32:1;;;21081:41:0::1;::::0;::::1;5531:51:1::0;5598:18;;;5591:34;;;21081:27:0;::::1;::::0;::::1;::::0;5504:18:1;;21081:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20976:154:::0;;;:::o;19433:115::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19509:23:0::1;19535:5;19509:23:::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;19509:31:0::1;::::0;;19433:115::o;9412:331::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9493:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;9492:21;9484:61;;;::::0;-1:-1:-1;;;9484:61:0;;9870:2:1;9484:61:0::1;::::0;::::1;9852:21:1::0;9909:2;9889:18;;;9882:30;9948:29;9928:18;;;9921:57;9995:18;;9484:61:0::1;9668:351:1::0;9484:61:0::1;-1:-1:-1::0;;;;;9559:16:0;::::1;9578:1;9559:16:::0;;;:7:::1;:16;::::0;;;;;:20;9556:108:::1;;-1:-1:-1::0;;;;;9635:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;9615:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;9596:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;9556:108:::1;-1:-1:-1::0;;;;;9674:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;9674:27:0::1;9697:4;9674:27:::0;;::::1;::::0;;;9712:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;9712:23:0::1;::::0;;::::1;::::0;;9412:331::o;6417:98::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;6491:15;;::::1;::::0;:5:::1;::::0;:15:::1;::::0;::::1;::::0;::::1;:::i;19845:116::-:0;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;19940:13:::1;4105:1;19940:2;:13;:::i;:::-;19931:22;::::0;:6;:22:::1;:::i;:::-;19917:11;:36:::0;-1:-1:-1;19845:116:0:o;6827:198::-;-1:-1:-1;;;;;6917:20:0;;6893:7;6917:20;;;:11;:20;;;;;;;;6913:49;;;-1:-1:-1;;;;;;6946:16:0;;;;;:7;:16;;;;;;;6827:198::o;6913:49::-;-1:-1:-1;;;;;7000:16:0;;;;;;:7;:16;;;;;;6980:37;;:19;:37::i;2233:94::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;2298:21:::1;2316:1;2298:9;:21::i;:::-;2233:94::o:0;20240:101::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;20311:11:::1;:22:::0;;-1:-1:-1;;20311:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20240:101::o;6313:98::-;6363:13;6396:7;6389:14;;;;;:::i;10604:173::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;10727:42:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;10719:5:::1;:50:::0;;;;;;;;;;;;;10604:173::o;6521:106::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;6599:19;;::::1;::::0;:7:::1;::::0;:19:::1;::::0;::::1;::::0;::::1;:::i;8181:377::-:0;1511:10;8274:4;8318:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8318:34:0;;;;;;;;;;8371:35;;;;8363:85;;;;-1:-1:-1;;;8363:85:0;;14827:2:1;8363:85:0;;;14809:21:1;14866:2;14846:18;;;14839:30;14905:34;14885:18;;;14878:62;-1:-1:-1;;;14956:18:1;;;14949:35;15001:19;;8363:85:0;14625:401:1;8363:85:0;8459:67;1511:10;8482:7;8491:34;8510:15;8491:16;:34;:::i;8459:67::-;-1:-1:-1;8546:4:0;;8181:377;-1:-1:-1;;;8181:377:0:o;7033:167::-;7111:4;7128:42;1511:10;7152:9;7163:6;7128:9;:42::i;19230:167::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;19309:15:::1;:27:::0;;-1:-1:-1;;;;;19309:27:0;;::::1;-1:-1:-1::0;;;;;;19309:27:0;;::::1;::::0;::::1;::::0;;:15:::1;19347:35:::0;;;:18:::1;:35;::::0;;;;:42;;-1:-1:-1;;19347:42:0::1;19309:27:::0;19347:42:::1;::::0;;19230:167::o;20102:130::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;20211:13:::1;4105:1;20211:2;:13;:::i;:::-;20202:22;::::0;:6;:22:::1;:::i;:::-;20181:18;:43:::0;-1:-1:-1;20102:130:0:o;10353:110::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10420:27:0::1;10450:5;10420:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10420:35:0::1;::::0;;10353:110::o;2335:192::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2424:22:0;::::1;2416:73;;;::::0;-1:-1:-1;;;2416:73:0;;8700:2:1;2416:73:0::1;::::0;::::1;8682:21:1::0;8739:2;8719:18;;;8712:30;8778:34;8758:18;;;8751:62;-1:-1:-1;;;8829:18:1;;;8822:36;8875:19;;2416:73:0::1;8498:402:1::0;2416:73:0::1;2500:19;2510:8;2500:9;:19::i;:::-;2335:192:::0;:::o;19653:186::-;2056:7;2083:6;-1:-1:-1;;;;;2083:6:0;1511:10;2145:23;2137:68;;;;-1:-1:-1;;;2137:68:0;;;;;;;:::i;:::-;19738:9:::1;19733:99;19749:20:::0;;::::1;19733:99;;;19818:4;19787:14;:28;19802:9;;19812:1;19802:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19787:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19787:28:0;:35;;-1:-1:-1;;19787:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19771:3:::1;::::0;::::1;:::i;:::-;;;19733:99;;;;19653:186:::0;;:::o;14067:335::-;-1:-1:-1;;;;;14160:19:0;;14152:68;;;;-1:-1:-1;;;14152:68:0;;14064:2:1;14152:68:0;;;14046:21:1;14103:2;14083:18;;;14076:30;14142:34;14122:18;;;14115:62;-1:-1:-1;;;14193:18:1;;;14186:34;14237:19;;14152:68:0;13862:400:1;14152:68:0;-1:-1:-1;;;;;14239:21:0;;14231:68;;;;-1:-1:-1;;;14231:68:0;;9107:2:1;14231:68:0;;;9089:21:1;9146:2;9126:18;;;9119:30;9185:34;9165:18;;;9158:62;-1:-1:-1;;;9236:18:1;;;9229:32;9278:19;;14231:68:0;8905:398:1;14231:68:0;-1:-1:-1;;;;;14310:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14362:32;;15177:25:1;;;14362:32:0;;15150:18:1;14362:32:0;;;;;;;14067:335;;;:::o;14412:1443::-;-1:-1:-1;;;;;14500:18:0;;14492:68;;;;-1:-1:-1;;;14492:68:0;;13658:2:1;14492:68:0;;;13640:21:1;13697:2;13677:18;;;13670:30;13736:34;13716:18;;;13709:62;-1:-1:-1;;;13787:18:1;;;13780:35;13832:19;;14492:68:0;13456:401:1;14492:68:0;-1:-1:-1;;;;;14579:16:0;;14571:64;;;;-1:-1:-1;;;14571:64:0;;7467:2:1;14571:64:0;;;7449:21:1;7506:2;7486:18;;;7479:30;7545:34;7525:18;;;7518:62;-1:-1:-1;;;7596:18:1;;;7589:33;7639:19;;14571:64:0;7265:399:1;14571:64:0;14663:1;14654:6;:10;14646:64;;;;-1:-1:-1;;;14646:64:0;;13248:2:1;14646:64:0;;;13230:21:1;13287:2;13267:18;;;13260:30;13326:34;13306:18;;;13299:62;-1:-1:-1;;;13377:18:1;;;13370:39;13426:19;;14646:64:0;13046:405:1;14646:64:0;14753:15;14763:4;14753:9;:15::i;:::-;14743:6;:25;;14721:124;;;;-1:-1:-1;;;14721:124:0;;7871:2:1;14721:124:0;;;7853:21:1;7910:2;7890:18;;;7883:30;7949:34;7929:18;;;7922:62;-1:-1:-1;;;8000:18:1;;;7993:47;8057:19;;14721:124:0;7669:413:1;14721:124:0;-1:-1:-1;;;;;14863:24:0;;;;;;:18;:24;;;;;;;;14862:25;:52;;;;-1:-1:-1;;;;;;14892:22:0;;;;;;:18;:22;;;;;;;;14891:23;14862:52;14858:344;;;14941:4;;-1:-1:-1;;;;;14935:10:0;;;14941:4;;14935:10;14931:181;;15020:15;;15010:6;14994:13;15004:2;14994:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;14964:148;;;;-1:-1:-1;;;14964:148:0;;10226:2:1;14964:148:0;;;10208:21:1;10265:2;10245:18;;;10238:30;10304:34;10284:18;;;10277:62;-1:-1:-1;;;10355:18:1;;;10348:31;10396:19;;14964:148:0;10024:397:1;14964:148:0;15145:11;;15135:6;:21;;15127:63;;;;-1:-1:-1;;;15127:63:0;;14469:2:1;15127:63:0;;;14451:21:1;14508:2;14488:18;;;14481:30;14547:31;14527:18;;;14520:59;14596:18;;15127:63:0;14267:353:1;15127:63:0;-1:-1:-1;;;;;15235:20:0;;;;;;:14;:20;;;;;;;;15234:21;:44;;;;-1:-1:-1;;;;;;15260:18:0;;;;;;:14;:18;;;;;;;;15259:19;15234:44;15212:125;;;;-1:-1:-1;;;15212:125:0;;9510:2:1;15212:125:0;;;9492:21:1;9549:2;9529:18;;;9522:30;9588:33;9568:18;;;9561:61;9639:18;;15212:125:0;9308:355:1;15212:125:0;15350:12;15393:18;;15365:24;15383:4;15365:9;:24::i;:::-;15441:8;;-1:-1:-1;;15365:46:0;;-1:-1:-1;15441:8:0;;;;;15440:9;:37;;;;-1:-1:-1;15466:11:0;;;;15440:37;:61;;;;;15494:7;15440:61;:90;;;;-1:-1:-1;15526:4:0;;-1:-1:-1;;;;;15518:12:0;;;15526:4;;15518:12;;15440:90;:132;;;;-1:-1:-1;;;;;;15548:24:0;;;;;;:18;:24;;;;;;;;15547:25;15440:132;:172;;;;-1:-1:-1;;;;;;15590:22:0;;;;;;:18;:22;;;;;;;;15589:23;15440:172;15422:263;;;15639:34;15654:18;;15639:14;:34::i;:::-;-1:-1:-1;;;;;15785:24:0;;;;;;:18;:24;;;;;;15697:150;;15726:4;;15745:2;;15762:6;;15785:24;;;:50;;-1:-1:-1;;;;;;15813:22:0;;;;;;:18;:22;;;;;;;;15785:50;15783:53;15697:14;:150::i;13353:158::-;13394:7;13415:15;13432;13451:19;:17;:19::i;:::-;13414:56;;-1:-1:-1;13414:56:0;-1:-1:-1;13488:15:0;13414:56;;13488:15;:::i;:::-;13481:22;;;;13353:158;:::o;11754:387::-;11827:36;;:::i;:::-;11888:29;11900:7;11909;11888:11;:29::i;:::-;11876:41;;12054:52;12066:9;12077:7;12086;12095:10;:8;:10::i;:::-;12054:11;:52::i;:::-;12035:15;;;11928:178;12013:20;;;11928:178;11991:20;;;11928:178;11975:14;;;11928:178;11948:25;;;11928:178;;;11754:387;;;;:::o;2535:173::-;2591:16;2610:6;;-1:-1:-1;;;;;2627:17:0;;;-1:-1:-1;;;;;;2627:17:0;;;;;;2660:40;;2610:6;;;;;;;2660:40;;2591:16;2660:40;2580:128;2535:173;:::o;17140:1001::-;5476:8;:15;;-1:-1:-1;;5476:15:0;;;;;17301;;17283;;5476;;17283:33:::1;::::0;::::1;:::i;:::-;17282:40;::::0;17321:1:::1;17282:40;:::i;:::-;17260:62;;17333:32;17395:11;17377:5;:15;;;17368:6;:24;;;;:::i;:::-;:38;;;;:::i;:::-;17333:73:::0;-1:-1:-1;17417:14:0::1;17434:33;17333:73:::0;17434:6;:33:::1;:::i;:::-;17417:50:::0;-1:-1:-1;17505:21:0::1;17539:24;17417:50:::0;17539:16:::1;:24::i;:::-;17576:20;17599:38;17623:14:::0;17599:21:::1;:38;:::i;:::-;17699:15:::0;;17576:61;;-1:-1:-1;17648:19:0::1;::::0;17685:29:::1;::::0;:11;:29:::1;:::i;:::-;17669:46;::::0;:12;:46:::1;:::i;:::-;17772:15:::0;;17648:67;;-1:-1:-1;17726:29:0::1;::::0;17758::::1;::::0;17648:67;17758:29:::1;:::i;:::-;17726:61:::0;-1:-1:-1;17803:25:0;;17800:158:::1;;17885:61;17898:24;17924:21;17885:12;:61::i;:::-;18011:15:::0;;17970:20:::1;::::0;17993:15:::1;:11:::0;18007:1:::1;17993:15;:::i;:::-;:33;;;;:::i;:::-;17970:56:::0;-1:-1:-1;18040:16:0;;18037:95:::1;;18080:15;::::0;18072:48:::1;::::0;-1:-1:-1;;;;;18080:15:0::1;18107:12:::0;18072:34:::1;:48::i;:::-;-1:-1:-1::0;;5514:8:0;:16;;-1:-1:-1;;5514:16:0;;;-1:-1:-1;;;;;;;17140:1001:0:o;15938:1194::-;16049:28;16080;16091:7;16100;16080:10;:28::i;:::-;-1:-1:-1;;;;;16125:19:0;;;;;;:11;:19;;;;;;16049:59;;-1:-1:-1;16125:19:0;;16121:115;;;-1:-1:-1;;;;;16201:15:0;;;;;;:7;:15;;;;;;:23;;16217:7;;16201:23;:::i;:::-;-1:-1:-1;;;;;16183:15:0;;;;;;:7;:15;;;;;:41;16121:115;-1:-1:-1;;;;;16250:22:0;;;;;;:11;:22;;;;;;;;16246:130;;;16347:17;;;;-1:-1:-1;;;;;16328:18:0;;;;;;:7;:18;;;;;;:36;;16347:17;16328:36;:::i;:::-;-1:-1:-1;;;;;16307:18:0;;;;;;:7;:18;;;;;:57;16246:130;16422:9;;-1:-1:-1;;;;;16406:15:0;;16422:9;16406:15;;;:7;:15;;;;;;:25;;16422:9;16406:25;:::i;:::-;-1:-1:-1;;;;;16388:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;16482:17;;;16463:18;;;;;;;;;;:36;;16482:17;16463:36;:::i;:::-;-1:-1:-1;;;;;16442:18:0;;;;;;:7;:18;;;;;;;:57;;;;16523:6;;;:10;;;:24;;;16546:1;16537;:6;;;:10;16523:24;16520:56;;;16549:27;16561:1;:6;;;16569:1;:6;;;16549:11;:27::i;:::-;16605:1;16590;:12;;;:16;:36;;;;16625:1;16610;:12;;;:16;16590:36;16587:109;;;16643:41;16658:1;:12;;;16671:1;:12;;;16643:14;:41::i;:::-;16724:1;16709;:12;;;:16;:36;;;;16744:1;16729;:12;;;:16;16709:36;16706:109;;;16761:42;16776:1;:12;;;16790:1;:12;;;16761:14;:42::i;:::-;16838:1;16828;:7;;;:11;:26;;;;16853:1;16843;:7;;;:11;16828:26;16825:142;;;16870:27;16880:1;:7;;;16889:1;:7;;;16870:9;:27::i;:::-;4504:42;-1:-1:-1;;;;;16917:38:0;16926:6;-1:-1:-1;;;;;16917:38:0;;16947:1;:7;;;16917:38;;;;15177:25:1;;15165:2;15150:18;;15031:177;16917:38:0;;;;;;;;16825:142;17009:9;-1:-1:-1;;;;;16992:46:0;17001:6;-1:-1:-1;;;;;16992:46:0;;17020:1;:17;;;16992:46;;;;15177:25:1;;15165:2;15150:18;;15031:177;16992:46:0;;;;;;;;17079:4;-1:-1:-1;;;;;17054:60:0;17063:6;-1:-1:-1;;;;;17054:60:0;;17101:1;:12;;;17086:1;:12;;;:27;;;;:::i;:::-;17054:60;;15177:25:1;;;15165:2;15150:18;17054:60:0;;;;;;;16036:1096;15938:1194;;;;:::o;13519:540::-;13616:7;;13652;;13569;;;;;13670:279;13694:9;:16;13690:20;;13670:279;;;13760:7;13736;:21;13744:9;13754:1;13744:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13744:12:0;13736:21;;;;;;;;;;;;;:31;;:66;;;13795:7;13771;:21;13779:9;13789:1;13779:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13779:12:0;13771:21;;;;;;;;;;;;;:31;13736:66;13732:97;;;13812:7;;13821;;13804:25;;;;;;;13519:540;;:::o;13732:97::-;13862:7;:21;13870:9;13880:1;13870:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13870:12:0;13862:21;;;;;;;;;;;;;13854:29;;:7;:29;:::i;:::-;13844:39;;13916:7;:21;13924:9;13934:1;13924:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13924:12:0;13916:21;;;;;;;;;;;;;13908:29;;:7;:29;:::i;:::-;13898:39;-1:-1:-1;13712:3:0;;;;:::i;:::-;;;;13670:279;;;;13981:7;;13973;;:15;;;;:::i;:::-;13963:7;:25;13959:56;;;13998:7;;14007;;13990:25;;;;;;13519:540;;:::o;13959:56::-;14034:7;;14043;;-1:-1:-1;13519:540:0;-1:-1:-1;13519:540:0:o;12149:500::-;12223:28;;:::i;:::-;12270:7;12266:86;;12292:17;;;:27;;;12332:8;;12266:86;12381:5;:9;12391:3;;12373:17;;:7;:17;:::i;:::-;:21;;;;:::i;:::-;12364:6;;;:30;12428:15;;12444:3;;12420:23;;:7;:23;:::i;:::-;:27;;;;:::i;:::-;12405:12;;;:42;12481:15;;12497:3;;12473:23;;:7;:23;:::i;:::-;:27;;;;:::i;:::-;12458:12;;;:42;12529:10;;12540:3;;12521:18;;:7;:18;:::i;:::-;:22;;;;:::i;:::-;12511:7;;;:32;;;12602:12;;;;12589;;;;12582:6;;;;12574:14;;:7;:14;:::i;:::-;:27;;;;:::i;:::-;:40;;;;:::i;:::-;:48;;;;:::i;:::-;12554:17;;;:68;12149:500;;;;:::o;12657:688::-;12782:15;;;;;;12914:19;12922:11;12914:7;:19;:::i;:::-;12904:29;;12950:7;12946:71;;-1:-1:-1;12979:7:0;;-1:-1:-1;12997:1:0;;-1:-1:-1;12997:1:0;;-1:-1:-1;12997:1:0;;-1:-1:-1;12997:1:0;12972:33;;12946:71;13043:11;13036:1;:6;;;:18;;;;:::i;:::-;13029:25;;13091:11;13078:1;:12;;;:24;;;;:::i;:::-;13065:37;;13139:11;13126:1;:12;;;:24;;;;:::i;:::-;13113:37;;13177:11;13169:1;:7;;;:19;;;;:::i;:::-;13161:27;-1:-1:-1;13161:27:0;13242:10;13231;13218:12;13226:4;13218:7;:12;:::i;:::-;:23;;;;:::i;:::-;:34;;;;:::i;:::-;:40;;;;:::i;:::-;13199:59;;12657:688;;;;;;;;;;;;:::o;18660:562::-;18810:16;;;18824:1;18810:16;;;;;;;;18786:21;;18810:16;;;;;;;;;;-1:-1:-1;18810:16:0;18786:40;;18855:4;18837;18842:1;18837:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;18837:23:0;;;-1:-1:-1;;;;;18837:23:0;;;;;18881:6;;;;;;;;;-1:-1:-1;;;;;18881:6:0;-1:-1:-1;;;;;18881:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18871:4;18876:1;18871:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18871:23:0;;;:7;;;;;;;;;:23;18939:6;;18907:53;;18924:4;;18939:6;;;;18948:11;18907:8;:53::i;:::-;18999:6;;:215;;-1:-1:-1;;;18999:215:0;;:6;;;;-1:-1:-1;;;;;18999:6:0;;:57;;:215;;19071:11;;19097:1;;19141:4;;19168;;19188:15;;18999:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18715:507;18660:562;:::o;18149:503::-;18329:6;;18297:53;;18314:4;;18329:6;;;-1:-1:-1;;;;;18329:6:0;18338:11;18297:8;:53::i;:::-;18393:6;;18588:15;;18393:251;;-1:-1:-1;;;18393:251:0;;18456:4;18393:251;;;5977:34:1;6027:18;;;6020:34;;;18502:1:0;6070:18:1;;;6063:34;;;6113:18;;;6106:34;-1:-1:-1;;;;;18588:15:0;;;6156:19:1;;;6149:44;18618:15:0;6209:19:1;;;6202:35;18393:6:0;;;;;;:22;;18423:9;;5911:19:1;;18393:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18149:503;;:::o;1074:317::-;1189:6;1164:21;:31;;1156:73;;;;-1:-1:-1;;;1156:73:0;;11407:2:1;1156:73:0;;;11389:21:1;11446:2;11426:18;;;11419:30;11485:31;11465:18;;;11458:59;11534:18;;1156:73:0;11205:353:1;1156:73:0;1243:12;1261:9;-1:-1:-1;;;;;1261:14:0;1283:6;1261:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:52;;;1313:7;1305:78;;;;-1:-1:-1;;;1305:78:0;;10628:2:1;1305:78:0;;;10610:21:1;10667:2;10647:18;;;10640:30;10706:34;10686:18;;;10679:62;10777:28;10757:18;;;10750:56;10823:19;;1305:78:0;10426:422:1;10785:123:0;10863:4;10853:7;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;10878:11:0;:22;;10896:4;;10878:11;:15;;:22;;10896:4;;10878:22;:::i;:::-;;;;-1:-1:-1;;;;10785:123:0:o;10916:284::-;11023:10;10999:11;:21;;;:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;11069:4:0;11049:26;;;;:11;:26;;;;;;;;11046:101;;;11117:4;11101:22;;;;:7;:22;;;;;:34;;11125:10;;11101:22;:34;;11125:10;;11101:34;:::i;:::-;;;;-1:-1:-1;;11046:101:0;11173:4;11157:22;;;;:7;:22;;;;;:35;;11182:10;;11157:22;:35;;11182:10;;11157:35;:::i;11208:284::-;11315:10;11291:11;:21;;;:34;;;;;;;:::i;11504:242::-;11590:5;11571:11;:16;;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;4504:42:0;11611:24;;:11;:24;;;;;;11608:92;;;4504:42;11661:20;;;;:7;:20;;;:27;;11683:5;;11661:20;:27;;11683:5;;11661:27;:::i;:::-;;;;-1:-1:-1;;11608:92:0;4504:42;11710:20;;;;:7;:20;;;:28;;11733:5;;11710:20;:28;;11733:5;;11710:28;:::i;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:247:1;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:615::-;1782:6;1790;1843:2;1831:9;1822:7;1818:23;1814:32;1811:52;;;1859:1;1856;1849:12;1811:52;1899:9;1886:23;1928:18;1969:2;1961:6;1958:14;1955:34;;;1985:1;1982;1975:12;1955:34;2023:6;2012:9;2008:22;1998:32;;2068:7;2061:4;2057:2;2053:13;2049:27;2039:55;;2090:1;2087;2080:12;2039:55;2130:2;2117:16;2156:2;2148:6;2145:14;2142:34;;;2172:1;2169;2162:12;2142:34;2225:7;2220:2;2210:6;2207:1;2203:14;2199:2;2195:23;2191:32;2188:45;2185:65;;;2246:1;2243;2236:12;2185:65;2277:2;2269:11;;;;;2299:6;;-1:-1:-1;1696:615:1;;-1:-1:-1;;;;1696:615:1:o;2316:241::-;2372:6;2425:2;2413:9;2404:7;2400:23;2396:32;2393:52;;;2441:1;2438;2431:12;2393:52;2480:9;2467:23;2499:28;2521:5;2499:28;:::i;2562:245::-;2629:6;2682:2;2670:9;2661:7;2657:23;2653:32;2650:52;;;2698:1;2695;2688:12;2650:52;2730:9;2724:16;2749:28;2771:5;2749:28;:::i;2812:922::-;2881:6;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2990:9;2977:23;3019:18;3060:2;3052:6;3049:14;3046:34;;;3076:1;3073;3066:12;3046:34;3114:6;3103:9;3099:22;3089:32;;3159:7;3152:4;3148:2;3144:13;3140:27;3130:55;;3181:1;3178;3171:12;3130:55;3217:2;3204:16;3239:2;3235;3232:10;3229:36;;;3245:18;;:::i;:::-;3320:2;3314:9;3288:2;3374:13;;-1:-1:-1;;3370:22:1;;;3394:2;3366:31;3362:40;3350:53;;;3418:18;;;3438:22;;;3415:46;3412:72;;;3464:18;;:::i;:::-;3504:10;3500:2;3493:22;3539:2;3531:6;3524:18;3579:7;3574:2;3569;3565;3561:11;3557:20;3554:33;3551:53;;;3600:1;3597;3590:12;3551:53;3656:2;3651;3647;3643:11;3638:2;3630:6;3626:15;3613:46;3701:1;3679:15;;;3696:2;3675:24;3668:35;;;;-1:-1:-1;3683:6:1;2812:922;-1:-1:-1;;;;;2812:922:1:o;3739:180::-;3798:6;3851:2;3839:9;3830:7;3826:23;3822:32;3819:52;;;3867:1;3864;3857:12;3819:52;-1:-1:-1;3890:23:1;;3739:180;-1:-1:-1;3739:180:1:o;3924:309::-;3989:6;3997;4050:2;4038:9;4029:7;4025:23;4021:32;4018:52;;;4066:1;4063;4056:12;4018:52;4102:9;4089:23;4079:33;;4162:2;4151:9;4147:18;4134:32;4175:28;4197:5;4175:28;:::i;4238:306::-;4326:6;4334;4342;4395:2;4383:9;4374:7;4370:23;4366:32;4363:52;;;4411:1;4408;4401:12;4363:52;4440:9;4434:16;4424:26;;4490:2;4479:9;4475:18;4469:25;4459:35;;4534:2;4523:9;4519:18;4513:25;4503:35;;4238:306;;;;;:::o;4549:385::-;4635:6;4643;4651;4659;4712:3;4700:9;4691:7;4687:23;4683:33;4680:53;;;4729:1;4726;4719:12;4680:53;-1:-1:-1;;4752:23:1;;;4822:2;4807:18;;4794:32;;-1:-1:-1;4873:2:1;4858:18;;4845:32;;4924:2;4909:18;4896:32;;-1:-1:-1;4549:385:1;-1:-1:-1;4549:385:1:o;6663:597::-;6775:4;6804:2;6833;6822:9;6815:21;6865:6;6859:13;6908:6;6903:2;6892:9;6888:18;6881:34;6933:1;6943:140;6957:6;6954:1;6951:13;6943:140;;;7052:14;;;7048:23;;7042:30;7018:17;;;7037:2;7014:26;7007:66;6972:10;;6943:140;;;7101:6;7098:1;7095:13;7092:91;;;7171:1;7166:2;7157:6;7146:9;7142:22;7138:31;7131:42;7092:91;-1:-1:-1;7244:2:1;7223:15;-1:-1:-1;;7219:29:1;7204:45;;;;7251:2;7200:54;;6663:597;-1:-1:-1;;;6663:597:1:o;12685:356::-;12887:2;12869:21;;;12906:18;;;12899:30;12965:34;12960:2;12945:18;;12938:62;13032:2;13017:18;;12685:356::o;15213:980::-;15475:4;15523:3;15512:9;15508:19;15554:6;15543:9;15536:25;15580:2;15618:6;15613:2;15602:9;15598:18;15591:34;15661:3;15656:2;15645:9;15641:18;15634:31;15685:6;15720;15714:13;15751:6;15743;15736:22;15789:3;15778:9;15774:19;15767:26;;15828:2;15820:6;15816:15;15802:29;;15849:1;15859:195;15873:6;15870:1;15867:13;15859:195;;;15938:13;;-1:-1:-1;;;;;15934:39:1;15922:52;;16029:15;;;;15994:12;;;;15970:1;15888:9;15859:195;;;-1:-1:-1;;;;;;;16110:32:1;;;;16105:2;16090:18;;16083:60;-1:-1:-1;;;16174:3:1;16159:19;16152:35;16071:3;15213:980;-1:-1:-1;;;15213:980:1:o;16783:128::-;16823:3;16854:1;16850:6;16847:1;16844:13;16841:39;;;16860:18;;:::i;:::-;-1:-1:-1;16896:9:1;;16783:128::o;16916:217::-;16956:1;16982;16972:132;;17026:10;17021:3;17017:20;17014:1;17007:31;17061:4;17058:1;17051:15;17089:4;17086:1;17079:15;16972:132;-1:-1:-1;17118:9:1;;16916:217::o;17138:422::-;17227:1;17270:5;17227:1;17284:270;17305:7;17295:8;17292:21;17284:270;;;17364:4;17360:1;17356:6;17352:17;17346:4;17343:27;17340:53;;;17373:18;;:::i;:::-;17423:7;17413:8;17409:22;17406:55;;;17443:16;;;;17406:55;17522:22;;;;17482:15;;;;17284:270;;;17288:3;17138:422;;;;;:::o;17565:140::-;17623:5;17652:47;17693:4;17683:8;17679:19;17673:4;17759:5;17789:8;17779:80;;-1:-1:-1;17830:1:1;17844:5;;17779:80;17878:4;17868:76;;-1:-1:-1;17915:1:1;17929:5;;17868:76;17960:4;17978:1;17973:59;;;;18046:1;18041:130;;;;17953:218;;17973:59;18003:1;17994:10;;18017:5;;;18041:130;18078:3;18068:8;18065:17;18062:43;;;18085:18;;:::i;:::-;-1:-1:-1;;18141:1:1;18127:16;;18156:5;;17953:218;;18255:2;18245:8;18242:16;18236:3;18230:4;18227:13;18223:36;18217:2;18207:8;18204:16;18199:2;18193:4;18190:12;18186:35;18183:77;18180:159;;;-1:-1:-1;18292:19:1;;;18324:5;;18180:159;18371:34;18396:8;18390:4;18371:34;:::i;:::-;18441:6;18437:1;18433:6;18429:19;18420:7;18417:32;18414:58;;;18452:18;;:::i;:::-;18490:20;;17710:806;-1:-1:-1;;;17710:806:1:o;18521:168::-;18561:7;18627:1;18623;18619:6;18615:14;18612:1;18609:21;18604:1;18597:9;18590:17;18586:45;18583:71;;;18634:18;;:::i;:::-;-1:-1:-1;18674:9:1;;18521:168::o;18694:125::-;18734:4;18762:1;18759;18756:8;18753:34;;;18767:18;;:::i;:::-;-1:-1:-1;18804:9:1;;18694:125::o;18824:380::-;18903:1;18899:12;;;;18946;;;18967:61;;19021:4;19013:6;19009:17;18999:27;;18967:61;19074:2;19066:6;19063:14;19043:18;19040:38;19037:161;;;19120:10;19115:3;19111:20;19108:1;19101:31;19155:4;19152:1;19145:15;19183:4;19180:1;19173:15;19037:161;;18824:380;;;:::o;19209:135::-;19248:3;-1:-1:-1;;19269:17:1;;19266:43;;;19289:18;;:::i;:::-;-1:-1:-1;19336:1:1;19325:13;;19209:135::o;19349:127::-;19410:10;19405:3;19401:20;19398:1;19391:31;19441:4;19438:1;19431:15;19465:4;19462:1;19455:15;19481:127;19542:10;19537:3;19533:20;19530:1;19523:31;19573:4;19570:1;19563:15;19597:4;19594:1;19587:15;19613:127;19674:10;19669:3;19665:20;19662:1;19655:31;19705:4;19702:1;19695:15;19729:4;19726:1;19719:15;19745:127;19806:10;19801:3;19797:20;19794:1;19787:31;19837:4;19834:1;19827:15;19861:4;19858:1;19851:15;19877:131;-1:-1:-1;;;;;19952:31:1;;19942:42;;19932:70;;19998:1;19995;19988:12;20013:118;20099:5;20092:13;20085:21;20078:5;20075:32;20065:60;;20121:1;20118;20111:12
Swarm Source
ipfs://365b47262584fd5ed4629fc129382a1df48691010822a643925605669deef56c
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 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.