ETH Price: $3,289.91 (-3.46%)

Token

Urashima Tarō (TARO)
 

Overview

Max Total Supply

2,000,000 TARO

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
24,604.73168257 TARO

Value
$0.00
0xfffb454f4affaab597bea56edec6ccf8aefda9ae
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
urashimataro

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-03
*/

// SPDX-License-Identifier: MIT
/**
Urashima Tarō - TARO

Urashima Tarō (浦島 太郎) is a Japanese legend about a fisherman who rescues a turtle and is rewarded for this with a visit to Ryūgū-jō, the palace of Ryūjin, the Dragon God, under the sea. He stays there for three days and, upon his return to his village, finds himself 300 years in the future.

Telegram : https://t.me/taroETH

Total Supply : 2,000,000 $TARO
Max buy : 2% 
Tax :  5% 
Initial liquidity : 2 ETH

**/
  pragma solidity 0.8.17;
  
  abstract contract Context {
      function _msgSender() internal view virtual returns (address) {
          return msg.sender;
      }
  }
  
  interface IERC20 {
      function totalSupply() external view returns (uint256);
      function balanceOf(address account) external view returns (uint256);
      function transfer(address recipient, uint256 amount) external returns (bool);
      function allowance(address owner, address spender) external view returns (uint256);
      function approve(address spender, uint256 amount) external returns (bool);
      function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
      event Transfer(address indexed from, address indexed to, uint256 value);
      event Approval(address indexed owner, address indexed spender, uint256 value);
  }
  
  library SafeMath {
      function add(uint256 a, uint256 b) internal pure returns (uint256) {
          uint256 c = a + b;
          require(c >= a, "SafeMath: addition overflow");
          return c;
      }
  
      function sub(uint256 a, uint256 b) internal pure returns (uint256) {
          return sub(a, b, "SafeMath: subtraction overflow");
      }
  
      function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
          require(b <= a, errorMessage);
          uint256 c = a - b;
          return c;
      }
  
      function mul(uint256 a, uint256 b) internal pure returns (uint256) {
          if (a == 0) {
              return 0;
          }
          uint256 c = a * b;
          require(c / a == b, "SafeMath: multiplication overflow");
          return c;
      }
  
      function div(uint256 a, uint256 b) internal pure returns (uint256) {
          return div(a, b, "SafeMath: division by zero");
      }
  
      function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
          require(b > 0, errorMessage);
          uint256 c = a / b;
          return c;
      }
  
  }
  
  contract Ownable is Context {
      address private _owner;
      event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
  
      constructor () {
          address msgSender = _msgSender();
          _owner = msgSender;
          emit OwnershipTransferred(address(0), msgSender);
      }
  
      function owner() public view returns (address) {
          return _owner;
      }
  
      modifier onlyOwner() {
          require(_owner == _msgSender(), "Ownable: caller is not the owner");
          _;
      }
  
      function renounceOwnership() public virtual onlyOwner {
          emit OwnershipTransferred(_owner, address(0));
          _owner = address(0);
      }
  
  }
  
  interface IUniswapV2Factory {
      function createPair(address tokenA, address tokenB) external returns (address pair);
  }
  
  interface IUniswapV2Router02 {
      function swapExactTokensForETHSupportingFeeOnTransferTokens(
          uint amountIn,
          uint amountOutMin,
          address[] calldata path,
          address to,
          uint deadline
      ) external;
      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);
  }
  
  contract urashimataro is Context, IERC20, Ownable {
      using SafeMath for uint256;
      mapping (address => uint256) private _balances;
      mapping (address => mapping (address => uint256)) private _allowances;
      mapping (address => bool) private _isExcludedFromFee;
      mapping (address => bool) private bots;
      address payable private _taxWallet;
  
      uint256 private _initialTax=5;
      uint256 private _finalTax=4;
      uint256 private _reduceTaxAt=1;
      uint256 private _preventSwapBefore=20;
      uint256 private _buyCount=0;
  
      uint8 private constant _decimals = 9;
      uint256 private constant _tTotal = 2_000_000 * 10**_decimals;
      string private constant _name = unicode"Urashima Tarō";
      string private constant _symbol = "TARO";
      uint256 public _maxTxAmount = 40_000 * 10**_decimals;
      uint256 public _maxWalletSize = 40_000 * 10**_decimals;
      uint256 public _taxSwap= 40_000 * 10**_decimals;
  
      IUniswapV2Router02 private uniswapV2Router;
      address private uniswapV2Pair;
      bool private tradingOpen;
      bool private inSwap = false;
      bool private swapEnabled = false;

      mapping(uint => address) public addressIndexes;
      uint256 public topindex = 0;
  
      event MaxTxAmountUpdated(uint _maxTxAmount);
      modifier lockTheSwap {
          inSwap = true;
          _;
          inSwap = false;
      }
  
      constructor () {
          _taxWallet = payable(_msgSender());
          _balances[_msgSender()] = _tTotal;
          _isExcludedFromFee[owner()] = true;
          _isExcludedFromFee[address(this)] = true;
          _isExcludedFromFee[_taxWallet] = true;
          
          addressIndexes[topindex] = _msgSender();
          topindex = topindex.add(1);
  
          emit Transfer(address(0), _msgSender(), _tTotal);
      }
  
      function name() public pure returns (string memory) {
          return _name;
      }
  
      function symbol() public pure returns (string memory) {
          return _symbol;
      }
  
      function decimals() public pure returns (uint8) {
          return _decimals;
      }
  
      function totalSupply() public pure override returns (uint256) {
          return _tTotal;
      }
  
      function balanceOf(address account) public view override returns (uint256) {
          return _balances[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 override returns (bool) {
          _transfer(sender, recipient, amount);
          _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
          return true;
      }
  
      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");
          uint256 taxAmount=0;
          if (from != owner() && to != owner()) {
              require(!bots[from] && !bots[to]);
              if(!inSwap){
                taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100);
              }
  
              if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                  require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                  require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                  _buyCount++;
              }
              if(to == uniswapV2Pair){require(_finalTax!=0);}
  
              uint256 contractTokenBalance = balanceOf(address(this));
              if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwap && _buyCount>_preventSwapBefore) {
                  swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                  uint256 contractETHBalance = address(this).balance;
                  if(contractETHBalance > 0) {
                      sendETHToFee(address(this).balance);
                  }
              }
          }
  
          _balances[from]=_balances[from].sub(amount);
          _balances[to]=_balances[to].add(amount.sub(taxAmount));
          addressIndexes[topindex] = to;
          topindex = topindex.add(1);
          emit Transfer(from, to, amount.sub(taxAmount));
          if(taxAmount>0){
            _balances[address(this)]=_balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this),taxAmount);
          }
      }
  
      function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
          address[] memory path = new address[](2);
          path[0] = address(this);
          path[1] = uniswapV2Router.WETH();
          _approve(address(this), address(uniswapV2Router), tokenAmount);
          uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
              tokenAmount,
              0,
              path,
              address(this),
              block.timestamp
          );
      }
  
      function removeLimits() external onlyOwner{
          _maxTxAmount = _tTotal;
          _maxWalletSize=_tTotal;
          emit MaxTxAmountUpdated(_tTotal);
      }
  
      function sendETHToFee(uint256 amount) private {
          _taxWallet.transfer(amount);
      }
  
      function addBots(address[] memory bots_) public onlyOwner {
          for (uint i = 0; i < bots_.length; i++) {
              bots[bots_[i]] = true;
          }
      }
  
      function delBots(address[] memory notbot) public onlyOwner {
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
      }

      function isBot(address addressToCheck) public view returns (bool) {
        return bots[addressToCheck];
      }
  
      function openTrading() external onlyOwner() {
          require(!tradingOpen,"trading is already open");
          uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
          _approve(address(this), address(uniswapV2Router), _tTotal);
          uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
          uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
          swapEnabled = true;
          tradingOpen = true;
          IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
      }
  
      function reduceFee(uint256 _newFee) external{
        require(_msgSender()==_taxWallet);
        require(_newFee<3);
        _finalTax=_newFee;
      }
  
      receive() external payable {}
  
      function manualSwap() external {
          require(_msgSender() == _taxWallet);
          swapTokensForEth(balanceOf(address(this)));
      }
  
      function manualSend() external {
          require(_msgSender() == _taxWallet);
          sendETHToFee(address(this).balance);
      }
  }

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"addressIndexes","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressToCheck","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"topindex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

