ETH Price: $2,988.76 (-2.29%)
Gas: 1 Gwei

Token

BMC Rocket Pass (RKTPASS)
 

Overview

Max Total Supply

5,714 RKTPASS

Holders

1,294

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
chas3.eth
0x2a129053bc4ebdd8e994e79758022d62872d07c7
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:
RocketPass

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-17
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.13;

error CallerNotOwner();
error NewOwnerAddressZero();

abstract contract ERC1155SingleTokenPausable {

    event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 amount);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    event URI(string value, uint256 indexed id);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    mapping(address => mapping(uint256 => uint256)) private _balanceOf;
    mapping(address => mapping(address => bool)) private _isApprovedForAll;

    string public name;
    string public symbol;
    address public owner;
    bool public isPaused;

    constructor (string memory _name, string memory _symbol){
        name = _name;
        symbol = _symbol;
        _transferOwnership(msg.sender);
    }

    function uri(uint256 id) public view virtual returns (string memory);

    function balanceOf(address _address, uint256 id) public view returns (uint256) {
        return _balanceOf[_address][id];
    }
    
    function isApprovedForAll(address _owner, address operator) public view returns (bool) {
        return  _isApprovedForAll[_owner][operator];
    }

    function setApprovalForAll(address operator, bool approved) public {
        _isApprovedForAll[msg.sender][operator] = approved;
        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function transferFrom(address from, address to, uint256 id, uint256 amount) public {
        require(!isPaused, "RocketPass is currently locked.");
        require(msg.sender == from || _isApprovedForAll[from][msg.sender], "Lacks Permissions");

        _balanceOf[from][id] -= amount;
        _balanceOf[to][id] += amount;

        emit TransferSingle(msg.sender, from, to, 1, amount);
    }

    function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) public {
        transferFrom(from, to, id, amount);
        require(to.code.length == 0 ? to != address(0)
                : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, from, id, amount, data) ==
                    ERC1155TokenReceiver.onERC1155Received.selector,
            "Unsafe Destination"
        );
    }

    function _mint(address to, uint256 amount) internal {
        _balanceOf[to][1] += amount;
        emit TransferSingle(msg.sender, address(0), to, 1, amount);
    }

    function _safeMint(address to, uint256 amount, bytes memory data) internal {
        _mint(to, amount);
        require(to.code.length == 0 ? to != address(0)
                : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, address(0), 1, amount, data) ==
                    ERC1155TokenReceiver.onERC1155Received.selector,
            "Unsafe Destination"
        );
    }

    function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 ||
            interfaceId == 0xd9b67a26 ||
            interfaceId == 0x0e89341c;
    }

    function flipPauseState() external onlyOwner {
        if (isPaused){
            delete isPaused; 
        } else {
            isPaused = true;
        }
    }

    function renounceOwnership() public onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public onlyOwner {
        if (newOwner == address(0)) revert NewOwnerAddressZero();
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        address oldOwner = owner;
        owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    modifier onlyOwner() {
        if (owner != msg.sender) revert CallerNotOwner();
        _;
    }

}

abstract contract ERC1155TokenReceiver {
    function onERC1155Received(address, address, uint256, uint256, bytes calldata) external virtual returns (bytes4) {
        return ERC1155TokenReceiver.onERC1155Received.selector;
    }

}

interface IOGMiner {
    function balanceOf(address owner) external view returns (uint256);
}

