ETH Price: $3,626.08 (+9.13%)

Token

VAYC (VAYC)
 

Overview

Max Total Supply

9,999 VAYC

Holders

463

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
1 VAYC
0xde9ba5f62d6047c4a9ccf24455aa733ccc5b8f41
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:
VAYC2

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2022-02-01
*/

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// This file is forked from Solmate v6,
/// We stand on the shoulders of giants
interface IERC721 {
    function ownerOf(uint256 tokenId) external view returns (address owner);
}

/// @notice Modern, minimalist, and gas efficient ERC-721 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
/// @dev Note that balanceOf does not revert if passed the zero address, in defiance of the ERC.
contract VAYC2 {
    /*///////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/
    event Transfer(address indexed from, address indexed to, uint256 indexed id);
    event Approval(address indexed owner, address indexed spender, uint256 indexed id);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /*///////////////////////////////////////////////////////////////
                          METADATA STORAGE/LOGIC
    //////////////////////////////////////////////////////////////*/
    string private constant NOT_LIVE = "Sale not live";
    string private constant INCORRECT_PRICE = "Gotta pay right money";
    string private constant MINTED_OUT = "Max supply reached";
    string private constant FROZEN = "DATA_FROZEN";
    string private constant MIGRATED = "MIGRATION_OVER";

    string private token_metadata = "ipfs://QmUp2pBkqiGhdztfs5ym3AGttA5L8JLAUEPRawEKinRVcJ/";

    string public name;
    string public symbol;

    address public owner;
    uint16 public totalSupply;
    uint16 public counter = 0;
    uint16 public constant  MAX_SUPPLY =  10000; // only first 10000 were minted

    bool public saleMode = false;
    bool public market_frozen = false;
    bool public metadata_frozen = false;
    bool public migration_over = false;
    uint8 public giveawaysMinted = 0;
    address public market = address(0); //initialize to an address nobody controls
    uint256 public constant COST_MAYC =   0.042069 ether;
    uint256 public constant COST_PUBLIC = 0.069420 ether;
    uint8 constant MAX_MINT = 10;
    uint8 constant GIVEAWAY_LIMIT = 100;

    IERC721 private MAYC = IERC721(0x60E4d786628Fea6478F785A6d7e704777c86a7c6);
    IERC721 private BAYC = IERC721(0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D);
    IERC721 private BAKC = IERC721(0xba30E5F9Bb24caa003E9f2f0497Ad287FDF95623);
    IERC721 private OLD_VAYC = IERC721(0x99FE9b46e8e2559EAc3c7BD5dd8f55238D89FBD0);

    /*///////////////////////////////////////////////////////////////
                            ERC721 STORAGE
    //////////////////////////////////////////////////////////////*/
    mapping(address => uint256) public balanceOf;
    mapping(uint256 => address) public ownerOf;
    mapping(uint256 => address) public getApproved;
    mapping(address => mapping(address => bool)) public isApprovedForAll;

    /*///////////////////////////////////////////////////////////////
                              ERC721/165/173 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 id) external {
        address tokenOwner = ownerOf[id];

        require(msg.sender == tokenOwner || isApprovedForAll[tokenOwner][msg.sender], "NOT_AUTHORIZED");

        getApproved[id] = spender;

        emit Approval(owner, spender, id);
    }

    function setApprovalForAll(address operator, bool approved) external {
        isApprovedForAll[msg.sender][operator] = approved;

        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function transferFrom(
        address from,
        address to,
        uint256 id
    ) public {
        require(from == ownerOf[id], "WRONG_FROM");

        require(to != address(0), "INVALID_RECIPIENT");

        require(
            msg.sender == from || msg.sender == getApproved[id] || isApprovedForAll[from][msg.sender],
            "NOT_AUTHORIZED"
        );

        // Underflow of the sender's balance is impossible because we check for
        // ownership above and the recipient's balance can't realistically overflow.
        unchecked {
            balanceOf[from]--;

            balanceOf[to]++;
        }

        ownerOf[id] = to;

        delete getApproved[id];

        emit Transfer(from, to, id);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) external {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes memory data
    ) external {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function transferOwnership(address _newOwner) external onlyOwner {
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }

    function supportsInterface(bytes4 interfaceId) external pure returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165 interfaces
            interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721 tokens
            interfaceId == 0x7f5828d0 || // ERC173 Interface ID for ERC173 ownership
            interfaceId == 0x5b5e139f;   // ERC165 Interface ID for ERC721Metadata
    }

    /*///////////////////////////////////////////////////////////////
                       VAYC SPECIFIC LOGIC 
    //////////////////////////////////////////////////////////////*/


    //
    // Modifiers
    //

    modifier onlyOwner() {
        require(msg.sender == owner, "Ownable: caller is not the owner");
        _;
    }

    modifier duringMigration() {
        require(migration_over == false, MIGRATED);
        _;
    }

    modifier duringSale() {
        require(saleMode == true, NOT_LIVE);
        _;
    }

    constructor(string memory _name, string memory _symbol) {
        name = _name;
        symbol = _symbol;
        owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    function setMarket(address _market) external onlyOwner {
        require(market_frozen == false, FROZEN);
        market_frozen = true;
        market = _market;
    }

    function saleToPause() external onlyOwner {
        saleMode = false;
    }

    function saleToPublic() external onlyOwner {
        saleMode = true;
    }

    function withdraw(uint amount) external onlyOwner {
        if(amount == 0) {
            payable(owner).transfer(address(this).balance);
        } else {
            payable(owner).transfer(amount);
        }
    }

    //
    // Minting
    //

    function mintPublic(uint16 num) external payable duringSale {
        require(msg.value == COST_PUBLIC * num, INCORRECT_PRICE);
        _mintY(num);
    }

    function mintWL(uint16 num, uint tokenId) external payable duringSale {
        bool baycFan =
            (msg.sender == MAYC.ownerOf(tokenId)) ||
            (msg.sender == BAYC.ownerOf(tokenId)) ||
            (msg.sender == BAKC.ownerOf(tokenId));
        require(baycFan, "Not whitelisted");
        require(msg.value == COST_MAYC * num, INCORRECT_PRICE);
        _mintY(num);
    }

    function mintGiveaway(uint8 num) external onlyOwner {
        require(giveawaysMinted < GIVEAWAY_LIMIT, "No more giveaways");
        giveawaysMinted += num;
        _mintY(num);
    }


    function _mintY(uint16 num) internal {
        require(num <= MAX_MINT, "Max 10 per TX");
        require(totalSupply + num < MAX_SUPPLY, MINTED_OUT);
        require(msg.sender.code.length == 0, "Hack harder bot master"); // bypassable, but raises level of effort
        uint id = counter;
        uint num_already_minted = 0;
        while(num_already_minted < num){
            if (ownerOf[id] == address(0)) {
                ownerOf[id] = msg.sender;
                emit Transfer(address(0), msg.sender, id);
                num_already_minted += 1;
            }
            id += 1;
        }
        unchecked {
            balanceOf[msg.sender] += num;
            counter = uint16(id);
            totalSupply = totalSupply + num;
        }
    }

    //
    // Migration logic
    //

    function _migrateTo(uint id, address person) internal {
        ownerOf[id] = person;
        emit Transfer(address(0), msg.sender, id);
        balanceOf[person] += 1;
    }

    function endMigration() public onlyOwner {
        migration_over = true;
    }

    function setMigrationSupply(uint16 _supply, uint16 _counter) public onlyOwner duringMigration {
        totalSupply = _supply;
        counter = _counter;
    }

    function migrateByHand(uint[] calldata tokenIds) public onlyOwner duringMigration {
        for (uint i; i < tokenIds.length; i++) {
            _migrateTo(tokenIds[i], OLD_VAYC.ownerOf(tokenIds[i]));
        }
    }

    function migrateBulk(uint16 start, uint16 end) public onlyOwner duringMigration {
        for (uint16 i = start; i < end; i++) {
            _migrateTo(i, OLD_VAYC.ownerOf(i));
        }
    }


    //
    // TokenURI logic
    //

    function uintToString(uint256 value) internal pure returns (string memory) {
        // stolen from OpenZeppelin Strings library
        // https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Strings.sol
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function setTokenMetadata(string calldata url) public onlyOwner {
        require(metadata_frozen == false, FROZEN);
        metadata_frozen = true;
        token_metadata = url;
    }

    function tokenURI(uint256 id) external view returns (string memory) {
        if(ownerOf[id] == address(0))
            return "";
        return string(abi.encodePacked(string(abi.encodePacked(token_metadata, uintToString(id))), ".json"));
    }

    //
    // Market Integration
    //

    function marketTransferFrom(address from, address to, uint256 id) external {
        require(msg.sender == address(market), "INVALID_CALLER");
        require(to != address(0), "INVALID_RECIPIENT");
        unchecked {
            balanceOf[from]--;

            balanceOf[to]++;
        }

        ownerOf[id] = to;

        delete getApproved[id];

        emit Transfer(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );

    }

}

/// @notice A generic interface for a contract which properly accepts ERC721 tokens.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
interface ERC721TokenReceiver {
    function onERC721Received(
        address operator,
        address from,
        uint256 id,
        bytes calldata data
    ) external returns (bytes4);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"COST_MAYC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COST_PUBLIC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"counter","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endMigration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"giveawaysMinted","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"market","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"marketTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"market_frozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadata_frozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"start","type":"uint16"},{"internalType":"uint16","name":"end","type":"uint16"}],"name":"migrateBulk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"migrateByHand","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migration_over","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"num","type":"uint8"}],"name":"mintGiveaway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"num","type":"uint16"}],"name":"mintPublic","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint16","name":"num","type":"uint16"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"mintWL","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleToPause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleToPublic","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"setMarket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_supply","type":"uint16"},{"internalType":"uint16","name":"_counter","type":"uint16"}],"name":"setMigrationSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"url","type":"string"}],"name":"setTokenMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e06040526036608081815290620028ba60a039805162000029916000916020909101906200016d565b506003805466ffffffffffffff60b01b19169055600480546001600160a01b03199081169091556005805482167360e4d786628fea6478f785a6d7e704777c86a7c617905560068054821673bc4ca0eda7647a8ab7c2061c2e118a18a936f13d17905560078054821673ba30e5f9bb24caa003e9f2f0497ad287fdf95623179055600880549091167399fe9b46e8e2559eac3c7bd5dd8f55238d89fbd0179055348015620000d657600080fd5b50604051620028f0380380620028f0833981016040819052620000f991620002e0565b81516200010e9060019060208501906200016d565b508051620001249060029060208401906200016d565b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505062000387565b8280546200017b906200034a565b90600052602060002090601f0160209004810192826200019f5760008555620001ea565b82601f10620001ba57805160ff1916838001178555620001ea565b82800160010185558215620001ea579182015b82811115620001ea578251825591602001919060010190620001cd565b50620001f8929150620001fc565b5090565b5b80821115620001f85760008155600101620001fd565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023b57600080fd5b81516001600160401b038082111562000258576200025862000213565b604051601f8301601f19908116603f0116810190828211818310171562000283576200028362000213565b81604052838152602092508683858801011115620002a057600080fd5b600091505b83821015620002c45785820183015181830184015290820190620002a5565b83821115620002d65760008385830101525b9695505050505050565b60008060408385031215620002f457600080fd5b82516001600160401b03808211156200030c57600080fd5b6200031a8683870162000229565b935060208501519150808211156200033157600080fd5b50620003408582860162000229565b9150509250929050565b600181811c908216806200035f57607f821691505b602082108114156200038157634e487b7160e01b600052602260045260246000fd5b50919050565b61252380620003976000396000f3fe6080604052600436106102305760003560e01c80636dcea85f1161012e578063a6bd8d8a116100ab578063d221f3b21161006f578063d221f3b2146106b9578063e985e9c5146106d9578063f2473d9214610714578063f2fde38b14610729578063f83e5dfa1461074957600080fd5b8063a6bd8d8a14610618578063b88d4fde14610639578063ba042bdb14610659578063c1fab8e914610679578063c87b56dd1461069957600080fd5b80638da5cb5b116100f25780638da5cb5b14610588578063924f13b7146105a857806395d89b41146105c85780639b9fbc7d146105dd578063a22cb465146105f857600080fd5b80636dcea85f146104da57806370a08231146104fa57806380f5560514610527578063810c1109146105475780638c4c0f711461056857600080fd5b80632e1a7d4d116101bc5780635fbf6d96116101805780635fbf6d961461042357806361bc221a1461044c5780636352211e1461046e5780636c428aa4146104a45780636c525d04146104c557600080fd5b80632e1a7d4d146103a55780632fe969ab146103c557806332cb6b0c146103d85780633de73a26146103ee57806342842e0e1461040357600080fd5b8063095ea7b311610203578063095ea7b3146102fc5780630deed6a61461031c57806316755b571461033d57806318160ddd1461035057806323b872dd1461038557600080fd5b806301ffc9a71461023557806306deb2d21461026a57806306fdde031461028c578063081812fc146102ae575b600080fd5b34801561024157600080fd5b50610255610250366004611d98565b61077c565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b5061028a610285366004611dbc565b6107e9565b005b34801561029857600080fd5b506102a1610940565b6040516102619190611e89565b3480156102ba57600080fd5b506102e46102c9366004611e9c565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610261565b34801561030857600080fd5b5061028a610317366004611eca565b6109ce565b34801561032857600080fd5b5060035461025590600160c01b900460ff1681565b61028a61034b366004611f0d565b610ab6565b34801561035c57600080fd5b5060035461037290600160a01b900461ffff1681565b60405161ffff9091168152602001610261565b34801561039157600080fd5b5061028a6103a0366004611f28565b610b7b565b3480156103b157600080fd5b5061028a6103c0366004611e9c565b610d30565b61028a6103d3366004611f69565b610dd6565b3480156103e457600080fd5b5061037261271081565b3480156103fa57600080fd5b5061028a61106b565b34801561040f57600080fd5b5061028a61041e366004611f28565b6110aa565b34801561042f57600080fd5b5061043e66f6a11f484ec00081565b604051908152602001610261565b34801561045857600080fd5b5060035461037290600160b01b900461ffff1681565b34801561047a57600080fd5b506102e4610489366004611e9c565b600a602052600090815260409020546001600160a01b031681565b3480156104b057600080fd5b5060035461025590600160d01b900460ff1681565b3480156104d157600080fd5b5061028a61119e565b3480156104e657600080fd5b5061028a6104f5366004611f85565b6111dd565b34801561050657600080fd5b5061043e610515366004611f85565b60096020526000908152604090205481565b34801561053357600080fd5b506004546102e4906001600160a01b031681565b34801561055357600080fd5b5060035461025590600160c81b900460ff1681565b34801561057457600080fd5b5061028a610583366004611fa2565b61128c565b34801561059457600080fd5b506003546102e4906001600160a01b031681565b3480156105b457600080fd5b5061028a6105c3366004611fd5565b611368565b3480156105d457600080fd5b506102a1611425565b3480156105e957600080fd5b5061043e66957588590e500081565b34801561060457600080fd5b5061028a610613366004611ff8565b611432565b34801561062457600080fd5b5060035461025590600160d81b900460ff1681565b34801561064557600080fd5b5061028a61065436600461204c565b61149e565b34801561066557600080fd5b5061028a610674366004611f28565b611583565b34801561068557600080fd5b5061028a61069436600461212c565b6116ef565b3480156106a557600080fd5b506102a16106b4366004611e9c565b611787565b3480156106c557600080fd5b5061028a6106d4366004611fa2565b611809565b3480156106e557600080fd5b506102556106f436600461218c565b600c60209081526000928352604080842090915290825290205460ff1681565b34801561072057600080fd5b5061028a6118bd565b34801561073557600080fd5b5061028a610744366004611f85565b6118f6565b34801561075557600080fd5b5060035461076a90600160e01b900460ff1681565b60405160ff9091168152602001610261565b60006301ffc9a760e01b6001600160e01b0319831614806107ad57506380ac58cd60e01b6001600160e01b03198316145b806107c857506307f5828d60e41b6001600160e01b03198316145b806107e35750635b5e139f60e01b6001600160e01b03198316145b92915050565b6003546001600160a01b0316331461081c5760405162461bcd60e51b8152600401610813906121ba565b60405180910390fd5b60035460408051808201909152600e81526d26a4a3a920aa24a7a72fa7ab22a960911b602082015290600160d81b900460ff161561086d5760405162461bcd60e51b81526004016108139190611e89565b5060005b8181101561093b5761092983838381811061088e5761088e6121ef565b60085460209091029290920135916001600160a01b03169050636352211e8686868181106108be576108be6121ef565b905060200201356040518263ffffffff1660e01b81526004016108e391815260200190565b602060405180830381865afa158015610900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109249190612205565b61197c565b8061093381612238565b915050610871565b505050565b6001805461094d90612253565b80601f016020809104026020016040519081016040528092919081815260200182805461097990612253565b80156109c65780601f1061099b576101008083540402835291602001916109c6565b820191906000526020600020905b8154815290600101906020018083116109a957829003601f168201915b505050505081565b6000818152600a60205260409020546001600160a01b031633811480610a1757506001600160a01b0381166000908152600c6020908152604080832033845290915290205460ff165b610a545760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610813565b6000828152600b602052604080822080546001600160a01b0319166001600160a01b03878116918217909255600354925186949193909216917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a4505050565b60035460408051808201909152600d81526c53616c65206e6f74206c69766560981b602082015290600160c01b900460ff161515600114610b0a5760405162461bcd60e51b81526004016108139190611e89565b50610b2061ffff821666f6a11f484ec00061228e565b341460405180604001604052806015815260200174476f74746120706179207269676874206d6f6e657960581b81525090610b6e5760405162461bcd60e51b81526004016108139190611e89565b50610b78816119ee565b50565b6000818152600a60205260409020546001600160a01b03848116911614610bd15760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610813565b6001600160a01b038216610c1b5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610813565b336001600160a01b0384161480610c4857506000818152600b60205260409020546001600160a01b031633145b80610c7657506001600160a01b0383166000908152600c6020908152604080832033845290915290205460ff165b610cb35760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610813565b6001600160a01b038084166000818152600960209081526040808320805460001901905593861680835284832080546001019055858352600a825284832080546001600160a01b03199081168317909155600b90925284832080549092169091559251849392916000805160206124ce83398151915291a4505050565b6003546001600160a01b03163314610d5a5760405162461bcd60e51b8152600401610813906121ba565b80610d9c576003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610d98573d6000803e3d6000fd5b5050565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d98573d6000803e3d6000fd5b60035460408051808201909152600d81526c53616c65206e6f74206c69766560981b602082015290600160c01b900460ff161515600114610e2a5760405162461bcd60e51b81526004016108139190611e89565b506005546040516331a9108f60e11b8152600481018390526000916001600160a01b031690636352211e90602401602060405180830381865afa158015610e75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e999190612205565b6001600160a01b0316336001600160a01b03161480610f3557506006546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f209190612205565b6001600160a01b0316336001600160a01b0316145b80610fbd57506007546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa89190612205565b6001600160a01b0316336001600160a01b0316145b905080610ffe5760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610813565b61101361ffff841666957588590e500061228e565b341460405180604001604052806015815260200174476f74746120706179207269676874206d6f6e657960581b815250906110615760405162461bcd60e51b81526004016108139190611e89565b5061093b836119ee565b6003546001600160a01b031633146110955760405162461bcd60e51b8152600401610813906121ba565b6003805460ff60c01b1916600160c01b179055565b6110b5838383610b7b565b6001600160a01b0382163b158061115f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4015b6020604051808303816000875af115801561112f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115391906122ad565b6001600160e01b031916145b61093b5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610813565b6003546001600160a01b031633146111c85760405162461bcd60e51b8152600401610813906121ba565b6003805460ff60d81b1916600160d81b179055565b6003546001600160a01b031633146112075760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600b81526a2220aa20afa32927ad22a760a91b602082015290600160c81b900460ff16156112555760405162461bcd60e51b81526004016108139190611e89565b506003805460ff60c81b1916600160c81b179055600480546001600160a01b039092166001600160a01b0319909216919091179055565b6003546001600160a01b031633146112b65760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600e81526d26a4a3a920aa24a7a72fa7ab22a960911b602082015290600160d81b900460ff16156113075760405162461bcd60e51b81526004016108139190611e89565b50815b8161ffff168161ffff16101561093b576008546040516331a9108f60e11b815261ffff8316600482018190526113569290916001600160a01b0390911690636352211e906024016108e3565b80611360816122ca565b91505061130a565b6003546001600160a01b031633146113925760405162461bcd60e51b8152600401610813906121ba565b6003546064600160e01b90910460ff16106113e35760405162461bcd60e51b81526020600482015260116024820152704e6f206d6f72652067697665617761797360781b6044820152606401610813565b806003601c8282829054906101000a900460ff1661140191906122ec565b92506101000a81548160ff021916908360ff160217905550610b788160ff166119ee565b6002805461094d90612253565b336000818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6114a9848484610b7b565b6001600160a01b0383163b158061153e5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a02906114ef903390899088908890600401612311565b6020604051808303816000875af115801561150e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153291906122ad565b6001600160e01b031916145b61157d5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610813565b50505050565b6004546001600160a01b031633146115ce5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610813565b6001600160a01b0382166116185760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610813565b6001600160a01b038084166000818152600960209081526040808320805460001901905593861680835284832080546001019055858352600a825284832080546001600160a01b03199081168317909155600b90925284832080549092169091559251849392916000805160206124ce83398151915291a46001600160a01b0382163b158061115f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401611110565b6003546001600160a01b031633146117195760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600b81526a2220aa20afa32927ad22a760a91b602082015290600160d01b900460ff16156117675760405162461bcd60e51b81526004016108139190611e89565b506003805460ff60d01b1916600160d01b17905561093b60008383611ce9565b6000818152600a60205260409020546060906001600160a01b03166117ba57505060408051602081019091526000815290565b60006117c583611be3565b6040516020016117d692919061236a565b60408051601f19818403018152908290526117f391602001612411565b6040516020818303038152906040529050919050565b6003546001600160a01b031633146118335760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600e81526d26a4a3a920aa24a7a72fa7ab22a960911b602082015290600160d81b900460ff16156118845760405162461bcd60e51b81526004016108139190611e89565b506003805463ffffffff60a01b1916600160a01b61ffff9485160261ffff60b01b191617600160b01b9290931691909102919091179055565b6003546001600160a01b031633146118e75760405162461bcd60e51b8152600401610813906121ba565b6003805460ff60c01b19169055565b6003546001600160a01b031633146119205760405162461bcd60e51b8152600401610813906121ba565b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600a602052604080822080546001600160a01b0319166001600160a01b03851617905551839133916000805160206124ce833981519152908290a46001600160a01b03811660009081526009602052604081208054600192906119e590849061243a565b90915550505050565b600a61ffff82161115611a335760405162461bcd60e51b815260206004820152600d60248201526c09ac2f040626040e0cae440a8b609b1b6044820152606401610813565b60035461271090611a50908390600160a01b900461ffff16612452565b61ffff16106040518060400160405280601281526020017113585e081cdd5c1c1b1e481c995858da195960721b81525090611a9e5760405162461bcd60e51b81526004016108139190611e89565b50333b15611ae75760405162461bcd60e51b81526020600482015260166024820152752430b1b5903430b93232b9103137ba1036b0b9ba32b960511b6044820152606401610813565b600354600160b01b900461ffff1660005b8261ffff16811015611b7a576000828152600a60205260409020546001600160a01b0316611b68576000828152600a602052604080822080546001600160a01b0319163390811790915590518492906000805160206124ce833981519152908290a4611b6560018261243a565b90505b611b7360018361243a565b9150611af8565b50336000908152600960205260409020805461ffff8085169190910190915560038054600160a01b938316600160b01b0261ffff60b01b1982168117859004841690950190921690920261ffff60a01b1990931663ffffffff60a01b1990911617919091179055565b606081611c075750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611c315780611c1b81612238565b9150611c2a9050600a8361248e565b9150611c0b565b60008167ffffffffffffffff811115611c4c57611c4c612036565b6040519080825280601f01601f191660200182016040528015611c76576020820181803683370190505b5090505b8415611ce157611c8b6001836124a2565b9150611c98600a866124b9565b611ca390603061243a565b60f81b818381518110611cb857611cb86121ef565b60200101906001600160f81b031916908160001a905350611cda600a8661248e565b9450611c7a565b949350505050565b828054611cf590612253565b90600052602060002090601f016020900481019282611d175760008555611d5d565b82601f10611d305782800160ff19823516178555611d5d565b82800160010185558215611d5d579182015b82811115611d5d578235825591602001919060010190611d42565b50611d69929150611d6d565b5090565b5b80821115611d695760008155600101611d6e565b6001600160e01b031981168114610b7857600080fd5b600060208284031215611daa57600080fd5b8135611db581611d82565b9392505050565b60008060208385031215611dcf57600080fd5b823567ffffffffffffffff80821115611de757600080fd5b818501915085601f830112611dfb57600080fd5b813581811115611e0a57600080fd5b8660208260051b8501011115611e1f57600080fd5b60209290920196919550909350505050565b60005b83811015611e4c578181015183820152602001611e34565b8381111561157d5750506000910152565b60008151808452611e75816020860160208601611e31565b601f01601f19169290920160200192915050565b602081526000611db56020830184611e5d565b600060208284031215611eae57600080fd5b5035919050565b6001600160a01b0381168114610b7857600080fd5b60008060408385031215611edd57600080fd5b8235611ee881611eb5565b946020939093013593505050565b803561ffff81168114611f0857600080fd5b919050565b600060208284031215611f1f57600080fd5b611db582611ef6565b600080600060608486031215611f3d57600080fd5b8335611f4881611eb5565b92506020840135611f5881611eb5565b929592945050506040919091013590565b60008060408385031215611f7c57600080fd5b611ee883611ef6565b600060208284031215611f9757600080fd5b8135611db581611eb5565b60008060408385031215611fb557600080fd5b611fbe83611ef6565b9150611fcc60208401611ef6565b90509250929050565b600060208284031215611fe757600080fd5b813560ff81168114611db557600080fd5b6000806040838503121561200b57600080fd5b823561201681611eb5565b91506020830135801515811461202b57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561206257600080fd5b843561206d81611eb5565b9350602085013561207d81611eb5565b925060408501359150606085013567ffffffffffffffff808211156120a157600080fd5b818701915087601f8301126120b557600080fd5b8135818111156120c7576120c7612036565b604051601f8201601f19908116603f011681019083821181831017156120ef576120ef612036565b816040528281528a602084870101111561210857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806020838503121561213f57600080fd5b823567ffffffffffffffff8082111561215757600080fd5b818501915085601f83011261216b57600080fd5b81358181111561217a57600080fd5b866020828501011115611e1f57600080fd5b6000806040838503121561219f57600080fd5b82356121aa81611eb5565b9150602083013561202b81611eb5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561221757600080fd5b8151611db581611eb5565b634e487b7160e01b600052601160045260246000fd5b600060001982141561224c5761224c612222565b5060010190565b600181811c9082168061226757607f821691505b6020821081141561228857634e487b7160e01b600052602260045260246000fd5b50919050565b60008160001904831182151516156122a8576122a8612222565b500290565b6000602082840312156122bf57600080fd5b8151611db581611d82565b600061ffff808316818114156122e2576122e2612222565b6001019392505050565b600060ff821660ff84168060ff0382111561230957612309612222565b019392505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061234490830184611e5d565b9695505050505050565b60008151612360818560208601611e31565b9290920192915050565b600080845481600182811c91508083168061238657607f831692505b60208084108214156123a657634e487b7160e01b86526022600452602486fd5b8180156123ba57600181146123cb576123f8565b60ff198616895284890196506123f8565b60008b81526020902060005b868110156123f05781548b8201529085019083016123d7565b505084890196505b505050505050612408818561234e565b95945050505050565b60008251612423818460208701611e31565b64173539b7b760d91b920191825250600501919050565b6000821982111561244d5761244d612222565b500190565b600061ffff80831681851680830382111561246f5761246f612222565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b60008261249d5761249d612478565b500490565b6000828210156124b4576124b4612222565b500390565b6000826124c8576124c8612478565b50069056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e35a5e5b78ac9ba0af42f3beffd4af1815bc329bc87291e41215e442319c5be364736f6c634300080b0033697066733a2f2f516d55703270426b71694768647a74667335796d334147747441354c384a4c41554550526177454b696e5256634a2f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004564159430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045641594300000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102305760003560e01c80636dcea85f1161012e578063a6bd8d8a116100ab578063d221f3b21161006f578063d221f3b2146106b9578063e985e9c5146106d9578063f2473d9214610714578063f2fde38b14610729578063f83e5dfa1461074957600080fd5b8063a6bd8d8a14610618578063b88d4fde14610639578063ba042bdb14610659578063c1fab8e914610679578063c87b56dd1461069957600080fd5b80638da5cb5b116100f25780638da5cb5b14610588578063924f13b7146105a857806395d89b41146105c85780639b9fbc7d146105dd578063a22cb465146105f857600080fd5b80636dcea85f146104da57806370a08231146104fa57806380f5560514610527578063810c1109146105475780638c4c0f711461056857600080fd5b80632e1a7d4d116101bc5780635fbf6d96116101805780635fbf6d961461042357806361bc221a1461044c5780636352211e1461046e5780636c428aa4146104a45780636c525d04146104c557600080fd5b80632e1a7d4d146103a55780632fe969ab146103c557806332cb6b0c146103d85780633de73a26146103ee57806342842e0e1461040357600080fd5b8063095ea7b311610203578063095ea7b3146102fc5780630deed6a61461031c57806316755b571461033d57806318160ddd1461035057806323b872dd1461038557600080fd5b806301ffc9a71461023557806306deb2d21461026a57806306fdde031461028c578063081812fc146102ae575b600080fd5b34801561024157600080fd5b50610255610250366004611d98565b61077c565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b5061028a610285366004611dbc565b6107e9565b005b34801561029857600080fd5b506102a1610940565b6040516102619190611e89565b3480156102ba57600080fd5b506102e46102c9366004611e9c565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610261565b34801561030857600080fd5b5061028a610317366004611eca565b6109ce565b34801561032857600080fd5b5060035461025590600160c01b900460ff1681565b61028a61034b366004611f0d565b610ab6565b34801561035c57600080fd5b5060035461037290600160a01b900461ffff1681565b60405161ffff9091168152602001610261565b34801561039157600080fd5b5061028a6103a0366004611f28565b610b7b565b3480156103b157600080fd5b5061028a6103c0366004611e9c565b610d30565b61028a6103d3366004611f69565b610dd6565b3480156103e457600080fd5b5061037261271081565b3480156103fa57600080fd5b5061028a61106b565b34801561040f57600080fd5b5061028a61041e366004611f28565b6110aa565b34801561042f57600080fd5b5061043e66f6a11f484ec00081565b604051908152602001610261565b34801561045857600080fd5b5060035461037290600160b01b900461ffff1681565b34801561047a57600080fd5b506102e4610489366004611e9c565b600a602052600090815260409020546001600160a01b031681565b3480156104b057600080fd5b5060035461025590600160d01b900460ff1681565b3480156104d157600080fd5b5061028a61119e565b3480156104e657600080fd5b5061028a6104f5366004611f85565b6111dd565b34801561050657600080fd5b5061043e610515366004611f85565b60096020526000908152604090205481565b34801561053357600080fd5b506004546102e4906001600160a01b031681565b34801561055357600080fd5b5060035461025590600160c81b900460ff1681565b34801561057457600080fd5b5061028a610583366004611fa2565b61128c565b34801561059457600080fd5b506003546102e4906001600160a01b031681565b3480156105b457600080fd5b5061028a6105c3366004611fd5565b611368565b3480156105d457600080fd5b506102a1611425565b3480156105e957600080fd5b5061043e66957588590e500081565b34801561060457600080fd5b5061028a610613366004611ff8565b611432565b34801561062457600080fd5b5060035461025590600160d81b900460ff1681565b34801561064557600080fd5b5061028a61065436600461204c565b61149e565b34801561066557600080fd5b5061028a610674366004611f28565b611583565b34801561068557600080fd5b5061028a61069436600461212c565b6116ef565b3480156106a557600080fd5b506102a16106b4366004611e9c565b611787565b3480156106c557600080fd5b5061028a6106d4366004611fa2565b611809565b3480156106e557600080fd5b506102556106f436600461218c565b600c60209081526000928352604080842090915290825290205460ff1681565b34801561072057600080fd5b5061028a6118bd565b34801561073557600080fd5b5061028a610744366004611f85565b6118f6565b34801561075557600080fd5b5060035461076a90600160e01b900460ff1681565b60405160ff9091168152602001610261565b60006301ffc9a760e01b6001600160e01b0319831614806107ad57506380ac58cd60e01b6001600160e01b03198316145b806107c857506307f5828d60e41b6001600160e01b03198316145b806107e35750635b5e139f60e01b6001600160e01b03198316145b92915050565b6003546001600160a01b0316331461081c5760405162461bcd60e51b8152600401610813906121ba565b60405180910390fd5b60035460408051808201909152600e81526d26a4a3a920aa24a7a72fa7ab22a960911b602082015290600160d81b900460ff161561086d5760405162461bcd60e51b81526004016108139190611e89565b5060005b8181101561093b5761092983838381811061088e5761088e6121ef565b60085460209091029290920135916001600160a01b03169050636352211e8686868181106108be576108be6121ef565b905060200201356040518263ffffffff1660e01b81526004016108e391815260200190565b602060405180830381865afa158015610900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109249190612205565b61197c565b8061093381612238565b915050610871565b505050565b6001805461094d90612253565b80601f016020809104026020016040519081016040528092919081815260200182805461097990612253565b80156109c65780601f1061099b576101008083540402835291602001916109c6565b820191906000526020600020905b8154815290600101906020018083116109a957829003601f168201915b505050505081565b6000818152600a60205260409020546001600160a01b031633811480610a1757506001600160a01b0381166000908152600c6020908152604080832033845290915290205460ff165b610a545760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610813565b6000828152600b602052604080822080546001600160a01b0319166001600160a01b03878116918217909255600354925186949193909216917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a4505050565b60035460408051808201909152600d81526c53616c65206e6f74206c69766560981b602082015290600160c01b900460ff161515600114610b0a5760405162461bcd60e51b81526004016108139190611e89565b50610b2061ffff821666f6a11f484ec00061228e565b341460405180604001604052806015815260200174476f74746120706179207269676874206d6f6e657960581b81525090610b6e5760405162461bcd60e51b81526004016108139190611e89565b50610b78816119ee565b50565b6000818152600a60205260409020546001600160a01b03848116911614610bd15760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610813565b6001600160a01b038216610c1b5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610813565b336001600160a01b0384161480610c4857506000818152600b60205260409020546001600160a01b031633145b80610c7657506001600160a01b0383166000908152600c6020908152604080832033845290915290205460ff165b610cb35760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610813565b6001600160a01b038084166000818152600960209081526040808320805460001901905593861680835284832080546001019055858352600a825284832080546001600160a01b03199081168317909155600b90925284832080549092169091559251849392916000805160206124ce83398151915291a4505050565b6003546001600160a01b03163314610d5a5760405162461bcd60e51b8152600401610813906121ba565b80610d9c576003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610d98573d6000803e3d6000fd5b5050565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d98573d6000803e3d6000fd5b60035460408051808201909152600d81526c53616c65206e6f74206c69766560981b602082015290600160c01b900460ff161515600114610e2a5760405162461bcd60e51b81526004016108139190611e89565b506005546040516331a9108f60e11b8152600481018390526000916001600160a01b031690636352211e90602401602060405180830381865afa158015610e75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e999190612205565b6001600160a01b0316336001600160a01b03161480610f3557506006546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f209190612205565b6001600160a01b0316336001600160a01b0316145b80610fbd57506007546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa89190612205565b6001600160a01b0316336001600160a01b0316145b905080610ffe5760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610813565b61101361ffff841666957588590e500061228e565b341460405180604001604052806015815260200174476f74746120706179207269676874206d6f6e657960581b815250906110615760405162461bcd60e51b81526004016108139190611e89565b5061093b836119ee565b6003546001600160a01b031633146110955760405162461bcd60e51b8152600401610813906121ba565b6003805460ff60c01b1916600160c01b179055565b6110b5838383610b7b565b6001600160a01b0382163b158061115f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4015b6020604051808303816000875af115801561112f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115391906122ad565b6001600160e01b031916145b61093b5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610813565b6003546001600160a01b031633146111c85760405162461bcd60e51b8152600401610813906121ba565b6003805460ff60d81b1916600160d81b179055565b6003546001600160a01b031633146112075760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600b81526a2220aa20afa32927ad22a760a91b602082015290600160c81b900460ff16156112555760405162461bcd60e51b81526004016108139190611e89565b506003805460ff60c81b1916600160c81b179055600480546001600160a01b039092166001600160a01b0319909216919091179055565b6003546001600160a01b031633146112b65760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600e81526d26a4a3a920aa24a7a72fa7ab22a960911b602082015290600160d81b900460ff16156113075760405162461bcd60e51b81526004016108139190611e89565b50815b8161ffff168161ffff16101561093b576008546040516331a9108f60e11b815261ffff8316600482018190526113569290916001600160a01b0390911690636352211e906024016108e3565b80611360816122ca565b91505061130a565b6003546001600160a01b031633146113925760405162461bcd60e51b8152600401610813906121ba565b6003546064600160e01b90910460ff16106113e35760405162461bcd60e51b81526020600482015260116024820152704e6f206d6f72652067697665617761797360781b6044820152606401610813565b806003601c8282829054906101000a900460ff1661140191906122ec565b92506101000a81548160ff021916908360ff160217905550610b788160ff166119ee565b6002805461094d90612253565b336000818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6114a9848484610b7b565b6001600160a01b0383163b158061153e5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a02906114ef903390899088908890600401612311565b6020604051808303816000875af115801561150e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153291906122ad565b6001600160e01b031916145b61157d5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610813565b50505050565b6004546001600160a01b031633146115ce5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610813565b6001600160a01b0382166116185760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610813565b6001600160a01b038084166000818152600960209081526040808320805460001901905593861680835284832080546001019055858352600a825284832080546001600160a01b03199081168317909155600b90925284832080549092169091559251849392916000805160206124ce83398151915291a46001600160a01b0382163b158061115f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401611110565b6003546001600160a01b031633146117195760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600b81526a2220aa20afa32927ad22a760a91b602082015290600160d01b900460ff16156117675760405162461bcd60e51b81526004016108139190611e89565b506003805460ff60d01b1916600160d01b17905561093b60008383611ce9565b6000818152600a60205260409020546060906001600160a01b03166117ba57505060408051602081019091526000815290565b60006117c583611be3565b6040516020016117d692919061236a565b60408051601f19818403018152908290526117f391602001612411565b6040516020818303038152906040529050919050565b6003546001600160a01b031633146118335760405162461bcd60e51b8152600401610813906121ba565b60035460408051808201909152600e81526d26a4a3a920aa24a7a72fa7ab22a960911b602082015290600160d81b900460ff16156118845760405162461bcd60e51b81526004016108139190611e89565b506003805463ffffffff60a01b1916600160a01b61ffff9485160261ffff60b01b191617600160b01b9290931691909102919091179055565b6003546001600160a01b031633146118e75760405162461bcd60e51b8152600401610813906121ba565b6003805460ff60c01b19169055565b6003546001600160a01b031633146119205760405162461bcd60e51b8152600401610813906121ba565b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600a602052604080822080546001600160a01b0319166001600160a01b03851617905551839133916000805160206124ce833981519152908290a46001600160a01b03811660009081526009602052604081208054600192906119e590849061243a565b90915550505050565b600a61ffff82161115611a335760405162461bcd60e51b815260206004820152600d60248201526c09ac2f040626040e0cae440a8b609b1b6044820152606401610813565b60035461271090611a50908390600160a01b900461ffff16612452565b61ffff16106040518060400160405280601281526020017113585e081cdd5c1c1b1e481c995858da195960721b81525090611a9e5760405162461bcd60e51b81526004016108139190611e89565b50333b15611ae75760405162461bcd60e51b81526020600482015260166024820152752430b1b5903430b93232b9103137ba1036b0b9ba32b960511b6044820152606401610813565b600354600160b01b900461ffff1660005b8261ffff16811015611b7a576000828152600a60205260409020546001600160a01b0316611b68576000828152600a602052604080822080546001600160a01b0319163390811790915590518492906000805160206124ce833981519152908290a4611b6560018261243a565b90505b611b7360018361243a565b9150611af8565b50336000908152600960205260409020805461ffff8085169190910190915560038054600160a01b938316600160b01b0261ffff60b01b1982168117859004841690950190921690920261ffff60a01b1990931663ffffffff60a01b1990911617919091179055565b606081611c075750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611c315780611c1b81612238565b9150611c2a9050600a8361248e565b9150611c0b565b60008167ffffffffffffffff811115611c4c57611c4c612036565b6040519080825280601f01601f191660200182016040528015611c76576020820181803683370190505b5090505b8415611ce157611c8b6001836124a2565b9150611c98600a866124b9565b611ca390603061243a565b60f81b818381518110611cb857611cb86121ef565b60200101906001600160f81b031916908160001a905350611cda600a8661248e565b9450611c7a565b949350505050565b828054611cf590612253565b90600052602060002090601f016020900481019282611d175760008555611d5d565b82601f10611d305782800160ff19823516178555611d5d565b82800160010185558215611d5d579182015b82811115611d5d578235825591602001919060010190611d42565b50611d69929150611d6d565b5090565b5b80821115611d695760008155600101611d6e565b6001600160e01b031981168114610b7857600080fd5b600060208284031215611daa57600080fd5b8135611db581611d82565b9392505050565b60008060208385031215611dcf57600080fd5b823567ffffffffffffffff80821115611de757600080fd5b818501915085601f830112611dfb57600080fd5b813581811115611e0a57600080fd5b8660208260051b8501011115611e1f57600080fd5b60209290920196919550909350505050565b60005b83811015611e4c578181015183820152602001611e34565b8381111561157d5750506000910152565b60008151808452611e75816020860160208601611e31565b601f01601f19169290920160200192915050565b602081526000611db56020830184611e5d565b600060208284031215611eae57600080fd5b5035919050565b6001600160a01b0381168114610b7857600080fd5b60008060408385031215611edd57600080fd5b8235611ee881611eb5565b946020939093013593505050565b803561ffff81168114611f0857600080fd5b919050565b600060208284031215611f1f57600080fd5b611db582611ef6565b600080600060608486031215611f3d57600080fd5b8335611f4881611eb5565b92506020840135611f5881611eb5565b929592945050506040919091013590565b60008060408385031215611f7c57600080fd5b611ee883611ef6565b600060208284031215611f9757600080fd5b8135611db581611eb5565b60008060408385031215611fb557600080fd5b611fbe83611ef6565b9150611fcc60208401611ef6565b90509250929050565b600060208284031215611fe757600080fd5b813560ff81168114611db557600080fd5b6000806040838503121561200b57600080fd5b823561201681611eb5565b91506020830135801515811461202b57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561206257600080fd5b843561206d81611eb5565b9350602085013561207d81611eb5565b925060408501359150606085013567ffffffffffffffff808211156120a157600080fd5b818701915087601f8301126120b557600080fd5b8135818111156120c7576120c7612036565b604051601f8201601f19908116603f011681019083821181831017156120ef576120ef612036565b816040528281528a602084870101111561210857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806020838503121561213f57600080fd5b823567ffffffffffffffff8082111561215757600080fd5b818501915085601f83011261216b57600080fd5b81358181111561217a57600080fd5b866020828501011115611e1f57600080fd5b6000806040838503121561219f57600080fd5b82356121aa81611eb5565b9150602083013561202b81611eb5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561221757600080fd5b8151611db581611eb5565b634e487b7160e01b600052601160045260246000fd5b600060001982141561224c5761224c612222565b5060010190565b600181811c9082168061226757607f821691505b6020821081141561228857634e487b7160e01b600052602260045260246000fd5b50919050565b60008160001904831182151516156122a8576122a8612222565b500290565b6000602082840312156122bf57600080fd5b8151611db581611d82565b600061ffff808316818114156122e2576122e2612222565b6001019392505050565b600060ff821660ff84168060ff0382111561230957612309612222565b019392505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061234490830184611e5d565b9695505050505050565b60008151612360818560208601611e31565b9290920192915050565b600080845481600182811c91508083168061238657607f831692505b60208084108214156123a657634e487b7160e01b86526022600452602486fd5b8180156123ba57600181146123cb576123f8565b60ff198616895284890196506123f8565b60008b81526020902060005b868110156123f05781548b8201529085019083016123d7565b505084890196505b505050505050612408818561234e565b95945050505050565b60008251612423818460208701611e31565b64173539b7b760d91b920191825250600501919050565b6000821982111561244d5761244d612222565b500190565b600061ffff80831681851680830382111561246f5761246f612222565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b60008261249d5761249d612478565b500490565b6000828210156124b4576124b4612222565b500390565b6000826124c8576124c8612478565b50069056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e35a5e5b78ac9ba0af42f3beffd4af1815bc329bc87291e41215e442319c5be364736f6c634300080b0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004564159430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045641594300000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): VAYC