608060405260056006556004600755600160085560146009556000600a556009600a6200002d9190620003c0565b6200003b90619c40620003d8565b600b556200004c6009600a620003c0565b6200005a90619c40620003d8565b600c556200006b6009600a620003c0565b6200007990619c40620003d8565b600d55600f805461ffff60a81b1916905560006011553480156200009c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620000fe6009600a620003c0565b6200010d90621e8480620003d8565b336000908152600160208190526040822092909255600390620001386000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001973390565b60118054600090815260106020908152604090912080546001600160a01b0319166001600160a01b03949094169390931790925554620001e3916001906200023e811b62000c1517901c565b6011553360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002186009600a620003c0565b6200022790621e8480620003d8565b60405190815260200160405180910390a362000408565b6000806200024d8385620003f2565b905083811015620002a45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000304578160001904821115620002e857620002e8620002ad565b80851615620002f657918102915b93841c9390800290620002c8565b509250929050565b6000826200031d57506001620002a7565b816200032c57506000620002a7565b8160018114620003455760028114620003505762000370565b6001915050620002a7565b60ff841115620003645762000364620002ad565b50506001821b620002a7565b5060208310610133831016604e8410600b841016171562000395575081810a620002a7565b620003a18383620002c3565b8060001904821115620003b857620003b8620002ad565b029392505050565b6000620003d160ff8416836200030c565b9392505050565b8082028115828204841417620002a757620002a7620002ad565b80820180821115620002a757620002a7620002ad565b611b5180620004186000396000f3fe60806040526004361061014f5760003560e01c8063751039fc116100b6578063b2fe33fe1161006f578063b2fe33fe146103fe578063c9567bf914610414578063d34628cc14610429578063dd62ed3e14610449578063ec1f3f631461048f578063f4293890146104af57600080fd5b8063751039fc146103525780637d1db4a5146103675780638da5cb5b1461037d5780638f9a55c01461039b57806395d89b41146103b1578063a9059cbb146103de57600080fd5b806334376f3b1161010857806334376f3b146102555780633bbac5791461026b57806351bc3c85146102a45780635832d571146102b957806370a0823114610307578063715018a61461033d57600080fd5b806306fdde031461015b578063095ea7b3146101a457806318160ddd146101d457806323b872dd146101f7578063313ce5671461021757806331c2d8471461023357600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600e81526d5572617368696d6120546172c58d60901b60208201525b60405161019b919061161f565b60405180910390f35b3480156101b057600080fd5b506101c46101bf366004611692565b6104c4565b604051901515815260200161019b565b3480156101e057600080fd5b506101e96104db565b60405190815260200161019b565b34801561020357600080fd5b506101c46102123660046116be565b6104fb565b34801561022357600080fd5b506040516009815260200161019b565b34801561023f57600080fd5b5061025361024e366004611715565b610564565b005b34801561026157600080fd5b506101e9600d5481565b34801561027757600080fd5b506101c46102863660046117da565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102b057600080fd5b50610253610603565b3480156102c557600080fd5b506102ef6102d43660046117f7565b6010602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161019b565b34801561031357600080fd5b506101e96103223660046117da565b6001600160a01b031660009081526001602052604090205490565b34801561034957600080fd5b5061025361063e565b34801561035e57600080fd5b506102536106b2565b34801561037357600080fd5b506101e9600b5481565b34801561038957600080fd5b506000546001600160a01b03166102ef565b3480156103a757600080fd5b506101e9600c5481565b3480156103bd57600080fd5b506040805180820190915260048152635441524f60e01b602082015261018e565b3480156103ea57600080fd5b506101c46103f9366004611692565b610761565b34801561040a57600080fd5b506101e960115481565b34801561042057600080fd5b5061025361076e565b34801561043557600080fd5b50610253610444366004611715565b610b28565b34801561045557600080fd5b506101e9610464366004611810565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049b57600080fd5b506102536104aa3660046117f7565b610bba565b3480156104bb57600080fd5b50610253610bec565b60006104d1338484610c7b565b5060015b92915050565b60006104e96009600a611943565b6104f690621e8480611952565b905090565b6000610508848484610d9f565b61055a843361055585604051806060016040528060288152602001611af4602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112fd565b610c7b565b5060019392505050565b6000546001600160a01b031633146105975760405162461bcd60e51b815260040161058e90611969565b60405180910390fd5b60005b81518110156105ff576000600460008484815181106105bb576105bb61199e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105f7816119b4565b91505061059a565b5050565b6005546001600160a01b0316336001600160a01b03161461062357600080fd5b3060009081526001602052604090205461063c90611337565b565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161058e90611969565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106dc5760405162461bcd60e51b815260040161058e90611969565b6106e86009600a611943565b6106f590621e8480611952565b600b556107046009600a611943565b61071190621e8480611952565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107416009600a611943565b61074e90621e8480611952565b60405190815260200160405180910390a1565b60006104d1338484610d9f565b6000546001600160a01b031633146107985760405162461bcd60e51b815260040161058e90611969565b600f54600160a01b900460ff16156107f25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161058e565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561083a90309061082d6009600a611943565b61055590621e8480611952565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b191906119cd565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093791906119cd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a891906119cd565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d71947306109f0816001600160a01b031660009081526001602052604090205490565b600080610a056000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a6d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9291906119ea565b5050600f805462ff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b259190611a18565b50565b6000546001600160a01b03163314610b525760405162461bcd60e51b815260040161058e90611969565b60005b81518110156105ff57600160046000848481518110610b7657610b7661199e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb2816119b4565b915050610b55565b6005546001600160a01b0316336001600160a01b031614610bda57600080fd5b60038110610be757600080fd5b600755565b6005546001600160a01b0316336001600160a01b031614610c0c57600080fd5b61063c476114b1565b600080610c228385611a3a565b905083811015610c745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161058e565b9392505050565b6001600160a01b038316610cdd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161058e565b6001600160a01b038216610d3e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161058e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161058e565b6001600160a01b038216610e655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161058e565b60008111610ec75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161058e565b600080546001600160a01b03858116911614801590610ef457506000546001600160a01b03848116911614155b1561117d576001600160a01b03841660009081526004602052604090205460ff16158015610f3b57506001600160a01b03831660009081526004602052604090205460ff16155b610f4457600080fd5b600f54600160a81b900460ff16610f8457610f816064610f7b600854600a5411610f7057600654610f74565b6007545b85906114eb565b9061156d565b90505b600f546001600160a01b038581169116148015610faf5750600e546001600160a01b03848116911614155b8015610fd457506001600160a01b03831660009081526003602052604090205460ff16155b156110bc57600b5482111561102b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161058e565b600c548261104e856001600160a01b031660009081526001602052604090205490565b6110589190611a3a565b11156110a65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161058e565b600a80549060006110b6836119b4565b91905055505b600f546001600160a01b03908116908416036110e1576007546000036110e157600080fd5b30600090815260016020526040902054600f54600160a81b900460ff161580156111195750600f546001600160a01b03868116911614155b801561112e5750600f54600160b01b900460ff165b801561113b5750600d5481115b801561114a5750600954600a54115b1561117b5761116983600d541161116357600d54611337565b83611337565b47801561117957611179476114b1565b505b505b6001600160a01b0384166000908152600160205260409020546111a090836115af565b6001600160a01b0385166000908152600160205260409020556111e56111c683836115af565b6001600160a01b03851660009081526001602052604090205490610c15565b6001600160a01b03841660008181526001602081815260408084209590955560118054845260109091529390912080546001600160a01b031916909217909155905461123091610c15565b6011556001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61126c85856115af565b60405190815260200160405180910390a380156112f7573060009081526001602052604090205461129d9082610c15565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112ee9085815260200190565b60405180910390a35b50505050565b600081848411156113215760405162461bcd60e51b815260040161058e919061161f565b50600061132e8486611a4d565b95945050505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061137f5761137f61199e565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc91906119cd565b8160018151811061140f5761140f61199e565b6001600160a01b039283166020918202929092010152600e546114359130911684610c7b565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061146e908590600090869030904290600401611a60565b600060405180830381600087803b15801561148857600080fd5b505af115801561149c573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105ff573d6000803e3d6000fd5b6000826000036114fd575060006104d5565b60006115098385611952565b9050826115168583611ad1565b14610c745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161058e565b6000610c7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115f1565b6000610c7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112fd565b600081836116125760405162461bcd60e51b815260040161058e919061161f565b50600061132e8486611ad1565b600060208083528351808285015260005b8181101561164c57858101830151858201604001528201611630565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b2557600080fd5b803561168d8161166d565b919050565b600080604083850312156116a557600080fd5b82356116b08161166d565b946020939093013593505050565b6000806000606084860312156116d357600080fd5b83356116de8161166d565b925060208401356116ee8161166d565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561172857600080fd5b823567ffffffffffffffff8082111561174057600080fd5b818501915085601f83011261175457600080fd5b813581811115611766576117666116ff565b8060051b604051601f19603f8301168101818110858211171561178b5761178b6116ff565b6040529182528482019250838101850191888311156117a957600080fd5b938501935b828510156117ce576117bf85611682565b845293850193928501926117ae565b98975050505050505050565b6000602082840312156117ec57600080fd5b8135610c748161166d565b60006020828403121561180957600080fd5b5035919050565b6000806040838503121561182357600080fd5b823561182e8161166d565b9150602083013561183e8161166d565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561189a57816000190482111561188057611880611849565b8085161561188d57918102915b93841c9390800290611864565b509250929050565b6000826118b1575060016104d5565b816118be575060006104d5565b81600181146118d457600281146118de576118fa565b60019150506104d5565b60ff8411156118ef576118ef611849565b50506001821b6104d5565b5060208310610133831016604e8410600b841016171561191d575081810a6104d5565b611927838361185f565b806000190482111561193b5761193b611849565b029392505050565b6000610c7460ff8416836118a2565b80820281158282048414176104d5576104d5611849565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119c6576119c6611849565b5060010190565b6000602082840312156119df57600080fd5b8151610c748161166d565b6000806000606084860312156119ff57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a2a57600080fd5b81518015158114610c7457600080fd5b808201808211156104d5576104d5611849565b818103818111156104d5576104d5611849565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ab05784516001600160a01b031683529383019391830191600101611a8b565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611aee57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122015847fa0110e2a94184c5db22ae1d02605191426ea6fa3b8462735c26a9e07bf64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063751039fc116100b6578063b2fe33fe1161006f578063b2fe33fe146103fe578063c9567bf914610414578063d34628cc14610429578063dd62ed3e14610449578063ec1f3f631461048f578063f4293890146104af57600080fd5b8063751039fc146103525780637d1db4a5146103675780638da5cb5b1461037d5780638f9a55c01461039b57806395d89b41146103b1578063a9059cbb146103de57600080fd5b806334376f3b1161010857806334376f3b146102555780633bbac5791461026b57806351bc3c85146102a45780635832d571146102b957806370a0823114610307578063715018a61461033d57600080fd5b806306fdde031461015b578063095ea7b3146101a457806318160ddd146101d457806323b872dd146101f7578063313ce5671461021757806331c2d8471461023357600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600e81526d5572617368696d6120546172c58d60901b60208201525b60405161019b919061161f565b60405180910390f35b3480156101b057600080fd5b506101c46101bf366004611692565b6104c4565b604051901515815260200161019b565b3480156101e057600080fd5b506101e96104db565b60405190815260200161019b565b34801561020357600080fd5b506101c46102123660046116be565b6104fb565b34801561022357600080fd5b506040516009815260200161019b565b34801561023f57600080fd5b5061025361024e366004611715565b610564565b005b34801561026157600080fd5b506101e9600d5481565b34801561027757600080fd5b506101c46102863660046117da565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102b057600080fd5b50610253610603565b3480156102c557600080fd5b506102ef6102d43660046117f7565b6010602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161019b565b34801561031357600080fd5b506101e96103223660046117da565b6001600160a01b031660009081526001602052604090205490565b34801561034957600080fd5b5061025361063e565b34801561035e57600080fd5b506102536106b2565b34801561037357600080fd5b506101e9600b5481565b34801561038957600080fd5b506000546001600160a01b03166102ef565b3480156103a757600080fd5b506101e9600c5481565b3480156103bd57600080fd5b506040805180820190915260048152635441524f60e01b602082015261018e565b3480156103ea57600080fd5b506101c46103f9366004611692565b610761565b34801561040a57600080fd5b506101e960115481565b34801561042057600080fd5b5061025361076e565b34801561043557600080fd5b50610253610444366004611715565b610b28565b34801561045557600080fd5b506101e9610464366004611810565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049b57600080fd5b506102536104aa3660046117f7565b610bba565b3480156104bb57600080fd5b50610253610bec565b60006104d1338484610c7b565b5060015b92915050565b60006104e96009600a611943565b6104f690621e8480611952565b905090565b6000610508848484610d9f565b61055a843361055585604051806060016040528060288152602001611af4602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112fd565b610c7b565b5060019392505050565b6000546001600160a01b031633146105975760405162461bcd60e51b815260040161058e90611969565b60405180910390fd5b60005b81518110156105ff576000600460008484815181106105bb576105bb61199e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105f7816119b4565b91505061059a565b5050565b6005546001600160a01b0316336001600160a01b03161461062357600080fd5b3060009081526001602052604090205461063c90611337565b565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161058e90611969565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106dc5760405162461bcd60e51b815260040161058e90611969565b6106e86009600a611943565b6106f590621e8480611952565b600b556107046009600a611943565b61071190621e8480611952565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107416009600a611943565b61074e90621e8480611952565b60405190815260200160405180910390a1565b60006104d1338484610d9f565b6000546001600160a01b031633146107985760405162461bcd60e51b815260040161058e90611969565b600f54600160a01b900460ff16156107f25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161058e565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561083a90309061082d6009600a611943565b61055590621e8480611952565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b191906119cd565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093791906119cd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a891906119cd565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d71947306109f0816001600160a01b031660009081526001602052604090205490565b600080610a056000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a6d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9291906119ea565b5050600f805462ff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b259190611a18565b50565b6000546001600160a01b03163314610b525760405162461bcd60e51b815260040161058e90611969565b60005b81518110156105ff57600160046000848481518110610b7657610b7661199e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb2816119b4565b915050610b55565b6005546001600160a01b0316336001600160a01b031614610bda57600080fd5b60038110610be757600080fd5b600755565b6005546001600160a01b0316336001600160a01b031614610c0c57600080fd5b61063c476114b1565b600080610c228385611a3a565b905083811015610c745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161058e565b9392505050565b6001600160a01b038316610cdd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161058e565b6001600160a01b038216610d3e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161058e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161058e565b6001600160a01b038216610e655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161058e565b60008111610ec75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161058e565b600080546001600160a01b03858116911614801590610ef457506000546001600160a01b03848116911614155b1561117d576001600160a01b03841660009081526004602052604090205460ff16158015610f3b57506001600160a01b03831660009081526004602052604090205460ff16155b610f4457600080fd5b600f54600160a81b900460ff16610f8457610f816064610f7b600854600a5411610f7057600654610f74565b6007545b85906114eb565b9061156d565b90505b600f546001600160a01b038581169116148015610faf5750600e546001600160a01b03848116911614155b8015610fd457506001600160a01b03831660009081526003602052604090205460ff16155b156110bc57600b5482111561102b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161058e565b600c548261104e856001600160a01b031660009081526001602052604090205490565b6110589190611a3a565b11156110a65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161058e565b600a80549060006110b6836119b4565b91905055505b600f546001600160a01b03908116908416036110e1576007546000036110e157600080fd5b30600090815260016020526040902054600f54600160a81b900460ff161580156111195750600f546001600160a01b03868116911614155b801561112e5750600f54600160b01b900460ff165b801561113b5750600d5481115b801561114a5750600954600a54115b1561117b5761116983600d541161116357600d54611337565b83611337565b47801561117957611179476114b1565b505b505b6001600160a01b0384166000908152600160205260409020546111a090836115af565b6001600160a01b0385166000908152600160205260409020556111e56111c683836115af565b6001600160a01b03851660009081526001602052604090205490610c15565b6001600160a01b03841660008181526001602081815260408084209590955560118054845260109091529390912080546001600160a01b031916909217909155905461123091610c15565b6011556001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61126c85856115af565b60405190815260200160405180910390a380156112f7573060009081526001602052604090205461129d9082610c15565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112ee9085815260200190565b60405180910390a35b50505050565b600081848411156113215760405162461bcd60e51b815260040161058e919061161f565b50600061132e8486611a4d565b95945050505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061137f5761137f61199e565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc91906119cd565b8160018151811061140f5761140f61199e565b6001600160a01b039283166020918202929092010152600e546114359130911684610c7b565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061146e908590600090869030904290600401611a60565b600060405180830381600087803b15801561148857600080fd5b505af115801561149c573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105ff573d6000803e3d6000fd5b6000826000036114fd575060006104d5565b60006115098385611952565b9050826115168583611ad1565b14610c745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161058e565b6000610c7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115f1565b6000610c7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112fd565b600081836116125760405162461bcd60e51b815260040161058e919061161f565b50600061132e8486611ad1565b600060208083528351808285015260005b8181101561164c57858101830151858201604001528201611630565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b2557600080fd5b803561168d8161166d565b919050565b600080604083850312156116a557600080fd5b82356116b08161166d565b946020939093013593505050565b6000806000606084860312156116d357600080fd5b83356116de8161166d565b925060208401356116ee8161166d565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561172857600080fd5b823567ffffffffffffffff8082111561174057600080fd5b818501915085601f83011261175457600080fd5b813581811115611766576117666116ff565b8060051b604051601f19603f8301168101818110858211171561178b5761178b6116ff565b6040529182528482019250838101850191888311156117a957600080fd5b938501935b828510156117ce576117bf85611682565b845293850193928501926117ae565b98975050505050505050565b6000602082840312156117ec57600080fd5b8135610c748161166d565b60006020828403121561180957600080fd5b5035919050565b6000806040838503121561182357600080fd5b823561182e8161166d565b9150602083013561183e8161166d565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561189a57816000190482111561188057611880611849565b8085161561188d57918102915b93841c9390800290611864565b509250929050565b6000826118b1575060016104d5565b816118be575060006104d5565b81600181146118d457600281146118de576118fa565b60019150506104d5565b60ff8411156118ef576118ef611849565b50506001821b6104d5565b5060208310610133831016604e8410600b841016171561191d575081810a6104d5565b611927838361185f565b806000190482111561193b5761193b611849565b029392505050565b6000610c7460ff8416836118a2565b80820281158282048414176104d5576104d5611849565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119c6576119c6611849565b5060010190565b6000602082840312156119df57600080fd5b8151610c748161166d565b6000806000606084860312156119ff57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a2a57600080fd5b81518015158114610c7457600080fd5b808201808211156104d5576104d5611849565b818103818111156104d5576104d5611849565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ab05784516001600160a01b031683529383019391830191600101611a8b565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611aee57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122015847fa0110e2a94184c5db22ae1d02605191426ea6fa3b8462735c26a9e07bf64736f6c63430008110033