interface IHASH{
    function balanceOf(address account) external view returns (uint256);
    function burnHash(uint256 _amount) external;
    function approve(address spender, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

contract RocketPass is ERC1155SingleTokenPausable {

    uint256 public constant hashPrice = 600 ether;
    uint256 public constant ethOGPrice = .05 ether;
    uint256 public constant ethRLPrice = .069 ether;

    uint256 public stateHashMint;
    uint256 public stateEthMint;

    bytes32 public RLMerkleRoot;
    string public passURI = "ipfs://QmbtHrneD8JnBtS5YFPfjaiXKexhs3DkYzP3SKg9ypqpVY";
    bool public permanentlyClosedMint;

    IOGMiner public og;
    IHASH public hashpower;

    mapping(address => uint256) public OGMints;
    mapping(address => uint256) public RLMints;

    constructor(address _hContract, address _ogContract) ERC1155SingleTokenPausable("BMC Rocket Pass", "RKTPASS"){
        og = IOGMiner(_ogContract);
        hashpower = IHASH(_hContract);
        _mint(msg.sender, 100);
    }

    modifier onlyHuman() {
        require(tx.origin == msg.sender && msg.sender.code.length == 0, "No Contracts");
        _;
    }

    function mintWithHash(uint256 _amount) external onlyHuman {
        require(stateHashMint > 0, "Sale Closed");
        uint256 hashToBurn = hashPrice*_amount;
        require(hashpower.balanceOf(msg.sender)>=hashToBurn, "Not enough Hash Owned");
        require(hashpower.allowance(msg.sender, address(this)) >= hashToBurn, "Insufficient allowed hash");

        hashpower.transferFrom(msg.sender, address(this), hashToBurn);
        _mint(msg.sender, _amount);
    }

    function mintWithOG(uint256 _amount) external payable onlyHuman {
        require(stateEthMint > 0, "Sale Closed");
        require(og.balanceOf(msg.sender) - OGMints[msg.sender] > 0, "No Remaining OG Mints");
        uint256 costEth = ethOGPrice * _amount;

        require(msg.value >= costEth, "Not enough Eth attached");
        unchecked { // Cannot overflow since we checked they have sufficient OG balance and ETH
            OGMints[msg.sender] += _amount;
        }
        _mint(msg.sender, _amount);

    }

    function mintRL(bytes32[] calldata _proof) external payable onlyHuman {
        require(stateEthMint > 0, "Sale Closed");
        require(verifyRL(_proof, RLMerkleRoot, keccak256(abi.encodePacked(msg.sender))), "Not on ML");
        require(RLMints[msg.sender] == 0, "Already ML Minted");
        require(msg.value >= ethRLPrice, "Not enough Eth attached");

        RLMints[msg.sender]++;
        _mint(msg.sender, 1);
    }

    function setState(uint256 _category, uint256 _value) external onlyOwner {
        bool adjusted;
        require(!permanentlyClosedMint, "Mint states permanently locked");
        if (_category == 0){
            stateHashMint = _value;
            adjusted = true;
        }

        if (_category == 1){
            stateEthMint = _value;
            adjusted = true;
        }
        require(adjusted, "Incorrect parameters");
    }

    function permanentlyCloseMint() external onlyOwner {
        require(!permanentlyClosedMint, "Already permanently locked");
        delete stateHashMint;
        delete stateEthMint;
        permanentlyClosedMint = true;
    }

    function BurnTheHash() external onlyOwner {
        hashpower.burnHash(hashpower.balanceOf(address(this)));
    }

    function setURI(string calldata _newURI) external onlyOwner {
        passURI = _newURI;
        emit URI(_newURI, 1);
    }

    function setRoot(bytes32 _newROOT) external onlyOwner {
        RLMerkleRoot = _newROOT;
    }

    function setHASHPOWER(address _address) external onlyOwner {
        hashpower = IHASH(_address);
    }

    function setOG(address _address) external onlyOwner {
        og = IOGMiner(_address);
    }

    function verifyHashBalance(address _address) public view returns (bool){
        return (hashpower.balanceOf(_address) - hashPrice) > 0;
    }

    function verifyHashApproved(address _address) public view returns (bool){
        return hashpower.allowance(_address, address(this)) >= hashPrice;
    }
    
    function verifyOG(address _address) public view returns (bool){
        return (og.balanceOf(_address) - OGMints[_address]) > 0;
    }

    function verifyRL(bytes32[] memory proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {
        bytes32 computedHash = leaf;

        uint256 iterations = proof.length;
        for (uint256 i; i < iterations; i++) {
            bytes32 proofElement = proof[i];

            if (computedHash <= proofElement) {
                computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
            } else {
                computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
            }
        }
        return computedHash == root;
    }

    function uri(uint256 id) public view override returns (string memory){
        return passURI;
    }

    function withdrawFunding() external onlyOwner {
        uint256 currentBalance = address(this).balance;
        (bool sent, ) = address(msg.sender).call{value: currentBalance}('');
        require(sent,"Error while transferring balance");    
  }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_hContract","type":"address"},{"internalType":"address","name":"_ogContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CallerNotOwner","type":"error"},{"inputs":[],"name":"NewOwnerAddressZero","type":"error"},{"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":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[],"name":"BurnTheHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"OGMints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RLMerkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"RLMints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethOGPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethRLPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flipPauseState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hashPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hashpower","outputs":[{"internalType":"contract IHASH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"name":"mintRL","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mintWithHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mintWithOG","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"og","outputs":[{"internalType":"contract IOGMiner","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"passURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"permanentlyCloseMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"permanentlyClosedMint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","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":"_address","type":"address"}],"name":"setHASHPOWER","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setOG","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_newROOT","type":"bytes32"}],"name":"setRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_category","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newURI","type":"string"}],"name":"setURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stateEthMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stateHashMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","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":"id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"verifyHashApproved","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"verifyHashBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"verifyOG","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawFunding","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e060405260356080818152906200239960a0398051620000299160089160209091019062000201565b503480156200003757600080fd5b50604051620023ce380380620023ce8339810160408190526200005a91620002c4565b604080518082018252600f81526e424d4320526f636b6574205061737360881b602080830191825283518085019094526007845266524b545041535360c81b908401528151919291620000b09160029162000201565b508051620000c690600390602084019062000201565b50620000d23362000128565b505060098054610100600160a81b0319166101006001600160a01b038481169190910291909117909155600a80546001600160a01b031916918416919091179055620001203360646200017a565b50506200035f565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152602081815260408083206001845290915281208054839290620001ae908490620002fc565b90915550506040805160018152602081018390526001600160a01b0384169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050565b8280546200020f9062000323565b90600052602060002090601f0160209004810192826200023357600085556200027e565b82601f106200024e57805160ff19168380011785556200027e565b828001600101855582156200027e579182015b828111156200027e57825182559160200191906001019062000261565b506200028c92915062000290565b5090565b5b808211156200028c576000815560010162000291565b80516001600160a01b0381168114620002bf57600080fd5b919050565b60008060408385031215620002d857600080fd5b620002e383620002a7565b9150620002f360208401620002a7565b90509250929050565b600082198211156200031e57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200033857607f821691505b6020821081036200035957634e487b7160e01b600052602260045260246000fd5b50919050565b61202a806200036f6000396000f3fe60806040526004361061023a5760003560e01c8063a22cb4651161012e578063d43cc84f116100ab578063e985e9c51161006f578063e985e9c51461068c578063ea038bfd146106d5578063f242432a146106f0578063f2fde38b14610710578063fe99049a1461073057600080fd5b8063d43cc84f146105ff578063dab5f34014610624578063dce19f7d14610644578063e34951f914610659578063e6aae0ec1461066c57600080fd5b8063ba0b22a8116100f2578063ba0b22a814610569578063c0413c6814610589578063c8befe2b146105b6578063d00d6838146105d6578063d3a85c1b146105e957600080fd5b8063a22cb465146104d8578063ac23cdfd146104f8578063ad603ac01461050d578063b187bd2614610528578063b9d77bfc1461054957600080fd5b806346634818116101bc5780638da5cb5b116101805780638da5cb5b1461044a578063942389c71461046a57806395d89b41146104805780639dd06e9a146104955780639ea034ee146104c257600080fd5b806346634818146103a05780635b2ad109146103c05780635b5bee7b146103f85780636fbf86f214610415578063715018a61461043557600080fd5b80630e89341c116102035780630e89341c1461031c5780631f227aca1461033c5780632db82eef1461035157806330b9af981461036b5780633484af431461038057600080fd5b8062fdd58e1461023f57806301ffc9a71461029357806302a3631d146102c357806302fe5305146102e557806306fdde0314610307575b600080fd5b34801561024b57600080fd5b5061028061025a366004611abc565b6001600160a01b0391909116600090815260208181526040808320938352929052205490565b6040519081526020015b60405180910390f35b34801561029f57600080fd5b506102b36102ae366004611afc565b610750565b604051901515815260200161028a565b3480156102cf57600080fd5b506102d86107a2565b60405161028a9190611b20565b3480156102f157600080fd5b50610305610300366004611bbe565b610830565b005b34801561031357600080fd5b506102d86108a7565b34801561032857600080fd5b506102d8610337366004611c00565b6108b4565b34801561034857600080fd5b50610305610948565b34801561035d57600080fd5b506009546102b39060ff1681565b34801561037757600080fd5b506103056109aa565b34801561038c57600080fd5b5061030561039b366004611c00565b610a78565b3480156103ac57600080fd5b506102b36103bb366004611c19565b610cd6565b3480156103cc57600080fd5b50600a546103e0906001600160a01b031681565b6040516001600160a01b03909116815260200161028a565b34801561040457600080fd5b50610280682086ac35105260000081565b34801561042157600080fd5b506102b3610430366004611c19565b610d5f565b34801561044157600080fd5b50610305610def565b34801561045657600080fd5b506004546103e0906001600160a01b031681565b34801561047657600080fd5b5061028060055481565b34801561048c57600080fd5b506102d8610e24565b3480156104a157600080fd5b506102806104b0366004611c19565b600b6020526000908152604090205481565b3480156104ce57600080fd5b5061028060065481565b3480156104e457600080fd5b506103056104f3366004611c42565b610e31565b34801561050457600080fd5b50610305610e9d565b34801561051957600080fd5b5061028066b1a2bc2ec5000081565b34801561053457600080fd5b506004546102b390600160a01b900460ff1681565b34801561055557600080fd5b50610305610564366004611c79565b610f34565b34801561057557600080fd5b50610305610584366004611c19565b611020565b34801561059557600080fd5b506102806105a4366004611c19565b600c6020526000908152604090205481565b3480156105c257600080fd5b506103056105d1366004611c19565b611073565b6103056105e4366004611c00565b6110c0565b3480156105f557600080fd5b5061028060075481565b34801561060b57600080fd5b506009546103e09061010090046001600160a01b031681565b34801561063057600080fd5b5061030561063f366004611c00565b61125d565b34801561065057600080fd5b5061030561128d565b610305610667366004611c9b565b61137e565b34801561067857600080fd5b506102b3610687366004611c19565b611544565b34801561069857600080fd5b506102b36106a7366004611d10565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b3480156106e157600080fd5b5061028066f523226980800081565b3480156106fc57600080fd5b5061030561070b366004611d43565b611590565b34801561071c57600080fd5b5061030561072b366004611c19565b61168d565b34801561073c57600080fd5b5061030561074b366004611dbb565b6116eb565b60006301ffc9a760e01b6001600160e01b0319831614806107815750636cdb3d1360e11b6001600160e01b03198316145b8061079c57506303a24d0760e21b6001600160e01b03198316145b92915050565b600880546107af90611dfd565b80601f01602080910402602001604051908101604052809291908181526020018280546107db90611dfd565b80156108285780601f106107fd57610100808354040283529160200191610828565b820191906000526020600020905b81548152906001019060200180831161080b57829003601f168201915b505050505081565b6004546001600160a01b0316331461085b57604051632e6c18c960e11b815260040160405180910390fd5b61086760088383611a07565b5060017f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b838360405161089b929190611e60565b60405180910390a25050565b600280546107af90611dfd565b6060600880546108c390611dfd565b80601f01602080910402602001604051908101604052809291908181526020018280546108ef90611dfd565b801561093c5780601f106109115761010080835404028352916020019161093c565b820191906000526020600020905b81548152906001019060200180831161091f57829003601f168201915b50505050509050919050565b6004546001600160a01b0316331461097357604051632e6c18c960e11b815260040160405180910390fd5b600454600160a01b900460ff1615610994576004805460ff60a01b19169055565b6004805460ff60a01b1916600160a01b1790555b565b6004546001600160a01b031633146109d557604051632e6c18c960e11b815260040160405180910390fd5b6040514790600090339083908381818185875af1925050503d8060008114610a19576040519150601f19603f3d011682016040523d82523d6000602084013e610a1e565b606091505b5050905080610a745760405162461bcd60e51b815260206004820181905260248201527f4572726f72207768696c65207472616e7366657272696e672062616c616e636560448201526064015b60405180910390fd5b5050565b3233148015610a865750333b155b610aa25760405162461bcd60e51b8152600401610a6b90611e7c565b600060055411610ac45760405162461bcd60e51b8152600401610a6b90611ea2565b6000610ad982682086ac351052600000611edd565b600a546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611efc565b1015610b905760405162461bcd60e51b8152602060048201526015602482015274139bdd08195b9bdd59da0812185cda0813dddb9959605a1b6044820152606401610a6b565b600a54604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c029190611efc565b1015610c505760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420616c6c6f7765642068617368000000000000006044820152606401610a6b565b600a546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb9190611f15565b50610a74338361187d565b600a54604051636eb1769f60e11b81526001600160a01b038381166004830152306024830152600092682086ac3510526000009291169063dd62ed3e90604401602060405180830381865afa158015610d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d579190611efc565b101592915050565b600a546040516370a0823160e01b81526001600160a01b0383811660048301526000928392682086ac35105260000092909116906370a08231906024015b602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611efc565b610de89190611f32565b1192915050565b6004546001600160a01b03163314610e1a57604051632e6c18c960e11b815260040160405180910390fd5b6109a86000611902565b600380546107af90611dfd565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6004546001600160a01b03163314610ec857604051632e6c18c960e11b815260040160405180910390fd5b60095460ff1615610f1b5760405162461bcd60e51b815260206004820152601a60248201527f416c7265616479207065726d616e656e746c79206c6f636b65640000000000006044820152606401610a6b565b600060058190556006556009805460ff19166001179055565b6004546001600160a01b03163314610f5f57604051632e6c18c960e11b815260040160405180910390fd5b60095460009060ff1615610fb55760405162461bcd60e51b815260206004820152601e60248201527f4d696e7420737461746573207065726d616e656e746c79206c6f636b656400006044820152606401610a6b565b82600003610fc65750600581905560015b82600103610fd75750600681905560015b8061101b5760405162461bcd60e51b8152602060048201526014602482015273496e636f727265637420706172616d657465727360601b6044820152606401610a6b565b505050565b6004546001600160a01b0316331461104b57604051632e6c18c960e11b815260040160405180910390fd5b600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6004546001600160a01b0316331461109e57604051632e6c18c960e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b32331480156110ce5750333b155b6110ea5760405162461bcd60e51b8152600401610a6b90611e7c565b60006006541161110c5760405162461bcd60e51b8152600401610a6b90611ea2565b336000818152600b60205260408082205460095491516370a0823160e01b8152600481019490945291926101009091046001600160a01b0316906370a0823190602401602060405180830381865afa15801561116c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111909190611efc565b61119a9190611f32565b116111df5760405162461bcd60e51b81526020600482015260156024820152744e6f2052656d61696e696e67204f47204d696e747360581b6044820152606401610a6b565b60006111f28266b1a2bc2ec50000611edd565b90508034101561123e5760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08115d1a08185d1d1858da1959604a1b6044820152606401610a6b565b336000818152600b60205260409020805484019055610a74908361187d565b6004546001600160a01b0316331461128857604051632e6c18c960e11b815260040160405180910390fd5b600755565b6004546001600160a01b031633146112b857604051632e6c18c960e11b815260040160405180910390fd5b600a546040516370a0823160e01b81523060048201526001600160a01b039091169063cbd4882b9082906370a0823190602401602060405180830381865afa158015611308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132c9190611efc565b6040518263ffffffff1660e01b815260040161134a91815260200190565b600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50505050565b323314801561138c5750333b155b6113a85760405162461bcd60e51b8152600401610a6b90611e7c565b6000600654116113ca5760405162461bcd60e51b8152600401610a6b90611ea2565b61143f828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506007546040516bffffffffffffffffffffffff193360601b166020820152909250603401905060405160208183030381529060405280519060200120611954565b6114775760405162461bcd60e51b8152602060048201526009602482015268139bdd081bdb88135360ba1b6044820152606401610a6b565b336000908152600c6020526040902054156114c85760405162461bcd60e51b8152602060048201526011602482015270105b1c9958591e48135308135a5b9d1959607a1b6044820152606401610a6b565b66f52322698080003410156115195760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08115d1a08185d1d1858da1959604a1b6044820152606401610a6b565b336000908152600c6020526040812080549161153483611f49565b9190505550610a7433600161187d565b6001600160a01b038181166000818152600b60205260408082205460095491516370a0823160e01b815260048101949094529193849361010090920416906370a0823190602401610d9d565b61159c868686866116eb565b6001600160a01b0385163b156116375760405163f23a6e6160e01b808252906001600160a01b0387169063f23a6e61906115e49033908b908a908a908a908a90600401611f62565b6020604051808303816000875af1158015611603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116279190611fa9565b6001600160e01b03191614611644565b6001600160a01b03851615155b6116855760405162461bcd60e51b81526020600482015260126024820152712ab739b0b332902232b9ba34b730ba34b7b760711b6044820152606401610a6b565b505050505050565b6004546001600160a01b031633146116b857604051632e6c18c960e11b815260040160405180910390fd5b6001600160a01b0381166116df57604051631a10c9a360e21b815260040160405180910390fd5b6116e881611902565b50565b600454600160a01b900460ff16156117455760405162461bcd60e51b815260206004820152601f60248201527f526f636b6574506173732069732063757272656e746c79206c6f636b65642e006044820152606401610a6b565b336001600160a01b038516148061177f57506001600160a01b038416600090815260016020908152604080832033845290915290205460ff165b6117bf5760405162461bcd60e51b81526020600482015260116024820152704c61636b73205065726d697373696f6e7360781b6044820152606401610a6b565b6001600160a01b038416600090815260208181526040808320858452909152812080548392906117f0908490611f32565b90915550506001600160a01b03831660009081526020818152604080832085845290915281208054839290611826908490611fc6565b90915550506040805160018152602081018390526001600160a01b03808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b6001600160a01b03821660009081526020818152604080832060018452909152812080548392906118af908490611fc6565b90915550506040805160018152602081018390526001600160a01b0384169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82516000908290825b818110156119fb57600087828151811061197957611979611fde565b602002602001015190508084116119bb5760408051602081018690529081018290526060016040516020818303038152906040528051906020012093506119e8565b60408051602081018390529081018590526060016040516020818303038152906040528051906020012093505b50806119f381611f49565b91505061195d565b50509092149392505050565b828054611a1390611dfd565b90600052602060002090601f016020900481019282611a355760008555611a7b565b82601f10611a4e5782800160ff19823516178555611a7b565b82800160010185558215611a7b579182015b82811115611a7b578235825591602001919060010190611a60565b50611a87929150611a8b565b5090565b5b80821115611a875760008155600101611a8c565b80356001600160a01b0381168114611ab757600080fd5b919050565b60008060408385031215611acf57600080fd5b611ad883611aa0565b946020939093013593505050565b6001600160e01b0319811681146116e857600080fd5b600060208284031215611b0e57600080fd5b8135611b1981611ae6565b9392505050565b600060208083528351808285015260005b81811015611b4d57858101830151858201604001528201611b31565b81811115611b5f576000604083870101525b50601f01601f1916929092016040019392505050565b60008083601f840112611b8757600080fd5b50813567ffffffffffffffff811115611b9f57600080fd5b602083019150836020828501011115611bb757600080fd5b9250929050565b60008060208385031215611bd157600080fd5b823567ffffffffffffffff811115611be857600080fd5b611bf485828601611b75565b90969095509350505050565b600060208284031215611c1257600080fd5b5035919050565b600060208284031215611c2b57600080fd5b611b1982611aa0565b80151581146116e857600080fd5b60008060408385031215611c5557600080fd5b611c5e83611aa0565b91506020830135611c6e81611c34565b809150509250929050565b60008060408385031215611c8c57600080fd5b50508035926020909101359150565b60008060208385031215611cae57600080fd5b823567ffffffffffffffff80821115611cc657600080fd5b818501915085601f830112611cda57600080fd5b813581811115611ce957600080fd5b8660208260051b8501011115611cfe57600080fd5b60209290920196919550909350505050565b60008060408385031215611d2357600080fd5b611d2c83611aa0565b9150611d3a60208401611aa0565b90509250929050565b60008060008060008060a08789031215611d5c57600080fd5b611d6587611aa0565b9550611d7360208801611aa0565b94506040870135935060608701359250608087013567ffffffffffffffff811115611d9d57600080fd5b611da989828a01611b75565b979a9699509497509295939492505050565b60008060008060808587031215611dd157600080fd5b611dda85611aa0565b9350611de860208601611aa0565b93969395505050506040820135916060013590565b600181811c90821680611e1157607f821691505b602082108103611e3157634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611e74602083018486611e37565b949350505050565b6020808252600c908201526b4e6f20436f6e74726163747360a01b604082015260600190565b6020808252600b908201526a14d85b194810db1bdcd95960aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611ef757611ef7611ec7565b500290565b600060208284031215611f0e57600080fd5b5051919050565b600060208284031215611f2757600080fd5b8151611b1981611c34565b600082821015611f4457611f44611ec7565b500390565b600060018201611f5b57611f5b611ec7565b5060010190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a060808201819052600090611f9d9083018486611e37565b98975050505050505050565b600060208284031215611fbb57600080fd5b8151611b1981611ae6565b60008219821115611fd957611fd9611ec7565b500190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220edf5ca49a9dcc532119d8df01ae45931fb20cc043ac077509b14bd246f36301d64736f6c634300080d0033697066733a2f2f516d627448726e6544384a6e42745335594650666a6169584b6578687333446b597a5033534b67397970717056590000000000000000000000007b32982a32bb71150fcaa99bfbaddd72c1775a1000000000000000000000000047bd71b482b27ebdb57af6e372cab46c7280bf44