Arg [1] : _symbol (string): VAYC

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 5641594300000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 5641594300000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

526:11301:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5620:440;;;;;;;;;;-1:-1:-1;5620:440:0;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;5620:440:0;;;;;;;;9484:220;;;;;;;;;;-1:-1:-1;9484:220:0;;;;;:::i;:::-;;:::i;:::-;;1679:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3001:46::-;;;;;;;;;;-1:-1:-1;3001:46:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3001:46:0;;;;;;-1:-1:-1;;;;;2334:32:1;;;2316:51;;2304:2;2289:18;3001:46:0;2170:203:1;3326:298:0;;;;;;;;;;-1:-1:-1;3326:298:0;;;;;:::i;:::-;;:::i;1908:28::-;;;;;;;;;;-1:-1:-1;1908:28:0;;;;-1:-1:-1;;;1908:28:0;;;;;;7445:157;;;;;;:::i;:::-;;:::i;1760:25::-;;;;;;;;;;-1:-1:-1;1760:25:0;;;;-1:-1:-1;;;1760:25:0;;;;;;;;;3361:6:1;3349:19;;;3331:38;;3319:2;3304:18;1760:25:0;3187:188:1;3841:756:0;;;;;;;;;;-1:-1:-1;3841:756:0;;;;;:::i;:::-;;:::i;7182:221::-;;;;;;;;;;-1:-1:-1;7182:221:0;;;;;:::i;:::-;;:::i;7610:395::-;;;;;;:::i;:::-;;:::i;1824:43::-;;;;;;;;;;;;1862:5;1824:43;;7097:77;;;;;;;;;;;;;:::i;4605:403::-;;;;;;;;;;-1:-1:-1;4605:403:0;;;;;:::i;:::-;;:::i;2248:52::-;;;;;;;;;;;;2286:14;2248:52;;;;;4244:25:1;;;4232:2;4217:18;2248:52:0;4098:177:1;1792:25:0;;;;;;;;;;-1:-1:-1;1792:25:0;;;;-1:-1:-1;;;1792:25:0;;;;;;2952:42;;;;;;;;;;-1:-1:-1;2952:42:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2952:42:0;;;1983:35;;;;;;;;;;-1:-1:-1;1983:35:0;;;;-1:-1:-1;;;1983:35:0;;;;;;9224:81;;;;;;;;;;;;;:::i;6833:171::-;;;;;;;;;;-1:-1:-1;6833:171:0;;;;;:::i;:::-;;:::i;2901:44::-;;;;;;;;;;-1:-1:-1;2901:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;2105:34;;;;;;;;;;-1:-1:-1;2105:34:0;;;;-1:-1:-1;;;;;2105:34:0;;;1943:33;;;;;;;;;;-1:-1:-1;1943:33:0;;;;-1:-1:-1;;;1943:33:0;;;;;;9712:196;;;;;;;;;;-1:-1:-1;9712:196:0;;;;;:::i;:::-;;:::i;1733:20::-;;;;;;;;;;-1:-1:-1;1733:20:0;;;;-1:-1:-1;;;;;1733:20:0;;;8013:188;;;;;;;;;;-1:-1:-1;8013:188:0;;;;;:::i;:::-;;:::i;1704:20::-;;;;;;;;;;;;;:::i;2189:52::-;;;;;;;;;;;;2227:14;2189:52;;3632:201;;;;;;;;;;-1:-1:-1;3632:201:0;;;;;:::i;:::-;;:::i;2025:34::-;;;;;;;;;;-1:-1:-1;2025:34:0;;;;-1:-1:-1;;;2025:34:0;;;;;;5016:433;;;;;;;;;;-1:-1:-1;5016:433:0;;;;;:::i;:::-;;:::i;11162:660::-;;;;;;;;;;-1:-1:-1;11162:660:0;;;;;:::i;:::-;;:::i;10663:188::-;;;;;;;;;;-1:-1:-1;10663:188:0;;;;;:::i;:::-;;:::i;10859:250::-;;;;;;;;;;-1:-1:-1;10859:250:0;;;;;:::i;:::-;;:::i;9313:163::-;;;;;;;;;;-1:-1:-1;9313:163:0;;;;;:::i;:::-;;:::i;3054:68::-;;;;;;;;;;-1:-1:-1;3054:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;7012:77;;;;;;;;;;;;;:::i;5457:155::-;;;;;;;;;;-1:-1:-1;5457:155:0;;;;;:::i;:::-;;:::i;2066:32::-;;;;;;;;;;-1:-1:-1;2066:32:0;;;;-1:-1:-1;;;2066:32:0;;;;;;;;;8053:4:1;8041:17;;;8023:36;;8011:2;7996:18;2066:32:0;7881:184:1;5620:440:0;5690:4;-1:-1:-1;;;;;;;;;5727:25:0;;;;:112;;-1:-1:-1;;;;;;;;;;5814:25:0;;;5727:112;:195;;;-1:-1:-1;;;;;;;;;;5897:25:0;;;5727:195;:281;;;-1:-1:-1;;;;;;;;;;5983:25:0;;;5727:281;5707:301;5620:440;-1:-1:-1;;5620:440:0:o;9484:220::-;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;;;;;;;;;6464:14:::1;::::0;6489:8:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;6489:8:0::1;::::0;::::1;::::0;;-1:-1:-1;;;6464:14:0;::::1;;;:23;6456:42;;;;-1:-1:-1::0;;;6456:42:0::1;;;;;;;;:::i;:::-;;9582:6:::2;9577:120;9590:19:::0;;::::2;9577:120;;;9631:54;9642:8;;9651:1;9642:11;;;;;;;:::i;:::-;9655:8;::::0;9642:11:::2;::::0;;::::2;::::0;;;::::2;;::::0;-1:-1:-1;;;;;9655:8:0::2;::::0;-1:-1:-1;9655:16:0::2;9672:8:::0;;9681:1;9672:11;;::::2;;;;;:::i;:::-;;;;;;;9655:29;;;;;;;;;;;;;4244:25:1::0;;4232:2;4217:18;;4098:177;9655:29:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9631:10;:54::i;:::-;9611:3:::0;::::2;::::0;::::2;:::i;:::-;;;;9577:120;;;;9484:220:::0;;:::o;1679:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3326:298::-;3392:18;3413:11;;;:7;:11;;;;;;-1:-1:-1;;;;;3413:11:0;3445:10;:24;;;:68;;-1:-1:-1;;;;;;3473:28:0;;;;;;:16;:28;;;;;;;;3502:10;3473:40;;;;;;;;;;3445:68;3437:95;;;;-1:-1:-1;;;3437:95:0;;9678:2:1;3437:95:0;;;9660:21:1;9717:2;9697:18;;;9690:30;-1:-1:-1;;;9736:18:1;;;9729:44;9790:18;;3437:95:0;9476:338:1;3437:95:0;3545:15;;;;:11;:15;;;;;;:25;;-1:-1:-1;;;;;;3545:25:0;-1:-1:-1;;;;;3545:25:0;;;;;;;;;3597:5;;3588:28;;3545:15;;:25;;3597:5;;;;3588:28;;3545:15;3588:28;3381:243;3326:298;;:::o;7445:157::-;6567:8;;6585;;;;;;;;;;;;-1:-1:-1;;;6585:8:0;;;;;-1:-1:-1;;;6567:8:0;;;;:16;;6579:4;6567:16;6559:35;;;;-1:-1:-1;;;6559:35:0;;;;;;;;:::i;:::-;-1:-1:-1;7537:17:0::1;;::::0;::::1;2286:14;7537:17;:::i;:::-;7524:9;:30;7556:15;;;;;;;;;;;;;-1:-1:-1::0;;;7556:15:0::1;;::::0;7516:56:::1;;;;;-1:-1:-1::0;;;7516:56:0::1;;;;;;;;:::i;:::-;;7583:11;7590:3;7583:6;:11::i;:::-;7445:157:::0;:::o;3841:756::-;3969:11;;;;:7;:11;;;;;;-1:-1:-1;;;;;3961:19:0;;;3969:11;;3961:19;3953:42;;;;-1:-1:-1;;;3953:42:0;;10194:2:1;3953:42:0;;;10176:21:1;10233:2;10213:18;;;10206:30;-1:-1:-1;;;10252:18:1;;;10245:40;10302:18;;3953:42:0;9992:334:1;3953:42:0;-1:-1:-1;;;;;4016:16:0;;4008:46;;;;-1:-1:-1;;;4008:46:0;;10533:2:1;4008:46:0;;;10515:21:1;10572:2;10552:18;;;10545:30;-1:-1:-1;;;10591:18:1;;;10584:47;10648:18;;4008:46:0;10331:341:1;4008:46:0;4089:10;-1:-1:-1;;;;;4089:18:0;;;;:51;;-1:-1:-1;4125:15:0;;;;:11;:15;;;;;;-1:-1:-1;;;;;4125:15:0;4111:10;:29;4089:51;:89;;;-1:-1:-1;;;;;;4144:22:0;;;;;;:16;:22;;;;;;;;4167:10;4144:34;;;;;;;;;;4089:89;4067:153;;;;-1:-1:-1;;;4067:153:0;;9678:2:1;4067:153:0;;;9660:21:1;9717:2;9697:18;;;9690:30;-1:-1:-1;;;9736:18:1;;;9729:44;9790:18;;4067:153:0;9476:338:1;4067:153:0;-1:-1:-1;;;;;4425:15:0;;;;;;;:9;:15;;;;;;;;:17;;-1:-1:-1;;4425:17:0;;;4459:13;;;;;;;;;:15;;4425:17;4459:15;;;4498:11;;;:7;:11;;;;;:16;;-1:-1:-1;;;;;;4498:16:0;;;;;;;;4534:11;:15;;;;;;4527:22;;;;;;;;4567;;4506:2;;4459:13;4425:15;-1:-1:-1;;;;;;;;;;;4567:22:0;;3841:756;;;:::o;7182:221::-;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;7246:11;7243:153:::1;;7282:5;::::0;7274:46:::1;::::0;-1:-1:-1;;;;;7282:5:0;;::::1;::::0;7298:21:::1;7274:46:::0;::::1;;;::::0;7282:5:::1;7274:46:::0;7282:5;7274:46;7298:21;7282:5;7274:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7445:157:::0;:::o;7243:153::-:1;7361:5;::::0;7353:31:::1;::::0;-1:-1:-1;;;;;7361:5:0;;::::1;::::0;7353:31;::::1;;;::::0;7377:6;;7361:5:::1;7353:31:::0;7361:5;7353:31;7377:6;7361:5;7353:31;::::1;;;;;;;;;;;;;::::0;::::1;;;;7610:395:::0;6567:8;;6585;;;;;;;;;;;;-1:-1:-1;;;6585:8:0;;;;;-1:-1:-1;;;6567:8:0;;;;:16;;6579:4;6567:16;6559:35;;;;-1:-1:-1;;;6559:35:0;;;;;;;;:::i;:::-;-1:-1:-1;7734:4:0::1;::::0;:21:::1;::::0;-1:-1:-1;;;7734:21:0;;::::1;::::0;::::1;4244:25:1::0;;;7691:12:0::1;::::0;-1:-1:-1;;;;;7734:4:0::1;::::0;:12:::1;::::0;4217:18:1;;7734:21:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7720:35:0::1;:10;-1:-1:-1::0;;;;;7720:35:0::1;;7719:91;;;-1:-1:-1::0;7788:4:0::1;::::0;:21:::1;::::0;-1:-1:-1;;;7788:21:0;;::::1;::::0;::::1;4244:25:1::0;;;-1:-1:-1;;;;;7788:4:0;;::::1;::::0;:12:::1;::::0;4217:18:1;;7788:21:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7774:35:0::1;:10;-1:-1:-1::0;;;;;7774:35:0::1;;7719:91;:145;;;-1:-1:-1::0;7842:4:0::1;::::0;:21:::1;::::0;-1:-1:-1;;;7842:21:0;;::::1;::::0;::::1;4244:25:1::0;;;-1:-1:-1;;;;;7842:4:0;;::::1;::::0;:12:::1;::::0;4217:18:1;;7842:21:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7828:35:0::1;:10;-1:-1:-1::0;;;;;7828:35:0::1;;7719:145;7691:173;;7883:7;7875:35;;;::::0;-1:-1:-1;;;7875:35:0;;10879:2:1;7875:35:0::1;::::0;::::1;10861:21:1::0;10918:2;10898:18;;;10891:30;-1:-1:-1;;;10937:18:1;;;10930:45;10992:18;;7875:35:0::1;10677:339:1::0;7875:35:0::1;7942:15;;::::0;::::1;2227:14;7942:15;:::i;:::-;7929:9;:28;7959:15;;;;;;;;;;;;;-1:-1:-1::0;;;7959:15:0::1;;::::0;7921:54:::1;;;;;-1:-1:-1::0;;;7921:54:0::1;;;;;;;;:::i;:::-;;7986:11;7993:3;7986:6;:11::i;7097:77::-:0;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;7151:8:::1;:15:::0;;-1:-1:-1;;;;7151:15:0::1;-1:-1:-1::0;;;7151:15:0::1;::::0;;7097:77::o;4605:403::-;4723:26;4736:4;4742:2;4746;4723:12;:26::i;:::-;-1:-1:-1;;;;;4784:14:0;;;:19;;:172;;-1:-1:-1;4824:66:0;;-1:-1:-1;;;4824:66:0;;;4865:10;4824:66;;;11326:34:1;-1:-1:-1;;;;;11396:15:1;;;11376:18;;;11369:43;11428:18;;;11421:34;;;11491:3;11471:18;;;11464:31;-1:-1:-1;11511:19:1;;;11504:30;4911:45:0;;4824:40;;;;4911:45;;11551:19:1;;4824:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4824:132:0;;4784:172;4762:238;;;;-1:-1:-1;;;4762:238:0;;12037:2:1;4762:238:0;;;12019:21:1;12076:2;12056:18;;;12049:30;-1:-1:-1;;;12095:18:1;;;12088:46;12151:18;;4762:238:0;11835:340:1;9224:81:0;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;9276:14:::1;:21:::0;;-1:-1:-1;;;;9276:21:0::1;-1:-1:-1::0;;;9276:21:0::1;::::0;;9224:81::o;6833:171::-;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;6907:13:::1;::::0;6931:6:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;6931:6:0::1;::::0;::::1;::::0;;-1:-1:-1;;;6907:13:0;::::1;;;:22;6899:39;;;;-1:-1:-1::0;;;6899:39:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;6949:13:0::1;:20:::0;;-1:-1:-1;;;;6949:20:0::1;-1:-1:-1::0;;;6949:20:0::1;::::0;;6980:6:::1;:16:::0;;-1:-1:-1;;;;;6980:16:0;;::::1;-1:-1:-1::0;;;;;;6980:16:0;;::::1;::::0;;;::::1;::::0;;6833:171::o;9712:196::-;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;6464:14:::1;::::0;6489:8:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;6489:8:0::1;::::0;::::1;::::0;;-1:-1:-1;;;6464:14:0;::::1;;;:23;6456:42;;;;-1:-1:-1::0;;;6456:42:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;9819:5:0;9803:98:::2;9830:3;9826:7;;:1;:7;;;9803:98;;;9869:8;::::0;:19:::2;::::0;-1:-1:-1;;;9869:19:0;;9855:34:::2;::::0;::::2;9869:19;::::0;::::2;3331:38:1::0;;;9855:34:0::2;::::0;;;-1:-1:-1;;;;;9869:8:0;;::::2;::::0;:16:::2;::::0;3304:18:1;;9869:19:0::2;3187:188:1::0;9855:34:0::2;9835:3:::0;::::2;::::0;::::2;:::i;:::-;;;;9803:98;;8013:188:::0;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;8084:15:::1;::::0;2374:3:::1;-1:-1:-1::0;;;8084:15:0;;::::1;:32;:15;:32;8076:62;;;::::0;-1:-1:-1;;;8076:62:0;;12778:2:1;8076:62:0::1;::::0;::::1;12760:21:1::0;12817:2;12797:18;;;12790:30;-1:-1:-1;;;12836:18:1;;;12829:47;12893:18;;8076:62:0::1;12576:341:1::0;8076:62:0::1;8168:3;8149:15;;:22;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8182:11;8189:3;8182:11;;:6;:11::i;1704:20::-:0;;;;;;;:::i;3632:201::-;3729:10;3712:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;3712:38:0;;;;;;;;;;;;:49;;-1:-1:-1;;3712:49:0;;;;;;;;;;3779:46;;540:41:1;;;3712:38:0;;3729:10;3779:46;;513:18:1;3779:46:0;;;;;;;3632:201;;:::o;5016:433::-;5162:26;5175:4;5181:2;5185;5162:12;:26::i;:::-;-1:-1:-1;;;;;5223:14:0;;;:19;;:174;;-1:-1:-1;5263:68:0;;-1:-1:-1;;;5263:68:0;;;5352:45;-1:-1:-1;;;;;5263:40:0;;;5352:45;;5263:68;;5304:10;;5316:4;;5322:2;;5326:4;;5263:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;5263:134:0;;5223:174;5201:240;;;;-1:-1:-1;;;5201:240:0;;12037:2:1;5201:240:0;;;12019:21:1;12076:2;12056:18;;;12049:30;-1:-1:-1;;;12095:18:1;;;12088:46;12151:18;;5201:240:0;11835:340:1;5201:240:0;5016:433;;;;:::o;11162:660::-;11278:6;;-1:-1:-1;;;;;11278:6:0;11256:10;:29;11248:56;;;;-1:-1:-1;;;11248:56:0;;13838:2:1;11248:56:0;;;13820:21:1;13877:2;13857:18;;;13850:30;-1:-1:-1;;;13896:18:1;;;13889:44;13950:18;;11248:56:0;13636:338:1;11248:56:0;-1:-1:-1;;;;;11323:16:0;;11315:46;;;;-1:-1:-1;;;11315:46:0;;10533:2:1;11315:46:0;;;10515:21:1;10572:2;10552:18;;;10545:30;-1:-1:-1;;;10591:18:1;;;10584:47;10648:18;;11315:46:0;10331:341:1;11315:46:0;-1:-1:-1;;;;;11397:15:0;;;;;;;:9;:15;;;;;;;;:17;;-1:-1:-1;;11397:17:0;;;11431:13;;;;;;;;;:15;;11397:17;11431:15;;;11470:11;;;:7;:11;;;;;:16;;-1:-1:-1;;;;;;11470:16:0;;;;;;;;11506:11;:15;;;;;;11499:22;;;;;;;;11539;;11478:2;;11431:13;11397:15;-1:-1:-1;;;;;;;;;;;11539:22:0;;-1:-1:-1;;;;;11596:14:0;;;:19;;:172;;-1:-1:-1;11636:66:0;;-1:-1:-1;;;11636:66:0;;;11677:10;11636:66;;;11326:34:1;-1:-1:-1;;;;;11396:15:1;;;11376:18;;;11369:43;11428:18;;;11421:34;;;11491:3;11471:18;;;11464:31;-1:-1:-1;11511:19:1;;;11504:30;11723:45:0;;11636:40;;;;11723:45;;11551:19:1;;11636:66:0;11021:555:1;10663:188:0;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;10746:15:::1;::::0;10772:6:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;10772:6:0::1;::::0;::::1;::::0;;-1:-1:-1;;;10746:15:0;::::1;;;:24;10738:41;;;;-1:-1:-1::0;;;10738:41:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;10790:15:0::1;:22:::0;;-1:-1:-1;;;;10790:22:0::1;-1:-1:-1::0;;;10790:22:0::1;::::0;;10823:20:::1;10790:22:::0;10840:3;;10823:20:::1;:::i;10859:250::-:0;10964:1;10941:11;;;:7;:11;;;;;;10912:13;;-1:-1:-1;;;;;10941:11:0;10938:52;;-1:-1:-1;;10981:9:0;;;;;;;;;-1:-1:-1;10981:9:0;;;10859:250::o;10938:52::-;11056:14;11072:16;11085:2;11072:12;:16::i;:::-;11039:50;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11039:50:0;;;;;;;;;;11015:85;;11039:50;11015:85;;:::i;:::-;;;;;;;;;;;;;11001:100;;10859:250;;;:::o;9313:163::-;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;6464:14:::1;::::0;6489:8:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;6489:8:0::1;::::0;::::1;::::0;;-1:-1:-1;;;6464:14:0;::::1;;;:23;6456:42;;;;-1:-1:-1::0;;;6456:42:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;9418:11:0::2;:21:::0;;-1:-1:-1;;;;9450:18:0;-1:-1:-1;;;9418:21:0::2;::::0;;::::2;;-1:-1:-1::0;;;;9450:18:0;;-1:-1:-1;;;9450:18:0;;;::::2;::::0;;;::::2;::::0;;;::::2;::::0;;9313:163::o;7012:77::-;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;7065:8:::1;:16:::0;;-1:-1:-1;;;;7065:16:0::1;::::0;;7012:77::o;5457:155::-;6348:5;;-1:-1:-1;;;;;6348:5:0;6334:10;:19;6326:64;;;;-1:-1:-1;;;6326:64:0;;;;;;;:::i;:::-;5559:5:::1;::::0;5538:38:::1;::::0;-1:-1:-1;;;;;5538:38:0;;::::1;::::0;5559:5:::1;::::0;5538:38:::1;::::0;5559:5:::1;::::0;5538:38:::1;5587:5;:17:::0;;-1:-1:-1;;;;;;5587:17:0::1;-1:-1:-1::0;;;;;5587:17:0;;;::::1;::::0;;;::::1;::::0;;5457:155::o;9038:178::-;9103:11;;;;:7;:11;;;;;;:20;;-1:-1:-1;;;;;;9103:20:0;-1:-1:-1;;;;;9103:20:0;;;;;9139:36;9103:11;;9160:10;;-1:-1:-1;;;;;;;;;;;9139:36:0;9103:11;;9139:36;-1:-1:-1;;;;;9186:17:0;;;;;;:9;:17;;;;;:22;;9207:1;;9186:17;:22;;9207:1;;9186:22;:::i;:::-;;;;-1:-1:-1;;;;9038:178:0:o;8211:777::-;2333:2;8267:15;;;;;8259:41;;;;-1:-1:-1;;;8259:41:0;;16257:2:1;8259:41:0;;;16239:21:1;16296:2;16276:18;;;16269:30;-1:-1:-1;;;16315:18:1;;;16308:43;16368:18;;8259:41:0;16055:337:1;8259:41:0;8319:11;;1862:5;;8319:17;;8333:3;;-1:-1:-1;;;8319:11:0;;:30;:11;:17;:::i;:::-;:30;;;8351:10;;;;;;;;;;;;;-1:-1:-1;;;8351:10:0;;;8311:51;;;;;-1:-1:-1;;;8311:51:0;;;;;;;;:::i;:::-;-1:-1:-1;8381:10:0;:22;:27;8373:62;;;;-1:-1:-1;;;8373:62:0;;16828:2:1;8373:62:0;;;16810:21:1;16867:2;16847:18;;;16840:30;-1:-1:-1;;;16886:18:1;;;16879:52;16948:18;;8373:62:0;16626:346:1;8373:62:0;8498:7;;-1:-1:-1;;;8498:7:0;;;;8488;8554:271;8581:3;8560:24;;:18;:24;8554:271;;;8627:1;8604:11;;;:7;:11;;;;;;-1:-1:-1;;;;;8604:11:0;8600:192;;8650:11;;;;:7;:11;;;;;;:24;;-1:-1:-1;;;;;;8650:24:0;8664:10;8650:24;;;;;;8698:36;;8658:2;;8650:11;-1:-1:-1;;;;;;;;;;;8698:36:0;8650:11;;8698:36;8753:23;8775:1;8753:23;;:::i;:::-;;;8600:192;8806:7;8812:1;8806:7;;:::i;:::-;;;8554:271;;;-1:-1:-1;8870:10:0;8860:21;;;;:9;:21;;;;;:28;;;;;;;;;;;;;8903:7;:20;;-1:-1:-1;;;8903:20:0;;;-1:-1:-1;;;8903:20:0;-1:-1:-1;;;;8903:20:0;;;;8952:11;;;;;:17;;;8938:31;;;;;;-1:-1:-1;;;;8938:31:0;;;-1:-1:-1;;;;8938:31:0;;;;;;;;;;8211:777::o;9959:696::-;10019:13;10209:10;10205:53;;-1:-1:-1;;10236:10:0;;;;;;;;;;;;-1:-1:-1;;;10236:10:0;;;;;9959:696::o;10205:53::-;10283:5;10268:12;10324:78;10331:9;;10324:78;;10357:8;;;;:::i;:::-;;-1:-1:-1;10380:10:0;;-1:-1:-1;10388:2:0;10380:10;;:::i;:::-;;;10324:78;;;10412:19;10444:6;10434:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10434:17:0;;10412:39;;10462:154;10469:10;;10462:154;;10496:11;10506:1;10496:11;;:::i;:::-;;-1:-1:-1;10565:10:0;10573:2;10565:5;:10;:::i;:::-;10552:24;;:2;:24;:::i;:::-;10539:39;;10522:6;10529;10522:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;10522:56:0;;;;;;;;-1:-1:-1;10593:11:0;10602:2;10593:11;;:::i;:::-;;;10462:154;;;10640:6;9959:696;-1:-1:-1;;;;9959:696:0:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:131:1;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:1:o;592:615::-;678:6;686;739:2;727:9;718:7;714:23;710:32;707:52;;;755:1;752;745:12;707:52;795:9;782:23;824:18;865:2;857:6;854:14;851:34;;;881:1;878;871:12;851:34;919:6;908:9;904:22;894:32;;964:7;957:4;953:2;949:13;945:27;935:55;;986:1;983;976:12;935:55;1026:2;1013:16;1052:2;1044:6;1041:14;1038:34;;;1068:1;1065;1058:12;1038:34;1121:7;1116:2;1106:6;1103:1;1099:14;1095:2;1091:23;1087:32;1084:45;1081:65;;;1142:1;1139;1132:12;1081:65;1173:2;1165:11;;;;;1195:6;;-1:-1:-1;592:615:1;;-1:-1:-1;;;;592:615:1:o;1212:258::-;1284:1;1294:113;1308:6;1305:1;1302:13;1294:113;;;1384:11;;;1378:18;1365:11;;;1358:39;1330:2;1323:10;1294:113;;;1425:6;1422:1;1419:13;1416:48;;;-1:-1:-1;;1460:1:1;1442:16;;1435:27;1212:258::o;1475:269::-;1528:3;1566:5;1560:12;1593:6;1588:3;1581:19;1609:63;1665:6;1658:4;1653:3;1649:14;1642:4;1635:5;1631:16;1609:63;:::i;:::-;1726:2;1705:15;-1:-1:-1;;1701:29:1;1692:39;;;;1733:4;1688:50;;1475:269;-1:-1:-1;;1475:269:1:o;1749:231::-;1898:2;1887:9;1880:21;1861:4;1918:56;1970:2;1959:9;1955:18;1947:6;1918:56;:::i;1985:180::-;2044:6;2097:2;2085:9;2076:7;2072:23;2068:32;2065:52;;;2113:1;2110;2103:12;2065:52;-1:-1:-1;2136:23:1;;1985:180;-1:-1:-1;1985:180:1:o;2378:131::-;-1:-1:-1;;;;;2453:31:1;;2443:42;;2433:70;;2499:1;2496;2489:12;2514:315;2582:6;2590;2643:2;2631:9;2622:7;2618:23;2614:32;2611:52;;;2659:1;2656;2649:12;2611:52;2698:9;2685:23;2717:31;2742:5;2717:31;:::i;:::-;2767:5;2819:2;2804:18;;;;2791:32;;-1:-1:-1;;;2514:315:1:o;2834:159::-;2901:20;;2961:6;2950:18;;2940:29;;2930:57;;2983:1;2980;2973:12;2930:57;2834:159;;;:::o;2998:184::-;3056:6;3109:2;3097:9;3088:7;3084:23;3080:32;3077:52;;;3125:1;3122;3115:12;3077:52;3148:28;3166:9;3148:28;:::i;3380:456::-;3457:6;3465;3473;3526:2;3514:9;3505:7;3501:23;3497:32;3494:52;;;3542:1;3539;3532:12;3494:52;3581:9;3568:23;3600:31;3625:5;3600:31;:::i;:::-;3650:5;-1:-1:-1;3707:2:1;3692:18;;3679:32;3720:33;3679:32;3720:33;:::i;:::-;3380:456;;3772:7;;-1:-1:-1;;;3826:2:1;3811:18;;;;3798:32;;3380:456::o;3841:252::-;3908:6;3916;3969:2;3957:9;3948:7;3944:23;3940:32;3937:52;;;3985:1;3982;3975:12;3937:52;4008:28;4026:9;4008:28;:::i;4280:247::-;4339:6;4392:2;4380:9;4371:7;4367:23;4363:32;4360:52;;;4408:1;4405;4398:12;4360:52;4447:9;4434:23;4466:31;4491:5;4466:31;:::i;4532:256::-;4598:6;4606;4659:2;4647:9;4638:7;4634:23;4630:32;4627:52;;;4675:1;4672;4665:12;4627:52;4698:28;4716:9;4698:28;:::i;:::-;4688:38;;4745:37;4778:2;4767:9;4763:18;4745:37;:::i;:::-;4735:47;;4532:256;;;;;:::o;4793:269::-;4850:6;4903:2;4891:9;4882:7;4878:23;4874:32;4871:52;;;4919:1;4916;4909:12;4871:52;4958:9;4945:23;5008:4;5001:5;4997:16;4990:5;4987:27;4977:55;;5028:1;5025;5018:12;5067:416;5132:6;5140;5193:2;5181:9;5172:7;5168:23;5164:32;5161:52;;;5209:1;5206;5199:12;5161:52;5248:9;5235:23;5267:31;5292:5;5267:31;:::i;:::-;5317:5;-1:-1:-1;5374:2:1;5359:18;;5346:32;5416:15;;5409:23;5397:36;;5387:64;;5447:1;5444;5437:12;5387:64;5470:7;5460:17;;;5067:416;;;;;:::o;5488:127::-;5549:10;5544:3;5540:20;5537:1;5530:31;5580:4;5577:1;5570:15;5604:4;5601:1;5594:15;5620:1266;5715:6;5723;5731;5739;5792:3;5780:9;5771:7;5767:23;5763:33;5760:53;;;5809:1;5806;5799:12;5760:53;5848:9;5835:23;5867:31;5892:5;5867:31;:::i;:::-;5917:5;-1:-1:-1;5974:2:1;5959:18;;5946:32;5987:33;5946:32;5987:33;:::i;:::-;6039:7;-1:-1:-1;6093:2:1;6078:18;;6065:32;;-1:-1:-1;6148:2:1;6133:18;;6120:32;6171:18;6201:14;;;6198:34;;;6228:1;6225;6218:12;6198:34;6266:6;6255:9;6251:22;6241:32;;6311:7;6304:4;6300:2;6296:13;6292:27;6282:55;;6333:1;6330;6323:12;6282:55;6369:2;6356:16;6391:2;6387;6384:10;6381:36;;;6397:18;;:::i;:::-;6472:2;6466:9;6440:2;6526:13;;-1:-1:-1;;6522:22:1;;;6546:2;6518:31;6514:40;6502:53;;;6570:18;;;6590:22;;;6567:46;6564:72;;;6616:18;;:::i;:::-;6656:10;6652:2;6645:22;6691:2;6683:6;6676:18;6731:7;6726:2;6721;6717;6713:11;6709:20;6706:33;6703:53;;;6752:1;6749;6742:12;6703:53;6808:2;6803;6799;6795:11;6790:2;6782:6;6778:15;6765:46;6853:1;6848:2;6843;6835:6;6831:15;6827:24;6820:35;6874:6;6864:16;;;;;;;5620:1266;;;;;;;:::o;6891:592::-;6962:6;6970;7023:2;7011:9;7002:7;6998:23;6994:32;6991:52;;;7039:1;7036;7029:12;6991:52;7079:9;7066:23;7108:18;7149:2;7141:6;7138:14;7135:34;;;7165:1;7162;7155:12;7135:34;7203:6;7192:9;7188:22;7178:32;;7248:7;7241:4;7237:2;7233:13;7229:27;7219:55;;7270:1;7267;7260:12;7219:55;7310:2;7297:16;7336:2;7328:6;7325:14;7322:34;;;7352:1;7349;7342:12;7322:34;7397:7;7392:2;7383:6;7379:2;7375:15;7371:24;7368:37;7365:57;;;7418:1;7415;7408:12;7488:388;7556:6;7564;7617:2;7605:9;7596:7;7592:23;7588:32;7585:52;;;7633:1;7630;7623:12;7585:52;7672:9;7659:23;7691:31;7716:5;7691:31;:::i;:::-;7741:5;-1:-1:-1;7798:2:1;7783:18;;7770:32;7811:33;7770:32;7811:33;:::i;8070:356::-;8272:2;8254:21;;;8291:18;;;8284:30;8350:34;8345:2;8330:18;;8323:62;8417:2;8402:18;;8070:356::o;8431:127::-;8492:10;8487:3;8483:20;8480:1;8473:31;8523:4;8520:1;8513:15;8547:4;8544:1;8537:15;8563:251;8633:6;8686:2;8674:9;8665:7;8661:23;8657:32;8654:52;;;8702:1;8699;8692:12;8654:52;8734:9;8728:16;8753:31;8778:5;8753:31;:::i;8819:127::-;8880:10;8875:3;8871:20;8868:1;8861:31;8911:4;8908:1;8901:15;8935:4;8932:1;8925:15;8951:135;8990:3;-1:-1:-1;;9011:17:1;;9008:43;;;9031:18;;:::i;:::-;-1:-1:-1;9078:1:1;9067:13;;8951:135::o;9091:380::-;9170:1;9166:12;;;;9213;;;9234:61;;9288:4;9280:6;9276:17;9266:27;;9234:61;9341:2;9333:6;9330:14;9310:18;9307:38;9304:161;;;9387:10;9382:3;9378:20;9375:1;9368:31;9422:4;9419:1;9412:15;9450:4;9447:1;9440:15;9304:161;;9091:380;;;:::o;9819:168::-;9859:7;9925:1;9921;9917:6;9913:14;9910:1;9907:21;9902:1;9895:9;9888:17;9884:45;9881:71;;;9932:18;;:::i;:::-;-1:-1:-1;9972:9:1;;9819:168::o;11581:249::-;11650:6;11703:2;11691:9;11682:7;11678:23;11674:32;11671:52;;;11719:1;11716;11709:12;11671:52;11751:9;11745:16;11770:30;11794:5;11770:30;:::i;12374:197::-;12412:3;12440:6;12481:2;12474:5;12470:14;12508:2;12499:7;12496:15;12493:41;;;12514:18;;:::i;:::-;12563:1;12550:15;;12374:197;-1:-1:-1;;;12374:197:1:o;12922:204::-;12960:3;12996:4;12993:1;12989:12;13028:4;13025:1;13021:12;13063:3;13057:4;13053:14;13048:3;13045:23;13042:49;;;13071:18;;:::i;:::-;13107:13;;12922:204;-1:-1:-1;;;12922:204:1:o;13131:500::-;-1:-1:-1;;;;;13400:15:1;;;13382:34;;13452:15;;13447:2;13432:18;;13425:43;13499:2;13484:18;;13477:34;;;13547:3;13542:2;13527:18;;13520:31;;;13325:4;;13568:57;;13605:19;;13597:6;13568:57;:::i;:::-;13560:65;13131:500;-1:-1:-1;;;;;;13131:500:1:o;14105:185::-;14147:3;14185:5;14179:12;14200:52;14245:6;14240:3;14233:4;14226:5;14222:16;14200:52;:::i;:::-;14268:16;;;;;14105:185;-1:-1:-1;;14105:185:1:o;14295:1174::-;14471:3;14500:1;14533:6;14527:13;14563:3;14585:1;14613:9;14609:2;14605:18;14595:28;;14673:2;14662:9;14658:18;14695;14685:61;;14739:4;14731:6;14727:17;14717:27;;14685:61;14765:2;14813;14805:6;14802:14;14782:18;14779:38;14776:165;;;-1:-1:-1;;;14840:33:1;;14896:4;14893:1;14886:15;14926:4;14847:3;14914:17;14776:165;14957:18;14984:104;;;;15102:1;15097:320;;;;14950:467;;14984:104;-1:-1:-1;;15017:24:1;;15005:37;;15062:16;;;;-1:-1:-1;14984:104:1;;15097:320;14052:1;14045:14;;;14089:4;14076:18;;15192:1;15206:165;15220:6;15217:1;15214:13;15206:165;;;15298:14;;15285:11;;;15278:35;15341:16;;;;15235:10;;15206:165;;;15210:3;;15400:6;15395:3;15391:16;15384:23;;14950:467;;;;;;;15433:30;15459:3;15451:6;15433:30;:::i;:::-;15426:37;14295:1174;-1:-1:-1;;;;;14295:1174:1:o;15474:443::-;15706:3;15744:6;15738:13;15760:53;15806:6;15801:3;15794:4;15786:6;15782:17;15760:53;:::i;:::-;-1:-1:-1;;;15835:16:1;;15860:22;;;-1:-1:-1;15909:1:1;15898:13;;15474:443;-1:-1:-1;15474:443:1:o;15922:128::-;15962:3;15993:1;15989:6;15986:1;15983:13;15980:39;;;15999:18;;:::i;:::-;-1:-1:-1;16035:9:1;;15922:128::o;16397:224::-;16436:3;16464:6;16497:2;16494:1;16490:10;16527:2;16524:1;16520:10;16558:3;16554:2;16550:12;16545:3;16542:21;16539:47;;;16566:18;;:::i;:::-;16602:13;;16397:224;-1:-1:-1;;;;16397:224:1:o;16977:127::-;17038:10;17033:3;17029:20;17026:1;17019:31;17069:4;17066:1;17059:15;17093:4;17090:1;17083:15;17109:120;17149:1;17175;17165:35;;17180:18;;:::i;:::-;-1:-1:-1;17214:9:1;;17109:120::o;17234:125::-;17274:4;17302:1;17299;17296:8;17293:34;;;17307:18;;:::i;:::-;-1:-1:-1;17344:9:1;;17234:125::o;17364:112::-;17396:1;17422;17412:35;;17427:18;;:::i;:::-;-1:-1:-1;17461:9:1;;17364:112::o

Swarm Source

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