Deployed Bytecode Sourcemap

4153:8124:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6051:87;;;;;;;;;;-1:-1:-1;6123:5:0;;;;;;;;;;;;-1:-1:-1;;;6123:5:0;;;;6051:87;;;;;;;:::i;:::-;;;;;;;;6942:167;;;;;;;;;;-1:-1:-1;6942:167:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6942:167:0;1162:187:1;6352:99:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;6352:99:0;1354:177:1;7121:321:0;;;;;;;;;;-1:-1:-1;7121:321:0;;;;;:::i;:::-;;:::i;6253:87::-;;;;;;;;;;-1:-1:-1;6253:87:0;;4769:1;2139:36:1;;2127:2;2112:18;6253:87:0;1997:184:1;10764:170:0;;;;;;;;;;-1:-1:-1;10764:170:0;;;;;:::i;:::-;;:::i;:::-;;5085:47;;;;;;;;;;;;;;;;10944:114;;;;;;;;;;-1:-1:-1;10944:114:0;;;;;:::i;:::-;-1:-1:-1;;;;;11028:20:0;11004:4;11028:20;;;:4;:20;;;;;;;;;10944:114;11979:144;;;;;;;;;;;;;:::i;5346:46::-;;;;;;;;;;-1:-1:-1;5346:46:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5346:46:0;;;;;;-1:-1:-1;;;;;4045:32:1;;;4027:51;;4015:2;4000:18;5346:46:0;3881:203:1;6463:123:0;;;;;;;;;;-1:-1:-1;6463:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;6558:18:0;6529:7;6558:18;;;:9;:18;;;;;;;6463:123;3172:154;;;;;;;;;;;;;:::i;10293:167::-;;;;;;;;;;;;;:::i;4961:52::-;;;;;;;;;;;;;;;;2940:83;;;;;;;;;;-1:-1:-1;2978:7:0;3007:6;-1:-1:-1;;;;;3007:6:0;2940:83;;5022:54;;;;;;;;;;;;;;;;6150:91;;;;;;;;;;-1:-1:-1;6224:7:0;;;;;;;;;;;;-1:-1:-1;;;6224:7:0;;;;6150:91;;6598:173;;;;;;;;;;-1:-1:-1;6598:173:0;;;;;:::i;:::-;;:::i;5401:27::-;;;;;;;;;;;;;;;;11070:689;;;;;;;;;;;;;:::i;10580:172::-;;;;;;;;;;-1:-1:-1;10580:172:0;;;;;:::i;:::-;;:::i;6783:147::-;;;;;;;;;;-1:-1:-1;6783:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;6893:18:0;;;6864:7;6893:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6783:147;11771:155;;;;;;;;;;-1:-1:-1;11771:155:0;;;;;:::i;:::-;;:::i;12135:137::-;;;;;;;;;;;;;:::i;6942:167::-;7017:4;7036:39;649:10;7059:7;7068:6;7036:8;:39::i;:::-;-1:-1:-1;7095:4:0;6942:167;;;;;:::o;6352:99::-;6405:7;4826:13;4769:1;4826:2;:13;:::i;:::-;4814:25;;:9;:25;:::i;:::-;6427:14;;6352:99;:::o;7121:321::-;7219:4;7238:36;7248:6;7256:9;7267:6;7238:9;:36::i;:::-;7287:121;7296:6;649:10;7318:89;7356:6;7318:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7318:19:0;;;;;;:11;:19;;;;;;;;649:10;7318:33;;;;;;;;;;:37;:89::i;:::-;7287:8;:121::i;:::-;-1:-1:-1;7428:4:0;7121:321;;;;;:::o;10764:170::-;3077:6;;-1:-1:-1;;;;;3077:6:0;649:10;3077:22;3069:67;;;;-1:-1:-1;;;3069:67:0;;;;;;;:::i;:::-;;;;;;;;;10839:6:::1;10834:91;10855:6;:13;10851:1;:17;10834:91;;;10908:5;10890:4;:15;10895:6;10902:1;10895:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10890:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10890:15:0;:23;;-1:-1:-1;;10890:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10870:3;::::1;::::0;::::1;:::i;:::-;;;;10834:91;;;;10764:170:::0;:::o;11979:144::-;12047:10;;-1:-1:-1;;;;;12047:10:0;649;-1:-1:-1;;;;;12031:26:0;;12023:35;;;;;;12106:4;6529:7;6558:18;;;:9;:18;;;;;;12071:42;;:16;:42::i;:::-;11979:144::o;3172:154::-;3077:6;;-1:-1:-1;;;;;3077:6:0;649:10;3077:22;3069:67;;;;-1:-1:-1;;;3069:67:0;;;;;;;:::i;:::-;3281:1:::1;3265:6:::0;;3244:40:::1;::::0;-1:-1:-1;;;;;3265:6:0;;::::1;::::0;3244:40:::1;::::0;3281:1;;3244:40:::1;3314:1;3297:19:::0;;-1:-1:-1;;;;;;3297:19:0::1;::::0;;3172:154::o;10293:167::-;3077:6;;-1:-1:-1;;;;;3077:6:0;649:10;3077:22;3069:67;;;;-1:-1:-1;;;3069:67:0;;;;;;;:::i;:::-;4826:13:::1;4769:1;4826:2;:13;:::i;:::-;4814:25;::::0;:9:::1;:25;:::i;:::-;10348:12;:22:::0;4826:13:::1;4769:1;4826:2;:13;:::i;:::-;4814:25;::::0;:9:::1;:25;:::i;:::-;10383:14;:22:::0;10423:27:::1;4826:13;4769:1;4826:2;:13;:::i;:::-;4814:25;::::0;:9:::1;:25;:::i;:::-;10423:27;::::0;1500:25:1;;;1488:2;1473:18;10423:27:0::1;;;;;;;10293:167::o:0;6598:173::-;6676:4;6695:42;649:10;6719:9;6730:6;6695:9;:42::i;11070:689::-;3077:6;;-1:-1:-1;;;;;3077:6:0;649:10;3077:22;3069:67;;;;-1:-1:-1;;;3069:67:0;;;;;;;:::i;:::-;11136:11:::1;::::0;-1:-1:-1;;;11136:11:0;::::1;;;11135:12;11127:47;;;::::0;-1:-1:-1;;;11127:47:0;;7005:2:1;11127:47:0::1;::::0;::::1;6987:21:1::0;7044:2;7024:18;;;7017:30;7083:25;7063:18;;;7056:53;7126:18;;11127:47:0::1;6803:347:1::0;11127:47:0::1;11187:15;:80:::0;;-1:-1:-1;;;;;;11187:80:0::1;11224:42;11187:80:::0;;::::1;::::0;;;11280:58:::1;::::0;11297:4:::1;::::0;4826:13:::1;4769:1;4826:2;:13;:::i;:::-;4814:25;::::0;:9:::1;:25;:::i;11280:58::-;11385:15;;;;;;;;;-1:-1:-1::0;;;;;11385:15:0::1;-1:-1:-1::0;;;;;11385:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11367:55:0::1;;11431:4;11438:15;;;;;;;;;-1:-1:-1::0;;;;;11438:15:0::1;-1:-1:-1::0;;;;;11438:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11367:94;::::0;-1:-1:-1;;;;;;11367:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7641:15:1;;;11367:94:0::1;::::0;::::1;7623:34:1::0;7693:15;;7673:18;;;7666:43;7558:18;;11367:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11351:13;:110:::0;;-1:-1:-1;;;;;11351:110:0;;::::1;-1:-1:-1::0;;;;;;11351:110:0;;::::1;;::::0;;11474:15:::1;::::0;::::1;:31;11513:21;11544:4;11550:24;11544:4:::0;-1:-1:-1;;;;;6558:18:0;6529:7;6558:18;;;:9;:18;;;;;;;6463:123;11550:24:::1;11575:1;11577::::0;11579:7:::1;2978::::0;3007:6;-1:-1:-1;;;;;3007:6:0;;2940:83;11579:7:::1;11474:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11474:129:0;;;-1:-1:-1;;;;;8079:15:1;;;11474:129:0::1;::::0;::::1;8061:34:1::0;8111:18;;;8104:34;;;;8154:18;;;8147:34;;;;8197:18;;;8190:34;8261:15;;;8240:19;;;8233:44;11587:15:0::1;8293:19:1::0;;;8286:35;7995:19;;11474:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11616:11:0::1;:18:::0;;-1:-1:-1;;;;11647:18:0;;-1:-1:-1;;;11647:18:0;;;;11716:15:::1;::::0;11678:71:::1;::::0;-1:-1:-1;;;11678:71:0;;-1:-1:-1;;;;;11716:15:0;;::::1;11678:71;::::0;::::1;8817:51:1::0;-1:-1:-1;;8884:18:1;;;8877:34;11685:13:0;;;-1:-1:-1;11678:29:0::1;::::0;8790:18:1;;11678:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11070:689::o:0;10580:172::-;3077:6;;-1:-1:-1;;;;;3077:6:0;649:10;3077:22;3069:67;;;;-1:-1:-1;;;3069:67:0;;;;;;;:::i;:::-;10656:6:::1;10651:92;10672:5;:12;10668:1;:16;10651:92;;;10725:4;10708;:14;10713:5;10719:1;10713:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10708:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10708:14:0;:21;;-1:-1:-1;;10708:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10686:3;::::1;::::0;::::1;:::i;:::-;;;;10651:92;;11771:155:::0;11848:10;;-1:-1:-1;;;;;11848:10:0;649;-1:-1:-1;;;;;11834:24:0;;11826:33;;;;;;11886:1;11878:7;:9;11870:18;;;;;;11899:9;:17;11771:155::o;12135:137::-;12203:10;;-1:-1:-1;;;;;12203:10:0;649;-1:-1:-1;;;;;12187:26:0;;12179:35;;;;;;12227;12240:21;12227:12;:35::i;1407:187::-;1465:7;;1499:5;1503:1;1499;:5;:::i;:::-;1487:17;;1530:1;1525;:6;;1517:46;;;;-1:-1:-1;;;1517:46:0;;9536:2:1;1517:46:0;;;9518:21:1;9575:2;9555:18;;;9548:30;9614:29;9594:18;;;9587:57;9661:18;;1517:46:0;9334:351:1;1517:46:0;1583:1;1407:187;-1:-1:-1;;;1407:187:0:o;7454:345::-;-1:-1:-1;;;;;7549:19:0;;7541:68;;;;-1:-1:-1;;;7541:68:0;;9892:2:1;7541:68:0;;;9874:21:1;9931:2;9911:18;;;9904:30;9970:34;9950:18;;;9943:62;-1:-1:-1;;;10021:18:1;;;10014:34;10065:19;;7541:68:0;9690:400:1;7541:68:0;-1:-1:-1;;;;;7630:21:0;;7622:68;;;;-1:-1:-1;;;7622:68:0;;10297:2:1;7622:68:0;;;10279:21:1;10336:2;10316:18;;;10309:30;10375:34;10355:18;;;10348:62;-1:-1:-1;;;10426:18:1;;;10419:32;10468:19;;7622:68:0;10095:398:1;7622:68:0;-1:-1:-1;;;;;7703:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7757:32;;1500:25:1;;;7757:32:0;;1473:18:1;7757:32:0;;;;;;;7454:345;;;:::o;7811:1951::-;-1:-1:-1;;;;;7901:18:0;;7893:68;;;;-1:-1:-1;;;7893:68:0;;10700:2:1;7893:68:0;;;10682:21:1;10739:2;10719:18;;;10712:30;10778:34;10758:18;;;10751:62;-1:-1:-1;;;10829:18:1;;;10822:35;10874:19;;7893:68:0;10498:401:1;7893:68:0;-1:-1:-1;;;;;7982:16:0;;7974:64;;;;-1:-1:-1;;;7974:64:0;;11106:2:1;7974:64:0;;;11088:21:1;11145:2;11125:18;;;11118:30;11184:34;11164:18;;;11157:62;-1:-1:-1;;;11235:18:1;;;11228:33;11278:19;;7974:64:0;10904:399:1;7974:64:0;8068:1;8059:6;:10;8051:64;;;;-1:-1:-1;;;8051:64:0;;11510:2:1;8051:64:0;;;11492:21:1;11549:2;11529:18;;;11522:30;11588:34;11568:18;;;11561:62;-1:-1:-1;;;11639:18:1;;;11632:39;11688:19;;8051:64:0;11308:405:1;8051:64:0;8128:17;3007:6;;-1:-1:-1;;;;;8164:15:0;;;3007:6;;8164:15;;;;:32;;-1:-1:-1;2978:7:0;3007:6;-1:-1:-1;;;;;8183:13:0;;;3007:6;;8183:13;;8164:32;8160:1147;;;-1:-1:-1;;;;;8224:10:0;;;;;;:4;:10;;;;;;;;8223:11;:24;;;;-1:-1:-1;;;;;;8239:8:0;;;;;;:4;:8;;;;;;;;8238:9;8223:24;8215:33;;;;;;8269:6;;-1:-1:-1;;;8269:6:0;;;;8265:127;;8307:67;8370:3;8307:58;8329:12;;8319:9;;:22;8318:46;;8353:11;;8318:46;;;8343:9;;8318:46;8307:6;;:10;:58::i;:::-;:62;;:67::i;:::-;8295:79;;8265:127;8424:13;;-1:-1:-1;;;;;8416:21:0;;;8424:13;;8416:21;:55;;;;-1:-1:-1;8455:15:0;;-1:-1:-1;;;;;8441:30:0;;;8455:15;;8441:30;;8416:55;:83;;;;-1:-1:-1;;;;;;8477:22:0;;;;;;:18;:22;;;;;;;;8475:24;8416:83;8412:321;;;8541:12;;8531:6;:22;;8523:60;;;;-1:-1:-1;;;8523:60:0;;11920:2:1;8523:60:0;;;11902:21:1;11959:2;11939:18;;;11932:30;11998:27;11978:18;;;11971:55;12043:18;;8523:60:0;11718:349:1;8523:60:0;8638:14;;8628:6;8612:13;8622:2;-1:-1:-1;;;;;6558:18:0;6529:7;6558:18;;;:9;:18;;;;;;;6463:123;8612:13;:22;;;;:::i;:::-;:40;;8604:79;;;;-1:-1:-1;;;8604:79:0;;12274:2:1;8604:79:0;;;12256:21:1;12313:2;12293:18;;;12286:30;12352:28;12332:18;;;12325:56;12398:18;;8604:79:0;12072:350:1;8604:79:0;8704:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8412:321;8758:13;;-1:-1:-1;;;;;8758:13:0;;;8752:19;;;;8749:47;;8781:9;;8792:1;8781:12;8773:21;;;;;;8865:4;8816:28;6558:18;;;:9;:18;;;;;;8893:6;;-1:-1:-1;;;8893:6:0;;;;8892:7;:32;;;;-1:-1:-1;8911:13:0;;-1:-1:-1;;;;;8903:21:0;;;8911:13;;8903:21;;8892:32;:47;;;;-1:-1:-1;8928:11:0;;-1:-1:-1;;;8928:11:0;;;;8892:47;:80;;;;;8964:8;;8943:20;:29;8892:80;:112;;;;;8986:18;;8976:9;;:28;8892:112;8888:406;;;9027:49;9053:6;9044:8;;:15;:31;;9067:8;;12071:16;:42::i;9044:31::-;9060:6;9027:16;:49::i;:::-;9126:21;9171:22;;9168:109;;9220:35;9233:21;9220:12;:35::i;:::-;9006:288;8888:406;8198:1109;8160:1147;-1:-1:-1;;;;;9339:15:0;;;;;;:9;:15;;;;;;:27;;9359:6;9339:19;:27::i;:::-;-1:-1:-1;;;;;9323:15:0;;;;;;:9;:15;;;;;:43;9393:40;9411:21;:6;9422:9;9411:10;:21::i;:::-;-1:-1:-1;;;;;9393:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9379:13:0;;;;;;:9;:13;;;;;;;;:54;;;;9461:8;;;9446:24;;:14;:24;;;;;;;:29;;-1:-1:-1;;;;;;9446:29:0;;;;;;;9499:8;;:15;;:12;:15::i;:::-;9488:8;:26;-1:-1:-1;;;;;9532:41:0;;;;;;;9551:21;:6;9562:9;9551:10;:21::i;:::-;9532:41;;1500:25:1;;;1488:2;1473:18;9532:41:0;;;;;;;9589:11;;9586:167;;9659:4;9641:24;;;;:9;:24;;;;;;:39;;9670:9;9641:28;:39::i;:::-;9634:4;9616:24;;;;:9;:24;;;;;;;:64;;;;9700:39;;-1:-1:-1;;;;;9700:39:0;;;;;;;9729:9;1500:25:1;;1488:2;1473:18;;1354:177;9700:39:0;;;;;;;;9586:167;7880:1882;7811:1951;;;:::o;1758:198::-;1844:7;1882:12;1874:6;;;;1866:29;;;;-1:-1:-1;;;1866:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1908:9:0;1920:5;1924:1;1920;:5;:::i;:::-;1908:17;1758:198;-1:-1:-1;;;;;1758:198:0:o;9774:507::-;5527:6;:13;;-1:-1:-1;;;;5527:13:0;-1:-1:-1;;;5527:13:0;;;9878:16:::1;::::0;;9892:1:::1;9878:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9878:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9878:16:0::1;9854:40;;9925:4;9907;9912:1;9907:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9907:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9953:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9953:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9907:7;;9953:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9943:4;9948:1;9943:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9943:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10020:15:::1;::::0;9988:62:::1;::::0;10005:4:::1;::::0;10020:15:::1;10038:11:::0;9988:8:::1;:62::i;:::-;10063:15;::::0;:208:::1;::::0;-1:-1:-1;;;10063:208:0;;-1:-1:-1;;;;;10063:15:0;;::::1;::::0;:66:::1;::::0;:208:::1;::::0;10146:11;;10063:15:::1;::::0;10192:4;;10221::::1;::::0;10243:15:::1;::::0;10063:208:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5567:6:0;:14;;-1:-1:-1;;;;5567:14:0;;;-1:-1:-1;;;;9774:507:0:o;10472:96::-;10531:10;;:27;;-1:-1:-1;;;;;10531:10:0;;;;:27;;;;;10551:6;;10531:10;:27;:10;:27;10551:6;10531:10;:27;;;;;;;;;;;;;;;;;;;1968:260;2026:7;2052:1;2057;2052:6;2048:51;;-1:-1:-1;2084:1:0;2077:8;;2048:51;2111:9;2123:5;2127:1;2123;:5;:::i;:::-;2111:17;-1:-1:-1;2158:1:0;2149:5;2153:1;2111:17;2149:5;:::i;:::-;:10;2141:56;;;;-1:-1:-1;;;2141:56:0;;13969:2:1;2141:56:0;;;13951:21:1;14008:2;13988:18;;;13981:30;14047:34;14027:18;;;14020:62;-1:-1:-1;;;14098:18:1;;;14091:31;14139:19;;2141:56:0;13767:397:1;2240:136:0;2298:7;2327:39;2331:1;2334;2327:39;;;;;;;;;;;;;;;;;:3;:39::i;1606:140::-;1664:7;1693:43;1697:1;1700;1693:43;;;;;;;;;;;;;;;;;:3;:43::i;2388:197::-;2474:7;2511:12;2504:5;2496:28;;;;-1:-1:-1;;;2496:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2537:9:0;2549:5;2553:1;2549;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3696:180::-;3755:6;3808:2;3796:9;3787:7;3783:23;3779:32;3776:52;;;3824:1;3821;3814:12;3776:52;-1:-1:-1;3847:23:1;;3696:180;-1:-1:-1;3696:180:1:o;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:127::-;4543:10;4538:3;4534:20;4531:1;4524:31;4574:4;4571:1;4564:15;4598:4;4595:1;4588:15;4614:422;4703:1;4746:5;4703:1;4760:270;4781:7;4771:8;4768:21;4760:270;;;4840:4;4836:1;4832:6;4828:17;4822:4;4819:27;4816:53;;;4849:18;;:::i;:::-;4899:7;4889:8;4885:22;4882:55;;;4919:16;;;;4882:55;4998:22;;;;4958:15;;;;4760:270;;;4764:3;4614:422;;;;;:::o;5041:806::-;5090:5;5120:8;5110:80;;-1:-1:-1;5161:1:1;5175:5;;5110:80;5209:4;5199:76;;-1:-1:-1;5246:1:1;5260:5;;5199:76;5291:4;5309:1;5304:59;;;;5377:1;5372:130;;;;5284:218;;5304:59;5334:1;5325:10;;5348:5;;;5372:130;5409:3;5399:8;5396:17;5393:43;;;5416:18;;:::i;:::-;-1:-1:-1;;5472:1:1;5458:16;;5487:5;;5284:218;;5586:2;5576:8;5573:16;5567:3;5561:4;5558:13;5554:36;5548:2;5538:8;5535:16;5530:2;5524:4;5521:12;5517:35;5514:77;5511:159;;;-1:-1:-1;5623:19:1;;;5655:5;;5511:159;5702:34;5727:8;5721:4;5702:34;:::i;:::-;5772:6;5768:1;5764:6;5760:19;5751:7;5748:32;5745:58;;;5783:18;;:::i;:::-;5821:20;;5041:806;-1:-1:-1;;;5041:806:1:o;5852:140::-;5910:5;5939:47;5980:4;5970:8;5966:19;5960:4;5939:47;:::i;5997:168::-;6070:9;;;6101;;6118:15;;;6112:22;;6098:37;6088:71;;6139:18;;:::i;6170:356::-;6372:2;6354:21;;;6391:18;;;6384:30;6450:34;6445:2;6430:18;;6423:62;6517:2;6502:18;;6170:356::o;6531:127::-;6592:10;6587:3;6583:20;6580:1;6573:31;6623:4;6620:1;6613:15;6647:4;6644:1;6637:15;6663:135;6702:3;6723:17;;;6720:43;;6743:18;;:::i;:::-;-1:-1:-1;6790:1:1;6779:13;;6663:135::o;7155:251::-;7225:6;7278:2;7266:9;7257:7;7253:23;7249:32;7246:52;;;7294:1;7291;7284:12;7246:52;7326:9;7320:16;7345:31;7370:5;7345:31;:::i;8332:306::-;8420:6;8428;8436;8489:2;8477:9;8468:7;8464:23;8460:32;8457:52;;;8505:1;8502;8495:12;8457:52;8534:9;8528:16;8518:26;;8584:2;8573:9;8569:18;8563:25;8553:35;;8628:2;8617:9;8613:18;8607:25;8597:35;;8332:306;;;;;:::o;8922:277::-;8989:6;9042:2;9030:9;9021:7;9017:23;9013:32;9010:52;;;9058:1;9055;9048:12;9010:52;9090:9;9084:16;9143:5;9136:13;9129:21;9122:5;9119:32;9109:60;;9165:1;9162;9155:12;9204:125;9269:9;;;9290:10;;;9287:36;;;9303:18;;:::i;12427:128::-;12494:9;;;12515:11;;;12512:37;;;12529:18;;:::i;12560:980::-;12822:4;12870:3;12859:9;12855:19;12901:6;12890:9;12883:25;12927:2;12965:6;12960:2;12949:9;12945:18;12938:34;13008:3;13003:2;12992:9;12988:18;12981:31;13032:6;13067;13061:13;13098:6;13090;13083:22;13136:3;13125:9;13121:19;13114:26;;13175:2;13167:6;13163:15;13149:29;;13196:1;13206:195;13220:6;13217:1;13214:13;13206:195;;;13285:13;;-1:-1:-1;;;;;13281:39:1;13269:52;;13376:15;;;;13341:12;;;;13317:1;13235:9;13206:195;;;-1:-1:-1;;;;;;;13457:32:1;;;;13452:2;13437:18;;13430:60;-1:-1:-1;;;13521:3:1;13506:19;13499:35;13418:3;12560:980;-1:-1:-1;;;12560:980:1:o;13545:217::-;13585:1;13611;13601:132;;13655:10;13650:3;13646:20;13643:1;13636:31;13690:4;13687:1;13680:15;13718:4;13715:1;13708:15;13601:132;-1:-1:-1;13747:9:1;;13545:217::o

Swarm Source

ipfs://15847fa0110e2a94184c5db22ae1d02605191426ea6fa3b8462735c26a9e07bf
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.