Deployed Bytecode

0x60806040526004361061023a5760003560e01c8063a22cb4651161012e578063d43cc84f116100ab578063e985e9c51161006f578063e985e9c51461068c578063ea038bfd146106d5578063f242432a146106f0578063f2fde38b14610710578063fe99049a1461073057600080fd5b8063d43cc84f146105ff578063dab5f34014610624578063dce19f7d14610644578063e34951f914610659578063e6aae0ec1461066c57600080fd5b8063ba0b22a8116100f2578063ba0b22a814610569578063c0413c6814610589578063c8befe2b146105b6578063d00d6838146105d6578063d3a85c1b146105e957600080fd5b8063a22cb465146104d8578063ac23cdfd146104f8578063ad603ac01461050d578063b187bd2614610528578063b9d77bfc1461054957600080fd5b806346634818116101bc5780638da5cb5b116101805780638da5cb5b1461044a578063942389c71461046a57806395d89b41146104805780639dd06e9a146104955780639ea034ee146104c257600080fd5b806346634818146103a05780635b2ad109146103c05780635b5bee7b146103f85780636fbf86f214610415578063715018a61461043557600080fd5b80630e89341c116102035780630e89341c1461031c5780631f227aca1461033c5780632db82eef1461035157806330b9af981461036b5780633484af431461038057600080fd5b8062fdd58e1461023f57806301ffc9a71461029357806302a3631d146102c357806302fe5305146102e557806306fdde0314610307575b600080fd5b34801561024b57600080fd5b5061028061025a366004611abc565b6001600160a01b0391909116600090815260208181526040808320938352929052205490565b6040519081526020015b60405180910390f35b34801561029f57600080fd5b506102b36102ae366004611afc565b610750565b604051901515815260200161028a565b3480156102cf57600080fd5b506102d86107a2565b60405161028a9190611b20565b3480156102f157600080fd5b50610305610300366004611bbe565b610830565b005b34801561031357600080fd5b506102d86108a7565b34801561032857600080fd5b506102d8610337366004611c00565b6108b4565b34801561034857600080fd5b50610305610948565b34801561035d57600080fd5b506009546102b39060ff1681565b34801561037757600080fd5b506103056109aa565b34801561038c57600080fd5b5061030561039b366004611c00565b610a78565b3480156103ac57600080fd5b506102b36103bb366004611c19565b610cd6565b3480156103cc57600080fd5b50600a546103e0906001600160a01b031681565b6040516001600160a01b03909116815260200161028a565b34801561040457600080fd5b50610280682086ac35105260000081565b34801561042157600080fd5b506102b3610430366004611c19565b610d5f565b34801561044157600080fd5b50610305610def565b34801561045657600080fd5b506004546103e0906001600160a01b031681565b34801561047657600080fd5b5061028060055481565b34801561048c57600080fd5b506102d8610e24565b3480156104a157600080fd5b506102806104b0366004611c19565b600b6020526000908152604090205481565b3480156104ce57600080fd5b5061028060065481565b3480156104e457600080fd5b506103056104f3366004611c42565b610e31565b34801561050457600080fd5b50610305610e9d565b34801561051957600080fd5b5061028066b1a2bc2ec5000081565b34801561053457600080fd5b506004546102b390600160a01b900460ff1681565b34801561055557600080fd5b50610305610564366004611c79565b610f34565b34801561057557600080fd5b50610305610584366004611c19565b611020565b34801561059557600080fd5b506102806105a4366004611c19565b600c6020526000908152604090205481565b3480156105c257600080fd5b506103056105d1366004611c19565b611073565b6103056105e4366004611c00565b6110c0565b3480156105f557600080fd5b5061028060075481565b34801561060b57600080fd5b506009546103e09061010090046001600160a01b031681565b34801561063057600080fd5b5061030561063f366004611c00565b61125d565b34801561065057600080fd5b5061030561128d565b610305610667366004611c9b565b61137e565b34801561067857600080fd5b506102b3610687366004611c19565b611544565b34801561069857600080fd5b506102b36106a7366004611d10565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b3480156106e157600080fd5b5061028066f523226980800081565b3480156106fc57600080fd5b5061030561070b366004611d43565b611590565b34801561071c57600080fd5b5061030561072b366004611c19565b61168d565b34801561073c57600080fd5b5061030561074b366004611dbb565b6116eb565b60006301ffc9a760e01b6001600160e01b0319831614806107815750636cdb3d1360e11b6001600160e01b03198316145b8061079c57506303a24d0760e21b6001600160e01b03198316145b92915050565b600880546107af90611dfd565b80601f01602080910402602001604051908101604052809291908181526020018280546107db90611dfd565b80156108285780601f106107fd57610100808354040283529160200191610828565b820191906000526020600020905b81548152906001019060200180831161080b57829003601f168201915b505050505081565b6004546001600160a01b0316331461085b57604051632e6c18c960e11b815260040160405180910390fd5b61086760088383611a07565b5060017f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b838360405161089b929190611e60565b60405180910390a25050565b600280546107af90611dfd565b6060600880546108c390611dfd565b80601f01602080910402602001604051908101604052809291908181526020018280546108ef90611dfd565b801561093c5780601f106109115761010080835404028352916020019161093c565b820191906000526020600020905b81548152906001019060200180831161091f57829003601f168201915b50505050509050919050565b6004546001600160a01b0316331461097357604051632e6c18c960e11b815260040160405180910390fd5b600454600160a01b900460ff1615610994576004805460ff60a01b19169055565b6004805460ff60a01b1916600160a01b1790555b565b6004546001600160a01b031633146109d557604051632e6c18c960e11b815260040160405180910390fd5b6040514790600090339083908381818185875af1925050503d8060008114610a19576040519150601f19603f3d011682016040523d82523d6000602084013e610a1e565b606091505b5050905080610a745760405162461bcd60e51b815260206004820181905260248201527f4572726f72207768696c65207472616e7366657272696e672062616c616e636560448201526064015b60405180910390fd5b5050565b3233148015610a865750333b155b610aa25760405162461bcd60e51b8152600401610a6b90611e7c565b600060055411610ac45760405162461bcd60e51b8152600401610a6b90611ea2565b6000610ad982682086ac351052600000611edd565b600a546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611efc565b1015610b905760405162461bcd60e51b8152602060048201526015602482015274139bdd08195b9bdd59da0812185cda0813dddb9959605a1b6044820152606401610a6b565b600a54604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c029190611efc565b1015610c505760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420616c6c6f7765642068617368000000000000006044820152606401610a6b565b600a546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb9190611f15565b50610a74338361187d565b600a54604051636eb1769f60e11b81526001600160a01b038381166004830152306024830152600092682086ac3510526000009291169063dd62ed3e90604401602060405180830381865afa158015610d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d579190611efc565b101592915050565b600a546040516370a0823160e01b81526001600160a01b0383811660048301526000928392682086ac35105260000092909116906370a08231906024015b602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611efc565b610de89190611f32565b1192915050565b6004546001600160a01b03163314610e1a57604051632e6c18c960e11b815260040160405180910390fd5b6109a86000611902565b600380546107af90611dfd565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6004546001600160a01b03163314610ec857604051632e6c18c960e11b815260040160405180910390fd5b60095460ff1615610f1b5760405162461bcd60e51b815260206004820152601a60248201527f416c7265616479207065726d616e656e746c79206c6f636b65640000000000006044820152606401610a6b565b600060058190556006556009805460ff19166001179055565b6004546001600160a01b03163314610f5f57604051632e6c18c960e11b815260040160405180910390fd5b60095460009060ff1615610fb55760405162461bcd60e51b815260206004820152601e60248201527f4d696e7420737461746573207065726d616e656e746c79206c6f636b656400006044820152606401610a6b565b82600003610fc65750600581905560015b82600103610fd75750600681905560015b8061101b5760405162461bcd60e51b8152602060048201526014602482015273496e636f727265637420706172616d657465727360601b6044820152606401610a6b565b505050565b6004546001600160a01b0316331461104b57604051632e6c18c960e11b815260040160405180910390fd5b600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6004546001600160a01b0316331461109e57604051632e6c18c960e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b32331480156110ce5750333b155b6110ea5760405162461bcd60e51b8152600401610a6b90611e7c565b60006006541161110c5760405162461bcd60e51b8152600401610a6b90611ea2565b336000818152600b60205260408082205460095491516370a0823160e01b8152600481019490945291926101009091046001600160a01b0316906370a0823190602401602060405180830381865afa15801561116c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111909190611efc565b61119a9190611f32565b116111df5760405162461bcd60e51b81526020600482015260156024820152744e6f2052656d61696e696e67204f47204d696e747360581b6044820152606401610a6b565b60006111f28266b1a2bc2ec50000611edd565b90508034101561123e5760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08115d1a08185d1d1858da1959604a1b6044820152606401610a6b565b336000818152600b60205260409020805484019055610a74908361187d565b6004546001600160a01b0316331461128857604051632e6c18c960e11b815260040160405180910390fd5b600755565b6004546001600160a01b031633146112b857604051632e6c18c960e11b815260040160405180910390fd5b600a546040516370a0823160e01b81523060048201526001600160a01b039091169063cbd4882b9082906370a0823190602401602060405180830381865afa158015611308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132c9190611efc565b6040518263ffffffff1660e01b815260040161134a91815260200190565b600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50505050565b323314801561138c5750333b155b6113a85760405162461bcd60e51b8152600401610a6b90611e7c565b6000600654116113ca5760405162461bcd60e51b8152600401610a6b90611ea2565b61143f828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506007546040516bffffffffffffffffffffffff193360601b166020820152909250603401905060405160208183030381529060405280519060200120611954565b6114775760405162461bcd60e51b8152602060048201526009602482015268139bdd081bdb88135360ba1b6044820152606401610a6b565b336000908152600c6020526040902054156114c85760405162461bcd60e51b8152602060048201526011602482015270105b1c9958591e48135308135a5b9d1959607a1b6044820152606401610a6b565b66f52322698080003410156115195760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08115d1a08185d1d1858da1959604a1b6044820152606401610a6b565b336000908152600c6020526040812080549161153483611f49565b9190505550610a7433600161187d565b6001600160a01b038181166000818152600b60205260408082205460095491516370a0823160e01b815260048101949094529193849361010090920416906370a0823190602401610d9d565b61159c868686866116eb565b6001600160a01b0385163b156116375760405163f23a6e6160e01b808252906001600160a01b0387169063f23a6e61906115e49033908b908a908a908a908a90600401611f62565b6020604051808303816000875af1158015611603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116279190611fa9565b6001600160e01b03191614611644565b6001600160a01b03851615155b6116855760405162461bcd60e51b81526020600482015260126024820152712ab739b0b332902232b9ba34b730ba34b7b760711b6044820152606401610a6b565b505050505050565b6004546001600160a01b031633146116b857604051632e6c18c960e11b815260040160405180910390fd5b6001600160a01b0381166116df57604051631a10c9a360e21b815260040160405180910390fd5b6116e881611902565b50565b600454600160a01b900460ff16156117455760405162461bcd60e51b815260206004820152601f60248201527f526f636b6574506173732069732063757272656e746c79206c6f636b65642e006044820152606401610a6b565b336001600160a01b038516148061177f57506001600160a01b038416600090815260016020908152604080832033845290915290205460ff165b6117bf5760405162461bcd60e51b81526020600482015260116024820152704c61636b73205065726d697373696f6e7360781b6044820152606401610a6b565b6001600160a01b038416600090815260208181526040808320858452909152812080548392906117f0908490611f32565b90915550506001600160a01b03831660009081526020818152604080832085845290915281208054839290611826908490611fc6565b90915550506040805160018152602081018390526001600160a01b03808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b6001600160a01b03821660009081526020818152604080832060018452909152812080548392906118af908490611fc6565b90915550506040805160018152602081018390526001600160a01b0384169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82516000908290825b818110156119fb57600087828151811061197957611979611fde565b602002602001015190508084116119bb5760408051602081018690529081018290526060016040516020818303038152906040528051906020012093506119e8565b60408051602081018390529081018590526060016040516020818303038152906040528051906020012093505b50806119f381611f49565b91505061195d565b50509092149392505050565b828054611a1390611dfd565b90600052602060002090601f016020900481019282611a355760008555611a7b565b82601f10611a4e5782800160ff19823516178555611a7b565b82800160010185558215611a7b579182015b82811115611a7b578235825591602001919060010190611a60565b50611a87929150611a8b565b5090565b5b80821115611a875760008155600101611a8c565b80356001600160a01b0381168114611ab757600080fd5b919050565b60008060408385031215611acf57600080fd5b611ad883611aa0565b946020939093013593505050565b6001600160e01b0319811681146116e857600080fd5b600060208284031215611b0e57600080fd5b8135611b1981611ae6565b9392505050565b600060208083528351808285015260005b81811015611b4d57858101830151858201604001528201611b31565b81811115611b5f576000604083870101525b50601f01601f1916929092016040019392505050565b60008083601f840112611b8757600080fd5b50813567ffffffffffffffff811115611b9f57600080fd5b602083019150836020828501011115611bb757600080fd5b9250929050565b60008060208385031215611bd157600080fd5b823567ffffffffffffffff811115611be857600080fd5b611bf485828601611b75565b90969095509350505050565b600060208284031215611c1257600080fd5b5035919050565b600060208284031215611c2b57600080fd5b611b1982611aa0565b80151581146116e857600080fd5b60008060408385031215611c5557600080fd5b611c5e83611aa0565b91506020830135611c6e81611c34565b809150509250929050565b60008060408385031215611c8c57600080fd5b50508035926020909101359150565b60008060208385031215611cae57600080fd5b823567ffffffffffffffff80821115611cc657600080fd5b818501915085601f830112611cda57600080fd5b813581811115611ce957600080fd5b8660208260051b8501011115611cfe57600080fd5b60209290920196919550909350505050565b60008060408385031215611d2357600080fd5b611d2c83611aa0565b9150611d3a60208401611aa0565b90509250929050565b60008060008060008060a08789031215611d5c57600080fd5b611d6587611aa0565b9550611d7360208801611aa0565b94506040870135935060608701359250608087013567ffffffffffffffff811115611d9d57600080fd5b611da989828a01611b75565b979a9699509497509295939492505050565b60008060008060808587031215611dd157600080fd5b611dda85611aa0565b9350611de860208601611aa0565b93969395505050506040820135916060013590565b600181811c90821680611e1157607f821691505b602082108103611e3157634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611e74602083018486611e37565b949350505050565b6020808252600c908201526b4e6f20436f6e74726163747360a01b604082015260600190565b6020808252600b908201526a14d85b194810db1bdcd95960aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611ef757611ef7611ec7565b500290565b600060208284031215611f0e57600080fd5b5051919050565b600060208284031215611f2757600080fd5b8151611b1981611c34565b600082821015611f4457611f44611ec7565b500390565b600060018201611f5b57611f5b611ec7565b5060010190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a060808201819052600090611f9d9083018486611e37565b98975050505050505050565b600060208284031215611fbb57600080fd5b8151611b1981611ae6565b60008219821115611fd957611fd9611ec7565b500190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220edf5ca49a9dcc532119d8df01ae45931fb20cc043ac077509b14bd246f36301d64736f6c634300080d0033

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

0000000000000000000000007b32982a32bb71150fcaa99bfbaddd72c1775a1000000000000000000000000047bd71b482b27ebdb57af6e372cab46c7280bf44

-----Decoded View---------------
Arg [0] : _hContract (address): 0x7b32982a32bB71150FCAA99BfBadDD72c1775a10
Arg [1] : _ogContract (address): 0x47Bd71b482B27eBDb57af6e372cab46c7280bf44

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007b32982a32bb71150fcaa99bfbaddd72c1775a10
Arg [1] : 00000000000000000000000047bd71b482b27ebdb57af6e372cab46c7280bf44


Deployed Bytecode Sourcemap

4712:5152:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1029:129;;;;;;;;;;-1:-1:-1;1029:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;1126:20:0;;;;1099:7;1126:20;;;;;;;;;;;:24;;;;;;;;;1029:129;;;;597:25:1;;;585:2;570:18;1029:129:0;;;;;;;;2955:230;;;;;;;;;;-1:-1:-1;2955:230:0;;;;;:::i;:::-;;:::i;:::-;;;1184:14:1;;1177:22;1159:41;;1147:2;1132:18;2955:230:0;1019:187:1;5037:79:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7974:127::-;;;;;;;;;;-1:-1:-1;7974:127:0;;;;;:::i;:::-;;:::i;:::-;;681:18;;;;;;;;;;;;;:::i;9499:102::-;;;;;;;;;;-1:-1:-1;9499:102:0;;;;;:::i;:::-;;:::i;3193:167::-;;;;;;;;;;;;;:::i;5123:33::-;;;;;;;;;;-1:-1:-1;5123:33:0;;;;;;;;9609:250;;;;;;;;;;;;;:::i;5695:475::-;;;;;;;;;;-1:-1:-1;5695:475:0;;;;;:::i;:::-;;:::i;8580:155::-;;;;;;;;;;-1:-1:-1;8580:155:0;;;;;:::i;:::-;;:::i;5190:22::-;;;;;;;;;;-1:-1:-1;5190:22:0;;;;-1:-1:-1;;;;;5190:22:0;;;;;;-1:-1:-1;;;;;3135:32:1;;;3117:51;;3105:2;3090:18;5190:22:0;2958:216:1;4771:45:0;;;;;;;;;;;;4807:9;4771:45;;8428:144;;;;;;;;;;-1:-1:-1;8428:144:0;;;;;:::i;:::-;;:::i;3368:95::-;;;;;;;;;;;;;:::i;733:20::-;;;;;;;;;;-1:-1:-1;733:20:0;;;;-1:-1:-1;;;;;733:20:0;;;4932:28;;;;;;;;;;;;;;;;706:20;;;;;;;;;;;;;:::i;5221:42::-;;;;;;;;;;-1:-1:-1;5221:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;4967:27;;;;;;;;;;;;;;;;1327:198;;;;;;;;;;-1:-1:-1;1327:198:0;;;;;:::i;:::-;;:::i;7612:231::-;;;;;;;;;;;;;:::i;4823:46::-;;;;;;;;;;;;4860:9;4823:46;;760:20;;;;;;;;;;-1:-1:-1;760:20:0;;;;-1:-1:-1;;;760:20:0;;;;;;7155:449;;;;;;;;;;-1:-1:-1;7155:449:0;;;;;:::i;:::-;;:::i;8326:94::-;;;;;;;;;;-1:-1:-1;8326:94:0;;;;;:::i;:::-;;:::i;5270:42::-;;;;;;;;;;-1:-1:-1;5270:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;8213:105;;;;;;;;;;-1:-1:-1;8213:105:0;;;;;:::i;:::-;;:::i;6178:528::-;;;;;;:::i;:::-;;:::i;5003:27::-;;;;;;;;;;;;;;;;5165:18;;;;;;;;;;-1:-1:-1;5165:18:0;;;;;;;-1:-1:-1;;;;;5165:18:0;;;8109:96;;;;;;;;;;-1:-1:-1;8109:96:0;;;;;:::i;:::-;;:::i;7851:115::-;;;;;;;;;;;;;:::i;6714:433::-;;;;;;:::i;:::-;;:::i;8747:136::-;;;;;;;;;;-1:-1:-1;8747:136:0;;;;;:::i;:::-;;:::i;1170:149::-;;;;;;;;;;-1:-1:-1;1170:149:0;;;;;:::i;:::-;-1:-1:-1;;;;;1276:25:0;;;1251:4;1276:25;;;:17;:25;;;;;;;;:35;;;;;;;;;;;;;;;1170:149;4876:47;;;;;;;;;;;;4913:10;4876:47;;1941:434;;;;;;;;;;-1:-1:-1;1941:434:0;;;;;:::i;:::-;;:::i;3471:176::-;;;;;;;;;;-1:-1:-1;3471:176:0;;;;;:::i;:::-;;:::i;1533:400::-;;;;;;;;;;-1:-1:-1;1533:400:0;;;;;:::i;:::-;;:::i;2955:230::-;3031:4;-1:-1:-1;;;;;;;;;3068:25:0;;;;:67;;-1:-1:-1;;;;;;;;;;3110:25:0;;;3068:67;:109;;;-1:-1:-1;;;;;;;;;;3152:25:0;;;3068:109;3048:129;2955:230;-1:-1:-1;;2955:230:0:o;5037:79::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7974:127::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;8045:17:::1;:7;8055::::0;;8045:17:::1;:::i;:::-;;8091:1;8078:15;8082:7;;8078:15;;;;;;;:::i;:::-;;;;;;;;7974:127:::0;;:::o;681:18::-;;;;;;;:::i;9499:102::-;9554:13;9586:7;9579:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9499:102;;;:::o;3193:167::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;3253:8:::1;::::0;-1:-1:-1;;;3253:8:0;::::1;;;3249:104;;;3284:8;3277:15:::0;;-1:-1:-1;;;;3277:15:0::1;::::0;;3193:167::o;3249:104::-:1;3326:8;:15:::0;;-1:-1:-1;;;;3326:15:0::1;-1:-1:-1::0;;;3326:15:0::1;::::0;;3249:104:::1;3193:167::o:0;9609:250::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;9739:51:::1;::::0;9691:21:::1;::::0;9666:22:::1;::::0;9747:10:::1;::::0;9691:21;;9666:22;9739:51;9666:22;9739:51;9691:21;9747:10;9739:51:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9723:67;;;9809:4;9801:48;;;::::0;-1:-1:-1;;;9801:48:0;;7983:2:1;9801:48:0::1;::::0;::::1;7965:21:1::0;;;8002:18;;;7995:30;8061:34;8041:18;;;8034:62;8113:18;;9801:48:0::1;;;;;;;;;9655:204;;9609:250::o:0;5695:475::-;5596:9;5609:10;5596:23;:54;;;;-1:-1:-1;5623:10:0;:22;:27;5596:54;5588:79;;;;-1:-1:-1;;;5588:79:0;;;;;;;:::i;:::-;5788:1:::1;5772:13;;:17;5764:41;;;;-1:-1:-1::0;;;5764:41:0::1;;;;;;;:::i;:::-;5816:18;5837:17;5847:7:::0;4807:9:::1;5837:17;:::i;:::-;5873:9;::::0;:31:::1;::::0;-1:-1:-1;;;5873:31:0;;5893:10:::1;5873:31;::::0;::::1;3117:51:1::0;5816:38:0;;-1:-1:-1;5816:38:0;;-1:-1:-1;;;;;5873:9:0;;::::1;::::0;:19:::1;::::0;3090:18:1;;5873:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:43;;5865:77;;;::::0;-1:-1:-1;;;5865:77:0;;9519:2:1;5865:77:0::1;::::0;::::1;9501:21:1::0;9558:2;9538:18;;;9531:30;-1:-1:-1;;;9577:18:1;;;9570:51;9638:18;;5865:77:0::1;9317:345:1::0;5865:77:0::1;5961:9;::::0;:46:::1;::::0;-1:-1:-1;;;5961:46:0;;5981:10:::1;5961:46;::::0;::::1;9879:34:1::0;6001:4:0::1;9929:18:1::0;;;9922:43;6011:10:0;;-1:-1:-1;;;;;5961:9:0::1;::::0;:19:::1;::::0;9814:18:1;;5961:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;5953:98;;;::::0;-1:-1:-1;;;5953:98:0;;10178:2:1;5953:98:0::1;::::0;::::1;10160:21:1::0;10217:2;10197:18;;;10190:30;10256:27;10236:18;;;10229:55;10301:18;;5953:98:0::1;9976:349:1::0;5953:98:0::1;6064:9;::::0;:61:::1;::::0;-1:-1:-1;;;6064:61:0;;6087:10:::1;6064:61;::::0;::::1;10570:34:1::0;6107:4:0::1;10620:18:1::0;;;10613:43;10672:18;;;10665:34;;;-1:-1:-1;;;;;6064:9:0;;::::1;::::0;:22:::1;::::0;10505:18:1;;6064:61:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6136:26;6142:10;6154:7;6136:5;:26::i;8580:155::-:0;8670:9;;:44;;-1:-1:-1;;;8670:44:0;;-1:-1:-1;;;;;9897:15:1;;;8670:44:0;;;9879:34:1;8708:4:0;9929:18:1;;;9922:43;8647:4:0;;4807:9;;8670;;;:19;;9814:18:1;;8670:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;8580:155;-1:-1:-1;;8580:155:0:o;8428:144::-;8518:9;;:29;;-1:-1:-1;;;8518:29:0;;-1:-1:-1;;;;;3135:32:1;;;8518:29:0;;;3117:51:1;8494:4:0;;;;4807:9;;8518;;;;:19;;3090:18:1;;8518:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;;;:::i;:::-;8517:47;;8428:144;-1:-1:-1;;8428:144:0:o;3368:95::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;3425:30:::1;3452:1;3425:18;:30::i;706:20::-:0;;;;;;;:::i;1327:198::-;1423:10;1405:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;1405:39:0;;;;;;;;;;;;:50;;-1:-1:-1;;1405:50:0;;;;;;;;;;1471:46;;1159:41:1;;;1405:39:0;;1423:10;1471:46;;1132:18:1;1471:46:0;;;;;;;1327:198;;:::o;7612:231::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;7683:21:::1;::::0;::::1;;7682:22;7674:61;;;::::0;-1:-1:-1;;;7674:61:0;;11292:2:1;7674:61:0::1;::::0;::::1;11274:21:1::0;11331:2;11311:18;;;11304:30;11370:28;11350:18;;;11343:56;11416:18;;7674:61:0::1;11090:350:1::0;7674:61:0::1;7746:20;7753:13;7746:20:::0;;;7784:12:::1;7777:19:::0;7807:21:::1;:28:::0;;-1:-1:-1;;7807:28:0::1;7831:4;7807:28;::::0;;7612:231::o;7155:449::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;7271:21:::1;::::0;7238:13:::1;::::0;7271:21:::1;;7270:22;7262:65;;;::::0;-1:-1:-1;;;7262:65:0;;11647:2:1;7262:65:0::1;::::0;::::1;11629:21:1::0;11686:2;11666:18;;;11659:30;11725:32;11705:18;;;11698:60;11775:18;;7262:65:0::1;11445:354:1::0;7262:65:0::1;7342:9;7355:1;7342:14:::0;7338:98:::1;;-1:-1:-1::0;7372:13:0::1;:22:::0;;;7420:4:::1;7338:98;7452:9;7465:1;7452:14:::0;7448:97:::1;;-1:-1:-1::0;7482:12:0::1;:21:::0;;;7529:4:::1;7448:97;7563:8;7555:41;;;::::0;-1:-1:-1;;;7555:41:0;;12006:2:1;7555:41:0::1;::::0;::::1;11988:21:1::0;12045:2;12025:18;;;12018:30;-1:-1:-1;;;12064:18:1;;;12057:50;12124:18;;7555:41:0::1;11804:344:1::0;7555:41:0::1;7227:377;7155:449:::0;;:::o;8326:94::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;8389:2:::1;:23:::0;;-1:-1:-1;;;;;8389:23:0;;::::1;;;-1:-1:-1::0;;;;;;8389:23:0;;::::1;::::0;;;::::1;::::0;;8326:94::o;8213:105::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;8283:9:::1;:27:::0;;-1:-1:-1;;;;;;8283:27:0::1;-1:-1:-1::0;;;;;8283:27:0;;;::::1;::::0;;;::::1;::::0;;8213:105::o;6178:528::-;5596:9;5609:10;5596:23;:54;;;;-1:-1:-1;5623:10:0;:22;:27;5596:54;5588:79;;;;-1:-1:-1;;;5588:79:0;;;;;;;:::i;:::-;6276:1:::1;6261:12;;:16;6253:40;;;;-1:-1:-1::0;;;6253:40:0::1;;;;;;;:::i;:::-;6347:10;6361:1;6339:19:::0;;;:7:::1;:19;::::0;;;;;;6312:2:::1;::::0;:24;;-1:-1:-1;;;6312:24:0;;::::1;::::0;::::1;3117:51:1::0;;;;6361:1:0;;6312:2:::1;::::0;;::::1;-1:-1:-1::0;;;;;6312:2:0::1;::::0;:12:::1;::::0;3090:18:1;;6312:24:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;;;:::i;:::-;:50;6304:84;;;::::0;-1:-1:-1;;;6304:84:0;;12355:2:1;6304:84:0::1;::::0;::::1;12337:21:1::0;12394:2;12374:18;;;12367:30;-1:-1:-1;;;12413:18:1;;;12406:51;12474:18;;6304:84:0::1;12153:345:1::0;6304:84:0::1;6399:15;6417:20;6430:7:::0;4860:9:::1;6417:20;:::i;:::-;6399:38;;6471:7;6458:9;:20;;6450:56;;;::::0;-1:-1:-1;;;6450:56:0;;12705:2:1;6450:56:0::1;::::0;::::1;12687:21:1::0;12744:2;12724:18;;;12717:30;-1:-1:-1;;;12763:18:1;;;12756:53;12826:18;;6450:56:0::1;12503:347:1::0;6450:56:0::1;6626:10;6618:19;::::0;;;:7:::1;:19;::::0;;;;:30;;;::::1;::::0;;6670:26:::1;::::0;6641:7;6670:5:::1;:26::i;8109:96::-:0;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;8174:12:::1;:23:::0;8109:96::o;7851:115::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;7904:9:::1;::::0;7923:34:::1;::::0;-1:-1:-1;;;7923:34:0;;7951:4:::1;7923:34;::::0;::::1;3117:51:1::0;-1:-1:-1;;;;;7904:9:0;;::::1;::::0;:18:::1;::::0;:9;;7923:19:::1;::::0;3090:18:1;;7923:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7904:54;;;;;;;;;;;;;597:25:1::0;;585:2;570:18;;451:177;7904:54:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7851:115::o:0;6714:433::-;5596:9;5609:10;5596:23;:54;;;;-1:-1:-1;5623:10:0;:22;:27;5596:54;5588:79;;;;-1:-1:-1;;;5588:79:0;;;;;;;:::i;:::-;6818:1:::1;6803:12;;:16;6795:40;;;;-1:-1:-1::0;;;6795:40:0::1;;;;;;;:::i;:::-;6854:71;6863:6;;6854:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6871:12:0::1;::::0;6895:28:::1;::::0;-1:-1:-1;;6912:10:0::1;13004:2:1::0;13000:15;12996:53;6895:28:0::1;::::0;::::1;12984:66:1::0;6871:12:0;;-1:-1:-1;13066:12:1;;;-1:-1:-1;6895:28:0::1;;;;;;;;;;;;6885:39;;;;;;6854:8;:71::i;:::-;6846:93;;;::::0;-1:-1:-1;;;6846:93:0;;13291:2:1;6846:93:0::1;::::0;::::1;13273:21:1::0;13330:1;13310:18;;;13303:29;-1:-1:-1;;;13348:18:1;;;13341:39;13397:18;;6846:93:0::1;13089:332:1::0;6846:93:0::1;6966:10;6958:19;::::0;;;:7:::1;:19;::::0;;;;;:24;6950:54:::1;;;::::0;-1:-1:-1;;;6950:54:0;;13628:2:1;6950:54:0::1;::::0;::::1;13610:21:1::0;13667:2;13647:18;;;13640:30;-1:-1:-1;;;13686:18:1;;;13679:47;13743:18;;6950:54:0::1;13426:341:1::0;6950:54:0::1;4913:10;7023:9;:23;;7015:59;;;::::0;-1:-1:-1;;;7015:59:0;;12705:2:1;7015:59:0::1;::::0;::::1;12687:21:1::0;12744:2;12724:18;;;12717:30;-1:-1:-1;;;12763:18:1;;;12756:53;12826:18;;7015:59:0::1;12503:347:1::0;7015:59:0::1;7095:10;7087:19;::::0;;;:7:::1;:19;::::0;;;;:21;;;::::1;::::0;::::1;:::i;:::-;;;;;;7119:20;7125:10;7137:1;7119:5;:20::i;8747:136::-:0;-1:-1:-1;;;;;8853:17:0;;;8804:4;8853:17;;;:7;:17;;;;;;;8828:2;;:22;;-1:-1:-1;;;8828:22:0;;;;;3117:51:1;;;;8804:4:0;;;;8828:2;;;;;;:12;;3090:18:1;;8828:22:0;2958:216:1;1941:434:0;2060:34;2073:4;2079:2;2083;2087:6;2060:12;:34::i;:::-;-1:-1:-1;;;;;2113:14:0;;;:19;:208;;2171:78;;-1:-1:-1;;;2171:78:0;;;2274:47;-1:-1:-1;;;;;2171:42:0;;;2274:47;;2171:78;;2214:10;;2226:4;;2232:2;;2236:6;;2244:4;;;;2171:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;2171:150:0;;2113:208;;;-1:-1:-1;;;;;2135:16:0;;;;2113:208;2105:262;;;;-1:-1:-1;;;2105:262:0;;14961:2:1;2105:262:0;;;14943:21:1;15000:2;14980:18;;;14973:30;-1:-1:-1;;;15019:18:1;;;15012:48;15077:18;;2105:262:0;14759:342:1;2105:262:0;1941:434;;;;;;:::o;3471:176::-;3880:5;;-1:-1:-1;;;;;3880:5:0;3889:10;3880:19;3876:48;;3908:16;;-1:-1:-1;;;3908:16:0;;;;;;;;;;;3876:48;-1:-1:-1;;;;;3548:22:0;::::1;3544:56;;3579:21;;-1:-1:-1::0;;;3579:21:0::1;;;;;;;;;;;3544:56;3611:28;3630:8;3611:18;:28::i;:::-;3471:176:::0;:::o;1533:400::-;1636:8;;-1:-1:-1;;;1636:8:0;;;;1635:9;1627:53;;;;-1:-1:-1;;;1627:53:0;;15308:2:1;1627:53:0;;;15290:21:1;15347:2;15327:18;;;15320:30;15386:33;15366:18;;;15359:61;15437:18;;1627:53:0;15106:355:1;1627:53:0;1699:10;-1:-1:-1;;;;;1699:18:0;;;;:57;;-1:-1:-1;;;;;;1721:23:0;;;;;;:17;:23;;;;;;;;1745:10;1721:35;;;;;;;;;;1699:57;1691:87;;;;-1:-1:-1;;;1691:87:0;;15668:2:1;1691:87:0;;;15650:21:1;15707:2;15687:18;;;15680:30;-1:-1:-1;;;15726:18:1;;;15719:47;15783:18;;1691:87:0;15466:341:1;1691:87:0;-1:-1:-1;;;;;1791:16:0;;:10;:16;;;;;;;;;;;:20;;;;;;;;:30;;1815:6;;1791:10;:30;;1815:6;;1791:30;:::i;:::-;;;;-1:-1:-1;;;;;;;1832:14:0;;:10;:14;;;;;;;;;;;:18;;;;;;;;:28;;1854:6;;1832:10;:28;;1854:6;;1832:28;:::i;:::-;;;;-1:-1:-1;;1878:47:0;;;1915:1;16127:25:1;;16183:2;16168:18;;16161:34;;;-1:-1:-1;;;;;1878:47:0;;;;;;;;1893:10;;1878:47;;16100:18:1;1878:47:0;;;;;;;1533:400;;;;:::o;2383:167::-;-1:-1:-1;;;;;2446:14:0;;:10;:14;;;;;;;;;;;2461:1;2446:17;;;;;;;:27;;2467:6;;2446:10;:27;;2467:6;;2446:27;:::i;:::-;;;;-1:-1:-1;;2489:53:0;;;2532:1;16127:25:1;;16183:2;16168:18;;16161:34;;;-1:-1:-1;;;;;2489:53:0;;;2524:1;;2504:10;;2489:53;;16100:18:1;2489:53:0;;;;;;;2383:167;;:::o;3655:181::-;3740:5;;;-1:-1:-1;;;;;3756:16:0;;;-1:-1:-1;;;;;;3756:16:0;;;;;;;3788:40;;3740:5;;;3756:16;3740:5;;3788:40;;3721:16;;3788:40;3710:126;3655:181;:::o;8891:600::-;9062:12;;8984:4;;9024;;8984;9085:361;9105:10;9101:1;:14;9085:361;;;9137:20;9160:5;9166:1;9160:8;;;;;;;;:::i;:::-;;;;;;;9137:31;;9205:12;9189;:28;9185:250;;9263:44;;;;;;16495:19:1;;;16530:12;;;16523:28;;;16567:12;;9263:44:0;;;;;;;;;;;;9253:55;;;;;;9238:70;;9185:250;;;9374:44;;;;;;16495:19:1;;;16530:12;;;16523:28;;;16567:12;;9374:44:0;;;;;;;;;;;;9364:55;;;;;;9349:70;;9185:250;-1:-1:-1;9117:3:0;;;;:::i;:::-;;;;9085:361;;;-1:-1:-1;;9463:20:0;;;;8891:600;-1:-1:-1;;;8891:600:0:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:1:o;633:131::-;-1:-1:-1;;;;;;707:32:1;;697:43;;687:71;;754:1;751;744:12;769:245;827:6;880:2;868:9;859:7;855:23;851:32;848:52;;;896:1;893;886:12;848:52;935:9;922:23;954:30;978:5;954:30;:::i;:::-;1003:5;769:245;-1:-1:-1;;;769:245:1:o;1211:597::-;1323:4;1352:2;1381;1370:9;1363:21;1413:6;1407:13;1456:6;1451:2;1440:9;1436:18;1429:34;1481:1;1491:140;1505:6;1502:1;1499:13;1491:140;;;1600:14;;;1596:23;;1590:30;1566:17;;;1585:2;1562:26;1555:66;1520:10;;1491:140;;;1649:6;1646:1;1643:13;1640:91;;;1719:1;1714:2;1705:6;1694:9;1690:22;1686:31;1679:42;1640:91;-1:-1:-1;1792:2:1;1771:15;-1:-1:-1;;1767:29:1;1752:45;;;;1799:2;1748:54;;1211:597;-1:-1:-1;;;1211:597:1:o;1813:348::-;1865:8;1875:6;1929:3;1922:4;1914:6;1910:17;1906:27;1896:55;;1947:1;1944;1937:12;1896:55;-1:-1:-1;1970:20:1;;2013:18;2002:30;;1999:50;;;2045:1;2042;2035:12;1999:50;2082:4;2074:6;2070:17;2058:29;;2134:3;2127:4;2118:6;2110;2106:19;2102:30;2099:39;2096:59;;;2151:1;2148;2141:12;2096:59;1813:348;;;;;:::o;2166:411::-;2237:6;2245;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2354:9;2341:23;2387:18;2379:6;2376:30;2373:50;;;2419:1;2416;2409:12;2373:50;2458:59;2509:7;2500:6;2489:9;2485:22;2458:59;:::i;:::-;2536:8;;2432:85;;-1:-1:-1;2166:411:1;-1:-1:-1;;;;2166:411:1:o;2582:180::-;2641:6;2694:2;2682:9;2673:7;2669:23;2665:32;2662:52;;;2710:1;2707;2700:12;2662:52;-1:-1:-1;2733:23:1;;2582:180;-1:-1:-1;2582:180:1:o;2767:186::-;2826:6;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;2918:29;2937:9;2918:29;:::i;3387:118::-;3473:5;3466:13;3459:21;3452:5;3449:32;3439:60;;3495:1;3492;3485:12;3510:315;3575:6;3583;3636:2;3624:9;3615:7;3611:23;3607:32;3604:52;;;3652:1;3649;3642:12;3604:52;3675:29;3694:9;3675:29;:::i;:::-;3665:39;;3754:2;3743:9;3739:18;3726:32;3767:28;3789:5;3767:28;:::i;:::-;3814:5;3804:15;;;3510:315;;;;;:::o;3830:248::-;3898:6;3906;3959:2;3947:9;3938:7;3934:23;3930:32;3927:52;;;3975:1;3972;3965:12;3927:52;-1:-1:-1;;3998:23:1;;;4068:2;4053:18;;;4040:32;;-1:-1:-1;3830:248:1:o;4674:615::-;4760:6;4768;4821:2;4809:9;4800:7;4796:23;4792:32;4789:52;;;4837:1;4834;4827:12;4789:52;4877:9;4864:23;4906:18;4947:2;4939:6;4936:14;4933:34;;;4963:1;4960;4953:12;4933:34;5001:6;4990:9;4986:22;4976:32;;5046:7;5039:4;5035:2;5031:13;5027:27;5017:55;;5068:1;5065;5058:12;5017:55;5108:2;5095:16;5134:2;5126:6;5123:14;5120:34;;;5150:1;5147;5140:12;5120:34;5203:7;5198:2;5188:6;5185:1;5181:14;5177:2;5173:23;5169:32;5166:45;5163:65;;;5224:1;5221;5214:12;5163:65;5255:2;5247:11;;;;;5277:6;;-1:-1:-1;4674:615:1;;-1:-1:-1;;;;4674:615:1:o;5294:260::-;5362:6;5370;5423:2;5411:9;5402:7;5398:23;5394:32;5391:52;;;5439:1;5436;5429:12;5391:52;5462:29;5481:9;5462:29;:::i;:::-;5452:39;;5510:38;5544:2;5533:9;5529:18;5510:38;:::i;:::-;5500:48;;5294:260;;;;;:::o;5559:696::-;5665:6;5673;5681;5689;5697;5705;5758:3;5746:9;5737:7;5733:23;5729:33;5726:53;;;5775:1;5772;5765:12;5726:53;5798:29;5817:9;5798:29;:::i;:::-;5788:39;;5846:38;5880:2;5869:9;5865:18;5846:38;:::i;:::-;5836:48;;5931:2;5920:9;5916:18;5903:32;5893:42;;5982:2;5971:9;5967:18;5954:32;5944:42;;6037:3;6026:9;6022:19;6009:33;6065:18;6057:6;6054:30;6051:50;;;6097:1;6094;6087:12;6051:50;6136:59;6187:7;6178:6;6167:9;6163:22;6136:59;:::i;:::-;5559:696;;;;-1:-1:-1;5559:696:1;;-1:-1:-1;5559:696:1;;6214:8;;5559:696;-1:-1:-1;;;5559:696:1:o;6260:397::-;6346:6;6354;6362;6370;6423:3;6411:9;6402:7;6398:23;6394:33;6391:53;;;6440:1;6437;6430:12;6391:53;6463:29;6482:9;6463:29;:::i;:::-;6453:39;;6511:38;6545:2;6534:9;6530:18;6511:38;:::i;:::-;6260:397;;6501:48;;-1:-1:-1;;;;6596:2:1;6581:18;;6568:32;;6647:2;6632:18;6619:32;;6260:397::o;6662:380::-;6741:1;6737:12;;;;6784;;;6805:61;;6859:4;6851:6;6847:17;6837:27;;6805:61;6912:2;6904:6;6901:14;6881:18;6878:38;6875:161;;6958:10;6953:3;6949:20;6946:1;6939:31;6993:4;6990:1;6983:15;7021:4;7018:1;7011:15;6875:161;;6662:380;;;:::o;7047:267::-;7136:6;7131:3;7124:19;7188:6;7181:5;7174:4;7169:3;7165:14;7152:43;-1:-1:-1;7240:1:1;7215:16;;;7233:4;7211:27;;;7204:38;;;;7296:2;7275:15;;;-1:-1:-1;;7271:29:1;7262:39;;;7258:50;;7047:267::o;7319:247::-;7478:2;7467:9;7460:21;7441:4;7498:62;7556:2;7545:9;7541:18;7533:6;7525;7498:62;:::i;:::-;7490:70;7319:247;-1:-1:-1;;;;7319:247:1:o;8142:336::-;8344:2;8326:21;;;8383:2;8363:18;;;8356:30;-1:-1:-1;;;8417:2:1;8402:18;;8395:42;8469:2;8454:18;;8142:336::o;8483:335::-;8685:2;8667:21;;;8724:2;8704:18;;;8697:30;-1:-1:-1;;;8758:2:1;8743:18;;8736:41;8809:2;8794:18;;8483:335::o;8823:127::-;8884:10;8879:3;8875:20;8872:1;8865:31;8915:4;8912:1;8905:15;8939:4;8936:1;8929:15;8955:168;8995:7;9061:1;9057;9053:6;9049:14;9046:1;9043:21;9038:1;9031:9;9024:17;9020:45;9017:71;;;9068:18;;:::i;:::-;-1:-1:-1;9108:9:1;;8955:168::o;9128:184::-;9198:6;9251:2;9239:9;9230:7;9226:23;9222:32;9219:52;;;9267:1;9264;9257:12;9219:52;-1:-1:-1;9290:16:1;;9128:184;-1:-1:-1;9128:184:1:o;10710:245::-;10777:6;10830:2;10818:9;10809:7;10805:23;10801:32;10798:52;;;10846:1;10843;10836:12;10798:52;10878:9;10872:16;10897:28;10919:5;10897:28;:::i;10960:125::-;11000:4;11028:1;11025;11022:8;11019:34;;;11033:18;;:::i;:::-;-1:-1:-1;11070:9:1;;10960:125::o;13772:135::-;13811:3;13832:17;;;13829:43;;13852:18;;:::i;:::-;-1:-1:-1;13899:1:1;13888:13;;13772:135::o;13912:588::-;-1:-1:-1;;;;;14219:15:1;;;14201:34;;14271:15;;14266:2;14251:18;;14244:43;14318:2;14303:18;;14296:34;;;14361:2;14346:18;;14339:34;;;14181:3;14404;14389:19;;14382:32;;;14144:4;;14431:63;;14474:19;;14466:6;14458;14431:63;:::i;:::-;14423:71;13912:588;-1:-1:-1;;;;;;;;13912:588:1:o;14505:249::-;14574:6;14627:2;14615:9;14606:7;14602:23;14598:32;14595:52;;;14643:1;14640;14633:12;14595:52;14675:9;14669:16;14694:30;14718:5;14694:30;:::i;15812:128::-;15852:3;15883:1;15879:6;15876:1;15873:13;15870:39;;;15889:18;;:::i;:::-;-1:-1:-1;15925:9:1;;15812:128::o;16206:127::-;16267:10;16262:3;16258:20;16255:1;16248:31;16298:4;16295:1;16288:15;16322:4;16319:1;16312:15

Swarm Source

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